高級(jí)軟件工程電子書_第1頁(yè)
高級(jí)軟件工程電子書_第2頁(yè)
高級(jí)軟件工程電子書_第3頁(yè)
高級(jí)軟件工程電子書_第4頁(yè)
高級(jí)軟件工程電子書_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Software Engineering軟件工程本質(zhì)Shanghai Jiao Tong University高級(jí)軟件工程Module: 軟件工程本質(zhì)上海交通大學(xué)軟件工程中心討論:什么是軟件工程?“The establishment and use of sound engineering principles in order to obtain economically software that isreliable and works on real machines.” Fritz Bauer“The application of a systematic, disciplined,

2、 quantifiable approach to the development, operation, and maintenance of software ” IEEE 1990“Software engineering is that form of engineering thatapplies the principles of computer science and mathematics to achieving cost-effective solutions to software problems. ” CMU/SEI-90-TR-003第1章 .教材Software

3、 Engineering2沈備軍1Software Engineering軟件工程本質(zhì)軟件開(kāi)發(fā)是一門什么學(xué)科?軟件開(kāi)發(fā)是一門藝術(shù)?是一門科學(xué)?是一門工程?追求 Truth( 真)科學(xué)學(xué)科工程藝術(shù)追求 Benefit( 善)追求 Beauty( 美)Software Engineering3沈備軍軟件開(kāi)發(fā)如何獲得最大 benefit?Benefit 收入成本提升銷售降低成本需求是關(guān)鍵設(shè)計(jì)是關(guān)鍵創(chuàng)新的需求好的設(shè)計(jì):模塊化、降低軟件復(fù)雜性、增加復(fù)Software Engineering用、便于多人協(xié)同開(kāi)發(fā)沈備軍42Software Engineering軟件工程本質(zhì)具體和抽象需求:具體 產(chǎn)品當(dāng)項(xiàng)目做

4、所有人 - 一群人設(shè)計(jì):抽象 項(xiàng)目當(dāng)產(chǎn)品做項(xiàng)目- 產(chǎn)品- 產(chǎn)品線即時(shí)通軟件賣給誰(shuí)?Software Engineering5沈備軍軟件工程是一個(gè)國(guó)家的戰(zhàn)略性學(xué)科軟件工程的發(fā)展受到了美國(guó)DOD 的極大推動(dòng)CMU SEI如果一個(gè)國(guó)家的軟件工程不強(qiáng),那么這個(gè)國(guó)家就不會(huì)強(qiáng)大軟件工程要做強(qiáng),關(guān)鍵在于創(chuàng)新,在于規(guī)范化的軟件開(kāi)發(fā)本課程是軟件學(xué)院的最核心課程,區(qū)別于計(jì)算機(jī)科學(xué)系。Software Engineering6沈備軍3Software Engineering軟件工程本質(zhì)軟件工程核心準(zhǔn)則The Reason It All ExistsKIS (Keep It Simple)Maintain the V

5、isionWhat You Produce, Others Will Consume Be Open to the Future Plan Ahead for ReuseThink before You DoSoftware Engineering7沈備軍控制軟件開(kāi)發(fā)的復(fù)雜性軟件開(kāi)發(fā)常常是相當(dāng)復(fù)雜、不可預(yù)測(cè)、難以計(jì)劃的。軟件開(kāi)發(fā)的復(fù)雜性主要來(lái)源于:技術(shù)的復(fù)雜性? 不斷發(fā)展? 使用多項(xiàng)技術(shù)如何控制復(fù)雜性?需求的復(fù)雜性? 模糊? 不斷變化抽象人的復(fù)雜性分解迭代Software Engineering8沈備軍4Software Engineering軟件工程本質(zhì)軟件工程知識(shí)體系 SWEBOK軟件工程

6、知識(shí)體系 (Software Engineering Body of Knowledge) 簡(jiǎn)稱 SWEBOK由IEEE國(guó)際組織推出版本:上一個(gè)版本 V2(2004)當(dāng)前版本 V3(2014)網(wǎng)址:國(guó)際軟件工程師證書:CSDA ,針對(duì)大學(xué)應(yīng)屆生CSDP ,針對(duì)有經(jīng)驗(yàn)的工程師Software Engineering9沈備軍SWEBOK V3的15個(gè)知識(shí)域軟件工程實(shí)踐類知識(shí)域軟件需求、軟件設(shè)計(jì)、軟件構(gòu)造、軟件測(cè)試、軟件維護(hù)、軟件配置管理、軟件工程管理、軟件過(guò)程管理、軟件工程方法、軟件質(zhì)量、軟件工程職業(yè)實(shí)踐軟件工程教育要求類知識(shí)域工程經(jīng)濟(jì)基礎(chǔ)、計(jì)算基礎(chǔ)、數(shù)學(xué)基礎(chǔ)、工程基礎(chǔ)Software Engin

