软件需求工程ppt课件.ppt
《软件需求工程ppt课件.ppt》由会员分享,可在线阅读,更多相关《软件需求工程ppt课件.ppt(49页珍藏版)》请在三一办公上搜索。
1、软件需求工程,周立新 博士北京大学软件与微电子学院,课程提纲,软件需求基本理论和概念 软件需求工程过程 软件需求获取 软件需求分析 软件需求规格说明 软件需求验证 软件需求管理 软件需求实现 软件需求工程新进展 软件需求开发与需求管理工具,课程参考书,Karl E. Wiegers著, 陆丽娜,王忠民,王志敏等译,软件需求,机械工业出版社,2000 Ian K. Bray著,需求工程导引,人民邮电出版社,2003 Geri Schneider and Jason P. Winters著, 姚淑珍,李巍等译,用例分析技术,机械工业出版社,2002 Dean Leffingwell and Don
2、 Widrig著, 蒋慧,林东译,软件需求管理:统一方法,机械工业出版社,2002 Ralph R. Young著, 韩柯,耿民等译,有效需求实践,机械工业出版社,2002 以上参考书相对应的英文版本RUP,第一章 软件需求基本理论和概念,软件需求定义需求工程的本质问题域与解系统软件需求分类功能需求性能需求 (非功能需求)设计约束商业约束客户/用户/开发者的需求观不合格的需求派生的问题高质量的需求带来的好处优秀需求所具有的特征,项目失败的原因分析,Source: Carnegie-Mellon University, Software Engineering Institute,错误认识,A
3、general statement of objectives is sufficient to begin writing programs we can fill in the details later需求不清楚就进入编程阶段,期望以后修改。更多的情况下是边写边修改Project requirements continually change, but change can be easily accommodated because software is flexible软件调节和改变是很灵活的,任何需求的变更都可容易地在软件中反映出来,这些认识多来自极小项目的开发经验,当你面对一个
4、中大型项目时必须彻底改变这些错误观念!,1. 软件需求的定义,IEEE软件工程中需求的定义(1977)用户解决问题或达到目标所需的条件和能力系统或系统部件为满足合同、标准、规范或其它正式规定文档所需具有的条件和能力以上条件和能力的文档说明客户希望在问题域内产生的效果需求与问题域的差别Sommerville & Sawyer 1997需求是指系统必须实现什么的规格说明。它描述了系统的行为、特性或属性,是在开发过程中对系统的约束,2. 需求工程的本质,需求工程简单化描述为她关注系统将要做什么;而设计关注系统将怎样做需求工程可以看作把一个定义不足的问题转换为一个定义充分的问题以便找出解决方案。这是因
5、为客户需求信息经常是粗糙的和不完整的需求工程的通用性、理论性和实践性,怎样理解其学科性质,如何学习才能掌握它的本质?有一劳永逸的方法和工具吗?能否将另一个成功项目的需求工程方法照搬到现在的项目 答案是不能!,3. 问题域(Problem Domain)与解系统(Solution System),问题域:被开发系统的应用领域,即在现实世界中由这个系统进行处理的业务范围解系统:指可以在问题域内产生某种效果的系统,而构成软件需求的正是这些想要获得的效果,它也正是为何做软件需求的原因和目的,问题域 Problem Domain,问题域 接口,解系统,分析,规格说明,设计,问题域的类型,分类I系统软件应
6、用软件,进一步划分为商业软件和工程软件分类II批处理系统/系统脱机交互系统实时系统分类III数据为主的系统交互为主的系统算法为主的系统,问题域的类型,数据为主,交互为主,算法为主,气象预报系统收银机系统电梯控制系统工资系统文字处理系统文件转换系统手机定位系统,A,B,C,D,E,F,G,需求的层次,业务需求,项目视图与范围文档,用户需求,质量属性,使用实例文档,系统需求,功能需求,其它非功能需求,约束条件,软件需求规格说明SRS,4. 软件需求的分类,业务需求业务需求(business requirement)反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图和范围文档中予以说明
7、例如某运营商对定位系统的业务需求,4. 软件需求的分类,用户需求用户需求(user requirement)描述了用户使用产品必须要完成的任务,它们在使用实例(use case)和情景描述(scenario)文档中予以说明,4. 软件需求的分类,功能需求“一般”意义的需求指的是功能或行为需求,这样的需求通常是和解系统的适当行为(用户需求)相关联,是开发人员必须实现的软件功能。功能需求可以在多种不同的抽象层次上来表达,这使得导出需求过程比较复杂和困难:a) Physical behaviorb) Input-output relationshipc) Observable statesd) Us
8、er interface,4. 软件需求的分类,非功能需求非功能需求是功能需求的补充,它描述了系统完成功能实现的补充和约束条件。如产品必须遵从的标准、国际规范和合约;外部界面的规范;性能需求如:系统运行速度(Speed),可靠性(Reliability),容量(Capacity),可用性(Availability),可使用性(Usability);其它质量属性如:快捷性、简易性、直觉性、健壮性等。在具体操作时,关于可靠性和可用性的规范最为困难,但又是客户最为关心的,4. 软件需求的分类,非功能需求a) Responseb) Accuracyc) Frequencyd) Capacitye) T
9、hroughputf) Defect ratesg) Modifiabilityh) Supportability,4. 软件需求的分类,设计约束设计约束是真正意义上的非功能约束,它们约束系统怎样被构建而不是系统做什么。设计约束的一般内容为解系统将在其上运行的目标机器底层的体系结构 - 分布式的或本地的系统运行的内存大小应当采用的任何前端图形用户界面(GUI)程序包系统运行的操作系统应当使用的编程语言其它应集成的软件包如数据库管理系统(DBMS)必须应用的开发标准应采用的设计方法等等,4. 软件需求的分类,设计约束a) Languageb) OSc) SW to HW interfaced)
10、Algorithme) Powerf) Timingg) Memoryh) Processor utilizationI) Weight etc,4. 软件需求的分类,商业约束商业约束通常关注的是软件产品完成的时间以及开发费用问题,是客户最为关心的问题。解系统的开发时间和费用与系统功能性、可靠性、可用性等关键需求性能有着必然与复杂的关系。是项目需求与项目管理的结合点。商业约束通常是和需求工程过程同步的,即商业约束是在调查其它需求的同时获得,而且易于识别,不存在技术上的困惑,但却是管理上的难点。商业约束如果不存在一个独立文档,则会出现在业务需求描述中。,4. 软件需求的分类,系统需求对于一个复杂
11、的系统或产品,软件功能需求只是系统需求的一个子集,需要从系统需求中剥离出来。系统需求描述了系统中各个方面的需求,可能包含硬件、软件、其它关联系统,而且系统的功能及非功能描述并不依赖于物理层次,如软件和硬件的划分。系统和软件需求分析人员需要将软件需求部分独立出来。在CMM中这部分工作称为需求分配(requirement allocation),4. 软件需求的分类,开发过程需求(Process Requirements)A requirements that specifies a need or constraint about how a product well be designed,
12、produced, delivered, or maintained; e.g., the specification of a methodology, manufacturing process, or delivery constraint. Process requirements are distinguished from product requirements. Process requirements often appear in a Statement of Work rather than in a requirements document.,4. 软件需求的分类,开
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 需求 工程 ppt 课件

链接地址:https://www.31ppt.com/p-1422614.html