单元1(4) 软件工程概述 - 软件工程模型(上)_第1页
已阅读1页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

软件工程概述软件工程软件工程的定义和基本原则软件危机和软件工程软件过程模型(上)软件过程模型(下)软件的概念、特点和分类软件过程模型(上)1.4软件过程模型(上)软件工程过程的定义:软件工程过程是为获得软件产品,在软件工具的支持下由软件工程师完成的一系列软件工程活动。软件过程是一个任务集合,包括一组软件工程任务、里程碑和应该交付的产品。软件过程主要是定义了运用方法的顺序,应该交付的文档资料,为保证软件质量和协调变化所需要采取的管理措施,以及标志软件开发各个阶段任务完成的里程碑。1.4软件过程模型(上)软件过程示意图:方法与规范工具和设备有技能、经过培训的开发人员软件过程1.4软件过程模型(上)软件过程模型也称为软件生存期模型或软件开发模型,是描述软件过程中各种活动如何执行的模型。定义了软件开发活动,给出了它们之间的逻辑关系,为软件工程管理提供里程碑和进度表;为软件开发提供框架和方法。软件过程模型的定义:1.4软件过程模型(上)由于吸取了开发早期的教训,人们开始将软件开发视为工程来管理。类似于其他的工程管理,软件开发也具有一定的工序。“软件生命周期”这一概念真正被提了出来。瀑布模型是最早的过程模型。1、瀑布模型1.4软件过程模型(上)1、瀑布模型可行性研究可行性论证论告需求分析需求说明书运行与维护维护报告测试测试报告编码程序详细设计详细设计文档概要设计

概要设计文档运行阶段计划阶段问题定义目标与范围说明书开发阶段产生的文档1.4软件过程模型(上)例:某个老师(T)想要考察一个同学(S)的学习情况和技术水平,于是交给该学生一个任务。1、瀑布模型T:我有一个朋友想要一个图象浏览软件,能够查看多种格式的图像,包括BMP、TIFF、JPG、PNG,并且能够支持一般的放大、缩小。你能做这样一个软件吗?S:就是类似ACDSEE这样的软件吗?T:差不多,不过不需要那么强大的功能,我这个朋友计算机是外行,最好能做的比较方便,傻瓜型的,但是自动翻页这种功能还是要的。S:我以前学过BMP和JPG的图像格式解析,我想没有问题。T:好的,给你30天时间,下周你再来一趟,跟我讲一下你的工作进度。1.4软件过程模型(上)1、瀑布模型这位同学非常明白老师的意图,回去后想了一下,并列出了一个清单:

一、功能:1.读取、显示、另存四种格式图片(BMP、TIFF、JPG、PNG)2.放大、缩小3.列出当前目录下所有四种格式图片文件名4.PAGEUP(PAGEDOWN)自动调出当前目录上一张(下一张)图片二、其它说明:1.界面尽量简洁,容易操作2.不要图片预览和打印三、开发工具:VC++

四、开发环境:普通PC机;Windows7

五、工作计划:1.研究一下四种图片的格式2.设计一个解析器类,解析这四种格式3.设计一个文档类,实现读取、另存和目录浏览功能4.设计一个视图类,实现显示、缩放功能1.4软件过程模型(上)1、瀑布模型1.4软件过程模型(上)特点:(1)从上一项开发活动接受该项活动的工作对象,作为输入。(2)利用这一输入,实施该项活动应完成的工作内容。(3)给出该项活动的工作成果,作为输出传给下一项活动。(4)对该项目活动实施的工作成果进行评审。若工作得到确认,则继续进行下一次开发活动,否则返回前一项,甚至更前项的活动。1、瀑布模型1.4软件过程模型(上)1、瀑布模型优点:(1)消除非结构化软件。(2)降低软件的复杂度。(3)促进软件开发工程化。缺点:(1)阶段与阶段划分完全固定,阶段间产生的大量文档,极大地增加了工作量。(2)由于开发模型呈线性,所以当开发成果尚未经过测试时,用户无法看到软件的效果。这样,软件与用户见面的时间较长,也增加了一定的风险。(3)前面未发现的错误传到后面的开发活动中,可能会扩散,进而可能会造成更不理想的效果。1.4软件过程模型(上)增量模型是一种非整体开发的模型。软件在该模型中是“逐渐”开发出来的。该模型有较大的灵活性,适合于软件需求不明确、设计方案有一定风险的软件项目。2、增量模型定义概要需求把需求分配给需要设计系统结构开发系统增量验证增量组装增量验证系统系统不完全最终系统1.4软件过程模型(上)增量模型是把待开发的软件系统模块化,将每个模块作为一个增量组件,从而分批次地分析、设计、编码和测试这些增量组件。运用增量模型的软件开发过程是递增式的过程。相对于瀑布模型而言,采用增量模型进行开发,开发人员不需要一次性地把整个软件产品提交给用户,而是可以分批次进行提交。2、增量模型1.4软件过程模型(上)2、增量模型问:增量模型和瀑布模型之间的本质区别是什么?答:增量模型包含了瀑布模型的基本活动,但是瀑布模型属于整体开发模型,它规定在开始下一个阶段的工作之前必须完成前一阶段的所有细节;而增量模型属于非整体开发模型,即它推迟某些阶段或所有阶段中的细节,然后不断将细节补充进去,每次增量过程都会发布一个可运行的产品,直到产生工作软件。1.4软件过程模型(上)2、增量模型优点:(1)客户不必等到整个系统全部完成就能得到他们所需要的东西。第一个增量构件满足他们最关键的需求,软件可以直接使用。(2)客户可以使用较早的增量构件作为原型,用于取得经验,从而获得稍后的增量构件的需求。(3)项目失败的风险较低。虽然在某些增量构件中可能遇到一些问题,但其他增量构件将能够成功地交付给客户。(4)优先级最高的服务首先交付,然后再将其他增量构件逐次集成进来。一个必然的事实是:最重要的系统服务将接受最多的测试。这意味着系统最重要的部分一般不会遭遇失败。1.4软件过程模型(上)2、增量模型缺点:要求待开发的软件系统可以被模块化。如果待开发的软件系统很难被模块化

温馨提示

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

评论

0/150

提交评论