新软件工程——原理、方法与应用(第二版) 肖孟强 电子教案 06

合集下载

实用软件工程(第二版)1、2章

实用软件工程(第二版)1、2章
“人月神化”现象——生产力与人数并不成正比。
1.3 软件工程
• 1.3.1 软件工程的概念
– IEEE对软件工程的定义为:
• 1)将系统化、严格约束的、可量化的方法应用于软件的开发、运行 和维护,即将工程化应用于软件
• 2)对1)中所述方法的研究
– 具体说来,软件工程是以借鉴传统工程的原则、方法, 以提高质量,降低成本为目的指导计算机软件开发和维 护的工程学科。它是一种层次化的技术
特点: 1)具有抽象性 2)无明显的制造过程 3)存在退化问题 4)对计算机系统有着不同程度的依赖性 5)尚未完全摆脱人工的开发方式 6)软件本身是复杂的 7)成本相当昂贵 8)相当多的软件工作涉及社会因素
1.1 软件
• 1.1.2 软件的分类
1.2 软件危机
• 1.2.1 软件危机的表现与原因
• 过程定义了运用方法的顺序,应该交付的文档资料,为保证软件质量和协调 变化所需要采取的管理措施,以及标志软件开发各个阶段任务完成的里程碑。 通常,使用生命周期模型简洁地描述软件过程。生命周期模型规定了把生命 周期划分为哪些阶段及各个阶段的执行顺序,因此也称为过程模型
2.2 软件生命周期
• 2.2.1 软件生命周期的概念
1.3 软件工程
• 1.3.4 软件工程知识体系
– IEEE在2014年发布的《软件工程知识体系指南》中将 软件工程知识体系划分为以下15个知识领域。
1.软件需求 2.软件设计 3.软件构建 4.软件测试 5.软件维护 6.软件配置管理 7.软件工程管理 8.软件工程过程
9.软件工程模型和方法 10.软件质量 11.软件工程职业实践 12.软件工程经济学 13.计算基础 14.数学基础 15.工程基础
– 软件工程要达到的基本目标包括:

软件工程-原理、方法及应用(史济民第三版)(课后习题答

软件工程-原理、方法及应用(史济民第三版)(课后习题答

软件工程-原理、方法及应用(史济民第三版)(课后习题答案)绪论1.什么是软件危机?为什么会产生软件危机?答:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。

(1).软件维护费用急剧上升,直接威胁计算机应用的夸大。

(2).软件生产技术进步缓慢2. 什么是软件生产工程化?工程化生产方法与早期的程序设计方法主要差别在哪里?答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方式改变为工程化。

采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产方法。

3. 分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管理的相互关系。

答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。

当一种方法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。

新方法在推行初期,总有人不愿接受和采用。

若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。

(2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良好的效益。

软件在生产中不能按质按时完成计划,管理混乱往往是其中的重要原因。

所以对于一个理想的软件工程环境,应该同时具备技术和管理两个方面。

4.试从你的亲身实践,谈谈软件工具在软件开发中的作用。

答:用C++开发一个软件,是校园一卡通的模块。

首先,要在编辑程序支持下在计算机中输入源程序。

然后编译程序,把源程序翻译成目标程序。

如果发现错误,就重新调入编辑程序对源程序进行修改。

编译通过后,再调用连接程序吧所有通过了编译目标程序连同与之有关的程序连接起来,构成一个能在计算机上运行的可执行软件。

编译程序,编辑程序,连接程序以及支持他们的计算机操作系统,都属于软件工具。

离开这些工具,软件开发就是去了支持,变得十分困难和低效,甚至不能运行。

《软件工程——原理、方法与应用(第二版)》 07

《软件工程——原理、方法与应用(第二版)》  07
5
7.1 面向对象分析
返回目录
7.1.2 建立对象模型 2)筛选出正确的类和对象 (1)删除冗余的类和对象。 (2)删除无关类和对象。 (3)应把笼统和模糊的名词去掉。 (4)若某些对象其实是另一对象的属性,则可以把它归到属性中,从而省
去这个对象,若不能看成属性,则把它独立为一个对象。 (5)有些对象还可以看成是某个对象的操作,应根据它是适合作为对象还
返回目录
7.1.2 建立对象模型 (3)限定
限定用来对关联的含义做某种约束,利用限定词通常能有效地减少关 联的阶数。
教师 m
学生 n
毕业设计
教师
毕业设计
k 成绩
学生
成绩
(a)
图7-4 教师与学生的关联关系
(b)
9
7.1 面向对象分析
返回目录
7.1.2 建立对象模型 3. 确定主题 1)主题的选择
主题的选择应遵循以下两点: (1)为每个对象相应地增加一个主题。 (2)为每个结构也相应地增加一个主题。 2)划分精炼主题 (1)从问题域入手,使用整体-部分关系结构对问题域进行划分。 (2)利用高内聚、低耦合的原则,使主题间的依赖性和交互性达到最小。 (3)如果主题数超过7个,则应对主题进行精炼,抽象出更高层次的主题。
7.1.1 面向对象分析过程
1.基本过程概述
2.三个模型和五个层次
面向对象建模得到的模型即静态结构(对象模型)、交互次序(动态 模型)和数据变换(功能模型)。
复杂问题(大型系统)的对象模型通常由下述五个层次组成:主题层、
3
类与对象层、结构层、属性层和服务层。
7.1 面向对象分析
返回目录
综合上述,在概念上可以认为,面向对象分析大体上按照下列顺序进行: 寻找类与对象,识别结构,识别主题,定义属性,建立动态模型,建立 功能模型,定义服务。但分析不可能严格按预定顺序进行,大型、复杂 系统的模型需要反复构造多遍才能建成。通常,先构造出模型的子集, 然后逐渐扩充,直到完全、充分地理解了整个问题,才能最终把模型建 立起来。

