软件工程-齐志昌版 (18)

软件工程-齐志昌版 (18)

ID:5460553

大小:148.50 KB

页数:36页

时间:2017-11-16

软件工程-齐志昌版 (18)_第1页
软件工程-齐志昌版 (18)_第2页
软件工程-齐志昌版 (18)_第3页
软件工程-齐志昌版 (18)_第4页
软件工程-齐志昌版 (18)_第5页
资源描述:

《软件工程-齐志昌版 (18)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、软件工程SoftwareEngineering国防科技大学计算机学院2004.07齐治昌教授,谭庆平教授,宁洪教授,董威博士2021/6/111国防科技大学计算机学院第十八章快速原型技术为了较好地完成软件开发任务,瀑布模型要求在软件产品生成之前对用户需求进行尽可能精确的、完全的刻画。遗憾的是,迄今为止,几乎所有针对复杂应用问题的软件开发实践都证明,这种要求很难完全实现。事实上,由于瀑布模型缺乏有效的需求获取和确认机制,更没有灵活的应变机制,从而直接或间接地导致了软件危机的种种表现形式,例如,软件质

2、量无保证,成本居高不下,维护困难,等等。有鉴于此,本章首先分析瀑布模型的主要缺陷,然后阐述克服这些缺陷的方法:快速原型技术和进化式软件开发。2021/6/112国防科技大学计算机学院18.1瀑布模型的缺陷针对瀑布模型的批评大致可归纳为以下六方面:1.完全地、精确地刻画复杂应用问题的用户需求是不可能的。2.需求分析和软件实现是不可分割的。3.用户和开发人员都难于理解形式的、不可执行的需求规格说明。4.传统的开发策略没有为用户参与关键的开发决策提供便利。5.目标软件的适应能力不强。6.瀑布模型并不适

3、合于软件项目管理。第十八章快速原型技术2021/6/113国防科技大学计算机学院18.2快速原型方法18.2.1原型及其作用简单地说,原型是目标软件系统的一个可操作模型,它实现了目标软件系统的某些重要方面。在软件开发过程中,原型为管理人员、开发人员和用户交流信息、讨论问题以及技术决策提供了可操作的模型。每一原型可作为后续原型和目标软件系统的基础或蓝本。为方便用户参与软件开发过程,原型在用户界面上应该与目标系统尽可能保持一致。第十八章快速原型技术2021/6/114国防科技大学计算机学院原型及其作用

4、为了精确地理解问题域、确定用户需求并发掘潜在的用户需求,开发人员可以生成探索性原型。这类原型是问题域中某些子系统或用户需求的某些子部分的可操作模型,它不涉及软件的实现方法。其主要作用是澄清应用领域和用户需求的某些疑难问题,并方便用户对开发人员的需求分析工作进行评价、纠错和确认。为简化问题以便快速生成原型,在分析复杂软件项目的用户需求时,应该考虑针对不同的疑点生成多个原型,不要试图用一个复杂的原型来解决所有的需求分析问题。18.2快速原型方法2021/6/115国防科技大学计算机学院原型及其作用对于

5、重要的用户目标和关键算法,开发人员可以生成实验性原型以验证问题求解方案的可行性,比较各种方案的优劣,并征询用户对这些方案的功能和性能的意见。如果原型不仅用来理解问题、试验求解方案,而且用作目标软件系统的基础,在后续开发过程中逐步进化为最终的软件产品,这类原型称为进化性原型。以上按照原型在软件开发过程中的不同作用划分为探索性、实验性和进化性三类原型。18.2快速原型方法2021/6/116国防科技大学计算机学院原型及其作用软件可以由外至内划分为多个层面,最外层是用户界面,最内层通常由系统的核心算法构

6、成。水平原型是指仅仅模拟目标软件系统某一层面(通常是用户界面层)的原型。例如,针对用户界面的水平原型仅仅向用户演示窗口、菜单、对话框等界面元素。垂直原型是指模拟目标软件系统某一部分的多个层面的原型。当目标系统的内部功能和用户界面都需要借助原型来确定时,这类原型特别有用。一般的进化性原型都属于垂直原型。18.2快速原型方法2021/6/117国防科技大学计算机学院18.2.2快速原型的构造过程快速原型方法的关键在于如何快速地实现可运行的原型,以便尽快提交用户确认,然后再进行改进。快速原型的构造过程

7、可以归纳为分析与规划、实现、检查、改进四个步骤。18.2快速原型方法2021/6/118国防科技大学计算机学院1.分析与规划当初次建立原型时,必须对用户需求进行分析;当针对已有原型构造新的更为丰富和完善的原型时,必须将用户对已有原型的评价意见、改进建议以及对新原型的需求进行分析。在用户对本次原型创建或进化的需求基本明确以后,开发人员要着手设计原型的总体结构,进行任务划分、进度安排。初步规划新原型的进一步进化。18.2快速原型方法2021/6/119国防科技大学计算机学院2.实现快速原型的实现过程特

8、别强调CASE工具的使用,以便尽快实现原型。在原型实现过程中,对代码效率不宜有苛刻要求,除非当前原型将作为最终软件产品。软件设计方案和源程序的可读性与可扩充性应该成为原型实现阶段的首选目标。18.2快速原型方法2021/6/1110国防科技大学计算机学院3.检查这一阶段的主要任务是检查原型是否实现了分析和规划阶段提出的目标,邀请用户实际操作该原型,要求用户进行评估,提出改进意见和进一步的需求。18.2快速原型方法2021/6/1111国防科技大学计算机学院4.改进快速原型方法不仅

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。