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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

5、對象當作基類的對象使用?;颍?、給行為(函數/虛函數)取一個名字或符號,它共享一個類的層次,在這個層次中的每個類都以適合 的方式實現這個行為?;颍?、一體(函數/虛函數)多用。12繼承和組合1、如果類A和類B毫不相關,不可以為了使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體系結構(Architectur

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

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

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

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

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

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

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

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

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

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

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

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

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

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

21、L 中數據的物理類 型。也可以說ML 是一種通用的數據結構。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海南案例:關于客戶的XML數據文件4122XML和XSD 可擴展的標記語言( ML)是Web service平臺中表示數據的基本格式。除了易于建立和易于分析外, ML主要的優(yōu)點在于它既是平臺無關的,又是廠商無關

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論