考試知識框架信息系統(tǒng)集成技術(shù)_第1頁
考試知識框架信息系統(tǒng)集成技術(shù)_第2頁
考試知識框架信息系統(tǒng)集成技術(shù)_第3頁
考試知識框架信息系統(tǒng)集成技術(shù)_第4頁
考試知識框架信息系統(tǒng)集成技術(shù)_第5頁
已閱讀5頁,還剩123頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1第一章、前言項目需求可行性監(jiān)理書督促和助理解決方案需求報告監(jiān)督和建議報告 項目章程2系統(tǒng)集成商的項目經(jīng)理的項目實施團隊承約方/乙方:系統(tǒng)集成商監(jiān)理方客戶/甲方認證方管理或投資機構(gòu)信息系統(tǒng)集成技術(shù)高章舜gaozhsh2002 gaozhsh2007中國電子學會 信息系統(tǒng)集成分會2甲方企業(yè)的IT發(fā)展戰(zhàn)略企業(yè)規(guī)模企業(yè)成立電信 電財信務FI財務FI企業(yè)成立1年后采購MM銷售SM采購MM 銷售SM 企業(yè)內(nèi)部集成后庫存IM 車間WM供應商經(jīng)銷商上下游信息化后CRMCRMCRM企業(yè)從事各種業(yè)務,有自己的發(fā)展戰(zhàn)略:所在的行業(yè)如各級黨政軍警機關(guān)(電子政務)、教育、郵電、時間T電信、石化、快速消費品、制造業(yè)41

2、.1 、甲方發(fā)展戰(zhàn)略及其IT發(fā)展 什么戰(zhàn)略?這個術(shù)語來自軍事,原意是指中對抗各方制定的制勝的謀略。 什么是企業(yè)戰(zhàn)略?“企業(yè)戰(zhàn)略就是指企業(yè)在市場體制下,根據(jù)企業(yè)內(nèi)外環(huán)境及可取得的情況,為求得企業(yè)生存和長期穩(wěn)定地發(fā)展,對企業(yè)發(fā)展目標,達成目標的途徑和的總體謀劃。” 什么是戰(zhàn)略管理?戰(zhàn)略管理指的是對戰(zhàn)略產(chǎn)生過程的管理,以及對這個戰(zhàn)略貫徹過程的管理。33第二章軟件開發(fā)的典型方法 預備概念1. 類 (Class)類是現(xiàn)實世界中實體的形式化描述,類將該實體的屬性(數(shù)據(jù))和功能(函數(shù))封裝在一起。類是一種復雜的數(shù)據(jù)類型。6甲方的IT發(fā)展戰(zhàn)略企業(yè)規(guī)模企業(yè)成立電信 財務FI企業(yè)成立1年后采購MM銷售SM1、企業(yè)

3、IT發(fā)展戰(zhàn)略2、企業(yè)IT規(guī)劃企業(yè)內(nèi)部集成后3、信息技術(shù)戰(zhàn)略規(guī)劃庫存IM 車間WM供應商經(jīng)銷商上下游信息化后CRMCRMCRM企業(yè)發(fā)展戰(zhàn)略:所在的行業(yè)如電子政務、郵電、電信、時間T石化、快速消費品、制造業(yè)5基礎(chǔ)設施及網(wǎng)絡系統(tǒng)42. 對象(Object)對象是類的一個實例(Instance)。如果將對象比作房子,那么類就是房子的設計圖紙。所以面向?qū)ο蟪绦蛟O計的重點是類的設計,而不是對象的設計。3. 類相當于復雜的一種數(shù)據(jù)類型,一種帶有操作函數(shù)的數(shù)據(jù)類型。而對象是該類型的變量。8描述賬戶如下:類賬戶ClassACCOUNT屬性:Attribute:存款人;name;號;ID_Number;日期;da

4、te;帳號;Account_Number;;password;帳上余額;Total;行為:Function:存款( );Save( );取款( );Withdraw( );75繼承1. 廣義地說,繼承是指能夠直接獲得已有的性質(zhì)和特征,而不必重復定義它們。在面向?qū)ο笾校^承是子類自動地共享基類中定義的數(shù)據(jù)和方法的機制。2. 父類:類的上層,也叫基類。3. 子類:類的下層,也叫派生類。4. 繼承有時也叫派生。10封裝封裝:把類中的數(shù)據(jù)同函數(shù)組合在一起。類內(nèi)數(shù)據(jù)和函數(shù)的存取權(quán)限:1)public 2)protect 3)private以達到共享和隱藏類的數(shù)據(jù)和函數(shù)的目的。96多態(tài)定義:1、將派生類的

5、對象當作基類的對象使用?;颍?、給行為(函數(shù)/虛函數(shù))取一個名字或符號,它共享一個類的層次,在這個層次中的每個類都以適合 的方式實現(xiàn)這個行為?;颍?、一體(函數(shù)/虛函數(shù))多用。12繼承和組合1、如果類A和類B毫不相關(guān),不可以為了使B的功能更多些而讓B繼承A的功能。2、如果類B有必要使用A的功能,則要分兩種情況考慮:1) 若在邏輯上B是A的“一種”(a kind of ),則允許B繼承A的功能。如男人n(aMMann)aM是人(Human)的一種,男孩y(oBBoyy)oB是男人的一種。那么n類aMMann可aM以從類Human派生,y類oBBoyy可oB以從na類MMan派n派a生M 。2)

