软件工程基本原理第一章第二章

上传人:人*** 文档编号:569183712 上传时间:2024-07-28 格式:PPT 页数:66 大小:599KB
返回 下载 相关 举报
软件工程基本原理第一章第二章_第1页
第1页 / 共66页
软件工程基本原理第一章第二章_第2页
第2页 / 共66页
软件工程基本原理第一章第二章_第3页
第3页 / 共66页
软件工程基本原理第一章第二章_第4页
第4页 / 共66页
软件工程基本原理第一章第二章_第5页
第5页 / 共66页
点击查看更多>>
资源描述

《软件工程基本原理第一章第二章》由会员分享,可在线阅读,更多相关《软件工程基本原理第一章第二章(66页珍藏版)》请在金锄头文库上搜索。

1、教材:软件工程教材:软件工程参考教材:参考教材: 软件工程实践者的研究方法软件工程实践者的研究方法 (美)(美)Roger S. PressmanRoger S. Pressman著著 黄柏素黄柏素 梅宏梅宏 译译教学方式:授课教学方式:授课(24)(24)实验实验(24) (24) 课课 名:软件工程名:软件工程迎教肋躇洱斧牢多获揩桥撤莲眉询辅渍狡蛔宜群佳肃娶桐羌吝感豹敖缝逮软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024第一章第一章 软件工程概述软件工程概述本章要解决的问题:本章要解决的问题:软件为什么要工程软件为什么要工程化?化?软件产品如何工程软件产品如何工程

2、化?化?苇搭甸库左木仓畦奶歧器删匡境普喉毒驮崎愈挑谎遏镣殴襄沽琉撵两啦凳软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024第一章第一章 软件工程概述软件工程概述软件危机软件危机软件工程软件工程殊惰孝告勤边涩缎荔式斡祈吁辫阶乓务淹袜室播帝奸改声釉娘虱蠢喻兹馈软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024软件及其特点软件及其特点逞澡秽五腑逛窥墨宿磁她蚌蜂酒墟炮森脐姨袋侗脚曲捅虚箍剑僵摹普寄酝软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024一、什么是软件一、什么是软件软件软件 是计算机系统中与硬件相互依存的是计算机系统中与

3、硬件相互依存的另一部分,它是包括程序,数据及其相关另一部分,它是包括程序,数据及其相关文档的完整集合。文档的完整集合。程序程序 是按事先设计的功能和性能要求执是按事先设计的功能和性能要求执行的指令序列。行的指令序列。数据数据 是使程序能正常操纵信息的数据结是使程序能正常操纵信息的数据结构构文档文档 是与程序开发、维护和使用有关的是与程序开发、维护和使用有关的图文材料。图文材料。擒埠垮旱骗感授挤妆扦枚痕兴厚釉伸柜宣犹惟模纬许刘死钱萧琢舅蛮缕健软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024二、软件的特点二、软件的特点软件具有抽象性。软件具有抽象性。因为它是一种因为它是一

4、种逻辑实逻辑实体体,而不是具体的物理实体。,而不是具体的物理实体。软件是开发或工程化而形成的。软件是开发或工程化而形成的。而不是而不是传统意义上的制造产生的。传统意义上的制造产生的。软件不会磨损。软件不会磨损。们弘新疽牢奶搂旋懊吩中奥沂鞘纂涩髓唐戚晨抓途狙约晌冤戈饼栗悦析抛软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024故障率曲线时间故障率软件的故障率曲线时间故障率软件的故障率曲线时间故障率硬件的故障率曲线理想曲线实际曲线雅吴厩烂厚砌厢桌啪醒栽憎体综湾僻暖谬痛盏舱忻腑稿灾兴储始民踪凌稍软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024软件是自定

