1、软件工程案例开发与实践 北京交通大学出版社 第2章软件开发过程概述 2 1软件生命周期软件生存周期一般划分为三个阶段 1 问题定义与规划 2 开发时期 3 软件维护时期 2 1 1问题定义与规划 这个时期的任务是 1 确定软件开发工程必须完成的总目标 2 确定工程的可行性 3 导出实现工程目标应该采用的策略及软件必须具有的功能 4 估算完成该项开发工程需要的资源和成本 并且制定工程进度表 2 1 2软件开发阶段 一个软件的开发包括四个步骤 1 需求分析 2 概要设计 3 详细设计 4 编码和测试 这两个过程是同步进行的 5 系统测试 2 2软件开发方法综述 2 2 1结构化方法结构化开发方法是
2、由E Yourdon和L L Constantine提出的 即所谓的SASD方法 也可称为面向功能的软件开发方法或面向数据流的软件开发方法 Yourdon方法是80年代使用最广泛的软件开发方法 它首先用结构化分析 SA 对软件进行需求分析 然后用结构化设计 SD 方法进行总体设计 最后是结构化编程 SP 它给出了两类典型的软件结构 变换型和事务型 使软件开发的成功率大大提高 2 2 2面向数据结构的软件开发方法 Jackson方法是最典型的面向数据结构的软件开发方法 Jackson方法把问题分解为可由三种基本结构形式表示的各部分的层次结构 三种基本的结构形式就是顺序 选择和重复 三种数据结构可
3、以进行组合 形成复杂的结构体系 这一方法从目标系统的输入 输出数据结构入手 导出程序框架结构 再补充其它细节 就可得到完整的程序结构图 2 2 3面向问题的分析法 PAM 面向问题的分析法 PAM ProblemAnalysisMethod 是80年代末由日立公司提出的一种软件开发方法 它的基本思想是考虑到输入 输出数据结构 指导系统的分解 在系统分析指导下逐步综合 这一方法的具体步骤是 从输入 输出数据结构导出基本处理框 分析这些处理框之间的先后关系 按先后关系逐步综合处理框 直到画出整个系统的PAD图 2 2 4面向对象的开发方法 面向对象系统采用了自底向上的归纳 自顶向下的分解的方法 它通过对对象模型的建立 能够真正建立基于用户的需求 而且系统的可维护性大大改善 当前业界关于面向对象建模的标准是UML 2 2 5可视化开发方法 可视化开发并不能单独的作为一种开发方法 更加贴切的说可以认为它是一种辅助工具 比如 S Design PowerDesigner PowerBuilder VB DELPHI C Builder等 再见