課件老師軟工01.introduction v1_第1頁(yè)
課件老師軟工01.introduction v1_第2頁(yè)
課件老師軟工01.introduction v1_第3頁(yè)
課件老師軟工01.introduction v1_第4頁(yè)
課件老師軟工01.introduction v1_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余41頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、Software EngineeringI studied Mathematics at the Vrije Universiteit, and got my PhD in Computer Science from the University of Amsterdam in 1979. I worked as a researcher at the Dutch National Research Institute for Mathematics and Computer Science (CWI) until 1987. During 1983-84, I spent a year as

2、 a visiting scientist at the IBM Research Laboratory in San Jose, California. I am a professor of Software Engineering at the Vrije Universiteit since 1987.I wrote my first (Dutch) text book in 1984. The latest edition is published by Wiley & Sons in 2008: Software Engineering; Principles and Practi

3、ce.My main research interests are in software architecture and quantitative aspects of software engineering. I was program co-chair of the Second Working IEEE/IFIP Conference on Software Architecture, held in Amsterdam, August 28-31, 2001 (WICSA2001). I am the general chair of the ESEC/FSE conferenc

4、e on Software Engineering, that will take place in Amsterdam, August 2009. I am the Editor in Chief of the Journal of Systems and Software. 2Software definition軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序,數(shù)據(jù)及其相關(guān)文檔的完整集合。3 Software does not wear out as over a period of time it will e more reliable. 沒(méi)有硬件那樣的機(jī)械磨損、老化問(wèn)題 S

5、oftware is not manufactured 沒(méi)有明顯的制造過(guò)程 Most software is custom-built, rather than being assembled from existing components 手工藝的開(kāi)發(fā)方式 It is flexible and hence can easily modate the changes. If changes are not modated in a planned manner it can also led to failure of the product 靈活,復(fù)雜,成本高Software charac

6、teristics 4Software applications operating systems, editors, driversCAD,MATLAB, Engineering Pro, Circuit analyzersHTML, Java, Perl, DHTMLexpert systems, artificial neural network,signal processing softwareweather forecast, CCTV operationaircraft, automobile, signalling system, control unit of power

7、plantspayroll, employee management, account managementword processors, multimedia, database management, computer games5Software Crisis 6ARIANE Flight 501 ,1996Disintegration after 39 secCaused by large correction for attitude deviationCaused by wrong data being sent to On Board ComputerCaused by sof

8、tware exception in Inertial Reference System after 36 sec.7Possible reasonsInadequate testingWrong type of reuseWrong design philosophy8Inadequate testing?Overflow in conversion of variable BH from 64-bit floating point to 16-bit signed integerOf 7 risky conversions, 4 were protected; BH was notSpec

9、ification does not contain Ariane 5 trajectory data as a functional requirementIn tests, the SRIs (components that measure altitude and movements of the launcher) were simulated by software modules910Improper reuse?If a component works perfectly well in one environment, it doesnt necessarily do so i

10、n anotherAriane 5 is much faster than Ariane 4, and horizontal velocity builds up more rapidly excessive values for parameter in questionWish for quick alignment after hold in shutdown this software runs for a while after lift-off. It doesnt have any purpose for the Ariane 5, but was still kept11Wro

11、ng design philosophy?If something breaks down, such is caused by a random hardware failureAction: shut down that partThere is no provision for design errors12Further information:IEEE Computer, jan. 1997, p. 129-130 13 a Narrows bridge 194014Same bridge, a while later15Software crsis16Software engine

12、eringThe beginning1968/69 NATO conferences: introduction of the term Software EngineeringIdea: software development is not an art, or a bag of tricksBuild software like we build bridges17Current statusa lot has been achievedbut some of our bridges still collapse18SE Definition (IEEE)1 )1968 年,第一屆 NA

13、TO 會(huì)議 為了經(jīng)濟(jì)地獲得可靠的,且能在實(shí)際機(jī)器上有效地運(yùn)行的軟件,而建立和使用完善的工程原理。 2 ) IEEE/CS(電氣電子工程師協(xié)會(huì)計(jì)算機(jī)科學(xué)分會(huì)) 1993 年,將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)用于軟件的開(kāi)發(fā)、運(yùn)行和維護(hù)的過(guò)程,即將工程化應(yīng)用于軟件中。研究中提到的途徑。19Central themes, characteristics SESE is concerned with BIG programscomplexity is an issuesoftware evolvesdevelopment must be efficientyoure doing it together

14、software must effectively support usersinvolves different disciplinesSE is a balancing act軟件工程關(guān)注于大型程序的構(gòu)造軟件工程的中心課題是控制復(fù)雜性軟件經(jīng)常變化開(kāi)發(fā)軟件的效率非常重要和諧地合作是開(kāi)發(fā)軟件的關(guān)鍵軟件必須有效地支持它的用戶在軟件工程領(lǐng)域中是由具有一種文化背景的人替具有另一種文化背景的人創(chuàng)造產(chǎn)品20Relative distribution of software/hardware costsHardwareDevelopmentSoftwareMaintenance195519701985Ye

