第二章教案

时间:2023-04-28 01:54:34 教案 我要投稿

第二章教案

课程教案

章节名称第2章软件生存周期及开发模型

第二章教案

课程类型理论课□讨论课√习题课□实验课□上机课□技能课□其他□

授课时间教学进度

学生考勤应到:实到:请假:旷课:

教学方法讲授法、演示法、启发法

目的要求:

1.生存周期的概念;

2.开发模型的概念'

3.生存周期模型裁剪指南

重点难点:

掌握软件生存周期与开发模型有关系,迭代模型的具体迭代过程。

课后作业:

作业批改记录:

教学后记:

教学过程:

【复习】

第一章部分习题提问及讲解。

【新课导入】

简介:任何有生命的动物、植物和人,都有一个生存周期(Life Cycle),例如人的生存周期为胎儿、婴儿、幼儿、儿童、少年、青年、中年、老年、死亡。没有生命的事物或实体,例如PC机、路由器、家具、房子、汽车,它们也有一个生存周期,这个生存周期就是使用寿命,即生产周期加上使用周期。

软件的生存周期与选择的开发模型有关,不同的开发模型,对应不同的生存周期。本章介绍IT企业中常用的4种软件开发模型:瀑布模型、增量模型、迭代模型和原型模型,以及开发模型的选取方法。

【本节课主要内容】

第2章软件生存周期及开发模型

2.1软件生存周期概论

n计划时期

u问题定义--系统解决什么问题、目标、范围

u可行性分析--了解用户要求及观察环境、收集资料、数据流程、技术、经济、操作可行性、组织、人力、物力、效益

n开发时期

u需求分析--弄清用户的全部需求,用"需求规格说明书"准确地表达出来;建立系统目标逻辑模型--即"做什么";

u软件设计--分为总体设计与详细设计,产生软件结构、数据结构、用户界面和算法;建立系统物理模型--即"怎么做";

u编码--实现用户界面,将详细设计"翻译"成员程序代码;

u测试--单元、组装(综合)、确认、系统;白盒、黑盒。

n运行时期

n软件维护--正确性、适应性、完善性

n软件生存周期(SDLC,软件生命周期)是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。

n不同的开发模型、可能对应着不同的生存周期。

n生存周期不同,该软件的开发阶段划分、评审次数、基线标准都有所不同。

2.2瀑布模型

n定义:瀑布模型(Waterfall Model)又称流水式过程模型,它将软件开发过程模仿旅游景点的阶梯瀑布,由上向下一个阶梯一个阶梯地倾泻下来,最后进入一个风平浪尽的大湖,这个大湖就是软件企业的产品库。

1、本意:

根据软件生存周期由立项、需求、策划、设计、编程、测试、发布、维护、退役等阶段组成,把每个阶段当作瀑布中的一个台阶,把软件生存过程比喻成瀑布中的流水。开发人员按照阶段开发,管理人员按照阶段管理。

2、特点:

(1)里程碑或基线驱动,或者说文档驱动;

(2)过程逆转性很差,或者说不可逆转。

n瀑布模型要求软件开发严格按照需求-分析-设计-编码-测试的阶段进行,每一个阶段都可以定义明确的产出物和验证准则。瀑布模型在每一个阶段完成后都可以组织相关的评审和验证,只有在评审通过后才能够进入到下一个阶段。

n由于需要对每一个阶段进行验证,瀑布模型要求每一个阶段都有明确的文档产出,对于严格的瀑布模型每一个阶段都不应该重叠,而应该是在评审通过,相关的产出物都已经基线后才能够进入到下一个阶段。

3、选择模型的条件

不是任何软件都可以采用瀑布模型的,选择瀑布模型,必须满足下列条件:

(1)在开发时间内需求没有或很少变化。

(2)分析设计人员对应用领域很熟悉。

(3)低风险项目(对目标、环境很熟悉)。

(4)用户使用环境很稳定。

(5)用户除提出需求以外,很少参与开发。

4、模型的优点

n开发阶段清晰,便于评审、审计、跟踪、管理和控制。

5、模型的缺点

n可维护性差,表现在:由于逆转性很差,所以返工会造成重大损失;由于文档驱动,错误的传递,会采取发散扩大的方式。

2.3增量模型

n定义:增量模型规定软件的开发过程是一次开发产品的一个部分。首先应该开发产品的基本部分,然后再逐步开发产品的附加部分。

1、本意:

n要开发一个大的软件系统,先开发其中的一个核心模块,后再开发其他模块,这样一个个模块地增加上去,直至整个系统开发完毕为止。

2、特点

(1)任务或功能模块驱动,可以分阶段提交产品;

