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

ANALISIS Y DISEÑO ORIENTADO A OBJETOS UML IMPRIMIR

Embed Size (px)

Citation preview

Page 1: ANALISIS Y DISEÑO ORIENTADO A OBJETOS UML IMPRIMIR

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO JOSÉ CARLOS MARIÁTEGUICarrera 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 organización y su plan estratégico de sistemas de información.

- Factibilidad económica: ahorro de costo; incremento en los ingresos; incremento de las utilidades; disminución en la inversión.

- Factibilidad técnica: Capacidad, confiabilidad y disponibilidad de hardware y software. - Factibilidad operacional: aceptación del usuario final; respaldo gerencial;

requerimientos del cliente, del proveedor y del gobierno.

Desarrollar un plan gerencial de proyectos y obtener aprobación de la gerencia.

ELECCIÓN DE UN PROYECTO

Tiene origen en casi todas las áreas de una empresa y están relacionadas con todos los problemas de la organización.

Razones para proponer proyectos:

Actividad 02: Herramientas metodológicas para el modelamiento de software.

1

Page 2: ANALISIS Y DISEÑO ORIENTADO A OBJETOS UML IMPRIMIR

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO JOSÉ CARLOS MARIÁTEGUICarrera Profesional Computación e Informática

UNIDAD DIDÁCTICA: TALLER DE MODELAMIENTO DE SOFTWARE

- Resolver un problema: actividades, procesos o funciones que en la actualidad, o quizás en el futuro, no satisfacen los estándares de desempeño o las expectativas y para lo que es necesario una acción que resuelva la dificultad.

- Aprovechar la oportunidad: un cambio para mejora o ampliar el rendimiento económico de la empresa y su competitividad.

- Dar respuesta a ejecutivos o directivos: proporcionar información en respuesta a órdenes, solicitudes o mandatos originados por una autoridad.

Fuentes de solicitudes de proyecto:- Fuentes internas: dentro de la organización son los jefes de departamento, los altos

ejecutivos, y los analistas de sistemas.- Fuente externa: dependencias del gobierno externas a la organización.

2) Análisis de Sistemas Muchas de las actividades son una extensión de aquellas que se utilizan al llevar a cabo un estudio de factibilidad. El análisis de sistemas no es un estudio preliminar se trata de un estudio a fondo de las necesidades de información de los usuarios finales, que genera los requerimientos funcionales que se emplean como base para el diseño de un nuevo sistema de información tradicionalmente, el análisis de sistemas comprende un estudio detallado de:

- Las necesidades de información de la organización y de usuarios finales.- Las actividades, los recursos y los productos de cualquier sistema de información actual.- Las capacidades de los sistemas de información que se requieren para satisfacer sus

necesidades de información y las de otros usuarios finales.

Análisis organizacionalLos miembros de un equipo de desarrollo deben saber algo sobre la organización, su estructura gerencial, su personal, sus actividades empresariales, los sistemas del entorno con los que debe tratar, y sus sistemas de información actuales.Análisis del sistema actualAntes de diseñar 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 información, como informes y presentaciones. Documentar cómo se logran las actividades de entrada, procesamiento, salida, almacenamiento y control de los sistemas de información. Tales actividades de interfaz de usuario son fundamentales para la interacción efectiva entre usuarios finales y computadoras.Análisis de requerimientos funcionalesSu meta principal consiste en identificar qué debería hacerse, no cómo hacerlo.Se trata de desarrollar requerimientos funcionales, que constituyen los requerimientos de información de usuarios finales.- Requerimientos de interfaz de usuarios: las necesidades de entrada/salida de los usuarios

finales que deben respaldarse a través del sistema de información, 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 cálculos, reglas de decisión y otras operaciones de procesamiento, y capacidad, rendimiento, tiempo de cambio completo y tiempo de respuesta necesarios para las actividades de procesamiento.

Actividad 02: Herramientas metodológicas para el modelamiento de software.

2

