ICONIX與MDA過程及其特征_第1頁
ICONIX與MDA過程及其特征_第2頁
ICONIX與MDA過程及其特征_第3頁
ICONIX與MDA過程及其特征_第4頁
ICONIX與MDA過程及其特征_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、軟件工程第1章 ICONIX與MDA過程范型及其特征 寧夏醫(yī)科大學(xué) 理學(xué)院 楊德仁大綱 ICONIX過程范型 介紹 綜述 關(guān)鍵特征 要解決的幾個關(guān)鍵問題 過程概括 設(shè)計原則 MDA過程范型 介紹 綜述 什么是模型? 為什么用模型? 關(guān)鍵特征 設(shè)計原則 兩種過程范型的比較ICONIX過程范型:介紹 適中 位于復(fù)雜的RUP和簡單的XP(沒有分析和設(shè)計)之間 流水線化使用UML圖,同時,保持可追蹤性 使用UML的最小集,而且足夠用! 用例驅(qū)動。ICONIX過程范型:綜述 如何過渡?ICONIX過程范型:綜述 OO:CLASS 屬性(對應(yīng)系統(tǒng)的數(shù)據(jù)) 操作(對應(yīng)系統(tǒng)的功能) 問題 如何分配行為?ICO

2、NIX過程范型:綜述 方案 序列圖:通過傳遞消息實(shí)現(xiàn)對象之間的交互 把操作分配給類,頂部是對象,對象出現(xiàn)的唐突! 把功能分配給對象的行為ICONIX過程范型:綜述 如何從需求階段的用例圖(what)到詳細(xì)設(shè)計階段的序列圖(how)? ICONIX的核心! 魯棒圖,初步設(shè)計 填補(bǔ)設(shè)計鴻溝,是橋梁,發(fā)現(xiàn)對象! 精化用例圖 為類增加屬性ICONIX過程范型:綜述ICONIX過程范型:綜述 魯棒圖的要素 邊界對象 實(shí)體對象,在那里? 控制對象ICONIX過程范型:綜述 實(shí)體對象的出處 域模型(domain model), 抽象的詞匯,問題域中的名詞稱為域?qū)ο?魯棒圖中的實(shí)體對象,總被映射成數(shù)據(jù)庫表 是

3、簡化了的類圖:沒有屬性和操作 分析階段的、詞匯級的類圖,ICONIX過程范型:綜述ICONIX過程范型:綜述ICONIX過程范型:綜述 步驟 需求確認(rèn)(用例驅(qū)動?。?畫出原型,界面草圖 識別用例,畫出用例圖 分析(初步設(shè)計) 寫出用例簡述, 建立域模型 用魯棒圖精化用例簡述,確認(rèn)需求! 詳細(xì)設(shè)計階段 畫序列圖 精化類圖ICONIX過程范型:關(guān)鍵特征 流水線方法,利用最小UML集,三個主要特征: 流水線化使用UML 可追溯性 迭代和增量性ICONIX過程范型:要解決的幾個問題 誰是用戶?要做什么? 問題域?qū)ο蠹捌潢P(guān)聯(lián) 每個用例需要那些對象?對象之間如何交互? 如何處理實(shí)時控制問題? 如何在“螺母

4、和螺栓 ”級構(gòu)建系統(tǒng)?ICONIX過程范型:過程描述 路線圖及其里程碑 識別和描述使用場景 從場景中抽象出 域模型 確認(rèn)功能需求 如何分配行為 用到設(shè)計原理ICONIX過程范型:過程概括ICONIX過程范型:過程概括ICONIX過程范型:過程概括ICONIX過程范型:過程概括ICONIX過程范型:三個原則ICONIX過程范型:三個原則MDA過程范型:介紹 The new software crisis First crisis: 1965 Main problem: collective programming Solutions: (NATO Summer School 1967 & 196

5、8 in Garmisch-Partenkirchen) Software engineering“ Structured programming“ Top-down approaches“ Mass produced software components by M. D. McIlroy, Bell Labs Second crisis: 2000 Main problem: rapid platform evolution Solutions: (OMG November 2000): MDA : Decouple neutral business models from variabl

