利用Python開發App實戰
所在班級 | https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18 |
---|---|
作業要求 | https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18/homework/11548 |
作業目標 | 掌握結構化分析與設計 |
學號 | 3180701232 |
一、實驗目的
(1)掌握結構化的需求分析方法;
(2)掌握分層資料流圖的繪製、資料字典和加工說明的編制;
(3)掌握資料流圖對映為軟體結構圖的方法;
(4)掌握需求說明書和設計說明。書的主要內容,學習軟體需求說明書和設計說明書的編寫;
(5)掌握測試的基本方法。
二、實驗內容
(1)參考一個熟悉的系統,如,機票預訂系統/教材訂購系統/ATM自動取款機,討論其使用者需求、系統需求和業務需求;
(2)繪製系統的分層資料流圖,並給出資料字典;
(3)將系統的分層資料流圖對映為軟體結構圖,繪製軟體結構圖;
(4)為關鍵模組進行詳細設計,如繪製關鍵模組的流程圖;
(5)實現系統部分功能並測試。
三、實驗步驟
(1)複習結構化的分析與設計方法的主要過程;
(2)討論系統存在的使用者角色、工作流等;
(3)對關鍵功能繪製資料流圖,給出資料字典,並反覆討論資料流的合理性;
(4)對應資料流圖,設計系統的功能結構圖,關鍵模組的流程圖;
(5)選擇對應的結構化程式設計語言,實現並測試部分功能模組
教材訂購系統:該系統可細化為兩個子系統:銷售系統和採購系統
銷售系統的工作過程為:首先由教師或學生提交購書單,經教材發行人員稽核是有效購書單後,開發票、登記並返給教師或學生領書單,教師或學生即可去書庫領書。
採購系統的主要工作過程為:若是脫銷教材,則登記缺書,發缺書單給書庫採購人員;一旦新書入庫後,即發進書通知給教材發行人員,以上的功能要求在計算機上實現。
部分資料字典資訊如下:
庫存表={書號+書名+數量+單價}
缺書登記表={登記日期+需求資訊}
缺書資訊=[學生資訊|教師資訊]+{書號+缺書數量+備註}
進書通知=進書日期+書號+書名+數量
購書單=單號+[學生資訊|教師資訊]+{書號+書名+購書數量+備註}
資料流圖:
數字字典:
軟體結構圖:
四、思考題
(1)簡述需求說明書,概要設計,詳細設計說明書的主要內容。
1、需求說明書是指在研究使用者要求的基礎上,完成可行性分析和投資效益分析以後,由軟體工程師或分析員編寫的說明書。它詳細定義了資訊流和介面,功能需求,設計要求和限制,測試準則和質量保證要求。它的作用是作為使用者和軟體開發人員達成的技術協議書,作為著手進行設計工作的基礎和依據,系統開發完成以後,為產品的驗收提供了依據
2、概要設計說明書又可稱系統設計說明書,這裡所說的系統是指程式系統。編制的目的是說明對程式 系統的設計考慮,包括程式系統的基本處理流程、程式系統的組織結構、模組劃分、功能分配、介面設計、執行設計、安全設計、資料結構設計和出錯處理設計等,為程式的詳細設計提供基礎。
3、詳細設計說明書又可稱程式設計說明書。編制目的是說明一個軟體系統各個層次中的每一個程式 (每個模組或子程式)的設計考慮,如果一個軟體系統比較簡單,層次很少,本檔案可以不單獨編寫,有關 內容合併入概要設計說明書。
(2)結構化分析方法與面向物件分析方法有無本質上的不同?
結構化分析方法的分析步驟:1 理解和分析當前的現實環境 已獲得當前系統的具體模型 2 建立當前系統的邏輯模型 3 建立目標系統的邏輯模型 4 進一步完善目標系統的邏輯模型
面向物件分析方法:根據面向物件的過程模型 面向物件的需求分析從概念上分為問題分析和應用分析兩個方面 問題分析:主要收集並確認使用者需求 最後將資訊連結最終建立關於物件的分析模型 應用分析:主要是動態描述系統中物件的合法狀態序列 並用動態模型表達物件的動態行為 物件之間的訊息傳遞和協同工作的動態資訊
綜上:結構化分析方法是先建立總體結構模型 之後逐漸填充完善目標的方法
面向物件分析方法是先確認每小部分的過程模型 最終整合完善目標的方法
(3)對資料流圖進行審查有何意義?
檢查圖中是否存在錯誤或不合理(不理想)的部分確保兩大特性
一致性:分層DFD中不存在矛盾和衝突。
完整性:是否有遺漏的資料流、加工等
(4)給出一次完整的會議討論紀要,包括議題,最終結果。
五、小結
psp2.1 | 任務內容 | 計劃完成需要的時間(min) | 實際完成需要的時間(min) |
---|---|---|---|
Planning | 計劃 | 20 | 15 |
Estimate | 估計這個任務需要多少時間,並規劃大致工作步驟 | 120 | 100 |
Development | 開發 | 20 | 25 |
Analysis | 需求分析(包括學習新技術) | 15 | 10 |
Design Spec | 生成設計文件 | 10 | 10 |
Design Review | 設計複審 | 30 | 20 |
Coding Standard | 程式碼規範 | 20 | 10 |
Design | 具體設計 | 30 | 40 |
Coding | 具體編碼 | 30 | 20 |
Code Review | 程式碼複審 | 30 | 10 |
Test | 測試(自我測試,修改程式碼,提交修改) | 60 | 30 |
Reporting | 報告 | 100 | 60 |
Test Report | 測試報告 | 25 | 20 |
Size Measurement | 計算工作量 | 30 | 25 |
Postmortem & Process Improvement Plan | 事後總結,並提出過程改進計劃 | 20 | 10 |