6、若在邏輯上B是 A 的“一部分”(a part of),則不允許B 繼承A 的功能, 而是要用B 和其它東西組合出A 。例如眼e(yEEyee)yE、 鼻( Nose ) 、 口( Mouth ) 、 耳r(aEEarr)aE是 頭(Head)的一部分,所以類Head應該由e類y類EEyee、yNENose、Mouth、 raEEar組r組a合E 而成,不是派生而成。117思考題以下的陳述正確并且全面的是:A. 對象是類的實例B. 類是對象集合的抽象定義C. 對象有生命期D. 以上都對14思考題下面哪一個選項不是對象的特性?A.狀態(tài)B.行為C.標識D.多態(tài)138體系結(jié)構(gòu)(Architectur

7、e) 體系結(jié)構(gòu)亦可稱為架構(gòu)Software Architecture = Elements,Forms,Rationale / Constraint ,軟件主架構(gòu) = 組件元素,元素互助合作之模式, 礎(chǔ)要求與限制。軟件主架構(gòu)的設計就是:將各組件元素以某些理想的合作模式組織起來以達成系統(tǒng)的基本功能和限制。 舉例 OA/WEB /ERP /BOSS /? 網(wǎng)絡體系結(jié)構(gòu)? 布線有無體系結(jié)構(gòu)?16基本概念:思想這里,指的是軟件項目的技術(shù)開發(fā)思路。 關(guān)于軟件開發(fā)的一整套理論、方法、步驟和工具。到目前為止,至少有兩個:1、結(jié)構(gòu)化系統(tǒng)分析和設計 + 軟件生命期的瀑布模型或其改進型模型 + 文字/圖形處理軟件

8、。2、面向?qū)ο蟮南到y(tǒng)分析和設計 + 軟件開發(fā)的迭代模型 +CASE工具?,F(xiàn)在,依據(jù)上述思想實現(xiàn)的思路有: 1、微軟的MSF;2、UML + RUP +ROSE;問題:瀑布模型/迭代模型僅適用于軟件項目嗎?159例2:企業(yè)網(wǎng)典型設計模型外網(wǎng)服務器VPNInternet子公司公有I P路由器地址區(qū)Extranet防火墻/代理服務器域Intranet私有I PVLAN1VLAN2地址ELAN區(qū)域ATM寬帶多VLAN3VLAN4媒體通信網(wǎng)18公共VLAN內(nèi)網(wǎng)服務器NAS例1:信息系統(tǒng)集成體系結(jié)構(gòu)客戶/服務器平臺beWWeb平b平e臺WIUGGUI平I平U臺G軟件集成數(shù)據(jù)庫平5、臺用戶界面 Intern

9、et/Intranet基礎(chǔ)服務 網(wǎng)絡4管、理網(wǎng)平絡絡臺應用系統(tǒng) 開發(fā)工具 網(wǎng)絡傳輸基礎(chǔ)設施數(shù)據(jù)庫平臺網(wǎng)開絡發(fā)通信工設具備基礎(chǔ)服務數(shù)據(jù)集成網(wǎng)絡服務器和操作系統(tǒng)3、網(wǎng)應絡用協(xié)基議礎(chǔ)平臺 外部信息基礎(chǔ)設備互聯(lián)互通網(wǎng)絡集成172、計算機網(wǎng)絡平臺(外部信息基礎(chǔ)設機施房) 電源1、環(huán)境支持平臺網(wǎng)絡安全與網(wǎng)絡管理10典型的體系結(jié)構(gòu) 范圍/功能分解、地理上分散分布,典型的有: 層次體系結(jié)構(gòu)特點: 客戶機/服務器結(jié)構(gòu) 瀏覽器/服務器結(jié)構(gòu) 多層體系結(jié)構(gòu) 消息驅(qū)動 SOA? DIY體系結(jié)構(gòu), ISO和國際電信ITU-T積10年之功,推出了體系結(jié)構(gòu)的國際標準RM-ODP(Reference Mfor Open Dis

10、tributed Processing)。 UML也給出了與RM-ODP兼容的體系結(jié)構(gòu)。20例3:弱電系統(tǒng)體系結(jié)構(gòu)19安防系統(tǒng)消防、空調(diào)系統(tǒng)中控室考勤系統(tǒng)電話系統(tǒng)網(wǎng)絡系統(tǒng)11體系結(jié)構(gòu)示例1、選擇組件2、確定組件之間的關(guān)系22倉庫界面財務界面銷售界面采購界面?zhèn)}庫管理 財務管理銷售管理采購管理倉庫數(shù)據(jù)財務數(shù)據(jù)銷售數(shù)據(jù)采購數(shù)據(jù)1、層次體系結(jié)構(gòu) 把復雜的系統(tǒng)功能劃分為多個層次,上層可調(diào)用下層的功能,但下層不能調(diào)用上層及本層的功能。 例如:1、OSI模型21123、瀏覽器/服務器結(jié)構(gòu)案例.Net Web 體系結(jié)構(gòu) 2Web & ApplicationWeb ClientsServerData Tier.

