如何做好應(yīng)用軟件開(kāi)發(fā)?(如何做好應(yīng)用軟件開(kāi)發(fā)工作)
如何做好應(yīng)用軟件開(kāi)發(fā)?應(yīng)用軟件是指用于商業(yè),生活方面的軟件開(kāi)發(fā),其特點(diǎn)是對(duì)于技術(shù)要求低于軟件實(shí)用價(jià)值,強(qiáng)調(diào)軟件的應(yīng)用性和可用性,強(qiáng)調(diào)用戶(hù)體驗(yàn),做引用軟件開(kāi)發(fā)的公司很多,應(yīng)用軟件類(lèi)型也很多,但是大部分軟件功能完善,交付用戶(hù)后無(wú)法使用或不能完全滿(mǎn)足用戶(hù)使用,據(jù)行業(yè)數(shù)據(jù)統(tǒng)計(jì),應(yīng)用軟件開(kāi)發(fā)成功率只有40%,那么如何做好應(yīng)用軟件開(kāi)發(fā),提高開(kāi)發(fā)成功率呢
一、技術(shù)方面選擇適當(dāng)?shù)?span id="3r3rrrr" class="candidate-entity-word" data-gid="1079938">軟件開(kāi)發(fā)方法
在軟件開(kāi)發(fā)的過(guò)程中,軟件開(kāi)發(fā)方法是關(guān)系到軟件開(kāi)發(fā)成敗的重要因素。 軟件開(kāi)發(fā)方法就是軟件開(kāi)發(fā)所遵循的辦法和步驟,以保證所得到的運(yùn)行系統(tǒng)和支持的文檔滿(mǎn)足質(zhì)量要求。在軟件開(kāi)發(fā)實(shí)踐中,有很多方法可供軟件開(kāi)發(fā)人員選擇。軟件開(kāi)發(fā)方法介紹如下
- 1 結(jié)構(gòu)化開(kāi)發(fā)方法
結(jié)構(gòu)指系統(tǒng)內(nèi)各組成要素之間的相互聯(lián)系、相互作用的框架。結(jié)構(gòu)化開(kāi)發(fā)方法強(qiáng)調(diào)系統(tǒng)結(jié)構(gòu)的合理性以及所開(kāi)發(fā)的軟件的結(jié)構(gòu)的合理性,主要是面向數(shù)據(jù)流的,因此也被稱(chēng)為面向功能的軟件開(kāi)發(fā)方法或面向數(shù)據(jù)流的軟件開(kāi)發(fā)方法。結(jié)構(gòu)化技術(shù)包括結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)和結(jié)構(gòu)化程序設(shè)計(jì)三方面內(nèi)容。
- 2 結(jié)構(gòu)化分析的步驟
結(jié)構(gòu)化分析是一種模型的確立活動(dòng),就是使用獨(dú)有的符號(hào),來(lái)確立描繪信息(數(shù)據(jù)和控制)流和內(nèi)容的模型,劃分系統(tǒng)的功能和行為,以及其他為確立模型不可缺少的描述。其基本步驟是:(1)構(gòu)造數(shù)據(jù)流模型:根據(jù)用戶(hù)當(dāng)前需求,在創(chuàng)建實(shí)體—關(guān)系圖的基礎(chǔ)上,依據(jù)數(shù)據(jù)流圖構(gòu)造數(shù)據(jù)流模型。(2)構(gòu)建控制流模型:一些應(yīng)用系統(tǒng)除了要求用數(shù)據(jù)流建模外,通過(guò)構(gòu)造控制流圖(CFD),構(gòu)建控制流模型。(3)生成數(shù)據(jù)字典:對(duì)所有數(shù)據(jù)元素的輸入、輸出、存儲(chǔ)結(jié)構(gòu),甚至是中間計(jì)算結(jié)果進(jìn)行有組織的列表。目前一般采用CASE的“結(jié)構(gòu)化分析和設(shè)計(jì)工具”來(lái)完成。(4)生成可選方案,建立需求規(guī)約:確定各種方案的成本和風(fēng)險(xiǎn)等級(jí),據(jù)此對(duì)各種方案進(jìn)行分析,然后從中選擇一種方案,建立完整的需求規(guī)約。
- 3 結(jié)構(gòu)化設(shè)計(jì)步驟
結(jié)構(gòu)化設(shè)計(jì)是采用最佳的可能方法設(shè)計(jì)系統(tǒng)的各個(gè)組成部分以及各成分之間的內(nèi)部聯(lián)系的技術(shù),目的在于提出滿(mǎn)足系統(tǒng)需求的最佳軟件的結(jié)構(gòu),完成軟件層次圖或軟件結(jié)構(gòu)圖。其基本步驟如下: (1)研究、分析和審查數(shù)據(jù)流圖。從軟件的需求規(guī)格說(shuō)明中弄清數(shù)據(jù)流加工的過(guò)程。(2)然后根據(jù)數(shù)據(jù)流圖決定問(wèn)題的類(lèi)型。數(shù)據(jù)處理問(wèn)題有兩種典型的類(lèi)型:變換型和事務(wù)型。針對(duì)兩種不同的類(lèi)型分別進(jìn)行分析處理。(3)由數(shù)據(jù)流圖推導(dǎo)出系統(tǒng)的初始結(jié)構(gòu)圖。也就是把數(shù)據(jù)流圖映射到軟件模塊結(jié)構(gòu),設(shè)計(jì)出模塊結(jié)構(gòu)的上層。(4)利用一些試探性原則來(lái)改進(jìn)系統(tǒng)的初始結(jié)構(gòu)圖,直到得到符合要求的結(jié)構(gòu)圖為止。即在數(shù)據(jù)流圖的基礎(chǔ)上逐步分解高層模塊,設(shè)計(jì)中下層模塊,并對(duì)軟件模塊結(jié)構(gòu)進(jìn)行優(yōu)化,最終得到更為合理的軟件結(jié)構(gòu)。(5)描述模塊接口。(6)修改和補(bǔ)充數(shù)據(jù)詞典。(6)制定測(cè)試計(jì)劃。結(jié)構(gòu)化設(shè)計(jì)可以將用數(shù)據(jù)流圖表示的信息轉(zhuǎn)換成程序結(jié)構(gòu)的設(shè)計(jì)描述。
- 4 模塊化開(kāi)發(fā)方法
模塊化程序設(shè)計(jì)方法就是把一個(gè)待開(kāi)發(fā)的軟件系統(tǒng)分解成若干可單獨(dú)命名和編址的較為簡(jiǎn)單的部分,這些可單獨(dú)命名和編址的部分稱(chēng)為模塊。每個(gè)模塊分別獨(dú)立地開(kāi)發(fā)、測(cè)試,最后再組裝出整個(gè)軟件系統(tǒng)。這種方法不僅可以將軟件系統(tǒng)開(kāi)發(fā)的復(fù)雜性在分解過(guò)程中降低,便于修改、維護(hù),而且還容易實(shí)現(xiàn)同一個(gè)系統(tǒng)不同部分的并行開(kāi)發(fā),從而提高了軟件的生產(chǎn)效率。一般,將用一個(gè)名字就可調(diào)用的一段程序稱(chēng)為“模塊”。在考慮模塊化時(shí),將模塊定義為多大較合適,模塊設(shè)計(jì)規(guī)則應(yīng)如何制定成為關(guān)鍵,下面五條標(biāo)準(zhǔn)可供參考:(1)模塊可分解性:如果一種設(shè)計(jì)方法提供了將問(wèn)題分解成子問(wèn)題的系統(tǒng)化機(jī)制,它就能降低整個(gè)系統(tǒng)的復(fù)雜性,從而實(shí)現(xiàn)一種有效的模塊化解決方案。(2)模塊可組裝性:如果一種設(shè)計(jì)方法使現(xiàn)存的設(shè)計(jì)模塊能夠被組裝成新系統(tǒng),它就能提供一種不用一切從頭開(kāi)始的模塊化解決方案。(3)模塊可理解性:如果一個(gè)模塊可以作為一個(gè)獨(dú)立的單位被理解,那么它就易于構(gòu)造和修改。(4)模塊連續(xù)性:如果對(duì)系統(tǒng)需求的微小修改只導(dǎo)致對(duì)單個(gè)模塊而不是對(duì)整個(gè)系統(tǒng)的修改,則修改引起的副作用就會(huì)被最小化。一般來(lái)說(shuō),對(duì)模塊采用耦合和內(nèi)聚兩個(gè)準(zhǔn)則進(jìn)行度量。如模塊內(nèi)部具有高內(nèi)聚和模塊間低耦合,那這樣的模塊就具有獨(dú)立性,模塊設(shè)計(jì)得比較好。
- 5 面向?qū)ο箝_(kāi)發(fā)方法
面向?qū)ο箝_(kāi)發(fā)方法是以面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言作為基礎(chǔ)的,其核心思想是利用面向?qū)ο蟮母拍詈头椒檐浖枨蠼⒛P?進(jìn)行系統(tǒng)設(shè)計(jì),采用面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言進(jìn)行系統(tǒng)實(shí)現(xiàn),對(duì)建成的系統(tǒng)進(jìn)行面向?qū)ο蟮臏y(cè)試和維護(hù)。如果一個(gè)軟件系統(tǒng)是使用這樣4個(gè)概念設(shè)計(jì)和實(shí)現(xiàn)的,則可以認(rèn)為這個(gè)軟件系統(tǒng)是面向?qū)ο蟮?。其基本要點(diǎn)可以概括為:(1)數(shù)據(jù)的抽象,即類(lèi)與子類(lèi)的概念及相互關(guān)系。任何客觀的事物和實(shí)體都是對(duì)象,復(fù)雜對(duì)象可以由簡(jiǎn)單對(duì)象組成。(2)數(shù)據(jù)及對(duì)它的操作的一體化,即封裝的概念和方法。具有相同數(shù)據(jù)和操作的對(duì)象可歸并為一個(gè)類(lèi),具有封裝性,形成一個(gè)包裝;對(duì)象是類(lèi)的一個(gè)實(shí)例;一個(gè)類(lèi)可以產(chǎn)生很多對(duì)象。(3)屬性與操作由父類(lèi)向子類(lèi)傳遞,即繼承的概念與方法。類(lèi)可以派生出子類(lèi),繼承能避免共同行為的重復(fù)。(4)客觀事物之間的相互關(guān)系用統(tǒng)一的、消息傳遞的方法來(lái)描述。目前廣泛使用的面向?qū)ο箝_(kāi)發(fā)方法包括Booch方法、Rumbaugh方法、Coad和Yourdon方法、Jacobson方法、Wirfs-Brock方法和統(tǒng)一建模方法等。
軟件開(kāi)發(fā)方法有很多種,在實(shí)際軟件開(kāi)發(fā)中,就涉及到選擇適宜的開(kāi)發(fā)方法的問(wèn)題,具體選擇時(shí)應(yīng)綜合考慮以下方面因素:(1) 開(kāi)發(fā)人員的基本素質(zhì)及經(jīng)驗(yàn)閱歷。主要看軟件開(kāi)發(fā)人員是否對(duì)該方法有經(jīng)驗(yàn)或受過(guò)專(zhuān)門(mén)訓(xùn)練。(2) 項(xiàng)目進(jìn)度安排及人員組成情況。要根據(jù)開(kāi)發(fā)項(xiàng)目的時(shí)間限度、人員配備進(jìn)行選擇。(3) 現(xiàn)有資源狀況??疾楝F(xiàn)有的軟硬件環(huán)境及可使用的CASE工具等。(4) 進(jìn)行可行性研究。從計(jì)劃、組織、管理各個(gè)環(huán)節(jié)綜合考慮。選擇軟件開(kāi)發(fā)方法后,還涉及對(duì)所選的開(kāi)發(fā)方法進(jìn)行評(píng)價(jià)。一般說(shuō)來(lái),可以從以下四個(gè)方面來(lái)進(jìn)行評(píng)價(jià):(1) 技術(shù)特征:支持各種技術(shù)概念的方法特色。(2) 使用特征:具體開(kāi)發(fā)時(shí)的有關(guān)特色。(3) 管理特征:增強(qiáng)軟件開(kāi)發(fā)活動(dòng)管理能力方面的特色。(4) 經(jīng)濟(jì)特征:使開(kāi)發(fā)部門(mén)的生產(chǎn)力和軟件質(zhì)量得到提高,產(chǎn)生經(jīng)濟(jì)效益的有關(guān)特色。
二.做好需求調(diào)研工作
需求調(diào)研可以說(shuō)是軟開(kāi)發(fā)過(guò)程中最重要的環(huán)節(jié),有效的需求調(diào)研非常重要,大部分開(kāi)發(fā)團(tuán)隊(duì)將需求調(diào)研工作看做是一種走過(guò)場(chǎng),或者不能認(rèn)真對(duì)待,需求調(diào)研的核心是掌握用戶(hù)核心關(guān)注點(diǎn),理清整體業(yè)務(wù)邏輯,列出軟件開(kāi)發(fā)的難度并進(jìn)行驗(yàn)證
需求分析原則:
- 完整性原則:需求的全覆蓋,包括組織機(jī)構(gòu)及用戶(hù)分析、功能需求、性能需求、接口及集成等;
- 正確可行性原則:正確性和可行性:保證需求和業(yè)務(wù)人員的目標(biāo)相聯(lián)系,使用用戶(hù)語(yǔ)言和需求模型正確表達(dá)用戶(hù)需求,同時(shí)保證在現(xiàn)有開(kāi)發(fā)能力和系統(tǒng)環(huán)境下需求的可實(shí)現(xiàn);
- 優(yōu)先級(jí)確定:需求的必要性:功能是否必須,優(yōu)先級(jí)和重要程度怎樣,是否能被推進(jìn)或被削減;
- 簡(jiǎn)明性:簡(jiǎn)明清晰:使用業(yè)務(wù)術(shù)語(yǔ)或縮略語(yǔ),表達(dá)清晰明了;
- 可測(cè)試:可檢測(cè)和可跟蹤:可根據(jù)需求設(shè)計(jì)測(cè)試目標(biāo)和測(cè)試進(jìn)度,可跟蹤需求缺陷。
需求調(diào)研途徑:
- 訪談和調(diào)查表:輸出訪談?dòng)涗浐驼{(diào)查報(bào)告
- 引導(dǎo)啟發(fā):在了解用戶(hù)組織架構(gòu)、業(yè)務(wù)流程、軟硬件環(huán)境、現(xiàn)有系統(tǒng)等的基礎(chǔ)上,結(jié)合demo原型系統(tǒng),引導(dǎo)用戶(hù),挖掘用戶(hù)需求 輸出:分析報(bào)告、原型反饋
- 確認(rèn):在掌握細(xì)化流程、詳細(xì)數(shù)據(jù)的基礎(chǔ)上,確認(rèn)簽字 輸出:需求分析文檔
需求分析的注意事項(xiàng):
- 與客戶(hù)搞好關(guān)系;
- 統(tǒng)一的溝通渠道和溝通流程;
- 需求審批及變更審批
- 了解用戶(hù)分類(lèi)和用戶(hù)操作習(xí)慣
三、組建可靠地團(tuán)隊(duì)和做好項(xiàng)目管理
軟件開(kāi)發(fā)是由人來(lái)做的,最終決定質(zhì)量的因素還是人的因素,后期開(kāi)發(fā)重點(diǎn)注意事項(xiàng)是團(tuán)隊(duì)人員的選擇和項(xiàng)目管理
選擇開(kāi)發(fā)團(tuán)隊(duì)注意事項(xiàng)
- 選擇有開(kāi)發(fā)經(jīng)驗(yàn)的開(kāi)發(fā)人員,主要是技術(shù)方面做過(guò)類(lèi)似的模塊或功能,技術(shù)實(shí)力較好
- 選擇負(fù)責(zé)人的開(kāi)發(fā)人員,認(rèn)真,做事負(fù)責(zé)很重要
- 選擇團(tuán)隊(duì)精神強(qiáng)的開(kāi)發(fā)人員,軟件開(kāi)發(fā)是團(tuán)隊(duì)作業(yè),能夠很好的協(xié)作作業(yè)非常重要
做好項(xiàng)目管理
- 制定合理的項(xiàng)目開(kāi)發(fā)計(jì)劃,重點(diǎn)是合理性,如時(shí)間合理性,開(kāi)發(fā)人員合理性
- 明確團(tuán)隊(duì)工作任務(wù),責(zé)任到人,團(tuán)隊(duì)間每個(gè)人的工作任務(wù)必須明確化
- 做好核心業(yè)務(wù),難點(diǎn)技術(shù)的公關(guān),抓好重點(diǎn),對(duì)于難點(diǎn)技術(shù)技術(shù)負(fù)責(zé)人要提前驗(yàn)證寫(xiě)出demo,對(duì)于核心業(yè)務(wù)流程要集中開(kāi)發(fā)
文章來(lái)源:https://www.ixiera.com/web/kehu/rjkfgl/215.html
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。