第11章《软件工程》
软件工程 判断题

判断题:第1章概述1. 由于今天个人计算机不断发展壮大,人们不再采用软件团队的开发方式。
(×)2. 由于软件是产品,因此可以应用其他工程制品所用的技术进行生产。
(×)3. 购买大多数计算机系统所需的硬件比软件更昂贵。
(×)4. 大多数软件产品在其生命周期中不需要增强功能。
(×)精品文档,你值得期待5. 大多数软件系统是不容易变化的,除非它们在设计时考虑了变化。
(√)6. 一般来说,软件只有在其行为与设计者的目标一致的情况下才能成功。
(×)第4章需求工程1. 在需求分析过程中,分析员要从用户那里解决的最重要的问题是明确软件做什么。
(√)2. 软件需求规格说明书在软件开发中具有重要的作用,它是软件可行性分析的依据。
(×)第5章面向对象基础1. 模型是对现实的简化,建模是为了更好地理解所开发的系统。
(√)2. UML语言支持面向对象的主要概念,并与具体的开发过程相关。
(×)第6章面向对象分析1. 面向对象分析的核心在于建立一个描述软件系统的模型。
(×)第7章软件体系结构设计1. 系统体系结构的最佳表示形式是一个可执行的软件原型。
(×)2. 软件体系结构描述是不同项目相关人员之间进行沟通的使能器。
(√)3. 良好的分层体系结构有利于系统的扩展与维护。
(√)4. 消除两个包之间出现的循环依赖在技术上是不可行的。
(×)5. 设计模式是从大量成功实践中总结出来且被广泛公认的实践和知识。
(√)第8章面向对象设计1. 面向对象设计是在分析模型的基础上,运用面向对象技术生成软件实现环境下的设计模型。
(√)2. 系统设计的主要任务是细化分析模型,最终形成系统的设计模型。
(×)3. 关系数据库可以完全支持面向对象的概念,面向对象设计中的类可以直接对应到关系数据库中的表。
(×)4. 用户界面设计对于一个系统的成功是至关重要的,一个设计得很差的用户界面可能导致用户拒绝使用该系统。
软件工程第十一章面向对象设计

THANKS
感谢观看
01
抽象类是一种不能被实例化的 类,它只能被其他类继承。
02
抽象类可以包含抽象方法和具 体方法。抽象方法是没有具体 实现的方法,需要在继承抽象 类的子类中实现。
03
通过继承抽象类,子类可以继 承抽象类的属性和方法,并且 可以重写或实现抽象类中的方 法。
接口与抽象类的选择
在设计软件时,选择使用接口还是抽象类取决于具体需求和设计目标。
关系
关系描述了对象之间的交互和联系。 常见的关系包括关联、聚合和继承。
继承与多态的设计
继承
继承是一种实现代码重用的方式,子类可以继承父类的属性和方法,并可以扩展或覆盖它们。通过继承,可以建 立类之间的层次结构,使得代码更加清晰和易于维护。
多态
多态是指一个接口可以有多种实现方式,或者一个对象可以有多种形态。多态可以提高代码的灵活性和可扩展性, 使得程序更加易于维护和修改。
02
类与对象的设计
类的定义与属性
类的定义
类是对象的抽象,它描述了一组具有相同属性和行为的对象。类定义了对象的结构、行为和关系。
属性
属性是类中用于描述对象状态的变量。每个对象都有其自己的属性值,这些属性值决定了对象的状态 。
对象的行为与关系
行为
行为是类中定义的方法,用于描述对 象可以执行的操作。方法定义了对象 的行为和功能。
高层模块不应该依赖于低层模块,它们都应 该依赖于抽象。
面向对象设计的优势
提高代码可重用性
通过类和继承实现代码重用,减少重 复代码。
提高代码可维护性
面向对象设计使得代码结构更加清晰, 易于理解和维护。
提高开发效率
通过快速原型开发,快速构建软件系 统。
软件工程

