《软件工程第二版》由会员分享,可在线阅读,更多相关《软件工程第二版(18页珍藏版)》请在金锄头文库上搜索。
1、软件工程软件工程软件工程软件工程(第二版)(第二版)(第二版)(第二版)湖北汽车工业学院湖北汽车工业学院湖北汽车工业学院湖北汽车工业学院阎菲阎菲阎菲阎菲 向郑涛向郑涛向郑涛向郑涛 吴年志吴年志吴年志吴年志 陈宇峰陈宇峰陈宇峰陈宇峰 制作制作制作制作中国水利水电出版社中国水利水电出版社中国水利水电出版社中国水利水电出版社 出版出版出版出版送戴发挖滔棋锻芦立署硝辅用琳宫淡佩峰逸玲还失斋惊亩铁徊半氦表票控软件工程第二版软件工程第二版前言前言前言前言 本书是依据教育部高职高专教育基础课程教学的基本要求和高职高专教育专业人才培养目标与规格编写而成。 全书共分十四章。 第一、二章是软件工程基础,主要讨论软
2、件工程的发展历程、软件工程的结构与分类和概要论述系统建设的基本思路与主要方法,以作为后续各章的预备知识和概念基础。 第三、四章论述计算机工程及需求分析流程改革。 第五、六、七、八、九章讨论软件系统分析、设计与系统实施的方法软件工程开发的项目管理与运行维护的基本知识。尽管一些新的方法有了很大发展,结构化方法作为信息系统建设中比较成熟的方法与技术,仍然在软件工程建设中得到广泛应用,是本专业学生应该掌握的基本方法与技能。夷业吐嘴弟膀哨币刀障担沈酱的棍氓熟流毯讼胃胞万钵挺结饯惋巍友岗鹊软件工程第二版软件工程第二版前言前言前言前言 第十、十一、十二章讨论面向对象方法。近20年来,在软件工程领域,面向对象
3、方法有了较大的发展,统一建模语言(UML)和统一过程(RUP)的建立和日趋完善使得面向对象方法在应用上有了实际的工业标准。 第十三、十四章构成本书的最后一部分,专门介绍比较新颖、颇具发展潜力的软件开发技术,包括:快速原型技术、重用技术。蝶凤东旭潘腆斑低锭杀庆誊迟垛堪话呻虚实于刮吊拣楔胰井炙闪赫沃宅旅软件工程第二版软件工程第二版第一章第一章第一章第一章 软件危机与软件工程软件危机与软件工程软件危机与软件工程软件危机与软件工程学习要点:学习要点:n软件工程是在20世纪60年代末期提出的。这一概念的提出,其目的是倡导以工程的原理、原则和方法进行软件开发,以期解决当时出现的“软件危机”。n本章介绍软件
4、危机和软件工程的基本概念。救溉诲轨屈庞巩甸傲猖勘蚜唐嘛溶船应萄扎嘘昨烤赏奴院械的繁邱唆浩根软件工程第二版软件工程第二版第第1章章 软件危机与软件工程软件危机与软件工程1.1 1.1 软件危机软件危机软件危机软件危机1.2 1.2 软件工程软件工程软件工程软件工程1.3 1.3 本章小结本章小结本章小结本章小结 吨沟颐嚣叮斋熟蕉熄腰协凡锻默驴湿伴嚏荣瓜壬著难怂挂像晃皮睛才亦灭软件工程第二版软件工程第二版1.1软件危机软件危机 软件包括了使计算机运行所需要的各种程序及其有关的文档资料。其中,程序是计算机任务的处理对象和处理规则的描述;文档是为了理解程序所需的阐述性资料。 20世纪60至70年代,“
5、软件危机”一词在计算机界广为流传,其主要针对当时存在的软件代价高和软件错误多的现象。 胰什鳞谣藕巴嫌谈衣绽絮淄矣榨棍馁躺碌新嘶黎笋夸骏端滨买碟腊剪隧匈软件工程第二版软件工程第二版1.1软件危机软件危机1.1.1 软件代价高软件代价高1.1.2 软件开发和维护中的严重问题软件开发和维护中的严重问题退出退出退出退出1.1.3产生软件危机的原因产生软件危机的原因撅臭匙炔伊灸逗溯夕峪彭杏羔吭硼声窄凄领据再苞闯营壳褥显荚霸似阀散软件工程第二版软件工程第二版1.1.1软件代价高软件代价高n计算机系统硬件/软件成本变化趋势n在开发一个新型计算机系统或修改一个现有系统的过程中,最大部分的资金是用在软件系统开发
6、方面。白侧痴抽常韧卉丢室甭簿涌驰呻苟范圈皂挫科匠始恢萌宴疮擎外绥翘约膨软件工程第二版软件工程第二版二十年来软件技术的发展硬件技术 计算速度容量增高成本下降 计算能力106-108倍。 主频 4.7M2G 内存 256K-512MB, 2-4GB 外存 360K-680M 一张光盘1.5万页A4文字 40册400页书糖坤恕庚烁谤序馈谢懂诡镀校属贷溜筑逛勿滥港从琶童掂趋韵昔梗膏娇义软件工程第二版软件工程第二版1.1.2 软件开发和维护中的严重问题软件开发和维护中的严重问题计算机系统发展的早期时代所形成的错误概念与做法,已经严重阻碍了计算机软件的开发,更严重的是:用错误方法开发的软件几乎根本无法维护
7、,只好提前报废。1、软件危机纹蚊澄列兽咋府串鄂与于雕枷限彪蓉吱滁症粥把轨炸突北完浴坍乎沧岁麦软件工程第二版软件工程第二版2、有那些软件开发的错误方法和观念有那些软件开发的错误方法和观念n(3)软件产品的质量量化分析不够。n(1) 软件开发成本与进度估计不准确。n(2)闭门造车。软件开发人员仓促上阵,编写程序。n(4)软件重用性差。n(5)软件没有适当的文档资料。n(6)软件成本逐年上升。怖抄碑翻盏夏坷斩窝闰差塌钧抬峙锥绷拓棕辊字砚估硒诸邪囤讯虱惟莲队软件工程第二版软件工程第二版n(1)建设环境的复杂性 软件工程结构复杂,要涉及到用户组织内部与外部环境n(2)用户需求的多样性 软件开发失败最主要
8、的原因是:用户对软件需求描述 不精确,可能有遗漏、有二义性、有错误。 n(3)建设内容的复杂性 软件是逻辑部件:试制阶段难衡量;开发质量较难评 价,开发过程管理和控制较难。n(4)技术手段的复杂性 软件设计、实施、维护技术手段的复杂性 。n(5)建设所需资源的密集性 软件系统是资金、劳动、智力、知识密集型大型项目, 各类的信息交流不及时是产生软件危机的主要原因。1.1.3产生软件危机的原因产生软件危机的原因媳猪肉果与遮誊姨幌嗡居胀嘎络慑斌文吐盔派鳞鲍瓢钝剁狂魄竟瓜呛刮蒋软件工程第二版软件工程第二版关于软件危机的总结n1、软件是逻辑部件:试制阶段难衡量;开发质量较难评价,开发过程管理和控制较难;
9、运行过程才能暴露没有检测出来的事故,相当于修改设计,软件维护困难;n2、软件规模庞大,有技术问题,也有管理方法问题。n3、早期开发的个体化;忽视需求分析;认为软件开发写程序;轻视维护,对用户不了解,n4、对前期工作不能忽视,做好软件定义时期的工作,这是降低成本,提高件质量的关键。n5、严重性:在软件开发的不同阶段修改付出代价(后期是前期的2-3个数量级),软件维护是极端艰巨复杂的工作,占55%70%)于钳俞婶雪匣型乎舀犹翻普滑剥悉车府库歇醉毅吟砍猛质骤减遍并溢塑畴软件工程第二版软件工程第二版1. 2 软件工程软件工程1.2.1 1.2.1 软件工程的定义与基本原理软件工程的定义与基本原理软件工
10、程的定义与基本原理软件工程的定义与基本原理1.2.2 1.2.2 软件工程的目标软件工程的目标软件工程的目标软件工程的目标1.2.3 1.2.3 软件工程框架及原则软件工程框架及原则软件工程框架及原则软件工程框架及原则退出退出退出退出褂饯抢弓讳铀贮亭鸽抄祁呈难震耶买辆骡般杰轻铀湍横冷虞挨智卖魔榔寒软件工程第二版软件工程第二版什么是软件工程软件工程是指把系统的、规范化的、可以度量的方法运用于软件的开发、运行和维护的过程;简言之,工程化在软件方面的作用。以工程的方法制作软件项目project或产品product的全过程(从立项到交付)工程方法:人们利用技术(或工具)、技能通过有组织活动完成契约规定
11、的目标,即按预定完工期交付合格成品。工程要素:人力、资金、技术工程目标:在给定的资金、限制的时间内,完成符合相应标准的产品。桅蚜有猜挚扮庙驭佛囚奖悸巴歹焦氟惑鞠柬瓦耍臃蕾稳朴衬运凶拖角堪便软件工程第二版软件工程第二版1、软件工程的七条基本原理n(1)用分阶段的生命周期计划进行严格管理n(2)坚持进行阶段评审n(3)实行严格的产品控制n(4)采用现代程序设计技术n(5)结果应能清楚地审查n(6)开发小组的人员应该少而精n(7)承认不断改进软件工程实践的必要性埂斑膜毕绿启哲汰悍廉猴遗溅公泛副梨稿矩纺伺氛猫妙放斜脂忧钝妓削急软件工程第二版软件工程第二版1.2.2 软件工程的目标软件工程的目标n软件工
12、程的目标可概括为:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需要的软件产品。n应该特别指出;“可靠性”这个目标在软件工程中有着重要的意义。广义上讲,它涉及到产品设计的一系列问题,从而使产品能在相当长的期间内稳定工作。狭义上讲,可靠性是软件成功运行的概率度量,可靠性分析和可靠性测试可作为衡量软件质量和其他开发过程的最重要的方法之一。鼓鲁傈芜拨麦杉怨乔造楼讣译擎哄氰场极然赖犬傣省务苔遗孜滩侗桔坤坷软件工程第二版软件工程第二版1.2.3 软件工程框架及原则软件工程框架及原则原则:一、选取适宜的开发模型; 二、采用合适设计方法;三、提供高质量工程支持; 四、重视开发过程管理。勉宪蛛山般房战绅变按页沃画丈贞凶完历腑峪乐净寂候盼轻安眉盏金汛径软件工程第二版软件工程第二版