欢迎来到天天文库
浏览记录
ID:44998162
大小:3.54 MB
页数:136页
时间:2019-11-07
《软件工程导论第三章 需求工程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第三章需求工程3.1概述3.2需求获取方法3.3需求分析的任务与原则3.4需求建模方法3.5需求图形工具3.6需求验证3.7需求管理3.1概述3.1.1软件需求定义3.1.2软件需求分类3.1.3需求规格说明3.1.4需求工程概念3.1.5需求工程过程3.1概述软件需求工程的目的是定义软件所需要解决的问题。软件需求是要把一个定义不足和模糊的问题转换为一个定义良好而准确的问题,进而找到解决问题的方案。需求分析的重要性输入:《合同》/《立项建议书》/现场调研。输出:《用户需求报告》/《需求规格说明书》。1.需求分析为什么重要?(1)许多大型应用系统的失败,最后均归结到需求分析:要么获取需求的
2、方法不当,使得需求分析不到位或不彻底,导致开发者反复多次地进行需求分析,致使设计、编码、测试无法顺利进行;要么客户配合不好,导致客户对需求不确认,或客户需求不断变化,同样致使设计、编码、测试无法顺利进行。需求分析为什么重要?(2)需求分析的输出文档是《用户需求报告》,它是客户、软件开发人员和项目管理人员三者必须遵守的一根基线,三者共同工作的基础,是测试的准则。(3)需求分析要占用整个软件开发时间或工作量的30%左右。(4)需求获取中的错误,属于软件开发中的早期错误,它会在后续的设计和实现中进行发散式的传播。根据以上四项原因,IT企业的高层经理,对需求分析特别重视,常常派经验最丰富的人员去
3、作项目需求。正因为如此,“系统分析员”才是软件行业中的最高技术职称。3.1概述主要困难:软件开发人员与用户双方固有的矛盾需求具有易变性和难以表述性需求错误的高频性和修复的高成本性2.需求获取为什么难?需求获取看似容易,做起来难,主要原因有四:(1)用户需求具有动态性,即需求的不稳定性。在整个软件生存周期内,应用软件的需求会随着时间的进展而有所变化。个别用户,甚至是朝三暮四地变化。(2)用户需求具有模糊性,即需求不准确性。由于用户的素质不是很高,业务流程不很规范,所以需求表达不很清楚也不够明确。2.需求获取为什么难?(3)开发者和用户要对需求达成完全一致的认识,用户要在需求报告上签字,要承
4、担责任。(4)需求复杂并且庞大。现代的软件,规模越来越大,导致需求越来越复杂。(5)在软件项目中40%-60%的问题都是在需求分析阶段出现,需求的剩余缺陷最多。一个在需求阶段出现的错误,在维护阶段修复它的成本越是需求阶段修复成本的100-200倍需求获取困难示例【例】客户说不清楚需求一个年轻的老头,骑着一辆崭新的小破车,在一条笔直马路的拐弯处,撞死了一头活蹦乱跳的小死猪,瞎子看见了,告诉了聋子,聋子告诉瘸子,瘸子以每秒钟20公里的速度去报案!需求获取困难示例【例】需求自身经常变动软件的需求会变化吗?答:据历史记载,没有一个软件的需求改动少于三次。唯一只改动需求两次的客户是个死人。这个可怜
5、的家伙还是在运送第三次需求的路上被车子撞死的。[Cline1995]1、尽可能地分析清楚哪些是稳定的需求,哪些是易变的需求。以便在进行系统设计时,将软件的核心建筑在稳定的需求上,否则将会吃尽苦头。2、在合同中一定要说清楚“做什么”和“不做什么”。如果合同含含糊糊,日后扯皮的事情就多。需求综合练习系统工程师张某通过调查收集到如下10条意见:某程序员认为:系统在屏幕格式、编码等方面应具有一致性和清晰性,否则会影响操作人员的工作效率。某操作人员认为:在交互式会话过程中,操作人员可能会忘记或记错某些事情,系统应当提供HELP功能。某操作人员认为:既然是交互式会话,那么对所有的输入都应当作出响应,
6、不应出现击键后,计算机没有任何反应的情况。某操作人员认为:在出错的时候,交互式会话系统应当给出出错信息,并且尽可能告诉我们出错的性质和错在什么地方。某程序员认为:终端会话也应当符合程序员编制程序时的习惯,这样可以更高效地维护人事管理系统。需求综合练习教育科干部甲认为:应当对操作员进行一些必要的培训,让他们掌握交互式会话系统的设计技巧,有助于提高系统的使用效率。教育科干部乙认为:尽管操作人员的指法已经强化训练但在交互式会话时应尽可能缩短和减少操作员输入的信息,以降低出错概率。某程序员认为:由于本企业中有很多较大的文件,文件的查找很费时间,交互式会话系统在响应时间较长时应给予使用者以提示信息
7、。人事处干部丙认为:我们企业的人事资料相当复杂,格式非常之多,希望交互式系统使用十分清晰的格式,并容易对输入数据中的错误进行修改。人事处干部丁认为:人事管理系统应当具有相当的保密性和数据安全性,因此在屏幕上显示出的信息应该含混一些,以免泄密。系统工程师张某对上述调查情况和其他要求作了分析后,发现收集到的10条意见中有3条意见是不能接受的,写出编号并各用40字以内叙述理由。3.1概述3.1.1软件需求定义软件需求是指用户对软件的功能与
此文档下载收益归作者所有