1-1 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?1-2 假设你是一家软件公司的总工程师,当你把图1.1给手下的软件工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意你的观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”你怎么反驳他?1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?1-4 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。
1-6 什么是软件过程?它与软件工程方法学有何关系?1-7 什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明每种模型的适用范围。
2-1 在软件开发的早期阶段为什么要进行可行性研究?应该从哪些方面研究目标系统的可行性?2-2 为方便储户,某银行拟开发计算机储蓄系统。
储户填写的存款单或取款单由业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。
请写出问题定义并分析此系统的可行性。
2-3 为方便旅客,某航空公司拟开发一个机票预订系统。
旅行社把预订机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入进该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统校对无误即印出机票给旅客。
请写出问题定义并分析此系统的可行性。
2-4 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。
某医院打算开发一个以计算机为中心的患者监护系统,请写出问题定义,并且分析开发这个系统的可行性。
医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。
《软件工程》教案

《软件工程》教案课程简介本课程旨在介绍软件工程的基本概念、原理和方法,培养学生的软件工程思维和实践能力。
通过理论讲解和实践操作,帮助学生了解软件开发的整体过程,掌握软件工程的基本技术和工具。
课程目标- 熟悉软件工程的基本概念和主要原理- 掌握软件项目管理和开发的基本流程- 能够运用软件工程方法和工具进行软件开发和维护- 培养学生的团队合作和沟通能力教学内容1. 软件工程概述- 软件工程的定义和发展历程- 软件工程的重要性和作用2. 软件过程模型- 瀑布模型- 增量模型- 螺旋模型- 敏捷开发模型3. 软件需求分析与规格说明- 需求获取和分析- 需求规格说明的方法和技巧4. 软件设计与架构- 模块化设计原则- 面向对象设计方法- 软件架构的设计和评估5. 软件测试与质量保证- 静态测试和动态测试- 软件质量标准和评估- 软件缺陷管理和修复6. 软件项目管理- 项目计划和进度管理- 需求管理和变更控制- 软件配置管理和版本控制7. 软件开发工具与环境- 集成开发环境(IDE)的使用- 版本控制工具(如Git)的使用- 自动化构建工具(如Maven)的使用教学方法本课程采用理论与实践相结合的教学方法。
通过课堂讲解、案例分析和项目实践等形式,激发学生的研究兴趣和动手能力。
教学评估1. 平时成绩占比:60%- 课堂参与和讨论- 作业完成情况2. 期末考试占比:40%参考教材- 《软件工程导论》(第7版),作者:Ian Sommerville- 《软件工程与项目实践》(第2版),作者:高博- 《软件工程基础》(第3版),作者:王晓敏以上为《软件工程》教案的简要内容介绍,具体的教学安排和教学材料请以教师课堂讲解为准。
《软件工程》教学课件 第11章 软件项目管理

下 表 是 根 据 63 个 项 目 的 数 据 统 计 结 果 , 按 照 基 本 的 COCOMO模型估算的工作量和进度。
总体类型 组织型
半独立型 嵌入型
工作量 MM=10.4(KLOG)1.05 MM=3.0(KLOG)1.12 MM=3.6(KLOG)1.20
进度 TDEV=10.5(MM)0.38 TDEV=10.5(MM)0.35 TDEV=10.5(MM)0.32
i1
其中:ai — 估计的最小行数 bi — 估计的最大行数 mi — 最可能的行数
将估算的源代码行数,乘以根据经验推算的每行源代 码所需成本,即为该软件的成本。
IBM 估算模型
1977年由Waiston 和 Felix 总结了IBM联合系统 分部(FSD)负责的60个项目的数据,利用最小二 乘法拟合,得到如下估算公式:
PERT(Program evaluation & review technique)计 划评审技术或CPM(Critical path method)关键路径法, 都是采用网络图来描述项目的进度安排。如图描述了开发 模块A、B、C的任务网络图。各边上所标注的数字为该任 务所持续的时间,数字结点为任务的起点和终点。
70
任务
月份 1 2 3 4 5 6 7 8 9 10 11 12
60
需求分析 ▲ ▲ ▲
50
总体设计
▲ ▲▲
40
详细设计
▲▲
30
编码 软件测试
▲ ▲▲
20
10
▲▲▲
0 一月
二月
三月
四月
五月
六月
进度表
2.甘特图(Gantt Chart)
软件工程课本讲解面向对象的OMT方法

