INSTITUTO DE EDUCACIN SUPERIOR TECNOLGICO PBLICO JOS CARLOS
MARITEGUICarrera Profesional Computacin e InformticaUNIDAD
DIDCTICA: TALLER DE MODELAMIENTO DE SOFTWAREENFOQUES PARA
CONSTRUCCIN DE SISTEMAS
Ciclo de vida tradicional de desarrollo de sistemaEl uso del
enfoque sistmico para desarrollar soluciones con sistemas de
informacin abarca un proceso de mltiples pasos denominado ciclo de
desarrollo de sistemas de informacin, tambin conocido como ciclo de
vida del desarrollo de sistemas (SDLC, Systems Development Life
Cycle), que incluye los pasos de: Investigacin, Anlisis, Diseo,
Implementacin y Mantenimiento.
Sin embargo, debe comprender que todas las actividades
involucradas estn altamente relacionadas y son interdependientes.
Por lo tanto en la prctica, pueden ocurrir varias actividades de
desarrollo al mismo tiempo; de este modo, diferentes partes de un
proyecto de desarrollo pueden encontrarse en diferentes etapas del
ciclo de desarrollo.
1) Investigacin de sistemasLa etapa de investigacin de sistemas
incluye el estudio preliminar de soluciones propuestas con sistemas
de informacin para problemas empresariales de usuarios finales.
Determinar si existe un problema o una oportunidad
empresarial.Tenemos un problema (o una oportunidad) empresarial? Qu
est causando el problema? Un sistema de informacin nuevo o mejorado
ayudara a solucionar el problema? Cul sera una solucin de sistema
de informacin viable para nuestro problema?stas son las preguntas
que deben responder en la etapa de investigacin de sistemas.
Realizar un estudio de factibilidad para determinar si un sistema
de informacin nuevo mejorado es una solucin viable.Que consiste en
un estudio preliminar que investiga las necesidades de informacin
de usuarios potenciales y determinar los requerimientos de
recursos, los costos, los beneficios y la factibilidad de un
proyecto propuesto.La meta de los estudios de factibilidad consiste
en evaluar sistemas alternativos y proponer los sistemas ms
factibles y deseables de desarrollo. La factibilidad de un sistema
propuesto puede evaluarse en trminos de cuatro categoras
importantes: Factibilidad organizacional: qu tan bien respalda un
sistema de informacin propuesto los objetivos de la organizacin y
su plan estratgico de sistemas de informacin. Factibilidad
econmica: ahorro de costo; incremento en los ingresos; incremento
de las utilidades; disminucin en la inversin. Factibilidad tcnica:
Capacidad, confiabilidad y disponibilidad de hardware y software.
Factibilidad operacional: aceptacin del usuario final; respaldo
gerencial; requerimientos del cliente, del proveedor y del
gobierno.
Desarrollar un plan gerencial de proyectos y obtener aprobacin
de la gerencia.
Eleccin de un proyectoTiene origen en casi todas las reas de una
empresa y estn relacionadas con todos los problemas de la
organizacin.
Razones para proponer proyectos: Resolver un problema:
actividades, procesos o funciones que en la actualidad, o quizs en
el futuro, no satisfacen los estndares de desempeo o las
expectativas y para lo que es necesario una accin que resuelva la
dificultad. Aprovechar la oportunidad: un cambio para mejora o
ampliar el rendimiento econmico de la empresa y su competitividad.
Dar respuesta a ejecutivos o directivos: proporcionar informacin en
respuesta a rdenes, solicitudes o mandatos originados por una
autoridad.
Fuentes de solicitudes de proyecto: Fuentes internas: dentro de
la organizacin son los jefes de departamento, los altos ejecutivos,
y los analistas de sistemas. Fuente externa: dependencias del
gobierno externas a la organizacin.
2) Anlisis de SistemasMuchas de las actividades son una extensin
de aquellas que se utilizan al llevar a cabo un estudio de
factibilidad. El anlisis de sistemas no es un estudio preliminar se
trata de un estudio a fondo de las necesidades de informacin de los
usuarios finales, que genera los requerimientos funcionales que se
emplean como base para el diseo de un nuevo sistema de informacin
tradicionalmente, el anlisis de sistemas comprende un estudio
detallado de:
Las necesidades de informacin de la organizacin y de usuarios
finales. Las actividades, los recursos y los productos de cualquier
sistema de informacin actual. Las capacidades de los sistemas de
informacin que se requieren para satisfacer sus necesidades de
informacin y las de otros usuarios finales.
Anlisis organizacionalLos miembros de un equipo de desarrollo
deben saber algo sobre la organizacin, su estructura gerencial, su
personal, sus actividades empresariales, los sistemas del entorno
con los que debe tratar, y sus sistemas de informacin
actuales.Anlisis del sistema actualAntes de disear un nuevo
sistema, es importante estudiar el sistema que se mejorar o
reemplazar. Analizar como este sistema utiliza los recursos de
hardware, software, redes y personas para convertir los recursos de
datos como datos sobre transacciones en productos de informacin,
como informes y presentaciones. Documentar cmo se logran las
actividades de entrada, procesamiento, salida, almacenamiento y
control de los sistemas de informacin. Tales actividades de
interfaz de usuario son fundamentales para la interaccin efectiva
entre usuarios finales y computadoras.Anlisis de requerimientos
funcionalesSu meta principal consiste en identificar qu debera
hacerse, no cmo hacerlo.Se trata de desarrollar requerimientos
funcionales, que constituyen los requerimientos de informacin de
usuarios finales. Requerimientos de interfaz de usuarios: las
necesidades de entrada/salida de los usuarios finales que deben
respaldarse a travs del sistema de informacin, incluidas fuentes,
formatos, contenido, volumen y frecuencia de cada tipo de entrada y
salida. Requerimiento de procesamiento: actividades requeridas para
convertir la entrada en salida. Incluye clculos, reglas de decisin
y otras operaciones de procesamiento, y capacidad, rendimiento,
tiempo de cambio completo y tiempo de respuesta necesarios para las
actividades de procesamiento. Requerimientos de almacenamiento:
organizacin, contenido y tamao de las bases de datos, tipos y
frecuencia de actualizacin e indagaciones, y el lapso y la razn
fundamental para la conservacin de registros. Requerimientos de
control: requerimientos de exactitud, validez, solidez, seguridad y
adaptabilidad para las funciones de entrada, procesamiento salida y
almacenamiento.
Ejemplo Requerimiento de interfaz de usuario: Ingreso automtico
de datos de productos y pantallas de ingreso de datos fciles de
usar por parte de los vendedores.Requerimiento de procesamiento:
Clculo automtico y rpido de totales e impuestos de
ventas.Requerimientos de almacenamiento: Recuperacin y actualizacin
rpida de datos de base de datos de productos, precios y
clientes.Requerimientos de control: Seales de errores en el ingreso
de datos y recibos fciles de leer por parte de los clientes.
3) Diseo de SistemasEl diseo de los sistemas consta de
actividades de diseo que generan especificaciones de los sistemas
que satisfacen los requerimientos funcionales de desarrollados en
la etapa de anlisis de sistemas. Diseo de interfaz de usuario: Se
centra en el respaldo de las interacciones entre usuarios finales y
sus aplicaciones que se basan en el computador. Diseo de pantalla,
formato, informe y dilogo. Diseo de datos: se centra en el diseo de
datos y archivos utilizados por un sistema de informacin propuesto.
Diseo de la estructura de los elementos de datos. Diseo de
procesos: se centra en el recurso de software, es decir, los
programas y procedimientos que necesita el SI propuesto. Diseo de
procedimientos y programas.
4) Implementacin de un nuevo sistema de informacinComprende la
adquisicin de hardware y software, el desarrollo de software, la
prueba de programas y procedimientos, el desarrollo de documentacin
y una variedad de actividades de instalacin (paralela, piloto, en
fases, precipitada). Tambin abarca la educacin y capacitacin de
usuarios finales y especialistas que operarn un nuevo sistema.
5) Mantenimiento de los sistema de informacinComprende la
supervisin, evaluacin y modificacin de un sistema para realizar
mejoramientos deseables o necesarios. Esto puede incluir un proceso
de revisin post implementacin para garantizar que el sistema recin
implementado est logrando los requerimientos empresariales
funcionales que se establecieron para ste cuando se dise. El
mantenimiento de sistemas tambin incluye la modificacin de un
sistema debido a cambios internos en una empresa o a cambios
externos en el entorno empresarial.
Limitaciones del enfoque de ciclo de vidaEl ciclo de vida de los
sistemas se sigue usando para construir grandes sistemas de
procesamiento de transacciones y sistemas de informacin gerencial,
en las que las necesidades estn muy estructuradas y bien
definidas.
Limitaciones: El enfoque de ciclo de vida de los sistemas es
costoso, tardado e inflexible. Es preciso generar grandes volmenes
de documentos nuevos y repetir pasos, en caso de que sea necesario
modificar los requisitos y las especificaciones. Es poco flexible y
obstaculiza los cambios El mtodo de ciclo de vida no es apropiado
para las aplicaciones orientadas hacia la toma de decisiones. El
enfoque de ciclo de vida tampoco es apropiado para muchos sistemas
pequeos que suelen ser menos estructurados y ms
individualizados.
Maneras para reunir informacin para el desarrollo de sistemas
Entrevistas con empleados, clientes y gerentes Cuestionarios para
usuarios finales, apropiados en la organizacin Observacin personal,
videocintas, o involucramiento en las actividades de trabajo del
usuario final Anlisis de documentos, informes, manuales de
procedimientos y otra documentacin Desarrollar simulacin y
observacin de un modelo de las actividades de trabajo
INTRODUCCIN AL MODELADO
ModeloUn modelo es una representacin de la realidad en la que se
toma en cuenta solo los detalles relevantes con la finalidad de
obtener la solucin de un problema. Modelar el sistema independiente
del lenguaje de programacin
Ejemplo: Proceso de NegociosEl modelo captura las partes
esenciales del sistemaOrdenItemenvo
Un buen modelo permite cumplir los siguientes objetivos:
1. Visualizar cmo es o como queremos que sea un sistema.2.
Especificar la estructura y el comportamiento del sistema.3.
Proporcionar plantillas que sirvan como guas en la construccin del
sistema4. Documentar las decisiones tomadas respecto al
sistema.
Conceptos bsicos sobre objetosClase Es la unidad bsica que
encapsula toda la informacin de un Objeto. A travs de ella podemos
modelar el entorno en estudio (una Casa, un Auto, una Cuenta
Corriente, etc.). Los objetos que tengan los mismos atributos y
comportamiento se agrupan en clases. Todos los alumnos tienen una
serie de atributos comunes: nombre, apellido Paterno, apellido
materno, fecha de nacimiento y un comportamiento comn: podemos
hacer referencia a un alumno para matricularlo o retirarlo. Los
valores de los atributos podrn ser distintos para cada una de
ellos, pero todos comparten los mismos atributos y comportamiento
(las operaciones que se pueden realizar sobre ellos). Una clase es
cualquier cosa, real o abstracta, acerca de la cual almacenamos
datos y los mtodos que controlan dichos datos. Una clase de objetos
describe un grupo de objetos con propiedades (atributos) similares.
Persona, compaa, animal, proceso y ventana son todas clases de
objetos. Es frecuente utilizar slo la palabra clase en lugar de
decir la frase clase de objetos. Los objetos de una clase tienen
los mismos atributos y los mismos patrones de comportamiento.
ObjetoUn objeto es un concepto, abstraccin o cosa con lmites
bien definidos y con significado a efectos del problema que se debe
resolver. Los objetos tienen dos propsitos:
Promover la comprensin del mundo real. Proporcionar una base
prctica para la implementacin por computadora.
La descomposicin de un problema en objetos depender del juicio y
de la naturaleza del problema. No existe una nica representacin
correcta.La palabra objeto se utiliza en forma vaga en la
literatura. En muchas ocasiones, objeto significa una sola cosa; en
otras ocasiones se refiere a un grupo de cosas generales. Cuando se
desea tener cierta precisin y referirse a una cosa especfica, se
utiliza la frase instancia de objetos; y cuando se desea referirse
a un grupo de cosas similares, se usa la frase clase de objetos.Por
ejemplo podemos hablar de la clase de objetos Factura, y de la
instancia de objeto la factura nmero 003.
Caractersticas de los objetosIdentidad: quiere decir que los
objetos se distinguen por su existencia inherente, y no por las
propiedades descriptivas que pueden tener. En otras palabras, dos
objetos sern distintos aun cuando sus atributos y comportamiento
sean idnticos.Por ejemplo, consideremos a los alumnos que efectan
pagos por derechos acadmicos. Tienen en comn el estado (ser
estudiante regular) y el comportamiento (efectuar pagos), sin
embargo, tiene identidad nica.
Clasificacin: es el medio por el cual ordenamos el conocimiento.
Con la clasificacin estamos obligados a hacer una abstraccin de los
objetos en clases. Por ejemplo, podemos clasificar a los objetos
Trabajador Administrativo, Docente y Trabajador por Servicios no
Personales en clase Personal, considerando los atributos: cdigo,
nombre, apellido, actividad, situacin, sueldo.
Polimorfismo: quiere decir que un estmulo (operacin) puede ser
interpretado de diferentes maneras, dependiendo de la clase
receptora. Esto significa que quien recibe el estmulo determina su
interpretacin, y no la instancia que enva el estmulo. Por ejemplo,
podemos aplicar la operacin agregar sobre los objetos:
recibo_de_usuario, recibo_de_adquisicin.
Herencia: la herencia es una relacin entre clases en la que una
clase comparte la estructura y/o comportamiento definidos, en una o
ms clases, originando herencia simple y herencia mltiple
respetivamente. La clase de la que otras heredan se denomina
SUPERCLASE.
temas orientados a objetosAbstraccinSe refiere a quitar las
propiedades y acciones de un objeto para dejar slo aquellas que
sean necesarias.La abstraccin se centra en las caracterizaciones
esenciales de algn objeto, en relacin a la perspectiva del
observador.Tipos de abstracciones: Abstracciones de entidad: un
objeto que representa un modelo til de una entidad del dominio del
problema o del dominio de la solucin. Abstracciones de acciones: un
objeto que proporciona un conjunto generalizado de operaciones, y
todas ellas desempean funciones del mismo tipo. Abstracciones de
coincidencia: un objeto que almacena un conjunto de operaciones que
no tienen relacin entre s.
Operaciones o MtodosLas operaciones son funciones o
transformaciones que se aplican a todos los objetos de una clase
particular. La operacin puede ser una accin ejecutada por el objeto
o sobre el objeto.Por ejemplo, un mtodo asociado al objeto
Recibo_de_Pago podra ser el que calcule el total del recibo, otro
podra verificar si el recibo fue pagado. Los mtodos se desencadenan
al producirse un EVENTO.
MensajeLos objetos interactan y se comunican entre s enviando
mensajes unos a otros. Un mensaje consta de tres componentes: El
objeto al que se dirige el mensaje. El nombre del mtodo a ejecutar.
Cualquier parmetro necesario.Datos (variables)Funciones
(mtodos)EventosOBJETOMensaje
EncapsulamientoEs el resultado de ocultar los detalles de
implantacin de un objeto respecto de su usuario.Permite ocultar los
detalles de un objeto. Aquello que est en el interior de la clase
est oculto solo las interfaces externas se pueden ver. El usuario
de un objeto no necesita conocer el interior de la clase. Cuando se
crea una clase se especifica el cdigo y los mtodos que la
constituyen (miembros de la clase) Lo datos se conocen como
variables miembro o variables de instancia. El cdigo que acta sobre
los datos se conoce como mtodos. El propsito de una clase es
encapsular su complejidad para este cada mtodo o variable de una
clase pueden ser Pblico o Privado.Pblico: Todo lo que los usuarios
externos necesitan conocer.Privado: Solo es conocido y accesado por
el cdigo miembro de una clase.
Datos (variables)Funciones (mtodos)EventosOBJETOMensajeOBJETOLa
encapsulacin impide que otro objeto manipule directamente los
miembros del objeto
Metodologas orientadas a objetosMetodologa de BoochMetodologa de
OMT (Object Modelling Technique)Metodologa de Coad &
YourdonMetodologa de James MartinMetodologa de OOSE (Object
Oriented Software Engineering)Metodologa UML
Generalmente al trabajar en un proyecto real se toma como
referencia una metodologa, pero esta es combinada con elementos de
otras metodologas cuando se requiere complementar algunos
aspectos.La metodologa de James & Martin no es clara en cuanto
a la implementacin, aunque se puede tomar como referencia la
metodologa de ingeniera de informacin y adaptarla a los
objetos.Esta metodologa es muy completa, ya que parte del
planeamiento estratgico informtico, tomando elementos de la
metodologa BSP/SA de IBM. Si se va a trabajar con proyectos de gran
magnitud, es recomendable aplicar la metodologa de James Martn como
referencia.La metodologa de Coad & Yourdon no emplea modelos,
sino que proporciona una serie de pasoso para el anlisis y diseo.
Esta metodologa se puede aplicar en sistemas pequeos.La metodologa
de Booch, la de Rumbaugh (OMT) y UML son las ms utilizadas
actualmente y se adaptan perfectamente a la etapa de planeamiento
estratgico de James Martn. Su elecin depende del dominio del
problema y del conocimiento que el investigador tenga de una o de
la otra.
Un factor adicional a considerar es el uso de herramientas CASE
durante el desarrollo del proyecto. Muchas herramientas CASE
(Computer-Aided Software Engineering), modernas soportan OMT y
UML.
UML (LENGUAJE DE MODELADO UNIFICADO)
UML significa "Unified Modeling Language": Lenguaje de Modelado
o Modelamiento Unificado. El Lenguaje de Modelado Unificado es un
lenguaje usado para especificar, visualizar y documentar los
diferentes aspectos relativos a un sistema de software bajo
desarrollo, as como para modelado de negocios y otros sistemas no
software.Puede ser utilizado con cualquier metodologa, a lo largo
del proceso de desarrollo de software, en cualquier plataforma
tecnolgica de implementacin (Unix, Windows etc.). Es un sistema
notacional (que, entre otras cosas, incluye el significado de sus
notaciones) destinado a los sistemas de modelado que utilizan
conceptos orientados a objetos.Los principales factores que
motivaron la definicin de UML fueron: la necesidad de modelar
sistemas, las tendencias en la industria del software, unificar los
distintos lenguajes y mtodos existentes e innovar los modelos para
adaptarse a la arquitectura distribuida. Es importante resaltar que
un modelo UML describe lo que supuestamente har un sistema, pero no
dice cmo implementar dicho sistema.
Definicin El Lenguaje Unificado de Modelado prescribe un
conjunto de notaciones y diagramas estndar para modelar sistemas
orientados a objetos, y describe la semntica esencial de lo que
estos diagramas y smbolos significan. Mientras que ha habido muchas
notaciones y mtodos usados para el diseo orientado a objetos, ahora
los modeladores slo tienen que aprender una nica notacin. UML se
puede usar para modelar distintos tipos de sistemas: sistemas de
software, sistemas de hardware, y organizaciones del mundo real. El
UML es una tcnica de modelado de objetos y como tal supone una
abstraccin de un sistema para llegar a construirlo en trminos
concretos. El modelado no es ms que la construccin de un modelo a
partir de una especificacin. Un modelo es una abstraccin de algo,
que se elabora para comprender ese algo antes de construirlo. El
modelo omite detalles que no resultan esenciales para la comprensin
del original y por lo tanto facilita dicha comprensin. UML es una
consolidacin de muchas de las notaciones y conceptos ms usados
orientados a objetos. Empez como una consolidacin del trabajo de
Grade Booch, James Rumbaugh, e Ivar Jacobson, creadores de tres de
las metodologas orientadas a objetos ms populares.
Nota:El UML es un lenguaje para construir modelos; no gua al
desarrollador en la forma de realizar el anlisis y diseo orientados
a objetos ni le indica cul proceso de desarrollo adoptar.
vistas del modelado de un sistemaLas vistas muestran diferentes
aspectos de los sistemas que son modelados. Una vista no es un
grfico, pero es una abstraccin que consiste en una serie de
diagramas, solamente definiendo una serie de vistas, cada una
mostrando un aspecto particular del sistema, puede ser construida
una imagen completa de sistema.En el contexto del software, existen
cinco vistas complementarias que son las ms importantes para
visualizar, especificar, construir y documentar la arquitectura del
software. En el UML las vistas existentes son:
1. Vista casos de uso: Describe el comportamiento del sistema
desde el punto de vista de los usuarios finales, analista, personal
encargado de las pruebas del sistema. Los diagramas utilizados esta
vista son: los diagramas de casos de uso, colaboracin, estados y
actividades.2. Vista de diseo: Muestra los requisitos funcionales
del sistema, es decir, los servicios que el sistema brinda a los
usuarios finales. Comprende a las clases de interfaces y
colaboraciones que forman la solucin del sistema. Los diagramas
usados son: los diagramas de clases, objetos, colaboracin, estados
y actividades.3. Vista de procesos: Muestra las secuencias y
procesos que forman los mecanismos de sincronizacin y concurrencia
del sistema. Comprende la funcionalidad, capacidad de crecimiento y
rendimiento del sistema. se forma con los diagramas de la vista de
diseo. Recalcando las clases y objetos referentes a procesos.4.
Vista de implementacin: Muestra los componentes y archivos
necesarios para hacer disponible el sistema fsico. Esta vista se
centra principalmente en la gestin de la configuracin de las
distintas versiones del sistema. Se forma con los diagramas de
componentes, colaboracin, estados y actividades.5. Vista de
despliegue: Muestra los nodos que forma la topologa hardware sobre
la que se ejecuta el sistema. Esta vista se centra en la
distribucin, entrega e instalacin de las partes que forma el
sistema fsico. Los diagramas utilizados son: Diagramas de
despliegue, interaccin, estados y actividades.
Elementos del ModeloLos conceptos utilizados en los diagramas
son llamados elementos del modelo. Un elemento del modelo es
definido con una semntica, una definicin formal del elemento o el
significado exacto de lo que representa en un enunciado no ambiguo.
Un elemento puede existir en varios tipos de diagramas.Para
construir un modelo en UML tenemos cuatro tipos de elementos:
a. Elementos estructuralesSon los nombres en los modelos UML, y
representan entes que son conceptuales o materiales. Representa la
parte esttica de un modelo.
ClaseEs una descripcin de un conjunto de objetos que comparten
los mismos atributos, operaciones, relaciones y semntica.
Representacin grfica:Ejemplo:UniversidadNombreAadirFacultad( )
InterfazEs una coleccin de operaciones que especifica el
comportamiento de una clase o componente. Describe el
comportamiento de la clase o componente que es visible
externamente.Representacin grfica:Estado Inicial
Estado final de diagrama
Caso de usoEs una descripcin de una secuencia de acciones que un
sistema ejecuta para producir un resultado observable de inters
para un actor. Un caso de uso se utiliza para definir la estructura
de los aspectos de comportamiento en un modelo. Representacin
grfica:Ejemplo:
Imprimir ticket
ComponenteEs una parte fsica y reemplazable de un sistema que se
corresponde con un conjunto de interfaces y lo implementa. Un
elemento de Software de un sistema, y se encuentra en el
computador, Puede ser una tabla, archivo de datos, archivos
ejecutables, biblioteca de vnculos dinmicos, documentos etc., Un
componente es la personificacin en software de las
clases.Representacin grfica:Ejemplo:Base de Datos de Objeto
NodoEs un elemento fsico que existe en tiempo de ejecucin y
representa un recurso computacional, por lo general dispone de
memoria, y en ocasiones tambin de capacidad de procesamiento.
Representacin grfica:Ejemplo:
Terminal
ServidorNodo
ActorUn actor es un agente, alguien o algo que solicita un
servicio al sistema o acta como catalizador para que ocurra
algo
Representacin grfica:Ejemplo:ImpresoraAlmacenero
b. Elementos de comportamientoSon las partes dinmicas de un
modelo UML.InteraccinEs un comportamiento que comprende un conjunto
de mensajes intercambiados entre un conjunto de objetos dentro de
un contexto particular.
Representacin grfica:Ejemplo:
Llamar telfono
Mquina de estadoEs un comportamiento que especifica la secuencia
de estados por los que pasa un objeto o una interaccin durante su
vida, en respuesta a eventos, junto con las reacciones a estos
eventos
Representacin grfica:Ejemplo:
Esperando
c. Elementos de AgrupacinSon las partes organizativas en las que
se puede descomponer un modelo UML.PaqueteEs un mecanismo de
propsito general para organizar los elementos en grupos.
Permiten dividir un modelo y reagrupar y encapsular los
elementos de modelado y se representa con una carpeta con nombre
Cada paquete corresponde a un subconjunto del modelo pudiendo
contener clases, objetos, relaciones, componentes y sus diagramas
asociados.
Representacin grfica:Ejemplo:
Gestin de Cuentas
d. Elementos de anotacinSon los elementos explicativos del UML.
Son comentarios que se pueden aplicar para describir y hacer
observaciones sobre los elementos de un modelo.Nota:Es un smbolo
para mostrar restricciones y comentarios junto a un elemento o
conjunto de elementos. Representacin grfica:Ejemplo:El nmero de
telfono est compuesto:Cdigo de pasCdigo de ReginNmero
UniversidadNombreTelefonoAadirFacultad( )
Relaciones en UML
DependenciaEs una relacin semntica entre dos elementos, en la
que un cambio en uno de ellos puede afectar a la semntica del otro
elemento.
Representacin grfica:Ejemplo:Gestin de facturas del
vendedorGestin de cuentas
AsociacinEs una relacin estructural que describe un conjunto de
enlaces o conexiones entre objetos.Representacin
grfica:Ejemplo:ProfesorNombre
FacultadNombreAadirprofesor( )
0..1 dirige 0..1
GeneralizacinEs una relacin de especificacin / generalizacin en
la que los objetos del elemento especializado (el hijo) puede
sustituir a los objetos del elemento general (el padre). Es un tipo
de asociacin que representa que cada clase es una especializacin de
la clase con la que se relaciona.
Representacin grfica:Ejemplo:Persona
Cliente
Trabajador
Agregacin
Es cuando los objetos se integran pero conservan su
independencia. Una Pc es un ejemplo de composicin ya que sus
objetos como el mouse, los parlantes, el teclado, son objetos que
pueden sacarse de una computadora otra.
Representacin grfica:Ejemplo:
Equipo de cmputo
Teclado
Case
Monitor
Mouse
Composicin
El concepto de composicin es similar al de la agregacin, pero
sus objetos que lo integran no tendrn su independencia, por ejemplo
si analizamos una camisa, el objeto compuesto sera un bolsillo de
la camisa que no podra integrarse a otra por la diferencia de
color, tamao entre otros.
Representacin grfica:Ejemplo:PrendasdeVestir
Manga
Cuello
Bolsillo
Solapera
UML es slo una notacin, no dicta estndares para el proceso de
desarrollo. Sin embargo, UML condiciona dicho proceso de desarrollo
al establecer los diagramas e informacin asociada que debe
representarse. Los diagramas incluidos en UML, agrupados segn su
mbito de aplicacin, son:
Anlisis en el contexto organizacionalDiagramas de Casos de Uso
Anlisis y diseo desde la perspectiva estticaDiagrama de
ClaseDiagrama de Objetos Anlisis y diseo desde la perspectiva
dinmicaDiagrama de SecuenciaDiagrama de ColaboracinDiagrama de
estados ImplementacinDiagrama de ComponentesDiagrama de
Despliegue
EJERCICIOS DE MODELADO CON UMLRealizar un diagrama de clases que
represente los objetos del dominio del problema y sus
relaciones.
1. ProfesoresUn alumno asiste cursos. Los cursos estn impartidos
por un nico profesor. El alumno no puede repetir el mismo curso,
pero puede asistir a ms de un curso. El profesor puede impartir
diferentes cursos y repetir un mismo curso en varias ocasiones.
Para que un curso se imparta debe haber un mnimo de 10 alumnos y un
mximo de 50. Como registro del curso se guarda la fecha de
comienzo, la fecha de finalizacin y la nota del alumno.
2. Agencia MatrimonialUna agencia matrimonial que se dedica a
emparejar personas de diferente sexo, quiere informatizar su gestin
de manera que se tiene una base de datos de personas que quieren
encontrar pareja, con sus datos personales y sus preferencias. Se
lleva un histrico con las citas concertadas entre los clientes, con
control de fecha, lugar y un histrico de los matrimonios resultados
de los emparejamientos realizados. Realizar un diagrama de clases
que represente los objetos del dominio del problema y sus
relaciones.
3. Alquiler CD-ROMsSea una empresa dedicada al alquiler de
CD-ROMs de audio. Dicha empresa tiene un local de atencin al pblico
donde estn expuestas las cartulas de los CDs ms demandados y las
ltimas novedades, aunque tambin existen listados en papel de todos
los ttulos que se podran alquilar. Cuando un cliente solicita un
ttulo, se comprueban si hay ejemplares libres y si no hay problemas
por ejemplares no devueltos se realiza el alquiler, quedando
constancia de la fecha de alquiler y la fecha mxima de entrega; de
forma que cuando el cliente devuelva el ejemplar se podr comprobar
si se le tiene que imponer una sancin. Cada cliente puede solicitar
una relacin de los CDs que ha alquilado previamente.
4. BibliotecaLa biblioteca contiene libros y revistas. Puede
haber varias copias de un libro dado. Algunos libros se prestan slo
para un perodo de 3 das. El resto de libros se prestan para 3
semanas a cualquier socio de la biblioteca. Se puede tener en
prstamo hasta 6 libros a la vez. Slo los trabajadores de la
biblioteca pueden tomar en prstamo revistas. Los trabajadores de la
biblioteca pueden tener hasta 12 libros/revistas en prstamo. El
sistema debe almacenar cundo se toman en prstamo y devuelven todos
los libros/revistas. Cuando se quiere tomar en prstamo una copia de
un libro y no est disponible es posible hacer una reserva del
libro. Es posible extender la fecha del prstamo del libro. Para
ello hay que llevar dicho libro, mostrarlo en la biblioteca y, si
no hay reservas hechas para dicho libro, entonces se pone la nueva
fecha de entrega (3 das/semanas despus). Se puede consultar el
catlogo de la biblioteca (tanto libros como revistas) por distintos
campos de bsqueda. No hace falta ser socio de la biblioteca para
ello. Slo algunos de los trabajadores de la biblioteca pueden
actualizar el catlogo (cuando llegan libros/revistas nuevos o se
dan de baja)
Actividad 02: Herramientas metodolgicas para el modelamiento de
software.15