6、e platforms From code-centric to model-centric approaches Transformations as assetsMDA過程范型:介紹 Systems are becoming more complex Increasing Volume:Data,Code,Aspects (functional and non-functional) Increasing evolutivity of the business part (globalization, concentrations,reorganizations, increasing c

7、ompetition, ) of the execution platform Increasing heterogeneity languages and paradigms data handling and access protocols operating systems and middleware platforms Technologies The arrival rate of new technologies is increasing This rate is not likely to decrease in the future Old technologies do

8、nt die, they just hide within deep software layersMDA過程范型:介紹Objects have failed (Richard Gabriel, OOPSLA 2002)The object-oriented approach does not adequately address the computing requirements of the future.Object-oriented languages have lost the simplicitysome would say puritythat made them specia

9、l and which were the source of their expressive and development power.Powerful concepts like encapsulation were supposed to save people from themselves while developing software, but encapsulation fails for global properties or when software evolution and wholesale changes are needed. Objects promis

10、ed reuse, and we have not seen much success. People enthused by objects hogged the road, would not get out of the way,would not allow alternatives to be explorednot through malice but through exuberanceand now resources that could be used to move ahead are drying up. But sometimes this exuberance wa

11、s out-and-out lying to push others out of the way.MDA過程范型:介紹 We promised simplicity; We delivered increasing complexityMDA過程范型:介紹 We lied about objects Object technology failed to achieve its promises of simplification. We promised simplicity; We delivered increasing complexity Seamlessness consider

12、ed harmful:Impedance mismatch between business and software Exact correspondance? Analysis model to Design model to code model? Where are objects coming from? Patterns are not objects,Services are not objects,Aspects are not objects,Plugins are not objects,Methods are not objects etc. The missed mar

13、riages: Objects and databases,Objects and processes,Objects and transactions,Objects and the Web etc.MDA過程范型:介紹 Object technology realized some promises but failed to achieve others Stopping the search for generality may be a cause for this Model engineering is making many promises today Will it be

14、able to deliver correspondingly? Sticking with the principle that everything is a model is a good way to make progressesMDA過程范型:介紹 If MDA is the solution, then what is the problem? MDA aims to solve a set of problems with a set of techniques Need to delimit carefully the exact boundaries of the prob

15、lem space and the solution space Multiple elements in each of these Necessary if we want to evaluate success ratio What are the promises we are making today? When are we supposed to deliver? Structured programming or object technology did not? address only one unique problem MDA tries to solve more

16、than only the platform independence problemMDA過程范型:介紹MDA過程范型:介紹MDA guides architects and developers to more effectively define models at various levels of abstraction and to develop transformations among models, code, and other artifacts of the software lifecycle.What is the MDA? Model Driven Archit

17、ecture (MDA) is an emerging set of standards and technologies focused on a particular software development paradigm. The MDA provides a conceptual framework and set of standards Express models, Model relationships, Model-to-model transformations Model is our code - Code is our model MDA established

18、by Object Management Group (OMG), a non-profit consortium of 800+ organizations that produces/maintains computer industry specifications for interoperable enterprise applications MDA過程范型:介紹MDA(Model Driven Architecture)是由OMG定義的一個軟件開發(fā)框架。它標(biāo)志著通用軟件建模開始走向成熟。其關(guān)鍵之處是模型在軟件過程中扮演非常重要角色。軟件過程是由建模行為驅(qū)動的。 One aim o

19、f MDA is to separate design from architecture. As concepts and technologies used to realize designs and those used to realize architectures is not same things, The design addresses the functional(use case) requirements while architecture provides the infrastructure through which non-functional requi

