marc|Perfil d'un projecte típic que mostra les dimensions relatives de les quatre fases del Procés Unificat. El procés unificat de desenvolupament de programari o procés unificat és un marc de treball iteratiu i incremental de processos de desenvolupament de programari. El refinament més conegut i àmpliament documentat del procés unificat és el procés unificat racional (RUP). Altres exemples són OpenUP i el procés unificat àgil.

Visió general El procés unificat no és simplement un procés, sinó un marc extensible que s'ha de personalitzar per a organitzacions o projectes específics. El procés unificat racional és, de la mateixa manera, un marc personalitzable. Com a resultat, sovint és impossible dir si un refinament del procés es va derivar de UP o de RUP, i per tant els noms tendeixen a utilitzar-se indistintament.

El nom procés unificat, en contraposició a procés unificat racional, s'utilitza generalment per descriure el procés genèric, incloent-hi els elements que són comuns a la majoria de refinaments. El nom del procés unificat també s'utilitza per evitar possibles problemes d'infracció de marques comercials, ja que Rational Unified Process i RUP són marques comercials d'IBM. El primer llibre que va descriure el procés es va titular The Unified Software Development Process ( ) i publicat el 1999 per Ivar Jacobson, Grady Booch i James Rumbaugh. Des de llavors, diversos autors no afiliats a Rational Software han publicat llibres i articles utilitzant el nom Unified Process, mentre que els autors afiliats a Rational Software han preferit el nom Rational Unified Process.

El 2012 es va llançar el marc de treball de lliurament àgil disciplinat, un marc híbrid que adopta i estén estratègies de processos unificats, scrum, programació extrema i altres mètodes.

Característiques del procés unificat Iteratiu i incremental alt=Diagram illustrating how the relative emphasis of different disciplines change over the course of a project|miniatura|400x400px|Diagrama que il·lustra com canvia l'èmfasi relatiu de les diferents disciplines al llarg del projecte. El procés unificat és un procés de desenvolupament iteratiu i incremental. Les fases d'elaboració, construcció i transició es divideixen en una sèrie d'iteracions amb un termini definit. (La fase inicial també es pot dividir en iteracions per a un projecte gran.) Cada iteració resulta en un increment, que és una versió del sistema que conté funcionalitats afegides o millorades en comparació amb la versió anterior.

Tot i que la majoria d'iteracions inclouran treball en la majoria de les disciplines del procés ( per exemple, requisits, disseny, implementació, proves), l'esforç i l'èmfasi relatius canviaran al llarg del projecte.

Centrat en l'arquitectura El procés unificat insisteix que l'arquitectura es troba al centre dels esforços de l'equip del projecte per donar forma al sistema. Com que cap model únic és suficient per cobrir tots els aspectes d'un sistema, el procés unificat admet múltiples models i vistes arquitectòniques.

Un dels resultats més importants del procés és la línia base de l'arquitectura executable que es crea durant la fase d'elaboració. Aquesta implementació parcial del sistema serveix per validar l'arquitectura i actuar com a base per al desenvolupament posterior.

Centrat en el risc El procés unificat requereix que l'equip del projecte se centri en abordar els riscos més crítics al principi del cicle de vida del projecte. Els lliuraments de cada iteració, especialment en la fase d'elaboració, s'han de seleccionar per garantir que els riscos més grans s'abordin primer.

Basat en casos d'ús Els casos d'ús són les principals eines de modelització per definir les funcionalitats del sistema. També actuen com a mitjà de comunicació senzill per als membres de l'equip tècnic i no tècnic.

Cicle de vida del projecte (fases del procés unificat) El procés unificat divideix el projecte en quatre fases:

Inici Elaboració (fita) Construcció (publicació) Transició (publicació final de producció)

Cada fase generalment contindrà diverses iteracions (anomenades I1, E1, E2, C1, etc. a la il·lustració de la fase UP). El nombre exacte d'iteracions a cada fase depèn de l'escala i la naturalesa del projecte. La il·lustració de la fase UP aquí conté exactament 1, 2, 4 i 2 iteracions a les quatre fases, però això és només un exemple de com podria ser un projecte específic.

Fase inicial La fase inicial és la més petita del projecte i, idealment, hauria de ser força curta. Si la fase inicial és llarga, pot ser un indici d'una especificació inicial excessiva, cosa que és contrària a l'esperit del procés unificat.

Desenvolupar una visió aproximada del sistema, presentar el cas de negoci, definir l'abast i produir una estimació de costos aproximada i un calendari del projecte.

