《ch1软件危机与软件工程》.pptVIP

  • 2
  • 0
  • 约5.69千字
  • 约 42页
  • 2020-10-21 发布于天津
  • 举报
* ECUST * 软件工程要素 软件工程包括三个要素:方法、工具和过程 方法为软件开发提供了 “how to do it” 的技术 工具提供了自动的或半自动的软件支撑环境 过程定义了: 方法使用的顺序 要求交付的文档资料 为保证质量和适应变化所需要的管理 软件开发各个阶段完成的里程碑 * ECUST * 软件工程原理 ⑴ 用分阶段的生命周期计划严格管理 ?项目概要计划 ?项目控制计划 ? 产品控制计划 ? 验证计划 ? 运行维护计划 ⑵ 坚持进行阶段评审 ⑶ 实行严格的产品控制——基准配置管理(Baseline configuration management) ⑹ 开发小组的成员应该少而精 ⑷ 采用高级程序设计技术 ⑸ 结果应能清楚地审查和评估 ⑺ 承认不断改进软件工程实践的必要性 * ECUST * 软件工程的发展 从学术的角度看,软件工程还是一个年轻的学科 第一次相关会议在20世纪60年代后期 而在80年代才从计算机科学分离开 不成熟,缺乏重要的元素,如评估 缺乏科学的研究方法 * ECUST * 软件工程的发展 20世纪60年代晚期,刊物上开始出现软件工程的专业文章 出现专业杂志 ACM Transactions on Software Engineering and Methodologies Software Engineering Notes IEEE’s Transactions on Software Engineering Software * ECUST * 软件生命周期 软件生命周期 软件定义 问题定义 可行性分析 需求分析 软件开发 系统设计 编码 测试 软件维护 * ECUST * 技术复审和管理复审 复审 每阶段结束前 技术复审 从技术角度确保质量 降低软件成本(尽早发现问题) 建立审查小组,开展审查过程:准备,简要介绍情况,阅读被审文档,开审查会,返工,复查等 管理复审 成本、进度、经费等 * ECUST * 两种软件工程范型 传统软件工程 程序=数据结构+算法 软件分析→总体设计→详细设计→面向过程的编码→测试 面向对象软件工程 程序=对象+消息 软件分析与对象抽取→对象详细设计→面向对象的编码→测试 * ECUST * 软件工程的成就与局限 F. Brooks: 在1986年发表的论文《没有银弹》中指出“在近十年内,没有任何单独的软件工程进展可以使软件生产率有数量级的提高” -------目前还没有“银弹”! 软件工程还无法解决软件生产中固有的、本质上的困难 建议的(可能)银弹:更好的高级语言、面向对象的程序设计、人工智能、专家系统、自动程序设计、图形化程序设计、程序验证等 * ECUST * 《没有银弹》一文的开头如下:   在所有恐怖民间传说的妖怪中,最可怕的是人狼,因为它们可以完全出乎意料地从熟悉的面孔变成可怕的怪物。为了对付人狼,我们在寻找可以消灭它们的银弹。   大家熟悉的软件项目具有一些人狼的特性(至少在非技术经理看来),常常看似简单明了的东西,却有可能变成一个落后进度、超出预算、存在大量缺陷的怪物。因此,我们听到了近乎绝望的寻求银弹的呼唤,寻求一种可以使软件成本像计算机硬件成本一样降低的尚方宝剑。   但是,我们看看近十年来的情况,没有银弹的踪迹。没有任何技术或管理上的进展,能够独立地许诺在生产率、可靠性或简洁性上取得数量级的提高。本章中,我们试图通过分析软件问题的本质和很多候选银弹的特征,来探索其原因。 * ECUST * 回顾 软件 程序+文档+数据 软件危机 原因:软件本身的特点+不合适的开发方法 表现:不符需求、质量低、维护困难、…… 软件工程 技术措施+组织管理 ch1软件危机与软件工程 * ECUST * 课程安排 理论 内容:基本原理、方法和技术 形式:讲授、自学 作业 内容:模拟开发一个应用系统 形式:提交分阶段文档 * ECUST * 软件工程的内容 软件工程的基本概念 软件过程 软件开发各阶段的任务、技术、方法 传统方法、面向对象方法 项目管理 软件质量保证 * ECUST * 软件产业 2000年,国家发布了《鼓励软件产业和集成电路产业发展的若干政策》,这便是著名的18号文件 十五”期间,中国软件产业获得了高速发展,保持着30%以上的年均增长速度 2005年中国软件产业产值达到3900亿元人民币(472.2亿美元),在多个领域拥有了自主知识产权的产品 * ECUST * 发展模式 基于网络的软件开发 软硬结合,大力发展嵌入式软件 基于互联网的服务业将

文档评论(0)

1亿VIP精品文档

相关文档