二章软件过程模型-ppt课件_第1页
二章软件过程模型-ppt课件_第2页
二章软件过程模型-ppt课件_第3页
二章软件过程模型-ppt课件_第4页
二章软件过程模型-ppt课件_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、第二章第二章 软件过程模型软件过程模型软件软件 工程工程2.1 软件过程的根本概念软件过程的根本概念软件软件 工程工程软件软件 工程工程软件软件 工程工程2软件生命周期软件生命周期原那么:低耦合,高聚合原那么:低耦合,高聚合阶段:软件定义、软件开发、软件维护阶段:软件定义、软件开发、软件维护软件定义软件定义: 确定软件开发总目的;确定工程的可行确定软件开发总目的;确定工程的可行性;导出实现战略及系统功能;估计资源和本钱,性;导出实现战略及系统功能;估计资源和本钱,并且制定工程进度表。并且制定工程进度表。 问题定义、可行性研讨、需求分析问题定义、可行性研讨、需求分析软件开发软件开发: 详细设计和

2、实如今前一个时期定义的软详细设计和实如今前一个时期定义的软件。件。 总体设计、详细设计、编码和单元测试、综合测总体设计、详细设计、编码和单元测试、综合测试试软件维护软件维护: 使软件耐久地满足用户的需求。使软件耐久地满足用户的需求。软件软件 工程工程1 .问题定义问题定义 “要处理的问题是什么要处理的问题是什么? 确定用户要求处理的性质、工程的目的和规模。确定用户要求处理的性质、工程的目的和规模。可行性研讨可行性研讨 “对于上一个阶段所确定的问题有行得通的处理方对于上一个阶段所确定的问题有行得通的处理方法吗法吗? 经济可行性、技术可行性、法律可行性、不同的经济可行性、技术可行性、法律可行性、不

3、同的方案方案2. 需求分析需求分析 “为理处理这个问题,目的系统必需做什么为理处理这个问题,目的系统必需做什么 确定系统必需具有的功能和性能,系统要求的运确定系统必需具有的功能和性能,系统要求的运转环境,并且预测系统开展的前景。转环境,并且预测系统开展的前景。 规格阐明书规格阐明书(specification)/需求阐明书需求阐明书软件软件 工程工程3 .总体设计概要设计总体设计概要设计 “概括地说,应该怎样实现目的系统概括地说,应该怎样实现目的系统? 设计出实现目的系统的几种能够的方案。引荐一设计出实现目的系统的几种能够的方案。引荐一个最正确方案。个最正确方案。4. 详细设计详细设计PAD、

4、HIPO、PDL “应该怎样详细地实现这个系统呢应该怎样详细地实现这个系统呢? 设计出程序的详细规格阐明。设计出程序的详细规格阐明。5. 编码编码 写出正确的容易了解、容易维护的程序模块写出正确的容易了解、容易维护的程序模块6. 测试测试 单元测试:仔细测试编写出的每一个模块。单元测试:仔细测试编写出的每一个模块。 集成测试和验收测试,现场测试或平行运转集成测试和验收测试,现场测试或平行运转7. 软件维护软件维护 使系统耐久地满足用户的需求。使系统耐久地满足用户的需求。 矫正性维护,顺应性维护,完善性维护,预防性矫正性维护,顺应性维护,完善性维护,预防性维护。维护。软件软件 工程工程PAD图:

5、问题分析图图:问题分析图软件软件 工程工程软件软件 工程工程HIPO图图软件软件 工程工程2软件过程模型软件过程模型 软件过程模型,也叫软件生存期模型,反映软件生存周软件过程模型,也叫软件生存期模型,反映软件生存周期内各种任务应如何组织以及各个阶段应如何衔接。期内各种任务应如何组织以及各个阶段应如何衔接。 软件过程模型是跨越整个软件生存周期的系统开发、运软件过程模型是跨越整个软件生存周期的系统开发、运作、维护和实施的全部任务和义务的构造框架。作、维护和实施的全部任务和义务的构造框架。 软件开发:软件开发: 形状描画、问题定义、技术开发、处理集成形状描画、问题定义、技术开发、处理集成软件软件 工

6、程工程1 1瀑布模型瀑布模型 (Waterfall (Waterfall model)model) 瀑布模型又称生存周期模型,由瀑布模型又称生存周期模型,由B.M.BoehmB.M.Boehm提出,是软件提出,是软件工程的根底模型。工程的根底模型。 理想的瀑布模型理想的瀑布模型实践的瀑布模型实践的瀑布模型软件软件 工程工程2 2V V模型模型 (V model)(V model) V V模型是瀑布模型的一种变形。强调测试模型是瀑布模型的一种变形。强调测试软件软件 工程工程3 3快速原型模型快速原型模型(Fast Prototype Model)(Fast Prototype Model)用户测

