例:閱讀下列說明,回答問題1至問題3,將解答填入答題紙的對應欄內。
【說明】某大學擬開發一個用於管理學術出版物(Publication) 的數字圖書館系統,用戶可以從該系統查詢或下載已發表的學術出版物。系統的主要功能如下:
1.登錄系統。系統的用戶 (User)僅限於該大學的學生 (Student) 、教師(Faculty)和其他工作人員(Staff) 。在訪問系統之前,用戶必須使用其校園賬戶和密碼登錄系統。
2. 查詢某位作者 (Author)的所有出版物。系統中保存了會議文章 (ConfPaper)、期刊文章 (JurnalArticle)和校內技術報告(TechReport )等學術出版物的信息,如題目、作者以及出版年份等。除此之外,系統還存儲了不同類型出版物的一些特有信息;
(1)對於會議文章,系統還記錄了會議名稱、召開時間以及召開地點;
(2)對於期刊文章,系統還記錄了期刊名稱、出版月份、期號以及主辦單位;
(3)對於校內技術報告,系統記錄了由學校分配的唯一ID。
3. 查詢指定會議集(Proceedings)或某個期刊特定期(Edition) 的所有文章。會議集包含了發表在該會議(在某個特定時間段、特定地點召開)上的所有文章。期刊的每一期在特定時間發行,其中包含若干篇文章。
4.下載出版物。系統記錄每個出版物被下載的次數。
5.查詢引用了某篇出版物的所有出版物。在學術出版物中引用他人或早期的文獻作為相關工作或背景資料是很常見的現象。用戶也可以在系統中為某篇出版物注冊引用通知,若有新的出版物引用了該出版物,系統將發送電子郵件通知該用戶。
現在采用面向對象方法對該系統進行開發,得到系統的初始設計類圖如圖3-1所示。
【問題1】(9分)
根據說明中的描述,給出圖3-1中C1~C9所對應的類名。
【問題1】(4分)
根據說明中的描述,給出圖3-1中類C6~C9的屬性。
【問題3】 (2分)
圖3-1中包含了哪種設計模式?實現的是該系統的哪個功能?
【問題1】
根據說明中的描述,給出圖3-1中C1~C9所對應的類名。
C1:Object
C2:User
C3:Student
C4:Faculty
C5:Staff
C6:Publication
C7:ConfPaper
C8:JournalArticle
C9:TechReport
【問題2】
根據說明中的描述,給出圖3-1中類C6~C9的屬性。
C6:題目,作者,出版年份
C7:會議名稱,召開時間,召開地點
C8:期刊名稱,出版月份,期號,主辦單位
C9:ID
【問題3】
觀察者模式。
實現:引用他人學術出版物發送電子郵件通知該用戶。