11、Net ComponentsSQL-01BROWSERASP.NetTransaction瀏覽器Message QueueADO.NetSQL-02ScalabilityMonitoring SecuritySQL-03ServerDataClusterStorage24Cluster2、客戶機 / 服務器結(jié)構(gòu)案例.Net Web體系結(jié)構(gòu)1Middle TierData Tier.Net ComponentsSQL-01Non-Web ClientsTransaction專用界面Message QueueADO.NetSQL-02ScalabilityMonitoring SecuritySQ

12、L-03ApplicationData ServerStorage23ClusterCluster135、消息觸發(fā) / 消息驅(qū)動 組件動態(tài)庫 消息隊列 Windows任務管理 消息驅(qū)動、動態(tài)264、多層體系結(jié)構(gòu) 見.NET、J2EE和中間件2514框架示例1、確定體系結(jié)構(gòu)2、完成每一組件的開發(fā):組件設計、編碼與調(diào)試3、基本的框架成型28倉庫界面財務界面銷售界面采購界面?zhèn)}庫管理 財務管理銷售管理采購管理倉庫數(shù)據(jù)財務數(shù)據(jù)銷售數(shù)據(jù)采購數(shù)據(jù)框架(Framework) 框架的一般定義就是:在特定領(lǐng)域基于體系結(jié)構(gòu)的可重用的設計。也可以認為框架是體系結(jié)構(gòu)在特定領(lǐng)域下的應 用。 也可以認為框架是某種應用的半成

13、品,在這樣的結(jié)構(gòu)下選用一組組件,供你完成你 的系統(tǒng)。簡單說就是使用別人搭好的舞臺,你來做表演。而且,框架一般是成 、不斷升級的軟件。 架構(gòu)師不是設計師;架構(gòu)和設計是完全不同。一個應用架構(gòu)的范圍包括系統(tǒng)的主、架構(gòu)設計模式和可以在上面增加構(gòu)件的框架。架構(gòu)主要關(guān)注的是非功能性方面,而設計關(guān)注應用業(yè)務用例將領(lǐng)域?qū)ο竽P娃D(zhuǎn)換成技術(shù)對象模型。應用架構(gòu)是項目的結(jié)構(gòu),一個特殊的應用程序。通過應用架構(gòu)開發(fā),你通常必須要做的應用架構(gòu)決定包括: 層之間進行功能劃分 領(lǐng)域?qū)ο蠼?715設計模式(Design Pattern) 模式為“在一定的環(huán)境中解決某一問題的方案”。這三個事物 問題、解決方案和環(huán)境 是模式的基本

14、要素。 通過模式,你可以無數(shù)次地使用那些已有的解決方案,無需在重復相同的工作。 模式有不同的領(lǐng)域,領(lǐng)域有模式,軟件設計領(lǐng)域也有設計模式。為什么要用模式? 因為模式是一種指導,在一個良好的指導下,有助于你完成任務,有助于你作出一個優(yōu)良的設計方案,達到事半功倍的效果。而且會得到解決問題的最佳辦法。 例子:30 庫(Library) 庫是可重用的、相互協(xié)作的 的集合,供開發(fā) 進行重復調(diào)用。它與框架的主要區(qū)別在于運行時與程序的調(diào)用關(guān)系。庫是被程序調(diào)用,而框架則調(diào)用程序。2916平臺(PlatForm) 由多種系統(tǒng),其中也可以包含硬件部分。323117Web Service為什么要引入Web Servi

15、ce? 人們偏愛B/S架構(gòu)。 傳統(tǒng)的C/S架構(gòu)的問題:1、在桌面應用程序發(fā)布上的高成本。發(fā)布桌面應用程序成本很高,一半是因為應用程序安裝和配置的問題,另一半是因為客戶和服務器之間通信問題。 傳統(tǒng)的Windows胖客戶應用程序使用DCOM來與服務器進行通信和調(diào)用遠程對象。 關(guān)于客戶端與服務器的通信問題,一個完美的解決方法是使用HTTP協(xié)議來通信。2. 與其他程序的互操作性。34構(gòu)件(component) 是可復用的軟件組成成份,可被用來構(gòu)造其他軟件,也叫組件。 它可以是被封裝的對象、一些功能模塊、軟件框架(framework)、軟件構(gòu)架(或體系結(jié)構(gòu) Architecture)、文檔、設計模式(P

16、attern)等。 互操作性。 構(gòu)件標準有:1) CORBA的CCM;2) Microsoft的COM/DCOM /COM+ ; 3)Java Bean和EJB;3318Web Service-續(xù)如果所有的應用程序都是使用COM或.NET語言寫的,并且都運行在Windows平臺上,那就天下太平了。 編程語言事實上大多數(shù)商業(yè)數(shù)據(jù)仍然在大型主機上以非關(guān)系文件(VSAM)的形式存放,并由COBOL語言編寫的大型機程序訪問。而且,目前還有很多商用程序繼續(xù)在使用C+、Java、Visual Basic和其他各種各樣的語言編寫。 數(shù)據(jù)格式現(xiàn)在除了最簡單的程序之外,所有的應用程序都需要與運 行在其他異構(gòu)平臺

17、上的應用程序集成并進行數(shù)據(jù)交換。以前沒有一個應用程序能夠遵守的通信標準,是于平臺、組件模型和編程語言的。只有通過Web Service,客戶端和服務器才能夠自由的用HTTP進行通信,不論兩個程序的平臺和編程語言是什么。36-4-5-6模塊2模塊3-1-2-335模塊1模塊419Web Service(續(xù)) 因為它基于HTTP GET請求,出了一個可以通過Web 調(diào)用的API。 下面是對Web service 更精確的解釋: Web services是建立可互操作的分布式應用程序的新平臺。 Web service平臺是一標準,它定義了應用程序如何在Web上實現(xiàn)互操作性。 你可以用任何你喜歡的語言

