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

下载本文档

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

文档简介

1、软件需求(二)软件工程与需求工程p软件工程与软件开发过程模型软件工程与软件开发过程模型n瀑布模型瀑布模型n快速原型模型快速原型模型n螺旋模型螺旋模型n增量模型增量模型nRUPn喷泉模型喷泉模型n关于选择生命周期模型的总结关于选择生命周期模型的总结p需求工程需求工程 n什么是需求工程什么是需求工程n需求工程的内容需求工程的内容n需求工程过程需求工程过程n需求工程的涉众人员需求工程的涉众人员n需求工程的方法需求工程的方法n面向对象的需求工程方法面向对象的需求工程方法第第3章章 软件工程与软件开发过程模型软件工程与软件开发过程模型 p软件工程软件工程p软件开发过程模型软件开发过程模型2022-2-1

2、43.1 软件工程软件工程p软件危机是指人们难以控制软件的开发和维护。表现: (1)大型软件系统十分复杂,很难理解和维护; (2)软件开发周期过长; (3)大型软件系统的可靠性差; (4)软件费用往往超出预算。 2022-2-15软件工程(续)软件工程(续)p软件危机的解决方法应用工程化的方法来进行软件的开发和维护 。p软件工程的研究内容软件开发过程、软件开发和维护的方法和技术、软件开发和维护工具系统、质量评价和质量保证、软件管理和软件开发环境等。2022-2-162.2 软件开发过程模型(软件生命周期模型)软件开发过程模型(软件生命周期模型)p瀑布式模型瀑布式模型p快速原型模型快速原型模型

3、p螺旋式模型螺旋式模型 p增量模型增量模型 pRUP(Rational统一过程)统一过程)p喷泉模型(基于面向对象技术)喷泉模型(基于面向对象技术) (1)瀑布模型)瀑布模型(Waterfall Model) 瀑布模型的优点瀑布模型的优点 p客户很容易熟悉该模型。客户很容易熟悉该模型。p是一种严格线性的按阶段顺序的、逐步细化的开是一种严格线性的按阶段顺序的、逐步细化的开发模式,消除了软件开发的随意性。发模式,消除了软件开发的随意性。p各阶段工作任务明确,要求文档完备性,可方便各阶段工作任务明确,要求文档完备性,可方便按阶段设置里程碑,便于项目跟踪按阶段设置里程碑,便于项目跟踪p可以严格控制项目

4、进程,使项目管理易于实施。可以严格控制项目进程,使项目管理易于实施。p定义了质量控制过程。运用该过程来确定系统的定义了质量控制过程。运用该过程来确定系统的质量。质量。 瀑布模型的缺点瀑布模型的缺点p需求:客户常常难以表达真正的需求,而这种需求:客户常常难以表达真正的需求,而这种模型却要求严格的阶段性成果,返工困难,变模型却要求严格的阶段性成果,返工困难,变更代价很大更代价很大p风险:客户要等到开发周期的晚期才能看到程风险:客户要等到开发周期的晚期才能看到程序运行的测试版本,这时若发现大的错误,可序运行的测试版本,这时若发现大的错误,可能引起客户的惊慌,其后果也可能是灾难性的能引起客户的惊慌,其

5、后果也可能是灾难性的p效率:因为前后任务的依赖关系,成员不能并效率:因为前后任务的依赖关系,成员不能并行工作,有可能花在等待的时间比开发的时间行工作,有可能花在等待的时间比开发的时间要长,即所谓的要长,即所谓的“堵塞状态堵塞状态”适用于一些需求已明确并且变化较少的系统适用于一些需求已明确并且变化较少的系统(2)快速原型模型)快速原型模型p原型原型快速建立起来的可以在计算机上运行的快速建立起来的可以在计算机上运行的程序,通常选取系统中某个关键功能作为原型。程序,通常选取系统中某个关键功能作为原型。编程测试编程测试分析分析定义需求定义需求设计设计原型原型实施完成实施完成再构造再构造快速原型的基本思