5、义的。软件是自定义的。他不能通过已有的构件他不能通过已有的构件组装而来。组装而来。软件对计算机系统有一定的依赖性。软件对计算机系统有一定的依赖性。其开其开发和运行常受到计算机系统的限制。发和运行常受到计算机系统的限制。软件成本昂贵软件成本昂贵幌扣浮壤孔侣陀素殴桶垣盅貌敏讣霞院插妥啮治灿凭弃杜幢拔刹膨耽匿穿软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024软件本身是复杂的软件本身是复杂的v实际问题的复杂性实际问题的复杂性v程序逻辑结构的复杂性程序逻辑结构的复杂性 例例1 1 Windows95 Windows95程序超过程序超过10001000万行万行例例2 2 军事和控

6、制军事和控制系统项目,系统项目, 35003500多人花费多人花费了了几年几年时间时间,交付后,交付后相继相继发发现了现了100100个错个错误,最后误,最后以以失败失败告终告终。习镣曼漾惋溉鄙直稍惋粉荷润敷列婪君推舀虏暖敛憾丢喳葵坠园印沿消亩软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024软件的投入费用越来越高软件的投入费用越来越高咙宝苏荚苍唬法镀桐痔词憨匙尿贵雷傻谓珐烂曙由最阻阉亦哎逮帖知笔疾软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024三、软件的发展过程三、软件的发展过程程序设计阶段程序设计阶段 50 50至至6060年代年代程序系统

7、阶段程序系统阶段 60 60至至7070年年软件工程阶段软件工程阶段 70 70年代以后年代以后点葵简杠速谢彭创肉半板秦撮堑纯级陪换芒谬狗捌癸瘤诣昧酪非挫以弧穆软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024计算机50年的发展 早期早期 第二代第二代 第三代第三代 第四代第四代面向批处理面向批处理 多用户多用户 分布式系统分布式系统 桌面系统桌面系统有限的分布有限的分布 实时实时 嵌入嵌入“智能智能” 面向对象技面向对象技术术自定义软件自定义软件 数据库数据库 低成本硬件低成本硬件 专家系专家系统 软件产品软件产品 消费者的影响消费者的影响 人工神经网络人工神经网络

8、并行计算并行计算 网络计算机网络计算机195019601970198019902000小规模程序小规模程序 软件作坊软件作坊 微处理器微处理器 网络网络 软件产品软件产品 蛔物捻妥弗崎筒胶监韭腰小鹏多儿说洼脆弛郡宾得智所仑岗十沤午架师梁软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024蟹颧泛钾氰掏嗽驶疟将与豌季迪须邑刀谍焚奥娱靖跑焙粹柑聂息孽悟殿想软件工程基本原理第一章第二章软件工程基本原理第一章第二章发展带来的新问题:w 硬件的发展超过软件发展;集成度18个月翻一翻,计算速度、存储容量成倍增长,成本每10年递减两位数。w 制作软件的能力和速度与需求不适应;w 计算机的

9、应用依赖于可靠的软件,软件失败将造成巨大经济损失;w 已有的软件难以维护。搅报侧枫痪谨咽爆傅钢台谱错钥肩葵抿佰沮译垦嚼汹驴滩潦疡藕翁止误烙软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024 共 43 页 第13页蟹颧泛钾氰掏嗽驶疟将与豌季迪须邑刀谍焚奥娱靖跑焙粹柑聂息孽悟殿想软件工程基本原理第一章第二章软件工程基本原理第一章第二章中国软件产业面临挑战与机遇w 外国软件渗透w 软件开发投资力度不足w 软件侵权行为w 软件人才结构不合理,缺乏高级系统程序员和项目负责人。w 软件人员缺乏软件工程化的概念。彰笼廊呜饺反味涡截全践篡肩阳哨毙措朗肺蛹溜橙柿脑趟员航羹喉蔬球斟软件工程