18、,在任何你喜歡的平臺上寫Web service ,只要我們可以通過Web service標準對這些服務進行和。38Web Service-續(xù) 從表面上看,Web service 就是一個應用程序,它向外界出一個能夠通過Web進行調(diào)用的API。 這就是說,你能夠用編程的方法通過Web來調(diào)用這個應用程序。我們把調(diào)用這個Web service 的應用程序叫做客戶。 例如,你想創(chuàng)建一個Web service ,它的作用是返回當前的天氣情況。那么你可以建立一個ASP頁面,它接受郵政編碼作為查詢字 符串,然后返回一個由逗號隔開的字符串,包含了當前的氣溫和天氣。要調(diào)用這個ASP頁面,客戶端需要發(fā)送下面的這個

19、HTTP GET 請求: 返回的數(shù)據(jù)就應該是這樣: 21,晴 這個ASP頁面就應該可以算作是Web service 了。3720XML(續(xù)) ML 是行業(yè) HTML 擴展標記的定義語言。 ML 與 HTML 結(jié)合描述行業(yè)的信息文檔,如 CDF, CML, MathML, SMIL 等。 ML 是在因特網(wǎng)與 Java、CORBA 等量齊觀的一個概念。Java 解決了語言實施的同一,CORBA 解決了通訊協(xié)議的同一, ML 解決了信息表示、關(guān)聯(lián)的同一;OO 面向?qū)ο笫沁@三者的共同理論基礎(chǔ)。萬維網(wǎng)接口定義語言WIDL 就是ML 與 IDL 技術(shù)結(jié)合的產(chǎn)物。 ML 是國際標準化組織的標準通用標記語言

20、SGML 的子集。SGML 面向諸于飛機設計文檔的大規(guī)模、長生命期的信息儲存, ML 則面向短期的臨時數(shù)據(jù)處理、面向萬維網(wǎng)絡;二者是相互補充的關(guān)系。 ML 是巴斯克范式 BNF 的語言化、標準化、電子化。40XML 可擴展的標記語言(XML)是Web service平臺中表示數(shù)據(jù)的基本格式。 ML 是不同數(shù)據(jù)結(jié)構(gòu)體的文本化描述語言。 除了易于建立和易于分析外, ML主要的優(yōu)點在于它既是平臺無關(guān)的,又是廠商無關(guān)的。 它可以描述線性表、樹、圖形等數(shù)據(jù)結(jié)構(gòu),也能描述文件化的外部數(shù)據(jù)結(jié)構(gòu)。甚至可以制造類似ML 的Compiler,可使文檔在文本與二進制文件間互相轉(zhuǎn) 換, ML-Data 中嚴格定義了M

21、L 中數(shù)據(jù)的物理類 型。也可以說ML 是一種通用的數(shù)據(jù)結(jié)構(gòu)。3921案例:學生成績表42學號姓名單位成績所在省市區(qū)1張諢1海南金海77.8海南2張諢2海南瓊雅77.9海南3張諢3海南金卡78海南4張諢4海南金安78.1海南5張諢5廣州金羊78.2廈門6李旻1三亞信息港88.1海南7李旻2三亞信誠90.5海南8李旻3廈門龍城92.9海南9李旻4海南城開95.3海南10李旻5海南安保97.7海南案例:關(guān)于客戶的XML數(shù)據(jù)文件4122XML和XSD 可擴展的標記語言( ML)是Web service平臺中表示數(shù)據(jù)的基本格式。除了易于建立和易于分析外, ML主要的優(yōu)點在于它既是平臺無關(guān)的,又是廠商無關(guān)

22、的。 ML解決了數(shù)據(jù)表示的問題,但它沒有定義一標準的數(shù)據(jù)類型,更沒有說怎么去擴展這套數(shù)據(jù)類型。 例如,整形數(shù)到底代表什么?16位,32位,還是64位?這些細節(jié)對實現(xiàn)互操作性都是很重要的。 W3C制定的 ML Schema( SD)就是專門解決這個問題的一 標準。它定義了一標準的數(shù)據(jù)類型,并給出了一種語言來擴展這套數(shù)據(jù)類型。44“學生成績表”的XML數(shù)據(jù)文件1 張諢1海南金海77.8海南2 張諢2 4323WSDL 你會怎樣向別人介紹你的Web service有什么功能,以及每個函數(shù)調(diào)用時的參數(shù)呢?你可能會寫一文檔,你甚至可能會口頭上告訴需要使用你的Web service的人。這些非正式的方法至

23、少都有一個嚴重的問題:當程序員坐到電腦前,想要使用你的Web service的時候,他們的工具(如Visual Studio)無法給他們提供任何幫助,因為這些工具根本就不了解你的Web service。 解決方法是:用能閱讀的方式提供一個正式的描述文檔。Web service描述語言(WSDL)就是這樣一個基于 ML的語言,用于描述Web service及其函數(shù)、參數(shù)和返回值。因為是基于 ML的,所以WSDL既是可閱讀的,又是人可閱讀的,這將是一個很大的好處。一些最新的開發(fā)工具既能根據(jù)你的Web service生成WSDL文檔,又能導入WSDL文檔,生成調(diào)用相應Web service的代碼。4

