analisis y diseño orientado a objetos uml imprimir

20
INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO JOSÉ CARLOS MARIÁTEGUI Carrera Profesional Computación e Informática UNIDAD DIDÁCTICA: TALLER DE MODELAMIENTO DE SOFTWARE ENFOQUES PARA CONSTRUCCIÓN DE SISTEMAS CICLO DE VIDA TRADICIONAL DE DESARROLLO DE SISTEMA El uso del enfoque sistémico para desarrollar soluciones con sistemas de información abarca un proceso de múltiples pasos denominado ciclo de desarrollo de sistemas de información, también conocido como ciclo de vida del desarrollo de sistemas (SDLC, Systems Development Life Cycle), que incluye los pasos de: Investigación, Análisis, Diseño, Implementación y Mantenimiento. Sin embargo, debe comprender que todas las actividades involucradas están altamente relacionadas y son interdependientes. Por lo tanto en la práctica, 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) Investigación de sistemas La etapa de investigación de sistemas incluye el estudio preliminar de soluciones propuestas con sistemas de información 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 información nuevo o mejorado ayudaría a solucionar el problema? ¿Cuál sería una solución de sistema de información viable para nuestro problema? Éstas son las preguntas que deben responder en la etapa de investigación de sistemas. Realizar un estudio de factibilidad para determinar si un sistema de información nuevo mejorado es una solución viable. Que consiste en un estudio preliminar que investiga las necesidades de información 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 más factibles y deseables de desarrollo. La factibilidad de un sistema propuesto puede evaluarse en términos de cuatro categorías importantes: - Factibilidad organizacional: qué tan bien respalda un sistema de información propuesto los objetivos de la Actividad 02: Herramientas metodológicas para el modelamiento de software. 1

Upload: isabel-meneses-zapana

Post on 24-Nov-2015

30 views

Category:

Documents


5 download

TRANSCRIPT

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