找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2360|回復(fù): 0
收起左側(cè)

軟件工程概述和過程模型介紹

[復(fù)制鏈接]
ID:108531 發(fā)表于 2016-3-12 15:55 | 顯示全部樓層 |閱讀模式
這可不好學(xué)純理論的東西哎!
1.軟件工程概述
  1.1.軟件和軟件危機(jī)
  代碼、程序、軟件是3個不同的概念。代碼:計算機(jī)上運行的機(jī)器指令。程序:數(shù)據(jù)結(jié)構(gòu)+算法。軟件:計算機(jī)系統(tǒng)中與硬件相互依存的另一部分,包括:程序、相關(guān)數(shù)據(jù)及其說明文檔。
  什么是軟件危機(jī)?
  要了解軟件危機(jī)就要了解軟件的特點,那軟件的特點有哪些呢?
  1.抽象性2.容易復(fù)制3.對硬件有依賴性4.至今未擺脫手工方式5.知識涉及面廣6.不可見性。
  由于軟件的這些特點,缺乏高效的開發(fā)方法,導(dǎo)致開發(fā)效率低,交期延遲,質(zhì)量低。這種現(xiàn)象被稱為軟件危機(jī)。
  表現(xiàn)為:1.軟件不滿足用戶需求2.開發(fā)進(jìn)度不能保障3.開發(fā)成本難以計算4.軟件質(zhì)量不能保證5.沒有相關(guān)文檔,維護(hù)性低。
  1.2.軟件工程發(fā)展簡史
  在1968年由北大西洋公約組織(NATO)正式提出軟件工程這一術(shù)語。20世紀(jì)70年代形成第一代軟件工程。80代形成第二代(對象工程)。90年代后期形成第三代(組件工程)。
  1.3.軟件工程的定義和目標(biāo)
  軟件工程的定義?
  軟件工程是:1.將系統(tǒng)化得、規(guī)范化得、可度量的方法應(yīng)用于軟件的開發(fā)、運行和維護(hù)工程,將工程化應(yīng)用于軟件開發(fā)和管理之中2.對1中所選方法的研究。
  軟件工程的目標(biāo)?
  1.滿足用戶需求2.保證軟件質(zhì)量3.提高軟件可維護(hù)性4.提高開發(fā)效率5.降低開發(fā)費用。
  1.4.軟件工程的七條基本原理
  由美國著名軟件工程專家B.W.Boehm提出。
  1.用分階段的生命周期計劃嚴(yán)格管理2.堅持進(jìn)行階段評審3.實行嚴(yán)格的產(chǎn)品控制4采用現(xiàn)代程序設(shè)計技術(shù)5.結(jié)果應(yīng)能清楚地審查6.開發(fā)小組的人員應(yīng)該少而精7.承認(rèn)不斷該井軟件工程實踐的必要性。
  1.5軟件過程模型
  什么是軟件過程?
  軟件過程是人們開發(fā)和維護(hù)軟件及相關(guān)產(chǎn)品的活動、方法、實踐和改進(jìn)的集合。比如培養(yǎng)一個運動員,需要研究一系列訓(xùn)練方法,設(shè)計一系列訓(xùn)練活動....
  軟件工程8大活動:問題定義、可行性分析、需求分析、總體設(shè)計、詳細(xì)設(shè)計、編碼、系統(tǒng)測試和運行維護(hù)。
  這8大活動的順不同就會產(chǎn)生不同的軟件生命周期模型。嚴(yán)格按照8大活動順序執(zhí)行,叫瀑布型。其他模型有:快速原型化模型、演化模型、螺旋模型。近幾年主流的軟件工程模型:敏捷軟件工程(ASP)、Rational統(tǒng)一過程(RUP)、Microsoft解決方案框架(MSF)、個體軟件過程(PSP)和小組軟件過程(TSP)。

下面詳細(xì)介紹幾種軟件過程模型
                                                                                                1.瀑布模型
  瀑布模型由W.Royce于1970年首先提出,它規(guī)定了軟件生命周期的各種活動。各項活動自頂向下,相互銜接如同瀑布。
  流程:問題定義(審查)、需求分析(審查)、計劃(審查)、設(shè)計(審查)、編碼(審查)、集成/系統(tǒng)/驗收(測試)、運行維護(hù)、報廢。
  特點:一個活動結(jié)束,進(jìn)入到入到下一個活動后,很難再回到前一個活動中去,工作不可逆轉(zhuǎn)。
  特需:帶反饋的瀑布模型(每個階段可以修改前一個階段存在的問題 )。
2.快速原型化模型
  快速原型化模型是人們經(jīng)過長期的實踐總結(jié)提出的。
  基本思想:在需求分析的同時,以較小的代價快速建立一個反映用戶主要需求的原型系統(tǒng)。用戶在其上進(jìn)行操作,提出修改意見,分析人員根據(jù)意見完善系統(tǒng),再交用戶評價,如此反復(fù),知道開發(fā)的原型系統(tǒng)滿足用戶需求為止。
  特點:開發(fā)過程是線性的,從創(chuàng)建系統(tǒng)原型到系統(tǒng)運行其間沒有反饋環(huán),設(shè)計的結(jié)果正確率比較高。
