第7章分析问题

上传人:豆**** 文档编号:240716220 上传时间:2024-05-02 格式:PPT 页数:89 大小:2.57MB
返回 下载 相关 举报
第7章分析问题_第1页
第1页 / 共89页
第7章分析问题_第2页
第2页 / 共89页
第7章分析问题_第3页
第3页 / 共89页
点击查看更多>>
资源描述
第第7 7章章 分析问题分析问题第7章 分析问题7.1 引言分析是需求和设计之间的桥梁,分析是需求和设计之间的桥梁,可以把系统必须提供的服务的可以把系统必须提供的服务的清晰陈述转化为对要处理的对清晰陈述转化为对要处理的对象的正确理解。象的正确理解。分析是找出系统要分析是找出系统要处理什么处理什么的的过程,而不是确定过程,而不是确定如何处理如何处理过过程。程。2024/5/22第7章 分析问题分析模型的分类分析模型有静态部分和动态部分析模型有静态部分和动态部分分静态分析静态分析:使用类图描述,显示:使用类图描述,显示对象及其对象之间的关系对象及其对象之间的关系动态分析动态分析:使用通信图(协作图):使用通信图(协作图)证明静态模型是可行的证明静态模型是可行的2024/5/23第7章 分析问题分析的来源1.业务需求模型业务需求模型:描述业务上:描述业务上下文的手工和自动工作流,下文的手工和自动工作流,它使用参与者的面向对象它使用参与者的面向对象(业务)版本、用例、对象、(业务)版本、用例、对象、术语表,有时还有通信图和术语表,有时还有通信图和活动图来描述活动图来描述2.系统需求模型系统需求模型:包含系统的:包含系统的外部视图,描述为参与者的外部视图,描述为参与者的面向系统版本、用例和用例面向系统版本、用例和用例图、用户界面草案、增强的图、用户界面草案、增强的术语表和非功能需求术语表和非功能需求2024/5/24第7章 分析问题分析阶段内容分析的来源必须转化为由系统处理分析的来源必须转化为由系统处理的对象模型,以及对象的属性和关的对象模型,以及对象的属性和关系系这些对象存在于系统或系统边界上,这些对象存在于系统或系统边界上,可以通过一个或多个接口来访问可以通过一个或多个接口来访问该阶段的大多数对象都对应于真实该阶段的大多数对象都对应于真实世界中的物理对象或概念(低级的、世界中的物理对象或概念(低级的、面向解决方案的对象要在设计阶段面向解决方案的对象要在设计阶段才出现)才出现)贯彻贯彻“用例驱动用例驱动”2024/5/25第7章 分析问题补充:处理过程分析用例用例工程师业务模型或领域模型补充需求特征列表用例模型概况的分析类用例实现2024/5/26第7章 分析问题7.2 为什么要进行分析分析可防止在彻底理解问题之分析可防止在彻底理解问题之前设计解决方案前设计解决方案不可能仅根据业务需求模型就不可能仅根据业务需求模型就完全理解问题,只有转化为软完全理解问题,只有转化为软件,才有可能引入新的实践件,才有可能引入新的实践2024/5/27第7章 分析问题分析的作用完成静态分析,客户就能确认完成静态分析,客户就能确认我们对业务对象的理解是否正我们对业务对象的理解是否正确,之后让对象影响我们的设确,之后让对象影响我们的设计计完成动态分析,就可以确信分完成动态分析,就可以确信分析对象能够支持需要的系统功析对象能够支持需要的系统功能能2024/5/28第7章 分析问题7.3 分析过程概述1.使用系统需求模型查找候选使用系统需求模型查找候选的类,以描述与系统相关的的类,以描述与系统相关的对象,并在类图上建立它们对象,并在类图上建立它们2.确定类之间的关系确定类之间的关系(关联、聚关联、聚合、复合和继承合、复合和继承)3.确定类的属性(对象的、已确定类的属性(对象的、已指定的简单特性)指定的简单特性)2024/5/29第7章 分析问题分析过程概述4.检查系统用例,确定已有的检查系统用例,确定已有的对象支持它们。在检查过程对象支持它们。在检查过程中微调类、属性和关系,这中微调类、属性和关系,这个用例的实现过程将生成一个用例的实现过程将生成一些操作,来补充属性些操作,来补充属性5.需要时更新术语表和非功能需要时更新术语表和非功能需求需求用例本身不需要更用例本身不需要更新,但可能需要某些更正新,但可能需要某些更正2024/5/210第7章 分析问题需要给客户展示的.类图和属性类图和属性便于客户的理解,有这样纠正便于客户的理解,有这样纠正错误的分析错误的分析2024/5/211第7章 分析问题不要客户展示的.对象操作或通信图对象操作或通信图难以被客户理解难以被客户理解肤浅的设计,系统用例已演示肤浅的设计,系统用例已演示了动态行为了动态行为其中隐含编码,暴露秘密其中隐含编码,暴露秘密在设计之前是要删除的在设计之前是要删除的2024/5/212第7章 分析问题7.4 静态分析静态分析确定系统的逻辑或物静态分析确定系统的逻辑或物理部分,以及如何把它们连接理部分,以及如何把它们连接在一起,即描述如何构建和初在一起,即描述如何构建和初始化系统始化系统2024/5/213第7章 分析问题7.4.1 确定类为了检查业务需求建模和系统为了检查业务需求建模和系统需求建模,以需求建模,以系统用例系统用例的形式的形式抽取出候选类抽取出候选类候选类常常在用例中用候选类常常在用例中用名词名词表表示示2024/5/214第7章 分析问题确定类不适合作为候选类的名词:不适合作为候选类的名词:系统本身系统本身参与者(例外:需要在内部存储参与者(例外:需要在内部存储参与者的信息)参与者的信息)边界边界小类型(字符串或数字)小类型(字符串或数字)2024/5/215第7章 分析问题7.4.2 标识类的关系依赖依赖泛化(继承)泛化(继承)关联关联聚集聚集复合(组合)复合(组合)实现实现2024/5/216第7章 分析问题1.依赖定义定义:对于两个相对独立的对:对于两个相对独立的对象,当一个对象负责构造另一象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的实例,或者依赖另一个对象的服务时,这两个对象个对象的服务时,这两个对象之间主要体现为依赖关系。之间主要体现为依赖关系。表现表现:依赖关系表现在局部变:依赖关系表现在局部变量,方法的参数,以及对静态量,方法的参数,以及对静态方法的调用方法的调用2024/5/217第7章 分析问题依赖实例实例:比如说拧螺丝,要借助:比如说拧螺丝,要借助(也就是依赖也就是依赖)螺丝刀螺丝刀(Screwdriver)来帮助你完成拧螺丝来帮助你完成拧螺丝(screw)的工作的工作代码代码:publicclassPerson/*拧螺丝拧螺丝*/publicvoidscrew(Screwdriverscrewdriver)screwdriver.screw();2024/5/218第7章 分析问题2.泛化(继承)关系定义定义:表示类与类之间的继承:表示类与类之间的继承关系,接口与接口之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系。关系,或类对接口的实现关系。一般化的关系是从子类指向父一般化的关系是从子类指向父类的,与继承或实现的方法相类的,与继承或实现的方法相反。反。表现表现:父类父类父类实例父类实例new子类子类()2024/5/219第7章 分析问题泛化代码classAnimalclassTigerextendsAnimalpublicclassTestpublicvoidtest()Animala=newTiger();2024/5/220第7章 分析问题3.关联关系定义定义:对于两个相对独立的对:对于两个相对独立的对象,当一个对象的实例与另一象,当一个对象的实例与另一个对象的一些特定实例存在固个对象的一些特定实例存在固定的对应关系时,这两个对象定的对应关系时,这两个对象之间为关联关系之间为关联关系表现表现:关联关系是使用实例变:关联关系是使用实例变量来实现量来实现2024/5/221第7章 分析问题关联实例实例:比如客户和订单,每个:比如客户和订单,每个订单对应特定的客户,每个客订单对应特定的客户,每个客户对应一些特定的订单;再例户对应一些特定的订单;再例如公司和员工,每个公司对应如公司和员工,每个公司对应一些特定的员工,每个员工对一些特定的员工,每个员工对应一特定的公司应一特定的公司2024/5/222第7章 分析问题关联代码publicclassCompanyprivateEmployeeemployee;publicEmployeegetEmployee()returnemployee;publicvoidsetEmployee(Employeeemployee)this.employee=employee;/公司运作公司运作publicvoidrun()employee.startWorking();2024/5/223第7章 分析问题4.聚合关系定义定义:当对象:当对象A被加入到对象被加入到对象B中,中,成为对象成为对象B的组成部分时,对象的组成部分时,对象B和和对象对象A之间为聚合(聚集)关系。之间为聚合(聚集)关系。聚合是关联关系的一种,是较强的聚合是关联关系的一种,是较强的关联关系(强关联),强调的是整关联关系(强关联),强调的是整体与部分之间的关系,即体与部分之间的关系,即“has-a”关系关系聚合的整体和部分之间在生命周期聚合的整体和部分之间在生命周期上没有什么必然的联系,部分对象上没有什么必然的联系,部分对象可以在整体对象创建之前创建,也可以在整体对象创建之前创建,也可以在整体对象销毁之后销毁。可以在整体对象销毁之后销毁。2024/5/224第7章 分析问题聚合关系表现表现:与关联关系一样,聚合:与关联关系一样,聚合关系也是通过实例变量来实现关系也是通过实例变量来实现这样关系的。关联关系和聚合这样关系的。关联关系和聚合关系来语法上是没办法区分的,关系来语法上是没办法区分的,从语义上才能更好的区分两者从语义上才能更好的区分两者的区别。的区别。2024/5/225第7章 分析问题关联与聚合的区别 关联关系所涉及的两个对象是处在同一个层次上的。关联关系所涉及的两个对象是处在同一个层次上的。比如人和自行车就是一种关联关系,而不是聚合关比如人和自行车就是一种关联关系,而不是聚合关系,因为人不是由自行车组成的。系,因为人不是由自行车组成的。聚合关系涉及的两个对象处于不平等的层次上,一聚合关系涉及的两个对象处于不平等的层次上,一个代表整体,一个代表部分。比如电脑和它的显示个代表整体,一个代表部分。比如电脑和它的显示器、键盘、主板以及内存就是聚集关系,因为主板器、键盘、主板以及内存就是聚集关系,因为主板是电脑的组成部分。是电脑的组成部分。对于具有聚集关系(尤其是强聚集关系)的两个对对于具有聚集关系(尤其是强聚集关系)的两个对象,整体对象会制约它的组成对象的生命周期。部象,整体对象会制约它的组成对象的生命周期。部分类的对象不能单独存在,它的生命周期依赖于整分类的对象不能单独存在,它的生命周期依赖于整体类的对象的生命周期,当整体消失,部分也就随体类的对象的生命周期,当整体消失,部分也就随之消失。比如张三的电脑被偷了,那么电脑的所有之消失。比如张三的电脑被偷了,那么电脑的所有组件也不存在了,除非张三事先把一些电脑的组件组件也不存在了,除非张三事先把一些电脑的组件(比如硬盘和内存)拆了下来。(比如硬盘和内存)拆了下来。2024/5/226第7章 分析问题聚合关系publicClassPerson.publicClassSchoolprivateArrayListstudents;privatevoidaddStudent(Personperson)students.add(person);2024/5/227第7章 分析问题聚合关系publicclassComputerprivateCPUcpu;publicCPUgetCPU()returncpu;publicvoidsetCPU(CPUcpu)this.cpu=cpu;/开启电脑开启电脑publicvoidstart()/cpu运作运作cpu.run();2024/5/228第7章 分析问题5.复合关系复合复合(强聚集,组合,合成):复(强聚集,组合,合成):复合的对象不能由其他对象共享,且合的对象不能由其他对象共享,且与构成它的对象一齐消亡与构成它的对象一齐消亡它带有很强的拥有有关系且整体与它带有很强的拥有有关系且整体与部分的生命周期一致的聚合关联形部分的生命周期一致的聚合关联形式。例如式。例如Windows的窗口和窗口上的窗口和窗口上的菜单就是组合关系。的菜单就是组合关系。生命周期一致指的是部分必须在组生命周期一致指的是部分必须在组合创建的同时或者之后创建,在组合创建的同时或者之后创建,在组合销毁之前或者同时销毁,部分的合销毁之前或者同时销毁,部分的生命周期不会超出组合的生命周期。生命周期不会超出组合的生命周期。组合是用带实心菱形的实线来表示。组合是用带实心菱形的实线来表示。2024/5/229第7章 分析问题复合关系publicClassWindowprivateMenumenu;publicWindow()menu=newMenu();/可以在这时候创建可以在这时候创建Menu对象,对象,也可以在之后创建也可以在之后创建publicvoiddestory()menu.destory();/必须同时或者在这之前销毁必须同时或者在这之前销毁关联的关联的Menu对象对象2024/5/230第7章 分析问题举例School与与Student是什么关系?是什么关系?publicClassSchoolpublicSchool()./不需要创建任何不需要创建任何Person对对象,其象,其Students都是已有的都是已有的Person对象对象publicvoiddestroy()./只需要关掉只需要关掉School对象和对象和断开它与自己所有的断开它与自己所有的Person对象的对象的关联即可,关联即可,Person对象是不会销毁对象是不会销毁的的聚合关系聚合关系2024/5/231第7章 分析问题6.实现关系实现实现:指的是一个类元描述了:指的是一个类元描述了另一个类元保证实现的契约。另一个类元保证实现的契约。对类来说,就是一个类实现了对类来说,就是一个类实现了一个接口一个接口2024/5/232第7章 分析问题举例:实现关系publicinterfaceApublicvoidmethodA();publicclassBimplementsApublicvoidmethodA().2024/5/233第7章 分析问题总结一般对类关系建模的时候,先一般对类关系建模的时候,先对泛化、关联和实现建模,剩对泛化、关联和实现建模,剩下的关系都可以看作依赖。下的关系都可以看作依赖。2024/5/234第7章 分析问题标识类的关系使用频率:关联使用频率:关联聚合聚合继承继承复合复合就设计和实现而言,关联、聚就设计和实现而言,关联、聚合和复合之间的区别很难界定合和复合之间的区别很难界定2024/5/235第7章 分析问题7.4.3 绘制类图和对象图类图显示存在哪些类,这些类类图显示存在哪些类,这些类有什么关系(正式的类图还可有什么关系(正式的类图还可以显示属性和操作)以显示属性和操作)对于聚合、复合和关联,类图对于聚合、复合和关联,类图显示了可能的运行时关系,而显示了可能的运行时关系,而不是显示实际运行时关系不是显示实际运行时关系2024/5/236第7章 分析问题iCoot的分析类图2024/5/237第7章 分析问题用UML描述运行时的对象2024/5/238第7章 分析问题7.4.4 绘制关系继承关系继承关系2024/5/239第7章 分析问题绘制关系聚合关系聚合关系2024/5/240第7章 分析问题绘制关系复合关系复合关系2024/5/241第7章 分析问题绘制关系关联关系关联关系2024/5/242第7章 分析问题1.多重性在类的两端标识允许参与关系在类的两端标识允许参与关系的运行时对象的数量(关系中的运行时对象的数量(关系中的多重性)的多重性)n:表示:表示nm.n:m到到n范围内的任意数值范围内的任意数值(包含(包含m和和n)p.*:从:从p到无穷大的任意数到无穷大的任意数*:0.*的缩写的缩写0.1:可选:可选2024/5/243第7章 分析问题多重性2024/5/244第7章 分析问题2.关联标签、角色和注释除了继承之外的所有关系都可除了继承之外的所有关系都可以给定一个关联标签,它表示以给定一个关联标签,它表示关联的性质关联的性质如果关联名称的理解方式不明如果关联名称的理解方式不明显,就可以使用一个黑色的箭显,就可以使用一个黑色的箭头头2024/5/245第7章 分析问题UML中的关联标签、角色和注释2024/5/246第7章 分析问题iCoot的分析类图2024/5/247第7章 分析问题用UML描述运行时的对象2024/5/248第7章 分析问题7.4.5 属性属性是对象的一个特性,例如属性是对象的一个特性,例如对象的大小、位置、名称、价对象的大小、位置、名称、价格、字体、利率等。格、字体、利率等。在在UML中,每个属性都可以中,每个属性都可以指定一个类型,可以是类或原指定一个类型,可以是类或原型型通过分割线,显示类名和属性通过分割线,显示类名和属性2024/5/249第7章 分析问题用UML描述属性2024/5/250第7章 分析问题避免做的事情.避免在避免在UML使用独立于语言使用独立于语言的表示法定义自己的原型,如的表示法定义自己的原型,如integer、Real和和Boolean,因,因为在开始设计时,就必须考虑为在开始设计时,就必须考虑与特定语言相关的内容与特定语言相关的内容避免使用数组类型,因为它是避免使用数组类型,因为它是对象和原型的交叉,使用集合对象和原型的交叉,使用集合类(类(List或或Set)会更好)会更好2024/5/251第7章 分析问题避免做的事情.避免在制品中包含派生的属性,避免在制品中包含派生的属性,如圆的属性包括半径、直径、如圆的属性包括半径、直径、周长和面积周长和面积2024/5/252第7章 分析问题iCoot的属性2024/5/253第7章 分析问题选择属性还是关系如何为如何为Car的颜色建模?的颜色建模?2024/5/254第7章 分析问题在属性和关系之间选择一部分一部分用户角度用户角度心理学家心理学家汽车厂家汽车厂家2024/5/255第7章 分析问题7.4.6 关联类2024/5/256第7章 分析问题关联类关联偶尔也有与它相关的信息关联偶尔也有与它相关的信息或行为或行为关联类可以和关联一起引入关联类可以和关联一起引入关联类表示的属性和操作仅因关联类表示的属性和操作仅因为关联关系的存在而存在为关联关系的存在而存在在设计时,必须用更具体的类在设计时,必须用更具体的类替换关联类替换关联类2024/5/257第7章 分析问题7.4.7 有形对象和无形对象无形对象建模无形对象建模:如目录中描述:如目录中描述的产品的产品有形对象建模有形对象建模:如送到门口的:如送到门口的实际产品实际产品2024/5/258第7章 分析问题有形对象和无形对象2024/5/259第7章 分析问题1.错误的建模为了清单有形性问题,假定除为了清单有形性问题,假定除了销售汽车之外,经销商还给了销售汽车之外,经销商还给顾客提供服务顾客提供服务2024/5/260第7章 分析问题建模信息与销售相关的信息包括:与销售相关的信息包括:modelNumberavailableColorsnumberOfCylinders与服务相关的信息包括:与服务相关的信息包括:OwnervehicleIndentificationNumbermileageAtLastService2024/5/261第7章 分析问题错误的建模避免使一个类有两组完全不同避免使一个类有两组完全不同的任务的任务这种类的内聚力很这种类的内聚力很脆弱,它们的任务也不会构成脆弱,它们的任务也不会构成一个模块一个模块2024/5/262第7章 分析问题错误的建模2024/5/263第7章 分析问题2.正确的建模2024/5/264第7章 分析问题正确的建模2024/5/265第7章 分析问题练习4考虑一个视频出租系统。下列考虑一个视频出租系统。下列图中哪个图是正确的?图中哪个图是正确的?2024/5/266第7章 分析问题7.4.8 好的对象类取自用例中的名词类取自用例中的名词对象是具体的事物,是对类的对象是具体的事物,是对类的实例化实例化对象拥有属性对象拥有属性对象能做什么,即对象操作对象能做什么,即对象操作建议:在动态分析类之前,不建议:在动态分析类之前,不要过多地关注操作要过多地关注操作2024/5/267第7章 分析问题7.5 动态分析进行动态分析的原因:进行动态分析的原因:确认类图是完整、正确的,以便确认类图是完整、正确的,以便尽早更正错误,包括添加、删除尽早更正错误,包括添加、删除或修改类、关系、属性和操作或修改类、关系、属性和操作相信当前的模型可以在软件中实相信当前的模型可以在软件中实现现验证最终系统上用户界面的功能:验证最终系统上用户界面的功能:在进行详细设计之前,最好按照在进行详细设计之前,最好按照用例中的线条,把对系统的访问用例中的线条,把对系统的访问放在各个界面上放在各个界面上2024/5/268第7章 分析问题用例实现动态分析中最重要的部分就是动态分析中最重要的部分就是用例的实现用例的实现2024/5/269第7章 分析问题用例实现的步骤1.检查系统用例,模拟对象之检查系统用例,模拟对象之间发送的消息,在通信图上间发送的消息,在通信图上记录结果记录结果2.在接收消息的对象上引入操在接收消息的对象上引入操作作3.根据需要添加类,以标识边根据需要添加类,以标识边界(系统接口)和控制器界(系统接口)和控制器(复杂业务过程的占位符或(复杂业务过程的占位符或者对象的创建和检索)者对象的创建和检索)2024/5/270第7章 分析问题7.5.1 绘制用例的实现过程为分析对象之间传送消息的过为分析对象之间传送消息的过程,需要用到程,需要用到UML通信图和通信图和顺序图顺序图相对而言,通信图更适合用例相对而言,通信图更适合用例的实现,仅关注对象及其连接,的实现,仅关注对象及其连接,不考虑消息发送的顺序不考虑消息发送的顺序2024/5/271第7章 分析问题U7:进行预约的通信图2024/5/272第7章 分析问题分析级的通信图可以显示.与系统边界交互的参与者与系统边界交互的参与者与系统内部的对象交互的边界与系统内部的对象交互的边界系统内部的对象与外部系统的系统内部的对象与外部系统的边界交互边界交互2024/5/273第7章 分析问题7.5.2 边界、控制器和实体为表达额外的信息,为表达额外的信息,UML允允许开发人员使用图标代替标准许开发人员使用图标代替标准的对象方框的对象方框2024/5/274第7章 分析问题边界、控制器和实体2024/5/275第7章 分析问题参与者参与者参与者:存在于系统外部的人:存在于系统外部的人或系统或系统2024/5/276第7章 分析问题边界边界边界:位于系统边缘上的对象,:位于系统边缘上的对象,在系统和参与者之间。在系统和参与者之间。对象系统参与者,边界提供了对象系统参与者,边界提供了通信途径。通信途径。对于作为参与者的人,边界表对于作为参与者的人,边界表示用户界面,以执行命令和查示用户界面,以执行命令和查询,显示反馈和结果。询,显示反馈和结果。每个边界对象通常都对应于一每个边界对象通常都对应于一个用例或一组相关的用例,通个用例或一组相关的用例,通常映射到一个用户界面草案常映射到一个用户界面草案2024/5/277第7章 分析问题实体实体实体:系统内部的一个对象,:系统内部的一个对象,表示一个业务概念,如顾客、表示一个业务概念,如顾客、汽车或型号汽车或型号一般实体由边界和控制器操作,一般实体由边界和控制器操作,而不是自己的行为而不是自己的行为实体类出现在分析类图中,大实体类出现在分析类图中,大多数实体在设计过程结束后仍多数实体在设计过程结束后仍旧存在,数据(属性)存放在旧存在,数据(属性)存放在数据库中数据库中2024/5/278第7章 分析问题控制器控制器:封装了复杂或凌乱过控制器:封装了复杂或凌乱过程的系统内部对象程的系统内部对象控制器是一个服务对象,提供:控制器是一个服务对象,提供:控制系统过程的全部或部分控制系统过程的全部或部分创建新实体创建新实体检索已有实体检索已有实体控制器只是便于分析,大多数控制器只是便于分析,大多数控制器在设计过程结束后就不控制器在设计过程结束后就不存在(转换成多个类中的方法)存在(转换成多个类中的方法)2024/5/279第7章 分析问题7.5.3 通信图中的元素2024/5/280第7章 分析问题通信图中的元素参与者的显示方式与用例图相参与者的显示方式与用例图相同同对象显示为带标签的图标或带对象显示为带标签的图标或带标签的方框标签的方框两个对象之间的线条表示链接,两个对象之间的线条表示链接,与对象图相同与对象图相同消息显示为顺序号、消息名称消息显示为顺序号、消息名称和参数列表和参数列表开放端的箭头显示消息发送的开放端的箭头显示消息发送的方向方向2024/5/281第7章 分析问题通信图中的元素标签拥有表示对象和参数标签拥有表示对象和参数把返回值赋予一个名字可以显把返回值赋予一个名字可以显示为示为ngetNumber()条件消息可以显示为消息旁边条件消息可以显示为消息旁边的防护的防护迭代可以显示为顺序号旁边的迭代可以显示为顺序号旁边的*2024/5/282第7章 分析问题7.5.4 给类添加操作通信图上的每个消息都对应类通信图上的每个消息都对应类上的一个操作,从而得到用例上的一个操作,从而得到用例实现的完整集合实现的完整集合2024/5/283第7章 分析问题给类添加操作2024/5/284第7章 分析问题7.5.5 职责职责有助于找出和正确指定操职责有助于找出和正确指定操作及属性作及属性只要发现系统需要的信息或行只要发现系统需要的信息或行为,就应思考为,就应思考“哪个对象负责哪个对象负责这个信息或行为这个信息或行为”确保每个对象不会负责多个任确保每个对象不会负责多个任务(或角色)务(或角色)把对象看作客户(提出命令,把对象看作客户(提出命令,给出命令)或提供者(提供答给出命令)或提供者(提供答案和服务)案和服务)2024/5/285第7章 分析问题7.5.6 状态建模对于生存期非常复杂的实体,对于生存期非常复杂的实体,可以将其显示在状态图上可以将其显示在状态图上2024/5/286第7章 分析问题用于预订的状态图2024/5/287第7章 分析问题7.6 小结如何执行软件开发的分析过程如何执行软件开发的分析过程如何建立静态分析模型,在类如何建立静态分析模型,在类图中显示系统面向业务的对象、图中显示系统面向业务的对象、对象的属性和关系对象的属性和关系动态分析如何使用通信图提高动态分析如何使用通信图提高和验证静态模型,如何使用状和验证静态模型,如何使用状态图为复杂的生存期建模态图为复杂的生存期建模2024/5/288
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!