化旳动态模型 + 细化旳功能模型。
16
第11章 面向对象的OMT方法
对象模型化技术OMT 对象模型化技术把分析时搜集旳信息构造在三类
模型中,即对象模型、功能模型和动态模型。
这个模型化旳过程是一种迭代过程。
17
第11章 面向对象的OMT方法
图11.4 三元关联 29
第11章 面向对象的OMT方法
角色为关联旳端点,阐明类在关联中旳作用和角 色。不同类旳关联角色可有可无,同类旳关联角色不 能省。角色旳表达如图11.5所示。
教师
讲授
课程
主讲
内容
图11.5 关联旳角色旳表达
30
第11章 面向对象的OMT方法
2) 受限关联
受限关联由两个类及一种限定词构成,限定词是 一种特定旳属性,用来有效地降低关联旳重数,限定 词在关联旳终端对象集中阐明。
技术之上旳,OMT措施旳基础是开发系统旳3个模型,再 细化这3种模型,并优化以构成设计。对象模型由系统中 旳对象及其关系构成,动态模型描述系统中对象对事件旳响应及对 象间旳相互作用,功能模型则拟定对象值上旳多种变换及变换上旳
约束。
6
第11章 面向对象的OMT方法
11.1.2 系统分析
分析旳目旳是拟定一种系统“干什么”旳模型,该模型经过 使用对象、关联、动态控制流和功能变换等来描述。分析过程是 一种不断获取需求及不断与顾客磋商旳过程。
8
第11章 面向对象的OMT方法
3. 构造动态模型
构造动态模型旳环节如下: (1) 准备经典交互序列旳脚本。 (2) 拟定对象间旳事件并为各脚本安排事件跟踪。 (3) 准备系统旳事件流图。 (4) 开发具有主要动态行为旳各个类旳状态图。 (5) 检验状态图中共享事件旳一致性和完整性。 最终得到:动态模型 = 状态图 + 全局事件流图。
第11章 软件项目管理-软件工程基础(第3版)-胡思康-清华大学出版社

第 4 页4
软件项目管理概述
软件项目管理目标
软件项目管理成功的目标包括以下几方面: ⑴ 如期完成项目 ⑵ 项目成本控制在计划之内 ⑶ 妥善处理用户的需求变动 ⑷ 保证项目质量⑸ 保持对项目进度的跟踪与控制
第11章 软件项目管理
第 5 页5
软件项目规模度量
任何软件项目都需要定量描述才能制定软件开发成本。只有把软件项目 中设计的各项因素,如软件开发时间、人员数量、开发环境的软件工具和硬 件系统、资金等资源的指标尽可能量化,才能准确估算软件产品的规模、复 杂度、工作总量。没有定量的项目将难以展开软件管理和实施过程。
❖系统的内部处理复杂吗
❖代码设计可重用吗
❖ 设计中包括转换和安 装吗
❖ 系统的设计支持不同 组织的多次安装吗
❖ 系统的实际有利于用 户的修改和使用吗
第 10 页10
软件项目规模度量
面向功能的度量
一旦计算出功能点,就可仿照LOC的方式度量软件的生产率、质量和 其它属性:
生产率 = FP/E 质量 = ER/FP 成本 = S/FP 文档 = ER/FP
第11章 软件项目管理
第 2 页2
软件项目管理概述
软件项目管理的特点
⑷ 软件产品虽然分通用软件和领域软件,但其都是“定制”的定向系统 ,目前仍无法摆脱手工开发模式。“没有完全一样的软件项目”,这不仅对 项目实施过程难以控制,而且还需要根据具体应用领域、环境等制定特殊管 理过程和内容。
⑸ 源于应用领域的复杂性和软件开发技术的复杂性,软件自身是一个复 杂系统。因而软件管理要对复杂软件系统过程做到未雨绸缪,对软件开发内 容抽丝剥茧般的细致。 ⑹ 软件项目管理需要综合各方面,特别是社会因素、精神因素、认知要素、 技术问题、领域问题、用户沟通等各项复杂内容。
计算机科学与技术专业课课件_软件工程SE_Chapter11

