概要設計說明書
一. 引言
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)
學生性别
born_date
datetime(8)
出生日期
class_no
班号
tele_number
聯系電話
ru_date
入校時間
address
varchar(50)
家庭住址
comment
varchar(200)
注釋
class_info 班級資訊表格
班号(主鍵)
grade
年級
director
班主任
classroom_no
教室
course_info 課程基本資訊表
course_no
課程編号(主鍵)
course_name
課程名稱
course_type
課程類型
course_des
char(50)
課程描述
gradecourse_info 年級課程設定表
result_info 學生成績資訊表
exam_no
考試編号
學生學号
學生班号
result
float(8)
分數
user_info 系統使用者表
user_id
使用者名稱(主鍵)
user_pwd
使用者密碼
user_des
使用者描述
圖十

資料庫邏輯結構圖表
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. 出錯處理對策

由于資料在資料庫中已經有備份,故在系統出錯後可以依靠資料庫的恢複功能,并且依靠日志檔案使系統再啟動,就算系統崩潰使用者資料也不會丢失或遭到破壞。但有可能占用更多的資料存儲空間,權衡措施由使用者來決定。
八. 安全保密設計

系統的系統使用者管理保證了隻有授權的使用者才能進入系統進行資料操作,而且對一些重要資料,系統設定為隻有更高權限的人員方可讀取或是操作。系統安全保密性較高。
九. 維護設計

由于系統較小沒有外加維護子產品,因為維護工作比較簡單,僅靠資料庫的一些基本維護