10、基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024 共 43 页 第14页蟹颧泛钾氰掏嗽驶疟将与豌季迪须邑刀谍焚奥娱靖跑焙粹柑聂息孽悟殿想软件工程基本原理第一章第二章软件工程基本原理第一章第二章 软件已经从特定的问题解决和信息分析工具演化为一门独立的产业!需要解决的新问题:软件危机!苦贷芽津丝送砚贮菇烦甜轨魄访卸陶用炳拐棠触铭如墩裔粱绥痹良咳蝶菜软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024 共 43 页 第15页1-1 1-1 软件危机软件危机痊峭竖瓦琼侈炯奉很沫仙盈酵迄都拱驻较多吁臻蓑拭樊粗断流时股党侩眉软件工程基本原理第一章第二章软件工程基本原

11、理第一章第二章7/28/2024一、什么是软件危机一、什么是软件危机例例: : IBM公司在公司在1963年至年至1966年开发的年开发的IBM360机的操作系统。这一项目花了机的操作系统。这一项目花了5000人一年的工作量,最多时有人一年的工作量,最多时有1000人投人投入开发工作,写出了近入开发工作,写出了近100万行源程序。万行源程序。.据统计,这个操作系统每次发行的据统计,这个操作系统每次发行的新版本都是从前一版本中找出新版本都是从前一版本中找出1000个程序个程序错误而修正的结果。错误而修正的结果。.器士轴首乌罚廷名蝗奄垫抬景烘裴寞呵荤舔飞宰惋洼炼瞻渣拄讹纲蛛流宝软件工程基本原理第一

12、章第二章软件工程基本原理第一章第二章7/28/2024 项目负责人项目负责人F. D. BrooksF. D. Brooks事后总结了他事后总结了他在组织开发过程中的沉痛教训时说:在组织开发过程中的沉痛教训时说:“.“.正像一只逃亡的野兽落到泥潭中做正像一只逃亡的野兽落到泥潭中做垂死的挣扎,越是挣扎,陷得越深,最后垂死的挣扎,越是挣扎,陷得越深,最后无法逃脱灭顶的灾难。无法逃脱灭顶的灾难。.程序设计工作程序设计工作正像这样一个泥潭,正像这样一个泥潭,.一批批程序员被一批批程序员被迫在泥潭中拼命挣扎,迫在泥潭中拼命挣扎,.谁也没有料到谁也没有料到问题竟会陷入这样的困境问题竟会陷入这样的困境.”.

13、”。IBM360IBM360操作系统的历史教训成为软件开发项目的操作系统的历史教训成为软件开发项目的典型事例为人们所记取。典型事例为人们所记取。常慰替喝骨苏罪藉蹋夏显纺禾弄云坐裴弯荧牡韵驼焚芽憾财颠辉涯补钒蔑软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024问题出在哪里?问题出在哪里?u项目没有被很好地理解;计划不周,最终导致进度拖延;u文档资料不充分,使人与人的交流变得比写程序困难得多;u缺少度量软件可靠性(reliability) 的标准,质量无法保证;u软件难以维护(maintainability) , 不易升级(evolvability);楞熬帝奄胖禄休愤鹊砚假

14、音啦友狈版尊迪且份刻艺服统非牲检撵椰赠涂萍软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024必须意识到:必须意识到:软软件件 编编程程 棋击冕勃俺捡图饲骡架钎啦玖赏雀驭宰巴填萄接汁眠仓老氓傍诵华女必瞄软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024 软件系统的开发与建造高楼大厦、制造软件系统的开发与建造高楼大厦、制造飞机导弹同理,需要工程化方法和工具。飞机导弹同理,需要工程化方法和工具。还瞻欢誊阻沪臣算户铂悟秉有顿徽络脖曳迢怀向驳绍馈里尹琶扒更洪搏缴软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024二、软件危机的主要特征

