- 1、本文档共50页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(ppt)软件工程基本概念
第一章 软件工程基本概念 1.1 软件 什么是软件? 软件一般认为由三部分组成: 程序:在运行时,能提供所希望的功能和性能的指令集。 数据结构:使程序能够正确运行的数据结构 文档:描述程序研制过程、方法及使用的文档 1.1 软件 软件的特点 抽象性:逻辑实体,可记录,但看不到 可复制性:与开发成本相比,复制成本很低 无折旧 受硬件制约 未完全摆脱手工工艺 开发费用高 1.2 软件危机 一、计算机软件发展的三个时期 1. 早期时代(60年代中期之前)程序设计阶段 硬件通用,软件专用;程序规模小,编写者和使用者为同一人(同组人)。 2. 第二代(60年代中期-70年代中期)程序系统阶段 出现“软件作坊”、产品软件;“个体化”开发方法。 3. 第三代(70年代中期之后)软件工程阶段 软件开发成为一门新兴的工程学科——软件工程。 计算机软件发展的三个时期及特点 计算机软件发展的三个时期及特点 1.2 软件危机 二、什么是软件危机 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。主要是两个问题。 1. 如何开发软件,怎样满足对软件的日益增长的需求。 2. 如何维护数量不断膨胀的已有软件 1.2 软件危机 三、软件危机的主要表现 1. 对软件开发成本和进度的估计不准确 2. 用户不满意 3. 软件质量不高、可靠性差 4. 软件常常不可维护、错误难以改正。 5. 缺乏适当的文档资料 6. 软件成本占系统总成本的比例逐年上升 7. 软件开发速度跟不上计算机发展速度 1.2 软件危机 四、产生软件危机的原因 1. 与软件本身的特点有关 软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。在写出程序代码并在计算机运行之前,软件开发过程的进展情况较难衡量,软件开发的质量也较难评价。因此,管理和控制软件开发过程相当困难。 2. 软件不易于维护 (1)软件维护通常意味着改正或修改原来的设计,客观上使软件较难维护。 1.2 软件危机 四、产生软件危机的原因 2. 软件不易于维护 (2)软件不同于一般程序,它的规模大,不易于维护。 3. 在软件开发过程中,或多或少地采用了错误的方法和技术。 4. 对用户需求没有完整准确的认识,就匆忙着手编写程序。 1.2 软件危机 五、解决软件危机的途径 1. 技术措施 使用更好的软件开发方法和开发工具 2. 组织管理措施 软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。 1.3 软件工程 一、什么是软件工程 软件工程是指导计算机软件开发和维护的工程学科。它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。 软件工程是一门涉及软件计划、需求分析、设计、编码、测试和维护的原理、方法及工具的研究和应用的学科。 1.3 软件工程 二、软件工程的基本原理 1968年在联邦德国召开的国际会议上正式“软件工程”术语。 目前有100多条关于软件工程的准则,其中最出名的是著名软件工程专家B.W.Boehm在1983年提出的7条基本原理。 1.3 软件工程 1. 用分阶段的生命周期计划严格管理 经统计表明,不成功的软件项目中有一半左右是由于计划不周造成的。 Boehm认为,在软件的整个生命周期中应制定并严格执行六类计划:项目概要计划、里程碑计划、项目控制计划、产品控制计划、验证计划、运行维护计划。 1.3 软件工程 2. 坚持进行阶段评审 大部分错误是在编码之前造成的 错误发现与改正得越晚,所需付出的代价越高。 因此,在每个阶段都进行严格的评审,以便尽早发现在软件开发过程的错误 1.3 软件工程 3. 实行严格的产品控制 在软件开发过程中不要随意改变需求,因为改变某项需求往往需要付出较高的代价,但在实践中用户往往会提出需求变更,因此需要采取科学的产品控制技术。 目前主要实行基准配置管理:基准配置是指经过阶段评审后的软件配置成分,如各个阶段产生的文档或程序代码。 对涉及基准配置的修改,必须经过严格的评审,通过后才能实施修改。 1.3 软件工程 4. 采用现代程序设计技术 实践表明:采用先进的技术既可提高软件开发的效率,又可提高软件维护的效率。 80年代及之前:结构化分析、设计技术 90年代:面向对象分析、设计技术 1.3 软件工程 5. 结果应能清楚地审查 软件产品是看不见、摸不着的逻辑产品,开发过程难以评价和管理。 根据软件开发项目的总目标及完成期限,规定开发组织的责任和产品标准,使所得的结果能够清楚地审查 1.3 软件工程 6. 开发小组的人员应该少而精 开发小组人员的素质和数量是影响软件产品质量和开发效率的重要因素。 开发小组人员数目的增加,使相互交
文档评论(0)