




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件工程概述第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ù)、方法軟件過(guò)程軟件工具軟件工程管理軟件質(zhì)量保證軟件工程環(huán)境軟件經(jīng)濟(jì)學(xué)軟件的概念程序、軟件與軟件產(chǎn)品獨(dú)唱-->小合唱-->合唱-->萬(wàn)人大合唱 |||簡(jiǎn)單程序較復(fù)雜程序軟件軟件定義:軟件=程序+數(shù)據(jù)+文檔程序:按事先設(shè)計(jì)的功能和性能需求執(zhí)行的指令序列數(shù)據(jù):是程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)文檔:與程序開發(fā)、維護(hù)和使用有關(guān)的圖文材料
軟件的特點(diǎn)軟件是邏輯實(shí)體。具有抽象性。軟件的形態(tài)不可見,必須通過(guò)觀察、分析、思考、判斷來(lái)了解其功能、性能和其它特性。
軟件是人腦思維的產(chǎn)物,其生產(chǎn)過(guò)程與硬件不同--開發(fā)過(guò)程的質(zhì)量控制及軟件產(chǎn)品保護(hù)問(wèn)題。
軟件的開發(fā)和運(yùn)行受計(jì)算機(jī)系統(tǒng)限制--軟件移植問(wèn)題。
軟件的開發(fā)技術(shù)落后,手工開發(fā)方式仍占統(tǒng)治地位,開發(fā)效率低。
軟件的特點(diǎn)軟件的失效率與硬件不同。失效率時(shí)間硬件失效率曲線失效率時(shí)間軟件失效率曲線
軟件的特點(diǎn)軟件的復(fù)雜性越來(lái)越高,對(duì)軟件人員的要求越來(lái)越高,出現(xiàn)了軟件復(fù)雜性與軟件技術(shù)發(fā)展的不適應(yīng)現(xiàn)象。軟件復(fù)雜性差距軟件需求與軟件技術(shù)發(fā)展現(xiàn)狀軟件需求時(shí)間軟件技術(shù)軟件技術(shù)進(jìn)步落后于需求增長(zhǎng)
軟件的特點(diǎn)
軟件的特點(diǎn)軟件的開發(fā)研制成本高,自80年代以來(lái),已大大超過(guò)硬件成本。計(jì)算機(jī)系統(tǒng)軟、硬件成本比例的變化情況硬件年份軟件50年70年85年20608010040成本
軟件的特點(diǎn)相當(dāng)多的軟件工作涉及社會(huì)因素,如機(jī)構(gòu)、體制、管理方式等,包括人的觀念及心理,都直接影響軟件工作的成敗。
軟件的分類按功能按規(guī)模按工作方式按使用頻度按失效影響系統(tǒng)軟件支撐軟件應(yīng)用軟件按服務(wù)對(duì)象
軟件的分類按功能按規(guī)模按工作方式按使用頻度按失效影響按服務(wù)對(duì)象微型軟件小型軟件大型軟件甚大型軟件極大型軟件
軟件的分類按功能按規(guī)模按工作方式按使用頻度按失效影響按服務(wù)對(duì)象實(shí)時(shí)處理軟件分時(shí)軟件交互式軟件批處理軟件
軟件的分類按功能按規(guī)模按工作方式按使用頻度按失效影響按服務(wù)對(duì)象產(chǎn)品軟件項(xiàng)目軟件
軟件的分類按功能按規(guī)模按工作方式按使用頻度按失效影響按服務(wù)對(duì)象使用頻度低使用頻度高
軟件的分類按功能按規(guī)模按工作方式按使用頻度按失效影響按服務(wù)對(duì)象不良影響嚴(yán)重影響軟件開發(fā)的發(fā)展過(guò)程程序設(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ù)過(guò)程所遇到的一系列嚴(yán)重問(wèn)題。表現(xiàn)對(duì)軟件開發(fā)成本和進(jìn)度的估算很不準(zhǔn)確用戶很不滿意質(zhì)量很不可靠沒(méi)有適當(dāng)?shù)奈臋n軟件成本比重上升供不應(yīng)求:軟件開發(fā)生產(chǎn)率跟不上計(jì)算機(jī)應(yīng)用迅速深入的趨勢(shì)軟件危機(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ù)和方法來(lái)開發(fā)和維護(hù)軟件,把經(jīng)過(guò)時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來(lái)——即軟件工程。
軟件工程軟件工程的基本原理(自“軟件工程”提出后,專家和學(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è)要素方法工具過(guò)程提供一系列軟件開發(fā)技術(shù)。包括完成開發(fā)過(guò)程中各方面任務(wù)的方法并用某種特殊的語(yǔ)言或圖形來(lái)描述。
軟件工程三要素軟件工程三個(gè)要素方法工具過(guò)程軟件工具為軟件方法提供了自動(dòng)的或半自動(dòng)的支撐環(huán)境。將多種工具集成在一起可構(gòu)成計(jì)算機(jī)輔助軟件工程(CASE)的軟件開發(fā)支撐系統(tǒng)。
軟件工程三要素軟件工程三個(gè)要素方法工具過(guò)程軟件過(guò)程是將軟件工程的方法和工具綜合起來(lái),進(jìn)行軟件開發(fā)。
方法、工具和過(guò)程:軟件工程方法為軟件開發(fā)提供了“如何做”的技術(shù).軟件工具為軟件工程方法提供了自動(dòng)的或半自動(dòng)的軟件支撐環(huán)境.軟件工程過(guò)程定義了:方法使用的順序要求交付的文檔資料為保證質(zhì)量和適應(yīng)變化所需要的管理軟件開發(fā)各個(gè)階段完成的里程碑軟件工程的三要素軟件工程項(xiàng)目的基本目標(biāo)付出較低的開發(fā)成本達(dá)到要求的軟件功能取得較好的軟件性能開發(fā)的軟件易于移植需要較低的維護(hù)費(fèi)用能按時(shí)完成開發(fā)工作,及時(shí)交付使用軟件工程基本原則抽象
采用分層次抽象,自頂向下、逐層細(xì)化的辦法控制軟件開發(fā)過(guò)程的復(fù)雜性。信息隱蔽
將模塊設(shè)計(jì)成“黑箱”,實(shí)現(xiàn)的細(xì)節(jié)隱藏在模塊內(nèi)部,不讓模塊的使用者直接訪問(wèn)。這就是信息封裝,使用與實(shí)現(xiàn)分離的原則。模塊化
如C語(yǔ)言程序中的函數(shù)過(guò)程,C++語(yǔ)言程序中的類。模塊化有助于信息隱蔽和抽象,有助于表示復(fù)雜的系統(tǒng)。局部化
要求在一個(gè)物理模塊內(nèi)集中邏輯上相互關(guān)聯(lián)的計(jì)算機(jī)資源,保證模塊之間具有松散的耦合,模塊內(nèi)部具有較強(qiáng)的內(nèi)聚。這有助于控制解的復(fù)雜性。確定性
軟件開發(fā)過(guò)程中所有概念的表達(dá)應(yīng)是確定的、無(wú)歧義性的、規(guī)范的。一致性整個(gè)軟件系統(tǒng)的各個(gè)模塊應(yīng)使用一致的概念、符號(hào)和術(shù)語(yǔ)。程序內(nèi)部接口應(yīng)保持一致。軟件和硬件、操作系統(tǒng)的接口應(yīng)保持一致。系統(tǒng)規(guī)格說(shuō)明與系統(tǒng)行為應(yīng)保持一致。用于形式化規(guī)格說(shuō)明的公理系統(tǒng)應(yīng)保持一致。軟件工程基本原則完備性
軟件系統(tǒng)不丟失任何重要成分,可以完全實(shí)現(xiàn)系統(tǒng)所要求功能的程度。為了保證系統(tǒng)的完備性,在軟件開發(fā)和運(yùn)行過(guò)程中需要嚴(yán)格的技術(shù)評(píng)審??沈?yàn)證性
開發(fā)大型的軟件系統(tǒng)需要對(duì)系統(tǒng)自頂向下、逐層分解。系統(tǒng)分解應(yīng)遵循系統(tǒng)易于檢查、測(cè)試、評(píng)審的原則,以確保系統(tǒng)的正確性。軟件工程基本原則
軟件工程過(guò)程和軟件生命期軟件工程過(guò)程:軟件工程過(guò)程是為獲得軟件產(chǎn)品,在軟件工具支持下由軟件人員完成的一系列軟件工程活動(dòng)。軟件工程過(guò)程內(nèi)容軟件工程過(guò)程特性1)軟件規(guī)格說(shuō)明:規(guī)定軟件的功能及運(yùn)行限制2)軟件開發(fā):產(chǎn)生滿足規(guī)格說(shuō)明的軟件3)軟件確認(rèn):對(duì)軟件能否滿足用戶要求進(jìn)行確認(rèn)4)軟件演進(jìn):為滿足用戶的變更要求的演進(jìn)
軟件工程過(guò)程和軟件生命期軟件工程過(guò)程:軟件工程過(guò)程是為獲得軟件產(chǎn)品,在軟件工具支持下由軟件人員完成的一系列軟件工程活動(dòng)。軟件工程過(guò)程內(nèi)容軟件工程過(guò)程特性1)可理解性;2)可見性;3)可支持性;4)可接受性;5)可靠性;6)健壯性;7)可維護(hù)性;8)速度。
軟件工程過(guò)程和軟件生命期軟件生命期(Lifecycle):
一個(gè)軟件從定義、開發(fā)、使用和維護(hù),直到最終被廢棄,所經(jīng)歷的生存過(guò)程稱為軟件生存期或叫生命期。生命期的劃分:制定計(jì)劃需求分析和定義軟件設(shè)計(jì)程序編寫軟件測(cè)試運(yùn)行/維護(hù)定義階段開發(fā)階段維護(hù)階段
軟件生存期模型瀑布模型原型模型螺旋模型噴泉模型構(gòu)件組裝模型統(tǒng)一過(guò)程模型第四代技術(shù)
瀑布模型計(jì)劃需求分析設(shè)計(jì)編碼測(cè)試運(yùn)行、維護(hù)定義階段開發(fā)階段維護(hù)階段原型模型原型模型也稱快速原型模型.原型模型的基本思想是:軟件開發(fā)人員在與用戶進(jìn)行需求分析時(shí),以比較小的代價(jià)快速建立一個(gè)能夠反映用戶主要需求的原型系統(tǒng),讓用戶在計(jì)算機(jī)上進(jìn)行操作,在實(shí)踐過(guò)程中提出改進(jìn)意見,開發(fā)人員根據(jù)用戶的意見,對(duì)原型進(jìn)行補(bǔ)充和完善,然后再由用戶試用、評(píng)價(jià)、提出建議,重復(fù)這一過(guò)程,直到用戶對(duì)開發(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)分析迭代過(guò)程一個(gè)螺旋式周期
確定目標(biāo),選擇方案,選定完成目標(biāo)的策略
風(fēng)險(xiǎn)角度分析該策略
啟動(dòng)一個(gè)開發(fā)階段
評(píng)價(jià)前一步的結(jié)果,計(jì)劃下一輪的工作
噴泉模型迭代重復(fù)演進(jìn)無(wú)間隙各階段間無(wú)明顯界限噴泉模型構(gòu)件組裝模型構(gòu)件組裝模型特點(diǎn):面向?qū)ο蠡跇?gòu)件庫(kù)融合螺旋模型特征支持軟件開發(fā)的迭代方法
軟件重用統(tǒng)一過(guò)程模型Rational統(tǒng)一過(guò)程(RationalUnifiedProcess,RUP)是由Rational公司開發(fā)的一種軟件過(guò)程,它的開發(fā)過(guò)程有如下3個(gè)主要特點(diǎn):⑴是一種用例(Use-case)驅(qū)動(dòng)的軟件開發(fā)過(guò)程⑵是以體系結(jié)構(gòu)(Architecture)為中心的過(guò)程⑶迭代(Iterative)開發(fā)與增量(Incremental)開發(fā)相結(jié)合的過(guò)程第四代技術(shù)“第四代技術(shù)”(4GT)包含了一系列的軟件工具,其特點(diǎn)是:能使軟件工程師在較高級(jí)別上說(shuō)明軟件的某些特征,然后利用工具將開發(fā)者的說(shuō)明自動(dòng)生成源代碼,并且軟件被說(shuō)明級(jí)別越高,其建造程序的速度就越快。基于4GT的開發(fā)過(guò)程如下:⑴像其他范型一樣,4GT也是從需求收集這一步開始。
⑵制訂一個(gè)系統(tǒng)的設(shè)計(jì)策略。
⑶應(yīng)用4GL的生成功能,自動(dòng)生成所期望的代碼。
⑷進(jìn)行測(cè)試,完成相關(guān)文檔,并完成其他軟件工程范型中同樣要求的所有集成活動(dòng),得到最終產(chǎn)品。
軟件開發(fā)方法簡(jiǎn)述
軟件開發(fā)方法是指軟件開發(fā)過(guò)程中所應(yīng)遵循的方法和步驟。局部軟件開發(fā)方法:針對(duì)某些活動(dòng)的開發(fā)方法全局軟件開發(fā)方法:覆蓋開發(fā)全過(guò)程的方法考慮如下的幾個(gè)因素:(1)對(duì)該軟件開發(fā)方法是否已具有經(jīng)驗(yàn),或有已受過(guò)訓(xùn)練的人員;(2)為軟件開發(fā)提供的軟件硬件資源及可使用的工具的情況;(3)該開發(fā)方法在計(jì)劃、組織和管理方面的可行性;(4)對(duì)開發(fā)項(xiàng)目所涉及領(lǐng)域的知識(shí)的掌握情況。軟件開發(fā)方法簡(jiǎn)述1、結(jié)構(gòu)化方法結(jié)構(gòu)化方法也稱為面向功能的軟件開發(fā)方法或Yourdon方法,是由E.Yourdon和L.Constantine提出的.
結(jié)構(gòu)化分析方法SA:對(duì)軟件進(jìn)行需求分析結(jié)構(gòu)化設(shè)計(jì)方法SD:進(jìn)行總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)結(jié)構(gòu)化編程SP特點(diǎn):按照功能分解的原則,自頂向下、逐步求精,直到實(shí)現(xiàn)軟件功能為止。該方法簡(jiǎn)單、實(shí)用。軟件開發(fā)方法簡(jiǎn)述1、結(jié)構(gòu)化方法主要問(wèn)題:(1)它以功能分解為基礎(chǔ),而用戶的功能是經(jīng)常改變的,必然導(dǎo)致系統(tǒng)的框架結(jié)構(gòu)不穩(wěn)定。
(2)從數(shù)據(jù)流程圖到軟件結(jié)構(gòu)圖之間的過(guò)渡有明顯的斷層,導(dǎo)致設(shè)計(jì)回溯到需求有困難。
軟件開發(fā)方法簡(jiǎn)述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ǔ)上,對(duì)細(xì)節(jié)進(jìn)行設(shè)計(jì),得到完整的程序結(jié)構(gòu)圖。軟件開發(fā)方法簡(jiǎn)述3、面向?qū)ο蟮姆椒嫦驅(qū)ο蠓椒ǖ膬?yōu)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 全面復(fù)習(xí)2025年工程法規(guī)考試試題及答案
- 中級(jí)會(huì)計(jì)實(shí)務(wù)考試高分復(fù)習(xí)方法綜述試題及答案
- 文化傳播與社會(huì)變革之間的聯(lián)系試題及答案
- 貼近實(shí)際的2025年工程法規(guī)考試復(fù)習(xí)資料試題及答案
- 財(cái)務(wù)管理考試應(yīng)試技巧試題及答案
- 數(shù)學(xué)高考2024年應(yīng)試心理調(diào)節(jié)與試題及答案
- 會(huì)計(jì)實(shí)務(wù)考試復(fù)習(xí)必背知識(shí)點(diǎn)試題及答案
- 工程法規(guī)考試重要法條分析及其應(yīng)用策略的總結(jié)與反思試題及答案
- 2025中級(jí)會(huì)計(jì)實(shí)務(wù)考試亮點(diǎn)與試題及答案知識(shí)庫(kù)
- 2025年工程法規(guī)考試考生所需的心理調(diào)整歸納與總結(jié)試題及答案
- 離婚協(xié)議書正規(guī)打印電子版(2025年版)
- 【MOOC】跨文化交際入門-華中師范大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 2024年江西省高考生物試卷(真題+答案)
- CJT 526-2018 軟土固化劑 標(biāo)準(zhǔn)
- 品質(zhì)提升計(jì)劃改善報(bào)告課件
- 中考數(shù)學(xué)計(jì)算題練習(xí)100道(2024年中考真題)
- 《妊娠期糖尿病患者個(gè)案護(hù)理體會(huì)(論文)3500字》
- 成都地鐵介紹課件
- 幼兒園繪本故事:《十二生肖》 課件
- 2022年湘潭職業(yè)技術(shù)學(xué)院中職部教師招聘筆試題庫(kù)及答案解析
- 雙向轉(zhuǎn)診制度與流程圖
評(píng)論
0/150
提交評(píng)論