Fase d'elaboració Durant la fase d'elaboració, s'espera que l'equip del projecte capturi una bona part dels requisits del sistema. Tanmateix, els objectius principals de l'elaboració són abordar els factors de risc coneguts i establir i validar l'arquitectura del sistema. Els processos comuns que es duen a terme en aquesta fase inclouen la creació de diagrames de casos d'ús, diagrames conceptuals (diagrames de classes amb només notació bàsica) i diagrames de paquets (diagrames arquitectònics).

L'arquitectura es valida principalment mitjançant la implementació d'una línia de base d'arquitectura executable. Aquesta és una implementació parcial del sistema que inclou els components principals més significatius des del punt de vista arquitectònic. Es construeix en una sèrie d'iteracions petites amb un període de temps limitat. Al final de la fase d'elaboració, l'arquitectura del sistema s'ha d'haver estabilitzat i la línia de base de l'arquitectura executable ha de demostrar que l'arquitectura admetrà la funcionalitat clau del sistema i mostrarà el comportament correcte en termes de rendiment, escalabilitat i cost.

El lliurament final de la fase d'elaboració és un pla (que inclou estimacions de costos i calendari) per a la fase de construcció. En aquest punt, el pla ha de ser precís i creïble, ja que s'ha de basar en l'experiència de la fase d'elaboració i ja que els factors de risc significatius s'han d'haver abordat durant la fase d'elaboració.

Fase de construcció La construcció és la fase més gran del projecte. En aquesta fase, la resta del sistema es construeix sobre la base establerta durant l'elaboració. Les característiques del sistema s'implementen en una sèrie d'iteracions curtes i limitades en el temps. Cada iteració resulta en una versió executable del programari. És habitual escriure casos d'ús de text complet durant la fase de construcció i cadascun esdevé l'inici d'una nova iteració. Els diagrames del Llenguatge Unificat de Modelització Comú (UML) utilitzats durant aquesta fase inclouen diagrames d'activitat, diagrames de seqüència, diagrames de col·laboració, diagrames de transició d'estat i diagrames de visió general de la interacció. Es realitza la implementació iterativa per als elements de menor risc i més fàcils. El lliurament final de la fase de construcció és un programari llest per ser implementat a la fase de transició.

Fase de transició La fase final del projecte és la transició. En aquesta fase, el sistema es desplega als usuaris objectiu. Els comentaris rebuts d'una versió inicial (o versions inicials) poden donar lloc a més refinaments que s'incorporaran al llarg de diverses iteracions de la fase de transició. La fase de transició també inclou conversions del sistema i formació d'usuaris.

Refinaments i variacions Els refinaments del procés unificat varien entre si en la manera com classifiquen les disciplines o fluxos de treball del projecte. El procés unificat racional defineix nou disciplines: modelatge de negoci, requisits, anàlisi i disseny, implementació, proves, desplegament, configuració i gestió del canvi, gestió de projectes i entorn. El procés unificat empresarial estén RUP mitjançant l'addició de vuit disciplines "empresarials". Els refinaments àgils de UP, com ara OpenUP/Basic i el procés unificat àgil, simplifiquen RUP reduint el nombre de disciplines.

Els refinaments també varien en l'èmfasi que es posa en els diferents artefactes del projecte. Els refinaments àgils optimitzen RUP simplificant els fluxos de treball i reduint el nombre d'artefactes esperats.

Els refinaments també varien en la seva especificació del que passa després de la fase de transició. En el procés unificat racional, la fase de transició sol anar seguida d'una nova fase d'inici. En el procés unificat empresarial, la fase de transició va seguida d'una fase de producció.

El nombre de refinaments i variacions de processos unificats és incomptable. Les organitzacions que utilitzen el procés unificat incorporen invariablement les seves pròpies modificacions i extensions. A continuació es mostra una llista d'alguns dels refinaments i variacions més coneguts.

Procés àgil unificat (AUP), una variació lleugera desenvolupada per Scott W. Ambler Procés unificat bàsic (BUP), una variació lleugera desenvolupada per IBM i precursora d'OpenUP Procés unificat d'empresa (EUP), una extensió del procés unificat racional Procés unificat essencial (EssUP), una variació lleugera desenvolupada per Ivar Jacobson Open Unified Process (OpenUP), el procés de desenvolupament de programari Eclipse Process Framework Procés unificat de Rational (RUP), el procés de desenvolupament de programari IBM/Rational Mètode unificat d'Oracle (OUM), el procés de desenvolupament i implementació d'Oracle Rational Unified Process-System Engineering (RUP-SE), una versió de RUP adaptada per Rational Software for System Engineering

Referències

Categoria:Programari Categoria:Desenvolupament de programari