題目要求:
OOA(Object Oriented Analysis,面向對象分析):
從客觀存在的事務和事務之間的關系,歸納出有關對象(包括對象的屬性和行為)以及對象之間的聯系,并将具有相同屬性和行為的對象用一個類(class)來表示。建立一個能夠反映真實情況的需求模型。
OOD(Object OrientedDesign,面向對象設計):
将面向對象分析階段形成的需求模型進一步具體設計。如類的設計(繼承、派生、類與類之間的消息協作)、算法的設計等。采取通用的工具,如流程圖、類圖等來描述。
題目描述:
采取面向對象的方法,四則運算自動出題軟體,根據需求可以劃分為幾個類?每個類具有什麼屬性?每個類具有什麼行為?
類與類之間是如何進行協作的?誰給誰發送消息?誰持有誰的引用?
該自動出題軟體采取何種算法或者是如何實作的?可以采用流程圖描述的方法。
作業:
一.代碼的分解
我認為,所有的代碼都可以分成三個部分:輸入部分,操作部分,輸出部分;
輸入主要的作用是填入操作部分中的未知參數,而需要輸出的,往往是操作部分的過程資料和最終資料 是以其中操作部分是整個代碼的核心部分。
以四則運算為例:
輸入部分:語言的選擇、題目數量;
操作部分:題目的生成、計算正确的答案、将正确答案與輸入的答案比較(資料的統計)
輸出部分:生成的題目、正确的答案、統計的資料
綜上,類大緻可分為三中,輸入類、操作類、輸出類,但是,上面說過,輸出的内容大多是操作的資料是以,輸出類可以省略。
1.輸入類:(使用者輸入類,檔案引入類)

2.操作類:(生成類,統計類(在四則運算中這兩者可以合并)
輸入類給題目生成類發送題目數量的消息,發送語言給輸出類,而輸出類需要引用生成類的題目,答案及統計資料