软件工程之系统建模篇:设计系统类模型2014-06-09 cnblogs elysee类模型是面向对象分析的核心,系统类模型用包图描述,前面的文章我们分析 了实体类、接口类、接口控制类和用例控制类,本章我们将介绍系统类模型的设 计,首先简要介绍类模型的设计方法,然后设计子系统的类模型,最后设计系统 类模型。
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。下面是系 统类模型图