4.演化模型
  演化模型從一組個定的需求開始,通過構(gòu)造一系列可執(zhí)行的系統(tǒng)組件來實施開發(fā)活動,以增量方式逐步完善待開發(fā)的系統(tǒng)。
  流程:問題定義(審查)、需求分析(審查)、計劃(審查)、設(shè)計(審查)、對每個模塊進(jìn)行詳細(xì)設(shè)計,編碼,集成,測試,交付用戶(反復(fù))、運行維護(hù)(反復(fù)回到上一過程)、報廢。
  特點:各階段并不交付完整產(chǎn)品,而是交付系統(tǒng)的一個子集,產(chǎn)品分解為多個組件,每個組件可以獨立運行。
  特需:一旦確定系統(tǒng)的問題域后,就開始進(jìn)行第一個組件的需求分析,完成后開始第二個,第一個組件進(jìn)行設(shè)計和編碼工作,不同組件并行開發(fā)?赡軙䦟(dǎo)致系統(tǒng)開發(fā)失敗。
5.螺旋模型
  螺旋模型由Boehm于1988年提出。
  基本思想:通過建立原型、劃開開發(fā)階段來降低風(fēng)險。
   適用于產(chǎn)品研發(fā)或機(jī)構(gòu)內(nèi)部較大規(guī)模的復(fù)雜系統(tǒng)開發(fā)。
  螺旋模型被劃分2-6個框架活動:
  制定計劃:明確軟件目標(biāo),確定實施方案,設(shè)定約束條件。
  風(fēng)險分析:針對方案,評價風(fēng)險,制定控制風(fēng)險措施。
  實施工程:實施開發(fā),通過構(gòu)造原型來確定不確定需求。
  客戶評價:評價開發(fā)工作,提出修正意見。
  特點:風(fēng)險驅(qū)動,每個方案實施前都要進(jìn)行風(fēng)險分析。風(fēng)險過大,項目停止或改變方案。
6.V模型
  V模型是瀑布模型的一個變種,更強調(diào)軟件在開發(fā)過程中的質(zhì)量。
  特點:在代碼產(chǎn)生之前每個階段都要開展對應(yīng)的測試設(shè)計。
7.RUP
  RUP也叫Rational統(tǒng)一過程。
  RUP是一個通用的過程框架,適用于各種不同類型的軟件系統(tǒng)、應(yīng)用領(lǐng)域、組織和項目規(guī)模。
  特點:用例驅(qū)動的開發(fā),以架構(gòu)為中心的體系結(jié)構(gòu),迭代和增量的開發(fā)過程。
  RUP開發(fā)過程是二維的:一維從時間上,二維從工作內(nèi)容上。
軟件開發(fā)方法簡述
  為了應(yīng)對軟件危機(jī),就要不斷探索新的軟件開發(fā)方法。
1.結(jié)構(gòu)化方法
  精髓:自頂向下、逐步求精,將功能逐步分解,直到人們可以理解和控制它為止。
  缺點:不穩(wěn)定,用戶功能變化將導(dǎo)致系統(tǒng)的框架結(jié)構(gòu)不穩(wěn)定。數(shù)據(jù)流程圖到軟件結(jié)構(gòu)圖之間有斷層,設(shè)計回溯到需求有一定困難。
2.面向?qū)ο蟮能浖_發(fā)方法
  基本做法:用對象模擬實際問題領(lǐng)域中的實體,以對象間的關(guān)系刻畫實體間的聯(lián)系。
  有點:當(dāng)系統(tǒng)的功能結(jié)構(gòu)發(fā)生變法時不會引起軟件結(jié)構(gòu)的整體變化,只需進(jìn)行一些局部的修改。
  本質(zhì):系統(tǒng)中的對象以及對象之間的關(guān)系能夠如實反映問題域中固有事物及其關(guān)系。
軟件工程相關(guān)的技術(shù)規(guī)范、標(biāo)準(zhǔn)和最新文獻(xiàn)的信息源
  為了提高軟件的開發(fā)效率,保障軟件產(chǎn)品的質(zhì)量,軟件工程領(lǐng)域公布了許多標(biāo)準(zhǔn),有國家標(biāo)準(zhǔn)、行業(yè)標(biāo)準(zhǔn)、企業(yè)標(biāo)準(zhǔn)、項目規(guī)范,通常由低級到高級使用。
  1.CMM規(guī)范 2.ISO9000-3 3.ISO、IEC12207 標(biāo)準(zhǔn) 4.PSP規(guī)范 5.TSP規(guī)范 6.IEEE軟件工程系列標(biāo)準(zhǔn) 7.軟件配置管理系列標(biāo)準(zhǔn)


回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表