6、想和开发步骤快速原型的基本思想和开发步骤p基本思想基本思想 在投入大量的人力、物力之前,在限定的时间在投入大量的人力、物力之前,在限定的时间内,用最经济的方法构造一个系统原型,使用户内,用最经济的方法构造一个系统原型,使用户尽早看到系统的概貌,在系统原型的实际运行中尽早看到系统的概貌,在系统原型的实际运行中与用户一起发现问题,提出修改意见,不断完善与用户一起发现问题,提出修改意见,不断完善原型,使它逐步满足用户要求。原型,使它逐步满足用户要求。p开发步骤开发步骤明确用户基本信息需求明确用户基本信息需求建立初始原型(集成原则、最小系统原则)建立初始原型(集成原则、最小系统原则)评价原型评价原型修

7、改和完善原型修改和完善原型快速原型的开发工具快速原型的开发工具p第四代技术第四代技术p可复用软件构件可复用软件构件p形式化规约和原型环境形式化规约和原型环境快速原型的类型快速原型的类型p抛弃式原型。将开发原型看做是沟通工具,永远也不会将抛弃式原型。将开发原型看做是沟通工具,永远也不会将一次式原型引入正式运行环境中。主要解决需求的不确定一次式原型引入正式运行环境中。主要解决需求的不确定性,二义性,不完整性等。性,二义性,不完整性等。p进化式原型。会在未来的系统中包含的原型。这种方法能进化式原型。会在未来的系统中包含的原型。这种方法能够将最大量的工作投入到正式系统中。够将最大量的工作投入到正式系统

8、中。p水平原型也称为行为原型,用来探索预期系统的一些特定水平原型也称为行为原型,用来探索预期系统的一些特定行为,并达到细化需求的目的。水平原型通常只是功能导行为,并达到细化需求的目的。水平原型通常只是功能导航,并未真实实现功能。主要用在用户界面上。航,并未真实实现功能。主要用在用户界面上。p垂直原型也称为结构化原型,实现了一部分功能。主要用垂直原型也称为结构化原型,实现了一部分功能。主要用在复杂的算法实现上。在复杂的算法实现上。抛弃式原型模型抛弃式原型模型演化式原型模型演化式原型模型是是交付目标系交付目标系统统建立建立/完善原型完善原型系统充分吗系统充分吗?否否软件过程的演化式原型模型软件过程

9、的演化式原型模型使用原型系统使用原型系统需求抽象描述需求抽象描述快速原型的典型应用快速原型的典型应用快速原型的评价快速原型的评价p这个原型所实现的功能与你所期望的一致吗?这个原型所实现的功能与你所期望的一致吗?p有遗漏的功能吗?有遗漏的功能吗?p有多余的功能吗?有多余的功能吗?p你能考虑一下这个原型所没有涉及到的一些出错你能考虑一下这个原型所没有涉及到的一些出错情况吗?情况吗?p这些功能导航的逻辑性和完整性如何?这些功能导航的逻辑性和完整性如何?p有更简单的方法来完成这一任务吗?有更简单的方法来完成这一任务吗?快速原型的特点和应用场合快速原型的特点和应用场合p用户积极参与用户积极参与p原型的开

10、发没有严密的阶段性原型的开发没有严密的阶段性p短期获得测试版本,降低风险短期获得测试版本,降低风险应用于以下场合:应用于以下场合:需求含糊,用户不能标识出详细的输入、处理需求含糊,用户不能标识出详细的输入、处理和输出需求和输出需求设计方案不明确,开发人员不能确定算法的有设计方案不明确,开发人员不能确定算法的有效性、操作系统的适应性或人机交互的有效性效性、操作系统的适应性或人机交互的有效性快速原型的不足快速原型的不足p降低风险的同时,引入了其他风险:降低风险的同时,引入了其他风险:用户随意无止境的需求变化,因为用户容易产生误解,用户随意无止境的需求变化,因为用户容易产生误解,认为系统很容易被构造

