軟件工程實驗指導_第1頁
軟件工程實驗指導_第2頁
軟件工程實驗指導_第3頁
軟件工程實驗指導_第4頁
軟件工程實驗指導_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、軟件工程實驗指導書何麗萍 南京郵電大學傳媒與藝術學院二九年一月目 錄實驗一 撰寫可行性研究報告-2實驗二 撰寫需求規(guī)格說明書-5實驗三 撰寫概要設計說明書-8實驗四 撰寫詳細設計說明書-12實驗五 測試用例的設計-15實驗六 用UML進行建模-17附錄一 實驗要求-23附錄二 實驗題目-24附錄三 軟件開發(fā)文檔指南-29實驗一撰寫可行性研究報告一、實驗目的:掌握可行性研究的步驟,練習撰寫可行性研究報告。二、實驗工具:Office2000/XP和Power Designer/Visio 2000。三、實驗內容:1.掌握可行性研究方法;2.繪制數(shù)據流圖,使用word撰寫實驗報告。四、實驗要求 硬件

2、基本配置:P4,CPU2.4G、內存256M以上高檔微機;軟件要求:Windows98/2000/XP操作系統(tǒng),Office和Visio軟件; 實驗學時:4學時(課內1學時,課外3學時); 請參照以下實驗步驟寫出實驗報告。五、實驗步驟(僅供參考):XXXXX系統(tǒng)可行性研究報告步驟1:引言1.1編寫目的1.2項目背景1.3術語 參考格式如下: ECMS:Electronic Card Management System,電子名片管理系統(tǒng)步驟2:可行性研究的前提 2.1基本要求 2.1.1功能 2.1.2性能: 2.1.3系統(tǒng)的輸入 2.1.4系統(tǒng)的輸出 2.1.5處理流程 2.1.6安全和保密要

3、求 2.1.7完成期限要求 2.2開發(fā)目標 系統(tǒng)的開發(fā)目標需要考慮如下因素: 2.2.1人力與設備費用的相對減少 2.2.2處理速度的提高 2.2.3控制精度的提高 2.2.4人員利用率的改進 2.3具備條件該項需要說明項目開發(fā)中所具備的條件、假定和所受到的限制。 2.3.1所建議系統(tǒng)運行壽命的最小值 2.3.2進行系統(tǒng)方案選擇比較的時間 2.3.3硬件、軟件、運行環(huán)境和開發(fā)環(huán)境方面的條件硬件環(huán)境:軟件環(huán)境: 2.3.4可利用的信息和資源: 2.3.5系統(tǒng)投入使用的最晚時間: 2.4進行可行性研究的方法 可行性研究采用的方法如下: 2.4.1客戶調查 2.4.2專家咨詢 2.4.3市場相關產品

4、、同類產品調查 2.5評價尺度 步驟3:對現(xiàn)有系統(tǒng)的分析步驟4:所建議系統(tǒng)的技術可行性分析 4.1所建議系統(tǒng)的簡要描述4.2數(shù)據流程(常用系統(tǒng)資源圖和數(shù)據流程圖) 4.3與現(xiàn)有系統(tǒng)比較的優(yōu)越性 4.4采用建議系統(tǒng)可能帶來的影響 4.5所建議技術可行性分析步驟5:所建議系統(tǒng)的經濟可行性分析(投資和效益分析) 5.1支出 5.1.1基建投資硬件設備 5.1.2其它一次性支出:軟件設計和開發(fā)費用。 5.1.3經常性支出:軟件維護費用。 5.2效益 5.3投資回收周期步驟6:社會因素方面的可行性 6.1法律方面的可行性 新系統(tǒng)的研制和開發(fā),將不會侵犯他人、集體和國家的利益,不會違反國家政策和法律。 6

5、.2使用方面的可行性 新系統(tǒng)和研制和開發(fā)充分考慮用戶的業(yè)務往來、管理流程和人員素質等,從而滿足使用要求。步驟7:結論結論意見是:經上面可行性分析,系統(tǒng)研制和開發(fā)可以立即開始進行。實驗二 撰寫需求規(guī)格說明書一、實驗目的:掌握需求分析的步驟,練習撰寫需求規(guī)格說明書。二、實驗工具:Office2000/XP和Power Designer/Visio 2000。三、實驗內容:1.掌握需求分析方法; 2.繪制數(shù)據流圖,使用Word撰寫實驗報告。四、實驗要求: 硬件基本配置:P4,CPU2.4G、內存256M以上高檔微機;軟件要求:Windows98/2000/XP操作系統(tǒng),Office和Visio軟件;

6、 實驗學時:4學時(課內1學時,課外3學時); 請參照以下實驗步驟寫出實驗報告。五、實驗步驟(僅供參考):XXXXX需求規(guī)格說明書步驟1:引言1.1編寫目的:同“實驗一”中的編寫目的。 1.2項目背景 1.3術語說明:同“實驗一”中的術語說明。步驟2:項目概述2.1待開發(fā)軟件的一般描述 2.2待開發(fā)軟件的功能 2.3用戶特征 2.4運行環(huán)境 硬件環(huán)境: 軟件環(huán)境: 2.5條件與限制步驟3:功能需求3.1功能劃分本軟件具有如下主要功能:3.2功能描述步驟4:外部接口需求4.1用戶界面 4.2硬件接口:4.3軟件接口: 4.4通信接口:本軟件應提供對哪些平臺(例如對電子名片系統(tǒng),是否對電子郵件、W

7、EB瀏覽器、電話撥號、手機短信息等)的支持。4.5故障處理:故障使用時不應出錯,若運行時遇到不可恢復的系統(tǒng)錯誤,也必須保證數(shù)據庫完好無損。步驟5:性能需求5.1數(shù)據精確度5.2時間特性5.3適應性步驟6:軟件屬性需求6.1正確性:要求發(fā)布的軟件達到用戶的預期目標,運行時基本無錯誤。6.2可靠性:在一般條件下,應不出故障。6.3效率:對于一般操作,要求在多少時間內完成響應。6.4完整性:要求能在發(fā)生意外(如掉電)的情況下,保證不丟失數(shù)據。6.5易使用性:要求能盡量為用戶的使用提供方便,軟件的界面符合目前流行的界面規(guī)范。6.6可維護性:要求本軟件在運行中發(fā)現(xiàn)錯誤時,能快速、準確地其進行定位、診斷和