24、6SOAP Web service建好以后,你或者其他人就會去調(diào)用它。 簡單對象協(xié)議(SOAP)提供了標準的RPC方法來調(diào)用Web service。 SOAP規(guī)范定義了SOAP消息的格式,以及怎樣通過HTTP協(xié)議來使用SOAP。SOAP也是基于 ML和 SD的, ML是SOAP的數(shù)據(jù)編碼方式。4524思考題1、對XML語言的描述,正確的是:A. 采用加格式,安全性高。B. 總是要將信息完整封裝,無效信息量大。C. 可以表示各類型的數(shù)據(jù),包括圖像、聲音形式的信息。D. 以上都是。48UDDI 通用發(fā)現(xiàn)、說明和集成 (UDDI) 是 Web 服務的黃頁。與傳統(tǒng)黃頁一樣,您可以搜索提供所需服務的公司

25、,閱讀以了解所提供的服務,然后與以獲得信息。當然,您也可以提供 Web 服務而不在 UDDI 中,就象在室開展業(yè)務,依靠的是口頭吆喝;但是如果您希望拓展市場,則需要 UDDI 以便能被客戶發(fā)現(xiàn)。 參見g。查找web service返回web service查找web service的使用說明disco(W返回該web service的WSDLeb 調(diào)用該web serviceSerL以M以XXML的L的M形X 式返回調(diào)用結(jié)果vic e)47客戶端U D D I服務器端252.1 微軟解決方案框架 MSF MSF是什么?MSF是一系列指導有效地創(chuàng)建和運用信息技術(shù)解決商業(yè)問題的模型、原則、指導、方

26、法。通過提供可衡量的過程和嚴格的指導,達到滿足變化的商業(yè)需求。是一套大型系統(tǒng)開發(fā)指南和方法 論,是一種思想和原理。50軟件開發(fā)模型介紹 RUPRational Unified ProcessRational統(tǒng)一過程 PE treme Programming極限編程 MSFMicrosoft Solutions Framework 微軟解決方案框架49262.2 RUP 早期的軟件開發(fā)過程方法:瀑布模型(圖1)RU (Rational Unified Process)軟件統(tǒng)一過程和 P(E treme Programming)極限編程,通常被叫做“過程方法”,是一種軟件項目實施過程的方法論。 軟

27、件過程是指實施于軟件開發(fā)和維護中的階段、方法、技術(shù)、實踐及相關(guān)產(chǎn)物(計劃、文檔、模型、代碼、測試用例和手冊等)的集合。 目前市場上領(lǐng)先的軟件過程主要有RUP(Rational Unified Process)、OPEN Process和OOSP(Object-Oriented Software Process)。52MSF 微軟解決方案框架 MSF的組成? MSF由以下6個主要模型組成: MSF 企業(yè)體系結(jié)構(gòu)模型 MSF 開發(fā)團隊模型 MSF 開發(fā)過程模型 MSF 風險管理模型 MSF 設計過程模型 MSF 應用系統(tǒng)模型512754 RUP可以用二維坐標來描述。橫軸表示時間,是項目的生命期,體

28、現(xiàn)開發(fā)過程的動態(tài)結(jié)構(gòu),主要包括周期(Cycle)、階段(Phase)、迭代(Iteration)和里程碑(tone);縱軸表示自然的邏輯活動,體現(xiàn)開發(fā)過程的靜態(tài)結(jié)構(gòu),主要包括活動(Activity)、產(chǎn)物 (Artifact)、工作者(Worker)和工作流(Workflow)。如下圖:5328 為了達到該目的必須識別所有與系統(tǒng)交互的外部實體,在較高層次上定義交互的特性。對于建立在原有系統(tǒng)基礎(chǔ)上的開發(fā)項目來講,初始階段可能很短。初始階段結(jié)束時是第一個重要的里程碑: 生命期目標(Lifecycle Objective)里程碑。生命期目標里程碑評價項目基本的生存能力。2細化階段 細化階段的目標是分

29、析問題領(lǐng)域,建立健全的體系結(jié)構(gòu)基礎(chǔ),編制項目計劃,淘汰項目中最高風險的元素。為了達到該目的,必須在理解整個系統(tǒng)的基礎(chǔ)上,對體系結(jié)構(gòu)作出決策,包括其范 圍、主要功能和諸如性能等非功能需求。同時為項目建立支持環(huán)境,包括創(chuàng)建開發(fā)案例,創(chuàng)建模板、準則并準備工具。562.2.1 開發(fā)過程中的各個階段和里程碑RUP中的軟件生命期在時間上被分解為四個順序的階段,分別是: 初始階段(Inception); 細化階段(Elaboration); 構(gòu)建階段(Construction); 交付階段(Transition)。每個階段結(jié)束于一個主要的里程碑(Major Milestones)。在每個階段的結(jié)尾執(zhí)行一次評