15、二、软件危机的主要特征l对软件开发的成本和进度估计常常不准确;l用户对“已完成的” 软件系统不满意;l软件质量不可靠;l软件系统常常不可维护;l软件没有适当的文档资料;l软件成本在计算机系统总成本不断上升;l软件生产率的提高速度既比不上硬件的发展,也跟不上计算机应用迅速普及深入的趋势。接蚌了茁像紧蓄焦嘲肥宋羔妒版裳掂嫩要认弃盐丰爆桥散缩增宛娇巍粮秃软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024三、产生危机的原因三、产生危机的原因 u软件需求巨增!软件需求巨增!u软件通用性不强软件通用性不强 u软件难于度量软件难于度量 剔砍侄少确鹊佳嗓臆弛逊乌樱渭驼呢枉峙推寥卡会佳彭

16、算峨董镣娱鉴铝谣软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024产生危机的原因产生危机的原因 u用户与软件开发者之间难以沟通 u软件难以维护:没有适当的文档资料; 软件的维护是修改原来的设计;u软件开发受硬件的限制u软件是定做而不是组装;u没有工程化的管理和方法。挞门乒凰粪硅吱寄鸣趣厘临梦命逞眨狗旨卑荷棱俏赃捻瞒烈晚升求鸳慰踞软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024蟹颧泛钾氰掏嗽驶疟将与豌季迪须邑刀谍焚奥娱靖跑焙粹柑聂息孽悟殿想软件工程基本原理第一章第二章软件工程基本原理第一章第二章改正一个问题需付出的代价改正一个问题需付出的代价改正

17、一个问题的估计费用改正一个问题的估计工作量20200200010005.02.50.050.5(人/天)需求分析概要设计详细设计编码调试系统测试用户现场痛配储骄吮茹碟隧轴陌踩磺驱坍撼施仅外淀淌骗炎辐衍珐厂谐染袁船汲餐软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024 共 43 页 第25页 解决问题的途径解决问题的途径软件开发工程软件开发工程化!化!如何维护已有的软件?如何使软件的如何维护已有的软件?如何使软件的开发速度适应越来越大的软件需求?开发速度适应越来越大的软件需求?挠康浮睡爪区沏高胆职促画皇微俗的裁厕栖敛砾崇轻偷铀椎刽决焊砧惯缕软件工程基本原理第一章第二章软件

18、工程基本原理第一章第二章7/28/20241-2 1-2 软件工程软件工程盏掖芍葱申伟挠刨苏捶泅当庄澜诉宙冕心杏强酵撬档冷炭侧频孝翅柑鹅悬软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024一、软件工程一、软件工程什么是软件工程?l l软件工程是指导计算机软件开发和维护的工程学科。l l软件工程是以系统的、工程的概念、原理、技术和方法开发和维护软件,把先进的管理技术和开发技术相结合,经济地开发出高质量的软件并有效地维护它。w软件工程是1968年NATO在计算机科学家国际会议上首次提出来。癣隧贪习株袁坚标吾敲然饭与画将队授色抛籽捧碎坚糖缮掏甘驹讶征肄疡软件工程基本原理第一章

19、第二章软件工程基本原理第一章第二章7/28/2024l lFritz Bauer的定义:软件工程是为了经济地获得可靠的并能高效运行的软件,而建立和使用的完善的工程化原则。什么是软件工程? IEEE的定义:软件工程是开发、运行、维护和修复软件的系统方法。 将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程。让骡缠共衰雁乔詹丑悯泪蕉龚韩扫梭拆耳埂句费席冗秩苗瑶幅柳倍曼虱炮软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024Boehm提出了软件工程的7条基本原理:l用分阶段的生命周期计划严格管理;l坚持进行阶段评审;l实行严格的产品控制;l采用现代程序设计技术;

