软件危机与软件工程

软件危机与软件工程

ID:19872355

大小:2.08 MB

页数:105页

时间:2018-10-07

软件危机与软件工程_第1页
软件危机与软件工程_第2页
软件危机与软件工程_第3页
软件危机与软件工程_第4页
软件危机与软件工程_第5页
资源描述:

《软件危机与软件工程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、考核方式平时30%笔试70%参考书目软件工程:实践者的研究方法(第五版)梅宏等译机械工业出版社OOD启思录ArthurJ.Riel人民邮电出版社重构—改善既有代码的设计MartinFowler中国电力出版社实用软件工程郑人杰清华大学出版社参考网站软件工程组织www.51cmm.com希赛网http://se.csai.cn/http://www.umlchina.com/http://martinfowler.com/articles/newMethodology.htmlhttp://www.

2、chinaxp.org/http://www.agilechina.org/暑期实践论文第一章软件危机与软件工程软件的发展软件的发展:(1)程序设计阶段:约50—60年代。软件产品:程序;语言:汇编语言及机器语言;主要工作:编写程序;组织:个人;质量因素:编程技术(技巧)。(2)程序系统阶段:约60—70年代。软件产品:程序及说明书;语言:高级程序设计语言;主要工作:设计程序及测试;组织:开发小组;开发技术:结构化程序设计方法软件的发展(3)软件工程阶段:70年代以后。软件产品:程序、数据、文档

3、;语言:软件语言(需求定义语言、软件功能语言、软件设计语言、程序设计语言);主要工作:软件生存周期各个阶段;组织:大中型软件开发机构;需求者:面向市场,面向用户;开发技术和手段:工程化开发方法,开发工具及开发环境起重要作用;质量因素:管理水平。软件危机1、什么叫软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。1968年北大西洋公约组织在联邦德国召开的国际会议上提出来的。软件危机2、主要表现:(1)对软件开发的成本和进度的估计常常很不准确;(2)用户对“已完成的”软件系

4、统不满意的现象经常发生;(3)软件质量往往靠不住:软件质量保证技术(审查、复审和测试)没有坚持不懈地应用到软件开发全过程中;(4)软件常常不可维护:错误难改,难适应新的硬件环境,难适应用户要求增加的新的功能需求,软件的复用性不高;软件危机5)软件通常没有适当的文档资料;文档资料的作用是:管理和评价软件开发过程的进展情况,开发者与用户和开发者之间通信的工具,维护工具。往往危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。(6)软件成本在计算机系统总成本中所占的比例逐年上升;(1985年

5、美国软件成本占计算机系统总成本的比例为90%)(7)软件开发生产率提高的速度赶不上计算机普及的速度。若干年前开发的应用软件经过几十次修改已无人认识它的内部结构,己经不可维护。由于经济原因,嵌入式系统存在许多怪现象,企业不愿意投入资源再生产,而采取打补丁+时髦界面的方法。许多软件项目不能满足客户的要求许多软件项目超出预算和时间安排软件危机产生的原因(1)软件是计算机的逻辑部件而不是物理部件。软件问题是在开发时期引入的而在测试阶段没能测出来的故障,修改软件故障要修改软件原来的设计。(2)软件不同于一

6、般程序,它的特点是规模庞大,软件开发工作量随软件规模增大非线性增长;(3)与早期软件开发个体化特点有关:认为软件开发就是写程序并设法使之运行,轻视需求分析和软件维护。软件危机产生的原因三个错误认识:a、软件就是程序;b、软件开发就是编程;(编程仅占工作量的10%-20%)c、将错误留到编程后的测试和维护时再改。(相同的错误在后期引入软件更改比早期引入软件更改所需的代价高出2-3个数量级。)早中晚引入同一变动付出的代价随时间变化的趋势改正一个问题的估计费用(美元)改正一个问题的估计工作量(人·天)

7、20200100020000.52.55.0RASDDDCDITSTRTBell实验室统计结果(US)0.05解决软件危机的途径(1)借助各种工程项目开发所积累的经验(原理、概念、技术和方法);(2)总结软件开发成功的技术和方法;(3)应用软件开发辅助工具。软件工程软件工程是指采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。软件工程三要素软件工程过程方法工具软件工程釆用层次化的方法,每个层次都包括过程、方法、工具三要素。

8、软件工程三个要素软件工程方法是完成软件开发的各项任务的技术方法,为软件开发提供了“如何做”的技术。软件工具为软件工程方法提供了自动的或半自动的软件支撑环境。软件工程的过程是将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的。软件工程的基本原理1、用分阶段的生命周期计划严格管理生命周期:问题定义、需求分析、可行性研究、总体设计、详细设计、编码和单元测试、综合测试、软件维护。在软件的整个生命周期中应该严格执行六类计划:项目概要计划、里程碑计划、项目控制计划、产品控制计划、验证计

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

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

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