计算及软件导论.pptVIP

  • 2
  • 0
  • 约5.39千字
  • 约 48页
  • 2017-03-20 发布于江苏
  • 举报
? 本章学习目标: 了解软件危机的发生原因和典型表现 识记软件工程的概念和基本原理 识记软件生命周期和软件过程的概念 识记常用的生命周期模型 主观原因: 对用户要求没有完整和准确的认识就匆忙编写程序。 对软件的开发过程的认识不准确。生命周期的每个阶段都有特定的工作和特点,都是不可逾越的。只有上一阶段工作完成,才能开始下一阶段的工作。 对软件质量的重视不够是造成软件开发成本激增的主要原因。注意软件开发过程中错误的“放大效应”。 轻视软件维护将是一个重大的错误。软件开发时期各阶段的关键目标都是提高软件的可维护性。 1.2 软件工程 为了更有效地开发与维护软件,软件工作者在20世纪60年代后期开始认真研究消除软件危机的途径,从而逐渐形成了一门新兴的工程学科——计算机软件工程学(简称为软件工程)。 1.2.1 软件工程的概念 ? 定义 指导软件开发与维护的工程科学 采用工程的概念、原理、技术和方法来开发和维护软件,综合运用正确的管理技术和最好的技术方法,以经济地开发出高质量的软件并有效维护它。 1.2.1 软件工程的概念 ? IEEE的定义 ①软件工程是把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②对这些途径加以研究。 1.2.1 软件工程的概念 诸多软件工程的定义所揭示的软件工程的本质认识是一致的: 软件工程一般更关注于大型软件系统的开发;其中心任务是控制整个软件系统的复杂性,提高软件开发的效率,加强人员和技术的管理,更好地满足用户的需要。 1.2.2 软件工程的基本原理 (1)用分阶段的生命周期计划严格管理 应该将软件开发和维护的漫长生命周期划分成若干个阶段,并针对每个阶段制定切实可行的计划,然后严 格按照计划对软件的开发和维护工作进行管理。 (2)坚持进行阶段评审 错误发现的越早,改正错误所付出的代价就越小。因此,开发人员应该坚持在每个阶段都进行严格的评 审,以便更早地发现和改正错误。 1.2.2 软件工程的基本原理 (3)实行严格的产品控制 在软件开发的过程中不应随意修改需求,当改变需 求时,必须实行严格的产品控制以保持软件各个配置成 分的一致性。 (4)采用现代程序设计技术 采用先进的技术不仅可以提高软件开发和维护的效率,而且还能有效地提高软件产品的质量。 1.2.2 软件工程的基本原理 (5) 结果可以清楚地审查 应规定每个开发阶段的产品标准和文档要求,使得到的结果可以清楚地审查。 (6)开发小组成员少而精 软件开发小组人员要求素质高,而人数不宜过多。随着人数n的增加,通信路径也急剧增加。 1.2.2 软件工程的基本原理 (7)承认不断改进软件工程实践的必要性 软件开发和维护的过程也需要随之改进。要主动采用最新的软件技术,而且还要不断总结经验和教训、收集历史数据帮助开发人员改进软件工程实践。 1.2.3 软件工程方法学 软件生命周期全过程中使用的一整套技术方法的集合称为方法学。 ? 软件工程方法学主要包含3个要素:方法、工具和过程。 ? 目前使用最为广泛的软件工程方法学是传统方法学和面向对象方法学。 1.2.3 软件工程方法学 1. 传统方法学 - 也称为生命周期方法学或结构化范型。 - 它采用结构化技术(包括结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务。 - 这种方法学将软件生命周期划分为若干个阶段,然后顺序完成各个阶段的任务。 每个阶段依赖上一个阶段产生的结果,并将上一阶段工作进一步具体化。 1.2.3 软件工程方法学 2. 面向对象方法学 - 以数据为主线,将数据和其上的操作紧密结合起来。面向对象方法学的四要素:类+对象+继承+消息传递。 - 面向对象的方法学是尽量模拟人类习惯的思维方式,使软件开发过程更接近人类认知模式,做到问题空间与解空间在结构上一致。 - 运用面向对象方法学开发出来的软件产品一般是由很多较小的独立对象组成,从而降低了软件产品的复杂性,增强了可理解性,使得开发和维护更为简单有效。 1.3.1 软件生命周期的概念 ? 定义 一个软件从定义、开发、使用和维护,直至最终被废弃,要经历的漫长的时期称为软件生命周期。 1.3.1 软件生命周期的概念 ? 构成 3个时期:软件定义、软件开发和运行维护 各时期任务: 软件定义时期:确定软件开发的总目标和工程的可行性;导出实现策略和系统必须完成的功能;进行成本效益的估

文档评论(0)

1亿VIP精品文档

相关文档