软件工程——原理、方法与应用复习总结

软件工程——原理、方法与应用复习总结

1.软件的定义软件是能够完成预定功能和性能的可执行的计算机程序,包括是程序正常执行所需的数据,以及有关描述程序操作和使用的文档。

简言之,软件=程序+文档程序是为了解决某个特定问题而用程序设计语言描述的适合计算机处理的语句序列。

文档是软件活动开发的记录。

2.软件的特征(1)软件是一种逻辑实体,不是具体的物理实体(2)软件产品的生产主要是研制(3)软件具有复杂性其开发和运行常受到计算机系统的限制,有些软件甚至依赖于硬件的配置(4)软件成本昂贵,其开发方式目前尚未摆脱手工生产方式(5)软件不存在磨损和老化问题,但存在退化问题(6)软件通常针对特定的应用而设计,需要大量的时间精力3.软件危机软件危机的定义:计算机软件的开发和维护过程中所遇到的一系列严重问题软件危机的表现:(1)对软件开发成本和进度的估算很不准确(2)用户很不满意(3)质量不靠谱(4)没有适当的文档(5)软件成本比重上升(6)供不应求:软件开发生产率跟不上计算机应用迅速深入的趋势软件危机产生的原因:客观原因:软件本身的特点:逻辑部件,规模庞大,维护费用急剧上升,生产技术进步缓慢软件维护费用急剧上升,直接威胁计算机应用的扩大①.软件生产技术进步缓慢,是加剧软件危机的重要原因②. 主观原因:不正确的开发方式:忽视需求分析,错误认为软件开发=程序编写,轻视软件维护1.1 绪论2014年3月25日21:311.2 软件工程学的范畴2014年3月25日21:57中心思想是把软件当作是一种工业产品,要求“要求工程化的原理和方法对软件进行计划、开发和维护”软件工具:帮助开发软件的软件方法与工具相结合,再加上配套的软、硬件支持就形成环境3种编程范式1.遵循“程序=数据结构+算法”的思路,把程序理解为由一组被动的数据和一组能动的过程所构成。

(1)过程式编程范型(2)面向对象编程范型程序=对象+消息(3)基于构件技术的编程范型构件可以理解为标准化(或者规范化)的对象类(4) 3种编程范式的比较过程式编程范型:着眼于程序的过程和基本的控制结构,粒度最小面向对象编程范型:着眼于程序中的对象,粒度比较大基于构件的编程范型:着眼于适合整个领域的类对象,粒度更大1.3 软件工程的发展2014年3月25日22:01一个软件从开始立项起,到废弃不用为止,统称为软件生存周期(life cycle )。

软件工程(第二版)-电子教案 第12章软件工程项目管理

软件工程(第二版)-电子教案  第12章软件工程项目管理
第12章 软件工程项目管理
软件项目管理
常见管理技术及工具简介 软件过程成熟度模型 利用CMM对软件机构进行成熟度评估 项目管理认证体系IPMP和PMP
软件工程项目管理
通过软件项目管理,可以保证在给定资源与环境下, 有效地组织人力、物力、财力,在预期的时间内,完成 预定软件项目。 项目管理的内容包括项目计划管理、质量管理、人 员组织管理、文档管理、成本控制和配置管理。由于软 件的易变动性,软件配置的管理成为软件项目管理的重 点内容。 软件项目管理开始于任何技术活动之前,贯穿于软 件的整个生命周期之中。
(1)配置标识与版本控制
(2)变更控制 (3)软件配置审核 (4)向有关人员报告变更
常见管理技术及工具简介
常见工具简介 1、 Microsoft Visual SourceSafe 6.0(VSS) Microsoft Visual SourceSafe 6.0是由微软开发和 维护的源代码版本控制软件。Visual SourceSafe 是一种 源代码控制系统,它提供了完善的版本和配置管理功能, 以及安全保护和跟踪检查功能。 2、 Concurrent Version System (并发版本管理系统) Concurrent Version System (并行版本系统),简 称CVS,用于版本管理。它是一个C/S系统,多个开发人员 通过一个中心版本控制系统来记录文件版本,从而达到保 证文件同步的目的 。
常见管理技术及工具简介
软件项目管理的主要内容 1、项目计划管理
项目计划内容包括: (1)范围:定义该软件项目所要做的工作以及性能限制 (2)资源:包括人员资源、软硬件资源的管理 (3)进度安排
其主要的方法有:工程网络图、cantt图、任务资源表。

