您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 市政工程 > 软件工程第1章绪论(15-17)
武汉纺织大学数学与计算机学院第1章绪论(第1.5-1.7节)武汉纺织大学数学与计算机学院主要内容软件生存期过程和模型软件工程并行工程武汉纺织大学数学与计算机学院1.5软件生存期过程软件生存期过程规定了获取、供应、开发、操作和维护软件时,要实施的过程、活动和任务。其目的是为各种人员提供一个公共的框架,以便可以使用“相同的语言”在自己的环境中创作和管理软件。软件生存期过程没有规定一个特定的生存周期模型,各软件开发机构可视其项目的需要选择一种软件生存周期模型,并将软件生存期过程所含过程、活动和任务映射到选定的软件生存周期模型中。武汉纺织大学数学与计算机学院GB/T8566-1995支持过程文档开发过程配置管理过程培训过程质量保证过程等等获取过程管理过程开发过程操作过程维护过程供应过程实行管理.供方.需方.管理者.开发者.操作者.维护者.介入支持过程的人员实行实行管理管理工程观点管理观点合同观点支持合同武汉纺织大学数学与计算机学院1.6常用软件生存期模型软件生存期模型描述了软件项目从需求定义开始,到开发成功后投入使用,在使用的过程中不断增补修订,直到最后停止使用这一期间所进行的各种活动如何执行的模型。软件开发机构应该综合项目和应用的性质、将要使用的方法和工具等,选择其中合适的模型,并将软件生存期过程映射到选定的模型中进行软件开发和维护。武汉纺织大学数学与计算机学院1.6.1瀑布模型可行性研究项目实施计划需求分析概要设计详细设计编码测试维护可行性研究报告软件项目计划需求规格说明概要设计说明程序规格说明原程序代码测试报告维护报告计划时期开发时期时期运行(时期)(阶段)(文档)瀑布模型最初由W.Royce于1970年提出。武汉纺织大学数学与计算机学院瀑布模型的特点各阶段顺序相互依赖;每阶段进行评审;强调需求分析和设计。瀑布模型为软件开发和维护提供了一种有效的管理方式。瀑布模型比较适合于功能和性能需求明确的软件项目的开发和维护,如编译系统等。武汉纺织大学数学与计算机学院瀑布模型的不足实际软件开发中,各阶段之间并非完全的自上而下线性顺序展开;在开发过程中,用户看不见系统,而只有在交付使用时系统才能和用户见面;不够灵活(针对需求模糊或变化的情况)。武汉纺织大学数学与计算机学院1.6.2快速原型化模型快速分析快速构造原型运行原型评价原型不满意快速修改原型形成最终系统满意武汉纺织大学数学与计算机学院快速原型化模型的特点“快速”开发;用户反馈;逐步完善(原型)。原型模型比较适合于需求模糊或不确定的软件项目的开发和维护。相对瀑布模型而言,原型模型更符合人们开发软件的习惯。武汉纺织大学数学与计算机学院快速原型化模型的不足不宜利用原型系统作为最终产品(原型成本问题);原型模型的“快速”特点对最终系统不适用(原型作用问题-----定义需求)。采用原型模型开发系统,用户和开发者必须达成一致:原型被建造仅仅是用来定义需求,之后便部分或全部抛弃,最终的软件要在充分考虑了质量和可维护性等方面之后才被开发。武汉纺织大学数学与计算机学院1.6.3RAD模型RAD小组1业务建模数据建模处理建模应用生成测试RAD小组2业务建模数据建模处理建模应用生成测试RAD小组n业务建模数据建模处理建模应用生成测试……2~3个月Microsoft倡导的开发模型武汉纺织大学数学与计算机学院RAD模型的特点顺序开发(如同瀑布模型);业务建模:弄清业务活动中的信息流;数据建模:精化业务建模结果;处理建模:依据数据建模结果,创建处理描述;应用生成:组件复用与开发;测试:新的组件及所有接口。强调极短的开发周期(2-3月)。RAD模型主要用于信息系统应用软件的开发使用基于组件的建造方法获得快速开发武汉纺织大学数学与计算机学院RAD模型的不足技术风险很高的情况不适合采用;(如新软件要求与已存在的程序有高可互操性时,或系统难以被适当地划分为若干功能等情况)需要足够的人力以创建足够的RAD小组;开发者和用户需要在很短的时间内完成系统开发。武汉纺织大学数学与计算机学院1.6.4渐增模型前述生存期模型,均是一次性地将整个系统交给用户:瀑布模型是假设当线性阶段完成之后就能交付一个完善的系统。原型模型主要用来帮助开发者获取用户需求,待需求稳定后再开发最终系统提供给用户。RAD模型则先将系统主要功能分给若干RAD小组开发,然后集成起来形成最终系统提交给用户。业务和产品需求的变化,市场竞争和商业压力等等以逐步增加软件产品的方式构造软件---渐增模型武汉纺织大学数学与计算机学院渐增模型示意图分析设计编码测试使用第1个增量分析设计编码测试使用第2个增量分析设计编码测试使用第n个增量设计组编码组测试组分析组武汉纺织大学数学与计算机学院渐增模型的特点可以根据需要补充人员;能够有计划地管理技术风险;能够减少全新软件产品对用户带来的影响;不需要大的资金支出;用户能及早使用及早发现问题;投资回报随功能渐增而渐增。武汉纺织大学数学与计算机学院渐增模型的不足如果产品整体结构设计不当,则难以为其增加新的增量;(对设计水平要求较高)由于采用增量开发,故难于进行彻底的测试。武汉纺织大学数学与计算机学院1.6.5螺旋模型风险分析原型1风险分析风险分析风险分析操作概念需求计划生命周期计划开发计划集成和测试计划需求确认设计确认和验证实现原型2原型3操作原型模拟,模型,基准软件需求软件产品设计详细设计单元测试编码集成测试验收测试确定目标、方案和限制评估方案识别和消除风险开发、验证下一级产品计划下一阶段评审部分承诺累积成本一步步推进武汉纺织大学数学与计算机学院螺旋模型的特点既保持了传统生命周期模型中系统的阶段性方法,又将迭代演化的思想吸收到模型中;螺旋模型是风险驱动的。(风险分析使得用户和开发者能够更好地理解和对待每一个阶段的风险)螺旋模型适合于大型软件的开发武汉纺织大学数学与计算机学院螺旋模型的不足要求软件开发人员善长风险分析;风险分析会导致项目终止而终止合同,出现违约诉讼;对于小项目,风险分析的成本可能与整个项目的成本相当。武汉纺织大学数学与计算机学院其它模型构件组装模型;(基于构件组装)簇模型;(强调并行开发)喷泉模型;(适合面向对象软件开发)智能模型;(将瀑布模型与专家系统结合)......武汉纺织大学数学与计算机学院1.7软件工程的并行工程传统的产品开发过程是一个顺序的、静态的和相互分离的流程,即串行工程。1986年,美国防御分析研究所在R-338报告中提出了并行工程概念,认为并行工程是集成地、并行地设计产品及其相关的各种过程的系统化方法。Humphrey和Kellner在1989年指出软件开发中任何一个阶段的活动都存在并行性。武汉纺织大学数学与计算机学院1.7.1簇的基本概念簇是相关的类的组合,或者是相关的簇的组合。簇有两种情况:纯粹由若干个相关的类组合而成,这样的簇称为基本簇;由若干个其它的相关的簇组合而成,称为超簇。每一个簇应该只由一个人来管理,并且一个人应该能够理解簇中包括的所有的类。武汉纺织大学数学与计算机学院1.7.2并行工程的提出传统的生命周期模型的一个缺点是:如果在哪一环节上碰到了暂时无法克服的困难,只能等待,从而会影响整体进度。且这种直线式的方法几乎不能反映现在的软件开发的实际。面向对象开发方法可以支持并行工程的实施方案。通过将系统(或子系统)分成若干个簇,可以在串行化的活动和并行工程之间获得很好的平衡。这里的串行化的活动,是针对于一个簇的开发过程。武汉纺织大学数学与计算机学院1.7.3簇开发的基本步骤和任务规格说明——用于标识簇中的类以及它们的主要特征和约束。设计——用于定义各个类的体系结构和类之间的关系。实现——用于完善类的定义,向类中加入所有的细节。校验和验证——通过静态检查、测试和其它技术检查簇中的类是否正确地完成了相应的功能。泛化——泛化这一步骤在传统的方法中是没有的。它的目标是要把类变成潜在的可复用的软件组件。实现设计规格说明时间校验和验证泛化武汉纺织大学数学与计算机学院1.7.4簇模型与并行工程泛化可行性分析把系统分解成簇簇1簇2簇n时间实现设计规格说明校验和验证泛化实现设计规格说明校验和验证泛化实现设计规格说明校验和验证泛化武汉纺织大学数学与计算机学院1.7.5无缝开发和可逆性的基本概念通过“簇”的并行开发,克服了直线式开发模型的缺点,使得软件开发具有“无缝性”和“可逆性”等特点。无缝开发是指在分析、设计、实现和维护中可以采用同样的模型或框架,后一阶段总是对前一阶段的补充,各阶段可以使用相同的表示法。可逆性是指软件开发过程的晚些阶段的修订和改正能够对早些阶段产生影响。
本文标题:软件工程第1章绪论(15-17)
链接地址:https://www.777doc.com/doc-1991066 .html