1. 程式人生 > 實用技巧 >【演算法】合併兩個有序連結串列

【演算法】合併兩個有序連結串列

這個作業屬於哪個課程 計算機18級
這個作業要求在哪裡 結構化分析與設計
學號 3180301230

目錄

一、實驗目的

(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)給出一次完整的會議討論紀要,包括議題,最終結果。

小結

psp 任務內容 計劃完成需要的時間(min) 實際完成需要的時間(min)
Planning 計劃 5 5
Estimate 估計這個任務需要多少時間,並規劃大致工作步驟 10 10
Development 開發 200 180
Analysis 需求分析(包括學習新技術) 20 40
Design Spec 生成設計文件 15 10
Design Review 設計複審 10 15
Coding Standard 程式碼規範 5 5
Design 具體設計 20 40
Coding 具體編碼 200 180
Code Review 程式碼複審 20 15
Test 測試(自我測試,修改程式碼,提交修改) 60 60
Reporting 報告 5 5
Test Report 測試報告 5 5
Size Measurement 計算工作量 20 25
Postmortem & Process Improvement Plan 事後總結,並提出過程改進計劃 40 90