软件工程讲义

上传人:cl****1 文档编号:481999512 上传时间:2022-11-16 格式:DOC 页数:22 大小:738.50KB
返回 下载 相关 举报
软件工程讲义_第1页
第1页 / 共22页
软件工程讲义_第2页
第2页 / 共22页
软件工程讲义_第3页
第3页 / 共22页
软件工程讲义_第4页
第4页 / 共22页
软件工程讲义_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《软件工程讲义》由会员分享,可在线阅读,更多相关《软件工程讲义(22页珍藏版)》请在金锄头文库上搜索。

1、课程概述一、软件工程学科介绍二、学习目标三、部分参考资料四、课程特点和学习的注意事项五、教材简介六、课程考核方式一、软件工程学科介绍 软件程学科发展历史三个阶段:概念提出、学科雏形、学科确立 第一阶段:概念提出1968 年 NATO 会议(北大西洋公约组织的计算机科学家的国际会议)提出“软 件工程”概念。 当时对“软件工程”代表性定义:为了经济地获得在真实机器上可靠工作的软件而制 定和使用的合理工程原则和方法。1972 年 IEEE 学会的计算机分会 IEEE 一 CS 第一次出版了“软件工程学报” 第二阶段:学科雏形上世纪 70 年代末,美国将软件工程教程列入研究生教育计划。1980 年代末

2、和 1990 年代初,软件工程教育得到卡内基一梅隆大学软件工程研究 所( CMU / SEI )的支持。1991 年,“软件工程”被 ACM (美国计算机协会)和 IEEE / CS 列为计算学科的 九个知识领域之一。1993年,IEEE CS和ACM为了把软件工程建设成为一个专业,建立了 IEEE 一 CS / ACM 联合指导委员会。第三阶段:学科确立2004 年 8 月, IEEE 一 CS 和 ACM 给出: 软件工程知识体( SWEBOK , Software Engineering Body of Knowledge ) 软件工程教育知识体( SEEK ) 最终版,标志着软件工程学

