軟件開發(fā)過程中的概要設(shè)計(jì)階段(軟件開發(fā)過程中的概要設(shè)計(jì)階段主要完成的任務(wù))
今天給各位分享軟件開發(fā)過程中的概要設(shè)計(jì)階段的知識(shí),其中也會(huì)對(duì)軟件開發(fā)過程中的概要設(shè)計(jì)階段主要完成的任務(wù)進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!
什么是軟件概要設(shè)計(jì)?該階段的基本任務(wù)是什么
設(shè)計(jì)師根據(jù)用戶交互過程和用戶需求來形成交互框架和視覺框架的過程,其結(jié)果往往以反映交互控件布置、界面元素分組以及界面整體板式的頁面框架圖的形式來呈現(xiàn)。這是一個(gè)在用戶研究和設(shè)計(jì)之間架起橋梁,使用戶研究和設(shè)計(jì)無縫結(jié)合,將對(duì)用戶目標(biāo)與需求轉(zhuǎn)換成具體界面設(shè)計(jì)解決方案的重要階段。
概要設(shè)計(jì)的主要任務(wù)是把需求分析得到的系統(tǒng)擴(kuò)展用例圖轉(zhuǎn)換為軟件結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)。
擴(kuò)展資料
首先,開發(fā)者需要對(duì)軟件系統(tǒng)進(jìn)行概要設(shè)計(jì),即系統(tǒng)設(shè)計(jì)。概要設(shè)計(jì)需要對(duì)軟件系統(tǒng)的設(shè)計(jì)進(jìn)行考慮,包括系統(tǒng)的基本處理流程、系統(tǒng)的組織結(jié)構(gòu)、模塊劃分、功能分配、接口設(shè)計(jì)、運(yùn)行設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和出錯(cuò)處理設(shè)計(jì)等,為軟件的詳細(xì)設(shè)計(jì)提供基礎(chǔ)。
在概要設(shè)計(jì)的基礎(chǔ)上,開發(fā)者需要進(jìn)行軟件系統(tǒng)的詳細(xì)設(shè)計(jì)。在詳細(xì)設(shè)計(jì)中,描述實(shí)現(xiàn)具體模塊所涉及到的主要算法、數(shù)據(jù)結(jié)構(gòu)、類的層次結(jié)構(gòu)及調(diào)用關(guān)系,需要說明軟件系統(tǒng)各個(gè)層次中的每一個(gè)程序(每個(gè)模塊或子程序)的設(shè)計(jì)考慮,以便進(jìn)行編碼和測(cè)試。
應(yīng)當(dāng)保證軟件的需求完全分配給整個(gè)軟件。詳細(xì)設(shè)計(jì)應(yīng)當(dāng)足夠詳細(xì),能夠根據(jù)詳細(xì)設(shè)計(jì)報(bào)告進(jìn)行編碼。
參考資料來源:百度百科-軟件開發(fā)流程
參考資料來源:百度百科-概要設(shè)計(jì)
軟件設(shè)計(jì)包括哪兩個(gè)階段?
軟件設(shè)計(jì)包括的兩個(gè)階段:
1、對(duì)軟件的全局觀點(diǎn)。系統(tǒng)通過逐步求精使得設(shè)計(jì)陳述逐漸接近源代碼。這里有兩個(gè)基本步驟,第一步是初步設(shè)計(jì),關(guān)注于如何將需求轉(zhuǎn)換成數(shù)據(jù)和軟件框架。
2、詳細(xì)設(shè)計(jì),關(guān)注于將框架逐步求精細(xì)化為具體的數(shù)據(jù)結(jié)構(gòu)和軟件的算法表達(dá)。發(fā)生中的設(shè)計(jì)行為、數(shù)據(jù)、算法和程序設(shè)計(jì)都需要由現(xiàn)代程序所需的界面設(shè)計(jì)這一清晰的行為來結(jié)合起來。界面設(shè)計(jì)建立程序布局和人機(jī)交互機(jī)制。貫穿設(shè)計(jì)過程的質(zhì)量由一系列的正式技術(shù)評(píng)定或設(shè)計(jì)排演來評(píng)價(jià)。
軟件設(shè)計(jì)是從軟件需求規(guī)格說明書出發(fā),根據(jù)需求分析階段確定的功能設(shè)計(jì)軟件系統(tǒng)的整體結(jié)構(gòu)、劃分功能模塊、確定每個(gè)模塊的實(shí)現(xiàn)算法以及編寫具體的代碼,形成軟件的具體設(shè)計(jì)方案。
軟件設(shè)計(jì)是把許多事物和問題抽象起來,并且抽象它們不同的層次和角度。將問題或事物分解并模塊化使得解決問題變得容易,分解的越細(xì)模塊數(shù)量也就越多,它的副作用就是使得設(shè)計(jì)者考慮更多的模塊之間耦合度的情況。
擴(kuò)展資料:
設(shè)計(jì)要素:
軟件設(shè)計(jì)包括軟件的結(jié)構(gòu)設(shè)計(jì),數(shù)據(jù)設(shè)計(jì),接口設(shè)計(jì)和過程設(shè)計(jì)。
1、結(jié)構(gòu)設(shè)計(jì):定義軟件系統(tǒng)各主要部件之間的關(guān)系。
2、數(shù)據(jù)設(shè)計(jì):將模型轉(zhuǎn)換成數(shù)據(jù)結(jié)構(gòu)的定義。
3、接口設(shè)計(jì):軟件內(nèi)部,軟件和操作系統(tǒng)間以及軟件和人之間如何通信。
4、過程設(shè)計(jì):系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述。
參考資料來源:百度百科-軟件設(shè)計(jì)
軟件開發(fā)的基本流程包括哪些
軟件開發(fā)是根據(jù)用戶要求建造出軟件系統(tǒng)或者系統(tǒng)中的軟件部分的過程。軟件開發(fā)是一項(xiàng)包括需求捕捉、需求分析、設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試的系統(tǒng)工程。軟件一般是用某種程序設(shè)計(jì)語言來實(shí)現(xiàn)的。通常采用軟件開發(fā)工具可以進(jìn)行開發(fā)。軟件分為系統(tǒng)軟件和應(yīng)用軟件,并不只是包括可以在計(jì)算機(jī)上運(yùn)行的程序,與這些程序相關(guān)的文件一般也被認(rèn)為是軟件的一部分。 軟件設(shè)計(jì)思路和方法的一般過程,包括設(shè)計(jì)軟件的功能和實(shí)現(xiàn)的算法和方法、軟件的總體結(jié)構(gòu)設(shè)計(jì)和模塊設(shè)計(jì)、編程和調(diào)試、程序聯(lián)調(diào)和測(cè)試,然后進(jìn)行編寫再提交程序。
軟件開發(fā)過程一般有幾個(gè)階段?
F1第一階段軟件工程,免費(fèi)下載
鏈接:
提取碼:paem
計(jì)劃階段----開發(fā)階段----維護(hù)階段
計(jì)劃階段:?jiǎn)栴}定義,可行性研究,需求分析
開發(fā)階段:概要設(shè)計(jì),詳細(xì)設(shè)計(jì),編碼,測(cè)試
維護(hù)階段:運(yùn)行與維護(hù)
軟件開發(fā)的流程都有哪些步驟呢?
軟件開發(fā)是指一個(gè)軟件項(xiàng)目的開發(fā),如市場(chǎng)調(diào)查,需求分析,可行性分析,初步設(shè)計(jì),詳細(xì)設(shè)計(jì),形成文檔,建立初步模型,編寫詳細(xì)代碼,測(cè)試修改,發(fā)布等。
軟件是怎么樣開發(fā)出來的
第一個(gè)步驟是市場(chǎng)調(diào)研,技術(shù)和市場(chǎng)要結(jié)合才能體現(xiàn)最大價(jià)值。
第二個(gè)步驟是需求分析,這個(gè)階段需要出三樣?xùn)|西,用戶視圖,數(shù)據(jù)詞典和用戶操作手 冊(cè)。
用戶視圖 是該軟件用戶(包括終端用戶和管理用戶)所能看到的頁面樣式,這里面包含了 很多操作方面的流程和條件。
數(shù)據(jù)詞典 是指明數(shù)據(jù)邏輯關(guān)系并加以整理的東東,完成了數(shù)據(jù)詞典,數(shù)據(jù)庫的設(shè)計(jì)就完成了一半多。
用戶操作手冊(cè)是指明了操作流程的說明書。
請(qǐng)注意,用戶操作流程和用戶視圖是由需求決定的,因此應(yīng)該在軟件設(shè)計(jì)之前完成,完成這些,就為程序研發(fā)提供了約束和準(zhǔn)繩,很遺憾太多公司都不是這樣做的,因果顛倒,順序不分,開發(fā)工作和實(shí)際需求往往因此產(chǎn)生隔閡脫節(jié)的現(xiàn)象。
需求分析,除了以上工作,筆者以為作為項(xiàng)目設(shè)計(jì)者應(yīng)當(dāng)完整的做出項(xiàng)目的性能需求說明 書,因?yàn)橥阅苄枨笾挥卸夹g(shù)的人才可能理解,這就需要技術(shù)專家和需求方(客戶或公司市場(chǎng)部門)能夠有真正的溝通和了解。
第三個(gè)步驟是概要設(shè)計(jì),將系統(tǒng)功能模塊初步劃分,并給出合理的研發(fā)流程和資源要求。
作為快速原型設(shè)計(jì)方法,完成概要設(shè)計(jì)就可以進(jìn)入編碼階段了,通常采用這種方法是因?yàn)樯婕暗难邪l(fā)任務(wù)屬于新領(lǐng)域,技術(shù)主管人員一上來無法給出明確的詳細(xì)設(shè)計(jì)說明書,但是 并不是說詳細(xì)設(shè)計(jì)說明書不重要,事實(shí)上快速原型法在完成原型代碼后,根據(jù)評(píng)測(cè)結(jié)果和 經(jīng)驗(yàn)教訓(xùn)的總結(jié),還要重新進(jìn)行詳細(xì)設(shè)計(jì)的步驟。
第四個(gè)步驟是詳細(xì)設(shè)計(jì),這是考驗(yàn)技術(shù)專家設(shè)計(jì)思維的重要關(guān)卡,詳細(xì)設(shè)計(jì)說明書應(yīng)當(dāng)把 具體的模塊以最’干凈’的方式(黑箱結(jié)構(gòu))提供給編碼者,使得系統(tǒng)整體模塊化達(dá)到最 大;一份好的詳細(xì)設(shè)計(jì)說明書,可以使編碼的復(fù)雜性減低到最低,實(shí)際上,嚴(yán)格的講詳細(xì) 設(shè)計(jì)說明書應(yīng)當(dāng)把每個(gè)函數(shù)的每個(gè)參數(shù)的定義都精精細(xì)細(xì)的提供出來,從需求分析到概要 設(shè)計(jì)到完成詳細(xì)設(shè)計(jì)說明書,一個(gè)軟件項(xiàng)目就應(yīng)當(dāng)說完成了一半了。換言之,一個(gè)大型軟 件系統(tǒng)在完成了一半的時(shí)候,其實(shí)還沒有開始一行代碼工作。
那些把作軟件的程序員簡(jiǎn)單理解為寫代碼的,就從根子上犯了錯(cuò)誤了。
第五個(gè)步驟是編碼,在規(guī)范化的研發(fā)流程中,編碼工作在整個(gè)項(xiàng)目流程里最多不會(huì)超過1/ 2,通常在1/3的時(shí)間,所謂磨刀不誤砍柴功,設(shè)計(jì)過程完成的好,編碼效率就會(huì)極大提 高,編碼時(shí)不同模塊之間的進(jìn)度協(xié)調(diào)和協(xié)作是最需要小心的,也許一個(gè)小模塊的問題就可能影響了整體進(jìn)度,讓很多程序員因此被迫停下工作等待,這種問題在很多研發(fā)過程中都 出現(xiàn)過。
編碼時(shí)的相互溝通和應(yīng)急的解決手段都是相當(dāng)重要的,對(duì)于程序員而言,bug永 遠(yuǎn)存在,你必須永遠(yuǎn)面對(duì)這個(gè)問題,大名鼎鼎的微軟,可曾有連續(xù)三個(gè)月不發(fā)補(bǔ)丁的時(shí)候 嗎?從來沒有!
第六個(gè)步驟是測(cè)試
測(cè)試有很多種:
按照測(cè)試執(zhí)行方,可以分為內(nèi)部測(cè)試和外部測(cè)試
按照測(cè)試范圍,可以分為模塊測(cè)試和整體聯(lián)調(diào)
按照測(cè)試條件,可以分為正常操作情況測(cè)試和異常情況測(cè)試
按照測(cè)試的輸入范圍,可以分為全覆蓋測(cè)試和抽樣測(cè)試
以上都很好理解,不再解釋。
總之,測(cè)試同樣是項(xiàng)目研發(fā)中一個(gè)相當(dāng)重要的步驟,對(duì)于一個(gè)大型軟件,3個(gè)月到1年的外部測(cè)試都是正常的,因?yàn)橛肋h(yuǎn)都會(huì)又不可預(yù)料的問題存在。
完成測(cè)試后,完成驗(yàn)收并完成最后的一些幫助文檔,整體項(xiàng)目才算告一段落,當(dāng)然日后少不了升級(jí),修補(bǔ)等等工作,只要不是想通過一錘子買賣騙錢,就要不停的跟蹤軟件的運(yùn)營 狀況并持續(xù)修補(bǔ)升級(jí),直到這個(gè)軟件被徹底淘汰為止。
什么是軟件開發(fā)的核心問題
按照軟件工程鼻祖,《人月神話》作者 Brooks 在“沒有銀彈——軟件工程中的根本和次要問題”一章中闡述的思想,軟件開發(fā)的核心問題就是如何從概念上對(duì)一個(gè)復(fù)雜的業(yè)務(wù)系統(tǒng)進(jìn)行建模。這個(gè)建模是含義廣泛的,不僅僅包括對(duì)象建模,還包括數(shù)據(jù)建模、算法建模等等一系列的內(nèi)容。總而言之是要先找到解決復(fù)雜問題的突破口(先要搞明白需要做什么,然后再考慮如何做)。至于采用什么表示方法(簡(jiǎn)單文本、UML 圖、E-R 圖)、采用什么高級(jí)語言、是否一定要用面向?qū)ο?、使用什么開發(fā)工具都是次要的問題。
軟件開發(fā)方法
軟件開發(fā)方法(Software Development Method)是指軟件開發(fā)過程所遵循的辦法和步驟。
軟件開發(fā)活動(dòng)的目的是有效地得到一些工作產(chǎn)物,也就是一個(gè)運(yùn)行的系統(tǒng)及其支持文檔,并且滿足有關(guān)的質(zhì)量要求。軟件開發(fā)是一種非常復(fù)雜的腦力勞動(dòng),所以經(jīng)常更多討論的是軟件開發(fā)方法學(xué),指的是規(guī)則、方法和工具的集成,既支持開發(fā),也支持以后的演變過程(交付運(yùn)行后,系統(tǒng)還會(huì)變化,或是為了改錯(cuò),或是為了功能的增減)。
關(guān)于組成軟件開發(fā)和系統(tǒng)演化的活動(dòng)有著各種模型(參見軟件生存周期,軟件開發(fā)模型,軟件過程),但是典型地都包含了以下的過程或活動(dòng):分析、設(shè)計(jì)、實(shí)現(xiàn)、確認(rèn)(測(cè)試驗(yàn)收)、演化(維護(hù))。
有些軟件開發(fā)方法是專門針對(duì)某一開發(fā)階段的,屬于局部性的軟件開發(fā)方法。
特別是軟件開發(fā)的實(shí)踐表明,在開發(fā)的早期階段多做努力,在后來的測(cè)試和維護(hù)階段就會(huì)使費(fèi)用較大地得以縮減。因此,針對(duì)分析和設(shè)計(jì)階段的軟件開發(fā)方法特別受到重視。其它階段的方法,從程序設(shè)計(jì)發(fā)展的初期起就是研究的重點(diǎn),
已經(jīng)發(fā)展得比較成熟(參見程序設(shè)計(jì),維護(hù)過程)。除了分階段的局部性軟件開發(fā)方法之外,還有覆蓋開發(fā)全過程的全局性方法,尤為軟件開發(fā)方法學(xué)注意的重點(diǎn)。
對(duì)軟件開發(fā)方法的一般要求:當(dāng)提出一種軟件開發(fā)方法時(shí),應(yīng)該考慮許多因素,包括:
①覆蓋開發(fā)全過程,并且便于在各階段間的過渡;
②便于在開發(fā)各階段中有關(guān)人員之間的通信;
③支持有效的解決問題的
④支持系統(tǒng)設(shè)計(jì)和開發(fā)的各種不同途徑;
⑤在開發(fā)過程中支持軟件正確性的校驗(yàn)和驗(yàn)證;
⑥便于在系統(tǒng)需求中列入設(shè)計(jì)、實(shí)際和性能的約束;
⑦支持設(shè)計(jì)師和其他技術(shù)人員的智力勞動(dòng);
⑧在系統(tǒng)的整個(gè)生存周期都支持它的演化;
⑨受自動(dòng)化工具的支持。此外,在開發(fā)的所有階段,有關(guān)的軟件產(chǎn)物都應(yīng)該是可見和可控的;軟件開發(fā)方法應(yīng)該可教學(xué)、可轉(zhuǎn)移,還應(yīng)該是開放的,即可以容納新的技術(shù)、管理方法和新工具,并且與已有的標(biāo)準(zhǔn)相適應(yīng)。
參考:
關(guān)于軟件開發(fā)過程中的概要設(shè)計(jì)階段和軟件開發(fā)過程中的概要設(shè)計(jì)階段主要完成的任務(wù)的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。