1. 程式人生 > >概要設計和詳細設計說明書的區別

概要設計和詳細設計說明書的區別

1.需求分析--產生軟體功能規格說明書,需要確定使用者對軟體的需求,要作到明確、無歧義。不涉及具體實現方法。使用者能看得明白,開發人員也可據此進行下面的工作(概要設計)。  

   2.概要設計--產生軟體概要設計說明書,說明系統模組劃分、選擇的技術路線等,整體說明軟體的實現思路。並且需要指出關鍵技術難點等。    

   3.詳細設計--產生軟體詳細設計說明書,對概要設計的進一步細化,一般由各部分的擔當人員依據概要設計分別完成,然後在整合,是具體的實現細節。理論上要求可以照此編碼。

概要設計與詳細設計的區別 

    概要設計就是設計軟體的結構,包括組成模組,模組的層次結構,模組的呼叫關係,每個模組的功能等等。同時,還要設計該專案的應用系統的總體資料結構和資料庫結構,即應用系統要儲存什麼資料,這些資料是什麼樣的結構,它們之間有什麼關係。  

    詳細設計階段就是為每個模組完成的功能進行具體的描述,要把功能描述轉變為精確的、結構化的過程描述。 

    概要設計階段通常得到軟體結構圖  

    詳細設計階段常用的描述方式有:流程圖、N-S圖、PAD圖、虛擬碼等 

概要設計和詳細設計 

    在軟體設計中,大家經常問到的一個問題是:概要設計應該怎樣一個概要法,詳細設計應該怎樣一個詳細法?  

這個問題在公司內部經常有人問。現在陳述一下。  

    我們公司的研發流程是瀑布型的,這個模型中的分析、設計階段是基於經典的結構化方法。   

    結構化設計方法的基本思路是:按照問題域,將軟體逐級細化,分解為不必再分解的的模組,每個模組完成一定的功能,為一個或多個父模組服務(即接受呼叫),也接受一個或多個子模組的服務(即呼叫子模組)。模組的概念,和程式語言中的子程式或函式是對應的。

這樣一來,設計可以明顯地劃分成兩個階段:   

    概要(結構)設計階段:把軟體按照一定的原則分解為模組層次,賦予每個模組一定的任務,並確定模組間呼叫關係和介面。      詳細設計階段:依據概要設計階段的分解,設計每個模組內的演算法、流程等。 概要設計階段:   

在這個階段,設計者會大致考慮並照顧模組的內部實現,但不過多糾纏於此。主要集中於劃分模組、分配任務、定義呼叫關係。模組間的介面與傳參在這個階段要定得 十分細緻明確,應編寫嚴謹的資料字典,避免後續設計產生不解或誤解。概要設計一般不是一次就能做到位,而是反覆地進行結構調整。典型的調整是合併功能重複的模組,或者進一步分解出可以複用的模組。在概要設計階段,應最大限度地提取可以重用的模組,建立合理的結構體系,節省後續環節的工作量。

概要設計文件最重要的部分是分層資料流圖、結構圖、資料字典以及相應的文字說明等。以概要設計文件為依據,各個模組的詳細設計就可以並行展開了。 詳細設計階段:  

    在這個階段,各個模組可以分給不同的人去並行設計。在詳細設計階段,設計者的工作物件是一個模組,根據概要設計賦予的區域性任務和對外介面,設計並表達出模組的演算法、流程、狀態轉換等內容。這裡要注意,如果發現有結構調整(如分解出子模組等)的必要,必須返回到概要設計階段,將調整反應到概要設計文件中,而不 能就地解決,不打招呼。詳細設計文件最重要的部分是模組的流程圖、狀態圖、區域性變數及相應的文字說明等。一個模組一篇詳細設計文件。     概要設計文件相當於機械設計中的裝配圖,而詳細設計文件相當於機械設計中的零件圖。文件的編排、裝訂方式也可以參考機械圖紙的方法。

我們公司對模組的認識和傳統定義有所不同,認為是較大的軟體功能單元才可以稱作模組。這種認識使大家對概要設計和詳細設計的分工產生了混亂的理解,降低了文件的可用性,應該予以糾正。  

    概要設計中較頂層的部分便是所謂的方案。方案文件的作用是在巨集觀的角度上保持設計的合理性。  

    有的專案採用面向物件的分析、設計方法。可能在概要設計、詳細設計的分工上疑問更多。其實,面向物件的分析、設計方法並沒有強調結構化方法那樣的階段性,因此一般不引入概要、詳細設計的概念。如果按照公司的文件體系,非要有這種分工的話,可以將包的劃分、類及物件間的關係、類的對外屬性、方法及協作設計看做 概要設計;類屬性、方法的內部實現看做詳細設計。

概要設計和詳細設計的區別與聯絡 

    軟體設計採用自頂向下、逐次功能展開的設計方法,首先完成總體設計,然後完成各有機組成部分的設計。 

