软件需求讲义-第二部分_第1页
软件需求讲义-第二部分_第2页
软件需求讲义-第二部分_第3页
软件需求讲义-第二部分_第4页
软件需求讲义-第二部分_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件需求(二)周勇软件需求 华东师范大学软件学院 2007 2-2 就理论而言,理论和实践并无差异。但真付诸实行,差异即开始显现。 Jan L.A. van de Snepscheut 软件需求 华东师范大学软件学院 2007 2-3需求工程与需求工程过程p软件需求与产品生命周期 n瀑布模型n快速应用开发(RAD) 模型n螺旋模型nRUPn迭代式模型n形式化方法n关于选择生命周期模型的总结p需求工程 n什么是需求工程n需求工程的内容n需求工程过程n需求工程的涉众人员n需求工程的方法n面向对象的需求工程方法n面向对象的需求工作流n需求过程的改进软件需求 华东师范大学软件学院 2007 2-4第3

2、章 主要软件生命周期模型 p瀑布模型p快速应用开发模型(RAD)p螺旋模型pRUPp迭代式模型 软件需求 华东师范大学软件学院 2007 2-5瀑布模型(Waterfall Model) 软件需求 华东师范大学软件学院 2007 2-6瀑布模型的优点 p客户很容易熟悉该模型。p以有序的方式解决复杂的问题,易于理解,目标简单完成所需要的活动。p可以严格控制项目进程,使项目管理易于实施。p方便按阶段设置里程碑,便于项目跟踪。p定义了质量控制过程。运用该过程来确定系统的质量。 软件需求 华东师范大学软件学院 2007 2-7瀑布模型的缺点 (一)p它有内在的线性顺序,尝试重新使用两个或更多阶段开改正

3、一个问题或缺陷,会导致成本上升和进度安排上工作量的急剧增加。p它不能准确反映软件开发中解决问题的特点。各阶段严格与活动一致,而不管开发团队的实际工作如何。p它的状态和进展容易给人以错觉,实际工作中“完成50%的工作”对项目经理来说并无实际意义。p最后集成造成较大的风险。由于过程中的线性传递特点,常常在集成中出现问题时就已为时太晚。最后会发现前期未发现的错误或设计缺陷,由于没有时间恢复而增加了风险。p它是文档驱动的,文档工作量非常大。p当瀑布模型必须面对范围管理的挑战时,就显得力不从心了。如果把这个模型应用于大范围的项目时,会出现最后期限到来时,没有任何实质性的成果,系统集成和测试被迫推迟或放弃

4、,在前期需求规格说明、设计和编码中可观的投入未能产生有效的成果,没有任何可提交的产品。 软件需求 华东师范大学软件学院 2007 2-8瀑布模型的缺点 (二)p实际的项目很少按照该模型给出的顺序进行。虽然瀑布模型能够容许迭代,但却是间接的。结果,在项目组的开发过程中变化可能引起混乱。p用户常常难以清楚地给出所有需求,而瀑布模型却要求如此,它还不能接受在许多项目的开始阶段自然存在的不确定性。p开发者常常被不必要地耽搁。在对实际项目的分析中,BradacBRA ,1994发现传统生命周期的线性特征会导致“阻塞状态”,其中某些项目组成员不得不等待组内其他成员先完成其依赖的任务。事实上,花在等待上的时

5、间可能会超过花在开发工作上的时间。阻塞状态经常发生在线性顺序过程的开始和结束。 软件需求 华东师范大学软件学院 2007 2-9采用瀑布模型需要具备的项目特征 p在系统开发前要对需求有完整、全面、清晰的了解。p上述需求不存在隐含的不可克服的风险。p需求变更不能过于频繁。p不同涉众的需求互相兼容,不存在明显的冲突。p开发团队掌握了解决需求问题的有效方法。p开发期限允许分阶段地串行工作。 软件需求 华东师范大学软件学院 2007 2-10快速应用开发(RAD) 模型 软件需求 华东师范大学软件学院 2007 2-11RAD模型的优点模型的优点 p采用高效率的开发工具,从而减少了整个产品的开发周期。

6、提高了生产率,降低了成本。p用户能够持续地参与开发,提高了用户参与程度,从而使用户的满意度上升,保证了系统能够满足用户的需要。p工作重点从文档转为构建,所见即所得 。软件需求 华东师范大学软件学院 2007 2-12RAD模型的缺点模型的缺点 p如果用户不能持续地参与整个生命周期中,最终产品会受到负面影响。p要求系统能适当模块化,如果没有可重用的组件,它的效率就会下降。p盲目应用时,会缺乏成本概念和项目完成的时间限制。项目有永远不能完结的风险。p对于大型的、但可伸缩的项目,RAD 需要足够的人力资源以创建足够的RAD 组。pRAD 要求承担必要的快速活动的开发者和用户在一个很短的时间框架下完成

