欢迎来到天天文库
浏览记录
ID:44164981
大小:454.50 KB
页数:109页
时间:2019-10-19
《软件工程---软件需求》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、软件工程软件需求1主要讲解内容1、需求分析的重要性2、需求分析的任务3、需求分析的目的4、需求分析的方法5、需求分析的艺术6、需求管理过程7、需求分析文档8、用户需求报告9、需求规格说明书2软件需求导读:软件需求,又称软件需求分析或软件需求获取,它既是软件开发中的老课题(讲了几十年了)和老问题(几十年都没有很好地彻底解决),又包含着许多新思路和新内容。需求获取是否彻底与成功,直接关系到软件开发的成败问题。本章先论述需求分析的9项任务和目的,然后介绍需求分析和需求管理的方法,以及IT企业的用户需求报告和需求规格说明书编写的参考指南。下面列出了读者在本章
2、学习中要了解、理解和掌握的主要内容。3软件需求要求具体内容了解需求分析的输入输出需求分析为什么重要需求获取为什么难需求报告和需求规格的说明书的差异评审与审计的概念,同行评审的概念基线、里程碑、评审点、软件产品、软件工作产品的概念理解1、需求分析的目的2、需求管理方法与管理文档掌握需求分析任务:画组织结构图,画业务操作流程图,画数据流程图,功能性能接口列表、确定运行环境和界面约定需求分析方法:面向流程分析,找出元数据,找出中间数据,找出元数据与中间数据的关系,学会需求分析艺术《用户需求报告》的内容与编写方法《需求规格说明书》的内容与编写方法4面向对象分
3、析面向对象分析(通常缩写为OOA)的关键,是识别出问题域内的对象,并分析它们相互间的关系,最终建立起问题域的简洁、精确、可理解的正确模型。5分析过程1、概述面向对象分析,就是抽取和整理用户需求并建立问题域精确模型的过程。62、三个子模型与五个层次即静态结构(对象模型),交互次序(动态模型)和数据变换(功能模型)。解决的问题不同,这三个子模型的重要程度也不同:当问题涉及交互作用和时序时(例如,用户界面及过程控制等)动态模型是重要的;解决运算量很大的问题(例如,高级语言编译、科学与工程计算等),则涉及重要的功能模型。动态模型和功能模型中都包含了对象
4、模型中的操作(即服务或方法)。607五个层次8一般说来,面向对象分析大体上按照下列顺序进行:寻找类—&—对象,识别结构,识别主题,定义属性,建立动态模型,建立功能模型,定义服务。但是,分析不可能严格地按照预定顺序进行,大型、复杂系统的模型需要反复构造多遍才能建成。通常,先构造出模型的子集,然后再逐渐扩充,直到完全、充分地理解了整个问题,才能最终把模型建立起来。609分析也不是一个机械的过程。大多数需求陈述都缺乏必要的信息,所缺少的信息主要从用户和领域专家那里获取,同时也需要从分析员对问题域的背景知识中提取。在分析过程中,系统分析员必须与领域专家及用
5、户反复交流,以便澄清二义性,改正错误的概念,补足缺少的信息。面向对象建立的系统模型,尽管在最终完成之前还是不准确、不完整的,但对做到准确、无歧义的交流仍然是大有益处的。10需求陈述书写要点内容包括:问题范围,功能需求,性能需求,应用环境及假设条件等。总之,需求陈述应该阐明“做什么”,而不是“怎样做”。它应该描述用户的需求,而不是提出解决问题的方法。应该指出哪些是系统必要的性质,哪些是任选的性质。应该避免对设计策略施加过多的约束,也不要描述系统的内部结构,因为这样做将限制实现的灵活性。对系统性能及系统与外界环境交互协议的描述,是合适的需求。此外,对采
6、用的软件工程标准、模块构造准则、将来可能做的扩充以及可维护性要求等方面的描述,也都是适当的需求。6011需求分析的重要性需求分析的输入是软件《合同》或软件《立项建议书》,以及对用户现场的调研、分析和确认,输出是《用户需求报告》/《需求规格说明书》,根据“五个面向理论”,需求分析的方法主要是“面向流程分析”。60121.需求分析为什么重要(1)许多大型应用系统的失败,最后均归结到需求分析:要么获取需求的方法不当,使得需求分析不到位或不彻底,导致开发者反复多次地进行需求分析,致使设计、编码、测试无法顺利进行;要么客户配合不好,导致客户对需求不确认,或客
7、户需求不断变化,同样致使设计、编码、测试无法顺利进行。13(2)需求分析的输出文档是《用户需求报告》,它既是软件生存周期中的第一个里程碑,又是客户、软件开发人员和项目管理人员三者必须遵守的一根基线,是三者共同工作的基础。(3)需求分析要占用整个软件开发时间或工作量的30%。(4)需求获取中的错误,属于软件开发中的早期错误,它会在后续的设计和实现中进行发散式的传播。根据以上4项原因,IT企业的高层经理,对需求分析特别重视,常常派经验最丰富的人员去做项目需求。正因为如此,“系统分析员”才是软件行业中的最高技术职称。60142.需求获取为什么难需求获取看似
8、容易,做起来很难,主要原因有三条。(1)用户需求具有动态性,即需求的不稳定性:在整个软件生存周期内,应用软件
此文档下载收益归作者所有