3、科在世界范围正式确 立。 软件工程、计算机科学、计算机工程、信息系统、信息技术并列成为计算学科下的 独立学科。软件工程知识体( SWEBOK ) :全面描述了软件工程实践所需的知识。SWEBOK (软件工程知识体 10 个领域软件需求软件设计软件构造软件测试软件维护软件配置管理软件工程管理软件工程过程软件工程工具和方法软件质量SWEBOK详细结构(1)敕件祂试皿础软卅构進件品求也端f 鳥需求规搐说明脯认f实細考虑f閒咸讣瓯f敢件设计符号f林:件讣计的箍略与方注件陶危 li-.i,.11一*-理松九实际琴虑一*试减冏求介析f川:过邑f鞍件堆护廳副一*:父件綁护的关犍间廳f维护及农f敕件设计斤躺诃

4、趣技件結构与体系結恂软件运I晌If的仆折与评价t袒试吗艾软fT-T.FPIl识体系SffEBOK)指南2004年版r.软Fl设计L软件测试软件需求-软卅维护SWEBOK详细结构(D软件配软件丄软件丁程过程软件工程工具和方法软件质眾*软件配百管理过程管理*启动和范围定义过程实施与改变.软件配迓标志*软件殛訂计划*过程定义*软件配 百控制*软件取目实施*过程评走軟件工口;软件需求 匸具、软件设计工 具、软件构造构件、.軟件测试工软件 维护工具、软件配苣 管理T具.软件丁程 过程丄具、软件质量 匸具、其他工具向题一软件质量管理软件质量过程.软件配苣 状态统计*软件配肓审核*软件览行管 理和交付*评审

5、打评价.过程和产 品度量,实践 考虑关闭*轶件工程度能软件工程方法:启发 *式方袪、形或化方法、原型方法软件工程与其他学科的关系 1 、软件工程是计算学科 9 个领域之一算法和数据结构计算机系统结构人工智能和机器人学A数据库和信息检索人一机交互操作系统A程序设计语言软件方法学和软件工程 数字和符号计算计算学科中12个重复出现的基本概念绑定.概念和形式模型效率抽象层次按时间排序安全性大问题的复杂性一致性和完备性演化按空间排序重用折衷与决策2 、 8 个相关学科知识域计算机工程计算机科学数学管理学项目管理质量管理系统工程学软件人类工程学其中:计算机科学、数学是基础工程学科、管理学科也非常重要软件程

6、是一门什么样的学科? 它是指导计算机软件开发与维护的一门工程学科。工程:将科学及数学原理运用于实际用途的应用手段,如:设计、制造、机器操纵构架等。典型的传统工程:建筑工程、机械工程、电力工程等。概括的说,软件工程即用工程、科学和数学的原则和方法研制、维护计算机软 件的有关技术及方法,其优点是以较小的代价开发高质量的软件并有效地维护它。二、学习目标(1) 掌握软件工程的基础知识和理论,对软件工程学有一个全貌的了解; 熟悉软件项目开发和维护的一般过程; 熟练掌握软件需求分析、设计、编码和测试等阶段的主要思想和技术方法;二、学习目标(2)通过学习,特别是通过课程设计,真正运用和深刻体会软件工程的思想

7、方法, 转变对软件开发的认识:从个人的单纯编程活动转移到进行系统分析与设计方面上 来转变思维定式:程序员 系统工程师(系统分析员)三、部分参考资料 软件工程理论与实践 许家冶等编著,高等教育出版社, 2005 年 软件工程 (第二版),齐治昌等,高等教育出版社, 2004 年 面向对象的系统分析 ,杨芙清等编著,清华大学出版社, 2001 年 UML 用户指南 G Booch 等著,邵维忠等译,机械工业出版社 2002 年四、课程特点和学习的注肯事项1 、知易行难 要将理论知识与实践运用结合,进行对照,以加深理解和掌握。2 、内容纷杂软件工程涉及计算机科学、数学、工程科学和管理科学等多个领域。

8、其中:A计算机科学和数学用于构造模型与算法;A工程科学用于制定规范、设计范型、评估成本及确定权衡 A管理科学用于计划、资源、质量和成本的管理。五、教材总目录第 1 章软件工程学概述第 2 章可行性研究第 3 章需求分析第 4 章形式化说明技术第 5 章总体设计第 6 章详细设计第 7 章实现第 8 章维护第9 章面向对象方法学引论第 10 章面向对象分析第 11 章面向对象设计第 12 章面向对象实现第 13 章软件项目管理附录 AC + 类库管理系统分析与设计附录 B 汉字行编辑程序设计课程内容学时安排章节课程内容学时l软件工程学概述42可行性研究43需求分析45总体设计66详细设计47实现

9、8章节课程内容学时8软件维护29面向对象方法学引论410面向对象分析211面向对象设计212面向对象实现213软件项目管理614总结2六、课程考核方式 分数组成: 平时成绩( 10 % ) :以理论课课堂表现为主。 作业( 30 % ) :书面作业 期末考试(60 % ) :第 1 章 软件工程学概述学习重点Al、软件危机、软件工程产生的原因2.软件工程过程和软件生命周期A3、软件生命周期模型掌握几个基本概念A 软件危机A 软件工程A 软件过程A 软件生命周期A 软件生命周期模型软件危机与软件工程学软件工程学的产生要从“软件危机”说起A1968 年,第一届 NAT0 (北大西洋公约组织的计算机

10、科学家的国际会议) 会议,“ 软件工程” 的慨念作为一种有效解决“ 软件危机” 的途径被正式提出。什么是软件危机?软件危机有什么典型表现?为什么会产生软件危机? 怎么解决软件危机?1 软件危机 1 . 1 . 1 软件危机介绍什么是软件危机?软件危机指在计算机软件的开发和维护过程中,所遇到的一系列严重问题。 软件危机主要包括的问题(两方面) : 如何开发软件 如何维护软件软件危机有什么典型表现?(1)开发费用和进度难以估算和控制,大大超过预期的资金和规定日期; 软件需求分析不够充分,用户不满意“已经完成”的软件系统。 软件质量难于保证;软件维护困难;A 难以改正程序中的错误;A 难以根据用户的

11、需要在原有程序中增加一些新的功能。软件危机有什么典型表现? 通常没有保留适当的文档资料。文档的作用:软件开发管理人员:用于管理和评价软件开发工程的进展状况软件开发人员:用于开发人员对各个阶段的工作都进行周密思考、全盘权衡、 从而减少返工。并且可在开发早期发现错误和不一致性,便于及时加以纠正 软件维护人员:软件维护的依据开发成本逐年上升,软件开发生产率提高的速度,远远跟不上计算机应用迅速几个软件危机的著名案例 1966 年, IBM 360 机的操作系统。花费 5000 人一年的工作量,写了近 1 万 行代码。错误百出,每次的新版本就是从前一版本中找 1 000个程序错误而修正的 结果。 196

12、3 年,美国用于控制火星探测器的计算机软件中的一个 “ , ” 号被误写为 “.” , 而致使飞往火星的探测器发生爆炸,造成高达数亿美元的损失。 美国丹佛新国际机场自动化行李系统软件。投资 1. 93 亿美元,计划 1993 年 万圣节启用。但开发人员一直为系统错误困扰,屡次推后启用时间,直到 1994 年 6 月,机场计划者承认无法预测何时能启用。 1996 年,欧洲阿里亚纳 5 型运载火箭坠毁,造成 5 亿美元损失。原因是控 制软件中的一个错误。1 . 1 . 2 产生软件危机的原因主要两个原因:1 、与软件本身的特点有关2 、与软件开发与维护的方法不正确有关。一 、软件本身的特点 ( 1

13、) 软件与硬件、一般程序存在很多不同之处。1 、软件与硬件不同抽象性。软件生产没有明显的制造过程,难以衡量开发进展,也难以控制软件质量。 问题的隐蔽性。没有硬件的磨损、老化问题,但存在开发早期在分析、设计阶段的 错误,修改难度较大。失效率蜘线 硬件失效率曲线 时间 软件失效率曲线 时间改正一个问题需付出的代价改正一个问题改正一个问题现场系统测试 集成测试 编码详细设计 结构设计 需求分析2 、软件与一般程序不同( 1) 软件远比一般程序规模庞大,复杂性高A软件所反映的实际问题的复杂性程序逻辑结构的复杂性。A 例 1 : Windows95 , 1000 万行代码; Windows2000 ,5000 万行代码A 例 2 : Exchange 2000 和 windows 2000 开发人员Exchange2000Windows2000项目经理25人约25Q人开发人员140人约1700人测试人员350人约3200人软件的规模类别祕参加人员数硏制期限产品规樓源程序行数懺型14周门小型p21 6 月 qlk2ka中型“2女1 2年5k50V大型昇52023年50k100kr甚大型存lOOlOOCb4亍年alM(=1000k)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

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