8、修改。6.7可測試性:設計時盡可能減少測試本軟件的各項功能所需要的工作量。6.8復用性:設計時應采取模塊化的方法進行設計,對系統(tǒng)內各模塊接口盡可能達到高內聚、低耦合的程度,以提高各模塊的復用性。6.9安全保密性:例如對電子名片管理系統(tǒng),要求提供身份驗證,只允許通過身份驗證的用戶使用本軟件;對于三次密碼輸入不正確的,應強行關閉。6.10可理解性:對于本軟件提供的各種菜單命令、各種信息提示,應易于用戶理解。6.11可移植性:說明本軟件在將來能否易于向多種操作系統(tǒng)上移植,或是否可用于掌上電腦。6.12互聯(lián)性:要求提供數(shù)據的導入和導出接口,以易于同其它系統(tǒng)連接。步驟7:其它需求:步驟8:數(shù)據描述8.1

9、靜態(tài)數(shù)據例如對電子名片管理系統(tǒng),參考格式如下所示:姓名 Name 單位 Company摘要顯示 Abstract 最后更新時間 UpdateTime備注 Memo8.2動態(tài)數(shù)據輸入數(shù)據:菜單選項,查詢關鍵字,新建記錄項,導入文件。輸出數(shù)據:由查詢關鍵字確定的數(shù)據庫記錄集合或全部記錄。內部生成的數(shù)據:中間查詢結果。8.3數(shù)據庫描述:本軟件采用什么類型數(shù)據庫。8.4數(shù)據詞典數(shù)據流圖、層次方框圖參見項目概述中的待開發(fā)軟件的功能,例如對電子名片管理系統(tǒng),其中涉及到的數(shù)據定義參考格式如下:1姓名1漢字101字母202單位名稱1漢字401字母8022摘要顯示1漢字1001字母20023最后更新時間1數(shù)字1

10、024備注1漢字字母5008.5數(shù)據采集例如對電子名片管理系統(tǒng),通過身份驗證的用戶,采用鍵盤和鼠標直接輸入或者從外部文件導入數(shù)據。實驗三 撰寫概要設計說明書一、實驗目的:掌握概要設計的步驟,練習撰寫概要設計說明書。 二、實驗工具:Office2000/XP和Visio 2000 三、實驗內容:1. 掌握概要設計方法;2. 利用以上工具繪制數(shù)據流圖,撰寫實驗報告。 四、實驗要求: 硬件基本配置:P4,CPU2.4G、內存256M以上高檔微機;軟件要求:Windows98/2000/XP操作系統(tǒng),Office和Visio軟件; 實驗學時:4學時(課內1學時,課外3學時); 請參照以下實驗步驟寫出實

11、驗報告。 五、實驗步驟(僅供參考):XXXXX系統(tǒng)概要設計說明書步驟1:引言 編寫目的:同實驗二中的編寫目的。 步驟2:任務概述 2.1目標 2.2運行環(huán)境:同實驗二中的運行環(huán)境。 2.3需求概述 本軟件主要有以下幾方面的功能: 功能描述參考格式如下:瀏覽功能:以列表形式顯示全部記錄。 幫助功能:為用戶使用本系統(tǒng)提供幫助。 2.4條件與限制 例如對電子名片系統(tǒng),系統(tǒng)是否可以和其它辦公自動化套件集成起來,作為其中的一個組件,在功能方面是否可以實現(xiàn)由多用戶分別進行管理,系統(tǒng)是否可以為級別不同的用戶設置不同的權限等,同時應進一步提高系統(tǒng)的安全保密性。 步驟3:總體設計 3.1處理流程 描述系統(tǒng)如何啟

12、動進入;系統(tǒng)通過什么事件驅動激活各功能模塊,并執(zhí)行指定模塊;由什么事件關閉系統(tǒng)模塊,退出系統(tǒng)。 3.2總體結構和模塊外部設計 繪制系統(tǒng)總體結構圖; 給出各模塊設計,參考格式如下:模塊編號:M1.1模塊名稱:初始化模塊 備注:系統(tǒng)初始化3.3.功能分配 描述系統(tǒng)功能由哪些模塊協(xié)調完成,參考格式如下:1、系統(tǒng)控制功能:初始化模塊(M1.1);關閉系統(tǒng)模塊(M1.2);系統(tǒng)世界觀模塊(M1.3) n、幫助功能:幫助模塊(Mn)。 步驟4:接口設計 4.1外部接口 4.1.1用戶界面 是否采用了易于交互的GUI,諸如窗口、菜單、對話框、滾動條等,給出主控界面圖。 4.1.2軟件接口 需要說明軟件運行于