7、一个系统。如果两方中的任何一方没有完成约定,都会导致RAD 项目失败。 软件需求 华东师范大学软件学院 2007 2-13采用RAD模型的项目特征 p系统可模块化(基于组件的结构)和可缩放。p用户能参与到整个生命周期中。p项目开发周期很短通常约60天。p项目团队熟悉问题领域,能熟练使用开发工具。 软件需求 华东师范大学软件学院 2007 2-14螺旋模型螺旋模型软件需求 华东师范大学软件学院 2007 2-15螺旋模型的优点 p能够及时找到项目存在的风险,避免因为克服不了的困难而造成大的损失。p使用户能够尽早将信息经常反馈给开发人员,保证了产品的正确性和高质量。p可以方便地评估和验证每次迭代的

8、成果;实现从开发到维护的无缝连接。 软件需求 华东师范大学软件学院 2007 2-16螺旋模型的缺点 p如果项目本身是低风险的或者规模较小,采用该模型可能产生昂贵的成本。每一次螺旋结束后评估风险的时间及人工耗费都较大。p模型本身比较复杂,开发人员和用户难于掌握。p大量的中间阶段会产生额外的内外部文档。p难以定义每阶段的目标。 软件需求 华东师范大学软件学院 2007 2-17采用螺旋模型的项目特征 p适用于大型项目;更适用于内部开发(指没有外包的开发内容)。p用于新功能、新产品或需要采用新技术时。p收益不确定,项目不能确保成功时。p用户不能确定其需求或需求很复杂时。 软件需求 华东师范大学软件

9、学院 2007 2-18统一软件过程 (RUP)软件需求 华东师范大学软件学院 2007 2-19RUP的核心概念 软件需求 华东师范大学软件学院 2007 2-20RUP的核心工作流(一)的核心工作流(一) p6个核心过程工作流 n商业建模(Business Modeling ) n需求(Requirements)n分析和设计(Analysis & Design) n实现(Implementation) n测试(Test) n部署(Deployment) 软件需求 华东师范大学软件学院 2007 2-21RUP的核心工作流(二)的核心工作流(二)p3个核心支持工作流 n配置和变更管理(Con

10、figuration & Change Management) n项目管理(Project Management) n环境(Environment) 软件需求 华东师范大学软件学院 2007 2-22RUP的裁剪 p确定本项目需要哪些工作流。RUP的9个核心工作流并不总是需要的,可以取舍。p确定每个工作流需要哪些制品。p确定4个阶段之间如何演进。确定阶段间演进要以风险控制为原则,决定每个阶段要那些工作流,每个工作流执行到什么程度,制品有那些,每个制品完成到什么程度。p确定每个阶段内的迭代计划。规划RUP的4个阶段中每次迭代开发的内容。p规划工作流内部结构。工作流涉及角色、活动及制品,它的复杂程

11、度与项目规模即角色多少有关。最后规划工作流的内部结构,通常用活动图的形式给出。 软件需求 华东师范大学软件学院 2007 2-23RUP的迭代开发模式 软件需求 华东师范大学软件学院 2007 2-24多次迭代 软件需求 华东师范大学软件学院 2007 2-25RUP的优点 p降低了在一个增量上的开支风险。如果开发人员重复某个迭代,那么损失只是这一个开发有误的迭代的花费。p降低了产品无法按照既定进度进入市场的风险。通过在开发早期就确定风险,可以尽早来解决而不至于在开发后期匆匆忙忙。 p加快了整个开发工作的进度。因为开发人员清楚问题的焦点所在,他们的工作会更有效率。p由于用户的需求并不能在一开始

12、就作出完全的界定,它们通常是在后续阶段中不断细化的。因此,迭代过程这种模式使适应需求的变化会更容易些。 软件需求 华东师范大学软件学院 2007 2-26RUP的缺点 pRUP只是一个开发过程,并没有涵盖软件过程的全部内容,例如它缺少关于软件运行和支持等方面的内容p它没有支持多项目的开发结构,这在一定程度上降低了在开发组织内大范围实现重用的可能性。 软件需求 华东师范大学软件学院 2007 2-27迭代式模型 p在迭代的方法中,生命周期的阶段与各阶段的活动是分离开来的,即允许我们在项目的不同迭代中重新进行其中的某些活动,如需求、设计、实现等 。p开发迭代是一次完整地经过所有工作流程的过程:(至

13、少包括)需求工作流程、分析设计工作流程、实施工作流程和测试工作流程。实质上,它类似小型的瀑布式项目。 软件需求 华东师范大学软件学院 2007 2-28迭代模型与瀑布模型的差别 软件需求 华东师范大学软件学院 2007 2-29迭代方法常见的问题 p过分详细的规划 p项目不收敛 p轻率地开始设计和编码 p自掘陷阱 p忘记新风险 p不同的小组按自己的进度进行工作 p第一次迭代做太多的事情 p太多的迭代 p迭代重叠 软件需求 华东师范大学软件学院 2007 2-30形式化方法 p形式化方法模型包含了一组活动,它们带来了计算机软件用数学说明描述的方法。形式化方法使得软件工程师能够通过采用一个严格的、

