ch1软件工程引论

ch1软件工程引论

ID:40226991

大小:427.50 KB

页数:30页

时间:2019-07-27

ch1软件工程引论_第1页
ch1软件工程引论_第2页
ch1软件工程引论_第3页
ch1软件工程引论_第4页
ch1软件工程引论_第5页
资源描述:

《ch1软件工程引论》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、软件工程主讲:张晓滨Tel:13228030803xiaobinzhangcn@126.com计算机学院软件工程教研室第一章软件工程引论1.1软件产品的概念与特征软件:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合。软件产品:软件产品是一个信息转换器IPO,功能是产生、管理、获取、修改、显示或转换信息。它表达了由计算机硬件体现的计算潜能;又是开发和运行其它软件的载体,它是计算机控制(操作系统)、信息通信(网络)、创建和控制其它软件(软件工具和开发环境)的基础。文档过程硬件系统数据库人软件输入输

2、出计算机软件系统软件应用软件系统管理软件系统支持程序系统开发程序通用应用程序专业应用程序•操作系统•系统应用程序•程序设计语言•字处理•会计—通用.•操作环境•执行管理器•翻译器•电子表帐务等•数据库管理系统•安全管理器•程序设计环境•数据库管理•市场—销售•通信管理器•计算机辅助•通信分析等软件工程包•绘图…..•制造—产品控制等软件的分类第一章软件工程引论软件产品的特征:失效率时间磨合调整磨损用坏失效率时间理想曲线实际曲线修改点(a)硬件失效率曲线(b)软件失效率曲线例:计算机、汽车例:DOS第一章软件工程引论计算机系统的发展

3、历程第一代(20世纪60年代中期以前):程序设计阶段。第二代(从20世纪60年代中期到70年代中期):程序系统阶段——“软件工程”学科诞生。第三代(从20世纪70年代中期到80年代中期):软件工程阶段。第四代(从20世纪80年代中期至今):软件产业在世界经济中已经占有举足轻重的地位。表1.2计算机软件发展的三个阶段及其特点阶段特点程序设计程序系统软件工程软件所指程序程序及说明书程序、文档、数据主要程序设计语言汇编及机器语言高级语言软件语言*软件工作范围程序编写设计和测试整个软件生命周期需求者程序设计者本人少数用户市场用户开发软件的

4、组织个人开发小组开发小组及大、中型开发机构软件规模小型中、小型大、中、小型阶段特点程序设计程序系统软件工程决定质量的因素个人技术小组技术水平技术与管理水平开发技术和手段子程序、程序库结构化程序设计数据库、开发工具、集成开发环境、工程化开发方法、标准和规范、网络及分布式开发、面向对象技术、计算机辅助软件工程维护责任者程序设计者开发小组专职维护人员硬件的特征高价、存储量小、可靠性差降价,速度、容量和可靠性明显提高向超高速、大容量、网络化、微型化方向发展软件的特征完全不受重视软件的技术发展不能满足需求,出现软件危机开发技术有进步,但仍未

5、完全摆脱软件危机第一章软件工程引论1.2软件危机--历史上的阴影:......正像一只逃亡的野兽落到泥潭中做垂死的挣扎,越是挣扎,陷得越深,最后无法逃脱灭顶的灾难。......程序设计工作正像这样一个泥潭,......一批批程序员被迫在泥潭中拼命挣扎,......谁也没有料到问题竟会陷入这样的困境......”。第一章软件工程引论软件危机–主要的表现软件开发没有真正的计划性,对进度和成本的估计常常很不准确,计划的制定带有很大的盲目因素对于软件需求的获取常常不充分,软件产品往往不能真正的满足用户的实际需求。缺乏良好的质量评测手段,导

6、致软件产品的质量常常得不到保证。对于可理解性、可维护性的重要性认识不够;可复用性、可维护性不如人意。软件开发过程没有实现“规范化”,缺乏必要的文档资料或者文档资料不合格、不准确软件开发的人力成本持续上升。美国在1985年软件开发成本已经占到计算机系统成本的90%。缺乏自动化的软件开发技术、软件开发的生产率依然低下。第一章软件工程引论软件危机–延续至今的阴霾时间软件技术软件需求差距图1.2软件技术的发展落后于需求硬件、软件成本比例变化10080604020年份成本%1950197019851995硬件软件图1.3计算机系统硬件、软件

7、成本比例变化第一章软件工程引论产生软件危机的原因:软件生产过程和产品都具有明显的“不可视”特征。软件开发的“个体化”特点美国贝尔实验室统计得出的定量结果代价变更出现的时间早期中期晚期高中低需求分析结构设计详细设计编码集成测试系统测试现场改正一个问题的估算费用(美元)改正一个问题的估算工作量(人日)20200100020000.050.52.55第一章软件工程引论克服软件危机的基本思路借鉴其他工程领域的成功经验,基于软件危机产生的主、客观原因,从软件工程技术和软件工程管理两方面来采取措施,可以防范软件危机的发生。从管理层面上考虑,应

8、当注意推广和使用在实践中总结出来的开发软件的成功的技术和方法,并且探索更好的、更有效的技术和方法,注意积累软件开发过程中的经验数据财富,逐步消除在计算机系统早期发展阶段形成的一些错误概念和做法。从技术角度考虑、应当开发和使用更好的软件开发工具,提高

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。