13、何種操作系統(tǒng)之上。 4.1.3硬件接口 支持何種系列微機。 4.2內部接口 給出每個模塊的驅動方式和實現(xiàn)的功能,參考格式如下:初始化模塊:系統(tǒng)初始時由操作系統(tǒng)調用,執(zhí)行完畢后進入消息循環(huán)狀態(tài); 幫助模塊:為用戶提供幫助功能。 步驟5:數(shù)據結構設計 5.1邏輯結構設計 (1)給出數(shù)據庫表的定義,參考格式如下: 字段名名稱類型 索引index(unsigned)integer 姓名Namechar 20 備注Memochar 500 (2)配置文件:保留上次程序運行結束后的相關狀態(tài),參考格式如下: 數(shù)據記錄索引計數(shù)IndexNum: UINT 數(shù)據庫記錄總數(shù)RecordTotal: int (3)

14、全局變量: 1)記錄總數(shù)RecordTotal: int 2)瀏覽順序數(shù)組 Browse: int Browsemax 3)焦點記錄 FocusRecord: int 4)內存記錄緩沖區(qū)RecordBuffer: NameAdd RecordBuffermax NameAdd=Struct int Index; char Name20; char Company80; char Telnum40; NameAdd; 5)數(shù)據記錄索引記錄IndexNum: UINT; 5.2物理結構設計描述了模塊間為了方便通訊設置了那些全局變量,每個模塊如何訪問這些全局變量,參考格式如下:初始化模塊:將會設置全

15、局變量(1)(5); 關閉系統(tǒng)模塊:將全局變量(1)、(5)保存至配置文件中; 打印模塊:利用全局變量(2)、(3)和(4); 步驟6:運行設計 6.1運行模塊的組合 模塊命名方式按照相應模塊結合特性制定。命名方式為Mx和Mx。其中數(shù)字x相同的模塊即為同類模塊。 6.2運行控制 描述本軟件的控制流程:操作系統(tǒng)先啟動哪個模塊,消息驅動別激活了哪些模塊,哪個模塊關閉并退出系統(tǒng)等。 6.3運行時間 各模塊運行時間應控制在幾秒內。系統(tǒng)是否采用了一些方式,以有效提高計算機的利用率。 步驟7:出錯處理設計 本軟件是否充分考慮各種系統(tǒng)錯誤,避免造成數(shù)據庫系統(tǒng)不一致或損壞; 本軟件是否提供了撤銷機制,避免用戶

16、因誤操作對數(shù)據庫系統(tǒng)造成破壞; 采用何種形式(例如對話框等)為用戶提供警告信息; 一些關鍵性操作(比如刪除或修改記錄),是否提供了確認機制。 步驟8:安全保密設計 在用戶登錄系統(tǒng)時進行身份驗證,是否只允許合法用戶進入系統(tǒng); 是否添加了導入和導出功能,以方便用戶對數(shù)據進行備份。 步驟9:維護設計 XXXXX系統(tǒng)軟件有沒有按照軟件產品設計規(guī)范的步驟進行開發(fā),并充分考慮軟件可維護性,詳細編寫各階段的文檔資料,以利于未來版本升級以及移植等二次開發(fā)。實驗四 撰寫詳細設計說明書一、實驗目的:掌握詳細設計的步驟,練習撰寫詳細設計說明書。二、實驗工具:Office2000/XP和Visio 2000三、實驗內

17、容:1掌握詳細設計方法;2使用以上實驗工具繪制數(shù)據流圖,撰寫實驗報告。四、實驗要求: 硬件基本配置:P4,CPU2.4G、內存256M以上高檔微機;軟件要求:Windows98/2000/XP操作系統(tǒng),Office和Visio軟件; 實驗學時:5學時(課內1學時,課外4學時); 請參照以下實驗步驟寫出實驗報告。五、實驗步驟(僅供參考):XXXXX系統(tǒng)詳細設計說明書步驟1:引言步驟2:總體設計2.1需求概述簡單描述本軟件主要有哪些功能,參考格式如下:1)瀏覽功能以列表形式顯示全部記錄。n)幫助功能為用戶使用本系統(tǒng)提供幫助。2.2軟件結構用Visio繪出本軟件的數(shù)據流圖,包括頂層數(shù)據流圖、二層數(shù)據

18、流圖等,所有數(shù)據流圖以及其中的模塊應遵循標準編號。圖4.1是一個電子名片管理系統(tǒng)的頂層數(shù)據流圖,供參考。同時繪出本軟件的層次方框圖,表明模塊間的調用關系,圖4.2是一個電子名片管理系統(tǒng)的層次方框圖,供參考。圖4.1 頂層數(shù)據流圖圖4.2 層次方框圖步驟3模塊結構給出每個模塊的結構,如果編程實現(xiàn)時計劃采用控件技術,需要同時給控件名稱及其功能說明表,具體格式可參考如下:1、身份驗證模塊(M11)功能:對用戶進行身份驗證,通過驗證則登錄系統(tǒng)。輸入項目:輸入用戶名和密碼。輸出項目:無。存儲分配:程序運行需要占用內存約1MB左右??丶Q及其功能說明如表4.1所示控件 名稱 功能 用戶名組合框控件 Co