11、和修改认为系统很容易被构造和修改如果采用原型基础上继续构造,由于修补过度,软件如果采用原型基础上继续构造,由于修补过度,软件质量不易于保证质量不易于保证开发人员为了快速构造原型,可能会采用不合适的操开发人员为了快速构造原型,可能会采用不合适的操作系统、语言、算法等,造成后期风险,如系统适应作系统、语言、算法等,造成后期风险,如系统适应性差、维护困难等性差、维护困难等快速原型开发的原则快速原型开发的原则p你的项目计划中应包括原型风险。你的项目计划中应包括原型风险。p计划开发多个原型,因为你很少能一次成功。计划开发多个原型,因为你很少能一次成功。p尽快并且廉价地建立抛弃型原型。尽快并且廉价地建立抛

12、弃型原型。p在抛弃型原型中不应含有代码注释、输入数据有效性检查、在抛弃型原型中不应含有代码注释、输入数据有效性检查、保护性编码技术,或者错误处理的代码。保护性编码技术,或者错误处理的代码。p对于已经理解的需求不要建立原型。对于已经理解的需求不要建立原型。p不能随意地增加功能。不能随意地增加功能。p不要从水平原型的性能推测最终产品的性能。不要从水平原型的性能推测最终产品的性能。p在原型屏幕显示和报表中使用合理的模拟数据。在原型屏幕显示和报表中使用合理的模拟数据。p不要期望原型可以代替需求文档。不要期望原型可以代替需求文档。(3)螺旋模型)螺旋模型p是增加了风险分析和规避措施的是增加了风险分析和规

13、避措施的“原型原型 + + 瀑布瀑布”的迭代式开发模型,由于一系列活动和活动间的的迭代式开发模型,由于一系列活动和活动间的回溯过程用螺旋线描述,故而得名。回溯过程用螺旋线描述,故而得名。p螺旋模型是一种迭代模型螺旋模型是一种迭代模型,软件开发过程定义成软件开发过程定义成不断上升的螺旋周期,每个周期划分为计划、不断上升的螺旋周期,每个周期划分为计划、风风险分析、实施和评价四个方面。沿螺线自内向外险分析、实施和评价四个方面。沿螺线自内向外每旋转一圈便开发出更为完善的一个新的软件版每旋转一圈便开发出更为完善的一个新的软件版本本螺旋模型螺旋模型操作操作概念概念螺旋模型的优点螺旋模型的优点 p能够及时找

14、到项目存在的风险,避免因为克服不能够及时找到项目存在的风险,避免因为克服不了的困难而造成大的损失。了的困难而造成大的损失。p使用户能够尽早将信息经常反馈给开发人员,保使用户能够尽早将信息经常反馈给开发人员,保证了产品的正确性和高质量。证了产品的正确性和高质量。p可以方便地评估和验证每次迭代的成果;实现从可以方便地评估和验证每次迭代的成果;实现从开发到维护的无缝连接。开发到维护的无缝连接。 螺旋模型的缺点螺旋模型的缺点 p如果项目本身是低风险的或者规模较小,如果项目本身是低风险的或者规模较小,采用该模型可能产生昂贵的成本。每一次采用该模型可能产生昂贵的成本。每一次螺旋结束后评估风险的时间及人工耗

15、费都螺旋结束后评估风险的时间及人工耗费都较大。较大。p模型本身比较复杂,开发人员和用户难于模型本身比较复杂,开发人员和用户难于掌握。掌握。p大量的中间阶段会产生额外的内外部文档。大量的中间阶段会产生额外的内外部文档。p难以定义每阶段的目标。难以定义每阶段的目标。 采用螺旋模型的项目特征采用螺旋模型的项目特征 p适用于大型项目;更适用于内部开发(指适用于大型项目;更适用于内部开发(指没有外包的开发内容)。没有外包的开发内容)。p用于新功能、新产品或需要采用新技术时。用于新功能、新产品或需要采用新技术时。p收益不确定,项目不能确保成功时。收益不确定,项目不能确保成功时。p用户不能确定其需求或需求很

