日誌分割
部落格班級 | https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19 |
---|---|
作業要求 | https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19/homework/11540 |
學號 | 3190704234 |
實驗二 結構化分析與設計
一.實驗目的
(1)掌握結構化的需求分析方法;
(2)掌握分層資料流圖的繪製、資料字典和加工說明的編制;
(3)掌握資料流圖對映為軟體結構圖的方法;
(4)掌握需求說明書和設計說明。書的主要內容,學習軟體需求說明書和設計說明書的編寫;
(5)掌握測試的基本方法。
二.實驗內容
(1)參考一個熟悉的系統,如,機票預訂系統/教材訂購系統/ATM自動取款機,討論其使用者需求、系統需求和業務需求;
(2)繪製系統的分層資料流圖,並給出資料字典;
(3)將系統的分層資料流圖對映為軟體結構圖,繪製軟體結構圖;
(4)為關鍵模組進行詳細設計,如繪製關鍵模組的流程圖;
(5)實現系統部分功能並測試。
1.資料流分析
2.資料字典
(1)資料項定義
資料項名﹔客戶別名:User
資料流組成:姓名+身份證號+電話+地址+使用者ID
⑵資料項定義
資料項名:賬戶別名:account
資料流組成:卡號+賬戶餘額+身份證號+密碼+卡型別+交易記錄+開戶時間
⑶資料項定義
資料項名:賬單別名: bill
資料流組成:卡號+交易型別+交易時間+交易金額
(4)資料項定義
資料項名:憑條別名:ticket
資料流組成:卡號+交易型別+金額+事物型別+交易時間
客戶表
欄位資訊 | 欄位名稱 | 型別 | 長度 |
---|---|---|---|
姓名 | Username | char | 20 |
身份證號 | IDcard | long int | 20 |
電話 | TEL | long int | 11 |
地址 | ADRESS | char | 100 |
賬戶表
欄位資訊 | 欄位名稱 | 型別 | 長度 |
---|---|---|---|
卡號 | CardId | long int | 20 |
賬戶餘額 | Money | float | 12 |
身份證號 | IDcard | long int | 20 |
密碼 | cardType | char | 10 |
賬單表
欄位資訊 | 欄位名稱 | 型別 | 長度 |
---|---|---|---|
卡號 | CardId | long int | 20 |
事務 | Thing | char | 16 |
交易時間 | Time | long int | 20 |
交易金額 | Usemoney | long int | 20 |
3.atm系統流程圖
4.思考題
(1)簡述需求說明書,概要設計,詳細設計說明書的主要內容。
本系統用於使用者進行轉賬、交易、存取款等操作,使用者輸入銀行卡卡號,銀行卡密碼,系統判斷密碼正誤後用戶進行操作
(2)結構化分析方法與面向物件分析方法有無本質上的不同?
面向物件的方法是以物件為核心來構造軟體框架的。
結構化方法是按功能分解的規律組織軟體系統結構的。
面向物件的方法與生俱來很強的應對需求變更能力。能從容應對客戶的需求變更。
對結構化方法來說,它的先天缺陷是需求變更很難,一旦要需求變更,意味著以前一切的工作都是徒勞的。
面向物件方法對管理資訊系統的維護很簡單。
結構化方法對管理資訊系統的維護很困難。
面向物件方法的思維模式是:。關注要解決的問題可以歸納或劃分為哪些責任,歸納每個物件應該負有的責任,
然後通過訊息傳遞,讓他們各自承擔起自己的責任就行了。通過物件自身的行為改變其內部狀態(所謂封裝的概念)。
結構化方法的思維模式是:只關注要解決的問題的本身,不關注應由“誰”來完成。主要是通過外部力量改變資料狀態。
面向物件方法強調物件互動。物件是一等公民,我們主要關注的是物件如何通過向彼此傳送訊息,支配行為,改變狀態。
結構化方法強調過程式列。過程是一等公民,我們首先要知道做事情的一連串過程,一個過程就是一個改變實體狀態的操作序列。
(3)對資料流圖進行審查有何意義?
每一次的審定都是一次完善資料流程圖的機會,也許會發現錯誤,也許不會。發現錯誤後更改完善,使得自己的資料流程圖便於
他人閱讀和理解。