西安微网站,网站备案密码格式,网页设计与制作期末考试试题及答案,学校网站风格一、演化模型 软件类似于其他复杂的系统#xff0c;会随着时间的推移而演化。在开发过程中#xff0c;常常会面临以下情形#xff1a;商业和产品需求经常发生变化#xff0c;直接导致最终产品难以实现#xff1b;严格的交付时间使得开发团队不可能圆满地完成软件产品…一、演化模型 软件类似于其他复杂的系统会随着时间的推移而演化。在开发过程中常常会面临以下情形商业和产品需求经常发生变化直接导致最终产品难以实现严格的交付时间使得开发团队不可能圆满地完成软件产品但是必须交付功能有限的版本以应对竞争或商业压力很好地理解了核心产品和系统需求但是产品或系统扩展的细节问题却没有定义。在上述情况和类似情况下软件开发人员需要一种专门应对不断演变的软件产品的过程模型。 演化模型是迭代的过程模型使得软件开发人员能够逐步开发出更完整的软件版本。演化模型特别适用于对软件需求缺乏准确认识的情况。典型的演化模型有原型模型和螺旋模型等。 1-1、原型模型
1、定义 并非所有的需求都能够预先定义大量的实践表明在开发初期很难得到一个完整的、准确的需求规格说明。这主要是由于客户往往不能准确地表达对未来系统的全面要求开发者对要解决的应用问题模糊不清以至于形成的需求规格说明常常是不完整的、不准确的有时甚至是有歧义的。 此外在整个开发过程中用户可能会产生新的要求导致需求的变更。 而瀑布模型难以适应这种需求的不确定性和变化于是出现了快速原型(Rapid Prototype)这种新的开发方法。 原型方法比较适合于用户需求不清、需求经常变化的情况。当系统规模不是很大也不太复杂时采用该方法比较好。 原型是预期系统的一个可执行版本反映了系统性质的一个选定的子集。一个原型不必满足目标软件的所有约束其目的是能快速、低成本地构建原型。当然能够采用原型方法是因为开发工具的快速发展使得能够迅速地开发出一个让用户看得见、摸得着的系统框架。这样对于计算机不是很悉的用户就可以根据这个框架提出自己的需求。开发原型系统首先确定用户需求开发初始原型然后求用户对初始原型的改进意见并根据意见修改原型。原型模型如图所示。 原型模型开始于沟通其目的是定义软件的总体目标标识需求然后快速制订原型开发的计划确定原型的目标和范围采用快速射击的方式对其进行建模并构建原型。被开发的原型应交付给客户使用并收集客户的反馈意见这些反馈意见可在下一轮中对原型进行改进。在前一个原型需要改进或者需要扩展其范围的时候进入下一轮原型的迭代开发。 2、真题
真题1 瀑布模型需求明确 真题2 真题3 螺旋模型大规模的项目风险分析。 1-2、螺旋模型
1、定义
对于复杂的大型软件开发一个原型往往达不到要求。螺旋模型将瀑布模型和演化模型结合起来加入了两种模型均忽略的风险分析弥补了这两种模型的不足。
螺旋模型将开发过程分为几个螺旋周期每个螺旋周期大致和瀑布模型相符合如图所示。 每个螺旋周期分为如下 4 个工作步骤
(1) 制订计划。确定软件的目标选定实施方案明确项目开发的限制条件。
(2) 风险分析。分析所选的方案识别风险消除风险。
(3) 实施工程。实施软件开发验证阶段性产品。
(4) 用户评估。评价开发工作提出修正建议建立下一个周期的开发计划。 螺旋模型强调风险分析使得开发人员和用户对每个演化层出现的风险有所了解从而做出应有的反应。因此该模型特别适用于庞大、复杂并且具有高风险的系统。 与瀑布模型相比螺旋模型支持用户需求的动态变化为用户参与软件开发的所有关键决策提供了方便有助于提高软件的适应能力并且为项目管理人员及时调整管理决策提供了便利从而降低了软件开发的风险。在使用螺旋模型进行软件开发时需要开发人员具有相当丰富的风险评估经验和专门知识。 另外过多的迭代次数会增加开发成本延迟提本时间。 2、真题
真题1 瀑布需求明确变更少 原型用户需求不是很明确变更多 增量短时间内快速的开发一个可以直接运行的产品。 螺旋模型风险分析。 真题2 真题3 1-3、喷泉模型
1、定义 喷泉模型是一种以用户需求为动力以对象作为驱动的模型适合于面向对象的开发方法。 它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。 支持软件重用、多项开发活动集成 喷泉模型使开发过程具有迭代性和无间隙性如图所示。 选代意味着模型中的开发活动常常需要重复多次在迭代过程中不断地完善软件系统。 无间隙是指在开发活动(如分析、设计、编码) 之间不存在明显的边界也就是说它不像瀑布模型那样在需求分析活动结束后才开始设计活动在设计活动结束后才开始编码活动而是允许各开发活动交叉、迭代地进行。 喷泉模型的各个阶段没有明显的界线开发人员可以同步进行。其优点是可以提高软件项目的开发效率节省开发时间。由于喷泉模型在各个开发阶段是重叠的在开发过程中需要大量的开发人员不利于项目的管理。此外这种模型要求严格管理文档使得审核的难度加大。 2、真题
真题1 真题2 真题3 1-4、统一过程模型
1、定义 统一过程模型是一种“用例和风险驱动以架构为中心迭代并且增量”的开发过程由UML 方法和工具支持。 迭代的意思是将整个软件开发项目划分为许多个小的“袖珍项目”每个“袖珍项目”都包含正常软件项目的所有元素计划、分析和设计、构造、集成和测试以及内部和外部发布。
统一过程定义了 4 个技术阶段及其制品
1起始阶段 起始阶段专注于项目的初创活动。
2精化阶段 精华阶段在理解了最初的领域范围之后进行需求分析和架构演进。
3构建阶段 构建阶段关注系统的构建产生实现模型。
4移交阶段 移交阶段关注于软件提交方面的工作产生软件增量。 在每个迭代中有 5 个核心工作流捕获系统应该做什么的需求工作流精化和结构化需求的分析工作流在系统构架内实现需求的设计工作流构造软件的实现工作流验证实现是否如期望那样工作的测试工作流。 随着 UP 的阶段进展每个核心工作流的工作量发生了变化。4 个技术阶段由主要里程碑所终止。
初始阶段生命周期目标精化阶段生命周期架构构建阶段初始运作功能移交阶段产品发布。 统一过程的典型代表是 RUP。RUP 是 UP 的商业扩展完全兼容 UP但比 UP 更完整、更详细。 2、真题
真题1 真题2 真题3 真题4 真题5