好文档 - 专业文书写作范文服务资料分享网站

软件工程讲义.doc

天下 分享 时间: 加入收藏 我要投稿 点赞

序代码。

④ 软件测试(Testing ) : 按规定的各项需求,逐项进行有效性测试,决定已开发的软件是否合格,能否交付用户使用,包括单元测试和组装测试。 二者统称系统实现

3、运行维护(软件维护)时期( Running/Maintenance )

使软件持久的满足用户的需要。包括:

?改正性维护:运行中发现了软件中的错误需要修正。

?适应性维护:为了适应变化了的软件工作环境,需做适当变更。

?完善性维护:当用户有新的要求时,应该及时改进软件以满足用户的要求。 ?预防性维护: 即修改软件为将来的维护活动预先做准备。

几个关干软件生命周期阶段的问题

问题一:开发一个软件大概需要多少资金、时间,将获得什么效益一般是在哪个阶段确定?相对而言,在哪个阶段与用户交流最多?

问题二:系统分析员主要工作在哪个时期?程序员主要工作在哪个时期? 问题三:软件定义时期的三个阶段,各自回答什么关键问题? 问题四:软件开发时期有几个阶段?各自回答什么关键问题? 问题五:软件体系结构最早是在哪个阶段决定的?

问题六:详细设计与程序编写阶段有什么样的密切联系? 问题七:“软件测试是为了验证系统的正确性”这句话对吗? 问题八:软件维护有那几种?各有什么功能?

§1.4 软件过程( Software Process )

1 、什么是软件过程

为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。 ISO 9000的定义:

? 使用资源将输入转化为输出的活动所构成的系统 。 “系统”是相互关联或相互作用的一组要素。

过程是软件工程三要素之一。

通常用软件生命周期模型 来描述。

2 、什么是软件生命周期模型

又称:软件开发模型/软件过程模型/软件工程范型。 指软件项目从需求定义直至软件经使用后废弃为止,跨越整个生存周期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架。

常见的有:瀑布模型、演化模型、螺旋模型、喷泉模型、智能模型

§ 1.4.1瀑布模型(waterfall model)

1970年,由W.Royce提出 一、瀑布模型的过程 1 、传统的瀑布模型

? 从上一阶段接受本阶段的工作对象,作为输入; ? 利用输入,完成本阶段活动的内容.

? 本阶段的工作成果作为输出传入下一阶段。

2 瀑布模型 — 实际的瀑布模型

增加了一个评审活动,评审每个阶段完成的活动,若得到确认,则进行下一阶段的活动;否则返回前一阶段,甚至更前阶段返工;

二、瀑布模型特点

? 阶段间具有顺序性和依赖性 ? 推迟实现的观点 ? 质量保证的观点

三、瀑布模型优缺点

优点:

? 可强迫开发人员采用规范的方法;

? 严格地规定了每个阶段必须提交的文档;

? 要求每个阶段的所有产品都必须经过质量保证小组的仔细验证; 缺点:

无法解决软件需求不明确或不准确的问题;可能导致最终开发的产品不能真正满足用户需要。

瀑布模型比较适合开发需求明确的软件。

§ 1 . 4 . 2 快速原型模型

1 、什么是“原型” ?

原型是快速实现和运行的早期版本,反映最终系统部分重要特性。 常见的原型实例:人机界面;系统主要功能。 优点:

1 、通常能反映用户真实需求;

2 、软件产品的开发基本上是线性顺序进行的。

2 、快速原型的过程

?如下图。

?获得用户的基本需求说明,据此快速建立一个小型软件系统. ?用户试用,对其评价;

?开发人员按照用户的意见快速地修改原型系统,获得新的原型版本,再请用户试用,如此反复,直到满足用户的要求;

?用户确认原型系统之后,开发人员据此书写规格说明文档,进行下一步开发。

1.4.3 增量(渐增)模型

把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够完成特定的功能。 使用增量模型时,第一个阶段的增量构件往往实现软件的基本需求,提供最核心

的功能;后面的增量构架逐渐添加系统的功能。

增量模型注意事项

?增量构件规模适中;

?分解的约束条件是当把新构件集成到现有软件中时,所形成的产品必须是可测试的;

?软件体系必须是开放的,即在对现有系统添加新增量构件时,不能破坏系统原有功能。

增量模型优缺点

优点:

? 能在较短的时间内,提供可完成部分工作的初步产品给用户; ?用户有较为充裕的时间学习和适应新产品。 缺点:

对开发人员技术能力要求较高,要求能从系统整体出发正确划分增量构件,并进行分别开发,最后能很好地集成这些构件。风险更大的增量模型 有可能提高开发速度,但需要密切地监控整个开发过程,否则将冒构件无法集成到一起的风险。

§1.4 .4 螺旋模型(spiral model )

大型软件开发面临的重要问题:软件风险

? 如:产品交付给用户之后,用户不满意; ? 开发进度落后,开发成本超出预算; ? 产品完成前关键的开发人员跳槽;

? 在产品投人市场前,竞争对手发布了一个功能相近,价格更低的软件………

构建原型能使某些类型的风险降到最低.

一、简单的螺旋模型

螺旋模型改进了原型模型,在每个阶段都加入风险分析。

二、完整的螺旋模型

软件工程讲义.doc

序代码。④软件测试(Testing):按规定的各项需求,逐项进行有效性测试,决定已开发的软件是否合格,能否交付用户使用,包括单元测试和组装测试。二者统称系统实现3、运行维护(软件维护)时期(Running/Maintenance)使软件持久的满足用户的需要。包括:?改正性维护:运行中发现了软件中的错误需要修正。
推荐度:
点击下载文档文档为doc格式
1slgs19wve86wqu5roq73pebe0io3700lnz
领取福利

微信扫码领取福利

微信扫码分享