19、mboUser 輸入或選擇登錄用戶名稱 密碼 Txtpwd 輸入登錄用戶密碼 確定 Cmdland 登錄到電子名片管理系統(tǒng) 取消 Cmdcancel 取消登錄 幫助 Cmdhelp 提供幫助 表4.1 身份驗證模塊的控件名稱及其功能說明n、幫助功能:提供對XXXXX系統(tǒng)使用的幫助功能。輸入項目:鼠標或鍵盤事件。輸出項目:無。 實驗五 測試用例的設計一、實驗目的:掌握用不同的標準:黑盒測試(例如等價分類法)和白盒測試(例如基本路徑覆蓋法),設計測試用例;二、實驗工具:Office2000/XP和VC6.0/TC2.0/TC3.0 三、實驗內容:1熟悉典型測試方法:黑盒測試和白盒測試2編寫程序代碼

20、,為程序設計測試用例。要求用不同的標準設計測試用例,并上機驗證測試用例;3使用WORD撰寫實驗報告:測試文檔。四、實驗要求: 硬件基本配置:P4,CPU2.4G、內存256M以上高檔微機;軟件要求:Windows98/2000/XP操作系統(tǒng),VC6.0/TC2.0/TC3.0和WORD2000; 實驗學時:6學時(課內1學時,課外5學時); 請參照以下實驗步驟寫出實驗報告。五、實驗步驟(僅供參考):XX系統(tǒng)的測試文檔步驟1:用黑盒測試方法之一,等價類劃分法設計測試用例具體實例:某一8位微機,其八進制常數(shù)定義為:以零開頭的數(shù)是八進制整數(shù),其值的范圍是-177177,如05,0127,-065。根

21、據條件使用等價類劃分法設計測試用例,要求:1. 列出等價類表,格式如下所示(注意:將等價類編號):八進制常數(shù)等價類表輸入數(shù)據有效等價類無效等價類2. 編程實現(xiàn)實例;3設計測試用例,格式如下所示: 用例序號(n)測試數(shù)據覆蓋等價類(列出等價類序號)期望結果步驟2:用白盒測試方法之一,路徑覆蓋方法設計測試用例具體實例:一段排序程序,利用插入排序的算法,將數(shù)據存放于有序數(shù)組R中,方法是對一個新的數(shù)值Rk+1,先查找適當插入位置,然后將該值插入到R0k當中。 用路徑覆蓋方法為它設計足夠的測試用例,要求:1繪出程序圖;2編程實現(xiàn)實例;3執(zhí)行程序,最少給出循環(huán)次數(shù)為0、1、2次時程序的執(zhí)行情況,格式如下所

22、示: 插入排序算法的測試用例循環(huán)次數(shù)輸 入 數(shù) 據預 期 結 果覆 蓋 路 徑jRi-2 Ri-1RiRi+1R0jRi-2 Ri-1RiRi+1約束路 徑0i-122i-12 實驗六 用UML進行建模一、實驗目的:了解和掌握一種面向對象建模的語言和工具:UML和Rational ROSE,并利用Rational ROSE構造一個簡單的軟件系統(tǒng)模型。 二、實驗工具:Office2000/XP和Rational ROSE。三、實驗內容:1熟悉面向對象設計方法;2 從多個視角考察一個系統(tǒng)后,用UML提供的各種圖形工具,例如Use Case圖、類圖、順序圖、協(xié)作圖、狀態(tài)圖等,建立系統(tǒng)模型,用WORD

23、撰寫實驗報告。四、實驗要求: 硬件基本配置:P4,CPU2.4G、內存256M以上高檔微機;軟件要求:Windows98/2000/XP操作系統(tǒng),Office2000/XP,IBM Rational Rose 2003,JDK 5.0,Visual Studio 6.0開發(fā)環(huán)境; 實驗學時:6學時(課內1學時,課外5學時);要求參照以下實驗步驟,依據課堂案例中所采用的軟件開發(fā)過程,在建模工具的支持下,選擇一個簡單的軟件系統(tǒng)進行建模,并寫出實驗報告。實驗報告需要有:Use Case圖、順序圖(Sequence Diagram)和協(xié)作圖(Collaboration Diagram)、類圖以及模型自

24、動生成的代碼。五、實驗步驟(僅供參考):用UML模型實現(xiàn)XXXXX系統(tǒng)在具體建模前,先簡單了解一下Rational ROSE軟件。Rational ROSE的界面分為三個部分Browser窗口、Diagram窗口和Document窗口。Browser窗口用來瀏覽、創(chuàng)建、刪除和修改模型中的模型元素;Diagram窗口用來顯示和創(chuàng)作模型的各種圖;而Document窗口則是用來顯示和書寫各個模型元素的文檔注釋。如果需要建造一個軟件系統(tǒng)模型,首先必須考察清楚用戶需求,也就是軟件系統(tǒng)的功能,這是下一步開發(fā)的基礎。用戶需求以后的工作就是分析系統(tǒng)的靜態(tài)結構,以此了解要實現(xiàn)這些需求,系統(tǒng)必須具備哪些功能。確定

25、系統(tǒng)的結構后,就是設計工作。需要分析系統(tǒng)成分如何相互配合以實現(xiàn)系統(tǒng)功能(即系統(tǒng)的動態(tài)結構),同時還必須考慮與實現(xiàn)環(huán)境有關的細節(jié),比如用什么語言,在什么操作系統(tǒng)上等。設計工作細化到一定程度,就可以實現(xiàn)編碼。最后的工作,就是測試和維護。這個順序大體上就是“功能靜態(tài)結構動態(tài)結構編碼測試維護”。以下將通過一個簡單的例子:一個ToDo(待辦事宜)表的維護工具,來學習一下UML這種語言在軟件系統(tǒng)建造的全過程中所起的作用,并初步了解一下ROSE的用法。這個軟件可以為用戶創(chuàng)建、刪除和管理ToDo信息。ToDo表的信息存貯在文件系統(tǒng)中。 步驟1:確定用戶需求和系統(tǒng)功能首先,需要識別系統(tǒng)的用戶和相關的外部系統(tǒng),在

