《《系统开发方法》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《系统开发方法》PPT课件.ppt(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 第第4 4章章 系统开发方法系统开发方法 (综述章)软件工程教研室软件工程教研室本章要点本章要点l方法、模型、工具和技术方法、模型、工具和技术l系统开发的三种方法系统开发的三种方法lCASECASE工具工具4.1 4.1 方法、模型、工具、技术方法、模型、工具、技术 系统开发方法系统开发方法(Method(Method)提供完成系统开发每提供完成系统开发每 一步一步 的详细指导,包括具体的模型、的详细指导,包括具体的模型、工具和技术工具和技术(的使用说明的使用说明)4.1.2 4.1.2 模型模型(Model)(Model)现实世界某些重要方面的表示现实世界某些重要方面的表示。管理过程的模型
2、:管理过程的模型:PERT图图 甘特图甘特图 组织层次图组织层次图 财务分析模型财务分析模型 -NPV、ROI 系统分析的模型:系统分析的模型:l 流程图流程图 l 数据流图数据流图DFD l 实体实体-联系图联系图ERD l 结构图结构图 l 用例图用例图 l 类图类图 l 顺序图顺序图 4.1.3 4.1.3 工具工具(Tool)(Tool)工具:工具:工具:工具:帮助生成项目中所需模型或其他帮助生成项目中所需模型或其他帮助生成项目中所需模型或其他帮助生成项目中所需模型或其他 组件的软件支持组件的软件支持组件的软件支持组件的软件支持 CASE(Computer Aided system C
3、ASE(Computer Aided system Software Engineering Software Engineering)工具工具工具工具 计算机辅助系统软件工程工具。计算机辅助系统软件工程工具。计算机辅助系统软件工程工具。计算机辅助系统软件工程工具。系统开发中使用的一些工具系统开发中使用的一些工具项目管理应用程序项目管理应用程序项目管理应用程序项目管理应用程序制图制图制图制图/图形应用程序图形应用程序图形应用程序图形应用程序字处理器应用程序字处理器应用程序字处理器应用程序字处理器应用程序计算机辅助系统工程(计算机辅助系统工程(计算机辅助系统工程(计算机辅助系统工程(CASECA
4、SE)工具)工具)工具)工具集成开发环境(集成开发环境(集成开发环境(集成开发环境(IDEIDE)数据库管理应用程序数据库管理应用程序数据库管理应用程序数据库管理应用程序反向工程工具反向工程工具反向工程工具反向工程工具代码生成工具代码生成工具代码生成工具代码生成工具 CASE 工具库工具库设计生成器设计生成器图形生成器图形生成器检错工具检错工具制图工具制图工具反向工程工具反向工程工具安全和安全和版本控制版本控制查询工具和查询工具和报表生成器报表生成器数据库生成器数据库生成器建立原形工具建立原形工具CASE工具库工具库代码生成器代码生成器图图4-1 CASE工具库工具库 (1)(1)Micros
5、oft VisioMicrosoft Visio (2)(2)Visible AnalystVisible Analyst ()()(3)(3)Oracle DesignerOracle Designer ()()(4)Rational Rose()(4)Rational Rose()(5)(5)Together softTogether soft ()()(6)(6)Embarcadero DescribeEmbarcadero Describe ()()DFD on CASE Tool Visual AnalystFigure 4-2 显示显示DFD的可视化工具的可视化工具Rational
6、 Rose Showing OO DiagramsFigure 4-3 显示交互图的显示交互图的ROSE工具工具Together J Showing Class Diagram and Synchronized Java CodeFigure 4-4 显示类图和显示类图和JAVA源代码的往返工程工具源代码的往返工程工具 4.1.4 4.1.4 技术技术 (TechniqueTechnique)l l面面面面向向向向对对对对象象象象分分分分析析析析和和和和设设设设计计计计技技技技术术术术l l软软软软件件件件测测测测试试试试技技技技术术术术l l结结结结构构构构化化化化编编编编程程程程技技技技术
7、术术术l l结结结结构构构构化化化化设设设设计计计计技技技技术术术术l l结结结结构构构构化化化化分分分分析析析析技技技技术术术术l l关关关关系系系系型型型型数数数数据据据据库库库库设设设设计计计计技技技技术术术术l l数数数数据据据据建建建建模模模模技技技技术术术术l l用用用用户户户户面面面面谈谈谈谈技技技技术术术术l l项项项项目目目目管管管管理理理理技技技技术术术术l l战战战战略略略略计计计计划划划划技技技技术术术术帮助分析员完成系统开发活动或任务的一组方法。帮助分析员完成系统开发活动或任务的一组方法。帮助分析员完成系统开发活动或任务的一组方法。帮助分析员完成系统开发活动或任务的一
8、组方法。系统开发中使用的一些技术系统开发中使用的一些技术4.2 4.2 系统的开发方法系统的开发方法 (System Development Methodology)(System Development Methodology)结构化方法结构化方法 信息工程方法信息工程方法 面向对象方法面向对象方法4.2.1 4.2.1 结构化方法结构化方法 定义:使用结构化编程、结构化分析、结构定义:使用结构化编程、结构化分析、结构定义:使用结构化编程、结构化分析、结构定义:使用结构化编程、结构化分析、结构 化设计技术的系统开发方法。化设计技术的系统开发方法。化设计技术的系统开发方法。化设计技术的系统开发
9、方法。包括:包括:面向结构化数据系统的开发方法面向结构化数据系统的开发方法面向结构化数据系统的开发方法面向结构化数据系统的开发方法 DSSDDSSD面向可维护性和可靠性设计的面向可维护性和可靠性设计的面向可维护性和可靠性设计的面向可维护性和可靠性设计的ParnasParnas方法方法方法方法面向数据结构设计的面向数据结构设计的面向数据结构设计的面向数据结构设计的JacksonJackson方法方法方法方法面向问题设计的面向问题设计的面向问题设计的面向问题设计的PAMPAM方法方法方法方法结构分析到结构化设计再到结构化编程结构分析到结构化设计再到结构化编程 现代结构化分现代结构化分 析析 事件、
10、事物事件、事物数据流图数据流图 实体联系图实体联系图结构化设计结构化设计根据数据流图根据数据流图定义程序模块的结构图定义程序模块的结构图(每一结构图用于一个事(每一结构图用于一个事 件)件)结构化编程结构化编程使用结构化编程结使用结构化编程结 构构为每个模块编写代为每个模块编写代 码码 4.2.2 4.2.2 信息工程方法信息工程方法 (也称成面向数据的方法也称成面向数据的方法)侧重于系统计划、数据建模以及自动化工具侧重于系统计划、数据建模以及自动化工具侧重于系统计划、数据建模以及自动化工具侧重于系统计划、数据建模以及自动化工具 以以ERD为主的方法为主的方法 Sybase Sybase 和和
11、和和oracleoracle公司的公司的公司的公司的 CASE CASE 工具工具工具工具 Power Designer Power Designer 和和和和Designer/2000(Oracle Designer)Designer/2000(Oracle Designer)编程工具编程工具编程工具编程工具 Developer 2000 Developer 2000 构成了一个构成了一个构成了一个构成了一个 完整的面向数据的信息系统开发环境。完整的面向数据的信息系统开发环境。完整的面向数据的信息系统开发环境。完整的面向数据的信息系统开发环境。4.2.3 4.2.3 面向对象方法面向对象方法
12、vv 把信息系统看作是一起工作来完成一把信息系统看作是一起工作来完成一 项任务的相互作用的对象集合。项任务的相互作用的对象集合。vv 面向对象面向对象 =对象对象 +类类 +继承继承 +消息消息 (Object)(Class)(Inheritance)(MessageObject)(Class)(Inheritance)(MessageObject)(Class)(Inheritance)(MessageObject)(Class)(Inheritance)(Message)v 面向对象方法包括:面向对象方法包括:面向对象的分析(面向对象的分析(OOAOOA)面向对象的设计(面向对象的设计(O
13、ODOOD)面向对象的编程(面向对象的编程(OOPOOP)小结小结所有的开发方法所有的开发方法都具有都具有:l l规划阶段规划阶段规划阶段规划阶段l l设计阶段设计阶段设计阶段设计阶段l l实施阶段实施阶段实施阶段实施阶段l l支持阶段支持阶段支持阶段支持阶段多视图的多视图的多视图的多视图的SDLCSDLC阶段阶段阶段阶段l l人类行为的分析人类行为的分析人类行为的分析人类行为的分析l l对信息进行分析对信息进行分析对信息进行分析对信息进行分析l l分析和设计技术的各个方面分析和设计技术的各个方面分析和设计技术的各个方面分析和设计技术的各个方面l l设计人机交互设计人机交互设计人机交互设计人机
14、交互l l设计数据结构、存储设计数据结构、存储设计数据结构、存储设计数据结构、存储关键术语(关键术语(1)uu计算机辅助系统工程计算机辅助系统工程计算机辅助系统工程计算机辅助系统工程(软件软件软件软件)CASE(ComputerCASE(Computer Aided Aided system system Software Software Engineering)Engineering)uu类图类图类图类图 class diagramclass diagramuu数据流图数据流图数据流图数据流图 (DFD)dataDFD)data flow diagram flow diagramuu实体联
15、系图实体联系图实体联系图实体联系图 (ERD)entity-relationship diagram(ERD)entity-relationship diagramuu信息工程信息工程信息工程信息工程 information engineeringinformation engineeringuu逻辑模型逻辑模型逻辑模型逻辑模型 logical modellogical modeluu面向对象分析面向对象分析面向对象分析面向对象分析 (OOA)objectOOA)object-oriented analysis-oriented analysisuu面向对象方法面向对象方法面向对象方法面向对象
16、方法 object-oriented approachobject-oriented approachuu面向对象设计面向对象设计面向对象设计面向对象设计 (OOD)objectOOD)object-oriented Design-oriented Designuu面向对象编程面向对象编程面向对象编程面向对象编程 (OOP)object-oriented programming(OOP)object-oriented programming关键术语(关键术语(2)uu物理模型物理模型物理模型物理模型 physical modelphysical modeluu快快快快 速速速速 应应应应 用用
17、用用 程程程程 序序序序 开开开开 发发发发 (RAD)(RAD)rapid rapid application application developmentdevelopmentuu资料档案库资料档案库资料档案库资料档案库 repositoryrepositoryuu社会技术系统社会技术系统社会技术系统社会技术系统 sociotechnicalsociotechnical systems systemsuu结构图结构图结构图结构图 structure chartstructure chartuu结构化方法结构化方法结构化方法结构化方法 structured approachstructur
18、ed approachuu结构化分析结构化分析结构化分析结构化分析 structured analysisstructured analysisuu结构化设计结构化设计结构化设计结构化设计 structured programstructured programuu系统开发方法系统开发方法系统开发方法系统开发方法 system development methodologysystem development methodologyuu技术技术技术技术 technologytechnologyuu工具工具工具工具 tooltooluu自顶向下程序设计自顶向下程序设计自顶向下程序设计自顶向下程序
19、设计 top-down programmingtop-down programming 习题习题(1 1 1 1)模型和工具之间区别是什么?模型和工具之间区别是什么?模型和工具之间区别是什么?模型和工具之间区别是什么?(2 2 2 2)技术和方法之间的区别是什么?技术和方法之间的区别是什么?技术和方法之间的区别是什么?技术和方法之间的区别是什么?(3 3 3 3)三种软件开发方法的核心思想是什么?三种软件开发方法的核心思想是什么?三种软件开发方法的核心思想是什么?三种软件开发方法的核心思想是什么?(4 4 4 4)设计系统时,为什么要使用多个模型?设计系统时,为什么要使用多个模型?设计系统时,
20、为什么要使用多个模型?设计系统时,为什么要使用多个模型?(5 5 5 5)画出你家里的房间布局。写下对于你的房间布局的描述。画出你家里的房间布局。写下对于你的房间布局的描述。画出你家里的房间布局。写下对于你的房间布局的描述。画出你家里的房间布局。写下对于你的房间布局的描述。哪一个是你房间布局的模型?(更准确、更详细,引导哪一个是你房间布局的模型?(更准确、更详细,引导哪一个是你房间布局的模型?(更准确、更详细,引导哪一个是你房间布局的模型?(更准确、更详细,引导 不熟悉的人了解)不熟悉的人了解)不熟悉的人了解)不熟悉的人了解)(6 6 6 6)描述一项描述一项描述一项描述一项“技术技术技术技术
21、”,你使用这项技术来帮助你完成,你使用这项技术来帮助你完成,你使用这项技术来帮助你完成,你使用这项技术来帮助你完成“准准准准 时上课时上课时上课时上课”活动和这项技术一起使用的是那些工具?活动和这项技术一起使用的是那些工具?活动和这项技术一起使用的是那些工具?活动和这项技术一起使用的是那些工具?(7 7)描述一项描述一项描述一项描述一项“技术技术技术技术”,你使用这项技术来确保分配的工作准,你使用这项技术来确保分配的工作准,你使用这项技术来确保分配的工作准,你使用这项技术来确保分配的工作准 时完成。和这项技术一起使用的工具有哪些?时完成。和这项技术一起使用的工具有哪些?时完成。和这项技术一起使
22、用的工具有哪些?时完成。和这项技术一起使用的工具有哪些?(8 8)你使用的其他帮助你完成生活中活动的技术是什么?你使用的其他帮助你完成生活中活动的技术是什么?你使用的其他帮助你完成生活中活动的技术是什么?你使用的其他帮助你完成生活中活动的技术是什么?(9 9)考虑把完成大学教育作为一个项目,和其他任何项目考虑把完成大学教育作为一个项目,和其他任何项目考虑把完成大学教育作为一个项目,和其他任何项目考虑把完成大学教育作为一个项目,和其他任何项目 一样一样一样一样,你应该遵循某种类型的你应该遵循某种类型的你应该遵循某种类型的你应该遵循某种类型的“完成大学教育完成大学教育完成大学教育完成大学教育”方法
23、。方法。方法。方法。你个人的大学教育周期包括那些阶段?你个人的大学教育周期包括那些阶段?你个人的大学教育周期包括那些阶段?你个人的大学教育周期包括那些阶段?每一阶段有哪些活动?每一阶段有哪些活动?每一阶段有哪些活动?每一阶段有哪些活动?为了帮你完成这些活动,你学要那些技术?为了帮你完成这些活动,你学要那些技术?为了帮你完成这些活动,你学要那些技术?为了帮你完成这些活动,你学要那些技术?在完成大学的过程期间你创建了那些模型?在完成大学的过程期间你创建了那些模型?在完成大学的过程期间你创建了那些模型?在完成大学的过程期间你创建了那些模型?使用了哪些工具帮你完成这些模型?使用了哪些工具帮你完成这些模
24、型?使用了哪些工具帮你完成这些模型?使用了哪些工具帮你完成这些模型?(7 7)描述一项)描述一项)描述一项)描述一项“技术技术技术技术”,你使用这项技术来确保分配的工作,你使用这项技术来确保分配的工作,你使用这项技术来确保分配的工作,你使用这项技术来确保分配的工作 准时完成。和这项技术一起使用的工具有哪些?准时完成。和这项技术一起使用的工具有哪些?准时完成。和这项技术一起使用的工具有哪些?准时完成。和这项技术一起使用的工具有哪些?(8 8)你使用的其他帮助你完成生活中活动的技术是什么?)你使用的其他帮助你完成生活中活动的技术是什么?)你使用的其他帮助你完成生活中活动的技术是什么?)你使用的其他
25、帮助你完成生活中活动的技术是什么?(1010)至少有三种系统开发方法,各种生命周期,至少有三种系统开发方法,各种生命周期,至少有三种系统开发方法,各种生命周期,至少有三种系统开发方法,各种生命周期,以及只能用于某些方法的技术和模型。以及只能用于某些方法的技术和模型。以及只能用于某些方法的技术和模型。以及只能用于某些方法的技术和模型。考虑一下为什么会如此。讨论如下可能原因:考虑一下为什么会如此。讨论如下可能原因:考虑一下为什么会如此。讨论如下可能原因:考虑一下为什么会如此。讨论如下可能原因:这个领域非常年轻,这个领域非常年轻,这个领域非常年轻,这个领域非常年轻,非常快非常快非常快非常快 技术变化技术变化技术变化技术变化 不同组织有不同需求不同组织有不同需求不同组织有不同需求不同组织有不同需求 存在许多不同类型的系统存在许多不同类型的系统存在许多不同类型的系统存在许多不同类型的系统 开发系统的人在背景知识上存在巨大差异开发系统的人在背景知识上存在巨大差异开发系统的人在背景知识上存在巨大差异开发系统的人在背景知识上存在巨大差异