Tema 2. Processos de desenvolupament i MDAmermaja.act.uji.es/itis/IS31/is310708_tema2.pdf · RUP...
Transcript of Tema 2. Processos de desenvolupament i MDAmermaja.act.uji.es/itis/IS31/is310708_tema2.pdf · RUP...
Novembre 2007
Tema 2. Processos de desenvolupament i MDA
Departament de Llenguatges i Sistemes Informàtics
3r Enginyeria Tècnica en Informàtica de Sistemes
IS31.Projectes Informàtics de Sistemes
Curs 2007/2008
Professora: Reyes Grangel Seguer
Castelló, Spain
Presentació i planificació del 1r semestreTema 2. Processos de desenvolupament i MDA © Reyes GrangelNovembre 2007 2IS31
Sessió 2: Quins passos seguir?
� Abans de la classe
• Llegiu l’article: “Utilizando UMLTM 2.0 para resolver problemas de Ingeniería de Sistemas”
• Feu una llista dels conceptes que no coneixeu o no comprengueu
� Durant la classe
• Continguts
− Paradigma orientat a objectes
− Processos de desenvolupament
− MDA
• Exercici 2:
− Quins passos penseu seguir per desenvolupar el projecte després de la planificació? Feu un model que represente els passos a seguir
� Després de la classe
• Consulteu al web del OMG les ferramentes que per seguir l’arquitectura MDA
• Feu una llista de les funcionalitats que ha de cobrir el vostre projecte
Presentació i planificació del 1r semestreTema 2. Processos de desenvolupament i MDA © Reyes GrangelNovembre 2007 3IS31
Motivació i orígens del paradigma OO
� Enginyeria del programari/sistemes
• Què és un bon sistema informàtic?
• Quines són les seus principals característiques?
−Efectiu
−Fiable
−Mantenible
−Orientat a l’usuari
−Accessible
� Paradigmes
• Estructurat
• Orientat a objectes (OO)
−Motivació: LPOO � ADOO
−Com ajuda aconseguir bons sistemes informàtics?
� Encapsulació: dèbil acoblament
� Abstracció: forta cohesió
� Desenvolupament basat en objectes i reutilització
−Com es construeix un bon sistema informàtic?
� Utilitzant un procés ben definit en fases i productes a obtenir
� Fent un ús coherent de les ferramentes disponibles
Codi binari
Codi màquina
Funcions
Objectes
Programació complexa
Programació abstracta
Presentació i planificació del 1r semestreTema 2. Processos de desenvolupament i MDA © Reyes GrangelNovembre 2007 4IS31
Conceptes bàsics de l’OO
� Objecte: és una cosa amb la qual es pot interactuar, és a dir, se li poden enviar missatges als quals reacciona
• Estat ���� dades encapsulades en un determinat moment
• Comportament ���� acció i reacció de l’objecte
• Identitat ���� referenciada pel nom de l’objecte
� Classe: descriu un conjunt d’objectes que tenen un rol o rols equivalents en el sistema
� Característiques dels objectes
• Encapsulació i abstracció � reutilització
−Atributs i mètodes
−Interfícies públiques i privades
−Missatges
• Herència
• Polimorfisme
Presentació i planificació del 1r semestreTema 2. Processos de desenvolupament i MDA © Reyes GrangelNovembre 2007 5IS31
Encapsulació i abstracció [9]
Presentació i planificació del 1r semestreTema 2. Processos de desenvolupament i MDA © Reyes GrangelNovembre 2007 6IS31
El procés/el llenguatge
�Procés de desenvolupament: conjunt d’activitats i resultats associats que tenen per objectiu la producció d’un sistema informàtic (producte)
�Metodologia: conjunt de filosofies, fases, procediments, regles, tècniques, ferramentes, documentació i aspectes de formació per als desenvolupadors de sistemes
El procés
�Guia el desenvolupament
�Convivència de diferents processos de desenvolupament estandarditzats i més o menys estesos
�RUP (Rational Unified Process) com a estàndard més estès
El llenguatge
� Notació, tècnica
� UML (Unified Modeling Language)
� Definit pel OMG (Object Management Group)
� Estàndard de facto àmpliament acceptat com a llenguatge de modelat per la indústria del programari
� Implementat en gran quantitat de ferramentes
� Versions
• UML 1.1 Novembre 1997 (1st standard)
• UML 1.4 Maig 2001
• UML 1.5 Març 2003
• UML2 Febrer 2007 (currentversion)
Presentació i planificació del 1r semestreTema 2. Processos de desenvolupament i MDA © Reyes GrangelNovembre 2007 7IS31
Activitats del desenvolupament d’un sistema informàtic
DEFINICIÓ DE REQUISITS DEL SISTEMA
ANÀLISI DEL SISTEMA
DISSENY DEL SISTEMA
CONSTRUCCIÓ I POSADA EN MARXA
SISTEMAINFORMÀTIC
Presentació i planificació del 1r semestreTema 2. Processos de desenvolupament i MDA © Reyes GrangelNovembre 2007 8IS31
Presentació i planificació del 1r semestreTema 2. Processos de desenvolupament i MDA © Reyes GrangelNovembre 2007 9IS31
Tipus de processos de desenvolupament
� Procés de desenvolupament
� Mètodes o processos de desenvolupament ESTRUCTURATS
� Mètodes o processos de desenvolupament OO
• Grady Booch � Mètode de Grady Booch o OOD
• James Rumbaugh � OMT (Object Modeling Technique)
• Ivar Jacobson � OOSE (Object-Oriented Software Engineering) i Objectory
• RUP (Rational Unified Process)
• Wirfs-Brock, Catalysis, OPEN, The Bazaar, etc.
Sistema informàtic
AnàlisiRequisits
DissenyConstrucció
Pla de sistemes
MantenimentProcés de desenvolupament de programari
Presentació i planificació del 1r semestreTema 2. Processos de desenvolupament i MDA © Reyes GrangelNovembre 2007 10IS31
Història del RUP
�Característiques del RUP
• Dirigit pels casos d’ús
• Centrat en l’arquitectura
• Iteratiu e incremental
El mètode ERICSSON
Objectory Process 1.0-3.8 1987-1995
Rational Objectory Process 4.1 1996-1997
RUP (Rational Unified Process) 5.0 1998
Altres fonts
El mètode de Rational 0.8 (Unified Method) 1995
Jacobson (ERICSSON)
UML 1.0
Booch method 1992
OMT 1991
Booch (Rational SW Corp.)
Rumbaugh (GE)
UML 1.2Booch i Rumbaugh (Rational SW Corp.)
Booch, Rumbaugh i Jacobson (Rational SW Corp.)
OOSE 1992
Jacobson (Objectory AB)
Booch, Rumbaugh i Jacobson (Rational SW Corp.)
Objectorynotation
RUP (current version) June 2003
Jacobson (Objectory AB)
Presentació i planificació del 1r semestreTema 2. Processos de desenvolupament i MDA © Reyes GrangelNovembre 2007 11IS31
RUP
iter #m+1
iter #n+1
iter #2 iter #miter #niter #1Iteracions preliminars
Entorn
Gestió del projecte
Gestió del canvi i configuracions
Desplegament
Proves
Implementació
Anàlisi i disseny
Requisits
Modelat del negoci
TransicióConstruccióElaboracióIniciCICLE DE VIDA
Flu
xos
de tr
ebal
l de
l pro
cés
Flu
xos
de tr
ebal
l de
sup
ort
Presentació i planificació del 1r semestreTema 2. Processos de desenvolupament i MDA © Reyes GrangelNovembre 2007 12IS31
RUP
time
Font: [JAC00]
Presentació i planificació del 1r semestreTema 2. Processos de desenvolupament i MDA © Reyes GrangelNovembre 2007 13IS31
eXtreme Programming (XP)
� Disciplina del desenvolupament del programari basada en els següents valors: simplicitat, comunicació, feedback i coratge
� Conjunt de millors pràctiques (“best practices”) però simples que cobreixen gran part de les activitats del desenvolupament de programari: programació, planificació del projecte, organització equip de desenvolupament, etc.
� Característiques
• Metodologia àgil, lleugera
• Importància del treball conjunt de l’equip de desenvolupament
• Posa l’accent en l’activitat de programació suportada per: la comunicació, simplicitat i feedback
• Adaptació de les millors pràctiques en funció de la realitat de cada situació
• Per a projectes de grandària mitjana molt canviant
http://www.xprogramming.com
http://www.extremeprogramming.org/
Presentació i planificació del 1r semestreTema 2. Processos de desenvolupament i MDA © Reyes GrangelNovembre 2007 14IS31
eXtreme Programming (XP)
Presentació i planificació del 1r semestreTema 2. Processos de desenvolupament i MDA © Reyes GrangelNovembre 2007 15IS31
Consells del modelat àgil
�Per Scott Ambler [1], aplicar principis simples i de sentit comú:
• S’ha de conèixer un gran nombre de tècniques així com els seus punt febles i forts per a aplicar-les de la millor manera possible a cadascun dels problemes que se’ns presenten
• No dubtar en canviar de tècnica si es veu que amb l’actual no espot avançar més. El canvi de perspectiva permet veure el problema des d’un altre angle i comprendre millor que era el queens bloquejava
• S'és més productiu si es creen diversos models simultàniament que si només es focalitza en un tipus només de diagrama
Presentació i planificació del 1r semestreTema 2. Processos de desenvolupament i MDA © Reyes GrangelNovembre 2007 16IS31
Una forma d’utilitzar UML [8]
Presentació i planificació del 1r semestreTema 2. Processos de desenvolupament i MDA © Reyes GrangelNovembre 2007 17IS31
Model Driven Architecture (MDA)
�Developed by the OMGin 2001
�Objective: to separate functional specifications from implementation
Iterative processTheory
SW Requirements
Analysis
Design
Coding
Testing
Deployment
Text
Text and Diagrams
Code
Text and Diagrams
Code
Iterative processPractice
Enterprise RequirementsText and Diagrams
Presentació i planificació del 1r semestreTema 2. Processos de desenvolupament i MDA © Reyes GrangelNovembre 2007 18IS31
Model Driven Architecture (MDA)
�Developed by the OMGin 2001
�Objective: to separate functional specifications from implementation
SW Requirements
Analysis
Design
Coding
Testing
Deployment
CIM
PIM
Code
PSM
Code
Enterprise RequirementsCIM
MDA Process: Models and
Transformations
Presentació i planificació del 1r semestreTema 2. Processos de desenvolupament i MDA © Reyes GrangelNovembre 2007 19IS31
Model Driven Architecture (MDA)
�Developed by the OMGin 2001
�Objective: to separate functional specifications from implementation
�Key concepts
• Models
• Model Transformations
�CIM level
• Represent enterprise from holistic viewpoint
• Independent of the computation
• Models performed by domain experts
SW Requirements
Analysis
Design
Coding
Testing
Deployment
CIM
PIM
Code
PSM
Code
Enterprise RequirementsCIM
Computation Independent Model (CIM)
Platform Independent Model (PIM)
PlatformSpecific
Model (PSM)
PlatformSpecific
Model (PSM)
PlatformSpecific
Model (PSM)
CodeCode Code
Presentació i planificació del 1r semestreTema 2. Processos de desenvolupament i MDA © Reyes GrangelNovembre 2007 20IS31
Bibliografia
[1] Scott W. Ambler. The Elements of UML 2.0 Style. Cambridge University Press, 2005.
[2] Martin Fowler. UML Distilled: A Brief Guide to the Standard Object Modeling Language. Addison-Wesley, 2003.
[4] OMG. MDA Guide Version 1.0.1. Object Management Group, document number: omg/2003-06-01 edition, June 2003.
[6] OMG. Object management group. http://www.omg.org/, 2006.
[8] Pascal Roques and Franck Vallée. UML 2 en action. Eyrolles, 2004.
[9] Grady Booch. Object Oriented Design with applications. The Benjamin/Cummings Publishing Company, 1990.