学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11系统分析与设计,第四版学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11学习目标解释面向对象设计的作用与目标开发设计类别图根据对象责任与使用案例控制器的原则开发互动图学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11学习目标(续)开发细部时序图,并当做系统设计的核心程序开发通讯图,并当做系统设计的一部份使用组件图说明架构设计学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11概述本章的主要重点是如何开发详细的面向对象设计模型程序人员使用模型撰写系统的程序两种最重要的模型是设计类图与互动图(时序图与通讯图)类别会为领域层、检视层与数据存取层开发互动图则延伸系统时序图学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11面向对象设计:分析与程序设计间的桥梁使用者需求与新系统程序设计间的桥梁面向对象设计是组建详细面向对象设计模型的过程程序设计人员会使用设计来撰写程序代码,并测试这套新系统使用者接口、网络、控管机制、安全性、及数据库也都需要详细的设计与模型学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11面向对象程序简介由一组对象构成,它们会共同合作完成某项结果对象都包含程序逻辑,以及每个单元中的必要属性对象透过彼此传送消息与协同作业,以支持主程序的功能OO系统设计人员提供详细内容给程序人员设定类图,互动图,以及一些状态机图学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11面向对象的三层式程序学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11更新学生姓名的时序图(图11-2)学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11学生的领域类别与设计类图范例学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11以Java写成的学生类别的样本类别定义(图11-4a)学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11面向对象的设计程序与模型为分析/需求开发的图表使用用例图,使用案例说明与活动图,领域模型类图,与系统时序图为设计开发的图表互动图与组件图设计类别图–包括面向对象类别,类别间的浏览,属性名称,方法名称,与程序设计需要的属性学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11设计模型与个别的输入模型(图11-5)学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11对象导向的设计—设计的步骤(图11-6)使用案例的实现–在每个使用案例中,所有系统处理的详细规格学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11设计类别、互动与设计程序设计类别图与详细的互动图需要共同使用,也会一起开发第一版设计类别图以领域模型与系统设计原则为基础使用案例的第一版循序图由系统时序图(SSD)衍生而来显示互动的对象时序图会逐层完成问题领域,资料存取,与检视层设计类图需要根据时序图更新学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11设计类别的符号UML并未特别区分设计类别与领域模型的符号领域模型类别图显示使用者工作环境中的概念性类别设计类别图定义的则是软件类别UML提供模板的符号,根据特征为模型的元素分类学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11设计模型中会出现的标准模板(图11-7)学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11标准的设计类别实体–问题领域类别的设计识别码永续类别–系统结束后依旧存在控制–存在于边界类别与实体类别之间,位于检视层与领域层之间边界–出现在系统自动化边界上的类别,由使用者接触使用者接口与窗口类别数据存取–从数据库获取数据,及将数据传回数据库学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11浏览可见性某对象能参照其它对象的设计原则可以透过传送消息与其它对象互动学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11设计类别的标记法名称–类别名称与模板信息属性的可见性(私有或公用)–属性的名称,型别表示式,初始值,内容方法宣告形式–启动(或呼叫)该方法所需要的所有信息方法的可见性,方法的名称,型别表示式(回传的参数),方法的参数清单(传入的自变量)重载的方法–名称相同,但使用不同参数清单的方法类别层级的方法–与类别相关,而不是该类别的对象相关的方法,由底线予以表示学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11定义设计类别的标记法(图11-8)学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11学生设计类别范例学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11开发第一版的设计类别图扩充领域模型类别图详述属性的型别与初始值的信息详细设计会按照使用案例逐一进行互动图实作浏览更新浏览箭头维持一致性为每个类别新增方法宣告形式学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11开发第一版的设计类别图(续)选择一个使用案例做为起步,并只集中处理该使用案例涉及的类别新增使用案例控制器详述属性可见性,型别表示式,初始值,内容建立第一版的浏览可见性一对多关系通常会由主要的对象浏览到从属的对象强制性关系通常会从比较独立的类别浏览到比较相依的类别当某个对象需要另一个对象中的信息时,就需要浏览的箭头,可能指向对象的本身,或阶层中的上方对象浏览箭头可能是双向的学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11RMO的部份领域模型类别图学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11RMO中「查询商品供货情形」使用案例的第一版设计类别图(图11-11)学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11设计样式与使用案例控制器设计样式设计需求的标准解决方案模板,可以促进优良设计原则的运用使用案例控制器样式设计需求是辨识哪个问题领域类别应该使用者接口接受输入讯息解决方案是选择类别扮演传入讯息集合点的角色,控制器是外部世界与内部系统间的中间者人工制品–由系统设计人员所发明的类别,作用是处理必要的系统功能,像是控制器类别学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11基本的设计原则封装–每个对象都是自给自足的单元,包括数据与程序逻辑对象重复使用–程序人员往往重复使用窗口组件的相同类别信息隐藏–与对象相关的数据无法被外在世界看到保护变动–系统中不太可能变动的部份,应该与需要变动的部份加以隔离间接取值–在两个类别之间放置中介的类别,让它们退耦,但仍然维持连结的关系学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11基本的设计原则(续)耦合–一种定性的测量单位,用来代表设计类别图中类别间连结的紧密程度计算设计类别图上的浏览箭头数或循序图中的讯息数低耦合–系统比较容易了解与维护内聚力–一种定性的测量单位,表示单一类别中功能间的一致性责任分散–将低内聚力的类别分为多个高内聚力的类别高内聚力–系统比较容易了解与维护,而且比较可能重复使用学贯营销股份有限公司XBOOKMARKETINGCo.,Ltd.系统分析与设计,第四版SystemsAnalysisandDesigninaChangingWorld,4thEdition11实现使用案例与定义方法:以循序图进行设计工作使用案例的实现会透过开发互动图完成判定哪些对象有协同合作的关系,透过彼此间讯息的传送执行使用案