26、UML中,它們被稱為Actor(角色)。識別Actor很重要,它可以幫助界定軟件系統(tǒng)的邊界,引導發(fā)掘用戶的需求,輔助設計用戶界面,是需求分析階段的第一步。對于本例,有兩個Actor:ToDo User(系統(tǒng)的用戶) 和 FileSystem(相關外部系統(tǒng))。接下來,針對每個Actor,開始分析系統(tǒng)的Use Case(用例)。Use Case是一個UML中非常重要的概念,在使用UML的整個軟件開發(fā)過程中,Use Case處于一個中心地位。 Use Case就是對系統(tǒng)功能的描述,不過一個Use Case描述的是整個系統(tǒng)功能的一部分,這一部分一定是在邏輯上相對完整的功能流程。 在使用UML的開發(fā)過程

27、中,需求是用Use Case來表達的,界面是在Use Case的輔助下設計的,很多類是根據Use Case來發(fā)現(xiàn)的,測試實例是根據Use Case來生成的,包括整個開發(fā)的管理和任務分配,也是依據Use Case來組織的。對于每個Actor來說,它都要使用系統(tǒng)的某項功能,所以識別和分析Use Case,要對于每個Actor來逐個進行。對于ToDo User,可以輕易的識別出兩個Use Case:Add Task 和 Remove Task,Use Case圖如圖6.1所示。ToDo User主動使用這兩個Use Case所描述的系統(tǒng)功能,所以在Use Case圖上,ToDo User和這兩個Us

28、e Case的關系是用從ToDo User發(fā)出的箭頭來表示的。對于FileSystem,識別出的也是同樣的兩個Use Case,不過這次箭頭從Use Case指向FileSystem,表示FileSystem是被動的。Use Case可以用很多方式來描述,可以用自然語言,可以用形式化語言,也可以用各種圖示。在UML中,通常用兩種圖來描述Use Case,它們就是順序圖(Sequence Diagram)和協(xié)作圖(Collaboration Diagram)。圖6.1 系統(tǒng)的Use Case圖 從面向對象的角度來看,系統(tǒng)的功能是由一組對象通過相互發(fā)送消息來完成的,順序圖和協(xié)作圖就是通過描述這樣的

29、對象和消息來描述系統(tǒng)的動態(tài)行為的。 現(xiàn)在用一個順序圖來描述Use Case AddTask。AddTask的功能是向ToDo表中加入一個Task項,它的步驟應該是: 打開加入Task項的窗口; 輸入相應信息; 生成一個Task對象; 把這個Task加入到Task表中。 所以,順序圖可以畫成圖6.2所示。圖中,方塊表示一個對象,方塊中的文字中冒號之前的部分是對象的名字,冒號之后的是對象所屬的類的名字。方塊下面的豎直虛線是對象的生命線,表示對象按照從上到下的時間軸的在某段時間內存在。對象間的箭頭表示對象之間的消息通訊。而那些狹長的長方塊表示某個操作方法執(zhí)行的時間和調用關系。順序圖有一個孿生兄弟協(xié)作

30、圖,AddTask的協(xié)作圖如圖6.3所示。這兩種圖描述的其實是同一種東西,即實現(xiàn)某種系統(tǒng)功能的一組對象和它們之間的消息傳遞。不過在順序圖中,時間是作為一個顯式的因素出現(xiàn)的。順序圖在構造實時系統(tǒng)時特別有用。而在協(xié)作圖中,沒有顯式的時間因素,但是對象之間的關聯(lián)是一目了然的,這對在一組相互關聯(lián)的對象的語境中考察它們的消息傳遞是很有幫助的。順序圖和協(xié)作圖是對同一事物的不同角度的考察。圖6.2 系統(tǒng)的順序圖圖6.3 系統(tǒng)的協(xié)作圖從Use Case自然語言的描述得到了它的順序圖,從順序圖中可以發(fā)現(xiàn)許多類。有一個窗口,所以需要有一個對應的窗口類;有一個Task對象,相應的就得有一個Task類,類似的,Tas

31、ks這個用來管理和組織Task的集合對象也是必須的。通過分析Use Case,構造它的順序圖描述,再加上傳統(tǒng)的對問題域中的對象和類的考察,可以發(fā)現(xiàn)大多數(shù)和系統(tǒng)相關的類。步驟2:分析系統(tǒng)的靜態(tài)結構類的分析和設計靜態(tài)結構分析通過分析Use Case和問題域,得到了類?,F(xiàn)在需要分析這些類的屬性、操作和它們之間的關系,即系統(tǒng)的靜態(tài)結構。屬性就是對象必須要存貯的信息,而類的操作,則可以通過順序圖中向對象發(fā)送的消息來識別。系統(tǒng)的靜態(tài)結構主要用類圖來表示。在類圖中,類用一個方框來表示,這個方框用橫線分為三個部分,第一部分是類的名字,第二部分是類的屬性,第三部分是類的操作。類之間的關聯(lián)用一條連接類方框的橫線來

