现在的位置: 首页 > 综合 > 正文

软件工程之系统建模篇【设计系统类模型】

2014年02月16日 ⁄ 综合 ⁄ 共 2019字 ⁄ 字号 评论关闭

  类模型是面向对象分析的核心,系统类模型用包图描述,前面的文章我们分析了实体类、接口类、接口控制类和用例控制类,本章我们将介绍系统类模型的设计,首先简要介绍类模型的设计方法,然后设计子系统的类模型,最后设计系统类模型。

  1、设计方法

  设计系统类模型,要明确子系统或系统的组成,及各个组成部分之间的关系,子系统的划分和前面介绍过的接口类包的划分相同,主要包括:发文办理、收文办理、会议管理、档案管理、公告管理、个人助理、系统管理、用户登录8个子系统,无论是子系统模型还是系统类模型,都包含接口类包、接口控制类包、用例控制类包以及有关系的实体类包。在前面我们知道,接口类依赖接口控制类、接口控制类依赖于用例控制类、用例控制类又依赖于实体类,它们之间都是依赖关系。

  2、子系统类模型

  我们依然以发文办理做讲解,介绍发文办理子系统模型的设计。与发文办理子系统有关系的实体类是SFilePack包、Archive包和Pending类,各类型之间存在依赖关系,即接口类UISFilePack包中的UIDraftSFilePack、UIAuditSFilePack、UICheckSFilePack、UISignSFilePack、UIEnreSFilePack和UISendSFilePack包分别依赖于接口控制类UICSFilePack包中的UICDraftSFilePack、UICAuditSFilePack、UICCheckSFilePack、UICSignSFilePack、UICEnreSFilePack和UICSendSFilePack包,接口控制类包中的UICDraftSFilePack、UICAuditSFilePack、UICCheckSFilePack、UICSignSFilePack、UICEnreSFilePack和UICSendSFilePack包又分别依赖于用例控制类UCSFilePack中的UCDraftSFile、UCAuditSFile、UCCheckSFile、UCSignSFile、UCEnreSFile和UCSendSFile类,用例控制类UCSFilePack包中的每一个类都分别依赖于实体类SFile和Pending,用例控制类UCDraftSFile和UCEnreSFile都依赖于实体类EnreSFile,用例控制类UCSendSFile依赖于实体类SFileArchive。

  

  3、系统类模型

  建立好各个子系统类模型后,就可以建立系统类模型了,通过系统类模型,可以从总体上了解各个子系统之间的关系。前面已经对系统的实体类、接口类和两个控制类分别建立了类模型,我们将加入它们之间的关系,得到系统类模型,在接口类包UISystem中,UISFilePack、UIRFilePack、UIMeetingPack、UIArchivePack、UINoticePack、UIAssistantPack、UISystemPack和FrmLogin8个包,分别依赖于接口控制类包UICSystem中的UICSFilePack、UICRFilePack、UICMeetingPack、UICArchivePack、UICNoticePack、UICAssistantPack、UICSFilePack和UICLogin,接口控制类包UICSystem中UICSFilePack、UICRFilePack、UICMeetingPack、UICArchivePack、UICNoticePack、UICAssistantPack、UICSystemPack和UICLogin8个包,又分别依赖于用例控制类包中的UCSFilePack、UCRFilePack、UCMeetingPack、UCArchivePack、UCNoticePack、UCAssistantPack、UCSystemPack和UCLogin8个包。用例控制类UCSFilePack包依赖于实体类SFilePack包,用例控制类UCRFilePack包依赖于实体类RFilePack包,用例控制类UCMeetingPack包依赖于实体类MeetingPack包,用例控制类UCSFilePack、UCRFilePack、UCMeetingPack、UCArchivePack和UCAssistantPack包都依赖于实体类ArchivePack包,用例控制类UCNoticePack包依赖于实体Notice,用例控制类UCSFilePack、UCRFilePack、UCMeetingPack、UCNoticePack和UCAssistantPack包都依赖于实体类Pending,而用例控制类UCAssistantPack、UCSystemPack包和UCLogin包都依赖于实体类User。下面是系统类模型图

  

 

  

抱歉!评论已关闭.