14、数学的表示体系来说明、开发和验证基于计算机的系统。p支配形式化方法的基本概念是:n数据不变式。个条件表达式,它在包含一组数据的系统的执行过程中总保持为真;n状态。系统访问和修改的存储数据;n操作。系统中发生的动作,以及对状态数据的读或写。每一个操作是和两个条件相关联的:前置条件和后置条件。n离散数学。与集合和构造性规约、集合运算符、逻辑运算符、以及序列相关联的符号体系,形成了形式化方法的基础。这些数学在形式化规约语言,如Z 语言中被实现。 软件需求 华东师范大学软件学院 2007 2-31形式化方法的优点 p形式化规约可以用数学方法研究,而非形式化方法则不能。 p某些形式的不完整性和不一致性可

15、以被自动地检测 。p形式化方法提供了规约环境的基础,它使得所生成的分析模型比用传统的或面向对象的方法生成的模型更完整、一致和无二义。集合论和逻辑符号的描述使得软件工程师能创建清晰的关于事实(需求)的陈述。 软件需求 华东师范大学软件学院 2007 2-32形式化方法的缺点 p形式化规约主要关注于功能和数据,而问题的时序、控制和行为等方面却更难于表示。p使用形式化方法来建立规约比其他分析方法更难于学习 。p形式化模型的开发目前还很费时和昂贵。p因为很少有软件开发者具有使用形式化方法所需的背景知识,所以尚需多方面的培训。p难以使用该模型与用户进行交流沟通,因为几乎所有的用户对其一无所知。软件需求

16、华东师范大学软件学院 2007 2-33第4章 需求工程 p需求工程是指应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分析人员理解问题并定义目标系统的所有外部特征的一门学科。p完整的软件需求工程包括需求开发和需求管理两个部分,需求开发的一般过程分为需求获取、需求建模、需求规格说明、需求验证四个阶段,需求管理则主要包括需求基线的建立、需求变更控制以及需求跟踪等活动。p需求工程过程被认为是建立软件系统最重要的方面之一。在项目中,它涵盖了与需求相关的所用活动。p需求工程的涉众。p需求工程方法大致分为四类:面向过程、面向数据、面向控制、面向对象。p面向对象的需求工作流包括:问题分析,理解涉

17、众需要,定义系统,管理项目规模,改进系统定义。p软件需求过程的改进具有以下两个主要目标:解决在以前项目或目前项目中遇到的问题;防止和避免你可能在将来的项目中要遇到的问题。p需求过程改进路线图。 软件需求 华东师范大学软件学院 2007 2-34需求工程的内容 软件需求 华东师范大学软件学院 2007 2-35Pressman的需求工程过程 软件需求 华东师范大学软件学院 2007 2-36Boehm的需求工程过程 软件需求 华东师范大学软件学院 2007 2-37需求工程的涉众人员 软件需求 华东师范大学软件学院 2007 2-38需求工程的方法 p面向过程p面向数据p面向控制p面向对象 软件

18、需求 华东师范大学软件学院 2007 2-39面向对象的需求工程方法 p与用户广泛接触,收集和查看相关资料,对问题域有一个大致的了解。在此基础上,提炼和标识对象。p描述对象(类)的属性。p描述对象之间的关系,如整体关系和从属关系等。p描述问题域的“场景”,即描述问题域中完成每个任务需要的对象间的协作关系。 软件需求 华东师范大学软件学院 2007 2-40面向对象的需求工作流 软件需求 华东师范大学软件学院 2007 2-41需求过程的改进 p解决在以前项目或目前项目中遇到的问题p防止和避免你可能在将来的项目中要遇到的问题 软件需求 华东师范大学软件学院 2007 2-42需求与其他项目过程的联系 软件需求 华东师范大学软件学院 2007 2-43软件需求对其他涉众的影响 软件需求 华东师范大学软件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论