7、试用户测试运转原型运转原型建造建造/ /修正修正 原型原型 听取用听取用 户意见户意见软件软件 工程工程 快速原型模型的运用范围:快速原型模型的运用范围: 对所开发的领域比较熟习而且有快速的原对所开发的领域比较熟习而且有快速的原型开发工具型开发工具 工程招招标时,可以以原型模型作为软件工程招招标时,可以以原型模型作为软件的开发模型的开发模型 进展产品移植或晋级时,或对已有产品原进展产品移植或晋级时,或对已有产品原型进展客户化任务时,原型模型是非常适型进展客户化任务时,原型模型是非常适宜的宜的 比较比较 瀑布模型瀑布模型试图一次就获得正确的产品试图一次就获得正确的产品 快速原型快速原型频繁变化,

8、然后废弃频繁变化,然后废弃软件软件 工程工程4 4增量模型增量模型(Incremental (Incremental Model)Model) 又称渐增模型或有方案的产品改良模型,从一组又称渐增模型或有方案的产品改良模型,从一组给定的需求开场,经过构造一系列可执行中间版给定的需求开场,经过构造一系列可执行中间版本来实施开发活动。本来实施开发活动。软件软件 工程工程5 5螺旋模型螺旋模型(Spiral (Spiral Model)Model) 1988年,年,Barry Boehm正式发表了软件系统开发的正式发表了软件系统开发的“螺旋螺旋模型,它将瀑布模型和快速原型模型结合起来,强调了模型,它将

9、瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析。其他模型所忽视的风险分析。 该模型通常用来指点大型软件工程的开发,它将开发划分该模型通常用来指点大型软件工程的开发,它将开发划分为制定方案、风险分析、实施开发和客户评价四类活动。为制定方案、风险分析、实施开发和客户评价四类活动。 简化版本:瀑布模型简化版本:瀑布模型+风险分析风险分析 每个阶段之前每个阶段之前 确定目的,可供选择的方法及其限制条件确定目的,可供选择的方法及其限制条件 风险分析风险分析 每个阶段之后每个阶段之后 评价评价 方案下一阶段方案下一阶段软件软件 工程工程简化的螺旋模型简化的螺旋模型完好的螺旋模型完好的螺旋模

10、型软件软件 工程工程6 6喷泉模型喷泉模型(Fountain Model)(Fountain Model) 在面向对象方法中,提出了与瀑布模型相在面向对象方法中,提出了与瀑布模型相对应的喷泉模型,该模型的主要特点是以对应的喷泉模型,该模型的主要特点是以为软件生命周期的各个阶段是相互重叠和为软件生命周期的各个阶段是相互重叠和多次反复的。多次反复的。 喷泉模型主要支持面向对象的开发方法。喷泉模型主要支持面向对象的开发方法。系统某个部分经常反复任务多次,相关功系统某个部分经常反复任务多次,相关功能在每次迭代中随之参与演进的系统。能在每次迭代中随之参与演进的系统。 在开发活动,即分析、设计和编码之间不

11、在开发活动,即分析、设计和编码之间不存在明显的边境。存在明显的边境。 软件软件 工程工程软件软件 工程工程7 7智能模型智能模型(Intelligent Model)(Intelligent Model) 又称为基于知识的模型,是知识工程与软件工程在开发模又称为基于知识的模型,是知识工程与软件工程在开发模型上结合的产物。型上结合的产物。 该模型在实施过程中要建立知识库,将模型本身、软件工该模型在实施过程中要建立知识库,将模型本身、软件工程知识与特定领域的知识分别存入数据库。程知识与特定领域的知识分别存入数据库。 软件软件 工程工程3软件工程建模软件工程建模1 1构造化方法构造化方法构造化方法是

12、一种传统的软件开发方法,它构造化方法是一种传统的软件开发方法,它是由构造化分析、构造化设计和构造化程是由构造化分析、构造化设计和构造化程序设计三部分有机组合而成的。序设计三部分有机组合而成的。根本思想:把一个复杂问题的求解过程分阶根本思想:把一个复杂问题的求解过程分阶段进展,每个阶段处置的问题都控制在人段进展,每个阶段处置的问题都控制在人们容易了解和处置的范围内。们容易了解和处置的范围内。根本要点:自顶向下、逐渐求精、模块化设根本要点:自顶向下、逐渐求精、模块化设计。计。 软件软件 工程工程2面向对象建模方法面向对象建模方法来源来源: 面向对象编程言语面向对象编程言语 OOP面向对象编程面向对

