第03讲_面向对象与业务过程建模_第1页
第03讲_面向对象与业务过程建模_第2页
第03讲_面向对象与业务过程建模_第3页
第03讲_面向对象与业务过程建模_第4页
第03讲_面向对象与业务过程建模_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件工程概论 面向对象面向对象 与与 业务过程建模业务过程建模软件工程概论2 2回顾回顾&基于计算机的系统基于计算机的系统&可行性研究的任务和步骤可行性研究的任务和步骤&项目可行性研究报告的写法项目可行性研究报告的写法软件工程概论3 3主要内容主要内容软件工程概论4 4Why? “话说三国时期,曹操带领百万大军攻打东吴,大军在长江话说三国时期,曹操带领百万大军攻打东吴,大军在长江赤壁驻扎,军船连成一片,眼看就要灭掉东吴,统一天下,曹操大赤壁驻扎,军船连成一片,眼看就要灭掉东吴,统一天下,曹操大悦,于是大宴众文武,在酒席间,曹操诗性大发,不觉吟道:悦,于是大宴众文武,在酒

2、席间,曹操诗性大发,不觉吟道:喝喝酒唱歌,人生真爽。酒唱歌,人生真爽。众文武齐呼:。众文武齐呼:丞相好诗!丞相好诗!于是一臣于是一臣子速命印刷工匠刻版印刷,以便流传天下。子速命印刷工匠刻版印刷,以便流传天下。” 软件工程概论5 5Why? “样张出来给曹操一看,曹操感觉不妥,说道:样张出来给曹操一看,曹操感觉不妥,说道:喝与唱,此话过俗,应改为喝与唱,此话过俗,应改为对酒当歌对酒当歌较好!较好!,于是此臣就命工匠重新来过。工匠眼看连夜刻版之工,于是此臣就命工匠重新来过。工匠眼看连夜刻版之工,彻底白费,心中叫苦不迭。只得照办。彻底白费,心中叫苦不迭。只得照办。” 软件工程概论6 6Why? “样

3、张再次出来请曹操过目,曹操细细一品,觉得样张再次出来请曹操过目,曹操细细一品,觉得还是不好,说:还是不好,说:人生真爽太过直接,应改问语才够意人生真爽太过直接,应改问语才够意境,因此应改为境,因此应改为对酒当歌,人生几何?对酒当歌,人生几何?当臣转当臣转告工匠之时,工匠晕倒告工匠之时,工匠晕倒!” 软件工程概论7 7Why?“这里面问题出在哪里?这里面问题出在哪里?” 软件工程概论8 8Why?“因为三国时期活字印刷还未发明,所以要改字的时因为三国时期活字印刷还未发明,所以要改字的时候,就必须要整个刻板全部重新刻。候,就必须要整个刻板全部重新刻。” “ 如果是有了活字印刷,则只需更改四个字就可

4、,如果是有了活字印刷,则只需更改四个字就可,其余工作都未白做。岂不妙哉。其余工作都未白做。岂不妙哉。” 软件工程概论9 9Why?第一,要改,只需更改要改之字,第一,要改,只需更改要改之字,可维护可维护;第二,这些字并非用完这次就无用,完全可以在后来的印第二,这些字并非用完这次就无用,完全可以在后来的印刷中重复使用,刷中重复使用,可复用;可复用;第三,此诗若要加字,只需另刻字加入即可,第三,此诗若要加字,只需另刻字加入即可,可扩展可扩展;第四,字的排列其实可能是竖排可能是横排,此时只需将第四,字的排列其实可能是竖排可能是横排,此时只需将活字移动就可做到满足排列需求,活字移动就可做到满足排列需求

5、,灵活性好灵活性好。” 软件工程概论1010面向对象方法 面向对象方法的思想将世界看作一个个面向对象方法的思想将世界看作一个个相互独立的对象,通过封装、继承、多态等相互独立的对象,通过封装、继承、多态等对象把程序的耦合度降低,使得程序更加的对象把程序的耦合度降低,使得程序更加的灵活,容易修改,并且易于复用。灵活,容易修改,并且易于复用。 面向过程方法的思想将世界看作一个个面向过程方法的思想将世界看作一个个相互关联的小系统组成,通过分析小系统的相互关联的小系统组成,通过分析小系统的每个步骤和影响小系统走向的所有因素,来每个步骤和影响小系统走向的所有因素,来定义系统行为,不能适应需求的变更,可维定

