,同任何事物一樣,一個(gè)軟件產(chǎn)品或軟件系統(tǒng)也要經(jīng)歷孕育、誕生、成長(zhǎng)、成熟、衰亡等階段,一般稱為軟件生存周期。把整個(gè)軟件生存周期劃分為若干階段,使得每個(gè)階段有明確的任務(wù),使規(guī)模大,結(jié)構(gòu)復(fù)雜和管理復(fù)雜的軟件開發(fā)變的容易控制和管理。通常,軟件生存周期包括可行性分析與開發(fā)項(xiàng)計(jì)劃、需求分析、設(shè)計(jì)、編碼、測(cè)試、維護(hù)等活動(dòng),可以將這些活動(dòng)以適當(dāng)?shù)姆绞椒峙涞讲煌碾A段去完成。
軟件開發(fā)中的各種流程圖有多種表示方法和形式,其中在
流量用圖形表示算法的想法是一個(gè)極好的方法,因?yàn)榍а匀f(wàn)語(yǔ)不如一張圖。用特定的圖形符號(hào)和解釋來(lái)表示算法的圖表稱為流程圖或框圖。流程圖是流經(jīng)系統(tǒng)的信息流、視點(diǎn)流或組件流的圖形表示。在企業(yè)中,流程圖主要用來(lái)說(shuō)明某一個(gè)過(guò)程。這個(gè)過(guò)程可以是生產(chǎn)線上的工藝過(guò)程,也可以是完成一項(xiàng)任務(wù)的必要管理過(guò)程。例如,流程圖可以是解釋某個(gè)零件的制造過(guò)程,甚至組織決策程序的方法之一。這些過(guò)程的每個(gè)階段都由圖形塊表示,不同的圖形塊由箭頭連接,表示它們?cè)谙到y(tǒng)中的流向。下一步取決于上一步的結(jié)果。典型的做法是以“是”或“否”的邏輯分支來(lái)判斷。流程圖是揭示和掌握封閉系統(tǒng)運(yùn)動(dòng)的有效方法。作為一種診斷工具,它可以輔助決策,讓管理者清楚地知道問(wèn)題可能出在哪里,從而確定可供選擇的行動(dòng)方案。流程圖有時(shí)被稱為投入產(chǎn)出圖。該圖直觀地描述了工作過(guò)程的具體步驟。流程圖非常有助于準(zhǔn)確了解事情的進(jìn)展,并決定如何改進(jìn)流程。這種方法可以在整個(gè)企業(yè)中使用,從而直觀地跟蹤和說(shuō)明企業(yè)的運(yùn)行模式。流程圖使用一些標(biāo)準(zhǔn)符號(hào)來(lái)表示某些類型的動(dòng)作,比如用菱形框表示決策,用方框表示具體活動(dòng)。但比這些符號(hào)更重要的是,必須清楚地描述工作過(guò)程的順序。流程圖也可用于設(shè)計(jì)和改進(jìn)工作流程。具體方法是先把事情應(yīng)該怎么做畫出來(lái),再和實(shí)際情況對(duì)比。
軟件開發(fā)的生命周期
和任何事物一樣,一個(gè)軟件產(chǎn)品或軟件系統(tǒng)要經(jīng)歷孕育、誕生、成長(zhǎng)、成熟、衰退等階段,一般稱為軟件生命周期(software life cycle)。將整個(gè)軟件生命周期分為幾個(gè)階段,使每個(gè)階段都有明確的任務(wù),規(guī)模大、結(jié)構(gòu)復(fù)雜、管理復(fù)雜的軟件開發(fā)變得容易控制和管理。一般來(lái)說(shuō),軟件生命周期包括可行性分析和開發(fā)計(jì)劃、需求分析、設(shè)計(jì)(概要設(shè)計(jì)和詳細(xì)設(shè)計(jì))、編碼、測(cè)試、維護(hù)等活動(dòng),這些活動(dòng)可以以適當(dāng)?shù)姆绞椒峙涞讲煌碾A段來(lái)完成。軟件生命周期(SDLC)是軟件從產(chǎn)生到生命結(jié)束的生命周期。循環(huán)中有問(wèn)題定義、可行性分析、總體描述、系統(tǒng)設(shè)計(jì)、編碼、調(diào)試測(cè)試、驗(yàn)收運(yùn)行、維護(hù)升級(jí)到廢棄等階段。這種逐時(shí)思考的方法是軟件工程中的一個(gè)思想原則,就是一步一步,循序漸進(jìn),每個(gè)階段都要定義、工作、回顧。然而,隨著新的面向?qū)ο笤O(shè)計(jì)方法和技術(shù)的成熟,軟件生命周期設(shè)計(jì)方法的指導(dǎo)意義正在逐漸降低。軟件生命周期的六個(gè)階段。問(wèn)題的定義和規(guī)劃。這個(gè)階段是軟件開發(fā)者和需求者的共同討論,主要是確定軟件的開發(fā)目標(biāo)和可行性。2.需求分析:在軟件開發(fā)可行的情況下,詳細(xì)分析軟件需要實(shí)現(xiàn)的功能。需求分析階段是一個(gè)非常重要的階段,如果做得好,會(huì)為整個(gè)軟件開發(fā)項(xiàng)目的成功打下良好的基礎(chǔ)?!拔ㄒ徊蛔兊氖亲兓旧怼!蓖瑯?,需求在整個(gè)軟件開發(fā)過(guò)程中也是不斷變化和深化的,所以我們必須制定一個(gè)需求變更計(jì)劃來(lái)應(yīng)對(duì)這種變化,以保障整個(gè)項(xiàng)目的順利進(jìn)行。3.軟件設(shè)計(jì)這個(gè)階段主要是根據(jù)需求分析的結(jié)果對(duì)整個(gè)軟件系統(tǒng)進(jìn)行設(shè)計(jì),比如系統(tǒng)框架設(shè)計(jì),數(shù)據(jù)庫(kù)設(shè)計(jì)等等。軟件設(shè)計(jì)一般分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。好的軟件設(shè)計(jì)會(huì)為軟件編程打下良好的基礎(chǔ)。4.程序編碼這個(gè)階段是將軟件設(shè)計(jì)的結(jié)果轉(zhuǎn)換成計(jì)算機(jī)可執(zhí)行的程序代碼。在程序編碼中,需要制定統(tǒng)一的、標(biāo)準(zhǔn)的編寫規(guī)范。保證程序的可讀性和可維護(hù)性,提高程序的運(yùn)行效率。5.柔軟之后