根據工作性質和內容的不同,軟體設計分為概要設計和詳細設計。概要設計實現軟體的總體設計、模組劃分、使用者介面設計、資料庫設計等等;詳細設計則根據概要設計所做的模組劃分,實現各模組的演算法設計,實現使用者介面設計、資料結構設計的細化,等等。

概要設計是詳細設計的基礎,必須在詳細設計之前完成,概要設計經複查確認後才可以開始詳細設計。概要設計,必須完成概要設計文件,包括系統的總體設計文件、以及各個模組的概要設計文件。每個模組的設計文件都應該獨立成冊。     詳細設計必須遵循概要設計來進行。詳細設計方案的更改,不得影響到概要設計方案;如果需要更改概要設計,必須經過專案經理的同意。詳細設計,應該完成詳細設計文件,主要是模組的詳細設計方案說明。和概要設計一樣,每個模組的詳細設計文件都應該獨立成冊。

概要設計裡面的資料庫設計應該重點在描述資料關係上,說明資料的來龍去脈,在這裡應該結合我們的一下結果資料,說明這些結果資料的源點,我們這樣設計的目的和原因。詳細設計裡的資料庫設計就應該是一份完善的資料結構文件,就是一個包括型別、命名、精度、欄位說明、表說明等內容的資料字典。    概要設計裡的功能應該是重點在功能描述,對需求的解釋和整合,整體劃分功能模組,並對各功能模組進行詳細的圖文描述,應該讓讀者大致瞭解系統作完後大體的結構和操作模式。詳細設計則是重點在描述系統的實現方式,各模組詳細說明實現功能所需的類及具體的方法函式,包括涉及到的sql語句等。

概要設計只說明系統有多少個模組,各模組之間的介面和個模組本身的功能     詳細設計說明某個具體模組如何實現,粒度應該比程式略高一些

軟體的概要設計,主要是建立軟體系統的整體架構,也就是我們在蓋房子時候,需要先將房子的整個架子構建起來。 

軟體的詳細設計,主要是將軟體系統的各個部分的具體設計方法、邏輯、功能採用文字方式進行表述。這樣在實現過程中,Coding人員原則上嚴格按此進行程式碼實現即可。

相關推薦

概要設計詳細設計說明書的區別

1.需求分析--產生軟體功能規格說明書,需要確定使用者對軟體的需求,要作到明確、無歧義。不涉及具體實現方法。使用者能看得明白,開發人員也可據此進行下面的工作(概要設計)。      2.概要設計--產生軟體概要設計說明書,說明系統模組劃分、選擇的技術路線等,整體說明軟體的實

web端設計web前端開發 的區別

mage ima cnblogs 前端開發 src web前端開發 log alt .cn web端設計和web前端開發 的區別

敏捷開發詳細設計

傳統的軟體開發過程,總要按需求分析,可行性分析,概要設計,詳細設計,測試,維護的軟體週期來進行,隨著敏捷開發方法和敏捷開發工具和技巧的發展,軟體過程中的一些步驟被新的開發顛覆甚至忽略。模組耦合度低的專案,開發人員往往在概要設計、專案結構建立之後,就拿著需求文件在做各自的子模

概要設計詳細設計如何編寫

撰寫的設計文件主要分為:總體概要設計文件 + 詳細設計文件,後簡稱為“概設”+“詳設”。 總設和詳設都應該包含的部分: (1) 需求:一般以產品的語言描述,這一塊可以拷貝產品需求文件中的story list部分; (2) 名詞解釋(可選):非相關領域內的同學需要看到文件

概要設計詳細設計分別要做什麼

    概要設計就是設計軟體的結構,包括組成模組,模組的層次結構,模組的呼叫關係,每個模組的功能等等。同時,還要設計該專案的應用系統的總體資料結構和資料庫結構,即應用系統要儲存什麼資料,這些資料是什麼樣的結構,它們之間有什麼關係。      詳細設計階段就是為每個模組完成的功能進行具體的描述,要把功能描述轉

網頁設計平面設計區別在哪裡

 傳統的平面設計側重於頁面構圖、佈局佈局、空間表現等,而網頁設計也適用於這些元素.網頁設計與傳統的平面設計在視覺傳達上很相似,但在技術上有很大的不同.網頁設計的一個重要特點是靜態與動態的結合,在平面設計中無法實現.傳統的平面設計大多以印刷的形式進行,網頁設計通過顯示器的顯示工

系統分析與設計--BCE詳細設計框架對映

BCE實現詳細設計 使用 ECB 實現 make reservation 用例的詳細設計(包含用例簡介,順序圖,類圖) make reservation 用例簡介: make reservation 系統的用例圖如下所示: 根據用例圖可以得到:

需求分析、概要設計詳細設計析義(轉)