6、义系统行为,不能适应需求的变更,可维护、可复用、灵活性和可扩展性差护、可复用、灵活性和可扩展性差软件工程概论1111面向对象的分析与设计面向对象的分析与设计&面向对象的概念面向对象的概念&面向对象的分析与设计面向对象的分析与设计&用例驱动、模型驱动用例驱动、模型驱动软件工程概论1212基本概念基本概念&面向对象面向对象(Object Oriented,OO)首先根据客户首先根据客户需求需求抽象出抽象出业务对象;然后对需求进行合理分层,构建相对独立的业务业务对象;然后对需求进行合理分层,构建相对独立的业务模块;之后设计业务逻辑,利用多态、继承、封装、抽象的模块;之

7、后设计业务逻辑,利用多态、继承、封装、抽象的编程思想,实现业务编程思想,实现业务需求需求;最后通过整合各模块,达到高内;最后通过整合各模块,达到高内聚、低耦合的效果,从而满足客户要求。聚、低耦合的效果,从而满足客户要求。面向对象的分析(面向对象的分析(Object-Oriented Analysis,OOA)根据抽象)根据抽象关键的问题域来分解系统,不考虑与系统的具体实现有关的确因关键的问题域来分解系统,不考虑与系统的具体实现有关的确因素。素。面向对象的设计(面向对象的设计(Object-Oriented Design,OOD)是一种提供)是一种提供符号设计系统的面向对象的实现过程,它用非常接

8、近实际领域术符号设计系统的面向对象的实现过程,它用非常接近实际领域术语的方法把系统构造成语的方法把系统构造成“现实世界现实世界”的对象。的对象。 软件工程概论&使用使用UMLUML&UMLUML给出了面向对象建模的符号表示和规则给出了面向对象建模的符号表示和规则,但未给出使用的过程和方法,因此,需要,但未给出使用的过程和方法,因此,需要有使用有使用UMLUML的过程。的过程。&过程描述做什么、怎么做、何时做及为什么过程描述做什么、怎么做、何时做及为什么做,即描述一组特定次序的活动做,即描述一组特定次序的活动&使用使用UMLUML过程的基本特征是:过程的基本特征是

9、:用例驱动,以用例驱动,以体系结构为中心,反复,渐增式体系结构为中心,反复,渐增式。&用例包含了功能描述,它们将影响后面所有用例包含了功能描述,它们将影响后面所有阶段及视图。阶段及视图。软件工程概论&以体系结构为中心以体系结构为中心在开发的早期建立基础的体系结构(原型)是十在开发的早期建立基础的体系结构(原型)是十分重要的,进一步对原型进行精化,建立一个易于分重要的,进一步对原型进行精化,建立一个易于修改、易理解和允许复用的系统。修改、易理解和允许复用的系统。主要是在逻辑上将系统划分为若干个子系统(主要是在逻辑上将系统划分为若干个子系统(UMLUML包)包)&反复反复

