版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
單元一
用軟件工程的思想開發(fā)系統(tǒng)軟件工程與UML任務(wù)一:選擇適當(dāng)?shù)能浖^程模型任務(wù)二:用UML模型表達(dá)開發(fā)過程目錄CONTENTS【知識目標(biāo)】理解軟件和軟件工程的概念理解軟件開發(fā)生命周期理解UML在面向?qū)ο蟮能浖_發(fā)過程中的作用掌握軟件過程模型運(yùn)用的原則【能力目標(biāo)】能根據(jù)需求選擇合適的軟件過程模型能讀懂軟件開發(fā)文檔中簡單的UML模型引例描述
“醫(yī)院預(yù)約掛號系統(tǒng)”是指利用電話、網(wǎng)站、自助終端、現(xiàn)場等渠道方便患者預(yù)約看病的系統(tǒng)。
醫(yī)院提供預(yù)約掛號系統(tǒng)對于方便群眾就醫(yī)、提高醫(yī)療服務(wù)水平具有重大意義。施行預(yù)約掛號服務(wù)后,患者可以方便地進(jìn)行就醫(yī)咨詢,提前安排就醫(yī)計(jì)劃,減少候診時(shí)間。同時(shí)也有利于醫(yī)院提升管理水平,提高工作效率和醫(yī)療質(zhì)量,在一定程度中降低醫(yī)療安全風(fēng)險(xiǎn)。任務(wù)一選擇適當(dāng)?shù)能浖^程模型01
任務(wù)陳述不同的軟件過程模型有著各自的適用范圍,合理選擇將有助于降低風(fēng)險(xiǎn)、降低開發(fā)成本,提高軟件的成功率。根據(jù)“醫(yī)院預(yù)約掛號系統(tǒng)”的現(xiàn)有需求和開發(fā)意圖,怎樣選擇適合的軟件過程模型。
知識準(zhǔn)備1.1軟件工程基本理論1.1.1軟件及其特點(diǎn)1.1.2軟件危機(jī)1.1.3軟件工程的定義1.1.4軟件工程的基本原理1.1.5軟件開發(fā)生命周期1.1.6常見的軟件過程模型1.1.7軟件過程模型的應(yīng)用原則開發(fā)出來的軟件往往與用戶的需求有偏差;往往在看到最終交付的產(chǎn)品時(shí),用戶才真正明確自己的需求;在軟件開發(fā)過程中,需求可能經(jīng)常在變,原因可能是用戶本身需求的變化,也可能是我們對需求的理解在發(fā)生變化,但結(jié)果是每次需求變化會帶來軟件系統(tǒng)的開發(fā)延遲,甚至出現(xiàn)變更反復(fù),被推倒了的內(nèi)容又要重新確立;在軟件沒有最終交付時(shí),用戶如何了解開發(fā)進(jìn)展情況;系統(tǒng)難以維護(hù)和擴(kuò)展,經(jīng)常重復(fù)開發(fā)類似的功能;項(xiàng)目經(jīng)常延期,實(shí)際成本往往遠(yuǎn)遠(yuǎn)高于估計(jì)成本;開發(fā)團(tuán)隊(duì)內(nèi)部使用了不同的技術(shù),在交流時(shí)常常有障礙;……軟件危機(jī)的影響軟件及其特點(diǎn)
軟件=程序+數(shù)據(jù)+文檔
軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,與硬件合為一體完成系統(tǒng)功能軟件是腦力勞動的產(chǎn)品,但它不同于追求個(gè)性化的藝術(shù)作品;軟件是產(chǎn)品,但它又不同于工業(yè)化生產(chǎn)得到的有形產(chǎn)品
軟件及其特點(diǎn)
軟件的特點(diǎn)描述抽象性軟件是一種邏輯實(shí)體而不是具體的物理實(shí)體,必須通過測試、分析、思考、判斷來了解它的功能、性能及其他特性可復(fù)制性軟件是通過人們的智力活動,把知識與技術(shù)轉(zhuǎn)化成信息的一種產(chǎn)品,是在研制、開發(fā)中被創(chuàng)造出來的。一旦某一軟件項(xiàng)目研制成功,以后就可以大量地復(fù)制同一內(nèi)容的副本,即其研制成本遠(yuǎn)遠(yuǎn)大于其生產(chǎn)成本不會磨損在軟件的運(yùn)行和使用期間,沒有硬件那樣的機(jī)械磨損、老化問題,但軟件也會出現(xiàn)故障,軟件維護(hù)比硬件維護(hù)要復(fù)雜得多,與硬件的維修有著本質(zhì)的差別依賴性軟件的開發(fā)和運(yùn)行經(jīng)常受到計(jì)算機(jī)系統(tǒng)的限制,對計(jì)算機(jī)系統(tǒng)有著不同程度的依賴。為了消除這種依賴,在軟件開發(fā)中提出了軟件移植的問題,并且把軟件的可移植性作為衡量軟件質(zhì)量的因素之一開發(fā)效率低軟件的開發(fā)尚未完全擺脫手工的方式,依然有大量重復(fù)性的勞動開發(fā)費(fèi)用高軟件的研制工作需要投入大量的、復(fù)雜的、高強(qiáng)度的腦力勞動,需要較高的成本。軟件的開發(fā)是一個(gè)復(fù)雜的過程,因而管理是軟件開發(fā)過程中必不可少的內(nèi)容軟件及其特點(diǎn)
什么是軟件危機(jī)
在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。
軟件危機(jī)包含下述兩方面的問題:如何開發(fā)軟件,以滿足對軟件日益增長的需求;如何維護(hù)數(shù)量不斷增加的已有軟件。
消除軟件危機(jī)的途徑
正確認(rèn)識軟件。
加強(qiáng)管理。使用軟件工具。
軟件危機(jī)軟件工程的定義軟件工程=管理+技術(shù)軟件工程的目標(biāo)軟件工程的定義
軟件工程的基本原理(1)用分階段的生命周期計(jì)劃嚴(yán)格管理。(2)堅(jiān)持進(jìn)行階段評審。(3)實(shí)行嚴(yán)格的產(chǎn)品控制。(4)采用現(xiàn)代程序設(shè)計(jì)技術(shù)。(5)結(jié)果應(yīng)能清楚地審查。(6)開發(fā)小組的人員應(yīng)該少而精。(7)不斷改進(jìn)軟件工程實(shí)踐的經(jīng)驗(yàn)和技術(shù)。軟件工程的基本原理
如何蓋一棟大樓?軟件開發(fā)生命周期軟件開發(fā)生命周期可以劃分成計(jì)劃、設(shè)計(jì)、開發(fā)和運(yùn)行維護(hù)4個(gè)時(shí)期1.問題定義—“要解決的問題是什么?”2.可行性論證及軟件計(jì)劃—“有行得通的解決辦法嗎?”3.需求分析——“系統(tǒng)必須做什么?”4.總體設(shè)計(jì)——“概括地說,應(yīng)該怎樣做?”5.詳細(xì)設(shè)計(jì)——“具體怎樣做?”6.編碼和單元測試7.綜合測試8.運(yùn)行/維護(hù)軟件開發(fā)生命周期1.建造-修補(bǔ)模型早前,軟件開發(fā)人員在進(jìn)行軟件開發(fā)時(shí)不使用規(guī)格說明,或者不嘗試進(jìn)行設(shè)計(jì);只是簡單地建造了一個(gè)軟件產(chǎn)品,但為滿足客戶的要求,只能不斷地改寫該軟件,這就是所謂的建造-修補(bǔ)模型。幾種常見的軟件過程模型2.瀑布模型核心思想是階段性的評審和驗(yàn)證,每一階段結(jié)束時(shí)都要給出完整的文檔。缺點(diǎn)是該模型缺乏靈活性,后一階段出現(xiàn)的問題需要通過前一階段的重新確認(rèn)來解決。幾種常見的軟件過程模型3.原型模型快速設(shè)計(jì)軟件中對用戶可見部分的表示,構(gòu)造原型,由用戶評估,逐步調(diào)整原型,使之滿足用戶需要。其優(yōu)點(diǎn)是開發(fā)者和用戶可以充分溝通,開發(fā)過程也是學(xué)習(xí)過程,可以低風(fēng)險(xiǎn)開發(fā)柔性較大的計(jì)算機(jī)系統(tǒng)。幾種常見的軟件過程模型4.螺旋模型把軟件開發(fā)過程組成為一個(gè)逐步細(xì)化的螺旋周期,每經(jīng)歷一個(gè)周期,系統(tǒng)就得到進(jìn)一步的細(xì)化和完善;整個(gè)模型緊密圍繞開發(fā)中的風(fēng)險(xiǎn)分析,推動軟件設(shè)計(jì)向深層擴(kuò)展和求精。該模型要求開發(fā)人員與用戶能經(jīng)常直接進(jìn)行交流,通常用來指導(dǎo)內(nèi)部發(fā)行的大型軟件項(xiàng)目的開發(fā)幾種常見的軟件過程模型5.增量模型一種漸近式的模型,它把軟件產(chǎn)品作為一系列的增量構(gòu)件來設(shè)計(jì)、編碼、集成和測試。第一個(gè)增量構(gòu)件往往實(shí)現(xiàn)軟件的基本需求,提供最核心的功能。幾種常見的軟件過程模型6.迭代模型迭代模型也是一種漸近式的模型。就對風(fēng)險(xiǎn)的消除上,增量和迭代模型都能夠很好地控制前期的風(fēng)險(xiǎn),但迭代模型在這方面更有優(yōu)勢。迭代模型可以更多地從總體方面思考系統(tǒng)問題,一開始就給出相對完善的框架或原型,后期的每次迭代都是針對上次迭代的逐步精化。幾種常見的軟件過程模型7.噴泉模型認(rèn)為軟件生命周期的各個(gè)階段是相互重疊和多次反復(fù)的,就像水噴上去又可以落下來,水既可以落在中間,也可以落在最底部。整個(gè)開發(fā)過程中都使用統(tǒng)一的概念“對象”進(jìn)行分析,使用統(tǒng)一的概念和符號表示分析設(shè)計(jì)過程,各階段間沒有明顯的邊界,即“無縫”銜接,因此各開發(fā)步驟可以多次反復(fù)迭代,逐步深化。幾種常見的軟件過程模型8.MSF過程模型吸收了瀑布模型的里程碑和螺旋模型的反復(fù)迭代的思想。分為5個(gè)階段,每一階段結(jié)束時(shí)都有明確的交付成果。幾種常見的軟件過程模型(1)總體上說,面向?qū)ο蟮某绦蛟O(shè)計(jì)采用的是噴泉模型,但局部可以結(jié)合其他模型。(2)在前期需求明確、資料完整的情況下盡量采用瀑布模型。(3)在用戶無信息系統(tǒng)使用經(jīng)驗(yàn)、需求分析人員技能不足的情況下要借助原型。(4)在不確定性因素很多、很多東西前面無法計(jì)劃的情況下盡量采用增量模型和螺旋模型。(5)在需求不穩(wěn)定的情況下盡量采用增量迭代模型。(6)在資金和成本無法一次到位的情況下可以采用增量模型,將產(chǎn)品分多個(gè)版本進(jìn)行發(fā)布。(7)增量、迭代和原型可以綜合使用,但每一次增量或迭代都必須有明確的交付內(nèi)容。
軟件過程模型的應(yīng)用原則方案一:采用瀑布模型開發(fā)系統(tǒng)方案二:采用螺旋模型開發(fā)系統(tǒng)
任務(wù)實(shí)施拓展訓(xùn)練一:“字處理軟件新版本開發(fā)”的軟件過程模型拓展訓(xùn)練二:“學(xué)生成績管理系統(tǒng)”的軟件過程模型
拓展訓(xùn)練任務(wù)二用UML模型表達(dá)開發(fā)過程02
任務(wù)陳述UML模型貫穿在整個(gè)軟件開發(fā)的過程中,開發(fā)人員獲取系統(tǒng)需求,進(jìn)行分析和設(shè)計(jì),進(jìn)行溝通等的有效手段,UML在軟件工程提出的“軟件文檔化,文檔可視化”的過程中發(fā)揮著重要的作用。試閱讀ATM系統(tǒng)的建模過程,體驗(yàn)?zāi)P驮谲浖_發(fā)過程中的作用,了解不同開發(fā)階段的主要模型。
知識準(zhǔn)備1.2軟件工程與UML1.2.1面向?qū)ο蟮能浖こ?.2.2UML的概述研究如何通過分解和抽象,將復(fù)雜問題轉(zhuǎn)化成一系列可以理解和實(shí)現(xiàn)的簡單問題。
面向?qū)ο蟮能浖こ堂嫦蜻^程的程序=算法+數(shù)據(jù)結(jié)構(gòu)。面向?qū)ο蟮某绦?對象+類+繼承+消息通信。面向構(gòu)件的程序=構(gòu)件+架構(gòu)。形式化方法是建立在嚴(yán)格的數(shù)學(xué)基礎(chǔ)上,以邏輯推理為出發(fā)點(diǎn),具有精確數(shù)學(xué)語義的開發(fā)方法。面向?qū)ο蟮能浖こ淌裁词敲嫦驅(qū)ο蟮拈_發(fā)方法
面向?qū)ο蟮拈_發(fā)方法的特點(diǎn)是根據(jù)現(xiàn)實(shí)問題直接抽象出對象,分析對象的行為和與行為相關(guān)的數(shù)據(jù),對象間通過傳遞消息進(jìn)行通信,協(xié)作完成相應(yīng)的功能。它從問題出發(fā),模擬現(xiàn)實(shí)問題建立系統(tǒng)模型,易于理解和實(shí)現(xiàn)。(1)反復(fù)迭代完善需求(2)反復(fù)迭代進(jìn)行邏輯設(shè)計(jì)(3)進(jìn)行物理設(shè)計(jì)面向?qū)ο蟮能浖こ堂嫦驅(qū)ο蟮能浖こ痰膬?yōu)勢
(1)概念的一致性
(2)文檔可視化
(3)迭代式開發(fā)
(4)使用模式
(5)基于組件的架構(gòu)
(6)允許變更
面向?qū)ο蟮能浖こ淌裁词擒浖DP偷娜齻€(gè)特點(diǎn)是一種簡化;通過不同的視角看問題;使用通用的符號。軟件建模的實(shí)現(xiàn)過程面向?qū)ο蟮能浖C(jī)制什么是軟件建模統(tǒng)一建模語言(UnifiedModelingLanguage,UML)是一種通用的可視化面向?qū)ο蟮慕UZ言,適用于對任何面向?qū)ο蟮氖挛锏慕?,如面向?qū)ο蟮能浖?、業(yè)務(wù)建模。
什么是UML最初的階段是專家的聯(lián)合行動,由三位OO(面向?qū)ο螅┓椒▽W(xué)家將他們各自的方法結(jié)合在一起,形成UML0.9。第二階段是公司的聯(lián)合行動,由十幾家公司組成的“UML伙伴組織”將各自的意見加入U(xiǎn)ML,形成UML1.0和1.1,并作為向OMG申請成為建模語言規(guī)范的提案。第三階段是在OMG控制下的修訂與改進(jìn),OMG于1997年11月正式采納UML1.1作為建模語言規(guī)范。第四階段是作出重大修訂后于2003年推出UML2.0,UML得到了廣泛認(rèn)可和使用。
UML的歷史用例圖靜態(tài)圖類圖(ClassDiagram)對象圖(ObjectDiagram)包圖(PackageDiagram)行為圖狀態(tài)圖(StatechartDiagram)活動圖(ActivityDiagram)交互圖順序圖(SequenceDiagram)協(xié)作圖(CollaborationDiagram)實(shí)現(xiàn)圖組件圖(ComponentDiagram)部署圖(DeploymentDiagram)UML中的五類圖UML建模機(jī)制UML建模的基本過程不同開發(fā)階段的UML模型
UML建模的基本過程它是優(yōu)秀的文檔可視化工具,符號形象直觀。能體現(xiàn)文檔的連貫性(即需求→設(shè)計(jì)→實(shí)現(xiàn)的自然過渡,且能較靈活地應(yīng)對變更)。貫穿軟件開發(fā)生命周期的各個(gè)階段。能清楚地表達(dá)設(shè)計(jì)模式。與最好的軟件工程實(shí)踐經(jīng)驗(yàn)集成。為面向?qū)ο蟮脑O(shè)計(jì)與開發(fā)中涌現(xiàn)出的高級概念(如協(xié)作、框架、模式和組件)提供支持,強(qiáng)調(diào)在軟件開發(fā)中對架構(gòu)、框架、模式和組件的重用。與具體的實(shí)現(xiàn)無關(guān),可應(yīng)用于任何語言平臺和工具平臺。與具體的過程無關(guān),可應(yīng)用于任何軟件開發(fā)的過程?,F(xiàn)代軟件工程中的作用ATM系統(tǒng)的軟件建模過程概覽
任務(wù)實(shí)施拓展訓(xùn)練一:了解軟件工程的發(fā)展拓展訓(xùn)練二:了解UML的用途
拓展訓(xùn)練軟件不僅僅是程序,軟件=程序+數(shù)據(jù)+文檔。軟件工程是為了盡可能消除軟件危機(jī)的影響,克服軟件缺乏“可見性”的缺點(diǎn),借鑒工業(yè)化生產(chǎn)的成功經(jīng)驗(yàn),對軟件產(chǎn)品的生產(chǎn)過程加以嚴(yán)格管理和控制的一門學(xué)科。它的最終目的是實(shí)現(xiàn)軟件的工業(yè)化生產(chǎn)。傳統(tǒng)軟件工程將軟件開發(fā)生命周期劃分為問題定義、可行性分析、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測試、運(yùn)行維護(hù)8個(gè)階段,每一階段都有具體的任務(wù)和交付成果。軟件過程模型指如何具體地組織銜接軟件開發(fā)生命周期的各個(gè)階段。常用的有瀑布模型、原型模型、螺旋模型、增量模型和噴泉模型等。面向?qū)ο蟮某绦蛟O(shè)計(jì)方法根據(jù)現(xiàn)實(shí)問題直接抽象出對象,分析對象的行為和與行為相關(guān)的數(shù)據(jù),對象間通過傳遞消息進(jìn)行通信,從問題出發(fā),模擬現(xiàn)實(shí)問題建立系統(tǒng)模型,易于理解和實(shí)現(xiàn)。在進(jìn)行面向?qū)ο蟮脑O(shè)計(jì)時(shí),從需求分析到系統(tǒng)設(shè)計(jì)都是一個(gè)反復(fù)迭代的過程。統(tǒng)一建模語言(UML)是一種通用的可視化面向?qū)ο蟮慕UZ言,它使用通用的符號,通過反復(fù)迭代的建模機(jī)制分析需求、進(jìn)行系統(tǒng)的分析和設(shè)計(jì)。它貫穿于軟件工
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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年佛山市三水區(qū)殯儀館編外人員招聘備考題庫及答案詳解參考
- 簡約商務(wù)風(fēng)財(cái)務(wù)會計(jì)年終總結(jié)
- 2025年楚雄云植藥業(yè)有限公司招聘備考題庫及答案詳解1套
- 2025年非遺木雕數(shù)字化傳承現(xiàn)狀分析報(bào)告
- 2025年肅北蒙古族自治縣消防救援大隊(duì)公開招聘政府專職消防人員23人備考題庫完整參考答案詳解
- 2025年四川鹽晟國有資本投資集團(tuán)有限公司關(guān)于公開招聘財(cái)務(wù)部副部長、會計(jì)備考題庫及一套參考答案詳解
- 2025年江陰市東舜城鄉(xiāng)一體化建設(shè)發(fā)展有限公司公開招聘工作人員9人備考題庫及答案詳解參考
- 2025年哈爾濱市天元學(xué)校招聘臨聘教師備考題庫及參考答案詳解
- 2025年百色市樂業(yè)縣專業(yè)森林消防救援隊(duì)伍招聘備考題庫完整答案詳解
- 2025年信息技術(shù)中心招聘備考題庫及答案詳解一套
- 2025年齊齊哈爾市總工會工會社會工作者招聘39人考試筆試模擬試題及答案解析
- 中北大學(xué)2025年招聘編制外參編管理人員備考題庫(一)及一套完整答案詳解
- 教育學(xué)課件教學(xué)課件
- 學(xué)堂在線 雨課堂 學(xué)堂云 科研倫理與學(xué)術(shù)規(guī)范 章節(jié)測試答案
- 口腔診所運(yùn)營管理手冊及營銷方案設(shè)計(jì)
- 教輔銷售年終總結(jié)
- DRBFM的展開詳細(xì)解讀2
- 四環(huán)素的發(fā)酵工藝課件
- 泥漿護(hù)壁鉆孔灌注樁的施工
- 征信調(diào)研報(bào)告3篇
- GB/T 20969.2-2021特殊環(huán)境條件高原機(jī)械第2部分:高原對工程機(jī)械的要求
評論
0/150
提交評論