Page 3: ANALISIS Y DISEÑO ORIENTADO A OBJETOS UML IMPRIMIR

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO JOSÉ CARLOS MARIÁTEGUICarrera Profesional Computación e Informática

UNIDAD DIDÁCTICA: TALLER DE MODELAMIENTO DE SOFTWARE

- Requerimientos de almacenamiento: organización, contenido y tamaño de las bases de datos, tipos y frecuencia de actualización e indagaciones, y el lapso y la razón fundamental para la conservación 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 automático de datos de productos y pantallas de ingreso de datos fáciles de usar por parte de los vendedores.Requerimiento de procesamiento: Cálculo automático y rápido de totales e impuestos de ventas.Requerimientos de almacenamiento: Recuperación y actualización rápida de datos de base de datos de productos, precios y clientes.Requerimientos de control: Señales de errores en el ingreso de datos y recibos fáciles de leer por parte de los clientes.

3) Diseño de Sistemas El diseño de los sistemas consta de actividades de diseño que generan especificaciones de los sistemas que satisfacen los requerimientos funcionales de desarrollados en la etapa de análisis de sistemas.- Diseño de interfaz de usuario: Se centra en el respaldo de las interacciones entre usuarios

finales y sus aplicaciones que se basan en el computador. Diseño de pantalla, formato, informe y diálogo.

- Diseño de datos: se centra en el diseño de datos y archivos utilizados por un sistema de información propuesto. Diseño de la estructura de los elementos de datos.

- Diseño de procesos: se centra en el recurso de software, es decir, los programas y procedimientos que necesita el SI propuesto. Diseño de procedimientos y programas.

4) Implementación de un nuevo sistema de información Comprende la adquisición de hardware y software, el desarrollo de software, la prueba de programas y procedimientos, el desarrollo de documentación y una variedad de actividades de instalación (paralela, piloto, en fases, precipitada). También abarca la educación y capacitación de usuarios finales y especialistas que operarán un nuevo sistema.

5) Mantenimiento de los sistema de información Comprende la supervisión, evaluación y modificación de un sistema para realizar mejoramientos deseables o necesarios. Esto puede incluir un proceso de revisión post implementación para garantizar que el sistema recién implementado esté logrando los requerimientos empresariales funcionales que se establecieron para éste cuando se diseñó. El mantenimiento de sistemas también incluye la modificación de un sistema debido a cambios internos en una empresa o a cambios externos en el entorno empresarial.

LIMITACIONES DEL ENFOQUE DE CICLO DE VIDA

El ciclo de vida de los sistemas se sigue usando para construir grandes sistemas de procesamiento de transacciones y sistemas de información gerencial, en las que las necesidades están muy estructuradas y bien definidas.

Limitaciones:- El enfoque de ciclo de vida de los sistemas es costoso, tardado e inflexible. Es preciso generar

grandes volúmenes de documentos nuevos y repetir pasos, en caso de que sea necesario modificar los requisitos y las especificaciones.

Actividad 02: Herramientas metodológicas para el modelamiento de software.

3

Page 4: ANALISIS Y DISEÑO ORIENTADO A OBJETOS UML IMPRIMIR

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO JOSÉ CARLOS MARIÁTEGUICarrera Profesional Computación e Informática

UNIDAD DIDÁCTICA: TALLER DE MODELAMIENTO DE SOFTWARE

- Es poco flexible y obstaculiza los cambios- El método 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 pequeños que suelen

ser menos estructurados y más individualizados.

MANERAS PARA REUNIR INFORMACIÓN PARA EL DESARROLLO DE SISTEMAS

- Entrevistas con empleados, clientes y gerentes- Cuestionarios para usuarios finales, apropiados en la organización- Observación personal, videocintas, o involucramiento en las actividades de trabajo del usuario

final- Análisis de documentos, informes, manuales de procedimientos y otra documentación- Desarrollar simulación y observación de un modelo de las actividades de trabajo

INTRODUCCIÓN AL MODELADO

MODELO

Un modelo es una representación de la realidad en la que se toma en cuenta solo los detalles relevantes con la finalidad de obtener la solución de un problema. Modelar el sistema independiente del lenguaje de programación