13、象编程-OOD面向对象设计面向对象设计+OOA面向对象分析面向对象分析-OOM(面向对象的面向对象的软件开发方法软件开发方法面向对象方法的开发步骤:面向对象方法的开发步骤: 1从问题陈说入手,构造系统模型对象模从问题陈说入手,构造系统模型对象模型型 。 2逐层分解成各级子系统。逐层分解成各级子系统。软件软件 工程工程 优点:优点: 符合人们的思想方式符合人们的思想方式 具有封装和承继的特点来支持软件复用,具有封装和承继的特点来支持软件复用,易扩展易扩展 具有高度的延续性,可维护性好具有高度的延续性,可维护性好软件软件 工程工程一致建模言语一致建模言语UML 2019 年,年,UML 被国际对象

14、组织被国际对象组织OMG采用为面向采用为面向对象的建模言语的国际规范,它溶入了软件工程对象的建模言语的国际规范,它溶入了软件工程领域的新思想、新方法和新技术。领域的新思想、新方法和新技术。 UML不限于支持面向对象的分析与设计,还支持不限于支持面向对象的分析与设计,还支持从需求分析开场的软件开发的全过程。从需求分析开场的软件开发的全过程。 由于由于UML就是那个一致的就是那个一致的“文字,一致的文字,一致的“度、度、“量、量、“衡,不了解衡,不了解UML,作为软件设计一致,作为软件设计一致王国的国民,将是困难而苦楚的。王国的国民,将是困难而苦楚的。 / 软件软件 工程工程一、一、

15、UML的根本构造块的根本构造块 UML主要包括三个根本构造块:事物Things、关系Relationships和图Diagrams。 一事物是实体笼统化的最终结果,是模型中的根本成员,UML中包含构造事物、行为事物、分组事物和注释事物。软件软件 工程工程 1、构造事物、构造事物Structural things构造事物是模型中的静态部分,用以呈现概念或构造事物是模型中的静态部分,用以呈现概念或实体的表现元素,是软件建模中最常见的元素,实体的表现元素,是软件建模中最常见的元素,共有以下七种:共有以下七种: 类类Class 接口接口Interface 协作协作Collaboration 用例用例U

16、se Case 活动类活动类Active Class 组件组件Component 结点结点Node软件软件 工程工程 1类类Class:类是具有一样属性、操作、:类是具有一样属性、操作、关系的对象集合的总称。通常在关系的对象集合的总称。通常在UML中类被画成中类被画成矩形。矩形。 称号:每个类都必需有一个名字,用来区分其它称号:每个类都必需有一个名字,用来区分其它的类。类名是一个字符串,称为简单名字。途径的类。类名是一个字符串,称为简单名字。途径名字是在类名前加包含类的包名为前缀。例如名字是在类名前加包含类的包名为前缀。例如Wall、java:awt:Wall都是合法的类名。都是合法的类名。

17、属性:属性是指类的命名的特性,经常代表一类属性:属性是指类的命名的特性,经常代表一类取值。类可以有恣意多个属性,也可以没有属性。取值。类可以有恣意多个属性,也可以没有属性。在类图中属性只需写上名字就可以了。在类图中属性只需写上名字就可以了。软件软件 工程工程 也可以在属性名后跟上类型甚至缺省取值,如以下图: 软件软件 工程工程 操作:操作是类的恣意一个实例对象都可操作:操作是类的恣意一个实例对象都可以调用,并能够影响该对象行为的实现。以调用,并能够影响该对象行为的实现。操作在类图中如以下图描画:操作在类图中如以下图描画: 软件软件 工程工程 组织属性和方法:在画类图的时候没有必组织属性和方法:

18、在画类图的时候没有必要将全部的属性和操作都画出来。实践上,要将全部的属性和操作都画出来。实践上,在大部分情况下他也不能够在一个图中将在大部分情况下他也不能够在一个图中将类的属性和操作都画出来。在画类图时可类的属性和操作都画出来。在画类图时可以只将感兴趣的属性和操作画出来就可以以只将感兴趣的属性和操作画出来就可以了。可以用了。可以用.表示还有属性或方法没有表示还有属性或方法没有画出来。为了更好地组织属性或方法,可画出来。为了更好地组织属性或方法,可以在一组功能一样的属性或方法前加上一以在一组功能一样的属性或方法前加上一个描画的前缀。个描画的前缀。软件软件 工程工程软件软件 工程工程 接口接口Interface:接口是指类或组件所:接口是指类或组件所提供的效力操作,描画了类或组件对提供的效力操作,描画了类或组件对外可见的动作;外可见的动作; 一个接口描画了类或组件对外可见的动作。一个接口描画了类或组件对外可见的动作。一个接口可以实现类或组件的全部动作

温馨提示

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

评论

0/150

提交评论