面向对象设计的准则
◆强内聚
(1) 服务内聚
一个服务应该完成一个且仅完成一个功能。
(2) 类内聚
类的属性和服务应该全都是完成该类对象的任务所必需的, 其中不包含无用的属性或服务。如果某个类有多个用途,通 常应该把它分解成多个专用的类。
(3) 一般-特殊内聚
一般-特殊结构应该是对相应的领域知识的正确抽取。 一般说来,紧密的继承耦合与高度的一般-特殊内聚是一致的。
◆信息隐藏
●信息隐藏通过对象的封装性实现:类结构分离了接口 与实现,从而支持了信息隐藏。对于类的用户来说, 属性的表示方法和操作的实现算法都应该是隐藏的。
2013-8-31
上海大学计算机学院
3
面向对象设计的准则
◆弱耦合
(1) 交互耦合 对象之间的耦合通过消息连接来实现,则这种耦合就 是交互耦合。尽量降低消息连接的复杂程度。应该尽 量减少消息中包含的参数个数,降低参数的复杂程度。 减少对象发送(或接收)的消息数。 (2) 继承耦合 继承是一般化类与特殊类之间耦合的一种形式。从本 质上看,通过继承关系结合起来的基类和派生类,构 成了系统中粒度更大的模块。因此,它们彼此之间应 该结合得越紧密越好。 设计应该使特殊类尽量多继承并使用其一般化类的属 性和服务。
实例重用、继承重用和多态重用。
◆可重用软构件应具备的特点
(1) 模块独立性强。具有单一、完整的功能,且经过 反复测试被确认是正确的。 (2) 具有高度可塑性。提供为适应特定需求而扩充或 修改已有构件的机制。 (3) 接口清晰、简明、可靠。
2013-8-31
上海大学计算机学院
9
类构件
◆类构件的重用方式
2013-8-31 上海大学计算机学院 12
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
理解
关注
11.1 软件维护的传统方法
1. 软件维护定义:
定义11-1:所谓软件维护,就是在软件产品安
装、实施并交付给用户使用后,在新版本产品升级
之前,这段时间里软件厂商向客户提供的服务工作,
称为该软件产品的软件维护。
软件维护定义
(1)软件的维护总是针对某一种软件产品在软 件生存周期内所进行的活动 (2)当今的软件维护更强调的是服务 。服务成 为用户选购软件的重要依据,即“卖软件就是 卖服务”
性和一致性。
面向对象开发的方法对应面向对象维护的方法,就是利
用对象“继承”的特性,来达到维护应用软件的目的。
第四种方法:站在“五个面向理论”角度,即站在
“面向流程分析、面向数据设计、面向对象实现、
面向功能测试、面向过程管理”的角度上,来划分
软件维护的方法。
也就是说,对需求分析的维护,要采取面向业务流程的方
2
3
4
预防性维护 4%左右
维护在软件生存期所占比例
影响维护工作量的因素
系统的规模 系统的年龄 系统的结构 程序设计语言
文档的质量
软件对运行环境的依赖性 编程语言
技术性 因素
影响 维护 代价 因素 非技术 性因素
编程风格
测试与改错工作
文档的质量 清晰、正确和完备的 文档能降低维护的代价 应用领域的复杂性 开发人员的稳定性
法。
对设计的维护,要采取面向数据的方法。
对实现的维护,要采取面向对象的方法。
对测试的维护,要采取面向功能的方法。
对管理的维护,要采取面向过程管理的方法。
3. 软件维护与软件产品版本升级
若小维护前的版本号为V1.00,则小维护后的版本号为V1.01。
若大的维护前的版本号为V1.01,则大的维护后的版本号为 V1.11。 一般而言,版本号中小圆点的左一位,表示该软件产品的第 几个版本。版本号中小圆点的右一位,表示该版本的大修改
上述两种格式完成后,都要在文档版本更新记录上做维护记
录。
2. 维护管理文档
(1) 用户意见反馈表; (2) 用户意见分类整理表; (3) 维护申请单; (4) 维护文档评审报告; (5) 产品缺陷统计表; (6) 功能扩充统计表; (7) 未答复问题汇总表; (8) 未验证问题汇总表; (9) 已修改问题汇总表; (10)已验证问题汇总表; (11)维护费用统计表。
6.维护的副作用(四个副作用)
序号 维护的方式 副作用的表现
1
2
修改编码
修改数据结构
使编码更加混乱,程序结构更不清晰,可 读性更差,而且有连锁反映
数据结构是系统的骨架,修改数据结构是 对系统伤筋动骨的大手术,在数据冗余 与数据不一致方面,可能顾此失彼
3
4
修改用户数据
修改文档
需要与用户协商,一旦有疏忽,可使系统 发生意外
对非结构化维护不适应,对结构化维护要 严防程序与文档的不配匹
6.维护的副作用(四个副作用)
(1)四个副作用加在一起,很容易出现打补丁的
现象,造成维护一次,就追加一个补丁,最后补丁
越打越多,隐含的问题也会越来越多;
(2)由于考虑不周,或对系统消化不透,可能在
维护中出现连锁反映现象:东边的错误改了,西边
三层含义
一般维护原因:
(3)软件维护的时间是有限度的,一般而言目 前软件产品的免费服务时间为两年左右,两 年以后软件厂商总会推出更新的版本以适应 用户在功能、性能、接口等方面所提出的新 需求,从而软件厂商也会找到新的利润增长 点。
(1)改正程序中的错误和缺陷。 (2)改进设计以适应新的软、硬件环境。 (3)增加新的应用范围。
本章小结
(1) 开发文档、管理文档、维护文档必须齐全,使所有的维
护工作都变为结成化维护工作。这就是提高系统的可维护性。
(2) 在签订合同时,必须将软件的维护工作范围、内容、期 限和费用增加进去,并明确甲乙双方在维护工作中的责任。 (3) 维护人员在缺陷维护(即“程序级维护”)和功能维护 (即“设计级维护”)上虽然不能随意地创新,但是可以分析 维护前系统的缺陷或毛病,收集并整理用户的意见与建议, 从而去策划新版本的蓝图,在新版本的升级上做到有所创新。
的错误又冒出来了。
7.为了减少维护的工作量,防止维护的副作用,人们
在长期的实践中积累了如下的经验:
(1)用CMMI体系来改善软件企业的软件过程管理;
(2)在开发和维护中,尽量使用CASE工具;
(3)维护完成后,一定要进行回归测试。
11.2 软件维护的最新方法
1. 软件维护的最新分类方法
目前,软件企业将软件产品维护活动分为两大类:
第11章 软件维护
要求 了解
具体内容
1) 2) 3) 4) 5) 6) 1) 2) 3) 4) 5) 1) 2) 软件维护的概念 传统软件维护分哪几大类 软件维护活动的一般工作流程 结构化维护和非结构化维护 软件的可维护性 维护的副作用 面向缺陷维护:程序级维护 面向功能维护:设计级维护 UML对软件维护的影响 CMM对软件维护的影响 软件维护文档和维护管理文档 软件维护的最新方法 软件维护与软件产品版本升级的关系
2. 软件维护分类:
序号 维护的种类 1 纠错性维护 17%~20% 适应性维护 18%~25% 完善性维护 50%~60% 维护的内容 产品或项目中存在缺陷或错误,在 测试和验收时未发现,到了使用过程中 逐渐暴露出来,需要改正 这类维护是为了产品或项目适应变 化了的硬件、系统软件的运行环境,如 系统升级 这类维护是为了给软件系统增加一 些新的功能,使产品或项目的功能更加 完善与合理,又不致于对系统进行伤筋 动骨的改造,这类维护占维护活动的大 多数情况 这类维护是为了提高产品或项目的 可靠性和可维性,有利于系统的进一步 改造或升级换代
5. 软件的可维护性
定义11-3:所谓软件的可维护性,就是维护人员理
解、掌握和修改被维护软件的难易程度。
可维护性的软件,它应具备下列四条性质:
(1).可理解性。
(2).可测试性。
(3).可修改性。
(4).可移植性。
软件的可维护性
序号 1 2 3 4 名称 可理解性 可测试性 可修改性 可移植性 可维护性内容 软件模块化、结构化,代码风格化,文档清 晰化 文档规范化,代码注释化,测试回归化 模块间低耦合,高内聚,程序块的单入口和 单出口,数据局部化,公用模块组件化 例如用ODBC、ADO来屏蔽对数据库管理系统 的依赖,用三层结构来简化对客户浏览层的维 护
软件的生命期
商业操作模式变化对软件的影响
软件人员经常流动,当需要对某些程序进行维护时, 可能已找不到原来的开发人员。 人们一般难以读懂他人的程序。 软件维 护困难 的原因
当没有文档或者文档很差时,你不知道如何下手。
很多程序在设计时没有考虑到将来要改动,程序之 间相互交织,触一而牵百。 如果软件发行了多个版本,要追踪软件的演化非常 困难。 维护将会产生不良的副作用,不论是修改代码、数 据或文档,都有可能产生新的错误。
用户能享受简单、方便、全面、及时的维护与升级服务。
常见的杀病毒工具升级办法,就是一种这样的维护。
第三种方法:站在“三种开发方法”的角度上,
来划分软件维护的方法。
面向过程开发的方法对应面向过程维护的方法,就是前
面介绍的结构化维护方法。
面向数据开发的方法对应面向数据维护的方法,就是从
数据库表的结构入手,运用视图技术、事务处理技术、 分布式数据库技术、来维护数据库服务器上数据的完整
的维护。
第二种方法:站在B/S结构的角度上,来划分软件
维护的方法。
客户机/应用服务器/数据库服务器的三层结构,是一
种最有发展潜力的应用软件结构。
客户机上的软件维护,不需到用户现场去,只需在系统
后台服务器上借助网络的运行,使得软件的安装与升级, 变成了一个完全透明的过程,再不用担心光盘的安装或 软盘的损伤。这就是三层结构的优点之一。
(1)面向缺陷维护:程序级维护;
(2)面向功能维护:设计级维护。
面向缺陷维护的条件:该产品能够正常运转,可以满足用户 的功能、性能、接口需求。 面向功能维护的条件:该产品在功能、性能、接口上存在某 些不足,不能满足用户的某些需求 。
2. 软件维护的最新方法
第一种方法:站在C/S结构的角度上,来划分软件维
7 8 9 10 11 12
设计维护文档评审 修改源程序 回归测试 修改软件产品版本号 交付用户运行 收集反馈意见,准备新一轮维护,转向流程第1步
5. UML对软件维护的影响
UML把软件生命周期定义为四个主要阶段:初始、细化、构
造、移交。
经过这四个阶段的历程被称为一个开发周期,自动产生一个 周期内的所有文档,从而生成一个软件产品。 首次经历这四个阶段称为该产品的初始开发周期,除非该产 品的生命终止,否则它将重复初始、细化、构造、移交这四 个阶段,从而演化为下一代产品,这就是旧产品的修理维护, 这就是新产品的升级换代,这就是开发周期的演化,这就是
真正维护工作量大的单位,就是CMM1级/CMMI1级的软件组织,
因为它们的管理无序,文档不全,工作不规范。
11.3 软件维护文档
1. 维护文档
维护文档,就是对原来已有的分析文档、设计文档、实现文
档、测试文档、用户指南进行修改,形成新的开发文档。
(1). 格式1:拷贝一份原文档,再直接在原来已有的文档上 面修改后形成新的小版本号文档。 (2). 格式2:将修改的内容单独作为一个附录,放在被修改 文档的最后面,形成一份新的小版本号文档。
UML对软件维护工作的影响。
6. CMM/CMMI对软件维护的影响
当软件组织达到CMM3/CMMI3以上时,由于软件过程的持续改 善,对软件质量的评审和审计活动的加强,软件测量数据库 作用的发挥,关于“程序上有缺陷”和“设计上功能不齐全” 的情况,将会逐渐减少,所以软件的维护工作量也会逐渐减