《软件工程二版》PPT课件

《软件工程二版》PPT课件
(1)建设环境的复杂性
软件工程结构复杂,要涉及到用户组织内部与外部环境
(2)用户需求的多样性
软件开发失败最主要的原因是:用户对软件需求描述 不精确,可能有遗漏、有二义性、有错误。
(3)建设内容的复杂性
软件是逻辑部件:试制阶段难衡量;开发质量较难评 价,开发过程管理和控制较难。
(4)技术手段的复杂性
软件设计、实施、维护技术手段的复杂性 。
完整版ppt
5
1.1软件危机
软件包括了使计算机运行所需要的各种程 序及其有关的文档资料。其中,程序是计算机 任务的处理对象和处理规则的描述;文档是为 了理解程序所需的阐述性资料。
20世纪60至70年代,“软件危机”一词 在计算机界广为流传,其主要针对当时存在 的软件代价高和软件错误多的现象。
完整版ppt
2、软件规模庞大,有技术问题,也有管理方法问题。
3、早期开发的个体化;忽视需求分析;认为软件开发 写程序;轻视维护,对用户不了解,
4、对前期工作不能忽视,做好软件定义时期的工作, 这是降低成本,提高件质量的关键。
5、严重性:在软件开发的不同阶段修改付出代价(后 期是前期的2-3个数量级),软件维护是极端艰巨复杂的 工作,占55%~70%)
(5)建设所需资源的密集性
软件系统是资金、劳动、智力、知识密集型大型项目, 各类的信息交流不及时是完产整版生pp软t 件危机的主要原因。 12
关于软件危机的总结
1、软件是逻辑部件:试制阶段难衡量;开发质量较难
评价,开发过程管理和控制较难;运行过程才能暴露没 有检测出来的事故,相当于修改设计,软件维护困难;
在软件开发的不同阶段修改付出代价后期是前期的23个数量级软件维护是极端艰巨复杂的工作占5570完整版ppt14121121软件工程的定义与基本原理软件工程的定义与基本原理121121软件工程的定义与基本原理软件工程的定义与基本原理122122软件工程的目标软件工程的目标122122软件工程的目标软件工程的目标123123软件工程框架及原则软件工程框架及原则123123软件工程框架及原则软件工程框架及原则退出退出退出退出完整版ppt15什么是软件工程软件工程是指把系统的规范化的可以度量的方法运用于软件的开发运行和维护的过程

软件工程-- 原理、方法与应用

软件工程-- 原理、方法与应用
★ 省 级 精 品 课 程 ★
软件工程
(第二版) 第二版)
齐治昌、谭庆平、 齐治昌、谭庆平、宁洪 编著 版
第十一章 软件维护
• • • • • 软件维护的种类 软件可维护性 软件维护的实施 软件维护的管理 软件再工程
软件维护的种类
• 完善性维护(perfective maintenance)
– 完善和加强产品的功能与性能,以满足用户日益增长 的需要。50%
• 维护趋势图
– 不定期的报告 – 显示统计时期内每月收到的新维护申请以及正 显示统计时期内每月收到的新维护申请以及正 新维护申请以及 在处理的申请项数 在处理的申请项数
维护费用的估算
MM 维护 = ACT ∗ EAF ∗ MM开发
其中: 其中:MM为工作量 为工作量 ACT=(修改指令数 增加的指令数)/原指令总数 增加的指令数) (修改指令数+增加的指令数 原指令总数 EAF为工作量调节因子,在第十三章会讲到 为工作量调节因子, 为工作量调节因子
N
Y
修改
提交使用
维护申请单
• 用于维护开始之前 • 由申请维护的用户填写 • 应完整地说明导致错误发生的环境(纠错 性维护) • 提出一个简要的需求说明(适应性或完善 性维护)
申请表编号: 项目编号 改正性 维 护 类 别 硬 件 维 护 软 件 维 护 完善性 适应性 预防性 系统设备 外围设备
维护管理文档
• 维护申请摘要报告
– 是一种定期报告 – 内容包括上次报告以来已经处理了的、正在处 内容包括上次报告以来已经处理了的、 理的和新接到的维护申请项数及其处理情况 维护申请项数及其处理情况, 理的和新接到的维护申请项数及其处理情况, 以及新申请中特别紧迫的问题。 以及新申请中特别紧迫的问题。 特别紧迫的问题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档