16、复杂时。用户不能确定其需求或需求很复杂时。 (4 4)增量模型)增量模型p一条直线一次性到达目的总是困难的。一条直线一次性到达目的总是困难的。p紧迫的市场期限使得难以完成一个完善的软件产紧迫的市场期限使得难以完成一个完善的软件产品,缓解压力的方式是先提交一个有限的版本,品,缓解压力的方式是先提交一个有限的版本,细节部分逐步增加。细节部分逐步增加。增量模型增量模型融合了瀑布模型的基本成分和原型的融合了瀑布模型的基本成分和原型的迭代特征。采用随着日程时间的进展而交错的线迭代特征。采用随着日程时间的进展而交错的线性序列。性序列。n搭积木的方式,如按子系统划分增量搭积木的方式,如按子系统划分增量增量模

17、型的特点增量模型的特点p以功能递增的方式进行软件开发以功能递增的方式进行软件开发p能较快地产生可操作的系统能较快地产生可操作的系统p在每一步递增中,都可以把用户在每一步递增中,都可以把用户/ /开发者的经验结开发者的经验结合到不断求精的产品中合到不断求精的产品中p可改善测试效果和降低软件开发总成本可改善测试效果和降低软件开发总成本分析分析分析分析分析分析分析分析设计设计设计设计设计设计设计设计编码编码编码编码编码编码编码编码测试测试测试测试测试测试测试测试增量增量1增量增量2 增量增量3增量增量4 功能功能时间时间增量模型示例增量模型示例p例子:设计一个字处理软件例子:设计一个字处理软件n增量

18、增量1:实现软件的基本需求,提供最核心的:实现软件的基本需求,提供最核心的功能。功能。n增量增量2:提供更完善的编辑和文档生成功能。:提供更完善的编辑和文档生成功能。n增量增量3:实现拼写和语法检查功能。:实现拼写和语法检查功能。n增量增量4:完成高级的页面排版功能。:完成高级的页面排版功能。增量模型的应用场合增量模型的应用场合p项目开始,明确了需求的大部分,但是需求可能项目开始,明确了需求的大部分,但是需求可能会发生变化会发生变化p对于市场和用户把握不是很准,需要逐步了解对于市场和用户把握不是很准,需要逐步了解p对于有庞大和复杂功能的系统进行功能改进,本对于有庞大和复杂功能的系统进行功能改进

19、,本身就需要一步一步实施的。身就需要一步一步实施的。(5)统一软件过程)统一软件过程 (RUP)p统一软件过程统一软件过程(RUP,Rational Unified Process)是基于面向对象统一建模语言是基于面向对象统一建模语言UML的一种面向对的一种面向对象的软件过程模型。象的软件过程模型。pRUP遵循了逐步求精的、迭代的开发策略。遵循了逐步求精的、迭代的开发策略。RUP是以是以用例用例为驱动,以为驱动,以系统系统构构架架为中心为中心的一个的一个迭代迭代式式的的增量增量过程。过程。pRUP分成分成初始、细化、构造初始、细化、构造和和移交移交四个阶段,每四个阶段,每个阶段又分成若干次迭代

20、,每次迭代都经过一个个阶段又分成若干次迭代,每次迭代都经过一个核心工作流程。核心工作流程。 统一软件过程统一软件过程 (RUP)l在统一过程中,有在统一过程中,有6 6个核心工作流。个核心工作流。 业务建模工作流:业务建模工作流:用商业用例为商业过程建立文档。用商业用例为商业过程建立文档。 需求工作流:需求工作流:目标是描述系统应该做什么,确保开目标是描述系统应该做什么,确保开发人员构建正确的系统。为此,需明确系统的功能发人员构建正确的系统。为此,需明确系统的功能需求和非功能需求(约束)。需求和非功能需求(约束)。 分析和设计工作流:分析和设计工作流:其目标是说明如何做。结果是其目标是说明如何

