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