00_面向对象的软件工程概述(软件工程篇)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
空间飞行器坠毁……
2015-5-11
7
中国地质大学(武汉)信息工程学院
Software :A crisis on the horizon?
软件:地平线上的危机?
软件危机:软件开发和维护过程中遇到的一系列严重问题。
8
Despite many software success stories, an unacceptably large proportion of software products still are being delivered late, over budget, and with residual faults. 2015-5-11
海湾战争:
1991年,美国的导弹指向错误的目标,击中自己军营, 导致28名美国人丧生,98受伤。(软件的定时复位问题) During the Gulf War, the United States shipped Patriot missiles to Israel for protection against the Scuds. Israeli forces detected the timing problem after only 8 hours and immediately reported it to the manufacturer in the United States. The manufacturer corrected the fault as quickly as it could, but tragically, the new software arrived the day after the direct hit by the Scud [Mellor, 1994].
2015-5-11
3
中国地质大学(武汉)信息工程学院
1、软件工程的由来
2015-5-11
4
中国地质大学(武汉)信息工程学院
问题的提出
What is software engineering? Why does software engineering come?
5
2015-5-11
5
中国地质大学(武汉)信息工程学院
方法
CASE等
2015-5-11
16
中国地质大学(武汉)信息工程学院
CMM五个级别
Motorola,中兴
华为
ZONDYCYBER
17
中国地质大学信息工程学院
2015-5-11 17
中国地质大学(武汉)信息工程学院
2015-5-11
组织管理者视图
Motorola,中兴
华为 ZONDYCYBER
18
可追 踪性
可靠 性 可移 植性
可维 护性
可重 用性
软件 质量 控制 质量 要素 影响 因子
2015-5-11
20
中国地质大学(武汉)信息工程学院
软件质量控制质量要素影响因子
1.关于软件的运行特征
–可靠性:在给定时间间隔内,软件成功运行的概率 –有效性:软件的时空效率 –完整性:控制未被授权人员访问程序和数据的程度 –可用性:使用软件的难易程度 –可理解性:结构清晰,直接反映问题需求,易理解 –可维护性:软件交付使用后进行修改的难易程度
划署(DARPA)技术办公室的主任,并担 任TRW(世界著名的军工系统承包商)的 首席科学家,美国空军科学顾问委员会主席。
软件工程估Biblioteka Baidu模型COCOMO模型之父、软 11 件过程螺旋式模型之父
2015-5-11 11
中国地质大学(武汉)信息工程学院
2015-5-11
软件危机的原因(续)
(2)软件的规模日益增长、设计日益复杂。 Visual Studio/Office等(M->G)
10
2015-5-11
10
中国地质大学(武汉)信息工程学院
2015-5-11
软件开发中的易被忽略的几个观念
软件开发中的易被忽略的几个观念
编写程序只是软件开发的一个阶段,10%—20% ,程序只是完 整产品的一个组成部分。
编写程序只是软件开发的一个阶段,10%—20% , 程序只是完整产品的一个组成部分。
(3)软件开发组织发生变化。
在上述因素发生变化的同时,软件开发组织也在发生着变化。早期开 发一款小型软件,可能1-2个开发人员就可以完成。然而随着软件规模的飞 速增长,软件开发组织也在同比例增长,由单打独斗的状态改变为一个团 队若干开发人员共同研发一款产品。人员由一个变成团队协同开发,这种 组织形式的转变,必然给软件开发的协同组织带来挑战。同时造成潜在的 进度、成本和质量的问题。
2015-5-11
Let’s start from some history stories…
医学领域:
2个病人死于由医用线性加速器产生的严重过量辐射 (控制软件错误)1985-1987. [Leveson and Turner, 1993] The cause was a fault in the control software.
2015-5-11
13
2015-5-11
13
中国地质大学(武汉)信息工程学院
软件工程定义
软件工程定义 “软件危机”让人们开始对软件及其特性产生更深的认识,人们改变了早期 对软件的不正确看法。早期那些被认为是优秀的程序常常很难被别人看懂,通 篇充满了程序技巧。现在人们普遍认为优秀的程序除了功能正确,性能优良之 外,还应该容易看懂、容易使用、容易修改和扩充。 程序员们开始摒弃以前的做法,转而使用更系统、更严格的开发方法。为 了使控制软件开发和控制其它产品生产一样严格,人们陆续制定了很多规则和 做法,发明了很多软件工程方法,软件质量开始得到大幅度提高。随着遇到的 问题更多,规则和流程也越来越精细和复杂。
中国地质大学(武汉)信息工程学院
软件工程
Software engineering is a discipline whose aim is the production of fault-free software, delivered on time and within budget, that satisfies the client’s needs. Furthermore, the software must be easy to modify when the user’s needs change.
2015-5-11
12
中国地质大学(武汉)信息工程学院
软件危机的出现,促使人们 对软件的特性和设计方法不断进 行更深入的研究。1968年10月, 在德国的Garmish举行了NATO (北大西洋公约组织,俗称“北 约”)科学委员会(NATO Science Committee)会议,会议 上首次提出了“软件工程”概念, 希望用工程化的原则和方法来克 服软件危机。会议成员均为专业 人士,包括来自11个国家的50位 软件工程师。
2015-5-11 6
中国地质大学(武汉)信息工程学院
Let’s start from some history stories…
金融系统:
2003年4月,借款者被告知,他们的助学贷款由于软件原 因从1992年起就被计算错了,该问题直到2002年底才被检测 出来。
In April 2003, borrowers were informed by SLM Corp. that the interest on their student loans had been miscalculated as a consequence of a software fault from 1992 but detected only at the end of 2002. Nearly 1 million borrowers were told that they would have to pay more, either in the form of higher monthly payments or extra interest payments on loans extending beyond their original 10-year. Both faults were quickly corrected, but together they resulted in nontrivial financial consequences for about a million people.
——软件工程是指导计算机软件
开发和维护的工程科学。 采用 工程的概念、原理、技术和方法 来开发和维护软件(1968)。
——软件工程是指导计算机软件开发和维 护的工程科学。 采用工程的概念、原理、 技术和方法来开发和维护软件(1968)。
14
中国地质大学信息工程学院
2015-5-11 14 2015-5-11
核心三要素:质量、时间、预算
2015-5-11
15
中国地质大学(武汉)信息工程学院
软件工程的内容
个人软件过程 小组软件过程 企业软件过程 提供了制造软件在技术 上需要“怎么做”,覆 盖了需求、设计等任务。 能力成熟度评估
过程 工具
对方法和过程提供 自动或半自动的支 持。
CMM
How?
16
2015-5-11
此后不久,国际上来自学术界、工业 界和研究实验室的22位软件开发领袖人物 聚集到Hedsor公园,这是英国伦敦附近的 一个市政府休养所,重提NATO会议,并 分析软件行业未来的发展方向。这些活动 被认为是人们开始清醒地注意到即将到来 的“软件危机”的标志性活动。
How to jump out?
软件工程
中国地质大学信息工程学院
2015-5-11 18
中国地质大学(武汉)信息工程学院
2015-5-11
2、软件工程实践的目标和原则
2015-5-11
19
中国地质大学(武汉)信息工程学院
软件工程与软件开发实践的目标
在给定的成本、按期交付高质量的软件产品。 开发出具有:
有效 性 正确 性 可理 解性 可修 改性
9
2015-5-11
9
中国地质大学(武汉)信息工程学院
2015-5-11
软件危机的原因
因此,软件过程管理成为一个另软件组织头疼的问题,如何能够 科学地完成软件的生产过程成为软件组织非常关心的话题。首先 了解软件开发演变过程中软件危机的产生原因。 (1)人们对于软件概念与范畴的理解。 早期软件工程师崇尚个人英雄主义,整个软件开发通常处于一种 无序的状态。他们大多认为编写程序就是软件开发的全部。这种 观念会导致随着软件规模的增大,程序员对于文档的忽略与不重 视,使得软件开发产品的不健全与维护困难。
“软件是程序以及开发、使用和维护程序所需 要的所有文档。” ——Barry Boehm
“软件是程序以及开发、使用和 巴利· 玻姆(Barry W. Boehm,1935) 美国国家工程院院士,AIAA、IEEE、 维护程序所需要的所有文档。” ACM 会士(Fellow),他从1955年开始就 尝试在软件开发的敏捷和纪律之间寻找平衡 点,他是TRW软件工程教授和南加州大学 ——Boehm 软件工程中心主任。美国国防部高级研究计
2015-5-11 8
中国地质大学(武汉)信息工程学院
Software :A crisis on the horizon?
软件:地平线上的危机?
软件危机:软件开发和维护过程中遇到的一系列严重问题。
表现: 对软件开发成本和进度的估计不准确;
软件产品质量很不可靠; 可维护性差,软件的文档资料不完整和不合格; 软件成本逐年上升; 软件开发生产率不高,不能满足客观需要。
第一章 面向对象软件工程概论
1
中国地质大学信息工程学院
2015-5-11 1
中国地质大学(武汉)信息工程学院
2015-5-11
本次课程安排
Questions?
软件工程 软件过程 软件生命周期模型
2015-5-11
2
中国地质大学(武汉)信息工程学院
本次课程安排
软件工程的由来 (How it comes?) 软件工程实践的目标 (Clear about our aim) 软件工程实践的原则 (Principles) 软件过程?目前熟悉的软件过程 面向对象技术与传统技术对比?面向对象方法是 如何在软件工程各阶段实践的?(讨论) DISCUSSION1:软件生命周期模型 DISCUSSION2:软件过程