21、做。结果是分析模型和设计模型。分析模型和设计模型。 实现工作流:实现工作流:用分层的方式组织代码的结构,用构用分层的方式组织代码的结构,用构件的形式来实现类,对构件进行单元测试,将构件件的形式来实现类,对构件进行单元测试,将构件集成到可执行的系统中。集成到可执行的系统中。统一过程的核心工作流统一过程的核心工作流 测试工作流:测试工作流:验证对象之间的交互、是否所有的构验证对象之间的交互、是否所有的构件都集成了、是否正确实现了所有需求、查错并改件都集成了、是否正确实现了所有需求、查错并改正。正。 部署工作流:部署工作流:制作软件的外部版本、软件打包、分制作软件的外部版本、软件打包、分发、为用户提

22、供帮助和支持。发、为用户提供帮助和支持。统一过程的核心工作流(续)统一过程的核心工作流(续)RUP初始阶段的主要工作初始阶段的主要工作初始阶段:初始阶段:确定所设立的项目是否可行。确定所设立的项目是否可行。p明确说明项目规模,了解环境以及最重要的需求和约束。明确说明项目规模,了解环境以及最重要的需求和约束。p划分主要子系统,给出系统的体系结构概貌。划分主要子系统,给出系统的体系结构概貌。p考虑时间、经费、人员、技术、项目计划和效益等因素。考虑时间、经费、人员、技术、项目计划和效益等因素。p分析项目执行的风险。分析项目执行的风险。该阶段的焦点是需求和分析工作流。该阶段的焦点是需求和分析工作流。R

23、UP细化阶段的主要工作细化阶段的主要工作细化阶段:细化阶段:识别出大多数用例(识别出大多数用例(80%)。建立健全的)。建立健全的体系结构基础,编制项目计划,细化风险评估。体系结构基础,编制项目计划,细化风险评估。p用例模型需要完成用例模型需要完成80%80%。p创建软件结构的描述性文档。创建软件结构的描述性文档。p创建可执行的系统原型。创建可执行的系统原型。p细化风险列表。细化风险列表。p创建整个项目的开发计划。创建整个项目的开发计划。该阶段的焦点是商业建模和需求工作流。该阶段的焦点是商业建模和需求工作流。RUP构造阶段的主要工作构造阶段的主要工作 构造阶段:构造阶段:识别出最后剩余的用例。

24、每一次迭代开发都对用识别出最后剩余的用例。每一次迭代开发都对用例进行分析、设计、编码、测试和集成过程,最终得到满足例进行分析、设计、编码、测试和集成过程,最终得到满足项目需求的产品项目需求的产品。p优化资源,使开发成本降到最低。优化资源,使开发成本降到最低。p尽快达到质量要求。尽快达到质量要求。p尽快完成有用的版本。尽快完成有用的版本。p完成所有功能的分析、开发和测试。完成所有功能的分析、开发和测试。p迭代式、递增地开发随时可以发布的产品。迭代式、递增地开发随时可以发布的产品。p确定准备好软件系统的外部环境。确定准备好软件系统的外部环境。 该阶段的焦点是实现工作流。该阶段的焦点是实现工作流。R

25、UP交付阶段的主要工作交付阶段的主要工作交付阶段:交付阶段:完成最后的软件产品和产品验收测试,并编制用完成最后的软件产品和产品验收测试,并编制用户文档,进行用户培训等工作。将完整的系统部署到用户所处户文档,进行用户培训等工作。将完整的系统部署到用户所处的环境,确保软件对最终用户是可用的。的环境,确保软件对最终用户是可用的。p按用户的要求验证新系统。按用户的要求验证新系统。p替换旧的系统。替换旧的系统。p对用户和维护人员进行培训。对用户和维护人员进行培训。p开始调整工作,例如性能或可用性的增强。开始调整工作,例如性能或可用性的增强。p与用户达成共识,部署基线与评估标准一致。与用户达成共识,部署基