20、l结果应能清楚地审查;l开发人员应该少而精;l承认不断改进软件工程实践的必要性二、软件工程基本原理菌涉糊蜘砰条员茸答甚贯态康浴拍播庄限暗断湘虑冈膀闰翼能踞阂饯产暖软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024一个好的工业,应该有一一个好的工业,应该有一套良好的标准来配套。套良好的标准来配套。软件的工业化生产过程应具备的特点:软件的工业化生产过程应具备的特点:明确的工作步骤明确的工作步骤详细具体的规范化文档详细具体的规范化文档明确的质量评价标准明确的质量评价标准三、软件工程方法学方法工具过程锑枣葵契谁葱辜玉乏苦姆怕汐牢蝇溜方嗽苫幂见得鸟蔓晌选乞赏凑蘸譬爸软件工程基本原

21、理第一章第二章软件工程基本原理第一章第二章7/28/2024软件工程层次图:软件工程层次图:管理:管理:支持软件工程的根基在于对质量的关注。过程:过程:过程将技术层结合在一起,使计算机软件合理并及时开发出来。方法:方法:涵盖一系列的任务:分析、设计、编程、测试和维护。工具:工具:对过程、方法提供自动或半自动的支持。例:CASE软件工程环境。工具(工具(CASE)方法(任务)方法(任务)过程(构建框架)过程(构建框架)质量管理(基础)质量管理(基础)计算机辅助软件工程。集成了软件、硬件和一个软件工程数据库(仓库),形成了软件工程环境。袒槛橇滚晴驹床样适遗簧嚎识璃酱炒照史乓净葫李锚靳威痊管缓褒好辕

22、泼软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024软件工程的一般视图:软件工程的一般视图: 软件工程完成对技术实体(计算机软件)的分析、设计、建造、验证和管理。软件工程必须回答的问题:n要解决的问题是什么?n实体有哪些特点?n如何实现?n如何建造?n如何及时发现错误?n如何维护?拾钦馁凯持道八颜游搅躯志号刚骸惊睛独秒垃任编您褐躲檬械吴坊画筐舀软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024软件工程方法学的分类l传统方法学 生命周期方法学(结构化范型) 采用结构化技术完成软件开发的各项任务l面向对象方法学 面向对象方法对象类继承用消息通信福助幌

23、博驳瞳越锌缔空镊化凰荡幕舞塞峦准哼膳举罗萧蔓颁辆苹晚曙金顷软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024软件生命周期软件生命周期( life cycle )什么是软件生命周期?软件孕育、诞生、成长、成熟、软件孕育、诞生、成长、成熟、衰亡的生存过程。衰亡的生存过程。为什么要研究软件生命周期?!生命周期的全过程决定了软件工程的任务。!生命周期的全过程决定了软件工程的任务。生命周期的三个组成部分:软件定义、软件开发、软件运行与维护。生命周期的六个步骤:制定计划、需求分析、设计、程序编码、测试及运行维护。慢您牙筋挎原漆塑斯驮护冀啦桶缮茧凶迪额杯炔姐廊挺担定搐纳蚀呸缺耳软件工

24、程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024为什么称为软件生命周期?为什么称为软件生命周期?人的生命周期费用贡献软件生命周期费用效益阔近撇民纲元藤誉锣臂欢髓斥喧慌潘澳患宠鸣沤倚雌艇荚给翟什琳域疽骑软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024小结:小结:什么是软件危机?解决软件危机的途径? 软件危机是指在计算机软件的开发和维护过软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重的问题程中所遇到的一系列严重的问题; 软件工程化软件工程化软件生命周期都有几部分组成? 软件定义、软件开发和软件维护软件定义、软件开发和软件维护几个重要的概念

25、:几个重要的概念: 软件工程、软件危机、软件生命周期软件工程、软件危机、软件生命周期惩晨假俞藩滁颈舌骤慑坟妓酞矣臆洽停凛记毋恃韦骡懈缘于羽饰盾却吐性软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024作业:作业:、课后练习中的第一题和第三题、讨论作业:假设你们是某软件公司的项目经理和系统架构师,现在得到了北京石油化工学院几个部门的软件招标信息:一、图书馆管理系统;二、学生选课系统;三、人事管理系统;四、校医院的收费系统。老板要求你在四个系统中任选一个写项目申请书。(可以几位同学一组,下一节课每一组派一位或多位代表讲申请书)摩估威菊傍策鸦住悔绒望刁窥绵显纸顺那挛镊牙塞淆审授

26、原桶姓彰蛛尼翁软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024申请书包括的内容、问题定义项目的目的和意义。、工程目标系统应解决的问题。、系统的主要功能及特色、可行性分析(经济和技术)经济可行性和技术可行性。骤州沃旗斥衅景撑价氨蕊朴葵茅配蜡飘注褒川铂堡厩烽褐麦守熏飞红程耗软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024第二章 软件过程晦训定纠涅聪杏伏毋喧褂命俭胸徒渍肄吴泣遣府惧铝歼够迸删电厄约洪却软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024一、软件生命周期的基本任务l问题定义 “要解决什么问题?”l可行性研究 “上

27、一个阶段所确定的问题是否有行得通的解决办法” 目的:用最小的代价在尽可能短的时间内确定问题是否能够解决钟莎衔离窜潍惰狞漂剿毁沼摹陪辰丈虐哮睡予臃骸疲乔绝酮蜡樟谦申肘添软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024l需求分析 “系统必须做什么” 对待开发软件提出的需求进行分析并给出详细的定义 编写软件需求规格说明书 提交管理机构评审炭啤子呵回皮靳窒垃疆祁芭股截莫媳奶环伦岭士蓄囚拜弹撅咀刽疾卧贯颖软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024概要设计 把各项需求转换成软件的体系结构。结构中每一组成部分都是意义明确的模块,每个模块都和某些需求相

28、对应详细设计 对每个模块要完成的工作进行具体的描述,为源程序编写打下基础编写设计说明书,提交评审。吓尿叔憋嗽酶安辛楞侣望轩盖蘸恤泣垒背慨啄匆俄楚迎可狄乖溜侵史需膘软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024编码 把软件设计转换成计算机可以接受的程序代码,即写成以某一种特定程序设计语言表示的“源程序清单” 写出的程序应当是结构良好、清晰易读的,且与设计相一致的淄新第只胎勾玄业烹幽韦腕赋褥苗敲昧沿芬族吗胁级弊躺挞肄冰矽爹庄消软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024软件测试单元测试: 查找各模块在功能和结构上存在的问题并加以纠正组装测试

29、:将已测试过的模块按一定顺序组装起来按规定的各项需求,逐项进行有效性测试,决定已开发的软件是否合格,能否交付用户使用麦烫豆炳鞋增拐驱钉肠弊酿减逊郡谓柴蜕恼捞夸稿铜檀景嘻插镇倔豆另乳软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024软件维护改正性维护改正性维护: 运行中发现了软件中的错误需要修正适应性维护:适应性维护: 为了适应变化了的软件工作环境,需做适当变更完善性维护:完善性维护: 为了增强软件的功能需做变更沮颐挟纶熔示块幢粉业喉箍镇草腊弊词楷豪康摊绞糙觅锡察张糜恳六愁杆软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024蟹颧泛钾氰掏嗽驶疟将与豌

30、季迪须邑刀谍焚奥娱靖跑焙粹柑聂息孽悟殿想软件工程基本原理第一章第二章软件工程基本原理第一章第二章 2.2瀑布模型瀑布模型问题定义可行性研究概要设计详细设计仟给魁玉馆墨玛壕克忧炊射震玩邮刁蒸饮勒戈炒萍优操含栖针韭挛籽汞株软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024 共 43 页 第47页实际实际瀑布模型瀑布模型特点:特点:阶段间具有顺序性和依赖性阶段间具有顺序性和依赖性推迟实现的观点(逻辑设计推迟实现的观点(逻辑设计与物理设计分开)与物理设计分开)质量保证观点质量保证观点线性顺序能蹲战灶供减柿言袭瞄有寨畔镊凄霹闺戏雇墅哥礼绿太墒潍食寓獭笔旋涸软件工程基本原理第一章第

31、二章软件工程基本原理第一章第二章7/28/20242.3快速原型模型用于最终系统的早期用户评价。特点: 开发工期短; 质量有保证; 风险最低听取用听取用户意见户意见建造建造/ /修改修改 原型原型用户测试用户测试运行原型运行原型婆沈瀑季乱骗敞栓吓猾陨亥予哦炼斗灭哗蓄扭凳僧砷咱禁汕坍森促阻博臃软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/20242.4增量模型 先完成一个系统子集的开发,再按同样先完成一个系统子集的开发,再按同样的开发步骤增加功能的开发步骤增加功能 (系统子集系统子集),如此递如此递增下去直至满足全部系统需求。增下去直至满足全部系统需求。 系统的总体设计在初始

32、子集设计阶段就应系统的总体设计在初始子集设计阶段就应作出设想作出设想 揪筛县蝴逊姿犀廓姻犹晴帕赴执焰证破峡颠彦酸铺懂健肤织啡售辖臂搔椽软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/20242.5螺旋模型l基本思想:使用原型及其他方法尽量降基本思想:使用原型及其他方法尽量降低风险(每个阶段前都增加了风险分析)。低风险(每个阶段前都增加了风险分析)。l适应:大规模软件适应:大规模软件 利于已有软件的重用利于已有软件的重用 减少过多的测试带来的风险减少过多的测试带来的风险 维护和开发没有本质的区别维护和开发没有本质的区别优点:葫云建植嘲昔阀法宣苞项询桶棚傻窜铺傅国湿蚤常砷龄代羞北

33、际宠时怒膨软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024 将原型的迭代特征与线性顺序模型中控制的将原型的迭代特征与线性顺序模型中控制的和系统化的方法结合起来。和系统化的方法结合起来。伯戒饮洋槛保皖柠填提朗桥佃赐晃脐傅中龄爷带粳导袒恒落礼论气篇夷琼软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/20242.6喷泉模型l迭代迭代w重复重复w演进演进w无间隙无间隙w各阶段间无明显界限各阶段间无明显界限焦幸摇摹终俏程厚诧缸瘪久瘟昭佃兼皆象帽栏匪悟稽农算雹盯舷允窝猖掖软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024吼涤四爵利恐聪畴旭

34、咽碳强位驻栗烦仍仁选澜蒋浅傻壳钧檀度命喉吻靠卵软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/20242.7 Rational统一过程(rational unified process,RUP)wRational公司推出的一个软件开发过程框架,指团队可以根据具体的项目组或软件开发企业的不同需求,能够定义、配置、定制和实施一致的软件开发过程。w核心元素: 1、用于成功开发软件的一组基本观念和原则 2、一套关于可重用方法内容和过程 3、基础的方法和过程定义语言尾终虞蛛乱持四擞又怂俘辈曹发哈浴栓潦吼匿昨洼荐呼捶彭散缄堕霉满铺软件工程基本原理第一章第二章软件工程基本原理第一章第二章7

35、/28/20242.7.1 最佳实践w软件开发是一项团队活动,理想情况下通过团队的默契合作,完成贯穿软件生命周期的各阶段。w最佳实践 1、迭代式开发 2、管理需求(使用用例和脚本) 3、使用基于组件的架构(组件是功能清晰的模块或子系统) 4、可视化建模(通常建立问题模型的方法) 5、验证软件质量(贯穿于整个的开发过程) 6、控制软件变更(管理变更的能力)醛盂止护阐潞古野炯轧陋具屋煌竟工净倍稗振窒梧匹砰钥员舱靶潭揖朱遂软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/20242.7.2 RUP的十大要素w(1)前景:制定前景 关键术语、解决什么问题、谁是干系人和用户、产品特性、功

36、能性和非功能性需求、设计约束w(2)计划:按计划管理 software development plan,SDP综合了管理项目所需的各种信息。“计划并不重要,重要的是实施计划”。计划、风险、业务案例、架构以及控制变更是管理流程的要点w(3)风险:降低风险并跟踪相关问题(识别风险)w(4)业务案例:检验业务案例 从业务立场提供了确定该项目是否值得投资的必要信息。w(5)架构:设计组件架构 指一个系统关键部件的组织或结构,组件之间通过接口交互,而组件是由一些更小的组件和接口组成的。躺喳杰点茎秉结淬承疲晶诅灰碾羡赢宣脂地梁烦小模筏窗柑罐凛连祟德真软件工程基本原理第一章第二章软件工程基本原理第一章第二

37、章7/28/20242.7.2 RUP的十大要素w(6)原型:增量地构建和测试产品w(7)评估:定期评估结果w(8)变更请求:管理并控制变更w(9)用户支持:部署可用的产品w(10)过程:采用适合项目的过程鄂赌威切辰寻裹桓就粟咳辕木恕在殿酣眼异棘卿盔谢客疑罗丝界住仪甲韧软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/20242.7.3 RUP生命周期w核心工作流(前6个核心过程工作流程,后3个核心支持工作流程)叮园缔吭墩搬饼径源低迪跌桐神蒸孝戴侮慷匠摈矛嫁獭受毛镰竭欲昆庇然软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/20242.7.3 RUP生命周期w工

38、作阶段wRUP迭代式开发威偏钢厌欲恋阿嫂聚肪库驱谦尤谢缎汲烤迟楔享雇双黍娇饲郊鹰镭弄松屹软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/20242.8 敏捷过程与极限编程w2.8.1 敏捷过程概述w“个体和交互”胜过“过程和工具”w“可以使用的软件”胜过“面面俱到的文档”w“客户合作”胜过“合同谈判”w“相应变化”胜过“遵循计划”削皂删伴蝎抛卢煌陇澄氰盯伎韵层懒折赎革梗荐嵌谓羌鸡奢九挨昔镁酪双软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024 “极限”的含义是把好的开发实践运用到极致。广泛应用于需求模糊且经常改变的场合。2.8.2 极限编程(extre

39、me programming,XP)滩绅列黑笑丰儿孩挖贰茶滓溶本仅汝竿淖舒央希呀缚异赏旗结冰法鬼鸣呼软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/20242.9 能力成熟度模型w能力成熟度模型(capability maturity model,CMM)并不是一个软件生命周期模型,而是改进软件过程的一种策略,与实际使用的过程模型无关。w基本思想:因为问题是由管理软件过程的方法不当引起的,所以新软件技术的运用并不会自动提高生产率和软件质量。能力成熟度模型有助于软件开发组织建立一个有规律的、成熟的软件过程。改进后的过程将开发出质量更好的软件,使更多的软件项目免受时间和费用超支之

40、苦。僚骡玲尽闻袱葬炯蔚蓑届乱乐孔模拣矽翼野窥粗冰隆靶网惫浩戚争获奸面软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024CMM结构2.9.1 能力成熟度模型结构趁稽延邻焰烷涡睬朋邑抓锹看遇友陕臣耀庭什蒙姥赎疑域既怎危硒芹视炭软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/20242.9.2 能力成熟度等级撑宋声诵高粗骚粟绞埃傅敛棚届楼批台梁撑嚣鹅父喜库裹坏拟打窒侦若卑软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024作业:作业:结合思考题阅读教材第一、二章结合思考题阅读教材第一、二章弹艺缮您狮哑安柯螺葡谓痢终假笼郊违摧碱搽吕粕唁议簇禁加款恬签戴倪软件工程基本原理第一章第二章软件工程基本原理第一章第二章7/28/2024

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号