<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    大魚

    概要設計和詳細設計的區(qū)別與聯(lián)系

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

        根據(jù)工作性質(zhì)和內(nèi)容的不同,軟件設計分為概要設計和詳細設計。概要設計實現(xiàn)軟件的總體設計、模塊劃分、用戶界面設計、數(shù)據(jù)庫設計等等;詳細設計則根據(jù)概要設計所做的模塊劃分,實現(xiàn)各模塊的算法設計,實現(xiàn)用戶界面設計、數(shù)據(jù)結(jié)構(gòu)設計的細化,等等。

        概要設計是詳細設計的基礎,必須在詳細設計之前完成,概要設計經(jīng)復查確認后才可以開始詳細設計。概要設計,必須完成概要設計文檔,包括系統(tǒng)的總體設計文檔、以及各個模塊的概要設計文檔。每個模塊的設計文檔都應該獨立成冊。

        詳細設計必須遵循概要設計來進行。詳細設計方案的更改,不得影響到概要設計方案;如果需要更改概要設計,必須經(jīng)過項目經(jīng)理的同意。詳細設計,應該完成詳細設計文檔,主要是模塊的詳細設計方案說明。和概要設計一樣,每個模塊的詳細設計文檔都應該獨立成冊。

        概要設計里面的數(shù)據(jù)庫設計應該重點在描述數(shù)據(jù)關系上,說明數(shù)據(jù)的來龍去脈,在這里應該結(jié)合我們的一下結(jié)果數(shù)據(jù),說明這些結(jié)果數(shù)據(jù)的源點,我們這樣設計的目的和原因。詳細設計里的數(shù)據(jù)庫設計就應該是一份完善的數(shù)據(jù)結(jié)構(gòu)文檔,就是一個包括類型、命名、精度、字段說明、表說明等內(nèi)容的數(shù)據(jù)字典。

        概要設計里的功能應該是重點在功能描述,對需求的解釋和整合,整體劃分功能模塊,并對各功能模塊進行詳細的圖文描述,應該讓讀者大致了解系統(tǒng)作完后大體的結(jié)構(gòu)和操作模式。詳細設計則是重點在描述系統(tǒng)的實現(xiàn)方式,各模塊詳細說明實現(xiàn)功能所需的類及具體的方法函數(shù),包括涉及到的sql語句等。

    http://blog.csdn.net/skyly84/archive/2009/06/02/4236569.aspx

    概要設計與詳細設計的區(qū)別

        概要設計就是設計軟件的結(jié)構(gòu),包括組成模塊,模塊的層次結(jié)構(gòu),模塊的調(diào)用關系,每個模塊的功能等等。同時,還要設計該項目的應用系統(tǒng)的總體數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫結(jié)構(gòu),即應用系統(tǒng)要存儲什么數(shù)據(jù),這些數(shù)據(jù)是什么樣的結(jié)構(gòu),它們之間有什么關系。

        詳細設計階段就是為每個模塊完成的功能進行具體的描述,要把功能描述轉(zhuǎn)變?yōu)榫_的、結(jié)構(gòu)化的過程描述。

        概要設計階段通常得到軟件結(jié)構(gòu)圖

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

    概要設計和詳細設計

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

    這個問題在公司內(nèi)部經(jīng)常有人問。現(xiàn)在陳述一下。

        我們公司的研發(fā)流程是瀑布型的,這個模型中的分析、設計階段是基于經(jīng)典的結(jié)構(gòu)化方法。

        結(jié)構(gòu)化設計方法的基本思路是:按照問題域,將軟件逐級細化,分解為不必再分解的的模塊,每個模塊完成一定的功能,為一個或多個父模塊服務(即接受調(diào)用),也接受一個或多個子模塊的服務(即調(diào)用子模塊)。模塊的概念,和編程語言中的子程序或函數(shù)是對應的。

     

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

        概要(結(jié)構(gòu))設計階段:把軟件按照一定的原則分解為模塊層次,賦予每個模塊一定的任務,并確定模塊間調(diào)用關系和接口。

        詳細設計階段:依據(jù)概要設計階段的分解,設計每個模塊內(nèi)的算法、流程等。

    概要設計階段:

         在這個階段,設計者會大致考慮并照顧模塊的內(nèi)部實現(xiàn),但不過多糾纏于此。主要集中于劃分模塊、分配任務、定義調(diào)用關系。模塊間的接口與傳參在這個階段要定得 十分細致明確,應編寫嚴謹?shù)臄?shù)據(jù)字典,避免后續(xù)設計產(chǎn)生不解或誤解。概要設計一般不是一次就能做到位,而是反復地進行結(jié)構(gòu)調(diào)整。典型的調(diào)整是合并功能重復的模塊,或者進一步分解出可以復用的模塊。在概要設計階段,應最大限度地提取可以重用的模塊,建立合理的結(jié)構(gòu)體系,節(jié)省后續(xù)環(huán)節(jié)的工作量。

        概要設計文檔最重要的部分是分層數(shù)據(jù)流圖、結(jié)構(gòu)圖、數(shù)據(jù)字典以及相應的文字說明等。以概要設計文檔為依據(jù),各個模塊的詳細設計就可以并行展開了。

    詳細設計階段:

        在這個階段,各個模塊可以分給不同的人去并行設計。在詳細設計階段,設計者的工作對象是一個模塊,根據(jù)概要設計賦予的局部任務和對外接口,設計并表達出模塊的算法、流程、狀態(tài)轉(zhuǎn)換等內(nèi)容。這里要注意,如果發(fā)現(xiàn)有結(jié)構(gòu)調(diào)整(如分解出子模塊等)的必要,必須返回到概要設計階段,將調(diào)整反應到概要設計文檔中,而不 能就地解決,不打招呼。詳細設計文檔最重要的部分是模塊的流程圖、狀態(tài)圖、局部變量及相應的文字說明等。一個模塊一篇詳細設計文檔。

        概要設計文檔相當于機械設計中的裝配圖,而詳細設計文檔相當于機械設計中的零件圖。文檔的編排、裝訂方式也可以參考機械圖紙的方法。

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

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

        有的項目采用面向?qū)ο蟮姆治觥⒃O計方法。可能在概要設計、詳細設計的分工上疑問更多。其實,面向?qū)ο蟮姆治觥⒃O計方法并沒有強調(diào)結(jié)構(gòu)化方法那樣的階段性,因此一般不引入概要、詳細設計的概念。如果按照公司的文檔體系,非要有這種分工的話,可以將包的劃分、類及對象間的關系、類的對外屬性、方法及協(xié)作設計看做 概要設計;類屬性、方法的內(nèi)部實現(xiàn)看做詳細設計。

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

       2.概要設計--產(chǎn)生軟件概要設計說明書,說明系統(tǒng)模塊劃分、選擇的技術路線等,整體說明軟件的實現(xiàn)思路。并且需要指出關鍵技術難點等。  

       3.詳細設計--產(chǎn)生軟件詳細設計說明書,對概要設計的進一步細化,一般由各部分的擔當人員依據(jù)概要設計分別完成,然后在集成,是具體的實現(xiàn)細節(jié)。理論上要求可以照此編碼。

    概要設計和詳細設計的區(qū)別與聯(lián)系

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

        根據(jù)工作性質(zhì)和內(nèi)容的不同,軟件設計分為概要設計和詳細設計。概要設計實現(xiàn)軟件的總體設計、模塊劃分、用戶界面設計、數(shù)據(jù)庫設計等等;詳細設計則根據(jù)概要設計所做的模塊劃分,實現(xiàn)各模塊的算法設計,實現(xiàn)用戶界面設計、數(shù)據(jù)結(jié)構(gòu)設計的細化,等等。

        概要設計是詳細設計的基礎,必須在詳細設計之前完成,概要設計經(jīng)復查確認后才可以開始詳細設計。概要設計,必須完成概要設計文檔,包括系統(tǒng)的總體設計文檔、以及各個模塊的概要設計文檔。每個模塊的設計文檔都應該獨立成冊。

        詳細設計必須遵循概要設計來進行。詳細設計方案的更改,不得影響到概要設計方案;如果需要更改概要設計,必須經(jīng)過項目經(jīng)理的同意。詳細設計,應該完成詳細設計文檔,主要是模塊的詳細設計方案說明。和概要設計一樣,每個模塊的詳細設計文檔都應該獨立成冊。

       概要設計里面的數(shù)據(jù)庫設計應該重點在描述數(shù)據(jù)關系上,說明數(shù)據(jù)的來龍去脈,在這里應該結(jié)合我們的一下結(jié)果數(shù)據(jù),說明這些結(jié)果數(shù)據(jù)的源點,我們這樣設計的目的和原因。詳細設計里的數(shù)據(jù)庫設計就應該是一份完善的數(shù)據(jù)結(jié)構(gòu)文檔,就是一個包括類型、命名、精度、字段說明、表說明等內(nèi)容的數(shù)據(jù)字典。

       概要設計里的功能應該是重點在功能描述,對需求的解釋和整合,整體劃分功能模塊,并對各功能模塊進行詳細的圖文描述,應該讓讀者大致了解系統(tǒng)作完后大體的結(jié)構(gòu)和操作模式。詳細設計則是重點在描述系統(tǒng)的實現(xiàn)方式,各模塊詳細說明實現(xiàn)功能所需的類及具體的方法函數(shù),包括涉及到的sql語句等。

    概要設計,詳細設計之間的關系是什么?

    Q:

    我的看法:

        概要設計只說明系統(tǒng)有多少個模塊,各模塊之間的接口和個模塊本身的功能

        詳細設計說明某個具體模塊如何實現(xiàn),粒度應該比程序略高一些

        但是問題來了,各個模塊之間是有層次關系的,也有先后邏輯關系。這就說明,在概要設計中,還必須考慮模塊的實現(xiàn)細節(jié),否則,你怎么知道這個模塊下面要劃分子模塊?你怎么知道各子模塊的調(diào)用順序?

        這就說明,概要設計和詳細設計是重疊進行的,而軟件工程書上說的確是順序進行的,不知道是不是我的理解有問題。

    舉個例子,例如排序程序,如果設計2個模塊:

    一個主模塊用于排序子模塊用于交換2個變量,主模塊調(diào)用子模塊,但是子模塊是怎么設計出來的呢?肯定是你先想到了用冒泡等排序方式的時候需要交換數(shù)據(jù),這已經(jīng)考慮了主模塊足夠多的細節(jié),似乎屬于"詳細設計"了,但是目前進行的是概要設計,這就產(chǎn)生了我所說的重疊的情況。

    A:

    看看上面的帖子,有意思的居多。

    上面也有朋友說到用建筑的例子來比喻。

    軟件的概要設計,主要是建立軟件系統(tǒng)的整體架構(gòu),也就是我們在蓋房子時候,需要先將房子的整個架子構(gòu)建起來。

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

    這樣的一個最為簡單的例證:我們可以將代碼交付第三方來做。驗證與跟蹤采取設計來。

    我看上面還有一個朋友說:快速做代碼。這個本身沒有值得批評之處。但只要想一下,你寫的代碼沒有任何設計思想、文檔留下的情況,一旦你離開,如何維護?重新設計嗎?還是花費幾倍人力去研究你寫的幾千/萬,甚至幾十萬行代碼?如果是這樣的,你沒錯,關鍵是你們老板太對了,錢算什么。

    另外的一個問題是:中國人如此聰明,但中國為什么沒有出現(xiàn)巨型軟件產(chǎn)品呢?個人英雄主義依然很嚴重,老板的短視利益行為大行其道。

    posted on 2011-06-04 22:58 大魚 閱讀(300) 評論(0)  編輯  收藏 所屬分類: 軟件工程

    主站蜘蛛池模板: 性盈盈影院免费视频观看在线一区| 日韩吃奶摸下AA片免费观看| 国产在线a免费观看| 国产在线19禁免费观看国产| 亚洲精品亚洲人成在线观看| 亚洲av无码国产综合专区| 人成免费在线视频| 18女人水真多免费高清毛片| 免费人成视频在线观看不卡| 亚洲精品美女在线观看播放| 免费看一级毛片在线观看精品视频| 色欲A∨无码蜜臀AV免费播 | 0588影视手机免费看片| 免费人成在线观看视频播放| 91情国产l精品国产亚洲区| 美美女高清毛片视频黄的一免费| 亚洲电影免费在线观看| 亚洲人午夜射精精品日韩| 亚洲六月丁香六月婷婷色伊人| 国产免费久久精品99久久| 九九九精品成人免费视频| 国产成A人亚洲精V品无码性色| 亚洲成aⅴ人片久青草影院按摩| 久久国产精品免费看| 亚洲成A人片在线观看无码3D| 亚洲一区二区三区久久| 免费看无码特级毛片| 国产成人免费片在线视频观看| 久久精品国产亚洲av麻豆色欲| 九九视频高清视频免费观看| 中字幕视频在线永久在线观看免费| 亚洲精品无码MV在线观看| 在线观看亚洲电影| 啦啦啦中文在线观看电视剧免费版| 亚洲VA成无码人在线观看天堂| 精品视频免费在线| 好男人看视频免费2019中文| 久久精品国产亚洲77777| 国产午夜精品理论片免费观看| 国产jizzjizz免费看jizz| 久久亚洲国产成人影院|