26、线与评估标准一致。该阶段的焦点是测试和部署工作流。该阶段的焦点是测试和部署工作流。RUP的迭代开发模式的迭代开发模式 多次迭代多次迭代 RUP的优点的优点 p降低了在一个增量上的开支风险。如果开发人员重复某个降低了在一个增量上的开支风险。如果开发人员重复某个迭代,那么损失只是这一个开发有误的迭代的花费。迭代,那么损失只是这一个开发有误的迭代的花费。p降低了产品无法按照既定进度进入市场的风险。通过在开降低了产品无法按照既定进度进入市场的风险。通过在开发早期就确定风险,可以尽早来解决而不至于在开发后期发早期就确定风险,可以尽早来解决而不至于在开发后期匆匆忙忙。匆匆忙忙。 p加快了整个开发工作的进度

27、。因为开发人员清楚问题的焦加快了整个开发工作的进度。因为开发人员清楚问题的焦点所在,他们的工作会更有效率。点所在,他们的工作会更有效率。p由于用户的需求并不能在一开始就作出完全的界定,它们由于用户的需求并不能在一开始就作出完全的界定,它们通常是在后续阶段中不断细化的。因此,迭代过程这种模通常是在后续阶段中不断细化的。因此,迭代过程这种模式使适应需求的变化会更容易些。式使适应需求的变化会更容易些。 RUP的缺点的缺点 pRUP只是一个开发过程,并没有涵盖软件只是一个开发过程,并没有涵盖软件过程的全部内容,例如它缺少关于软件运过程的全部内容,例如它缺少关于软件运行和支持等方面的内容行和支持等方面的

28、内容p它没有支持多项目的开发结构,这在一定它没有支持多项目的开发结构,这在一定程度上降低了在开发组织内大范围实现重程度上降低了在开发组织内大范围实现重用的可能性。用的可能性。 总结:迭代式模型总结:迭代式模型 p在迭代的方法中,生命周期的阶段与各阶段的活在迭代的方法中,生命周期的阶段与各阶段的活动是分离开来的,即允许我们在项目的不同迭代动是分离开来的,即允许我们在项目的不同迭代中重新进行其中的某些活动,如需求、设计、实中重新进行其中的某些活动,如需求、设计、实现等现等 。p开发迭代是一次完整地经过所有工作流程的过程:开发迭代是一次完整地经过所有工作流程的过程:(至少包括)需求工作流程、分析设计

29、工作流程、(至少包括)需求工作流程、分析设计工作流程、实施工作流程和测试工作流程。实质上,它类似实施工作流程和测试工作流程。实质上,它类似小型的瀑布式项目。小型的瀑布式项目。p每次迭代项目都会向前推进一步,产生一个可以每次迭代项目都会向前推进一步,产生一个可以发布的产品。发布的产品。 迭代模型与瀑布模型的差别迭代模型与瀑布模型的差别 迭代方法常见的问题迭代方法常见的问题 p过分详细的规划过分详细的规划 p项目不收敛项目不收敛 p轻率地开始设计和编码轻率地开始设计和编码 p自掘陷阱自掘陷阱 p忘记新风险忘记新风险 p不同的小组按自己的进度进行工作不同的小组按自己的进度进行工作 p第一次迭代做太多

30、的事情第一次迭代做太多的事情 p太多的迭代太多的迭代 p迭代重叠迭代重叠 (6 6)喷泉模型喷泉模型p喷泉模型:喷泉模型:主要用于主要用于面向对象技术面向对象技术的软件开发项的软件开发项目,它克服了瀑布模型不支持软件重用和多项开目,它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性,喷泉模型使开发过程具有发活动集成的局限性,喷泉模型使开发过程具有迭代性和无间隙性。迭代性和无间隙性。 喷泉模型以面向对象的软件开发方法为基础,喷泉模型以面向对象的软件开发方法为基础,以用户需求作为喷泉模型的源泉,属于面向对象以用户需求作为喷泉模型的源泉,属于面向对象的软件过程模型。的软件过程模型。 喷泉模型喷