Ejemplo: Proceso de NegociosEl modelo captura las partes esenciales del sistema

Un buen modelo permite cumplir los siguientes objetivos:

1. Visualizar cómo es o como queremos que sea un sistema.2. Especificar la estructura y el comportamiento del sistema.3. Proporcionar plantillas que sirvan como guías en la construcción del sistema4. Documentar las decisiones tomadas respecto al sistema.

CONCEPTOS BÁSICOS SOBRE OBJETOS

Clase- Es la unidad básica que encapsula toda la información de un Objeto. A través 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 común: podemos hacer referencia a un alumno para matricularlo o retirarlo. Los valores de los atributos podrán ser distintos para cada una de ellos, pero todos comparten los mismos atributos y comportamiento (las operaciones que se pueden realizar sobre ellos).

Actividad 02: Herramientas metodológicas para el modelamiento de software.

4

envío

Item

Orden

Page 5: ANALISIS Y DISEÑO ORIENTADO A OBJETOS UML IMPRIMIR

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO JOSÉ CARLOS MARIÁTEGUICarrera Profesional Computación e Informática

UNIDAD DIDÁCTICA: TALLER DE MODELAMIENTO DE SOFTWARE

- Una clase es cualquier cosa, real o abstracta, acerca de la cual almacenamos datos y los métodos que controlan dichos datos.

- Una clase de objetos describe un grupo de objetos con propiedades (atributos) similares. Persona, compañía, animal, proceso y ventana son todas clases de objetos. Es frecuente utilizar sólo 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, abstracción o cosa con límites bien definidos y con significado a efectos del problema que se debe resolver. Los objetos tienen dos propósitos:

- Promover la comprensión del mundo real.- Proporcionar una base práctica para la implementación por computadora.

La descomposición de un problema en objetos dependerá del juicio y de la naturaleza del problema. No existe una única representación 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 precisión y referirse a una cosa específica, 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 número 003”.

Características 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 serán distintos aun cuando sus atributos y comportamiento sean idénticos.Por ejemplo, consideremos a los alumnos que efectúan pagos por derechos académicos. Tienen en común el estado (ser estudiante regular) y el comportamiento (efectuar pagos), sin embargo, tiene identidad única.

Clasificación: es el medio por el cual ordenamos el conocimiento. Con la clasificación estamos obligados a hacer una abstracción 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: código, nombre, apellido, actividad, situación, sueldo.

Polimorfismo: quiere decir que un estímulo (operación) puede ser interpretado de diferentes maneras, dependiendo de la clase receptora. Esto significa que quien recibe el estímulo determina su interpretación, y no la instancia que envía el estímulo. Por ejemplo, podemos aplicar la operación agregar sobre los objetos: recibo_de_usuario, recibo_de_adquisición.

Herencia: la herencia es una relación entre clases en la que una clase comparte la estructura y/o comportamiento definidos, en una o más clases, originando herencia simple y herencia múltiple respetivamente. La clase de la que otras heredan se denomina SUPERCLASE.

Actividad 02: Herramientas metodológicas para el modelamiento de software.

5

Page 6: ANALISIS Y DISEÑO ORIENTADO A OBJETOS UML IMPRIMIR

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO JOSÉ CARLOS MARIÁTEGUICarrera Profesional Computación e Informática

UNIDAD DIDÁCTICA: TALLER DE MODELAMIENTO DE SOFTWARE

TEMAS ORIENTADOS A OBJETOSAbstracciónSe refiere a quitar las propiedades y acciones de un objeto para dejar sólo aquellas que sean necesarias.La abstracción se centra en las caracterizaciones esenciales de algún objeto, en relación 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 solución.- Abstracciones de acciones : un objeto que proporciona un conjunto generalizado de operaciones,

y todas ellas desempeñan funciones del mismo tipo.- Abstracciones de coincidencia : un objeto que almacena un conjunto de operaciones que no

tienen relación entre sí.

Actividad 02: Herramientas metodológicas para el modelamiento de software.

