軟體工程之系統建模篇【設計系統類模型】
類模型是面向物件分析的核心,系統類模型用包圖描述,前面的文章我們分析了實體類、介面類、介面控制類和用例控制類,本章我們將介紹系統類模型的設計,首先簡要介紹類模型的設計方法,然後設計子系統的類模型,最後設計系統類模型。
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。下面是系統類模型圖