31、泉模型要点:各阶段相互重叠,它反映了软件过程并行性的特点体现认识事物的往返过程强调增量开发,整个过程是一个迭代的逐步提炼的过程。开发活动之间的无间隙性和循环迭代性适用于面向对象的开发过程强调无明显的活动阶段划分 集成和测试集成和测试阶段阶段编码阶段编码阶段面向对象设面向对象设计阶段计阶段面向对象分面向对象分析阶段析阶段需求阶段需求阶段进一步开发进行状态维护期练习题练习题p假设要开发一个软件,该软件的功能是对特定项假设要开发一个软件,该软件的功能是对特定项目进行一项验证计算(假定计算方法十分确定、目进行一项验证计算(假定计算方法十分确定、成熟),一旦实现后将用于该项目的测试验证中,成熟),一旦实

32、现后将用于该项目的测试验证中,由于项目的特殊性,所以,该软件产品在完成使由于项目的特殊性,所以,该软件产品在完成使命后将被抛弃。命后将被抛弃。软件需求明确,算法确定、成熟,故无须原型来验证。软件需求明确,算法确定、成熟,故无须原型来验证。一旦验证完成之后将被抛弃,故无须使用提高软件可一旦验证完成之后将被抛弃,故无须使用提高软件可维护性的迭代模型和螺旋模型。维护性的迭代模型和螺旋模型。综上所述,为了开发此软件,使用瀑布模型即可。综上所述,为了开发此软件,使用瀑布模型即可。练习题(续)练习题(续)p假设项目组正在开发已经被广泛使用的字处理软假设项目组正在开发已经被广泛使用的字处理软件的新版本,由于

33、市场竞争激烈,公司规定了严件的新版本,由于市场竞争激烈,公司规定了严格的完成期限。格的完成期限。旧版本相当于一个原型,通过收集用户对旧版本的反映,旧版本相当于一个原型,通过收集用户对旧版本的反映,较容易确定新版本的需求,故无需用原型模型较容易确定新版本的需求,故无需用原型模型软件工程师对旧版很熟悉,有开发字处理软件的经验,软件工程师对旧版很熟悉,有开发字处理软件的经验,具有采用迭代式增量模型开发的技术水平。具有采用迭代式增量模型开发的技术水平。软件今后可能还要开发更新版本,因此该软件的体系结软件今后可能还要开发更新版本,因此该软件的体系结构应该是开放式的,已利于今后的改进和扩充。构应该是开放式

34、的,已利于今后的改进和扩充。综上所述,为了开发此软件,使用迭代综上所述,为了开发此软件,使用迭代式增量模型式增量模型即可。即可。第第4章章 需求工程需求工程 p需求工程的定义需求工程的定义p软件需求工程的内容软件需求工程的内容p软件需求工程过程软件需求工程过程p需求工程的涉众需求工程的涉众p需求工程方法需求工程方法需求工程的定义需求工程的定义p需求工程是指应用已证实有效的技术、方需求工程是指应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分法进行需求分析,确定客户需求,帮助分析人员理解问题并析人员理解问题并定义定义目标目标系统系统的所有的所有外外部特征部特征的一门学科。的一门学科。p

35、需求工程的组成需求工程的组成系统需求工程系统需求工程软件需求工程软件需求工程软件需求工程的定义软件需求工程的定义p分析并记录软件需求的学科分析并记录软件需求的学科分解系统需求分解系统需求子系统和任务子系统和任务分配分配将某些子系统和任务分配给软件将某些子系统和任务分配给软件转换转换将系统需求转换为软件的需求描述和将系统需求转换为软件的需求描述和一些性能参数。一些性能参数。软件需求工程的内容软件需求工程的内容 需求基线需求基线p团队成员已经承诺将在某一特定产品版本团队成员已经承诺将在某一特定产品版本中实现的功能和非功能需求的一组集合。中实现的功能和非功能需求的一组集合。一定要通过正式的评审和批准一定要通过正式的评审和批准项目的涉众必须要对此需求集合达成共识项目的涉众必须要对此需求集合达

温馨提示

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

评论

0/150

提交评论