而且互相關(guān)聯(lián)并且難以解決,甚至有些是系統(tǒng)設(shè)計(jì)的問(wèn)題,這時(shí)才發(fā)現(xiàn)好多模塊要推倒重來(lái),18個(gè)月完成計(jì)劃變成了天方夜譚。雖然上面只是一個(gè)虛擬的例子,但在實(shí)際中這種情況比比皆是。問(wèn)題的關(guān)鍵就在于軟件開(kāi)發(fā)的歷史數(shù)據(jù)是反映軟件開(kāi)發(fā)隊(duì)伍的能力的標(biāo)尺,沒(méi)有了這個(gè)標(biāo)尺,就無(wú)法對(duì)軟件的開(kāi)發(fā)過(guò)程有一個(gè)清醒的認(rèn)識(shí)。錯(cuò)誤2:不重視使用軟件費(fèi)用估值工具軟件和計(jì)劃工具軟件軟件開(kāi)發(fā)方法述評(píng)60年代中期開(kāi)始爆發(fā)了眾所周知的軟件危機(jī)。為了克服這一危機(jī),在1968、1969年連續(xù)召開(kāi)的兩次***的NATO會(huì)議上提出了軟件工程這一術(shù)語(yǔ),并在以后不斷發(fā)展、完善。與此同時(shí),軟件研究人員也在不斷探索新的軟件開(kāi)發(fā)方法。至今已形成八類(lèi)軟件開(kāi)發(fā)方法。一、Parnas方法**早的軟件開(kāi)發(fā)方法是由D.Parnas在1972年提出的。由于當(dāng)時(shí)軟件在可維護(hù)性和可靠性方面存在著嚴(yán)重問(wèn)題,因此Parnas提出的方法是針對(duì)這兩個(gè)問(wèn)題的。首先,Parnas提出了信息隱蔽原則:在概要設(shè)計(jì)時(shí)列出將來(lái)可能發(fā)生變化的因素,并在模塊劃分時(shí)將這些因素放到個(gè)別模塊的內(nèi)部。這樣,在將來(lái)由于這些因素變化而需修改軟件時(shí),只需修改這些個(gè)別的模塊,其它模塊不受影響。信息隱蔽技術(shù)不*提高了軟件的可維護(hù)性,而且也避免了錯(cuò)誤的蔓延??扇〉玫男б婧烷_(kāi)發(fā)進(jìn)度作出估計(jì),制訂完成開(kāi)發(fā)任務(wù)的實(shí)施計(jì)劃。嵩明第三方軟件開(kāi)發(fā)直銷(xiāo)價(jià)
人們幾乎需要著手解決研制階段所遇到的各種問(wèn)題,同時(shí)還要解決某些維護(hù)工作本身特有的問(wèn)題。做好軟件維護(hù)工作,不僅能排除障礙,使軟件能正常工作,而且還可以使它擴(kuò)展功能,提高性能,為用戶(hù)帶來(lái)明顯的經(jīng)濟(jì)效益。然而遺憾的是,對(duì)軟件維護(hù)工作的重視往往遠(yuǎn)不如對(duì)軟件研制工作的重視。而事實(shí)上,和軟件研制工作相比,軟件維護(hù)的工作量和成本都要大得多。在實(shí)際開(kāi)發(fā)過(guò)程中,軟件開(kāi)發(fā)并不是從***步進(jìn)行到**后一步,而是在任何階段,在進(jìn)入下一階段前一般都有一步或幾步的回溯。在測(cè)試過(guò)程中的問(wèn)題可能要求修改設(shè)計(jì),用戶(hù)可能會(huì)提出一些需要來(lái)修改需求說(shuō)明書(shū)等。軟件開(kāi)發(fā)設(shè)施需求編輯軟件開(kāi)發(fā)1開(kāi)發(fā)平臺(tái)軟件開(kāi)發(fā)平臺(tái)源于繁瑣的實(shí)踐開(kāi)發(fā)過(guò)程中。開(kāi)發(fā)人員在實(shí)踐中將常用的函數(shù)、類(lèi)、抽象、接口等進(jìn)行總結(jié)、封裝,成為了可以重復(fù)使用的“中間件”,而隨著“中間件”的成熟和通用,功能更強(qiáng)大、更能滿足企業(yè)級(jí)客戶(hù)需求的——軟件開(kāi)發(fā)平臺(tái)應(yīng)運(yùn)而生。[1]平臺(tái)是一段時(shí)間內(nèi)科研成果的匯聚,也是階段性平臺(tái)期的標(biāo)志,為行業(yè)進(jìn)入新的研發(fā)領(lǐng)域提供了基礎(chǔ)。由于平臺(tái)對(duì)企業(yè)**競(jìng)爭(zhēng)力的提升非常明顯,國(guó)內(nèi)的管理軟件市場(chǎng),軟件開(kāi)發(fā)平臺(tái)的應(yīng)用已經(jīng)成為一種趨勢(shì)。嵩明創(chuàng)新軟件開(kāi)發(fā)廠家價(jià)格軟件開(kāi)發(fā)是一項(xiàng)包括需求捕捉、需求分析、設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試的系統(tǒng)工程。
**提高了軟件的成功率。但是它要求軟件開(kāi)發(fā)人員能迅速生成這些原型,這就要求有自動(dòng)生成代碼的工具的支持。OMT徹底解決了這一問(wèn)題。因?yàn)樾枨蠓治鲞^(guò)程已與系統(tǒng)模型的形成過(guò)程一致,開(kāi)發(fā)人員與用戶(hù)的討論是從用戶(hù)熟悉的具體實(shí)例(實(shí)體)開(kāi)始的。開(kāi)發(fā)人員必須搞清現(xiàn)實(shí)系統(tǒng)才能導(dǎo)出系統(tǒng)模型,這就使用戶(hù)與開(kāi)發(fā)人員之間有了共同的語(yǔ)言,避免了傳統(tǒng)需求分析中可能產(chǎn)生的種種問(wèn)題??删S護(hù)性**改善在OMT之前的軟件開(kāi)發(fā)方法都是基于功能分解的。盡管軟件工程學(xué)在可維護(hù)方面作出了極大的努力,使軟件的可維護(hù)性有較大的改進(jìn)。但從本質(zhì)上講,基于功能分解的軟件是不易維護(hù)的。因?yàn)楣δ芤坏┯凶兓紩?huì)使開(kāi)發(fā)的軟件系統(tǒng)產(chǎn)生較大的變化,甚至推倒重來(lái)。更嚴(yán)重的是,在這種軟件系統(tǒng)中,修改是困難的。由于種種原因,即使是微小的修改也可能引入新的錯(cuò)誤。所以傳統(tǒng)開(kāi)發(fā)方法很可能會(huì)引起軟件成本增長(zhǎng)失控、軟件質(zhì)量得不到保證等一系列嚴(yán)重問(wèn)題。正是OMT才使軟件的可維護(hù)性有了質(zhì)的改善。OMT的基礎(chǔ)是目標(biāo)系統(tǒng)的對(duì)象模型,而不是功能的分解。功能是對(duì)象的使用,它依賴(lài)于應(yīng)用的細(xì)節(jié),并在開(kāi)發(fā)過(guò)程中不斷變化。由于對(duì)象是客觀存在的,因此當(dāng)需求變化時(shí)對(duì)象的性質(zhì)要比對(duì)象的使用更為穩(wěn)定。
從而使建立在對(duì)象結(jié)構(gòu)上的軟件系統(tǒng)也更為穩(wěn)定。更重要的是OMT徹底解決了軟件的可維護(hù)性。在OO語(yǔ)言中,子類(lèi)不*可以繼承父類(lèi)的屬性和行為,而且也可以重載父類(lèi)的某個(gè)行為(虛函數(shù))。利用這一特點(diǎn),我們可以方便地進(jìn)行功能修改:引入某類(lèi)的一個(gè)子類(lèi),對(duì)要修改的一些行為(即虛函數(shù)或虛方法)進(jìn)行重載,也就是對(duì)它們重新定義。由于不再在原來(lái)的程序模塊中引入修改,所以徹底解決了軟件的可修改性,從而也徹底解決了軟件的可維護(hù)性。OO技術(shù)還提高了軟件的可靠性和健壯性。六、可視化開(kāi)發(fā)方法可視化開(kāi)發(fā)是90年代軟件界**大的兩個(gè)熱點(diǎn)之一。隨著圖形用戶(hù)界面的興起,用戶(hù)界面在軟件系統(tǒng)中所占的比例也越來(lái)越大,有的甚至高達(dá)60~70%。產(chǎn)生這一問(wèn)題的原因是圖形界面元素的生成很不方便。為此Windows提供了應(yīng)用程序設(shè)計(jì)接口API(ApplicationProgrammingInterface),它包含了600多個(gè)函數(shù),極大地方便了圖形用戶(hù)界面的開(kāi)發(fā)。但是在這批函數(shù)中,大量的函數(shù)參數(shù)和使用數(shù)量更多的有關(guān)常量,使基于WindowsAPI的開(kāi)發(fā)變得相當(dāng)困難。為此BorlandC++推出了ObjectWindows編程。它將API的各部分用對(duì)象類(lèi)進(jìn)行封裝,提供了大量預(yù)定義的類(lèi),并為這些定義了許多成員函數(shù)。利用子類(lèi)對(duì)父類(lèi)的繼承性。從技術(shù)、經(jīng)濟(jì)和社會(huì)因素等3個(gè)方面研究并論證本軟件項(xiàng)目的可行性。
改善了軟件的可靠性?,F(xiàn)在信息隱蔽原則已成為軟件工程學(xué)中的一條重要原則。Parnas提出的第二條原則是在軟件設(shè)計(jì)時(shí)應(yīng)對(duì)可能發(fā)生的種種意外故障采取措施。軟件是很脆弱的,很可能因?yàn)橐粋€(gè)微小的錯(cuò)誤而引發(fā)嚴(yán)重的事故,所以必須加強(qiáng)防范。如在分配使用設(shè)備前,應(yīng)該取設(shè)備狀態(tài)字,檢查設(shè)備是否正常。此外,模塊之間也要加強(qiáng)檢查,防止錯(cuò)誤蔓延。Parnas對(duì)軟件開(kāi)發(fā)提出了深刻的見(jiàn)解。遺憾的是,他沒(méi)有給出明確的工作流程。所以這一方法不能**使用,只能作為其它方法的補(bǔ)充。二、SASA方法1978年,E.Yourdon和L.L.Constantine提出了結(jié)構(gòu)化方法,即SASD方法,也可稱(chēng)為面向功能的軟件開(kāi)發(fā)方法或面向數(shù)據(jù)流的軟件開(kāi)發(fā)方法。1979年TomDeMarco對(duì)此方法作了進(jìn)一步的完善。Yourdon方法是80年代使用*****的軟件開(kāi)發(fā)方法。它首先用結(jié)構(gòu)化分析(SA)對(duì)軟件進(jìn)行需求分析,然后用結(jié)構(gòu)化設(shè)計(jì)(SD)方法進(jìn)行總體設(shè)計(jì),**后是結(jié)構(gòu)化編程(SP)。這一方法不*開(kāi)發(fā)步驟明確,SA、SD、SP相輔相成,一氣呵成,而且給出了兩類(lèi)典型的軟件結(jié)構(gòu)(變換型和事務(wù)型),便于參照,使軟件開(kāi)發(fā)的成功率**提高,從而深受軟件開(kāi)發(fā)人員的青睞。三、面向數(shù)據(jù)結(jié)構(gòu)的軟件開(kāi)發(fā)方法Jackson方法1975年。對(duì)所要解決的問(wèn)題進(jìn)行總體定義,包括了解用戶(hù)的要求及現(xiàn)實(shí)環(huán)境。云南智能化軟件開(kāi)發(fā)
軟件一般是用某種程序設(shè)計(jì)語(yǔ)言來(lái)實(shí)現(xiàn)的。通常采用軟件開(kāi)發(fā)工具可以進(jìn)行開(kāi)發(fā)。嵩明第三方軟件開(kāi)發(fā)直銷(xiāo)價(jià)
軟件開(kāi)發(fā)3設(shè)計(jì)軟件設(shè)計(jì)可以分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)階段。實(shí)際上軟件設(shè)計(jì)的主要任務(wù)就是將軟件分解成模塊是指能實(shí)現(xiàn)某個(gè)功能的數(shù)據(jù)和程序說(shuō)明、可執(zhí)行程序的程序單元??梢允且粋€(gè)函數(shù)、過(guò)程、子程序、一段帶有程序說(shuō)明的**的程序和數(shù)據(jù),也可以是可組合、可分解和可更換的功能單元。模塊,然后進(jìn)行模塊設(shè)計(jì)。概要設(shè)計(jì)就是結(jié)構(gòu)設(shè)計(jì),其主要目標(biāo)就是給出軟件的模塊結(jié)構(gòu),用軟件結(jié)構(gòu)圖表示。詳細(xì)設(shè)計(jì)的首要任務(wù)就是設(shè)計(jì)模塊的程序流程、算法和數(shù)據(jù)結(jié)構(gòu),次要任務(wù)就是設(shè)計(jì)數(shù)據(jù)庫(kù),常用方法還是結(jié)構(gòu)化程序設(shè)計(jì)方法。軟件開(kāi)發(fā)4編碼軟件編碼是指把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序,即寫(xiě)成以某一程序設(shè)計(jì)語(yǔ)言表示的“源程序清單”。充分了解軟件開(kāi)發(fā)語(yǔ)言、工具的特性和編程風(fēng)格,有助于開(kāi)發(fā)工具的選擇以及保證軟件產(chǎn)品的開(kāi)發(fā)質(zhì)量。當(dāng)前軟件開(kāi)發(fā)中除在**場(chǎng)合,已經(jīng)很少使用二十世紀(jì)80年代的高級(jí)語(yǔ)言了,取而代之的是面向?qū)ο蟮拈_(kāi)發(fā)語(yǔ)言。而且面向?qū)ο蟮拈_(kāi)發(fā)語(yǔ)言和開(kāi)發(fā)環(huán)境大都合為一體,**提高了開(kāi)發(fā)的速度。軟件開(kāi)發(fā)5測(cè)試軟件測(cè)試的目的是以較小的代價(jià)發(fā)現(xiàn)盡可能多的錯(cuò)誤。要實(shí)現(xiàn)這個(gè)目標(biāo)的關(guān)鍵在于設(shè)計(jì)一套出色的測(cè)試用例。嵩明第三方軟件開(kāi)發(fā)直銷(xiāo)價(jià)
昆明酷通科技有限公司屬于商務(wù)服務(wù)的高新企業(yè),技術(shù)力量雄厚。公司致力于為客戶(hù)提供安全、質(zhì)量有保證的良好產(chǎn)品及服務(wù),是一家有限責(zé)任公司(自然)企業(yè)。公司始終堅(jiān)持客戶(hù)需求優(yōu)先的原則,致力于提供高質(zhì)量的軟件開(kāi)發(fā)??嵬ü?yīng)以創(chuàng)造高品質(zhì)產(chǎn)品及服務(wù)的理念,打造高指標(biāo)的服務(wù),引導(dǎo)行業(yè)的發(fā)展。