32、表示。一端有箭頭的橫線表示單向關聯(lián),沒有箭頭的表示雙向關聯(lián),如圖6.4所示。對類之間關聯(lián)的良好分析對以后系統(tǒng)的實現(xiàn)和擴充都有非常大的幫助。圖6.4 系統(tǒng)的類圖面向對象軟件工程的一個很大的好處就是在分析和設計之間沒有什么明顯的區(qū)別,更不會有傳統(tǒng)軟件工程中在分析和設計之間的語義上的鴻溝。在分析進行到一定程度時,把具體實現(xiàn)環(huán)境的因素考慮進來,就自然過渡到了設計階段。由于本例使用文件系統(tǒng)存貯ToDo表的信息,所以需要一個CFile類來封裝文件系統(tǒng)的功能和操作。至此,實例的靜態(tài)結構分析和設計已經有了初步的成果。接下來,可以根據這些成果分析和設計系統(tǒng)的動態(tài)結構。這包括細化和修改Use Case的描述,比如

33、把類的操作和對象之間的消息相對應、充填參數(shù)等等,還有為比較復雜的類設計狀態(tài)圖等工作。因為這個例子比較簡單,沒有什么比較復雜的類,所以沒有必要設計狀態(tài)圖,只需要細化一下Use Case的順序圖就可以了。這些分析和設計的工作經常是相互影響和促進的。常常會在分析動態(tài)結構的時候,發(fā)現(xiàn)漏掉了一個類、一個屬性,或者需要加上一個操作;而隨著對靜態(tài)結構的進一步深入刻畫,對類之間的關聯(lián)、消息傳遞的設計也會不斷發(fā)生變化。所以需要不斷的對設計方案進行深化和細化,直到達到一個穩(wěn)定的狀態(tài),這時就可以考慮系統(tǒng)的實現(xiàn)了。步驟3:建立實現(xiàn)模型在實現(xiàn)模型中,用來定義一些組成軟件系統(tǒng)的組件,例如DLL庫,EXE文件,Java A

34、pplet,ActiveX Control,Web頁面等等。定義這些部件和它們之間的關系,對代碼的自動生成、軟件系統(tǒng)的配置、測試管理、軟件的打包發(fā)行等等都有很大的好處。對于本例,只有一個部件最終的EXE文件ToDoList。在Rational ROSE中的Component View包中,創(chuàng)建這個組件,然后可以將各個類拖動到這個組件上,表示這些類最終是用這個組件實現(xiàn)的。步驟4:代碼的自動生成Rational ROSE可以自動生成C+、Java、CORBA IDL、Visual Basic、Visual C+、Oracle Schema等等不同語言和系統(tǒng)的代碼,并且可以進行“雙向工程”模型和代碼

35、之間的雙向轉換,大大減輕了代碼書寫的工作。附錄一:實驗要求軟件工程實驗要求學生采用“項目小組”的形式,結合具體的開發(fā)項目進行設計。具體要求如下:1每個班按項目小組進行分組,每組不得超過3人;2每個項目小組選出項目負責人,由項目負責人召集項目組成員討論、選定開發(fā)項目;3項目開發(fā)的每項任務要落實到人且規(guī)定該任務的起止日期和時間;4每個項目小組必須按照軟件工程實驗指導書附錄三中給定的文檔規(guī)范標準提供項目文檔;5題目自選或采用附錄二中的題目;6軟件開發(fā)的方法自定(結構化或面向對象的方法)。附錄二:實驗題目題目一:“教務管理系統(tǒng)之子系統(tǒng)學院課程安排”1 系統(tǒng)簡介每個學期的期中,學校教務處向各個學院發(fā)出下

36、個學期的教學計劃,包括課程名稱、課程代碼、課時、班級類別(本科、??啤⒊扇私逃?、研究生)、班號等;學院教學主管人員根據教學任務和要求給出各個課程的相關限制(如:任課教師的職稱、上課的班數(shù)、最高和最低周學時數(shù)等);任課教師自報本人授課計劃,經所在教研室協(xié)調任可,將教學計劃上交學院主管教學計劃的人員,批準后上報學校教務處,最終由教務處給出下個學期全學院教師的教學任務書。假設上述排課過程原先全部由人工操作,現(xiàn)要求為上述過程實現(xiàn)計算機自動處理過程。2 技術要求和限制條件(1) 每位教師的主講課程門數(shù)不超過2門/學期:講師以下職稱的教師不能承擔學院的主講任務。(2) 學院中層干部的主講課時不能超過4學時

37、/周。(3) 本學期出現(xiàn)嚴重教學事故的教師不能承擔下各學期的主講任務。(4) 本系統(tǒng)的輸入項至少包括:教務處布置的教學計劃,學院教師自報的授課計劃和學院定的有關授課限制條件。(5) 本系統(tǒng)的輸出項至少包括:教務處最終下達全院教師的教學任務書和學院各個班級下各學期的課程表(可以不含上課地點)。題目二:“學校教材定購系統(tǒng)”1 系統(tǒng)簡介本系統(tǒng)可以細化為兩個子系統(tǒng):銷售系統(tǒng)和采購系統(tǒng)。銷售系統(tǒng)的主要工作過程為:首先由教師或學生提交購書單,經教材發(fā)行人員審核是有效購書單后,開發(fā)票、登記并返給教師或學生領書單,教師或學生可以到書庫領書。采購系統(tǒng)的主要工作過程為:若是教材脫銷,則登記缺書,發(fā)缺書單給書庫采購

