版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
軟件工程概述第1章概述工程-將理論和所學(xué)的知識(shí)應(yīng)用于實(shí)踐的科學(xué)。軟件工程-應(yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理,開發(fā)軟件的工程。它借鑒傳統(tǒng)工程的原則、方法,以提高質(zhì)量,降低成本為目的。其中,計(jì)算機(jī)科學(xué)、數(shù)學(xué)用于構(gòu)造模型與算法,工程科學(xué)用于制定規(guī)范、設(shè)計(jì)范型、評(píng)估成本及確定權(quán)衡,管理科學(xué)用于計(jì)劃、資源、質(zhì)量、成本等管理。軟件工程是一門交叉性學(xué)科。軟件工程的主要內(nèi)容軟件工程的基本概念軟件開發(fā)模型軟件開發(fā)各階段的任務(wù)、技術(shù)、方法軟件過程軟件工具軟件工程管理軟件質(zhì)量保證軟件工程環(huán)境軟件經(jīng)濟(jì)學(xué)軟件的概念程序、軟件與軟件產(chǎn)品獨(dú)唱-->小合唱-->合唱-->萬人大合唱 |||簡單程序較復(fù)雜程序軟件軟件定義:軟件=程序+數(shù)據(jù)+文檔程序:按事先設(shè)計(jì)的功能和性能需求執(zhí)行的指令序列數(shù)據(jù):是程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)文檔:與程序開發(fā)、維護(hù)和使用有關(guān)的圖文材料
軟件的特點(diǎn)軟件是邏輯實(shí)體。具有抽象性。軟件的形態(tài)不可見,必須通過觀察、分析、思考、判斷來了解其功能、性能和其它特性。
軟件是人腦思維的產(chǎn)物,其生產(chǎn)過程與硬件不同--開發(fā)過程的質(zhì)量控制及軟件產(chǎn)品保護(hù)問題。
軟件的開發(fā)和運(yùn)行受計(jì)算機(jī)系統(tǒng)限制--軟件移植問題。
軟件的開發(fā)技術(shù)落后,手工開發(fā)方式仍占統(tǒng)治地位,開發(fā)效率低。
軟件的特點(diǎn)軟件的失效率與硬件不同。失效率時(shí)間硬件失效率曲線失效率時(shí)間軟件失效率曲線
軟件的特點(diǎn)軟件的復(fù)雜性越來越高,對軟件人員的要求越來越高,出現(xiàn)了軟件復(fù)雜性與軟件技術(shù)發(fā)展的不適應(yīng)現(xiàn)象。軟件復(fù)雜性差距軟件需求與軟件技術(shù)發(fā)展現(xiàn)狀軟件需求時(shí)間軟件技術(shù)軟件技術(shù)進(jìn)步落后于需求增長
軟件的特點(diǎn)
軟件的特點(diǎn)軟件的開發(fā)研制成本高,自80年代以來,已大大超過硬件成本。計(jì)算機(jī)系統(tǒng)軟、硬件成本比例的變化情況硬件年份軟件50年70年85年20608010040成本
軟件的特點(diǎn)相當(dāng)多的軟件工作涉及社會(huì)因素,如機(jī)構(gòu)、體制、管理方式等,包括人的觀念及心理,都直接影響軟件工作的成敗。
軟件的分類按功能按規(guī)模按工作方式按使用頻度按失效影響系統(tǒng)軟件支撐軟件應(yīng)用軟件按服務(wù)對象
軟件的分類按功能按規(guī)模按工作方式按使用頻度按失效影響按服務(wù)對象微型軟件小型軟件大型軟件甚大型軟件極大型軟件
軟件的分類按功能按規(guī)模按工作方式按使用頻度按失效影響按服務(wù)對象實(shí)時(shí)處理軟件分時(shí)軟件交互式軟件批處理軟件
軟件的分類按功能按規(guī)模按工作方式按使用頻度按失效影響按服務(wù)對象產(chǎn)品軟件項(xiàng)目軟件
軟件的分類按功能按規(guī)模按工作方式按使用頻度按失效影響按服務(wù)對象使用頻度低使用頻度高
軟件的分類按功能按規(guī)模按工作方式按使用頻度按失效影響按服務(wù)對象不良影響嚴(yán)重影響軟件開發(fā)的發(fā)展過程程序設(shè)計(jì)階段—50至60年代程序系統(tǒng)階段—60至70年代 軟件工程階段—70年代以后計(jì)算機(jī)應(yīng)用發(fā)展軟件數(shù)量多規(guī)模大軟件成本高質(zhì)量低個(gè)體化軟件開發(fā)方法軟件維護(hù)困難軟件危機(jī)軟件工程軟件危機(jī)定義計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程所遇到的一系列嚴(yán)重問題。表現(xiàn)對軟件開發(fā)成本和進(jìn)度的估算很不準(zhǔn)確用戶很不滿意質(zhì)量很不可靠沒有適當(dāng)?shù)奈臋n軟件成本比重上升供不應(yīng)求:軟件開發(fā)生產(chǎn)率跟不上計(jì)算機(jī)應(yīng)用迅速深入的趨勢軟件危機(jī)原因客觀:軟件本身特點(diǎn)邏輯部件規(guī)模龐大主觀:不正確的開發(fā)方法忽視需求分析錯(cuò)誤認(rèn)為:軟件開發(fā)=程序編寫輕視軟件維護(hù)軟件危機(jī)解決途徑組織管理工程項(xiàng)目管理方法技術(shù)措施軟件開發(fā)技術(shù)與方法軟件工具
軟件工程
為了解決軟件危機(jī),既要有技術(shù)措施(方法和工具),又要有必要的組織管理措施。軟件工程正是從管理和技術(shù)方面研究如何更好地開發(fā)和維護(hù)計(jì)算機(jī)軟件的學(xué)科。定義:軟件工程是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科。采用工程的概念、原理、技術(shù)和方法來開發(fā)和維護(hù)軟件,把經(jīng)過時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來——即軟件工程。
軟件工程軟件工程的基本原理(自“軟件工程”提出后,專家和學(xué)者們陸續(xù)提出了100多條關(guān)于軟件工程的準(zhǔn)則或“信條”,有專家歸納出了確保開發(fā)質(zhì)量和效率的原理的最小集合——7條基本原理):1)用分階段的生命周期嚴(yán)格管理;2)堅(jiān)持進(jìn)行階段評(píng)審;3)實(shí)行嚴(yán)格的產(chǎn)品控制;4)采用現(xiàn)代程序設(shè)計(jì)技術(shù);5)結(jié)果應(yīng)能清楚地審查;6)開發(fā)小組人員應(yīng)少而精;7)承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性。
軟件工程三要素軟件工程三個(gè)要素方法工具過程提供一系列軟件開發(fā)技術(shù)。包括完成開發(fā)過程中各方面任務(wù)的方法并用某種特殊的語言或圖形來描述。
軟件工程三要素軟件工程三個(gè)要素方法工具過程軟件工具為軟件方法提供了自動(dòng)的或半自動(dòng)的支撐環(huán)境。將多種工具集成在一起可構(gòu)成計(jì)算機(jī)輔助軟件工程(CASE)的軟件開發(fā)支撐系統(tǒng)。
軟件工程三要素軟件工程三個(gè)要素方法工具過程軟件過程是將軟件工程的方法和工具綜合起來,進(jìn)行軟件開發(fā)。
方法、工具和過程:軟件工程方法為軟件開發(fā)提供了“如何做”的技術(shù).軟件工具為軟件工程方法提供了自動(dòng)的或半自動(dòng)的軟件支撐環(huán)境.軟件工程過程定義了:方法使用的順序要求交付的文檔資料為保證質(zhì)量和適應(yīng)變化所需要的管理軟件開發(fā)各個(gè)階段完成的里程碑軟件工程的三要素軟件工程項(xiàng)目的基本目標(biāo)付出較低的開發(fā)成本達(dá)到要求的軟件功能取得較好的軟件性能開發(fā)的軟件易于移植需要較低的維護(hù)費(fèi)用能按時(shí)完成開發(fā)工作,及時(shí)交付使用軟件工程基本原則抽象
采用分層次抽象,自頂向下、逐層細(xì)化的辦法控制軟件開發(fā)過程的復(fù)雜性。信息隱蔽
將模塊設(shè)計(jì)成“黑箱”,實(shí)現(xiàn)的細(xì)節(jié)隱藏在模塊內(nèi)部,不讓模塊的使用者直接訪問。這就是信息封裝,使用與實(shí)現(xiàn)分離的原則。模塊化
如C語言程序中的函數(shù)過程,C++語言程序中的類。模塊化有助于信息隱蔽和抽象,有助于表示復(fù)雜的系統(tǒng)。局部化
要求在一個(gè)物理模塊內(nèi)集中邏輯上相互關(guān)聯(lián)的計(jì)算機(jī)資源,保證模塊之間具有松散的耦合,模塊內(nèi)部具有較強(qiáng)的內(nèi)聚。這有助于控制解的復(fù)雜性。確定性
軟件開發(fā)過程中所有概念的表達(dá)應(yīng)是確定的、無歧義性的、規(guī)范的。一致性整個(gè)軟件系統(tǒng)的各個(gè)模塊應(yīng)使用一致的概念、符號(hào)和術(shù)語。程序內(nèi)部接口應(yīng)保持一致。軟件和硬件、操作系統(tǒng)的接口應(yīng)保持一致。系統(tǒng)規(guī)格說明與系統(tǒng)行為應(yīng)保持一致。用于形式化規(guī)格說明的公理系統(tǒng)應(yīng)保持一致。軟件工程基本原則完備性
軟件系統(tǒng)不丟失任何重要成分,可以完全實(shí)現(xiàn)系統(tǒng)所要求功能的程度。為了保證系統(tǒng)的完備性,在軟件開發(fā)和運(yùn)行過程中需要嚴(yán)格的技術(shù)評(píng)審??沈?yàn)證性
開發(fā)大型的軟件系統(tǒng)需要對系統(tǒng)自頂向下、逐層分解。系統(tǒng)分解應(yīng)遵循系統(tǒng)易于檢查、測試、評(píng)審的原則,以確保系統(tǒng)的正確性。軟件工程基本原則
軟件工程過程和軟件生命期軟件工程過程:軟件工程過程是為獲得軟件產(chǎn)品,在軟件工具支持下由軟件人員完成的一系列軟件工程活動(dòng)。軟件工程過程內(nèi)容軟件工程過程特性1)軟件規(guī)格說明:規(guī)定軟件的功能及運(yùn)行限制2)軟件開發(fā):產(chǎn)生滿足規(guī)格說明的軟件3)軟件確認(rèn):對軟件能否滿足用戶要求進(jìn)行確認(rèn)4)軟件演進(jìn):為滿足用戶的變更要求的演進(jìn)
軟件工程過程和軟件生命期軟件工程過程:軟件工程過程是為獲得軟件產(chǎn)品,在軟件工具支持下由軟件人員完成的一系列軟件工程活動(dòng)。軟件工程過程內(nèi)容軟件工程過程特性1)可理解性;2)可見性;3)可支持性;4)可接受性;5)可靠性;6)健壯性;7)可維護(hù)性;8)速度。
軟件工程過程和軟件生命期軟件生命期(Lifecycle):
一個(gè)軟件從定義、開發(fā)、使用和維護(hù),直到最終被廢棄,所經(jīng)歷的生存過程稱為軟件生存期或叫生命期。生命期的劃分:制定計(jì)劃需求分析和定義軟件設(shè)計(jì)程序編寫軟件測試運(yùn)行/維護(hù)定義階段開發(fā)階段維護(hù)階段
軟件生存期模型瀑布模型原型模型螺旋模型噴泉模型構(gòu)件組裝模型統(tǒng)一過程模型第四代技術(shù)
瀑布模型計(jì)劃需求分析設(shè)計(jì)編碼測試運(yùn)行、維護(hù)定義階段開發(fā)階段維護(hù)階段原型模型原型模型也稱快速原型模型.原型模型的基本思想是:軟件開發(fā)人員在與用戶進(jìn)行需求分析時(shí),以比較小的代價(jià)快速建立一個(gè)能夠反映用戶主要需求的原型系統(tǒng),讓用戶在計(jì)算機(jī)上進(jìn)行操作,在實(shí)踐過程中提出改進(jìn)意見,開發(fā)人員根據(jù)用戶的意見,對原型進(jìn)行補(bǔ)充和完善,然后再由用戶試用、評(píng)價(jià)、提出建議,重復(fù)這一過程,直到用戶對開發(fā)的原型系統(tǒng)滿意為止。
原型模型原型開發(fā)原型評(píng)價(jià)最終系統(tǒng)設(shè)計(jì)用戶反饋
原型模型螺旋模型螺旋模型沿著螺線旋轉(zhuǎn),在四個(gè)象限上分別表達(dá)四個(gè)方面的活動(dòng),即:制定計(jì)劃──確定軟件目標(biāo),選定實(shí)施方案,弄清項(xiàng)目開發(fā)的限制風(fēng)險(xiǎn)分析──分析所選方案,考慮如何識(shí)別和消除風(fēng)險(xiǎn)實(shí)施工程──實(shí)施軟件開發(fā)客戶評(píng)估──評(píng)價(jià)開發(fā)工作,提出修正建議螺旋模型螺旋模型特點(diǎn)瀑布模型+快速原型+風(fēng)險(xiǎn)分析迭代過程一個(gè)螺旋式周期
確定目標(biāo),選擇方案,選定完成目標(biāo)的策略
風(fēng)險(xiǎn)角度分析該策略
啟動(dòng)一個(gè)開發(fā)階段
評(píng)價(jià)前一步的結(jié)果,計(jì)劃下一輪的工作
噴泉模型迭代重復(fù)演進(jìn)無間隙各階段間無明顯界限噴泉模型構(gòu)件組裝模型構(gòu)件組裝模型特點(diǎn):面向?qū)ο蠡跇?gòu)件庫融合螺旋模型特征支持軟件開發(fā)的迭代方法
軟件重用統(tǒng)一過程模型Rational統(tǒng)一過程(RationalUnifiedProcess,RUP)是由Rational公司開發(fā)的一種軟件過程,它的開發(fā)過程有如下3個(gè)主要特點(diǎn):⑴是一種用例(Use-case)驅(qū)動(dòng)的軟件開發(fā)過程⑵是以體系結(jié)構(gòu)(Architecture)為中心的過程⑶迭代(Iterative)開發(fā)與增量(Incremental)開發(fā)相結(jié)合的過程第四代技術(shù)“第四代技術(shù)”(4GT)包含了一系列的軟件工具,其特點(diǎn)是:能使軟件工程師在較高級(jí)別上說明軟件的某些特征,然后利用工具將開發(fā)者的說明自動(dòng)生成源代碼,并且軟件被說明級(jí)別越高,其建造程序的速度就越快?;?GT的開發(fā)過程如下:⑴像其他范型一樣,4GT也是從需求收集這一步開始。
⑵制訂一個(gè)系統(tǒng)的設(shè)計(jì)策略。
⑶應(yīng)用4GL的生成功能,自動(dòng)生成所期望的代碼。
⑷進(jìn)行測試,完成相關(guān)文檔,并完成其他軟件工程范型中同樣要求的所有集成活動(dòng),得到最終產(chǎn)品。
軟件開發(fā)方法簡述
軟件開發(fā)方法是指軟件開發(fā)過程中所應(yīng)遵循的方法和步驟。局部軟件開發(fā)方法:針對某些活動(dòng)的開發(fā)方法全局軟件開發(fā)方法:覆蓋開發(fā)全過程的方法考慮如下的幾個(gè)因素:(1)對該軟件開發(fā)方法是否已具有經(jīng)驗(yàn),或有已受過訓(xùn)練的人員;(2)為軟件開發(fā)提供的軟件硬件資源及可使用的工具的情況;(3)該開發(fā)方法在計(jì)劃、組織和管理方面的可行性;(4)對開發(fā)項(xiàng)目所涉及領(lǐng)域的知識(shí)的掌握情況。軟件開發(fā)方法簡述1、結(jié)構(gòu)化方法結(jié)構(gòu)化方法也稱為面向功能的軟件開發(fā)方法或Yourdon方法,是由E.Yourdon和L.Constantine提出的.
結(jié)構(gòu)化分析方法SA:對軟件進(jìn)行需求分析結(jié)構(gòu)化設(shè)計(jì)方法SD:進(jìn)行總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)結(jié)構(gòu)化編程SP特點(diǎn):按照功能分解的原則,自頂向下、逐步求精,直到實(shí)現(xiàn)軟件功能為止。該方法簡單、實(shí)用。軟件開發(fā)方法簡述1、結(jié)構(gòu)化方法主要問題:(1)它以功能分解為基礎(chǔ),而用戶的功能是經(jīng)常改變的,必然導(dǎo)致系統(tǒng)的框架結(jié)構(gòu)不穩(wěn)定。
(2)從數(shù)據(jù)流程圖到軟件結(jié)構(gòu)圖之間的過渡有明顯的斷層,導(dǎo)致設(shè)計(jì)回溯到需求有困難。
軟件開發(fā)方法簡述2、面向數(shù)據(jù)結(jié)構(gòu)的開發(fā)方法面向數(shù)據(jù)結(jié)構(gòu)的軟件開發(fā)方法有兩種:Warnier方法:由J.D.Warnier提出的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法(DSSD);Jackson方法:由M.A.Jackson提出的Jackson系統(tǒng)開發(fā)方法(JSD)。面向數(shù)據(jù)結(jié)構(gòu)的軟件開發(fā)方法基本思想是:從目標(biāo)系統(tǒng)的輸入/輸出數(shù)據(jù)結(jié)構(gòu)入手,導(dǎo)出程序的基本框架結(jié)構(gòu),在此基礎(chǔ)上,對細(xì)節(jié)進(jìn)行設(shè)計(jì),得到完整的程序結(jié)構(gòu)圖。軟件開發(fā)方法簡述3、面向?qū)ο蟮姆椒嫦驅(qū)ο蠓椒ǖ膬?yōu)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度餐廳員工餐飲服務(wù)滿意度提升勞務(wù)協(xié)議
- 2025年度網(wǎng)絡(luò)安全設(shè)備預(yù)防性維護(hù)保養(yǎng)合同模板
- 2025年版智慧社區(qū)門衛(wèi)及智能安防系統(tǒng)運(yùn)營合同3篇
- 二零二五年度私人診所與醫(yī)護(hù)人員合作聘用及醫(yī)療信息化建設(shè)合同
- 2025年度美甲店門面轉(zhuǎn)讓及美容美發(fā)行業(yè)市場調(diào)研合同
- 2025版套房裝修施工現(xiàn)場安全管理制度合同3篇
- 2025年度出租車租賃合同車輛租賃合同續(xù)簽與終止協(xié)議
- 二零二五年度購房合同糾紛調(diào)解協(xié)議
- 2025年度物業(yè)人員雇用及社區(qū)物業(yè)服務(wù)標(biāo)準(zhǔn)化建設(shè)合同
- 2025年度基礎(chǔ)設(shè)施建設(shè)項(xiàng)目股權(quán)轉(zhuǎn)讓協(xié)議范本
- 項(xiàng)目績效和獎(jiǎng)勵(lì)計(jì)劃
- 光伏自發(fā)自用項(xiàng)目年用電清單和消納計(jì)算表
- 量子計(jì)算在醫(yī)學(xué)圖像處理中的潛力
- 阿里商旅整體差旅解決方案
- 浙江天臺(tái)歷史文化名城保護(hù)規(guī)劃說明書
- 邏輯思維訓(xùn)練500題
- 第八講 發(fā)展全過程人民民主PPT習(xí)概論2023優(yōu)化版教學(xué)課件
- 實(shí)體瘤療效評(píng)價(jià)標(biāo)準(zhǔn)RECIST-1.1版中文
- 企業(yè)新春茶話會(huì)PPT模板
- GB/T 19185-2008交流線路帶電作業(yè)安全距離計(jì)算方法
- DIC診治新進(jìn)展課件
評(píng)論
0/150
提交評(píng)論