30、估以確定這個階段的目標是否已經(jīng)滿足。1初始階段 初始階段的目標是為系統(tǒng)建立商業(yè)案例并確定項目的邊界。5529構(gòu)建階段結(jié)束時是第三個重要的里程碑:初始功能(Initial Operational)里程碑。初始功能里程碑決定了產(chǎn)品是否可以在測試環(huán)境中進行部署。此刻,要確定軟件、環(huán)境、用戶是否可以開始系統(tǒng)的運作。此時的產(chǎn)品版本也常被稱為“beta”版。4交付階段 交付階段的重點是確保軟件對最終用戶是可用的。交付階段可以跨越幾次迭代,包括為發(fā)布做準備的產(chǎn)品測試,基于用戶反饋的少量的調(diào)整。在生命期的這一點上,用戶反饋應主要集中在產(chǎn)品調(diào)整,設置、安裝和可用性問題,所有主要的結(jié)構(gòu)問題應該已經(jīng)在項目生命期的早

31、期階段解決了。在交付階段的終點是第四個里程碑:產(chǎn)品發(fā)布(Product Release)里程碑。此時,要確定目標是否實現(xiàn),是否應該開始另一個開發(fā)周期。在一些情況下這個里程碑可能與下一個周期的初始階段的結(jié)束重合。58細化階段結(jié)束時形成第二個重要的里程碑:生命期結(jié)構(gòu)(Lifecycle Architecture)里程碑。生命期結(jié)構(gòu)里程碑為系統(tǒng)的結(jié)構(gòu)建立了管理基準并使項目小組能夠在構(gòu)建階段中進行衡量。此刻,要檢驗詳細的系統(tǒng)目標和范圍、結(jié)構(gòu)的選擇以及主要風險的解決方案。3構(gòu)建階段在構(gòu)建階段,所有剩余的構(gòu)件和應用程序功能被開發(fā)并集成為產(chǎn)品,所有的功能被詳細測試。從某種意義上說,構(gòu)建階段是一個制造過程,其

32、重點放在管理資源及控制運作以優(yōu)化成本、進度和質(zhì)量。57303. 分析和設計(Analysis & Design) 分析和設計工作流將需求轉(zhuǎn)化成未來系統(tǒng)的設計,為系統(tǒng)開發(fā)一個健壯的結(jié)構(gòu)并調(diào)整設計使其與實現(xiàn)環(huán)境相匹配,優(yōu)化其性能。分析設計的結(jié)果是一個分析模型和一個設計模型。設計模型是源代碼的抽象,由設計類和一些描述組成。設計類被組織成具有良好接口的設計包(Packaeg)e)e和)設計子系統(tǒng)(Subsystem),而描述則體現(xiàn)了類的對象如何協(xié)同工作實現(xiàn)用例的功能。 設計活動以體系結(jié)構(gòu)設計為中心,體系結(jié)構(gòu)由若干結(jié)構(gòu)視圖來表達,結(jié)構(gòu)視圖是整個設計的抽象和簡化,該視圖中省略了一些細節(jié),使重要的特點體現(xiàn)得

33、更加清晰。體系結(jié)構(gòu)不僅僅是良好設計模型的承載媒介,而且在系統(tǒng)的開發(fā)中能提高被創(chuàng)建模型的質(zhì) 量。602.2.2 RUP的工作流RUP中有9個工作流,分為6個過程工作流(Core Process Workflows)和3個支持工作流(Core Supporting Workflows)。盡管6個過程工作流可能使人想起傳統(tǒng)瀑布模型中的幾個階段,但應注意迭代過程中的階段是完全不同的, 這些工作流在整個生命期中一次又一次被。9個工作流在項目中輪流被使用,在每一次迭代中以不同的重點和強度重復。1. 商業(yè)建模(Business Ming) 商業(yè)建模工作流描述了如何為新的目標組織開發(fā)一個構(gòu)想,并基于這個構(gòu)想在

34、商業(yè)用例模型和商業(yè)對象模型中定義組織的過程,角色和責任。2. 需求(Re uirements) 需求工作流的目標是描述系統(tǒng)應該做什么,并使開發(fā)人員和用戶就這一描述達成共識。為了達到該目標,要對需要的功能和約束進行提取、組織、文檔化;最重要的是理解系統(tǒng)所解決問題的定義和范圍。5931 部署工作流描述了那些與確保軟件產(chǎn)品對最終用戶具有可用性相關(guān)的活動,包括:軟件打包、生成軟件本身以外的產(chǎn)品、安裝軟件、為用戶提供幫助。在有些情況下,還可能包括計劃和進行beta測試版、移植現(xiàn)有的軟件和數(shù)據(jù)以及正式驗收。7配置和變更管理(Configuration & Change Management) 配置和變更管

35、理工作流描繪了如何在多個成員組成的項目中控制大量的產(chǎn)物。配置和變更管理工作流提供了準則來管理演化系統(tǒng)中的多個變體,跟蹤軟件創(chuàng)建過程中的版本。工作流描述了如何管理并行開發(fā)、分布式開發(fā)、如何自動化創(chuàng)建工程。同時也闡述了對產(chǎn)品修改原因、時間、人員保持審計記錄。624. 實現(xiàn)(Implementation) 實現(xiàn)工作流的目的包括:1) 以層次化的子系統(tǒng)形式定義代碼的組織結(jié)構(gòu);2) 以組件的形式(源文件、二進制文件、可執(zhí)行文件)實現(xiàn)類和對象;3) 將開發(fā)出的組件作為單元進行測試4) 集成由單個開發(fā)者(或小組)所產(chǎn)生的結(jié)果,使其成為可執(zhí)行的系統(tǒng)。5. 測試(Test)測試工作流的目的是要驗證:1) 對象間

