• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      軟件工程化開發(fā)分析

      2017-07-19 14:05:53陳珺
      卷宗 2017年13期
      關(guān)鍵詞:軟件工程開發(fā)模型

      陳珺

      摘 要:本文分析了軟件工程化開發(fā),介紹了軟件工程概論,軟件開發(fā)模型等內(nèi)容。

      關(guān)鍵詞:軟件工程;開發(fā);模型

      經(jīng)過幾十年的實(shí)踐與探索,軟件工程正在逐步發(fā)展成為一門成熟的專業(yè)學(xué)科,在軟件產(chǎn)業(yè)的發(fā)展中起到重要的技術(shù)保障和促進(jìn)作用。本章論述軟件工程的基礎(chǔ)理論,包括軟件開發(fā)模型、軟件開發(fā)方法、軟件開發(fā)工具與環(huán)境以及軟件項(xiàng)目管理等幾個(gè)主要方面。

      1 軟件工程概論

      1968 年在德國(guó)召開的NATO 會(huì)議上,首次提出了“軟件工程”一詞,希望用工程化的原則和方法來(lái)克服軟件危機(jī)。在此以后,人們開展了軟件開發(fā)模型、開發(fā)方法、工具與環(huán)境、軟件項(xiàng)目管理的研究,提出了瀑布模型、演化模型、螺旋模型、噴泉模型等開發(fā)模型,出現(xiàn)了結(jié)構(gòu)化方法、面向數(shù)據(jù)結(jié)構(gòu)方法、原型化方法、面向?qū)ο蠓椒ǖ乳_發(fā)方法,一批CASE(ComputerAided Software Engineering,計(jì)算機(jī)輔助軟件工程) 工具和環(huán)境,以及一些成功的軟件項(xiàng)目管理方法。

      1.1 軟件工程概念

      軟件工程是用工程、科學(xué)和數(shù)學(xué)的原則與方法研制、維護(hù)計(jì)算機(jī)軟件的有關(guān)技術(shù)及管理方法。它由方法、工具和過程三部分組成。近年來(lái),人們又將用于開發(fā)軟件的軟、硬件工具和軟件工程數(shù)據(jù)庫(kù)集成在一起,建立集成化的計(jì)算機(jī)輔助軟件工程(CASE)環(huán)境。軟件工程中的過程貫穿于軟件開發(fā)的各個(gè)環(huán)節(jié)。管理者在軟件工程過程中,要對(duì)軟件開發(fā)的質(zhì)量、進(jìn)度、成本進(jìn)行評(píng)估、管理和控制,包括人員組織、計(jì)劃跟蹤與控制、成本估算、質(zhì)量保證、配置管理等。軟件工程的方法、工具、過程構(gòu)成了軟件工程的三要素。

      軟件工程的目標(biāo)是:在給定成本、進(jìn)度的前提下,開發(fā)出具有可修改性、有效性、可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性并滿足用戶需求的軟件產(chǎn)品。

      追求這些目標(biāo)有助于提高軟件產(chǎn)品的質(zhì)量和開發(fā)效率,減少維護(hù)的困難,最終獲得項(xiàng)目的成功。成功的軟件開發(fā)應(yīng)該達(dá)到以下幾個(gè)主要目標(biāo):①付出較低的開發(fā)成本;②達(dá)到要求的軟件功能;③取得較好的軟件性能;④開發(fā)的軟件易于移植;⑤需要較低的維護(hù)費(fèi)用;⑥能按時(shí)完成開發(fā)工作,及時(shí)交付使用。

      在實(shí)際的系統(tǒng)開發(fā)中,軟件工程的幾個(gè)目標(biāo)都達(dá)到理想的程度往往是非常困難的,有些目標(biāo)存在著互補(bǔ)關(guān)系,而有一些目標(biāo)可能是互相沖突的。為了開發(fā)高質(zhì)量的軟件產(chǎn)品并便于維護(hù),人們提出了圍繞工程設(shè)計(jì)、工程支持以及工程管理的4條基本原則,以幫助開發(fā)人員利用這些技術(shù)和經(jīng)驗(yàn)來(lái)生產(chǎn)和維護(hù)高質(zhì)量的軟件:

      (1) 選取適宜的開發(fā)模型。在系統(tǒng)設(shè)計(jì)中,軟件需求、硬件需求以及其他因素是相互制約和相互影響的,經(jīng)常需要權(quán)衡。因此,必須認(rèn)識(shí)需求定義的易變性,并采取變性,并采取適當(dāng)?shù)拇胧┯枰钥刂?,以保證軟件產(chǎn)品能夠滿足用戶的要求。

      (2) 采用合適的設(shè)計(jì)方法。在軟件設(shè)計(jì)中,通常要遵循軟件的模塊化、抽象化、信息隱蔽、局部化、一致性以及適應(yīng)性等原則。選擇合適的設(shè)計(jì)方法有助于這些特性的實(shí)現(xiàn),以達(dá)到軟件工程的目標(biāo)。

      (3) 提供高質(zhì)量的工程支撐。在軟件工程中,軟件工具與環(huán)境對(duì)軟件工程的支持非常重要。軟件項(xiàng)目的質(zhì)量與開銷直接取決于對(duì)軟件工程所提供的支撐質(zhì)量和效用。

      1.2 軟件工程的發(fā)展

      自1968年NATO 會(huì)議上提出軟件工程這一概念以來(lái),人們一直在尋求更先進(jìn)的軟件開發(fā)方法和技術(shù)。每當(dāng)出現(xiàn)一種先進(jìn)的方法和技術(shù)時(shí),就會(huì)使軟件危機(jī)得到一定程度的緩解,然而這種進(jìn)步又促使人們把更多、更復(fù)雜的問題交給計(jì)算機(jī)去解決,于是又需要探索更先進(jìn)的方法和技術(shù)。幾十年來(lái),軟件工程研究的范圍和內(nèi)容也隨著軟件技術(shù)的發(fā)展不斷變化和拓展。軟件工程的發(fā)展可分為3 個(gè)階段。

      第一階段:20 世紀(jì)70 年代,為了解決軟件項(xiàng)目失敗率高、錯(cuò)誤率高以及軟件維護(hù)任務(wù)重等問題,人們提出軟件生產(chǎn)工程化的思想,希望使軟件生產(chǎn)走上正規(guī)化的道路,并努力克服軟件危機(jī)?;拘纬闪塑浖こ痰母拍睢⒖蚣?、方法和手段,成為軟件工程的第一代――傳統(tǒng)軟件工程時(shí)代。

      第二階段:20 世紀(jì)80 年代,面向?qū)ο蟮姆椒ㄅc技術(shù)受到廣泛的重視,Smalltalk-80 的出現(xiàn)標(biāo)志著面向?qū)ο蟮某绦蛟O(shè)計(jì)進(jìn)入實(shí)用和成熟階段。軟件生產(chǎn)開始進(jìn)入以過程為中心的第二階段。在這個(gè)時(shí)期人們認(rèn)識(shí)到,應(yīng)從軟件生存周期的總費(fèi)用及總價(jià)值來(lái)決定軟件開發(fā)方案。在重視發(fā)展軟件開發(fā)技術(shù)的同時(shí),人們提出軟件能力成熟度模型、個(gè)體軟件過程和群組軟件過程等概念。在軟件定量研究方面提出了軟件工作量估計(jì)COCOMO 模型等。軟件開發(fā)過程從目標(biāo)管理轉(zhuǎn)向過程管理,形成了軟件工程的第二代――過程軟件工程時(shí)代。

      第三階段:進(jìn)入20 世紀(jì)90 年代以后,軟件開發(fā)技術(shù)的主要處理對(duì)象為網(wǎng)絡(luò)計(jì)算和支持多媒體信息的WWW。這一時(shí)期軟件工程的目的在于不僅提高個(gè)人生產(chǎn)率,而且通過支持跨地區(qū)、跨部門、跨時(shí)空的群組共享信息,協(xié)同工作來(lái)提高群組、集團(tuán)的整體生產(chǎn)效率。因整體性軟件系統(tǒng)難以更改、難以適應(yīng)變化,所以提倡基于部件(構(gòu)件)的開發(fā)方法――即部件互連及集成。軟件復(fù)用和軟件構(gòu)件技術(shù)正逐步成為主流軟件技術(shù),軟件工程也由此進(jìn)入了一個(gè)新的發(fā)展階段——構(gòu)件軟件工程時(shí)代。

      2 軟件開發(fā)模型

      在整個(gè)軟件開發(fā)過程中,為了從宏觀上管理軟件的開發(fā)和維護(hù),就必須對(duì)軟件的開發(fā)過程有總體的認(rèn)識(shí)和描述,即要建立軟件開發(fā)模型。軟件開發(fā)模型是軟件開發(fā)全部過程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。模型能夠清晰、直觀地表達(dá)軟件開發(fā)的全過程,明確規(guī)定了要完成的主要活動(dòng)和任務(wù),是軟件項(xiàng)目工作的基礎(chǔ)。常見的軟件開發(fā)模型有瀑布模型、演化模型、螺旋模型、噴泉模型等。

      2.1 軟件生存周期

      如同人的一生要經(jīng)歷嬰兒期、少年期、青年期、老年期直至死亡這樣一個(gè)全過程一樣,任何一個(gè)軟件產(chǎn)品或軟件系統(tǒng)也都要經(jīng)歷軟件定義、軟件開發(fā)、軟件維護(hù)直至被淘汰這樣一個(gè)全過程,我們把軟件的這一全過程稱為軟件生存周期。軟件定義、軟件開發(fā)、軟件維護(hù)等階段還可分別分成若干個(gè)階段,每個(gè)階段相對(duì)獨(dú)立又彼此有聯(lián)系。上一階段的工作結(jié)果是下一階段工作的依據(jù),下一階段是上一階段的進(jìn)化,它更接近于問題的解。項(xiàng)目定義階段主要解決的問題是待開發(fā)的軟件要“做什么”,也就是要確定軟件的處理對(duì)象、軟件與外界的接口、軟件的功能和性能、軟件界面以及有關(guān)的約束和限制。目前,軟件生存周期各階段的劃分尚不統(tǒng)一,有的分得粗些,有的分得細(xì)些。在許多場(chǎng)合,軟件開發(fā)階段都是從需求分析階段開始的。本文也將需求分析看作為軟件開發(fā)的一個(gè)階段。

      2.2 瀑布模型

      瀑布模型將軟件生存周期中的各個(gè)軟件工程活動(dòng)自上而下進(jìn)行排列,各個(gè)活動(dòng)之間相互銜接,次序固定,構(gòu)成如同瀑布流水、逐級(jí)下落的結(jié)構(gòu)框架,每個(gè)階段任務(wù)完成后都要提交相應(yīng)的文檔資料,進(jìn)行評(píng)審和復(fù)審,審查通過后再進(jìn)入到下一個(gè)階段的工作,逐步完成各階段的開發(fā)任務(wù)。其中前兩個(gè)階段可稱為軟件的定義時(shí)期,中間的幾個(gè)階段稱為軟件的開發(fā)時(shí)期,最后的一個(gè)階段稱為維護(hù)時(shí)期。瀑布模型的優(yōu)點(diǎn)主要是簡(jiǎn)單、便于分工協(xié)作、降低開發(fā)難度、開發(fā)成功率高、保證質(zhì)量等。

      2.3 演化模型

      演化模型是針對(duì)瀑布模型的缺點(diǎn)而提出的。大量的軟件開發(fā)實(shí)踐表明,許多開發(fā)項(xiàng)目在開始時(shí)對(duì)軟件需求的認(rèn)識(shí)是模糊的,因此很難一次開發(fā)成功。為了減少因?qū)浖枨蟮牧私獠粔虼_切而給開發(fā)工作帶來(lái)的風(fēng)險(xiǎn),可以在獲取了一組基本的需求后,通過快速分析構(gòu)造出該軟件的一個(gè)初始可運(yùn)行版本,這個(gè)初始的軟件通常稱之為原型,然后根據(jù)用戶在試用原型的過程中提出的意見和建議對(duì)原型進(jìn)行改進(jìn),獲得原型的新版本。重復(fù)這一過程,最終可得到令用戶滿意的軟件產(chǎn)品。采用演化模型的開發(fā)過程,實(shí)際上就是從初始的原型逐步演化成最終軟件產(chǎn)品的過程。演化模型特別適用于對(duì)軟件需求缺乏準(zhǔn)確認(rèn)識(shí)的情況。采用原型模型進(jìn)行軟件開發(fā)需要有快速建立原型模型的軟件工具與環(huán)境。

      猜你喜歡
      軟件工程開發(fā)模型
      一半模型
      重要模型『一線三等角』
      重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
      依托工作室的軟件工程實(shí)踐教學(xué)研究
      河南方言文化資源的保護(hù)及其開發(fā)利用的研究
      基于工程教育認(rèn)證的《軟件工程》課程教學(xué)質(zhì)量建設(shè)研究 
      3D打印中的模型分割與打包
      遵義紅色旅游開發(fā)對(duì)策研究
      關(guān)于提高軟件工程實(shí)踐教學(xué)質(zhì)量的幾點(diǎn)思考
      基于J2EE和Ionic的ITer學(xué)習(xí)APP設(shè)計(jì)與開發(fā)
      腾冲县| 广昌县| 资讯 | 新河县| 石柱| 黄龙县| 长乐市| 丁青县| 达拉特旗| 尼木县| 梨树县| 丹江口市| 乌拉特中旗| 绿春县| 内丘县| 渝中区| 阿勒泰市| 张北县| 连城县| 花垣县| 洛川县| 图木舒克市| 大庆市| 望奎县| 南京市| 巴林右旗| 繁昌县| 建阳市| 闽侯县| 隆子县| 玛曲县| 砚山县| 晋宁县| 甘肃省| 敦煌市| 来宾市| 高密市| 土默特右旗| 兴和县| 图木舒克市| 云林县|