20、rements like scalability, reliability and performance are realized. MDA envisages PIM, which represents a conceptual design realizing the functional requirements, will survive changes in realization technologies and software architectures.和UML相比,MDA能夠創(chuàng)建出機(jī)器可讀和高度抽象的模型,這些模型獨(dú)立于實(shí)現(xiàn)技術(shù),以標(biāo)準(zhǔn)化的方式儲存。MDA把建模語言用作編

21、程語言而不僅僅是設(shè)計語言。為此,OMG把UML升級為2.0版本(可執(zhí)行的UML)MDA過程范型:介紹基于基于MDAMDA開發(fā)首先關(guān)注系統(tǒng)的功能和行為,而不是具體開發(fā)首先關(guān)注系統(tǒng)的功能和行為,而不是具體的實(shí)現(xiàn)技術(shù)。的實(shí)現(xiàn)技術(shù)。MDAMDA開發(fā)過程著重于模型的建立和精化,開發(fā)過程著重于模型的建立和精化, 模型被看作是軟件過程的重要角色。模型被看作是軟件過程的重要角色。MDAMDA對系統(tǒng)的關(guān)鍵模型從不同視角進(jìn)行描述,使業(yè)務(wù)邏對系統(tǒng)的關(guān)鍵模型從不同視角進(jìn)行描述,使業(yè)務(wù)邏輯和實(shí)現(xiàn)細(xì)節(jié)分離,通過將模型置于一個統(tǒng)一結(jié)構(gòu)中輯和實(shí)現(xiàn)細(xì)節(jié)分離,通過將模型置于一個統(tǒng)一結(jié)構(gòu)中來提升模型的抽象層次,來提升模型的抽象層次

22、, IvarIvar Jacobson Jacobson聲稱:軟件開發(fā)就是建模。聲稱:軟件開發(fā)就是建模。 MDA ExplainedMDA Explained作者指出:代碼就是模型。作者指出:代碼就是模型。 MDA過程范型:綜述 MDAMDA是關(guān)注系統(tǒng)在不同抽象層次的模型,以及在這些模型是關(guān)注系統(tǒng)在不同抽象層次的模型,以及在這些模型基礎(chǔ)上定義良好的模型變換規(guī)則,以實(shí)現(xiàn)自動化?;A(chǔ)上定義良好的模型變換規(guī)則,以實(shí)現(xiàn)自動化。MDAMDA的變換都是由工具自動完成的。從的變換都是由工具自動完成的。從PIMPIM到到PSMPSM,再從,再從PSMPSM到代碼到代碼都可以由工具實(shí)現(xiàn)。都可以由工具實(shí)現(xiàn)。傳統(tǒng)上

23、,從模型到模型的變換或者從模型到代碼的變換主要是手傳統(tǒng)上,從模型到模型的變換或者從模型到代碼的變換主要是手工完成的。工完成的。MDAMDA變換總是由工具執(zhí)行的,許多工具可以把變換總是由工具執(zhí)行的,許多工具可以把PSMPSM變換變換成代碼,這并不令人驚奇。成代碼,這并不令人驚奇。MDAMDA的創(chuàng)新之處是把的創(chuàng)新之處是把PIMPIM到到PSMPSM的變換也的變換也自動化了自動化了 三個階段 CIM:注重應(yīng)用環(huán)境應(yīng)用環(huán)境,即業(yè)務(wù)即組織運(yùn)作 運(yùn)營目標(biāo)、實(shí)現(xiàn)條件和運(yùn)作流程 PIM:注重信息系統(tǒng),抽象抽象平臺 PSM:注重信息系統(tǒng),具體具體平臺MDA過程范型:綜述MDA過程范型:綜述 CIM:聚集于環(huán)境及