36、的交互作用,2) 軟件中所有組件的正確集成,3) 所有的需求已被正確的實現(xiàn), 4) 識別并確認缺陷在軟件部署之前被提出并處理。6. 部署(Deployment)部署工作流的目的是1) 成功的生成版本并將軟件分發(fā)給最終用戶。61322.2.3 RUP的迭發(fā)模式 RUP中的每個階段可以進一步分解為迭代。一個迭代是一個完整的開 發(fā)循環(huán),產(chǎn)生一個可執(zhí)行的產(chǎn)品版本,是最終產(chǎn)品的一個子集,它增 量式地發(fā)展,從一個迭代過程到另一個迭代過程到成為最終的系統(tǒng)。 傳統(tǒng)上的項目組織是順序通過每個工作流,每個工作流只有一次,也就是我們熟悉的瀑布生命期(見圖1)。這樣做的結(jié)果是到實現(xiàn)末期產(chǎn)品完成并開始測試,在分析、設計

37、和實現(xiàn)階段所遺留的隱藏問題會大量出現(xiàn),項目可能要停止并開始一個漫長的錯誤修正周期。 一種更靈活,風險更小的方法是多次通過不同的開發(fā)工作流,這樣可以更好的理解需求,構(gòu)造一個健壯的體系結(jié)構(gòu),并最終交付一系列逐步完成的版本。這叫做一個迭代生命期。在工作流中的每一次順序的通過稱為一次迭代。648. 項目管理(Project Management) 軟件項目管理平衡各種可能產(chǎn)生沖突的目標,管理風險,克服各種約束并成功交付使用戶滿意的產(chǎn)品。其目標包括:1) 為項目的管理提供框架,2) 為計劃、人員配備、執(zhí)行和監(jiān)控項目提供實用的準則,3) 為管理風險提供框架等。9. 環(huán)境(Environment) 環(huán)境工作

38、流的目的是向軟件開發(fā)組織提供軟件開發(fā)環(huán)境,包括過程和工具。環(huán)境工作流集中于配置項目過程中所需要的活 動,同樣也支持開發(fā)項目規(guī)范的活動,提供了逐步的指導手冊并介紹了如何在組織中實現(xiàn)過程。6333與傳統(tǒng)的瀑布模型相比較,迭代過程具有以下優(yōu)點: 降低了在一個增量上的開發(fā)風險。如果開發(fā)人員重復某個迭代,那么損失只是這一個開發(fā)有誤的迭代的花費。 降低了產(chǎn)品無法按照既定進度進入市場的風險。通過在開發(fā)早期就確定風險,可以盡早來解決而不至于在開發(fā)后期匆匆忙忙。 加快了整個開發(fā)工作的進度。因為開發(fā)人員清楚問題的焦點所在,他們的工作會更有效率。 由于用戶的需求并不能在一開始就作出完全的界定,它們通常是在后續(xù)階段中

39、不斷細化的。因此,迭代過程這種模式使適應需求的變化會更容易些。66 軟件生命期是迭代的連續(xù),通過它,軟件是增量的開發(fā)。一次迭代包括了生成一個可執(zhí)行版本的開發(fā)活動,還有使用這個版本所必需的其他輔助成分,如版本描述、用戶文檔等。因此一個開發(fā)迭代在某種意義上是在所有工作流中的一次完整的經(jīng)過,這些工作流至少包括:需求工作流、分析和設計工作流、實現(xiàn)工作流、測試工作流。其本身就像一個小型的瀑布項目(見圖2)。圖2R URURPU的迭代模型65342.2.4 總結(jié)RUP具有很多長處:提高了團隊生產(chǎn)力,在迭代的開發(fā)過程、需求管 理、基于組件的體系結(jié)構(gòu)、可視化軟件建模、驗證軟件質(zhì)量及控制軟件 變更等方面,針對所

40、有關(guān)鍵的開發(fā)活動為每個開發(fā)成員提供了必要的準 則、模板和工具指導,并確保全體成員共享相同的知識基礎(chǔ)。它建立了 簡潔和清晰的過程結(jié)構(gòu),為開發(fā)過程提供較大的通用性。但同時它也存 在一些不足: RUP只是一個開發(fā)過程,并沒有涵蓋軟件過程的全部內(nèi)容,例如它缺少關(guān)于軟件運行和支持等方面的內(nèi)容;此外,它沒有支持 多項目的開發(fā)結(jié)構(gòu),這在一定程度上降低了在開發(fā)組織內(nèi)大范圍實現(xiàn)重用的可能性??梢哉fRUP是一個非常好的開端,但并不完美,在實際的應用中可以根據(jù)需要對其進行改進并可以用OPEN和OOSP等其他軟件過程的相關(guān)內(nèi)容對R對URURPU進行補充和完善。68思考題屬于 RUP 最佳軟件開發(fā)實踐的是A. 迭代式開

