概要設計說明書
一. 引言
1. 編寫目的
從該階段開發正式進入軟件的實際開發階段,本階段完成系統的大致設計并明確系統的數據結構與軟件結構。在軟件設計階段主要是把一個軟件需求轉化為軟件表示的過程,這種表示只是描繪出軟件的總的概貌。本概要設計說明書的目的就是進一步細化軟件設計階段得出的軟件總體概貌,把它加工成在程序細節上非常接近于源程序的軟件表示。
2. 項目背景(略)
3. 定義
在該概要設計說明書中的專門術語有:
總體設計
接口設計
數據結構設計
運行設計
出錯設計
具體的概念與含義在文檔后將會解釋。
?
4. 參考資料
<軟件工程概論> 李存珠 李宣東 編著 南京大學計算機系出版 2001年8月
二. 任務概述
1. 目標
該階段目的在于明確系統的數據結構和軟件結構,此外總體設計還將給出內部軟件和外部系統部件之間的接口定義,各個軟件模塊的功能說明,數據結構的細節以及具體的裝配要求。
2. 運行環境
軟件基本運行環境為Windows環境。
3. 需求概述(略)
4. 條件與限制
為了評價該設計階段的設計表示的“優劣程度”,必須遵循以下幾個準則:
1.軟件設計應當表現出層次結構,它應巧妙地利用各個軟件部件之間的控制關系。
2.設計應當是模塊化的,即該軟件應當從邏輯上被劃分成多個部件,分別實現各種特定功能和子功能。
3.設計最終應當給出具體的模塊(例如子程序或過程),這些模塊就具有獨立的功能特性。
4.應當應用在軟件需求分析期間得到的信息,采取循環反復的方法來獲得設計。
三. 總體設計
1.處理流程
系統的總體處理數據流程如下圖:
?
圖八總體處理流程圖
?
2.總體結構和模塊外部設計
模塊是軟件結構的基礎,軟件結構的好壞完全由模塊的屬性體現出來,把軟件模塊化的目的是為了降低軟件復雜性,使軟件設計,測試,調試,維護等工作變得簡易,但隨著模塊數目的增加,通過接口連接這些模塊的工作量也隨之增加。從這些特性可得出如圖九的一條總的成本(或工作量)曲線,在考慮模塊化時,應盡量使模塊數接近于圖中的M,它使得研制成本最小,而且應盡量避免不足的模塊化或超量。
?
圖九模塊化與總體成本
3.功能分配
從程序的結構中可以看出,學生的信息輸入輸出功能是由學生管理系統進行的。課程的信息輸入輸出是由課程管理系統進行的,而班級的信息流動則是班級管理系統進行的。
四. 接口設計
由于系統的各種內外部接口是通過借助數據庫開發軟件來實現的,是完全在數據庫內部操作的,故在此略過此內容。
1. 外部接口(略)
2. 內部接口(略)
五. 數據結構設計
1. 邏輯結構設計
student_Info 學生基本信息表?
列名 數據類型 可否為空 說明
student_ID INT(4) NOT NULL 學生學號(主鍵)
student_Name CHAR(10) NULL 學生姓名
student_Gender CHAR(2) NULL 學生性別
born_Date DATETIME(8) NULL 出生日期
class_No INT(4) NULL 班號
tele_Number CHAR(10) NULL 聯系電話
ru_Date DATETIME(8) NULL 入校時間
address VARCHAR(50) NULL 家庭住址
comment VARCHAR(200) NULL 注釋
?
?
class_Info 班級信息表格
列名 數據類型 可否為空 說明
class_No INT(4) NOT NULL 班號(主鍵)
grade CHAR(10) NULL 年級
Director CHAR(10) NULL 班主任
Classroom_No CHAR(10) NULL 教室
?
?
course_Info 課程基本信息表
列名 數據類型 可否為空 說明
course_No INT(4) NOT NULL 課程編號(主鍵)
course_Name CHAR(10) NULL 課程名稱
course_Type CHAR(10) NULL 課程類型
course_Des CHAR(50) NULL 課程描述
?
?
gradecourse_Info 年級課程設置表
列名 數據類型 可否為空 說明
grade CHAR(10) NULL 年級
course_Name CHAR(10) NULL 課程名稱
?
?
result_Info 學生成績信息表
列名 數據類型 可否為空 說明
exam_No CHAR(10) NOT NULL 考試編號
student_ID INT(4) NOT NULL 學生學號
student_Name CHAR(10) NULL 學生姓名
class_No INT(4) NULL 學生班號
course_Name CHAR(10) NULL 課程名稱
result FLOAT(8) NULL 分數
?
?
user_Info 系統用戶表
列名 數據類型 可否為空 說明
user_ID CHAR(10) NOT NULL 用戶名稱(主鍵)
user_PWD CHAR(10) NULL 用戶密碼
user_DES CHAR(10) NULL 用戶描述
?
圖十數據庫邏輯結構圖表
2. 物理結構設計
系統的物理結構具體由數據庫來設計與生成,此處略。
3. 數據結構與程序的關系
系統的數據結構由標準數據庫語言SQL生成。
具體的例如創建系統用戶表格 user_Info的程序用SQL表示就是:
CREATE TABLE[dbo].[user_Info](
[user_ID][char](10)COLLATE Chinese_PRC_CI_AS NOT NULL,
[user_PWD][char](10)COLLATE Chinese_PRC_CI_AS NULL,
[user_Des][char](10)COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
?
六. 運行設計
1. 運行模塊的組合
具體軟件的運行模塊組合為程序多窗口的運行環境,各個模塊在軟件運行過程中能較好的交換信息,處理數據。
2. 運行控制
軟件運行時有較友好的界面,基本能夠實現用戶的數據處理要求。
3. 運行時間
系統的運行時間基本可以達到用戶所提出的要求。
七. 出錯處理設計
1. 出錯輸出信息
在用戶使用錯誤的數據或訪問沒有權限的數據后,系統給出提示:“對不起,你非法使用數據,沒有權限!”而且用戶的密碼管理可以允許用戶修改自己的密碼,不允許用戶的匿名登錄。
2. 出錯處理對策
由于數據在數據庫中已經有備份,故在系統出錯后可以依靠數據庫的恢復功能,并且依靠日志文件使系統再啟動,就算系統崩潰用戶數據也不會丟失或遭到破壞。但有可能占用更多的數據存儲空間,權衡措施由用戶來決定。
八. 安全保密設計
系統的系統用戶管理保證了只有授權的用戶才能進入系統進行數據操作,而且對一些重要數據,系統設置為只有更高權限的人員方可讀取或是操作。系統安全保密性較高。
九. 維護設計
由于系統較小沒有外加維護模塊,因為維護工作比較簡單,僅靠數據庫的一些基本維護
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/hackbomb2008/archive/2008/02/22/2113849.aspx