15、ar1006020Percent of total cost21Point to ponder #1Why does software &maintenance cost so much?為什么軟件的維護(hù)費(fèi)用如此巨大?22How to built software? process? Building software Building bridges?yes, and nosoftware is logical, rather than physicalprogress is hard to see (speed progress)software is not continuous23Bu

16、ilding software Building bridges?24Simple life cycle modelproblemreqs specificationrequirements analysisSystem designDesign docimplementationsystemtestingworking systemmaintenance問(wèn)題定義需求分析可行性研究總體設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼和單元測(cè)試綜合測(cè)試軟件維護(hù)軟件定義期軟件開(kāi)發(fā)期軟件維護(hù)期25Point to ponder #2Is this a good model 是不是一個(gè)好的模型?是不是軟件開(kāi)發(fā)過(guò)程中我們應(yīng)該遵循的步驟

17、?26Requirements Engineeringyields a description of the desired system:which functionspossible extensionsrequired documentation(what kind)performance requirements.includes a feasibility study 可行性resulting document: requirements specification需求說(shuō)明書(shū)27Designearliest design decisions captured in software

18、architecture position system into ponents; what are the functions of, and interfaces between, those components?emphasis on what rather than howresulting document: specification 規(guī)格說(shuō)明書(shū)28Implementationfocus on individual componentsgoal: a working, flexible, robust, piece of softwarenot a bag of tricksT

19、he result of the implementation phase is an executable program.29TestingIt is wrong to say that testing is a phase following implementation.are we building the right system? (validation)are we building the system right? (verification)start testing activities in phase 1, on day 130Maintenancecorrecti

20、ng errors found after the software has been delivered adapting the software to changing requirements, changing environments, .software updates, new versions.31Global distribution of efforttesting 45%implementationcoding 20%design 15% specification 10%requirementsengineering10%問(wèn)題定義需求分析可行性研究總體設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼

21、和單元測(cè)試綜合測(cè)試軟件維護(hù)軟件定義期軟件開(kāi)發(fā)期軟件維護(hù)期32Global distribution of efforttrend: enlarge requirements specification/design slots; reduce test slotbeware: Maintenance alone consumes 50-75% of total effort. Thus, maintenance alone consumes more than the various development phases taken together!According to (Boehm,

22、1987b), successful projects follow a 60-15-25 distribution: 60% requirements engineering and design,15% implementation and 25% testing33Kinds of maintenance activitiescorrective maintenance: correcting errors糾錯(cuò)性維護(hù)adaptive maintenance: adapting to changes in the environment (both hardware and softwar

23、e)適應(yīng)性維護(hù)perfective maintenance: adapting to changing user requirements 完善性維護(hù)prev預(yù)防性維護(hù)34Distribution of maintenance activitiescorrective 21%adaptive 25%preventive 4%perfective 50%糾錯(cuò)性維護(hù);適應(yīng)性維護(hù);完善性維護(hù);預(yù)防性維護(hù)35Point to ponder #3You are a tester, and the product you are testing does not yet meet the requirem

24、ents agreed upon in writing. Your manager wants to ship the product now, however, continue testing so that the next release will meet the testing requirements. What do you do?Discuss the issue with your manager?Talk to the managers boss?Talk to the customer?36Software Engineering Ethics - Principles

25、Act consistently with the public interestAct in a manner that is in the best interest of the client and employerEnsure that products meet the highest professional standards possibleMaintain integrity in professional judgmentManagers shall promote an ethical approachAdvance the integrity and reputati

26、on of the professionBe fair to and supportive of colleaguesParticipate in lifelong learning and promote an ethical approach37軟件工程基本原理B.W.Boehm, 1983 年提出軟件工程的7條基本原理: 用分階段的生命周期計(jì)劃嚴(yán)格管理 堅(jiān)持進(jìn)行階段評(píng)審 實(shí)行嚴(yán)格的產(chǎn)品控制基線 采用現(xiàn)代程序設(shè)計(jì)技術(shù) 結(jié)果應(yīng)能清楚地審查 開(kāi)發(fā)小組的人員應(yīng)該少而精 承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性38 trends?It takes at least 15-20 years for a te

27、chnology to e mature; this also holds for computer science: UNIX, relational databases, structured programming, Software engineering has made tremendous progressionThere is no silver bullet, though39Recent developments 2000+Rise of agile methods 敏捷方法Shift from producing software to using software軟件生

28、產(chǎn)方式Success of Open Source Software 開(kāi)源軟件Software development es more heterogeneous 多元化40The Agile methods Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan41P

29、roducing software Using softwareBuilders build pieces, integrators integrate themRequirements come from a variety of other sources, such as helpdesk call-log analysis or market research (Sawyer, 2001)Component-Based Development (CBSD)Software Product Lines (SPL)Commercial Off-The-Shelves (COTS)Service Orientation (SOA)42Open Sou

溫馨提示

  • 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)論