38、人員;一旦新書入庫后,即發(fā)進書通知給教材發(fā)行人員。要求為上述功能實現(xiàn)計算機自動處理。2 技術要求和限制條件(1) 當書庫中的各種書籍數(shù)量發(fā)生變化(包括進書和出書)時,都應修改相關的書庫記錄,如庫存表或進/出庫表。(2) 在實現(xiàn)上述銷售和采購的工作過程時,需考慮有關的合法性驗證。(3) 系統(tǒng)的外部項至少包括:教師、學生和教材工作人員。(4) 系統(tǒng)的相關數(shù)據存儲至少包括:購書表、庫存表、缺書登記表、待購教材表、進庫表和出庫表。題目三:“機票預定系統(tǒng)”1 系統(tǒng)簡介航空公司為給旅客乘機提供方便,需要開發(fā)一個機票預定系統(tǒng)。各個旅行社把預定機票的旅客信息(姓名、性別、工作單位、身份證號碼(護照號碼)、旅行

39、時間、旅行始發(fā)地和目的地,航班艙位要求等)輸入到系統(tǒng)中,系統(tǒng)為旅客安排航班。當旅客交付了預訂金后,系統(tǒng)打印出取票通知和帳單給旅客,旅客在飛機起飛前一天憑取票通知和帳單交款取票,系統(tǒng)核對無誤即打印出機票給旅客。此外航空公司為隨時掌握各個航班飛機的乘載情況,需要定期進行查詢統(tǒng)計,以便適當調整。2 技術要求和限制條件(1) 在分析系統(tǒng)功能時要考慮有關證件的合法性驗證(如身份證、取票通知和交款發(fā)票)等。(2) 對于本系統(tǒng)還應補充一下功能:1 旅客延誤了取票時間的處理2 航班取消后的處理3 旅客臨時更改航班的處理(3) 系統(tǒng)的外部輸入項至少包括:旅客、旅行社和航空公司。題目四:“學校內部工資管理系統(tǒng)”1

40、系統(tǒng)簡介假設學校共有教職工約1000人,10個行政部門和8個系。每個月20日前各個部門(包括系和部門)要將出勤情況上報人事處,23日前人事處將出勤工資、獎金及扣款清單送到財務處 。財務處于每個月月底將教職工的工資表做好并將數(shù)據送銀行。每個月3日將工資條發(fā)給每個單位。若由員工調入或調出、校內調動、離退休變化,則由人事處通知相關部門和財務處。2技術要求和限制條件(1) 本系統(tǒng)的數(shù)據存儲至少包括:工資表、部門匯總表、扣稅款表、銀行發(fā)放表等。(2) 除人事處、財務處外,其他職能部門和系名稱可以簡化表示。(3) 工資、獎金、扣款細節(jié)由學生自定義。題目五:“實驗室設備管理系統(tǒng)”1 系統(tǒng)簡介每學年要對實驗室

41、設備使用情況進行統(tǒng)計、更新。其中:(1) 對于已徹底損壞的做報廢處理,同時詳細記錄有關信息。(2) 對于有嚴重問題(故障)的要及時修理,并記錄修理日期、設備名、編號、修理廠家、修理費用、責任人等。(3) 對于急需修改但又缺少的設備,需以“申請表”的形式送交上級領導請求批準購買。新設備購入后要立即進行設備登記(包括類別、設備名、編號、型號、規(guī)格、單價、數(shù)量、購置日期、生產廠家、保質期和經辦人等信息),同時更新申請表的內容。(4) 隨時對現(xiàn)有設備及其修理、報廢情況進行統(tǒng)計、查詢,要求能夠按類別和時間段等查詢。2 技術要求及限制條件(1) 所有工作由專門人員負責完成,其他人不得任意使用。(2) 每件

42、設備在做入庫登記時均由系統(tǒng)按類別加自動順序號編號,形成設備號;設備報廢時要及時修改相應的設備記錄,且有領導認可。(3) 本系統(tǒng)的數(shù)據存儲至少包括:設備記錄、修理記錄、報廢記錄、申請購買記錄。(4) 本系統(tǒng)的輸入項至少包括:新設備信息、修理信息、申請購買信息、具體查詢統(tǒng)計要求。(5) 本系統(tǒng)的輸出項至少包括:設備購買申請表、修理/報廢設備資金統(tǒng)計表。題目六:“電子名片管理系統(tǒng)”1 系統(tǒng)簡介隨著社會發(fā)展的日新月異,商業(yè)來往日漸廣泛,人們之間交往也日益頻繁。于是,人們手中便出現(xiàn)了名目繁多的通訊錄、名址錄、名片夾等客戶進行管理的工具。但是一張張名片上的信息雖不多,卻占很大空間,同時這些方式不易更新、不

43、易存放、容易丟失,而建立自己的電子文檔對名片進行管理,雖然克服了以上缺點,但查詢效率底下。隨著商務通的出現(xiàn),雖然實現(xiàn)了可構造查詢條件的名片電子化管理。但價格及貴,難以在廣大客戶中進行全面普及,因此開發(fā)出一個既可以存儲信息又可以進行更新、查詢等功能,同時價格又能為廣大消費者接受的多功能電子通訊錄就顯得十分必要。使用本軟件的用戶群非常廣泛,它非常適用于具有如下特點的人員:工作中與外界聯(lián)系非常頻繁;工作比較頻繁,惜時如金;與外界聯(lián)系成為開展工作的關鍵因素,相關信息丟失或損失可能帶來重大損失;針對如上用戶特征,本軟件可迅捷、準確、方便的提供個人社會關系數(shù)據庫管理系統(tǒng)的各項管理功能。同時力求為用戶提供方

