軟件開發(fā)流程原型(軟件項(xiàng)目原型)
本篇文章給大家談?wù)勡浖_發(fā)流程原型,以及軟件項(xiàng)目原型對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。
軟件開發(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)營(yíng) 狀況并持續(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)。
參考:
軟件開發(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ā)的一般流程是什么?
軟件開發(fā)經(jīng)過幾十年發(fā)展已經(jīng)非常成熟,其通用流程如下:
1、需求溝通:由開發(fā)方向需求方詳細(xì)調(diào)研,了解甲方想要做什么軟件,這個(gè)過程要輸出需求文檔和原型文檔;
2、系統(tǒng)設(shè)計(jì):由技術(shù)經(jīng)理將需求文檔轉(zhuǎn)化為程序員能看懂的技術(shù)文檔,這個(gè)過程要輸出系統(tǒng)設(shè)計(jì)書;
3、開發(fā)實(shí)施:即由程序員跟進(jìn)設(shè)計(jì)文檔進(jìn)行具體的編程,當(dāng)然,如果采用MYAPPS低代碼平臺(tái),那這個(gè)過程以可視化拖拉拽配置為主,可以節(jié)省大量的開發(fā)成本;
4、系統(tǒng)測(cè)試:又可以細(xì)分為功能測(cè)試(確保軟件功能滿足),性能測(cè)試(確保軟件的并發(fā)數(shù)等性能可靠性)和安全測(cè)試(保證軟件使用過程中沒有安全漏洞,免受木馬攻擊),如果按測(cè)試主體劃分還可以分為開發(fā)測(cè)試(開發(fā)方組織的測(cè)試)和客戶測(cè)試(由最終使用用戶進(jìn)行使用前測(cè)試);
5、系統(tǒng)上線:即將軟件程序由開發(fā)環(huán)境部署到正式使用環(huán)境,對(duì)員工進(jìn)行正式使用培訓(xùn),進(jìn)行組織架構(gòu),用戶賬號(hào)等基礎(chǔ)數(shù)據(jù)同步,然后就正式使用啦!
6、系統(tǒng)運(yùn)維:指上線后各種可能出現(xiàn)疑難雜癥調(diào)查分析和解決。
軟件開發(fā)的一般流程就是以上六大步驟,業(yè)內(nèi)不排除有其他劃分模型或模式,但萬變不離其宗,都需要把上述事項(xiàng)逐一完成才能最終交付!
軟件開發(fā)流程
具體流程如下:
1、啟動(dòng)
在項(xiàng)目啟動(dòng)階段,主要確定項(xiàng)目的目標(biāo)及其可行性。我們需要對(duì)項(xiàng)目的背景、干系人、解決的問題等等進(jìn)行分析。并制定項(xiàng)目章程和組建項(xiàng)目團(tuán)隊(duì),包括:產(chǎn)品經(jīng)理、架構(gòu)工程師、UI工程師、開發(fā)工程師、測(cè)試工程師等。完成以上準(zhǔn)備工作之后,召開項(xiàng)目啟動(dòng)會(huì),啟動(dòng)會(huì)結(jié)束后則進(jìn)入下一步的工作。
2、規(guī)劃
在項(xiàng)目的規(guī)劃階段,項(xiàng)目經(jīng)理需要和項(xiàng)目需求方,以及項(xiàng)目的相關(guān)干系人確定項(xiàng)目的范圍,創(chuàng)建WBS(把工作進(jìn)行徹底分解,并梳理出其間的邏輯關(guān)系,利用整分合原則組織起來),確定項(xiàng)目的里程碑和項(xiàng)目計(jì)劃。同時(shí)制定項(xiàng)目的管理計(jì)劃,包括成本,質(zhì)量。風(fēng)險(xiǎn)等方面的預(yù)測(cè)和控制方案。
3、需求
在需求階段,需要對(duì)采集的需求進(jìn)行需求分析,編寫PRD文檔(PRD就是將宏觀抽象化的業(yè)務(wù),拆分成具體化的功能需求,并通過文字或圖像等方式呈現(xiàn)出來)、UI設(shè)計(jì)、高保真設(shè)計(jì)。最后進(jìn)入需求評(píng)審,評(píng)審?fù)ㄟ^則進(jìn)入下一步的工作。
4、設(shè)計(jì)
在設(shè)計(jì)階段,設(shè)計(jì)人員根據(jù)需求文檔,對(duì)軟件系統(tǒng)進(jìn)行設(shè)計(jì),包括數(shù)據(jù)結(jié)構(gòu)、系統(tǒng)架構(gòu)、業(yè)務(wù)模型及規(guī)則、流程控制、模塊接口等。輸出概要設(shè)計(jì),詳細(xì)設(shè)計(jì)文檔,以及數(shù)據(jù)庫設(shè)計(jì)說明書等。
5、開發(fā)
在明確需求后,開發(fā)工程師正式進(jìn)入編碼階段,根據(jù)產(chǎn)品原型圖、UI效果圖、設(shè)計(jì)文檔,選擇合適的開發(fā)環(huán)境、開發(fā)工具、開發(fā)語言等等進(jìn)行實(shí)現(xiàn),這個(gè)階段也是個(gè)很長(zhǎng)很難的階段,也是軟件實(shí)現(xiàn)的核心。
6、功能測(cè)試
對(duì)軟件進(jìn)行測(cè)試是保證軟件質(zhì)量的重要手段。開發(fā)工程師開發(fā)完成后,可以交由測(cè)試工程師測(cè)試。測(cè)試工程師測(cè)試到BUG要反饋給開發(fā),開發(fā)進(jìn)行修改。功能測(cè)試通常需要進(jìn)行很多次,直到測(cè)試通過,達(dá)到質(zhì)量要求。
7、端到端測(cè)試
在端到端測(cè)試階段,測(cè)試人員根據(jù)完整的業(yè)務(wù)流程設(shè)計(jì)可以覆蓋全流程的端到端測(cè)試案例,然后基于端到端案例對(duì)系統(tǒng)的各個(gè)模塊進(jìn)行全面測(cè)試,確保系統(tǒng)能夠符合需求和驗(yàn)收質(zhì)量標(biāo)準(zhǔn)。
8、用戶驗(yàn)收測(cè)試
用戶驗(yàn)收測(cè)試階段,也是通常的UAT(User Acceptance Test)用戶驗(yàn)收測(cè)試階段,用戶驗(yàn)收測(cè)試是最終用戶可以檢查軟件是否符合業(yè)務(wù)要求的最后階段。
UAT由了解要求并了解構(gòu)建軟件目的的最終用戶執(zhí)行。此測(cè)試是在軟件運(yùn)行之前執(zhí)行的最后一次測(cè)試。最終用戶使用現(xiàn)實(shí)生活場(chǎng)景并為真實(shí)數(shù)據(jù)構(gòu)建UAT測(cè)試用例,用戶驗(yàn)收測(cè)試在最終用戶在上線之前驗(yàn)證軟件是否滿足這些業(yè)務(wù)需求方面具有重要作用。
9、上線
所有測(cè)試通過,并與客戶或者上級(jí)達(dá)成一致后,系統(tǒng)進(jìn)行試運(yùn)行,穩(wěn)定后上線。
上線包括:上線部署、部署后驗(yàn)證、整理交付物(需求文檔、設(shè)計(jì)文檔、安裝部署手冊(cè)、產(chǎn)品幫助等等)和運(yùn)維移交。
10、收尾
項(xiàng)目的收尾階段,移交項(xiàng)目成果,釋放項(xiàng)目團(tuán)隊(duì),進(jìn)行項(xiàng)目回顧總結(jié),項(xiàng)目匯報(bào),完成項(xiàng)目結(jié)項(xiàng)。
軟件是如何開發(fā)出來的?
1、軟件開發(fā)的第一個(gè)流程是項(xiàng)目開發(fā)目的分析與確定,主要是在軟件開發(fā)商將開發(fā)項(xiàng)目確定下來之后,需要與需求方進(jìn)行討論,確定需求方對(duì)于軟件開發(fā)的需要實(shí)現(xiàn)目標(biāo)及其具體需要的功能等等,并確定是否可達(dá)成;
2、接下來就是需求分析,這個(gè)步驟也是為軟件開發(fā)的正常進(jìn)行確定具體思路的階段。在確定軟件開發(fā)可進(jìn)行后,必須要對(duì)客戶需要實(shí)現(xiàn)的軟件功能需求進(jìn)行具體詳細(xì)的分析。同時(shí)應(yīng)當(dāng)考慮在開發(fā)過程中可能出現(xiàn)的變化情況,制定需求變更計(jì)劃隨時(shí)應(yīng)對(duì)特殊情況的發(fā)生,保證軟件開發(fā)流程的順暢進(jìn)行;
3、接下來就是軟件設(shè)計(jì)。軟件設(shè)計(jì)要根據(jù)上一階段對(duì)軟件功能需求分析的結(jié)果,來設(shè)計(jì)軟件系統(tǒng)的框架結(jié)構(gòu)、功能模塊和數(shù)據(jù)庫等等。它主要分為總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)部分;
4、接下來就是編程實(shí)施步驟。編程也是根據(jù)對(duì)軟件設(shè)計(jì),將軟件設(shè)計(jì)的各部分需求通計(jì)算機(jī)程序代碼來實(shí)現(xiàn)運(yùn)行,編程有統(tǒng)一、規(guī)范的程序編寫規(guī)則,保證軟件程序的易懂性、易維護(hù)性;
5、接下來就是軟件測(cè)試步驟。也就是在根據(jù)設(shè)計(jì)將客戶軟件需用編程代碼來實(shí)現(xiàn)之后,也就是軟件程序完成之后,需要對(duì)編寫的程序,形成整體構(gòu)架、功能進(jìn)行單元、組裝、系統(tǒng)三階段的測(cè)試,以測(cè)試程序編寫的正確性,以及對(duì)客戶需求功能滿足的充分性,以此來確定軟件是否達(dá)到開發(fā)要求,同時(shí)也是一個(gè)發(fā)現(xiàn)問題、糾正問題的過程;
6、通過以上核心環(huán)節(jié)完成了軟件開發(fā),接下來就是在軟件開發(fā)達(dá)到客戶需求之后,開發(fā)者將軟件系統(tǒng)交予客戶,并將軟件安裝程序、數(shù)據(jù)庫的數(shù)據(jù)字典、《用戶安裝手冊(cè)》、《用戶使用指南》、需求報(bào)告、設(shè)計(jì)報(bào)告、測(cè)試報(bào)告等產(chǎn)物交付給客戶,同時(shí)指導(dǎo)客戶進(jìn)行軟件安裝、以及安裝技巧,提醒客戶注意軟件運(yùn)行狀況、環(huán)境、服務(wù)器及相關(guān)中間件的檢測(cè)與注意事項(xiàng),知道客戶軟件的實(shí)際操作方法、使用流程等等問題,實(shí)現(xiàn)合同規(guī)定任務(wù);
7、用戶在接受開發(fā)商交付的軟件開發(fā)結(jié)果,并進(jìn)行實(shí)際操作、測(cè)試運(yùn)行,實(shí)現(xiàn)滿意結(jié)果之后,對(duì)開發(fā)出來的軟件進(jìn)行驗(yàn)收;
8、定制開發(fā)的軟件通常都需要提供售后服務(wù),定期對(duì)軟件進(jìn)行維護(hù),或者根據(jù)用戶出現(xiàn)的新需求,進(jìn)行應(yīng)用軟件程序的修改,使之不斷滿足客戶實(shí)際需求。
關(guān)于軟件開發(fā)流程原型和軟件項(xiàng)目原型的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。