Llenguatge de modelització unificat: diferència entre les revisions

Contingut suprimit Contingut afegit
m Format d'imatges
Canvis menors, neteja, replaced: Hi han → Hi ha, de U → d'U (2), degut a → a causa de AWB
Línia 2:
[[Fitxer:UML logo.svg|frameless|right]]
[[Fitxer:UML Diagrams.jpg|miniatura|Collage de diagrames UML.]]
L{{'}}'''UML''' o '''llenguatge de modelització unificat''' (''Unified Modeling Language''<ref>{{Ref-web|url = http://www.omg.org/gettingstarted/what_is_uml.htm|títol=Unified modeling language| consulta = 30/10/2014|llengua =anglès}}</ref>'','' és un llenguatge de [[modelat]] de sistemes de [[softwareprogramari]], és el més conegut i utilitzat en l'actualitat, està suportat per l'[[Object Management Group|OMG]]<ref>{{Ref-web|url = http://www.omg.org/|títol=Object Management Group| consulta =24/10/2014 |llengua =anglès}}</ref> (Object Management Grup). És un llenguatge gràfic per visualitzar, especificar, construir i documentar un sistema. L'UML ofereix un estàndard per descriure un sistema (model), incloent aspectes conceptuals tals com els processos de negoci i funcions del sistema, i aspectes concrets com expressions de llenguatges de programació, esquemes de bases de dades i components reutilitzables.
 
L'UML va ser desenvolupat per [[Grady Booch]],<ref>{{Ref-web|url = http://www.computerhistory.org/trustee/Grady,Booch/|títol = Grady Booch| consulta = 4/11/2014|llengua = anglès|arxiuurl = https://web.archive.org/web/20160703023125/http://www.computerhistory.org/trustee/Grady,Booch/|arxiudata = 2016-07-03}}</ref> [[Ivar Jacobson]]<ref>{{Ref-web|url = http://www.devoxx.com/display/DV09/Ivar+Jacobson|títol=Ivar Jacobson| consulta = 4/11/2014|llengua =anglès}}</ref> i [[James Rumbaugh]] mentre treballaven per l'empresa [[Rational Software]]<ref name=:0>{{Ref-web|url = http://www-01.ibm.com/software/rational/|títol=IBM Rational Software| consulta = 20/10/2014|llengua =anglès}}</ref> durant els anys 1994-1996. Aquest llenguatge disposa de diversos tipus de diagrames, els quals mostren diferents aspectes de les entitats representades.
 
== Història ==
[[Fitxer:OO Modeling languages history.jpg|miniatura|Història dels mètodes i notació d'orientació a objectes]]
L'UML ha anat evolucionant des de la segona meitat de la dècada del 1990 i té les seves arrels en els mètodes orientats a objectes desenvolupats des de la fi dels anys 1980.<ref>{{enllaç no actiu|data=2019}}{{Ref-web|url = http://www.cs.pomona.edu/classes/cs121/supp/UML%20tutorial/history_of_uml.htm|títol = Història UML| consulta = 4/11/2014|llengua = anglès|arxiuurl = https://web.archive.org/web/20180528082432/http://www.cs.pomona.edu/classes/cs121/supp/UML%20tutorial/history_of_uml.htm|arxiudata = 2018-05-28}}</ref> La línia de temps (vegeu la imatge) mostra els aspectes més destacats de la història del modelatge orientat a objectes.
 
En català, segons el [[TERMCAT|Termcat]], és manté la paraula i l'acrònim anglesos, tot i donar com traducció literal «llenguatge de modelització unificat» o «llenguatge universal de modelització».<ref>{{TERMCAT|UML}}</ref><ref>{{Ref-llibre|cognom=Nunes|nom=Joan|títol=Diccionari terminològic de sistemes d'informació geogràfica.|url= https://www.worldcat.org/oclc/865272704|data=2012| editorial=Institut Cartogràfic de Catalunya|lloc=Barcelona|isbn=9788439388630}}</ref> La ''Gran Enciclopèdia'' dona «llenguatge unificat de modelació».<ref>{{GEC|0281461|llenguatge unificat de modelació}}</ref>
 
=== Abans del UML 1.x ===
Després que [[Rational software|Rational Software]]<ref name=:0/> contractés a [[James Rumbaugh]] la companyia es va convertir amb la font dels dos esquemes de modelat orientat a objectes més populars de l'època: L'[[Object-modeling technique]] (OMT) creat per Rumbaugh, que era millor per l'anàlisi orientat a objectes i el [[Mètode Booch]] creat per [[Grady Booch]], que era millor pel disseny orientat a objectes. Poc després es va unir a l'empresa [[Ivar Jacobson]], el creador del mètode d'enginyeria del software orientat a objectes. Els tres creadors van ser coneguts amb el nom dels Tres Amics degut a causa de les seves constants discussions sobre les pràctiques metodològiques.
 
L'any 1996 l'empresa Rational Software va concloure que l'abundància de llenguatges de modelat alentia la seva evolució i alterava el seu ús. Degut a això, l'empresa va decidir orientar-se cap a un mètode unificat i va encarregar als Tres Amics que desenvolupessin un llenguatge unificat de modelat obert (aparició UML).<ref>{{Ref-web|url = http://prezi.com/ljmjy_vaos4l/uml/|títol=Conceptes UML| consulta = 11/04/2014|llengua = Castellàcastellà}}</ref>
 
=== UML 1.x ===
Línia 23:
 
=== UML 2.x ===
L'UML ha madurat considerablement des de d'UML 1.1. Diferents revisions menors (UML 1.3, 1.4 i 1.5) han corretgit els defectes i errors de la primera versió de d'UML. A aquestes revisions han estat precedides per la revisió major de l'UML 2.0<ref>{{Ref-web|url = http://students.mimuw.edu.pl/~zbyszek/posi/ibm/RUP_Eval/manuals/intro/im_uml2.htm|títol = Diferències entre l'UML 1.x i el 2.0| consulta = 4/11/2014|llengua = anglès|arxiuurl = https://web.archive.org/web/20150509232236/http://students.mimuw.edu.pl/~zbyszek/posi/ibm/RUP_Eval/manuals/intro/im_uml2.htm|arxiudata = 2015-05-09}}</ref><ref>{{Ref-web|url = http://www.omg.org/spec/UML/2.0/|títol=UML 2.0| consulta = 4/11/2014|llengua =anglès}}</ref> que va ser adoptada per l'[[Object Management GroupOMG]] el 2005.
 
Hi ha hagut diverses versions des de l'UML 2.0 fins a arribar a l'UML 2.5 llançat l'octubre de 2012.
 
== Definició (UML)<ref>{{Ref-web|url = http://aprenderaprogramar.es/index.php?option=com_content&view=article&id=688:ique-es-y-para-que-sirve-uml-versiones-de-uml-lenguaje-unificado-de-modelado-tipos-de-diagramas-uml&catid=46:lenguajes-y-entornos&Itemid=163|títol=Anàlisis U.M.L.| consulta = 3/11/2014|llengua = Castellàcastellà}}</ref> ==
L'UML<ref>{{Ref-web|url = http://ima.udg.edu/~sellares/EINF-ES2/uml2_diagrams.pdf|títol=visió global UML| consulta = 04/11/2014|llengua =anglès}}</ref> ens ofereix una forma diferent de visualitzar els problemes mitjançant diagràmes. El seu ús més comú està enfocat a la resolució/representació de problemes destinats a la construcció de software.
 
Anem a analitzar les sigles UML: Llenguatge unificat de modelat
Línia 49:
 
== Metodologia de desenvolupament del software ==
El conjunt de fases per les quals passa el sistema que s'està desenvolupant des que neix la idea inicial fins que el software és retirat o substituït és el següent:<ref>{{Ref-web|url = http://www.cc.uah.es/jlcastillo/POO/POO_07.htm|títol=Fases de desenvolupament del software| consulta = 03/11/2014|llengua = Castellàcastellà}}</ref><ref>{{Ref-llibre|nom = Ivar Jacobson, Grady Booch, James Rumbaugh|títol = El proceso unificado de desarrollo de software|url = http://unpprogespcn.com/material/RUP/ElProcesoUnificadodeDesarrollodeSoftware.pdf|llengua = Castellàcastellà|pàgines = 435}} {{Webarchive|url= https://web.archive.org/web/20141111063653/http://unpprogespcn.com/material/RUP/ElProcesoUnificadodeDesarrollodeSoftware.pdf |date=2014-11-11 }}</ref>
[[Fitxer:UMLdiagram2.png|centre|599x599px]]
Hi hanha diverses maneres d'implementar el cicle de vida<ref>{{Ref-web|url = http://148.202.105.18/webcucsur/sites/default/files/CICLO%20DE%20VIDA%20DEL%20SW%20JAIME.pdf|títol = cicle de vida del software| consulta = 4/11/2014|llengua = Castellàcastellà|arxiuurl = https://web.archive.org/web/20141105003136/http://148.202.105.18/webcucsur/sites/default/files/CICLO%20DE%20VIDA%20DEL%20SW%20JAIME.pdf|arxiudata = 2014-11-05}}</ref> del software, però més que com fer el cicle de vida ens volem centrar en les tres primeres fases.
 
Per tal de dur a terme les tres primeres fases és quan utilitzem el llenguatge unificat de modelat (UML) definint a partir del conjunt de diagrames del model final del nostre sistema.
Línia 62:
 
=== Diagrames ===
L'UML presenta tots aquests diagrames,<ref>{{Ref-llibre|nom = Grady Booch, Jim Rumbaugh, Ivar Jacobson|títol=El Lenguaje unificado de modelado : manual de referencia : UML|url = http://elvex.ugr.es/decsai/java/pdf/3E-UML.pdf|llengua = Castellàcastellà}}</ref> és a dir, el nostre model de software estarà comopost per tots aquests diagrames (tot i que molts cops molts dels diagrames presentats no s'utilitzen):
[[Fitxer:Uml diagram CAT.svg|678px|centre|alt=Diagrames d'UML|miniatura|Diagrames d'UML]]
Els diagrames UML representen dos visions diferents d'un model de sistema:
Línia 74:
* [[Diagrama de classes|Diagrames de classes]]:
** Descriuen l'estructura d'un sistema mostrant les seves classes, atributs i les relacions entre ells. És on es crea el disseny conceptual de la informació que utilitzarà el sistema, i els components que s'encarregaran del seu funcionament i de la relació entre l'un i l'altre.
 
* [[Diagrama de components]]:
** Els diagrames de components mostren com es connecten entre si els components per formar components més grans. S'utilitzen per il·lustrar l'estructura dels sistemes arbitràriament complexes.
 
* [[Diagrama d'objectes]]:
** El diagrama d'objectes consisteix en la mostra de les instàncies creades i els vincles existents entre elles en un moment donat.
 
* [[Diagrama de perfil]]:
** Els diagrames de perfil ens permeten representar els estereotips utilitzats per representar l'aplicació dissenyada.
 
* [[Diagrama d'estructura composta]]:
** Un diagrama d'estructura composta és semblant a un diagrama de classes, però mostra parts individuals en lloc de classes senceres. En altres paraules, mostra l'estructura interna d'una classe, així com les col·laboracions que permet.
 
* [[Diagrama de desplegament]]:
** Els diagrames de desplegament ens permeten representar com està connectat el software dissenyat amb el hardware del sistema.
 
* [[Diagrama de paquets]]:
** Un diagrama de paquets agrupa un conjunt de paquets i mostra les dependències entre aquests.
Linha 97 ⟶ 91:
* [[Diagrama d'activitats]]:
** Aquests diagrames descriuen gràficament els algoritmes (accions que fa el sistema). Fem una representació gràfica del que es fa quan es demana una acció al sistema (si fa això passa allò, sinó lo altre...)
 
* [[Diagrama de casos d'ús]]:
** Els diagrames de casos d'ús descriuen el comportament (funcionalitats) d'un sistema quan interactua amb usuaris externs (actors), és a dir, defineix el comportament d'un sistema des del punt de vista dels actors.
 
* [[Diagrama d'estats]]:
** Mostra el conjunt d'estats i transicions pels quals passa un objecte al llarg de la seva vida en l'aplicació.
Linha 112 ⟶ 104:
*** Per quin objecte seran rebuts
*** Quan
 
* [[Diagrama de comunicació]]:
** Els diagrames de comunicació ens proporcionen la mateixa informació que els diagrames de seqüència, però esse centren en els rols dels objectes en comptes de fer-ho en el temps en el qual s'envien els missatges.
 
* [[Diagrama de temps]]:
** És un diagrama d'interacció on l'atenció esse centra en les limitacions de temps. Més concretament s'utilitzen per explorar el comportament dels objectes al llarg d'un període determinat.
 
* [[Diagrama global de interacciones|Diagrama global d'interaccions o Diagrama de vista d'interacció]] :
** El diagrama general d'interacció és similar al diagrama d'activitat, els dos serveixen per visualitzar una seqüència d'activitats. La diferència és que, en el diagrama global d'interaccions, cada activitat individual es representa com un marc que pot contenir uns diagrames d'interacció niats.