44、便高效實用的功能。2技術要求和限制條件(1) 瀏覽功能(2) 查看詳細資料功能(3) 查詢功能(4) 增加功能(5) 刪除功能(6) 修改功能(7) 生成報表功能(8) 打印功能(9) 密碼管理功能(10) 身份驗證功能(11) 數(shù)據導入數(shù)據導出功能(12) 幫助功能題目七:“飲料自動售貨機系統(tǒng)”1系統(tǒng)簡介用UML描述一個飲料自動售貨機系統(tǒng)。飲料自動售貨機可以放置五種不同或部分相同的飲料,可由廠商根據銷售狀況自動調配,并可隨時重新設置售價,但售貨機最多僅能放置50罐飲料,其按鈕設計在各種飲料樣本的下方,若金額計算器累計金額足夠,則選擇鍵燈會亮;若某一種飲料已銷售完畢,則售完燈會亮。2技術要求和

45、限制條件(1) 找出飲料自動售貨機系統(tǒng)中的對象;(2) 繪出系統(tǒng)對象圖;(3) 繪出飲料自動售貨機系統(tǒng)的狀態(tài)圖;(4) 繪出飲料自動售貨機系統(tǒng)的事件追蹤圖時序圖。(5) 用面向對象的方法開發(fā)出模擬軟件。附錄三:軟件開發(fā)文檔指南1可行性研究報告可行性研究報告的編寫目的是:說明該軟件開發(fā)項目的實現(xiàn)在技術、經濟和社會條件方面的可行性;評述為了合理地達到開發(fā)目標而可能先擇的各種方案;說明論證所選定的方案。 可行性研究報告的編寫內容要求如下:1.1引言1.1.1編寫目的1.1.2背景1.1.3定義1.1.4參考資料1.2可行性研究的前提 1.2.1要求1.2.2目標1.2.3條件、假定和限制1.2.4進

46、行可行性研究的方法1.2.5評價尺度1.3對現(xiàn)有系統(tǒng)的分析1.3.1數(shù)據流程和處理流程1.3.2工作負荷1.3.3費用開支1.3.4人員1.3.5設備1.3.6局限性1.4所建議的系統(tǒng)1.4.1對所建議系統(tǒng)的說明1.4.2數(shù)據流程各處理流程1.4.3改進之處1.4.4影響1.4.4.1對象設備的影響1.4.4.2對軟件的影響1.4.4.3對用戶單位機構的影響1.4.4.4對系統(tǒng)動行的影響1.4.4.5對開發(fā)的影響1.4.4.6對地點和設施的影響1.4.4.7對經費開支的影響1.4.5局限性1.4.6技術條件方面的可行性1.5可選擇其他系統(tǒng)方案1.5.1可選擇的系統(tǒng)方案11.5.2可選擇的系統(tǒng)方

47、案21.6投資及收益分析1.6.1支出1.6.1.1基本建設投資1.6.1.2其他一次性支出1.6.1.3非一次性支出1.6.2收益1.6.2.1一次性收益1.6.2.2非一次性收益1.6.2.3不可定量的收益1.6.3收益/投資比1.6.4投資回收周期1.6.5敏感性分析1.7社會條件方面的可行性1.7.1法律方面的可行性1.7.2使用方面的可行性1.8結論2項目開發(fā)計劃編制項目開發(fā)計劃的目的是用文件的形式,把對于在開發(fā)過程中各項工作的負責人員、開發(fā)進度所需經費預算、所需軟、硬件條件等問題作出安排記載下來,以便根據本計劃開展和檢查本項目的開發(fā)工作。編制內容要求如下:2.1引言2.1.1編寫目

48、的2.1.2背景2.1.3定義2.1.4參考資料2.2項目概述2.2.1工作內容2.2.2主要參加人員2.2.3產品及成果2.2.3.1程序2.2.3.2文件2.2.3.3服務2.2.3.4非移交產品2.2.4驗收標準2.2.5完成項目的最遲期限2.2.6本計劃的審查者與批準者2.3實施總計劃2.3.1工作任務的分解2.3.2接口人員2.3.3進度2.3.4預算2.3.5關鍵問題2.4支持條件2.4.1計算機系統(tǒng)支持2.4.2需要用戶承擔的工作2.4.3需由外單位提供的條件2.5專題計劃要點3軟件需求說明書軟件需求說明書的編制是為了使用戶的軟件開發(fā)者雙方對該軟件的起初規(guī)定有一個共同的理解,使之

49、成為整個開發(fā)工作的基礎。編制軟件需求說明書的內容要求如下:3.1引言3.1.1編寫的目的3.1.2背景3.1.3定義3.1.1參考資料 3.2任務概述3.2.1目標3.2.2用戶的點3.2.3假定與約束3.3需求規(guī)定 3.3.1對功能的規(guī)定3.3.2對性能的規(guī)定3.3.2.1精度3.3.2.2時間特性要求3.3.2.3靈活性3.3.3輸入輸出要求3.3.4數(shù)據管理能力的要求3.3.5故障處理要求3.3.6其它的專門的要求3.4運行環(huán)境規(guī)定3.4.1設備3.4.2支持軟件3.4.3接口3.4.4控制4數(shù)據需求說明書數(shù)據要求說明書的編制目的是為了向整個開發(fā)時期提供關于處理數(shù)據的描述和數(shù)據采集要求的技術信息。編制數(shù)據要求說明書的內容要求如下:4.1引言4.1.1編寫目的4.1.2背景4.1.3定義4.1.4參考資料4.2數(shù)據的邏輯描述4.2.1靜態(tài)數(shù)據4.2.2動態(tài)輸入數(shù)據4.2.3動態(tài)輸出數(shù)據4.2.4內部生成數(shù)據4.2.5數(shù)據約定4.3數(shù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論