文档介绍:软件工程
北京工业大学软件学院
石振莲
67396121
结构化软件开发
面向对象软件开发
专家系统软件开发
比较
从概念方面看
结构化软件是功能的集合,通过模块以及模块和模块之间的分层调用关系实现;
面向对象软件是事物的集合,通过对象以及对象和对象之间的通讯联系实现;
专家系统软件是知识的集合,通过知识以及知识和知识之间的逻辑推理关系实现。
从构成方面看
结构化软件=过程+数据,以过程为中心;
面向对象软件=(数据+相应操作)的封装,以数据为中心;
专家系统软件=知识+推理,以知识为中心。
从运行控制方面看
结构化软件采用顺序处理方式,由过程驱动控制;
面向对象软件采用交互式、并行处理方式,由消息驱动控制;
专家系统软件采用交互式、并行处理方式,由数据驱动控制。
从开发方面看
结构化方法的工作重点是设计;
面向对象方法的工作重点是分析;
专家系统方法的工作重点是知识的获取与表达。
但是,在结构化方法中,分析阶段和设计阶段采用了不相吻合的表达方式,需要把在分析阶段采用的具有网络特征的数据流图转换为设计阶段采用的具有分层特征的结构图,在面向对象方法中则不存在这一问题。
各种方法特点比较(Cont.)
从应用方面看
结构化方法更加适合数据类型比较简单的数值计算和数据统计管理软件的开发;
面向对象方法更加适合大型复杂的人机交互式软件和数据统计管理软件的开发;
专家系统方法更加适合逻辑推理型软件的开发。
从发展方面看
面向对象方法是软件开发方法的发展方向。
结构化软件开发
分析:问题是什么设计:怎样解决实现:解决分析
确定数据流图(DFD) 建立结构图(SC) 过程设计
分析确定实体联系图(ERD) 建立关系数据模式(RM) 编码调试
运行维护
阅读
关于结构化软件开发,请阅读《软件工程—实践者的研究方法》(Software Engineering-A Practitioner’s Approach)
Chapter 10~14