10、UML的建模型过程要经过若干次的反复的建模型过程要经过若干次的反复&渐增式渐增式渐增式开发是在多次反复迭代的过程中,每次增渐增式开发是在多次反复迭代的过程中,每次增加一些功能(或用例)的开发,每次迭代都包含了加一些功能(或用例)的开发,每次迭代都包含了分析、设计、实现和测试。分析、设计、实现和测试。软件工程概论&体系结构建模(体系结构建模(architecture modelingarchitecture modeling)首先要建立基本的模型,并将该模型映射到首先要建立基本的模型,并将该模型映射到软硬件单元上软硬件单元上&体系结构概括了整体系统结构、功能部件体系结构概

11、括了整体系统结构、功能部件分解、部件的本质和特性、部件的界面、部分解、部件的本质和特性、部件的界面、部件之间的通讯协议和整体性布局策略及法则。件之间的通讯协议和整体性布局策略及法则。&面向对象的体系结构与传统的体系结构不面向对象的体系结构与传统的体系结构不同,它强调的是分布式对象的分配、部件及同,它强调的是分布式对象的分配、部件及其界面、持久对象和面向对象通讯方法其界面、持久对象和面向对象通讯方法软件工程概论&子系统的分解可以有分层和分块子系统的分解可以有分层和分块分层:将软件系统组织为层次结构,每层是一分层:将软件系统组织为层次结构,每层是一个子系统。分层结构又分为封闭式和开

12、放式。个子系统。分层结构又分为封闭式和开放式。分块:垂直分块是将系统分解为若干个相对独分块:垂直分块是将系统分解为若干个相对独立的、弱耦合的子系统。每个子系统相当于一立的、弱耦合的子系统。每个子系统相当于一个块,每块实现一类服务。个块,每块实现一类服务。常常使用分层和分块的混合结构,如图所示:常常使用分层和分块的混合结构,如图所示:将系统分解为子系统将系统分解为子系统软件工程概论&用包图进行系统建模用包图进行系统建模包是系统的一种分组机制,包由关系密切的一组模包是系统的一种分组机制,包由关系密切的一组模型元素构成,包还可以由其它包构成(嵌套)型元素构成,包还可以由其它包构成(嵌套)包图

13、是维护和控制系统总体结构的重要建模工具包图是维护和控制系统总体结构的重要建模工具&应用包图要解决的问题应用包图要解决的问题如何组织包?如何组织包? 应将概念或语义相近的模型元素应将概念或语义相近的模型元素(对象类对象类)纳入一个包。即纳入一个包。即包具有高内聚性,包中的类具有功能相关性。包具有高内聚性,包中的类具有功能相关性。如何确定包之间的关系?如何确定包之间的关系? 包之间的联系有两种:依赖和泛化。包之间的联系有两种:依赖和泛化。描述系统的体系结构描述系统的体系结构数据库数据库表示层表示层应用逻辑层应用逻辑层存储层存储层 UML包表达的体系结构单元包表达的体系结构单元软件工程概论M

14、DA(Model-Driven Architecture)模型驱动架构模型驱动架构软件工程概论&CIM(Computation Independent Model)聚焦于系统环境及需求聚焦于系统环境及需求,不涉及系统内部的结构不涉及系统内部的结构与运作细节与运作细节&PIM(Platform Independent Model)聚焦于系统内部细节聚焦于系统内部细节,不涉及实现系统的具体平不涉及实现系统的具体平台台&PSM(Platform Specific Model)聚焦于系统落实于特定具体平台的细节聚焦于系统落实于特定具体平台的细节.如如Sping、EJB3、.NE

15、T都是一种具体平台都是一种具体平台MDAMDA开发的三个阶段开发的三个阶段软件工程概论2020本课程采用方法本课程采用方法&定义业务流程定义业务流程 ,业务用例模型,业务用例模型&分析业务流程,业务活动图分析业务流程,业务活动图&定义系统范围,系统用例图定义系统范围,系统用例图&分析系统流程,用例规约,活动图分析系统流程,用例规约,活动图&分析业务规则,状态图或活动图分析业务规则,状态图或活动图&定义静态结构,类图定义静态结构,类图软件工程概论软件工程概论2222UML概念与内容概念与内容&UMLUML概念与定义概念与定义&UML

16、UML发展现状发展现状&UMLUML主要内容主要内容&UMLUML建模工具建模工具软件工程概论2323The UMLThe UML软件工程概论&UMLYou Must LearnUMLYou Must Learn&UMLUMLU Unified nified M Modeling odeling L Languageanguage&UMLUML是一种标准的图形化建模语言,是一种标准的图形化建模语言,它是面向对象分析与设计的一种它是面向对象分析与设计的一种标准表示标准表示The UMLThe UML软件工程概论2525UMLUML定义定义通用通用可视化可视

17、化的的建模语言建模语言可视化可视化描述描述构造构造文档化文档化软件工程概论&是一种语言是一种语言用来获取关于某一主题的知识和表达关于该主题的知识用来获取关于某一主题的知识和表达关于该主题的知识,以便于进行交流,以便于进行交流&基于面向对象范型基于面向对象范型&应用于建模和系统应用于建模和系统&用于对系统进行描述、可视化、构造和文档化用于对系统进行描述、可视化、构造和文档化&是一种通用的、广泛适应的、得到工具支持和工业是一种通用的、广泛适应的、得到工具支持和工业标准化的革命性的建模语言标准化的革命性的建模语言&统一了信息系统和技术工程的最佳工程实践

18、的成果统一了信息系统和技术工程的最佳工程实践的成果&应用于大量不同类型的系统、领域和方法或过程应用于大量不同类型的系统、领域和方法或过程UMLUML是是软件工程概论2727UML的目标的目标&成为一种易用、表达能力强的可视化建模语言,并成为一种易用、表达能力强的可视化建模语言,并且是简单的和可扩展的且是简单的和可扩展的&具备扩展和特化机制具备扩展和特化机制&独立于实现(程序设计语言)独立于实现(程序设计语言)&独立于过程(开发)独立于过程(开发)&促进面向对象工具市场的成长促进面向对象工具市场的成长&支持高级概念(协作、框架、模式和组件)

19、支持高级概念(协作、框架、模式和组件)&通过使用组建技术、可视化程序设计、模式和框架,通过使用组建技术、可视化程序设计、模式和框架,解决反复出现的体系结构复杂性问题解决反复出现的体系结构复杂性问题&可升级、广泛适用可升级、广泛适用&融合了最佳的工程实践融合了最佳的工程实践软件工程概论2828UML软件工程概论2929UMLUML的诞生与发展的诞生与发展软件工程概论3030UMLl 二十世纪八十年代初期,开始用不同的方法进行面二十世纪八十年代初期,开始用不同的方法进行面向对象分析与设计。向对象分析与设计。 lGrady Booch和和James Rumbaugh在在199

20、4年年10月共月共同合作把他们的工作统一起来,到同合作把他们的工作统一起来,到1995年成为年成为“统一方统一方法(法(Unified Method)”版本版本0.8。随后,。随后,UM方法又吸方法又吸纳了纳了Ivar Jacobson提出的用例(提出的用例(use case)思想,到)思想,到1996年,成为年,成为“统一建模语言统一建模语言”版本版本0.9 。l 1997年年1月,月,UML版本版本1.0被提交给被提交给OMG组织,作为组织,作为软件建模语言标准化的候选。软件建模语言标准化的候选。 发展历程发展历程软件工程概论3131UML的组成结构图的组成结构图 软件工程概论3232UM

21、L图图图图diagrams类图类图class diagrams对象图对象图object diagrams构件图构件图component diagrams部署图部署图deployment diagrams用例图用例图use case diagrams顺序图顺序图sequence diagrams协作图协作图collaboration diagrams状态图状态图statechart diagrams活动图活动图activity diagrams复合结构复合结构composite structure交互概观交互概观interactive overview定时图定时图timing diagrams软

22、件工程概论33334+1视图视图End-user FunctionalityProgrammers Software management PerformanceScalabilityThroughput System integratorsSystem topology Delivery, installationcommunicationSystem engineeringAnalysts/DesignersStructure 软件工程概论3434&定义业务流程定义业务流程&业务用例模型业务用例模型&活动图活动图&业务流程建模业务流程建模软件工程概论&

23、;目标:尽快确定系统范围,以便估目标:尽快确定系统范围,以便估算开发成本及时间。算开发成本及时间。&关注点:跟系统有关的业务流程关注点:跟系统有关的业务流程&制品制品业务用例模型业务用例模型-定义业务流程定义业务流程活动图活动图-分析业务流程分析业务流程系统用例图系统用例图-定义系统范围定义系统范围定义业务流程定义业务流程软件工程概论图书馆信息管理系统图书馆信息管理系统&主要业务主要业务文献的收集保存文献的收集保存文献的交流文献的交流(图书馆之间图书馆之间)读者服务(图书的借阅)读者服务(图书的借阅)&其他业务其他业务财务管理财务管理工资管理工资管理采购管理采购

24、管理.软件工程概论图书馆部门结构图图书馆部门结构图XXXX图图书书馆馆采采购购部部采采编编部部流流通通部部人人力力资资源源办办公公室室财财务务部部技技术术支支持持后后勤勤服服务务图图书书采采购购文文献献收收集集图图书书编编目目文文献献保保护护与与处处理理图图书书上上架架图图书书借借阅阅软件工程概论图书馆业务流程图图书馆业务流程图软件工程概论业务用例模型业务用例模型软件工程概论&业务用例图业务用例图元素元素 业务用例:代表一条业务流程业务用例:代表一条业务流程 业务执行者:业务组织外但会启动或参与业务流程的人业务执行者:业务组织外但会启动或参与业务流程的人&业务用例简述业务用例简

25、述针对每一个业务用例,用几句话简单说明它是作针对每一个业务用例,用几句话简单说明它是作什么用的什么用的图书借阅图书借阅 注册读者可以在图书馆工作期间通过工作人员借书和还注册读者可以在图书馆工作期间通过工作人员借书和还书书.业务用例模型业务用例模型软件工程概论图书借阅流程图图书借阅流程图软件工程概论活动图示例活动图示例-处理销售处理销售软件工程概论&特殊活动的一种,特殊活动的一种,用于表示活动之间用于表示活动之间的同步。一般有一的同步。一般有一个或多个信息流向个或多个信息流向它引入,有一个或它引入,有一个或多个信息流从它引多个信息流从它引出,表示引入的信出,表示引入的信息流同时到达,引息

26、流同时到达,引出的信息流被同时出的信息流被同时触发。触发。同同 步步 条条软件工程概论4444同同 步步 条条&属性定义属性定义名称:名称:该同步条的名字。用于标识,不显该同步条的名字。用于标识,不显示。示。描述:描述:关于该同步条的详细描述,不显示。关于该同步条的详细描述,不显示。同步条件同步条件:表示该同步条所要遵循的条件,:表示该同步条所要遵循的条件,亦即各引出信息流被同时触发的条件。一亦即各引出信息流被同时触发的条件。一般是针对各引入信息流的。显示在同步条般是针对各引入信息流的。显示在同步条图元旁边。图元旁边。软件工程概论4545活动图活动图汇合汇合&为对象运行时的并发

27、控制流建模为对象运行时的并发控制流建模软件工程概论4646活动图活动图泳道泳道&将活动分组,指定将活动分组,指定给负责活动的对象给负责活动的对象同同一组的活动由一个或一组的活动由一个或多个对象负责完成。多个对象负责完成。这是活动图引入的一这是活动图引入的一个面向对象机制,可个面向对象机制,可为提取类及分析各个为提取类及分析各个对象之间的交互提供对象之间的交互提供方便。方便。软件工程概论活动图元语活动图元语-1-1活活 动动对象对象组合活动组合活动软件工程概论活动图元语活动图元语-2-2泳道泳道信号接收信号接收信号发送信号发送软件工程概论活动图元语活动图元语-3软件工程概论5050活动图

28、活动图-推荐的使用场合推荐的使用场合&理解牵涉理解牵涉多个用例的工作流多个用例的工作流:在难于区分在难于区分不同用例而对整个系统的工作过程又十分不同用例而对整个系统的工作过程又十分清楚时,可以先构造活动图,然后用切片清楚时,可以先构造活动图,然后用切片技术派生用例图技术派生用例图&分析用例分析用例:能直观清晰地分析用例,了解能直观清晰地分析用例,了解应当采取哪些动作以及这些动作之间的依应当采取哪些动作以及这些动作之间的依赖关系赖关系&处理多线程处理多线程应用:采用应用:采用“分层抽象,逐步分层抽象,逐步细化细化”的原则描述多线程的原则描述多线程软件工程概论5151使用活动图建模使用活动图建模&可以附加到任何建模元素中可以附加到任何建模元素中描述其行为,包括用例、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论