第1章软件开发方法(二)软件工程

第1章软件开发方法(二)软件工程

ID:5423033

大小:738.50 KB

页数:105页

时间:2017-11-12

第1章软件开发方法(二)软件工程_第1页
第1章软件开发方法(二)软件工程_第2页
第1章软件开发方法(二)软件工程_第3页
第1章软件开发方法(二)软件工程_第4页
第1章软件开发方法(二)软件工程_第5页
资源描述:

《第1章软件开发方法(二)软件工程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第1章软件开发方法(二)软件工程计算机教学实验中心问题的提出什么是软件工程?为什么提出软件工程?主要研究哪些问题?软件工程的目标、原理软件开发活动……21.了解软件工程的基本概念、基本原则2.理解软件工程的主要定义3.理解软件过程及模型4.了解软件工程方法学3一、软件工程概述什么是软件工程?为什么要学习软件工程?软件工程包括哪些内容?……4“软件工程是一种描述规范。”MichaelJackson软件工程?软件工程的定义软件工程专家Boehm定义IEEE给出的定义教科书给出的定义6软件工程专家Boehm定义著名软件

2、工程专家B.W.Boehm为软件工程的定义是:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。7IEEE给出的定义1983年IEEE给出的定义为:以优质、高效、低成本为目标,研究开发、运行和维护软件以及使之退役的系统方法。其中,“软件”的定义为:计算机程序、方法、规则、相关的文档资料以及在计算机上运行时所必需的数据。8教科书给出的定义教科书中定义为:运用系统的、规范的和可定量的方法来开发、运行和维护软件。9关于软件工程学软件工程是一门交叉学科,涉及到计算机科学、管理科学

3、、工程学和数学。软件工程的理论、方法、技术都是建立在计算机科学的基础上;它是用管理学的原理、方法进行软件生产管理;用工程学的观点进行费用估算、制定进度和实施方案;用数学方法建立软件可靠性模型以及分析各种算法。10了解并掌握软件的开发步骤、方法、准则。为了:克服、解决“软件危机”改进“软件生产”方法、工具提高软件的生产率为什么学习软件工程?软件工程的目标开发生产尽可能多的软件产品;提高软件的生产效率;满足应用的功能需要和具有较好的软件性能;能按时、按质完成软件开发任务;降低软件开发成本。12目标的实现是矛盾的在实际

4、开发过程中,企图让以上几个目标都达到理想的程度是非常困难的。例如,如果过于追求提高软件的性能,可能造成开发出的软件对硬件有较大的依赖,从而直接影响到软件的通用性和可移植性。实际上软件工程就是要解决如何在用户要求的功能、质量、成本、进度之间取得平衡,才能真正满足应用的实际需要。13软件工程具体目标保护公众安全、健康和幸福建立、健全开发软件产品的学科识别新软件或修改现行软件的需求风险避免开发失败的软件鼓励寻求开发和采购软件产品的替代方法促进软件生存期所有方面生产率的改进通过不断更新软件,发现新的用途便于开发具有“鲁棒

5、性”的软件通过对引起故障或有影响的元素的不断检测以促进软件过程和产品的改进。14软件工程的本质特征软件工程关注于大型程序的构造软件工程的中心课题是控制复杂度软件经常变化开发软件的效率非常重要和谐地合作是开发软件的关键软件必须有效地支持它的用户在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品15软件工程原理自1968年提出“软件工程”的概念以来,专家学者又陆续提出了100多条关于软件工程的准则。著名软件工程专家B.W.Boehm于1983年发表的一篇论文中提出了软件工程的七条基本原理。他认为

6、这七条原理是确保软件产品质量和开发效率的最小准则集合。16软件工程七条基本原理用分阶段的生命周期计划严格管理坚持进行阶段评审实行严格的产品控制采用现代程序设计技术结果应能清楚地审查开发小组人员少而精承认不断改进软件工程实践的必要性17①用分阶段生命周期计划严格管理据统计发现:不成功软件项目中半数是因计划不周造成的。在软件的整个生命周期中应该制定并严格执行六类计划:项目概要、项目进度表、项目控制、产品控制、验证及运行维护计划。不同层次的管理人员必须严格按照计划各尽其职地去管理软件开发与维护工作,绝不能受客户或上级的

7、影响而擅自背离预定计划。18②坚持进行阶段评审软件的质量保证工作不能等到编码阶段结束之后再进行。这是因为:大部分错误是在编码之前造成的(根据Boehm统计,设计错误占软件错误的63%,编码错误占37%)。错误发现与改正得越晚,所付出的代价也越高。因此,在每个阶段进行严格的评审,尽早发现并修正各个阶段中所犯的错误是一条必须遵循的重要原则。19示意图关于阶段评审作用20③实行严格的产品控制在软件开发过程中不应随意改变需求,但不能禁止更改需求。当必须修改时,为了保持软件各配置成分的一致性,必须实行严格的产品控制。一切有

8、关修改软件的建议都必须按照严格的规程进行评审,获准后才能实施修改。绝对不能谁想修改就随意进行修改的行为。21④采用现代程序设计技术以前的结构化程序设计技术,如今的面向对象程序设计技术都被实践证明是各个不同历史阶段的优秀程序设计技术和方法。采用先进的技术既可以提高软件开发的效率,又可以提高软件维护的效率。22⑤结果应能清楚地审查软件产品是看不见、摸不着的逻辑产品,软件开发人

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

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

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