【轉】概要設計說明書

概要設計說明書
一. 引言
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

轉載于:https://www.cnblogs.com/jeffrey725/archive/2009/10/12/1581724.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/276359.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/276359.shtml
英文地址,請注明出處:http://en.pswp.cn/news/276359.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

程序異常異常代碼: 0xc0000005_Java基礎:看完這篇你還怕碰到異常嗎?

前言在日常的開發以及平時的學習練習中&#xff0c;異常相信對于大家來講并不陌生&#xff0c;但是對于異常的具體使用、底層實現以及分類等等可能并不是很了解。今天我就抽出了一點時間系統的整理了異常的各個知識點&#xff0c;希望能夠幫助到大家對于Java 異常的理解與學習。…

寫給初中級前端工程師的進階指南

學習一門新技術的時候&#xff0c;最大的苦惱之一&#xff0c;大概就是不知道從何入手。典型的情況是&#xff0c;你大概知道學會以后&#xff0c;這門技術可以幫你解決什么問題。但是&#xff0c;怎么才能學會、循序漸進的學習路線是什么、學習范圍有多大的深度和廣度、涉及到…

同一頁面中引入多個JS庫產生的沖突解決方案(轉)

發生JS庫沖突的主要原因&#xff1a;與jQuery庫一樣&#xff0c;許多JS庫都使用‘$’符號作為其代號。因此在一個頁面中引入多個JS庫&#xff0c;并且使用‘$’作為代號時&#xff0c;程序不能識別其代表哪個庫&#xff08;這個是我自己的解釋&#xff0c;但更深的原因就必須深…

不用安裝Oracle Client如何使用PLSQL Developer

1. 下載oracle的客戶端程序包&#xff08;30M&#xff09;只需要在Oracle下載一個叫Instant Client Package的軟件就可以了&#xff0c;這個軟件不需要安裝&#xff0c;只要解壓就可以用了&#xff0c;很方便&#xff0c;就算重裝了系統還是可以用的。下載地址&#xff1a;http…

input file的默認value清空與賦值方法

轉載鏈接&#xff1a;http://www.jb51.net/article/24872.htm出于安全性考慮&#xff0c;JS是不能直接設置File的value值的&#xff0c;下面是我總結出來的方法第1個方法是大多人傳統做法&#xff0c;替換HTML代碼&#xff0c;樓上的已經用到了&#xff0c;我不過是用正則優化一…

python中o_Python I/O與進程的詳細講解

I/Owith語句with context_expression [as target(s)]:with-bodycontext_expression返回值遵從上下文管理協議&#xff0c;包含__enter__()與__exit__()方法&#xff0c;as語句的target(s)得到的是__enter__()返回值&#xff0c;執行with-body后會調用上下文管理器的__exit__()方…

千層套路 - Vue 3.0 初始化源碼探秘

關注若川視野, 回復"pdf" 領取資料&#xff0c;回復"1"&#xff0c;可加群長期交流學習劉崇楨&#xff0c;微醫云服務團隊前端工程師&#xff0c;左手抱娃、右手持家的非典型碼農。9 月初 Vue.js 3.0 正式發布&#xff0c;代號 "One Piece"。大秘…

css網頁布局兼容性有哪些要點與訣竅

IE vs FFCSS 兼容要點&#xff1a;DOCTYPE 影響 CSS 處理FF: div 設置 margin-left, margin-right 為 auto 時已經居中, IE 不行FF: body 設置 text-align 時, div 需要設置 margin: auto(主要是 margin-left,margin-right) 方可居中FF: 設置 padding 后, div 會增加 height 和…

js 下拉底部加載|滑輪滾動到頁面底部ajax加載數據的實例

轉載鏈接&#xff1a;http://www.cnblogs.com/thinksley/archive/2013/05/12/3074237.html 滾動下拉到頁面底部加載數據是很多瀑布流網站的做法&#xff0c;那來看看配合jsonp是如何實現的吧&#xff0c;小菜總結記錄之用&#xff0c;高手勿噴。 當然本例子采用的是jquery庫&…

