2012-203 第二学期 11本 第1章 软件工程概述.pptVIP

  • 0
  • 0
  • 约3.62千字
  • 约 32页
  • 2017-05-16 发布于贵州
  • 举报

2012-203 第二学期 11本 第1章 软件工程概述.ppt

2012-203 第二学期 11本 第1章 软件工程概述

第一章 软件工程学概述 软件工程与UML数据建模 在本章需要理解的重要概念 1、软件危机 2、软件工程学 3、软件工程学要研究什么问题 4、软件工程及相关典型过程 一.软件开发的三个历史时段: 1. 程序设计时代 (46-56年) 特点: 个体手工劳动 工具: 机器语言,汇编语言 2. 程序系统时代 (56-68年) 特点: 小集团合作(作坊)生产方式 工具: 高级语言,结构化方法 3. 软件工程时代 (68年至今) 特点: 按工程化生产方式开发…… 二. 软件危机 3. 软件危机的原因 ·软件本身特点不清楚 ·本身的管理问题 ·选择的开发方法和工具问题。 三. 软件工程学 1. 软件工程学定义: 在1968年NATO(北大西洋公约组织)会议提出, “按照工程化的原理和方法来开发和维护软件。” 在1993年IEEE给出的精确定义: “把系统的、规范的可度量的途径应用于软件开发和维护过程。” 2. 软件工程学所涵盖的范畴 四. 软件生存周期模型 1. 以下是传统瀑布式生存周期模型: 2. 瀑布式生存周期模型评价: 特点:·阶段间的顺序性和依赖性;文档驱动。 · 推迟实现观点; · 质量保证观点. 优点:· 简明;规范; 问题:· 不适合需求变化; · 不适合需求模糊; · 不适合需求灵活。 3. 其它模型(略) 五. 软件工程方法学 1. 结构化方法 包括: 结构化分析 (SA): 主要工具为:DFD, DD和加工说明. 结构化设计 (SD): 主要解决: DFD,SC(结构图)。 结构化程序设计 (SP): 主要完成结构化编程。 2. 快速原型方法 1) 原型分类: 探索性 ,实验性, 演化性 抛弃原型 附加原型 探索性原型主要用于需求分析阶段,检查需求分析的正确性和完整性;实验性原型主要用于设计阶段,检查设计的正确性;这两种原型用完就废弃不用,因此叫做抛弃原型。 2) 构造原型的技术: · 超高级语言(比如:超文本语言或UML等) · 虚拟现实建摸语言(VRML) · 其它3D语言等 优点: (1) 给用户尽快提供一个样品,让用户评价; (2) 适合模糊需求; (3) 降低开发风险. 缺点: (1)方法不规范, 无统一标准; (2)无统一开发环境和工具; (3)对开发人员水平要求高; (4)费机时, 重复多, 造成软件人员厌烦. 3. 面向对象方法 (后边重点讲) 4. 其它方法 Jackson方法—面向数据结构方法(略) 六. 软件工具 1. 软件工具箱(例如:Unix工具箱) 2. 支持瀑布模型各阶段的工具 需求分析阶段工具 — PSA/PSL 结构化分析设计阶段工具 — SADT 详细设计工具阶段工具 — PAD 软件测试工具 — 白盒法/黑盒法 3. CASE(计算机辅助软件工程) 第1代 CASE —基于正文的工具、如 PSA/PSL、SADT等 第2代 CASE —基于图形表示的结构化方法工具。 第3代 CASE —集成化的CASE和OOCASE 表现为支持软件整个生存周期;工具间自动切换等。 增量模型的另一个优点是,逐步增加功能可以使用户有较充裕的时间学习和适应新的项目。 使用增量模型的困难是,在把每个新的增量构件集成到现有软件体系结构中时,必须不破坏原来已经开发出的系统部分。 下图描绘了一种风险更大的增量模型: 3. 螺旋模型 螺旋模型的基本思想是,使用原型及其他方法来尽量降低风险。 理解这种模型的一个简便方法是把它看作在每个阶段之前都增加了风险分析过程的快速原型模型. 4. 喷泉模型 它是以用户需求为动力,以对象为驱动的模型. 5. 基于知识的模型 相当于 瀑布模型+专家系统 6. 变换模型 在搞清用户需求的基础上, 使用形式化方法加以表达. 然后通过一系列的变换得到目标系统. 七. 软件环境 1. 软件环境的概念引入 1985年IEEE定义为:“软件环境是相关的一组工具集合,它支持一定的软件开发方法或按一定的软件开发模型组织而成。” 即: · 它是一组相关工具集合; · 这些工具是按一定开发方法或按某种模型组织的; · 工具支持软件生存

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档