7、eering10沈備軍5Software Engineering軟件工程本質(zhì)討論:軟件工程的要素是什么?人技術(shù)管理過(guò)程Software Engineering軟件工程的金三角111)軟件工程技術(shù)系統(tǒng)工程人完成軟件開(kāi)發(fā)的主體技術(shù)提供了建造軟件在技術(shù)上需要“如何做”的方法管理提供了質(zhì)量管理、成本管理、時(shí)間管理、范圍管理等知識(shí)和技能過(guò)程這是將人、技術(shù)、管理結(jié)合在一起的凝聚力沈備軍人過(guò)程技術(shù)管理需求設(shè)計(jì)編碼測(cè)試運(yùn)行和維護(hù)Software Engineering12沈備軍6Software Engineering軟件工程本質(zhì)系統(tǒng)工程 (System Engineering)在軟件開(kāi)發(fā)之前,必須了解該軟件

8、所外的外部“系統(tǒng)”。計(jì)算機(jī)系統(tǒng)包括計(jì)算機(jī)硬件、軟件、人員、數(shù)據(jù)庫(kù)、文檔、規(guī)程等系統(tǒng)元素。系統(tǒng)工程的任務(wù):系統(tǒng)建模系統(tǒng)模型系統(tǒng)仿真系統(tǒng)工程的表現(xiàn)形式信息系統(tǒng),關(guān)注企業(yè),業(yè)務(wù)過(guò)程工程業(yè)務(wù)模型嵌入式系統(tǒng),關(guān)注產(chǎn)品,產(chǎn)品工程產(chǎn)品模型多媒體系統(tǒng),關(guān)注內(nèi)容,內(nèi)容工程劇本Software Engineering13沈備軍需求( Requirement)目的:澄清用戶的需求。任務(wù):用戶和軟件人員雙方一起來(lái)充分理解用戶的要求,并把雙方共同的理解明確地表達(dá)成一份書面文檔 需求規(guī)約。功能需求非功能需求,如性能、可靠性、可用性等約束條件內(nèi)容:需求獲取需求分析和建模需求定義需求確認(rèn)需求管理重點(diǎn)在 WhatSoftwar

9、e Engineering14沈備軍7Software Engineering軟件工程本質(zhì)設(shè)計(jì)( Design)目的:建立軟件的設(shè)計(jì)藍(lán)圖,是需求到代碼的橋梁。任務(wù):軟件人員依據(jù)軟件需求,進(jìn)行設(shè)計(jì),形成軟件架構(gòu)文檔和設(shè)計(jì)模型。內(nèi)容架構(gòu)設(shè)計(jì)詳細(xì)設(shè)計(jì)重點(diǎn)在 HowSoftware Engineering15沈備軍編程 (Coding)任務(wù) :依據(jù)設(shè)計(jì)文檔為每個(gè)模塊編寫程序編碼前準(zhǔn)備理解設(shè)計(jì),選擇編程語(yǔ)言和編程環(huán)境,創(chuàng)建單元測(cè)試用例編碼盡可能簡(jiǎn)單,代碼本身就是文檔驗(yàn)證代碼走查編譯單元測(cè)試代碼重構(gòu)Software Engineering16沈備軍8Software Engineering軟件工程本質(zhì)測(cè)試

10、 (Testing)任務(wù):發(fā)現(xiàn)并排除軟件中的缺陷不同層次的測(cè)試:?jiǎn)卧獪y(cè)試(Unit testing)集成測(cè)試(Integration testing)系統(tǒng)測(cè)試(System testing)Software Engineering17沈備軍部署 (Deployment)任務(wù):交付、支持和反饋部署原則:Manage customer expectations for eachincrementA complete delivery package should beassembled and testedA support regime should be established Instruc

11、tional materials must be provided to end-usersBuggy software should be fixed first, delivered laterSoftware Engineering18沈備軍9Software Engineering軟件工程本質(zhì)軟件開(kāi)發(fā)工作量分配比例40% 50%測(cè)試10% 20%編程其它Software Engineering19沈備軍運(yùn)行和維護(hù) (Operation and Maintenance)Software Engineering20沈備軍10Software Engineering軟件工程本質(zhì)維護(hù)類型糾錯(cuò)性

