案例場景
某高校圖書館購買了若干學術資源的鏡像數據庫(MirrorDB)資源,現要求開發一套數字圖書館(Digital Library )系統,面向校內用戶(User)提供學術資源(Resource)的瀏覽、檢索和下載服務,系統的主要要求描述如下:
(1)系統中存儲了每個鏡像數據庫的基本信息,包括:數據庫名稱、訪問地址、數據庫屬性以及數據庫簡介等信息,用戶進入某個鏡像數據庫后,可以瀏覽、檢索以及下載其中的學術資源。
(2)學術資源包括會議論文(Conference Paper )、期刊論文(Journal Article)以及學位論文(Thesis)等。系統中存儲了每個學術資源的題名、作者、發表時間,來源(哪個鏡像數據庫),被引次數、下載次數等信息。對于會議論文,還需記錄會議名
稱、召開時間以及召開地點;同一次會議的論文被收錄在會議集(Proceeding)中。對于期刊論文,還需記錄期刊名稱、出版月份、期號以及主辦單位;同一期號的論文被收錄在一本期刊(Edition)中。對于學位論文,記錄了學位類別(博士/碩士)、畢業學校、專業以及指導教師。
會議集包含發表在該會議(在某個特定時間段、特定地點召開)上的所有文章。期刊的每一期在特定時間發行,其中包含若干篇文章.
(3)系統用戶(User)包括在校學生(Student)、教師(Teacher)以及其他在職人員(Staff)。用戶使用學校的統一身份認證登錄系統后,使用系統提供的各項服務。
(4)系統提供多種資源檢索的方式,主要包括:按照資源的題名檢索(Search By Title)、按照作者名稱檢索(Search ByAuthor)、按照來源檢索(Search By Source)等。
(5)用戶可以下載資源,系統記錄每個資源被下載的次數。
現采用面向對象分析與設計方法開發該系統,得到如圖3-1所示的用例圖以及圖3-2所示的初始類圖。


[問題1](8分)
根據說明中的描述,給出圖3-2中的C1~C8所對應的類名。
[問題2](4分)
根據說明中的描述,給出圖3-2中的類C1~C4的關鍵屬性。
[問題3](3分)
在該系統的開發過程中遇到了新的要求:用戶能夠在系統中對其所關注的數字資源注冊他引通知,若該資源的他引次數發生變化,系統可以及時通知該用戶。為了實現這個新的要求,可以在圖3-2所示的類圖中增加哪種設計模式?用150字以內文字解釋選擇該模式的原因。
參考答案:
[問題1]
C1: ResourceC2:ConferencePaper C3: JouralArticle C4:Thesis C5:UserC6--C8不限順序C6:StudentC7:Teacher
C8: Staff
[問題2]
C1:題名、作者、發表時間、來源、被引次數、下載次數
C2:會議名稱、召開時間、召開地點
C3:期刊名稱、出版月份、期號、主辦單位
C4:學位類別、畢業學校、專業、指導教師
[問題3]
觀察者模式
觀察者模式定義對象間的一對多的關系,當一個對象的狀態發生改變、所有依賴于它的對象都將得到通知并自動更新。符合系統需求。
軟考備考資料免費領取
去領取
專注在線職業教育25年