6

Page 7: ANALISIS Y DISEÑO ORIENTADO A OBJETOS UML IMPRIMIR

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO JOSÉ CARLOS MARIÁTEGUICarrera Profesional Computación e Informática

UNIDAD DIDÁCTICA: TALLER DE MODELAMIENTO DE SOFTWARE

Operaciones o MétodosLas operaciones son funciones o transformaciones que se aplican a todos los objetos de una clase particular. La operación puede ser una acción ejecutada por el objeto o sobre el objeto.Por ejemplo, un método asociado al objeto Recibo_de_Pago podría ser el que calcule el total del recibo, otro podría verificar si el recibo fue pagado. Los métodos se desencadenan al producirse un EVENTO.

MensajeLos objetos interactúan 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 método a ejecutar.- Cualquier parámetro necesario.

EncapsulamientoEs el resultado de ocultar los detalles de implantación 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 código y los métodos que la constituyen (miembros de

la clase)- Lo datos se conocen como variables miembro o variables de instancia.- El código que actúa sobre los datos se conoce como métodos.- El propósito de una clase es encapsular su complejidad para este cada método o variable de una

clase pueden ser Público o Privado.Público: Todo lo que los usuarios externos necesitan conocer.Privado: Solo es conocido y accesado por el código miembro de una clase.

METODOLOGÍAS ORIENTADAS A OBJETOS

Actividad 02: Herramientas metodológicas para el modelamiento de software.

7

Mensaje

OBJETOEventos

Funciones (métodos)

Datos (variables)

La encapsulación impide que otro objeto manipule directamente los miembros del objeto

OBJETO

Mensaje

OBJETOEventos

Funciones (métodos)

Datos (variables)

Page 8: ANALISIS Y DISEÑO ORIENTADO A OBJETOS UML IMPRIMIR

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO JOSÉ CARLOS MARIÁTEGUICarrera Profesional Computación e Informática

UNIDAD DIDÁCTICA: TALLER DE MODELAMIENTO DE SOFTWARE

Metodología de BoochMetodología de OMT (Object Modelling Technique)Metodología de Coad & YourdonMetodología de James MartinMetodología de OOSE (Object Oriented Software Engineering)Metodología UML