24、需求,不涉及系統(tǒng)內(nèi)部結(jié)構(gòu)與運(yùn)作細(xì)節(jié),此階段有分為3個子階段。 CIM-1:定義業(yè)務(wù)流程,此階段的成果是系統(tǒng)“業(yè)務(wù)用例”并做簡單的描述。 業(yè)務(wù)用例生成通過分析調(diào)研成果分析出客戶的為外界提供的服務(wù)以及被服務(wù)對象的信息生成的。 目的:盡快理清系統(tǒng)范圍,以估算系統(tǒng)開發(fā)成本及時間, CIM-2:分析業(yè)務(wù)流程。分析每個業(yè)務(wù)用例,生成其工作流程。 成果為“活動圖”。分析客戶完成每個業(yè)務(wù)用例的步驟生成。 CIM-3:定義系統(tǒng)范圍,在此階段要生成系統(tǒng)用例圖 抽取CIM-2階段“活動圖”的每一個動作篩選出系統(tǒng)用例, 再根據(jù)CIM-1中的業(yè)務(wù)執(zhí)行者以及CIM-2中的動作負(fù)責(zé)人篩選出系統(tǒng)執(zhí)行者 。 MDA過程范型:綜

25、述 PIM:聚焦于系統(tǒng)內(nèi)部細(xì)節(jié),不涉及實(shí)現(xiàn)系統(tǒng)的具體平臺。 PIM-1:分析系統(tǒng)流程。 對CIM-3的每個系統(tǒng)用例生成一個用例規(guī)約, 用例規(guī)約有一定格式,詳細(xì)說明了每個系統(tǒng)用例的系統(tǒng)過程以及約束和業(yè)務(wù)規(guī)則等。用例規(guī)約包含的信息可以根據(jù)項目的情況定制。 PIM-2:分析業(yè)務(wù)規(guī)則。企業(yè)靠規(guī)則來控制整體運(yùn)作。 分析業(yè)務(wù)規(guī)則通過狀態(tài)圖來表現(xiàn),通過分析 PIM-1的“用例規(guī)約”中的業(yè)務(wù)規(guī)則,以用例為單位生成“狀態(tài)圖”,?以了解PIM-1中的系統(tǒng)用例的實(shí)現(xiàn)細(xì)節(jié)。 PIM-3:定義靜態(tài)結(jié)構(gòu)(靜態(tài)結(jié)構(gòu)通過類圖及其關(guān)系來表現(xiàn)), 類圖生成是通過分析PIM-1的用例規(guī)約,對規(guī)約中的名詞進(jìn)行篩選,篩選出來的名稱就是

26、類,再篩選規(guī)約中的動詞以分析類之間的關(guān)系。 PIM-4:定義操作及方法 通過分析PIM-1階段的用例規(guī)約和PIM-3階段的類圖生成序列圖,通過序列圖就能找到類的方法,再為類賦予職責(zé)。MDA過程范型:what a model? What is a model? A model M is a simplified representation of the world, as a matter of fact of only a part S of the world called the system. A model is a formal specification of the funct

27、ion, structure and/or behavior of a system. A model is a representation of a system A model is written in the language of its unique meta model A model is a constrained graph A model has a graphical representation A model pertains to one technological space Here model usually means MDA model“MDA過程范型

28、:what a model? Modeling, in the broadest sense, is the cost- effective use of something in place of something else for some cognitive purpose. It allows us to use something that is simpler, safer or cheaper than reality instead of reality for some purpose. A model represents reality for the given pu

29、rpose; the model is an abstraction of reality in the sense that it cannot represent all aspects of reality. This allows us to deal with the world in a simplified manner, avoiding the complexity, danger and irreversibility of reality. The purpose of a model is always to be able to answer some questio

30、ns in place of the system, exactly in the same way the system itself would have answered similar questions.MDA過程范型:why model? Why model? All forms of engineering rely on models to understand complex,real-world systems Models facilitate the communication of key system characteristics and complexities

31、 to various stakeholders Models provide abstractions of a physical system that allow engineers to reason about the system by ignoring extraneous details while focusing on relevant ones Models are used to reason about specific properties of the system when aspects of the system change and can assist in predicting system qualities Depending on the context, different elements can be modeled which provide different views which ultimately facilitates: analyzing problems and proposing

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論