41、發(fā)/變更B. 管理需求/驗證軟件質(zhì)量C. 可視化建模/分層架構(gòu)D. 以上都是(D)6735可向教師索取“XP的流程等全面內(nèi)容”的PPT,也可在下列查到XP:702.3 極限編程XP 什么是極限編程? 極限編程(eXtreme Programming,簡稱XP)是由Kent Beck于 91999969年初提出的。Kent Beck是一位著名的軟件工程師,他以軟件工程師的觀點來看程序設計這項工作。他認為,長期以來,程序設計的工作受到最后期限(deadline)的壓迫,他們的產(chǎn)出往往無法達到應有的品質(zhì)。XP從人的本質(zhì)考慮如何讓軟 件工程師可以有尊嚴的工作,而同時可以產(chǎn)出高品質(zhì)的軟件。XP的精神可以

42、說是實踐敏捷軟件開發(fā)的四項價值觀:1) “個人及相互交流勝過軟件工程和工具”,2) “可運行的程序勝過完整廣博的文檔資料”,3) “與用戶合作勝于合約談判”,4) “回應變化勝于服從計劃”。 P和RUP一樣,是軟件開發(fā)的一種過程方法。69367. 雙人組程式設計所有程式碼由兩個程序員在同一臺電腦上編寫。8. 集體所有權(quán)任何人都可以在任何時間按規(guī)程改進系統(tǒng)任何地點的任何程序。9. 持續(xù)整合一天多次整合和建立系統(tǒng),每次完成一項任務。連續(xù)的回歸測試作為需求變化后,功能并沒有退步。10. 一周40小時將一周工作不超過40小時作為一條規(guī)定;決不連續(xù)兩周超時工作。11. 現(xiàn)場客戶真正的、身處開發(fā)現(xiàn)場的用戶

43、,隨時回答問題。12. 編碼標準強調(diào)貫穿于全部程序的交流規(guī)則。72極限編程的特點和適用范圍極限編程的12項原則如下:1. 規(guī)劃策略迅速決定下一次發(fā)行的范圍、商業(yè)優(yōu)先和技術(shù)評估。由客戶從商業(yè)角度決定發(fā)行范圍、優(yōu)先順序和發(fā)行日期,技術(shù)人員則對開發(fā)程序作出評估和跟蹤。2. 小范圍發(fā)布迅速在生產(chǎn)中使用小型系統(tǒng)。在極短的周期內(nèi)(兩周) 發(fā)行新的版本。3. 系統(tǒng)比喻用關(guān)于整個系統(tǒng)如何工作的簡單、共用的故事情節(jié)卡來指導所有的開發(fā)。4. 簡單設計在任何給定的時刻都盡可能簡單地設計。5. 測試不斷編寫運行無錯誤的單元測試;由客戶編寫測試以表明功能完成。6. 重新劃分不改變行為地重構(gòu)系統(tǒng),刪除重復,改進交流,簡化

44、,或增強靈活性。7137三種方法的總結(jié) MSF是一種關(guān)于軟件開發(fā)的思想,包括軟件開發(fā)過程、團隊建設、風險管理等。 RUP和 P屬于軟件開發(fā)的過程方法。74極限編程的適用范圍 輕量級項目的開發(fā)(10人左右的開發(fā)隊伍) 強調(diào)以程序員、強調(diào)交流 強調(diào)規(guī)則、文檔為程序員服務,程序員/系統(tǒng)分析員不是規(guī)則和文檔的奴隸。7338當代系統(tǒng)分析和設計過程的概括1. 需求 功能 活動 動作76第三章 統(tǒng)模語言UML、信息系統(tǒng)分析與設計 什么是UML?項目立項系統(tǒng)分析系統(tǒng)設計系統(tǒng)實現(xiàn)/編程/測試系統(tǒng)集成系統(tǒng)運行系統(tǒng)維護結(jié)構(gòu)化系統(tǒng)分析:BASIC圖例表示方法不統(tǒng)一;FORTRANC早期的各種面向?qū)ο蟮腣B系統(tǒng)分析方法

45、:DELPHI具有不同的建模符號體系;POWERBUILDER現(xiàn)在,面向?qū)ο蟮南到y(tǒng)分析VC建模圖示/語言 ,統(tǒng)一在JAVAUMLASP、PHP、以及各種SCRIPTSQL項目立項OOAOODOOP/OOT系統(tǒng)集成系統(tǒng)維7護5393.1.1 模型和建模 模型-MODEL 邏輯模型 設計模型定義:1、模型是對現(xiàn)實的簡化。對于問題,模型是現(xiàn)實的簡化,得到一個模型-0;對于方案,它的模型是模型-0的實現(xiàn),得到模型-2。2、建模是捕捉系統(tǒng)本質(zhì)的過程。建模是使你逐層深入解決問題的辦法;建模就是把復雜的系統(tǒng)變成小的系統(tǒng),采用“各個擊破”的原則逐一解決。3、可視化建模用圖形來表示建模的過程。783.1UML是主流面向?qū)ο蠓椒▽W的綜合和統(tǒng)一 Booch OOSE OMTUML是于過程的: 最適用于用例驅(qū)動、以體系結(jié)構(gòu)為中心、迭代和增量的過程中。 原型 = 初始選定的框架(體系結(jié)構(gòu))+ 界面7740用UML建模 在一個待開發(fā)的信息系統(tǒng)項目生命期中,對應不同階段,至少有如下模型: 業(yè)務模型 分析模型 設計模型 實現(xiàn)模型 部署模型。 UML支持項目全程建模,并保持各階段模型之間的可追溯性。 UML建模要依照某個方法或過程來進行。一般地講RUP過程是UML建模的好搭檔。80

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論