Generalmente al trabajar en un proyecto real se toma como referencia una metodología, pero esta es combinada con elementos de otras metodologías cuando se requiere complementar algunos aspectos.La metodología de James & Martin no es clara en cuanto a la implementación, aunque se puede tomar como referencia la metodología de ingeniería de información y adaptarla a los objetos.Esta metodología es muy completa, ya que parte del planeamiento estratégico informático, tomando elementos de la metodología BSP/SA de IBM. Si se va a trabajar con proyectos de gran magnitud, es recomendable aplicar la metodología de James Martín como referencia.La metodología de Coad & Yourdon no emplea modelos, sino que proporciona una serie de pasoso para el análisis y diseño. Esta metodología se puede aplicar en sistemas pequeños.La metodología de Booch, la de Rumbaugh (OMT) y UML son las más utilizadas actualmente y se adaptan perfectamente a la etapa de planeamiento estratégico de James Martín. Su eleción 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 metodología, a lo largo del proceso de desarrollo de software, en cualquier plataforma tecnológica de implementación (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 definición de UML fueron: la necesidad de modelar sistemas, las tendencias en la industria del software, unificar los distintos lenguajes y métodos 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 cómo implementar dicho sistema.

DEFINICIÓN

- El Lenguaje Unificado de Modelado prescribe un conjunto de notaciones y diagramas estándar para modelar sistemas orientados a objetos, y describe la semántica esencial de lo que estos diagramas y símbolos significan. Mientras que ha habido muchas notaciones y métodos usados para el diseño orientado a objetos, ahora los modeladores sólo tienen que aprender una única notación.

- 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 técnica de modelado de objetos y como tal supone una abstracción de un sistema para llegar a construirlo en términos concretos. El modelado no es más que la construcción de un modelo a partir de una especificación. Un modelo es una abstracción de algo, que se elabora

Actividad 02: Herramientas metodológicas para el modelamiento de software.

8

Page 9: ANALISIS Y DISEÑO ORIENTADO A OBJETOS UML IMPRIMIR

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO JOSÉ CARLOS MARIÁTEGUICarrera Profesional Computación e Informática

UNIDAD DIDÁCTICA: TALLER DE MODELAMIENTO DE SOFTWARE

para comprender ese algo antes de construirlo. El modelo omite detalles que no resultan esenciales para la comprensión del original y por lo tanto facilita dicha comprensión.

- UML es una consolidación de muchas de las notaciones y conceptos más usados orientados a objetos. Empezó como una consolidación del trabajo de Grade Booch, James Rumbaugh, e Ivar Jacobson, creadores de tres de las metodologías orientadas a objetos más populares.

Nota:El UML es un lenguaje para construir modelos; no guía al desarrollador en la forma de realizar el análisis y diseño orientados a objetos ni le indica cuál proceso de desarrollo adoptar.

VISTAS DEL MODELADO DE UN SISTEMA

Las vistas muestran diferentes aspectos de los sistemas que son modelados. Una vista no es un gráfico, pero es una abstracción 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 más 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, colaboración, estados y actividades.

2. Vista de diseño : 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 solución del sistema. Los diagramas usados son: los diagramas de clases, objetos, colaboración, estados y actividades.

3. Vista de procesos : Muestra las secuencias y procesos que forman los mecanismos de sincronización y concurrencia del sistema. Comprende la funcionalidad, capacidad de crecimiento y rendimiento del sistema. se forma con los diagramas de la vista de diseño. Recalcando las clases y objetos referentes a procesos.

4. Vista de implementación : Muestra los componentes y archivos necesarios para hacer disponible el sistema físico. Esta vista se centra principalmente en la gestión de la configuración de las distintas versiones del sistema. Se forma con los diagramas de componentes, colaboración, estados y actividades.

5. Vista de despliegue : Muestra los nodos que forma la topología hardware sobre la que se ejecuta el sistema. Esta vista se centra en la distribución, entrega e instalación de las partes que forma el sistema físico. Los diagramas utilizados son: Diagramas de despliegue, interacción, estados y actividades.

ELEMENTOS DEL MODELO

Los conceptos utilizados en los diagramas son llamados elementos del modelo. Un elemento del modelo es definido con una semántica, una definición 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 estática de un modelo.

Clase

Actividad 02: Herramientas metodológicas para el modelamiento de software.

9

Page 10: ANALISIS Y DISEÑO ORIENTADO A OBJETOS UML IMPRIMIR

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO JOSÉ CARLOS MARIÁTEGUICarrera Profesional Computación e Informática

UNIDAD DIDÁCTICA: TALLER DE MODELAMIENTO DE SOFTWARE

Es una descripción de un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semántica. Representación gráfica: Ejemplo:

InterfazEs una colección de operaciones que especifica el comportamiento de una clase o componente. Describe el comportamiento de la clase o componente que es visible externamente.Representación gráfica:

Estado Inicial

Estado final de diagrama

Caso de usoEs una descripción de una secuencia de acciones que un sistema ejecuta para producir un resultado observable de interés para un actor. Un caso de uso se utiliza para definir la estructura de los aspectos de comportamiento en un modelo.

Representación gráfica: Ejemplo:

ComponenteEs una parte física 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 vínculos dinámicos, documentos etc., Un componente es la personificación en software de las clases.

Representación gráfica: Ejemplo:

Nodo

Actividad 02: Herramientas metodológicas para el modelamiento de software.

10

<Operaciones o métodos>

<Atributos>

<Nombre Clase>

AñadirFacultad( )

Nombre

Universidad

Imprimir ticket

Base de Datos de Objeto

Page 11: ANALISIS Y DISEÑO ORIENTADO A OBJETOS UML IMPRIMIR

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO JOSÉ CARLOS MARIÁTEGUICarrera Profesional Computación e Informática

UNIDAD DIDÁCTICA: TALLER DE MODELAMIENTO DE SOFTWARE

Es un elemento físico que existe en tiempo de ejecución y representa un recurso computacional, por lo general dispone de memoria, y en ocasiones también de capacidad de procesamiento.

Representación gráfica: Ejemplo:

ActorUn actor es un agente, alguien o algo que solicita un servicio al sistema o actúa como catalizador para que ocurra algo

Representación gráfica: Ejemplo:

b. Elementos de comportamientoSon las partes dinámicas de un modelo UML.InteracciónEs un comportamiento que comprende un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de un contexto particular.

Representación gráfica: Ejemplo:

Máquina de estadoEs un comportamiento que especifica la secuencia de estados por los que pasa un objeto o una interacción durante su vida, en respuesta a eventos, junto con las reacciones a estos eventos

Representación gráfica: Ejemplo:

c. Elementos de AgrupaciónSon las partes organizativas en las que se puede descomponer un modelo UML.PaqueteEs un mecanismo de propósito 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.

Actividad 02: Herramientas metodológicas para el modelamiento de software.

11

Nodo ServidorTerminal

Almacenero

Llamar teléfono

Esperando

ImpresoraImpresoraImpresoraImpresoraImpresoraImpresoraImpresoraImpresoraImpresoraImpresoraImpresoraImpresoraImpresoraImpresoraImpresoraImpresoraImpresoraImpresoraImpresoraImpresoraImpresoraImpresoraImpresoraImpresora AlmaceneroAlmaceneroAlmaceneroAlmaceneroAlmaceneroAlmaceneroAlmaceneroAlmaceneroAlmaceneroAlmaceneroAlmaceneroAlmaceneroAlmaceneroAlmaceneroAlmaceneroAlmaceneroAlmaceneroAlmaceneroAlmaceneroAlmaceneroAlmaceneroAlmaceneroAlmacenero

Page 12: ANALISIS Y DISEÑO ORIENTADO A OBJETOS UML IMPRIMIR

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO JOSÉ CARLOS MARIÁTEGUICarrera Profesional Computación e Informática

UNIDAD DIDÁCTICA: TALLER DE MODELAMIENTO DE SOFTWARE

Representación gráfica: Ejemplo:

d. Elementos de anotaciónSon 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 símbolo para mostrar restricciones y comentarios junto a un elemento o conjunto de elementos.

Representación gráfica: Ejemplo:

RELACIONES EN UML

DependenciaEs una relación semántica entre dos elementos, en la que un cambio en uno de ellos puede afectar a la semántica del otro elemento.

Representación gráfica: Ejemplo:

AsociaciónEs una relación estructural que describe un conjunto de enlaces o conexiones entre objetos.

Representación gráfica: Ejemplo:

Generalización

Actividad 02: Herramientas metodológicas para el modelamiento de software.

12

Gestión de Cuentas

AñadirFacultad( )

Nombre

Telefono

Universidad

El número de teléfono está compuesto:

Código de país

Gestión de cuentas

Gestión de facturas del vendedor

Añadirprofesor( )

Nombre

Facultad

Nombre

Profesor

0..1 dirige 0..1

Page 13: ANALISIS Y DISEÑO ORIENTADO A OBJETOS UML IMPRIMIR

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO JOSÉ CARLOS MARIÁTEGUICarrera Profesional Computación e Informática

UNIDAD DIDÁCTICA: TALLER DE MODELAMIENTO DE SOFTWARE

Es una relación de especificación / generalización en la que los objetos del elemento especializado (el hijo) puede sustituir a los objetos del elemento general (el padre). Es un tipo de asociación que representa que cada clase “es una especialización” de la clase con la que se relaciona.

Representación gráfica: Ejemplo:

Agregación

Es cuando los objetos se integran pero conservan su independencia. Una Pc es un ejemplo de composición ya que sus objetos como el mouse, los parlantes, el teclado, son objetos que pueden sacarse de una computadora otra.

Representación gráfica: Ejemplo:

Composición

Actividad 02: Herramientas metodológicas para el modelamiento de software.

13

TrabajadorCliente

Persona

MouseMonitorCaseTeclado

Equipo de cómputo

Page 14: ANALISIS Y DISEÑO ORIENTADO A OBJETOS UML IMPRIMIR

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO JOSÉ CARLOS MARIÁTEGUICarrera Profesional Computación e Informática

UNIDAD DIDÁCTICA: TALLER DE MODELAMIENTO DE SOFTWARE

El concepto de composición es similar al de la agregación, pero sus objetos que lo integran no tendrán su independencia, por ejemplo si analizamos una camisa, el objeto compuesto sería un bolsillo de la camisa que no podría integrarse a otra por la diferencia de color, tamaño entre otros.

Representación gráfica: Ejemplo:

UML es sólo una notación, no dicta estándares para el proceso de desarrollo. Sin embargo, UML condiciona dicho proceso de desarrollo al establecer los diagramas e información asociada que debe representarse. Los diagramas incluidos en UML, agrupados según su ámbito de aplicación, son:

- Análisis en el contexto organizacionalDiagramas de Casos de Uso

- Análisis y diseño desde la perspectiva estáticaDiagrama de ClaseDiagrama de Objetos

- Análisis y diseño desde la perspectiva dinámicaDiagrama de SecuenciaDiagrama de ColaboraciónDiagrama de estados

- ImplementaciónDiagrama de ComponentesDiagrama de Despliegue

EJERCICIOS DE MODELADO CON UML

Realizar un diagrama de clases que represente los objetos del dominio del problema y sus relaciones.

1. ProfesoresUn alumno asiste cursos. Los cursos están impartidos por un único profesor. El alumno no puede repetir el mismo curso, pero puede asistir a más 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 mínimo de 10 alumnos y un máximo de 50. Como registro del curso se guarda la fecha de comienzo, la fecha de finalización y la nota del alumno.

Actividad 02: Herramientas metodológicas para el modelamiento de software.

14

PrendasdeVestir

Manga Cuello Bolsillo Solapera

Page 15: ANALISIS Y DISEÑO ORIENTADO A OBJETOS UML IMPRIMIR

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO JOSÉ CARLOS MARIÁTEGUICarrera Profesional Computación e Informática

UNIDAD DIDÁCTICA: TALLER DE MODELAMIENTO DE SOFTWARE

2. Agencia MatrimonialUna agencia matrimonial que se dedica a emparejar personas de diferente sexo, quiere informatizar su gestión 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 histórico con las citas concertadas entre los clientes, con control de fecha, lugar y un histórico 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 atención al público donde están expuestas las carátulas de los CDs más demandados y las últimas novedades, aunque también existen listados en papel de todos los títulos que se podrían alquilar. Cuando un cliente solicita un título, 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 máxima de entrega; de forma que cuando el cliente devuelva el ejemplar se podrá comprobar si se le tiene que imponer una sanción. Cada cliente puede solicitar una relación 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 sólo para un período de 3 días. - El resto de libros se prestan para 3 semanas a cualquier socio de la biblioteca. - Se puede tener en préstamo hasta 6 libros a la vez. - Sólo los trabajadores de la biblioteca pueden tomar en préstamo revistas.- Los trabajadores de la biblioteca pueden tener hasta 12 libros/revistas en préstamo. - El sistema debe almacenar cuándo se toman en préstamo y devuelven todos los

libros/revistas. Cuando se quiere tomar en préstamo una copia de un libro y no está disponible es posible hacer una reserva del libro.

- Es posible extender la fecha del préstamo 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 días/semanas después).

- Se puede consultar el catálogo de la biblioteca (tanto libros como revistas) por distintos campos de búsqueda. No hace falta ser socio de la biblioteca para ello.

- Sólo algunos de los trabajadores de la biblioteca pueden actualizar el catálogo (cuando llegan libros/revistas nuevos o se dan de baja)

Actividad 02: Herramientas metodológicas para el modelamiento de software.

15