12、維護(hù)( Corrective maintenance)由于軟件中的缺陷引起的修改完善性維護(hù)( Perfective maintenance),根據(jù)用戶在使用過(guò)程中提出的一些建設(shè)性意見(jiàn)而進(jìn)行的維護(hù)活動(dòng)適應(yīng)性維護(hù)( Adaptive maintenance)為適應(yīng)環(huán)境的變化而修改軟件的活動(dòng)預(yù)防性維護(hù)( Preventive maintenance)為了進(jìn)一步改善軟件系統(tǒng)的可維護(hù)性和可靠性,并為以后的改進(jìn)奠定基礎(chǔ)Software Engineering21沈備軍費(fèi)用分配比例55%70%Software Engineering22沈備軍11Software Engineering軟件工程本質(zhì)軟件工程的

13、發(fā)展系統(tǒng)工程需求設(shè)計(jì)編碼測(cè)試運(yùn)行和維護(hù)Software Engineering23沈備軍軟件開(kāi)發(fā)方法形式化方法 (Formal Method)結(jié)構(gòu)化方法 (Structured Method)面向?qū)ο蠓椒?(Object Oriented Method)基于構(gòu)件的軟件開(kāi)發(fā)方法 (ComponentBased Software Development)面向服務(wù)方法 ( Service Oriented Method)模型驅(qū)動(dòng)的開(kāi)發(fā)方法 (Model-DrivenDevelopment)敏捷建模方法 (Agile Modeling Method)過(guò)程Software Engineering24沈備

14、軍12Software Engineering面向?qū)ο蠓椒ㄊ侵髁餍枨笞兓瘯r(shí)穩(wěn)功能:最易變定性數(shù)據(jù):較易變?cè)黾訉?duì)象:較穩(wěn)定Software Engineering252)軟件工程管理項(xiàng)目管理的知識(shí)體系( Project Management Body of Knowledge ,PMBOK )TSoftware Engineering26軟件工程本質(zhì)沈備軍人過(guò)程技術(shù)管理沈備軍13Software EngineeringPMBOK的項(xiàng)目管理過(guò)程Software Engineering273)軟件工程中的人People CMMI V2Software Engineering28軟件工程本質(zhì)沈備軍人過(guò)

15、程技術(shù)管理沈備軍14Software Engineering軟件工程本質(zhì)4)軟件過(guò)程過(guò)程定義了 Who,When,Where,How,它是將人、技術(shù)、管理結(jié)合在一起的凝聚力過(guò)程是產(chǎn)品成本、進(jìn)度和質(zhì)量的主要決定因素軟件過(guò)程主要包括:軟件開(kāi)發(fā)過(guò)程軟件支持過(guò)程軟件運(yùn)維服務(wù)過(guò)程軟件復(fù)用過(guò)程人過(guò)程技術(shù)管理Software Engineering29沈備軍軟件過(guò)程分類按風(fēng)格分:線性順序模型增量式模型演化模型按紀(jì)律性分:計(jì)劃驅(qū)動(dòng)的軟件過(guò)程敏捷軟件過(guò)程Software Engineering30沈備軍15Software Engineering軟件工程本質(zhì)軟件過(guò)程評(píng)估標(biāo)準(zhǔn) CMMICMMI 軟件成熟度模型由

16、CMU/SEI 開(kāi)發(fā)/cmmi5 級(jí)-優(yōu)化級(jí)組織績(jī)效管理?CMMI for development (CMMI-DEV)原因分析和解決?CMMI for service (CMMI-SVC)4級(jí) - 定量管理級(jí)?CMMI for Acquisition (CMMI-ACQ)項(xiàng)目定量管理組織過(guò)程績(jī)效3 級(jí)-已定義級(jí)產(chǎn)品集成集成項(xiàng)目管理組織培訓(xùn)組織過(guò)程定義組織過(guò)程重點(diǎn)5優(yōu)化級(jí) Optimizing2 級(jí)-已管理級(jí)需求開(kāi)發(fā)4定量管理級(jí)技術(shù)解決方案Quantitatively Managed配置管理驗(yàn)證3定義級(jí) Defined過(guò)程和產(chǎn)品質(zhì)量保證確認(rèn)2管理級(jí) Managed供應(yīng)商合同管理風(fēng)險(xiǎn)管理1初始級(jí) Performed項(xiàng)目監(jiān)控和控制決策分析和解決項(xiàng)目計(jì)劃需求管理測(cè)量和分析CMMI -DEV V1.3成熟度模型1級(jí) - 初始級(jí)Softwa

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論