Tema 2. Processos de desenvolupament i MDAmermaja.act.uji.es/itis/IS31/is310708_tema2.pdf · RUP...

20
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

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.