<一> 需求分析(requirement analysis)       需求分析是當前軟體工程中的關鍵問題。需求分析階段的任務是:在可行性分析的基礎上,進一步瞭解、確定使用者需求,準確地回答“系統必須做什麼”的問題。獲得需求規格說明書。還涉及到軟體系統的

web端設計web前端開發的區別

Web前端開發技術主要包括三個要素:HTML、CSS和JavaScript! 它要求前端開發工程師不僅要掌握基本的Web前端開發技術,網站效能優化、SEO和伺服器端的基礎知識,而且要學會運用各種工具進行輔助開發以及理論層面的知識,包括程式碼的可維護性、元件的易用性、分層語

需求分析,概要設計詳細設計內容以及產物

業務流程 sig 外部 功能 ron er圖 接口文檔 概要設計 輸出 1、需求分析 內容包括:數據需求、業務功能需求、系統功能需求、性能需求、數據需求、外部接口、待解決問題等; 產物:需求規格說明書、用例圖(powerDesigner OOM)、業務流程圖(power

公交查詢系統的設計詳細設計程序流程圖(1)

程序流程圖 前面的博客我寫過公交查詢系統設計的數據流圖,實體聯系圖和狀態轉換圖,老師給任務了,這次寫的是程序流程圖。 之前的公交查詢系統:http://13271983.blog.51cto.com/13261983/1970591 用戶登錄模塊:功能描述:該系統的用戶為普通用戶和管理員,都有自己的登錄賬

公交查詢系統的設計詳細設計程序流程圖(2)

軟件工程接著上期博客的討論,程序流圖繼續畫。公交查詢系統模塊1車次信息查詢功能描述:普通用戶登錄成功後可以進入到個人主界面,用戶可以進行車次信息查詢。車次信息查詢是為用戶提供按公交車的車號查詢,並顯示該公交車的相關信息(如:公車的起點站和終點站,車子檔次和票價等信息)。2站點信息查詢功能描述:用戶登錄成功後即

公交查詢系統的設計詳細設計程序流程圖(3)

軟件工程車次信息管理模塊1刪除車次功能描述:分頁列出車次信息表中所有的車次信息,選擇操作中的刪除,就可以將對應的車次信息刪除,但是在刪除車次信息的時候需要先刪除車次與站點關系表中所有對應該車次的信息。2添加車次功能描述增加車次的詳細信息,包括:車次號,起點站,終點站,票價,車檔次。在添加起點站和終點站的時候,

室內設計平面設計,哪個更適合女生學習?

結構 如果 自己的 出差 幫助 揭秘 施工 房地產 過多 室內設計和平面設計哪個更適合女生學習?哪個比較有前途?關於這個問題,小編的回答是這個沒有一定的標準,還是要根據你自身的能力和各方面情況來選擇適合自己的。個人興趣是學習和工作的源動力。總得來說,學習這兩個專業的女生並不

資料庫結構設計(邏輯設計物理設計

1、資料庫結構設計的步驟 需求分析:全面瞭解產品設計的儲存需求 邏輯設計:設計資料的邏輯儲存結構 物理設計:根據所用的資料庫特點進行表結構設計                   關係型資料庫:

學生資訊管理系統之第二篇主要功能模組設計資料庫設計

 4.2系統主要功能模組設計: (1)基本資訊模組:是管理員對學生資訊進行新增操作。通過本介面管理員可以對學生資訊進行相應的修改,包括學號、姓名、出生日期等。可以通過該介面輸入學生姓名實現查詢該學生的所有資訊。管理員可以把學生的整條資訊進行刪除,同時也刪除學生的成績。

介紹幾款UML建模、資料庫設計UI設計工具

我把我用過的設計工具介紹給大家,大家可以看看。 1.Rational Rose 很多人說Rose不好用,但是我覺得還是挺好用的,用了七八年了,主要是用熟了,而且也沒有什麼大毛病 2.XDE 2003 .Net裡面,你可以用XDE,但是隻有for visual studio

泛型設計中<T> <E>的區別

sta 參數類型 number box args data arr bsp 什麽 Java中泛型有泛型類和泛型方法 ----------------------------------------------- // 泛型方法 用E表示時,意思是element的意思,表示方

設計概要設計-詳細設計-到底需要輸出什麽???

com pos shee 設計 logs 百度文庫 ike 樂觀鎖和悲觀鎖 方法 概要設計-詳細設計 概要設計、詳細設計:概念、方法、實踐步驟-博客-雲棲社區-阿裏雲概要設計、詳細設計(二) 設計的內容_可愛桑樹_新浪博客項目管理_可愛桑樹_新浪博客軟件系統概要設計的三大要

flask django區別--在models設計資料庫方面

對於flask: pip install flask_sqlalchemy(flask 一般用這個作為關係型資料庫;他簡化了sqlalchemy的操作)可以提供orm和原生的資料庫操作;) pip install pymysql 配置: app.config['SQLALCHEMY_