python并行for循環_Python并行執行for循環

簡介在介紹如何最簡單地利用 python 實現并行前&#xff0c;我們先來看一個簡單的代碼。words [apple, bananan, cake, dumpling]for word in words:print word上面的例子中&#xff0c;我們用一個 for 循環打印出 words 列表中的每個單詞。問題來了&#xff0c;這里我們打印完…

C語言之指針與數組總結

和指針相關的問題口訣1&#xff1a; 1. 地址變量得地址&#xff0c;得誰地址指向誰 和指針相關的問題要畫圖: 內容變量畫房子&#xff0c;指針畫箭頭 ---->口 ---------------------------------------------------- 和指針相關的兩個特殊運算符&#xff1a; 一、"&…

2020年大前端技術趨勢解讀

導Lead語如今的前端早已不再拘泥于滿足頁面展示&#xff0c;而是開始延展到通過全棧來閉環產品。這表明前端已經有能力透過業務深入產業&#xff0c;繼而影響商業結果。這種表象的改變背后是本質的轉變&#xff0c;從更為宏觀的角度來說&#xff0c;前端正在通過持續的技術革新…

HTML默認樣式表CSS屬性

轉載鏈接&#xff1a;http://www.xiao-a.com/index.php/archives/440.html 開始的時候 *{margin:0;padding:0;}&#xff0c;當需要使用邊距的時候&#xff0c;就需要還原HTML默認CSS值了。以前一直在找這份 文檔&#xff0c;今天偶然在w3上看到了。除了inline和block的定義&…

第六集 MSF構思階段項目團隊的組建

第六集 MSF構思階段項目團隊的組建__Note轉載于:https://www.cnblogs.com/zencorn/archive/2009/10/18/1585495.html

lc濾波器是利用電感的感抗_你對LC諧振電路你都了解嗎

根據在電路中電感器L和電容C的連接方式不同&#xff0c;可以有兩種LC諧振電路&#xff0c;LC并聯諧振電路和LC串聯諧振電路。LC并聯、串聯諧振電路在應用中的變化較多&#xff0c;是電路中分析的一個難點&#xff0c;只有掌握LC并聯、串聯電路的阻抗特性等基本概念&#xff0c;…

給小程序再減重 30% 的秘密?(京喜小程序首頁瘦身實踐)

前言—在 web 開發場景&#xff0c;減少代碼體積雖然是性能優化的一個方向&#xff0c;還沒到錙銖必較的程度。但是在小程序場景&#xff0c;由于代碼包上傳階段限制了主包 2M 和總包 16M&#xff08;近期微信官方正在內測將總包上限調整至 20M &#xff09;的尺寸&#xff0c;…

rfc mail content-type

轉載鏈接&#xff1a;http://www.w3.org/Protocols/rfc1341/0_TableOfContents.html RFC 郵件正文類型列表&#xff1a; Note: this is a hypertext versionof RFC1341 which has been obsoletedby RFC1521, of which no hypertextversion currently exists. Text …

Coolite Toolkit入門指南

Coolite Toolkit 簡介 Coolite Toolkit 是一個支持ASP.NET AJAX的Web控件Coolite Toolkit是基于跨瀏覽器的ExtJS 庫開發而來的&#xff0c;并且簡化了開發步驟&#xff0c;包含有豐富的Ajax運用Coolite Toolkit和ExtJS 都是開源的可能通過SVN直接獲取Coolite 的代碼簡單的說,就…

本周ASP.NET英文技術文章推薦[10/21 – 10/27]

這一篇是《本周ASP.NET英文技術文章推薦》系列的第一篇&#xff0c;在這個系列中&#xff0c;我將介紹5-10篇比較有價值的、本周發布的、與ASP.NET相關的英文技術文章&#xff0c;幫助各位朋友從良莠不齊的大量文章中挑出一些我認為非常有價值閱讀的&#xff0c;在進行一段簡要…