- 1、本文档共54页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
52面向对象系统设计
5.2 面向对象系统设计 5.2 面向对象系统设计 5.2.1 系统体系结构设计 5.2.2 子系统耦合度与聚合度 5.2.3 子系统与功能模块设计 5.2.4 系统数据管理设计 5.2.5系统界面设计 5.2.1 系统体系结构设计 5.2.1.1 系统逻辑体系结构设计 5.2.1.2 系统物理体系结构设计 5.2.1.1 系统逻辑体系结构设计 1.设计原则 面向对象系统设计的第一步就是确定系统逻辑体系结构,它决定了各子系统如何组织以及如何协调工作。在面向对象系统设计过程中,利用系统分层技术将整个系统进行分层,每个层完成自身的功能,最后,所有的层整合起来构成一个完整的系统逻辑体系结构。 2. 逻辑体系结构建模:包图设计 在 UML中,一般采用包图对系统逻辑体系结构进行建模,一个包相当于一个子系统,一个包也可以向下划分为更小的包。根据设计原则和信息系统原理,将信息系统中比较关心的对象分层. 用户界面层、业务处理层、数据访问层 各层中的一些公共部分提出来:权限管理、异常处理。 包图设计 1)用户界面包 如图5.2.3(a)所示,用户界面层的职责是: (1) 与用户的交互,接收用户的各种输入以及输出各种提示信息或处理结果。 (2) 对于输入的数据进行数据校验,过滤非法数据。 (3) 向业务处理对象发送处理请求。 用户界面包含的类如图5.2.3(b)所示。 2)业务处理包 如图5.2.4(a)所示,业务处理层的职责是: (1)实现各种业务处理逻辑或处理算法; (2)验证请求者的权限; (3)向数据访问对象发送数据持久化操作的请求; (4)向用户界面层返回处理结果。 业务处理包含的类如图5.2.4(b)所示。 3)数据访问包 如图5.2.5(a)所示,数据访问层的职责是: (1)实现数据的持久化操作; (2)实现事务处理。 数据访问包含的类如图5.2.5(b)所示。 4) 权限管理包 如图7.6(a)所示,权限管理的主要职责是: (1)验证请求者的请求权限; (2)提供请求者的权限列表。 权限管理包含的类如图7.6(b)所示。 5) 异常处理包 如图7.7(a)所示,异常处理的主要是: (1)汇报运行时的详细异常信息; (2)记录异常处理日志。 异常处理包含的类如图7.7(b)所示 包图设计举例 在图书管理系统逻辑体系设计中,其系统包图如图7.8所示,一共有3个包:“图书业务处理”包、“用户界面”包和“数据库”包。在“图书业务处理”包中包含了实现图书馆管理的所有类;在“用户界面”包中包含了该系统的全部界面类;在“数据库”包中包含了与实现数据库服务有关的全部类。 5.2.1.2 系统物理体系结构设计 系统物理体系结构设计,不仅包括: (1)不同的节点和这些节点之间的连接方式 (2)表示了逻辑体系结构和物理结构的依赖关系。 在UML中,一般采用构件图和部署图来对系统物理体系结构进行建模。 构件图和部署图可以描述出系统中的类和对象涉及的具体程序或进程,并表明程序或进程使用的硬件设备及它们之间的相互连接。 1. 系统构件图 构件是程序代码的实际物理模块,系统的构件图用来显示代码模块间的关系。 在图书管理系统物理体系设计中,其系统构件图如图7.9所示。系统包含3个类包,即界面包、图书业务包和数据库包,以及1个图书管理系统包。 在图7.9所示图书管理系统构件图中,图书业务包包含5个构件部分,如图5.2.10所示。 2. 系统部署图 部署图用来描述系统硬件的物理拓扑结构以及在此结构上执行的软件。 在图书管理系统物理体系设计中,图书管理系统的各个部分可以部署在不同的节点上,通过网络相互通信。图书管理系统是一个客户机/服务器结构的分布式系统,它的数据库放置在图书馆的数据库服务器上,图书馆服务器向用户提供了借书管理服务和信息管理服务,借阅者和图书管理员可以通过客户端借阅、预定、返还书籍并进行各种信息的维护。基于此,绘制图书管理系统部署图如图5.2.11所示。 5.2.2 子系统耦合度与聚合度 2. 子系统内部聚合度 聚合度描述了子系统内部的依赖程度。如果某个子系统含有多个彼此相关的对象,并且它们执行类似的任务,它们的相关性就比较高,那么子系统内部聚合度就高。聚合度越高,子系统独立性越强,反之亦然。 要坚持低耦合、高聚合的原则,从而保证子系统与功能模块的独立性。 通常在聚合度和耦合度之间存在一个平衡,将系统不断分解成子系统可以提高系统的聚合度,但是,随着子系统之间接口数量的增加,也会提高耦合度。 5.2.3 子系统与功能模块设计 在系统设计的过程中,系统设计人员将系统分解成能由单个团队实现的较小的子系统,又称为功能模块,这些子系统的设计要遵循“低耦合、高聚合、强独立”的原则,主要的设计活动包括服务与子系统接口设计、分层
文档评论(0)