《軟件需求模式》04
在系統開發的過程中,開發者常常是以輕視、隨意的態度對待信息,為了解決眾多的系統以馬馬虎虎的方式處理數據的問題,我們需要一種方案——數據實體需求模式。該方案把所有的實體分為幾個固定的種類,共享很多重要的特征,目的是施加一些秩序和一致性。數據實體領域的需求模式包含:數據實體(活實體、交易、配置、編年史)和信息儲存。其中,活實體需求模式是用來定義一種實體,它的信息需求保存,並且有預期壽命(也就是說,可以被建立,可以被多次修改,並最終被終止)。它的內容必須至少包括:實體名稱、實體的解釋、實體包含的信息、實體被唯一確定的方式、父實體的詳細內容;額外需求有:編輯功能、查詢功能、修改歷史、公共數據、只是邏輯刪除。交易需求模式是用來定義一個活實體生命中的一種事件,和/或輸入這樣一個交易的功能。它的內容有:交易名稱、交易的解釋、交易包含的信息、一個交易如何被唯一確定、所有者活實體詳細信息、什麽時候交易被認為是發生了、交易的壽命。在開發的過程中我們應該註意一點,就是交易一旦發生,它的數據就是永遠不能被修改的。配置需求模式是用來定義參數值和控制系統如何運行的。有兩種方式組織配置需求:1.定義一個配置值(名稱和目的、代表值、數據類型、級別、配置值什麽時候可以修改),然後描述它所處的級別;2.定義配置實體(實體名稱、實體的目的、實體內容、實體如何唯一確定、實體什麽時候可以修改),它形成了配置的一部分。編年史需求模式是用來定義系統生命中必須被記錄的某種或某幾種事件。一個編年史需求應該包括:記錄的事情的類型、每件事情記錄的信息、嚴重程度;額外需求有:訪問控制、公共編年史特征、編年史查看功能、嚴重級別、清洗編年史、歸檔編年史、觸發其他操作、開啟或關閉編年史記錄。而信息存儲基礎架構則是用於永久保存信息的。
用戶的功能是豐富多彩的,所以我們很難找到共同點對它們分類,並值得為它編寫需求模式。在《軟件需求模式》的書中,我們就了解其中的一部分:查詢模式和報表模式。查詢需求模式是用來定義屏幕顯示功能,顯示給用戶指定的信息。定義一個查詢需求應該指定以下信息:查詢名稱、查詢的業務意圖、顯示的信息、排序順序、挑選標準、瀏覽、交互、自動刷新;額外需求有:1.綜合查詢,為了防止不得不對每一個瑣碎的信息都定義一個查詢,定義一些覆蓋廣的需求,處理可能忘記的事;2.公共查詢特征,如果有一些規則適用所有的查詢,只定義一次,這樣可以應用於整個系統。在開發的時候,我們應該註意檢查信息是否可用,考慮是否有潛在的性能問題和在預計的用戶界面環境下自動的自我刷新是否容易實現。報表需求模式是用來定義報表,該報表用於顯示指定的信息給用戶,而被顯示的信息不會被報表修改。當需要決定是以查詢的方式顯示還是報表的方式顯示時,我們需要考慮的因素有:1.有多少信息要顯示,顯示多列信息報表可能更好;2.需要怎樣交互,報表是被動的;3.多久需要一份硬拷貝,經常打印應該采用報表;4.多少人要看,運行一個報表發給別人比較可靠;5.是否需要保存結果,報表比查詢更容易保存;6.信息來自哪裏,如果信息不是來自於數據庫報表產品可能不能讀取;7.信息不穩定的程度,如果數據經常改變報表的拷貝會很快過時;8.查詢還是報表實現更便宜。報表需求模式應該指定以下內容:報表的名稱、報表的業務意圖、顯示的信息、排序順序、挑選標準、自動運行詳細信息、總計級別、換頁級別。易用性需求模式是用來定義某種殘障人士或者有特定需要人士使用系統的容易程度,也就是說必須如何方便他們的使用;額外需求有:常規的易用性、特定需要步驟、裁剪以適合某一個用戶、文檔和支持、證明一致、可用性。而為了做好易用性功能的開發,軟件工程師應該具備3個領域的基本應用知識:(1)計算機用戶的特定需要範圍(2)內置於操作系統以及正在使用的其他產品和技術的易用性特性(3)一些最重要的輔助技術的類型以及它們如何工作的大致概念。用戶界面基礎架構就是一組相關的組件,它們一起使用可以與系統交互;而報表基礎架構是為我們產生報表,並且通常可以設計新的報表的,在實現時需要考慮的重要方面是:報表設計工具、交付機制、編年史信息、訪問控制、通知接收人的方式、報表內容和格式、報表調度、報表基礎架構使用的報告、備份和維護。
《軟件需求模式》04