《軟件工程學(xué)演示模板實(shí)例》由會(huì)員分享,可在線閱讀,更多相關(guān)《軟件工程學(xué)演示模板實(shí)例(20頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、Slide Title,Articles and prepositions are not caps in titles,Unless,of course,the title starts with one,Proper names always have leading caps,Acronyms are always all caps,Fifth level,Capitalize the first word of all bullet items,This applies to subbullets too,Rose,Apex,and Ada,not ROSE,APEX,and ADA,
2、*,第,8,章 軟件工程,XX,XXX,中心,XXXX,大學(xué),根本要求,1了解軟件工程的根本概念、根本原那么,2理解軟件工程的主要定義,3理解軟件的概念及軟件的特征,4了解軟件生產(chǎn)的歷史、軟件危機(jī)及工程失敗的原因,5了解軟件開發(fā)活動(dòng),6了解軟件的生命周期概念,7理解軟件過程及模型,8了解面向?qū)ο蟮姆治雠c設(shè)計(jì)軟件建模的概念及過程,9了解標(biāo)準(zhǔn)建模語(yǔ)言UML的歷史沿革及特點(diǎn),10初步掌握UML主要建模元素,11初步掌握UML建立小型系統(tǒng)的主要步驟和方法,12簡(jiǎn)單掌握建模工具ROSE,內(nèi)容及安排,授課(課內(nèi)4學(xué)時(shí),課外4學(xué)時(shí)),81軟件工程概述(0.5學(xué)時(shí)),811軟件及軟件的特征,812軟件生產(chǎn)的歷
3、史,813軟件危機(jī),815工程失敗的原因,816軟件工程的主要定義,82 軟件開發(fā)活動(dòng)(1學(xué)時(shí)),821軟件的生命周期,822軟件開發(fā)活動(dòng),823軟件過程及模型,83 面向?qū)ο蟮姆治雠c設(shè)計(jì),831標(biāo)準(zhǔn)建模語(yǔ)言UML(1學(xué)時(shí)含實(shí)驗(yàn)介紹),832用UML建立學(xué)籍管理系統(tǒng)舉例(1學(xué)時(shí)含實(shí)驗(yàn)介紹),84建模工具ROSE介紹(自學(xué)),實(shí)驗(yàn)(課內(nèi)4學(xué)時(shí),課外4學(xué)時(shí)),Rose的軟件界面(自學(xué)),實(shí)驗(yàn)-1 UML建模元素的創(chuàng)立和組織(1學(xué)時(shí)),實(shí)驗(yàn)-2 學(xué)籍管理系統(tǒng)建摸(3學(xué)時(shí)),8,1,軟件工程概述,8,1,1,軟件及軟件的特征,軟件:計(jì)算機(jī)程序及說明程序的各種文檔,即軟件是指令、數(shù)據(jù)結(jié)構(gòu)和文檔的集合。程
4、序是計(jì)算任務(wù)的處理對(duì)象和處理規(guī)那么的描述。軟件是一個(gè)信息變換器,它對(duì)信息進(jìn)行產(chǎn)生、管理、獲取、修改、顯示和傳遞等處理。被處理的信息可以是簡(jiǎn)單的比特也可以是復(fù)雜的多媒體。,軟件應(yīng)具備6個(gè)特征:,1 是一種邏輯產(chǎn)品,與物質(zhì)產(chǎn)品有很大的區(qū)別。,2 軟件產(chǎn)品的生產(chǎn)主要是研制,生產(chǎn)本錢主要在開發(fā)和研制,開發(fā)研制完成后,通過復(fù)制就產(chǎn)生了大量軟件產(chǎn)品。,3 軟件產(chǎn)品不會(huì)用壞,不存在磨損、消耗。但軟件是有生命周期的。,4 生產(chǎn)主要是腦力勞動(dòng),還未完全擺脫手工開發(fā)方式。,5 開發(fā)軟件的費(fèi)用不斷增加,致使生產(chǎn)本錢相當(dāng)昂貴,6 軟件還必須具備可維護(hù)性Maintainability、獨(dú)立性Dependability和
5、效率性Efficiency和可用性Usability四個(gè)屬性。,8,1,2,軟件生產(chǎn)的歷史,8,1,3,軟件危機(jī),軟件開發(fā)技術(shù)的進(jìn)步未能滿足開展的要求。在軟件開發(fā)中遇到的問題找不到解決的方法,問題積累起來,形成鋒利的矛盾,導(dǎo)致了軟件危機(jī)。,軟件危機(jī)的表現(xiàn):對(duì)軟件開發(fā)本錢和進(jìn)度的估計(jì)常常很不準(zhǔn)確,經(jīng)費(fèi)預(yù)算經(jīng)常突破,完成時(shí)間一再拖延;開發(fā)的軟件不能滿足用戶要求,用戶對(duì)“已完成的軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生;開發(fā)的軟件可維護(hù)性差;開發(fā)的軟件可靠性差。,軟件危機(jī)產(chǎn)生原因?yàn)椋很浖?guī)模越來越大,結(jié)構(gòu)越來越復(fù)雜;軟件開發(fā)管理困難而復(fù)雜;軟件開發(fā)費(fèi)用不斷增加;軟件開發(fā)技術(shù)落后;生產(chǎn)方式落后,仍采用手工方式;開
6、發(fā)工具落后,生產(chǎn)率提高緩慢。,歸納起來軟件危機(jī)的核心原因是軟件系統(tǒng)的復(fù)雜度遠(yuǎn)大于硬件,計(jì)算機(jī)工業(yè)中硬件產(chǎn)品制造已經(jīng)標(biāo)準(zhǔn)化,工程化,產(chǎn)業(yè)化,但軟件生產(chǎn)離此目標(biāo)還很遠(yuǎn)。,假設(shè)一個(gè)人一年可以開發(fā)出一個(gè)一萬(wàn)行的程序,該軟件是否集中4000人的力量一年就可以完成呢?絕對(duì)做不到!因?yàn)榇a長(zhǎng)度增加了4000倍,程序復(fù)雜程度的增加遠(yuǎn)遠(yuǎn)超過4000倍。,815工程失敗的原因,因素,Factors,所占百分比,%,1.Incomplete Requirements,不完整的需求,13.1%,2.Lack of User Involvement,缺乏用戶參與,12.4%,3.Lack of Resources,缺乏
7、資源,10.6%,4.Unrealistic Expectations,不實(shí)際的期望,9.9%,5.Lack of Executive Support,缺乏執(zhí)行的支持,9.3%,6.Changing Requirements&Specifications,需求和規(guī)格的變化,8.7%,7.Lack of Planning,缺乏計(jì)劃,8.1%,8.Do not Need It Any Longer,不再需要,7.5%,9.Lack of IT Management,缺乏,IT,管理,6.2%,10.Technology Illiteracy,技術(shù)落后,(技術(shù)盲區(qū)),4.3%,11.Others,其
8、他,9.9%,Standish Group 1995,8,1,6,軟件工程的主要定義,軟件工程根本思想:用科學(xué)的知識(shí)和技術(shù)原理來定義、開發(fā)、維護(hù)軟件;用工程科學(xué)的觀點(diǎn)進(jìn)行費(fèi)用估算,制定進(jìn)度,制定方案和方案;用管理科學(xué)的方法和原理進(jìn)行生產(chǎn)的管理;用數(shù)學(xué)的方法建立軟件開發(fā)中的各種模型和算法。,軟件工程目標(biāo):付出較低開發(fā)本錢;到達(dá)要求的功能;取得較好的性能;開發(fā)的軟件易于移植;只需較低的維護(hù)費(fèi)用;能按時(shí)完成開發(fā)任務(wù),及時(shí)交付使用;開發(fā)的軟件可靠性高。,軟件工程內(nèi)容:研究?jī)?nèi)容包括開發(fā)技術(shù)和開發(fā)管理兩個(gè)方面。開發(fā)技術(shù)主要研究軟件開發(fā)方法,開發(fā)過程,開發(fā)工具和環(huán)境。開發(fā)管理主要研究軟件管理學(xué),軟件經(jīng)濟(jì)學(xué),
9、軟件心理學(xué)。,軟件工程需要解決的問題:軟件的費(fèi)用,可靠性,可維護(hù)性,軟件生產(chǎn)率和軟件的重用。,軟件工程規(guī)定了獲取,供給,開發(fā),操作和維護(hù)軟件時(shí),要實(shí)施的過程、活動(dòng)和任務(wù)。目的是為各種人員提供一個(gè)公共的框架,以便用相同的語(yǔ)言進(jìn)行交流。軟件工程包括:獲取過程,供給過程,開發(fā)過程,操作過程,維護(hù)過程,管理過程,支持過程。,軟件開發(fā)方法:使用早已定義好的技術(shù)集及符號(hào)表示習(xí)慣來組織軟件生產(chǎn)的過程。軟件開發(fā)方法是克服軟件危機(jī)的重要方面之一,對(duì)軟件工程及軟件產(chǎn)業(yè)的開展起了不可估量的作用。,軟件工程工具和方法,本活動(dòng)目的是給軟件開發(fā)組織提供軟件開發(fā)環(huán)境過程和工具軟件。開發(fā)隊(duì)伍需要它們的支持。程序(軟件)的開發(fā)
10、、運(yùn)行都是在支持軟件的根底上作出的。這些支持軟件的總和我們稱之為軟件開發(fā)環(huán)境(Environment),早期的環(huán)境只有最必要的軟件工具:,語(yǔ)言的編譯器、連接器、加載和運(yùn)行工具、排錯(cuò)(debugging)工具,終端顯示和編輯工具。我們稱最小環(huán)境工具集。,70年代中期,軟件工程師迫于軟件危機(jī)的壓力,提出了計(jì)算機(jī)輔助軟件工程(CASE)的設(shè)想,開發(fā)出一系列工具盡量使軟件過程的各項(xiàng)活動(dòng)自動(dòng)化、半自動(dòng)化。工具日益增多,單點(diǎn)式使用工具很不方便,使用者要逐個(gè)將工具調(diào)入,使用后其生成的產(chǎn)物需要逐個(gè)保管,一個(gè)工具要用到另一工具的輸出,其格式不對(duì)就無法用,消除或修改一個(gè)名字,那么各工具產(chǎn)物中所有相同的名字都要逐個(gè)
11、修改。這就在客觀上產(chǎn)生了對(duì)于集成的CASE工具的需求。,軟件工程工具,信息工程工具,過程模型和管理工具,工程方案工具,風(fēng)險(xiǎn)分析工具,工程管理工具,需求追蹤工具,度量和管理工具,文檔工具,系統(tǒng)軟件工具,質(zhì)量保證工具,數(shù)據(jù)庫(kù)管理工具,軟件質(zhì)量,軟件質(zhì)量保證的SQA活動(dòng),貫穿于軟件過程始終。開發(fā)單位成立SQA小組負(fù)責(zé)全面質(zhì)量管理。在開發(fā)工程方案時(shí)就要做出SQA方案。對(duì)于SQA組的工作不外乎以下幾方面:,各種測(cè)試 測(cè)試軟件是否滿足規(guī)格說明的要求。,各種評(píng)審 為多種人員參與的討論會(huì),以規(guī)格說明或各種標(biāo)準(zhǔn),標(biāo)準(zhǔn)為準(zhǔn)評(píng)價(jià)各項(xiàng)軟件工作。,各種審計(jì) 審計(jì)(Audit),以職能人員為主審,審查軟件過程產(chǎn)物是否符合
12、標(biāo)準(zhǔn)或規(guī)格說明書。,報(bào)告和記錄 所有測(cè)試、評(píng)審、審計(jì)都要詳細(xì)記錄并寫出報(bào)告,報(bào)告和記錄均要整理、歸檔。,以上活動(dòng)均應(yīng)在軟件質(zhì)量保證方案中列出。,軟件過程模型,定義:,描述軟件開發(fā)過程中各種活動(dòng)如何執(zhí)行的模型。對(duì)軟件開發(fā)提供強(qiáng)有力的支持,為開發(fā)過程中的活動(dòng)提供統(tǒng)一的政策保證,為參與開發(fā)的人員提供幫助和指導(dǎo),是軟件生命周期模型化技術(shù)的根底,也是建立軟件開發(fā)環(huán)境的核心。,A software development process defines Who is doing What,When and How in building a software product,作用:,是確立了軟件開發(fā)中各階
13、段的次序限制,活動(dòng)準(zhǔn)那么,所要遵守的規(guī)定和限制,便于各種活動(dòng)的協(xié)調(diào),人員之間的有效通信,有利于活動(dòng)重用和活動(dòng)管理。,準(zhǔn)那么:,模型能表示各種活動(dòng)的實(shí)際工作方式,能隨情況變化而演化,能表示各種活動(dòng)間同步和制約關(guān)系,能表示活動(dòng)的動(dòng)態(tài)特性。容易為開發(fā)人員理解,能適應(yīng)不同軟件工程,具有較強(qiáng)靈活性,能支持軟件開發(fā)環(huán)境的建立。,模型舉例,-RUP,軟件工程領(lǐng)域在20世紀(jì)末取得最重要的的成果之一就是統(tǒng)一建模語(yǔ)言(UML:Unified Modeling Language),目前UML已得到了廣泛的應(yīng)用,這是面向?qū)ο蠹夹g(shù)和軟件工程的新進(jìn)展,The Unified Modeling Language(UML)i
14、s a language for specifying,visualizing,constructing,and documenting the artifacts of a software-intensive system,IBM Rational公司為了配合UML提出了統(tǒng)一過程模型Rational Unified Process RUP。,RUP說明如何應(yīng)用軟件工程的最正確方案,以及如何使用工具來實(shí)現(xiàn)軟件工程流程的自動(dòng)化。,注意:選用RUP這樣一個(gè)具體的過程模型作為教學(xué)的案例,RUP,用二維結(jié)構(gòu)或沿著兩個(gè)坐標(biāo)軸來表達(dá)。,橫軸代表了制訂開發(fā)過程時(shí)的時(shí)間,表達(dá)了過程的動(dòng)態(tài)結(jié)構(gòu),周期cycle
15、、階段(phase)、迭代(iteration)和里程碑(milestone),縱軸表現(xiàn)了過程的靜態(tài)結(jié)構(gòu),活動(dòng)(activity)、制品(artifact)、角色(worker)和工作流(workflow),Major Workflows Produce Models,Analysis&Design,ImplementationModel,TestModel,realized by,implemented by,verified by,Requirements,Implementation,Test,Use-CaseModel,DesignModel,BusinessModeling,Busi
16、ness,Use-Case Model,automated by,Business Object Model,8,3,面向?qū)ο蟮姆治雠c設(shè)計(jì),分析與設(shè)計(jì),軟件開發(fā)活動(dòng)中軟件需求和軟件設(shè)計(jì)是軟件開發(fā)活動(dòng)中最重要的兩個(gè)活動(dòng),并且與某一具體開發(fā)方法結(jié)合的最為緊密,軟件需求和軟件設(shè)計(jì)簡(jiǎn)稱為分析與設(shè)計(jì),.,分析與設(shè)計(jì)有時(shí)也叫軟件建模,其方法也叫建模方法,建模方法采用的符號(hào)體系叫建模語(yǔ)言。,無論從學(xué)科角度還是從工程實(shí)踐角度分析與設(shè)計(jì)涉及的問題是最具挑戰(zhàn)性和革命性的。一旦分析與設(shè)計(jì)的方法發(fā)生改變會(huì)改變軟件工程的歷史。正是由于面向?qū)ο蠹夹g(shù)在分析和設(shè)計(jì)階段提出了新的不同于結(jié)構(gòu)化的方法,使軟件工程從結(jié)構(gòu)化方法時(shí)代進(jìn)入了面向?qū)ο蠓椒〞r(shí)代。,面向?qū)ο蟮姆治雠c設(shè)計(jì),面向?qū)ο筌浖_發(fā)方法的核心是面向?qū)ο蟮姆治雠c設(shè)計(jì),本節(jié)針對(duì)面向?qū)ο蠓治雠c設(shè)計(jì)方法,重點(diǎn)介紹UML方法。采用一個(gè)例子對(duì)UML方法進(jìn)行描述,最后介紹一個(gè)UML的CASE工具ROSE,在實(shí)驗(yàn)指導(dǎo)書的幫助下學(xué)生要掌握ROSE的使用,并對(duì)一個(gè)簡(jiǎn)單問題進(jìn)行建模,以掌握面向?qū)ο蟮母舅枷牒蚒ML的主要方法。,面向?qū)ο蟮姆治雠c設(shè)計(jì)(OOAOOD)方法的開展(自學(xué)),