系统分析与设计_第1页
系统分析与设计_第2页
系统分析与设计_第3页
系统分析与设计_第4页
系统分析与设计_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

系统分析与设计,第四版,学习目标,解释面向对象设计的作用与目标开发设计类别图根据对象责任与使用案例控制器的原则开发互动图,学习目标(续),开发细部时序图,并当做系统设计的核心程序开发通讯图,并当做系统设计的一部份使用组件图说明架构设计,概述,本章的主要重点是如何开发详细的面向对象设计模型程序人员使用模型撰写系统的程序两种最重要的模型是设计类图与互动图(时序图与通讯图)类别会为领域层、检视层与数据存取层开发互动图则延伸系统时序图,面向对象设计:分析与程序设计间的桥梁,使用者需求与新系统程序设计间的桥梁面向对象设计是组建详细面向对象设计模型的过程程序设计人员会使用设计来撰写程序代码,并测试这套新系统使用者接口、网络、控管机制、安全性、及数据库也都需要详细的设计与模型,面向对象程序简介,由一组对象构成,它们会共同合作完成某项结果对象都包含程序逻辑,以及每个单元中的必要属性对象透过彼此传送消息与协同作业,以支持主程序的功能OO系统设计人员提供详细内容给程序人员设定类图,互动图,以及一些状态机图,面向对象的三层式程序,更新学生姓名的时序图(图11-2),学生的领域类别与设计类图范例,以Java写成的学生类别的样本类别定义(图11-4a),面向对象的设计程序与模型,为分析/需求开发的图表使用用例图,使用案例说明与活动图,领域模型类图,与系统时序图为设计开发的图表互动图与组件图设计类别图包括面向对象类别,类别间的浏览,属性名称,方法名称,与程序设计需要的属性,设计模型与个别的输入模型(图11-5),对象导向的设计设计的步骤(图11-6),使用案例的实现在每个使用案例中,所有系统处理的详细规格,设计类别、互动与设计程序,设计类别图与详细的互动图需要共同使用,也会一起开发第一版设计类别图以领域模型与系统设计原则为基础使用案例的第一版循序图由系统时序图(SSD)衍生而来显示互动的对象时序图会逐层完成问题领域,资料存取,与检视层设计类图需要根据时序图更新,设计类别的符号,UML并未特别区分设计类别与领域模型的符号领域模型类别图显示使用者工作环境中的概念性类别设计类别图定义的则是软件类别UML提供模板的符号,根据特征为模型的元素分类,设计模型中会出现的标准模板(图11-7),标准的设计类别,实体问题领域类别的设计识别码永续类别系统结束后依旧存在控制存在于边界类别与实体类别之间,位于检视层与领域层之间边界出现在系统自动化边界上的类别,由使用者接触使用者接口与窗口类别数据存取从数据库获取数据,及将数据传回数据库,浏览可见性,某对象能参照其它对象的设计原则可以透过传送消息与其它对象互动,设计类别的标记法,名称类别名称与模板信息属性的可见性(私有或公用)属性的名称,型别表示式,初始值,内容方法宣告形式启动(或呼叫)该方法所需要的所有信息方法的可见性,方法的名称,型别表示式(回传的参数),方法的参数清单(传入的自变量)重载的方法名称相同,但使用不同参数清单的方法类别层级的方法与类别相关,而不是该类别的对象相关的方法,由底线予以表示,定义设计类别的标记法(图11-8),学生设计类别范例,开发第一版的设计类别图,扩充领域模型类别图详述属性的型别与初始值的信息详细设计会按照使用案例逐一进行互动图实作浏览更新浏览箭头维持一致性为每个类别新增方法宣告形式,开发第一版的设计类别图(续),选择一个使用案例做为起步,并只集中处理该使用案例涉及的类别新增使用案例控制器详述属性可见性,型别表示式,初始值,内容建立第一版的浏览可见性一对多关系通常会由主要的对象浏览到从属的对象强制性关系通常会从比较独立的类别浏览到比较相依的类别当某个对象需要另一个对象中的信息时,就需要浏览的箭头,可能指向对象的本身,或阶层中的上方对象浏览箭头可能是双向的,RMO的部份领域模型类别图,RMO中查询商品供货情形使用案例的第一版设计类别图(图11-11),设计样式与使用案例控制器,设计样式设计需求的标准解决方案模板,可以促进优良设计原则的运用使用案例控制器样式设计需求是辨识哪个问题领域类别应该使用者接口接受输入讯息解决方案是选择类别扮演传入讯息集合点的角色,控制器是外部世界与内部系统间的中间者人工制品由系统设计人员所发明的类别,作用是处理必要的系统功能,像是控制器类别,基本的设计原则,封装每个对象都是自给自足的单元,包括数据与程序逻辑对象重复使用程序人员往往重复使用窗口组件的相同类别信息隐藏与对象相关的数据无法被外在世界看到保护变动系统中不太可能变动的部份,应该与需要变动的部份加以隔离间接取值在两个类别之间放置中介的类别,让它们退耦,但仍然维持连结的关系,基本的设计原则(续),耦合一种定性的测量单位,用来代表设计类别图中类别间连结的紧密程度计算设计类别图上的浏览箭头数或循序图中的讯息数低耦合系统比较容易了解与维护内聚力一种定性的测量单位,表示单一类别中功能间的一致性责任分散将低内聚力的类别分为多个高内聚力的类别高内聚力系统比较容易了解与维护,而且比较可能重复使用,实现使用案例与定义方法:以循序图进行设计工作,使用案例的实现会透过开发互动图完成判定哪些对象有协同合作的关系,透过彼此间讯息的传送执行使用案例循序图或通讯图代表设计决策的结果使用精心定义的设计原则,像是耦合,内聚力,责任分散,对象的责任,对象需要负责执行某些系统的处理作业责任可分为两大主要的领域:知道与执行知道所包括的责任为知道自己的数据,以及必须合作实现使用案例的其它类别执行所包括的责任为,在协助实现使用案例中,对象需要执行的所有活动接收与处理讯息初始化或建立,完成使用案例所需要的新对象设计的意义就是根据设计原则与设计样式,将责任指派给适当的类别,以循序图进行设计工作,循序图用来解释对象的互动并记录设计的决策为单一使用案例或情节记录与系统间的输入与输出捕捉系统与外部世界间的互动关系输入是从参与者到系统的讯息输出则是显示数据的回传讯息,查询商品供货情形使用案例的SSD,第一版的循序图,从SSD的元素开始将:System对象换成使用案例控制器新增使用案例需要的其它对象选出使用案例的输入讯息新增必须合作的所有对象决定必须传送的其它讯息每项讯息的来源与目的对象为何?,查询商品供货情形使用案例包含的对象,开发初步循序图的指南,记录每项输入讯息,并决定从这些输入产生的所有内部讯息针对这些讯息,决定出它的目标需要哪些信息,类别的目的地,类别的来源,以及因而产生的对象重复检查必要的类别丰富每项讯息的组件反复作业、真假条件、回传值、与传送的参数,查询商品供货情形使用案例的第一版循序图(图11-14),开发初步循序图的假设,完美科技假定不会加入类似使用者需要登入/注销的系统控制完美内存假定不会担心这些对象是否在内存中产生必要的对象都在内存中完美解决方案假定没有任何例外的状况假设都是正常的路径/不会有问题的解决方案,维护产品信息使用案例的SSD,维护产品信息使用案例的第一版设计类别图,维护产品信息使用案例包含的对象(图11-17),维护产品信息使用案例的第一版循序图(图11-18),开发多层式设计,第一版的循序图使用案例控制器加上领域层中的类别新增数据存取层设计数据存取层,做为数据库互动之用不再做出完美内存假定责任分散新增检视层设计使用者接口类别在循序图中的参与者及控制器间,以窗口类别加入窗体,两种读取数据库与初始化对象的方法,设计数据存取层,为每个领域类别建立数据存取类别为Customer新增CustomerDA存取数据库的SQL叙述,会放在数据存取类别中,领域类别不需要知道数据库的设计或实作方法(a)控制器初始化新的顾客aC;新的实例要求DA类别填入由数据库取回的属性方法(b)控制器要求DA类别初始化新的顾客aC;DA类别读取数据库,并将数值传给顾客的建构子以下的两个范例使用的就是这种方法,查询商品供货情形的企业与数据存取对象(图11-20),维护产品信息的企业与数据存取对象(图11-21),设计检视层,为每个使用案例的参与者及控制器间新增GUI窗体或网页尽量不要将企业逻辑放进窗体中有些使用案例只需要一个窗体,有些则需要多个窗体与对话框检视层设计的重点是窗体/网页的顺序对白接口设计与HCI的细节都在第十三与十四章说明,加上ProductQuery窗体之后的查询商品供货情形使用案例,加上检视层之后的查询商品供货情形使用案例(图11-22),维护产品信息使用案例的roductWindow与MsgWindow,加上检视层之后的维护产品信息使用案例(图11-23),以通讯图进行设计,通讯图与循序图都属于互动图捕捉的信息也相同设计的程序也都一样使用何种模型纯粹是设计人员的个人偏好循序图因为使用案例说明与对话设计都遵循一系列的步骤通讯图强调的重点是耦合的程度,通讯图中使用的符号(图11-24),查询商品供货情形使用案例的通讯图(图11-25),使用图标符号的查询商品供货情形使用案例(图11-26),更新设计类别图,为每一个层级开发设计类别图在检视层与数据存取层中界定新的类别领域层也需要为使用案例控制器增加新的类别循序图的讯息用来新增方法建构子方法数据的取回与设定方法与使用案例有关的方法,ProductItem的设计类别,并加上方法的宣告形式(图11-27),更新后的领域层设计类别图(图11-28),套件图:组织主要的组件,UML中的高阶图表,能将类别结合为相关群组辨识系统的主要组件与相依性决定每个层级将放入的最终程序检视层、领域层与资料存取层可以将系统分为子系统,并显示套件图内的巢状关系,RMO三层式套件图的部份设计内容(图11-29),RMO的子系统套件图(图11-30),三层式设计的实作课题,以程序建构系统Java或VB.NET或C#.NETIDE工具(VisualStudio,RationalApplicationDeveloper,JBuilder)与使用者接口设计,数据库设计,及网络设计整合使用对象责任定义每个层级中的程序责任检视层,领域层,资料存取层,总结,对象导向设计是使用者需求(以分析模型表示)与最终系统(由程序语言建构)间的桥梁设计活动由使用案例,设计类

温馨提示

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

评论

0/150

提交评论