(2)有多个任务单,这些多个任务单的集合,构成项目的一个总任务书(总用户需求报告)。

3、选择模型的条件:

(1)在开发过程中,客户接受分阶段交付。

(2)开发人员对应用领域不熟悉,难以一步到位。

(3)工期过紧的中等或高风险项目。

(4)用户可参与到整个软件开发过程中。

(5)使用面向对象语言或第四代语言。

(6)软件公司自己有较好的类库、构件库。

4、增量模型的优点

n将一个大系统分解为多个小系统,等于将一个大风险分解多个小风险,从而降低了开发难度。

5、模型的缺点:

n若软件系统的组装和拆卸性不强,或开发人员全局把握水平不高(没有数据库设计专家进行系统集成),或者客户不同意分阶段提交产品,或者开发人员过剩都不宜采用这种模型。

2.4*迭代模型

【本节内容学生自学完成】

2.5原型模型

n定义:以某个软件原型为参照模型的开发方法,叫做原型法。

1、本意

n在初步需求分析之后,马上向客户展示一个软件产品原型,对客户进行培训,让客户试用,在试用中收集客户意见,修改原型,再让客户试用,反复循环几次,直到客户确认为止。

2、特点

n原型驱动。因此,开发者必须先有一个原型,至少要有一个原型的核心。与迭代模型比较:

n相同点是反复循环几次,直到客户确认为止。不同点是原型模型事先有一个展示性的产品原型,而迭代模型可能没有。

3、选择模型的条件:

(1)已有产品/产品原型,只需客户化的项目。

(2)简单而熟悉的行业或领域。

(3)有快速原型开发工具。

(4)进行产品移植或升级。

由于上述条件不太苛刻,所以凡是有软件产品的IT企业,在他们熟悉的业务领域内,当客户招标时,他们都会以原型模型作为软件开发模型,去制作投标书,去讲标投标。一旦中标,就对软件产品进行客户化工作,或对软件产品进行二次开发。

4、模型的优点

开发速度快,用户意见反馈实时,有利于开发商再短时间内推广并实施多个客户。

5、模型的缺点:

因为事先有一个展示性的产品原型,所以在一定程度上,不利于开发人员的创新。

6、快速原型法

n基本思路:采用以面向数据为主的方法,在需求分析的基础上,利用Power Designer等数据库分析和设计工具,快速建立信息系统的CDM和PDM,利用面向对象的编程工具,在软件企业强大的类库、构件库的支撑下,快速地实现需求分析中确认的流程、功能、性能和接口,然后交付给用户试用,反复循环几次,直到客户确认满意为止。

n快速原型模型的基本思想是:软件开发人员根据用户提出的软件基本需求快速开发一个原型,以便向用户展示软件系统应有的部分或全部的功能和性能,在征求用户对原型的评价意见后,进一步使需求精确化、完全化,并据此改进、完善原型,如此迭代,直到软件开发人员和用户都确认软件系统的需求并达成一致的理解为止。

n选择条件:项目组中有数据库分析和设计专家,有面向对象的编程专家,文档制作有成熟的模板,而且系统或项目又不是非常大。

【本章小结】

n除了上述四种常用的模型之外,另外还有四种模型:螺旋模型、演化模型、渐增模型和喷泉模型,这四种模型只具备理论上的研究价值,在IT企业中很少得到应用。

n进入IT企业参与软件开发或软件管理时,首先要明确:当前的项目或产品开发到底采用什么开发模型,由此确定软件的生存周期和当前的软件开发状态;合理安排项目组成员的工作。迅速适应IT企业文化,并很快进入角色。这就是研究开发模型的好处。

n瀑布模型、增量模型、迭代模型和原型模型。因为4个模型各有所长,所以它们有各自的生存空间。因为它们各有所短,所示才会产生相互竞争,共同构成一个丰富多彩的多个模型竞争的世界。

n一个成熟的软件组织,根据上述通用的4个软件开发模型,结合本单位的开发经验和行业特点,还需要定制适合本单位的"生存周期模型裁剪指南",有针对性地对选定的软件开发模型中定义的生存周期,进行恰当的裁剪,使它完全适合于本单位的需求。从而构成了完全适合本单位的"生存周期模型裁剪指南"。

【第二章教案】相关文章:

汽车电控第二章重点总结12-07

幼儿园工作规程第二章心得12-04

人教版七年级上册数学第二章整式教案(精选10篇)01-05

童年第二章读书笔记(通用27篇)03-05

第二章 细胞的结构和生命活动答案全解全析03-03

简爱第二章读书心得04-08

七年级下册生物第二章知识点总结10-12

七年级上册数学第二章知识点总结07-22

培根随笔第二章读后感09-29

昆虫记第二章读书心得01-12