Análisis y Modelado de Sistemas de Información

Preview:

Citation preview

Análisis y modelado de sistemas de informaciónI.S.C. Hugo Alberto Torres

Temario

1. El modelo del proceso del software1.1. Conceptualización de tecnología orientada objetos1.2. Metodologías emergentes de desarrollo de software1.3. Métodos de desarrollo de software orientado a

objetos1.4. El proceso de desarrollo unificado – RUP1.5. El lenguaje de modelado unificado – UML

Orientación a Objetos

● Análisis Orientado a Objetos: Comprende el desarrollo de un modelo orientado a objetos del dominio de aplicación.

● Diseño Orientado a Objetos: Comprende el desarrollo de un modelo orientado a objetos de un sistema software para implementar los requerimientos identificados.

● Programación Orientada a Objetos: se refiere a implementar el diseño de software utilizando un lenguaje de programación orientado a objetos.

Objeto

Cualquier cosa o evento del mundo realUna plantilla o patrón que describe una colección de objetos similares

Características de los objetos

● Son componentes potencialmente reutilizables debido a que son encapsulamientos independientes del estado y las operaciones.

● Es una entidad que tiene un estado y un conjunto de operaciones definidas que operan sobre ese estado.

Atributos y valores

Puppy:PerroRaza: “LabradorColor: “Café claro”Altura: 30Peso: 1.5Edad: 3alimentar()vacunar()

Herencia

MuebleMaterialColorAltoAncho

SillaMaterialColorAltoAncho

MesaMaterialColorAltoAncho

Desarrollo ágil de software

● Están diseñados para producir software util de forma rápida.

● Los negocios cambian rápidamente.

● Compañías prefieren sacrificar calidad a cambio de rapidez

Ventajas

● Los desarrollos basados en especificaciones completas (diseño, construcción, pruebas) no se ajustan al desarrollo rápido de aplicaciones.

● Si hay algún fallo, el diseño se tiene que volver a realizar.

● Cuando el software esté disponible, es posible que ya esté obsoleto.

Desventajas

● Problemas de administración

● Problemas contractuales

● Problemas de validación

● Problemas de mantenimiento

Tipo de desarrollo

● Desarrollo incremental● Prototipado desechable

Métodos ágiles

Principios:● Participación del cliente● Entrega incremental● Personas, no procesos● Aceptar el cambio● Mantener simplicidad

Programación extrema

● Planificación incremental● Entregas pequeñas● Diseño sencillo● Desarrollo previamente probado● Refactorización del código● Trabajo en parejas● Propiedad colectiva (todas las áreas del

sistema)● Integración contínua● Ritmo sostenible● Cliente presente

Metodología OOD (Booch)

Diseñado por Grady Booch

Surge debido a los objetivos de la ingeniería de software: Entregar un producto Software que satisfaga las necesidades del usuario, de forma eficiente y predecible.

Está orientado a analizar el modo, los documentos y requisitos del sistema en desarrollo.

Características de ODD

Es secuencial en el sentido que la fase de análisis es completada y posteriormente la fase de diseño también.

Es cíclica en el sentido que cada fase está compuesta de pasos cíclicos más pequeños.

Se enfoca en el análisis y el diseño y no en la implementación o la prueba del resultado de estos.

El modelo OOD según Booch

Es el método que lleva a una descomposición Orientado a Objetos. Aplicando DOO, se crea software resistente al cambio y escrito con economía de expresión. Se logra un mayor nivel de confianza en la corrección del software a través de la división inteligente de su espacio de estados. En última instancia, se reducen los riesgos inherentes al desarrollo de sistemas

Diagramas usados en la metodología Booch

● Diagrama de Clases. ● Especificación de Clases. ● Diagrama de Categorias. ● Diagramas de transición de estados.● Diagramas de Objetos.● Diagramas de Tiempo. ● Diagramas de módulos. ● Subsistemas. ● Diagramas de procesos.

Fase de análisis

● Análisis de requerimientos: En esta etapa se define qué quiere el usuario del sistema.

● Análisis de dominio: Se definen las clases, sus atributos, la herencia de clases y métodos de éstas.

● Diseño: Es el proceso de determinar una implementación efectiva y eficiente que realice las funciones.

Modelos de la metodología Booch

Modelo de Lógica: está representado en la estructura clase-objeto.

Modelo Estático: es representado por el diagrama de clase, en el que se construye la arquitectura que se definirá para el sistema.

Modelo Dinámico: es representado por el diagrama de objeto que muestra cómo las clases interactúan unas con otras.

Metodología OMT (Rumbaugh)

Desarrollada por James Rumbaugh.

Es una de las metodologías de análisis y diseño de desarrollo de software orientado a objetos más eficiente que existe en la actualidad.

Se extiende del análisis, al diseño, a la implementación durante sus etapas.

Etapas (I)

Análisis: es una abstracción concisa y precisa de qué debe hacer el sistema deseado, no cómo debe ser hecho.

Diseño del Sistema: en esta etapa se deben decidir las características del funcionamiento para optimizar el sistema, así como escoger una estrategia para atacar el problema.

Etapas (II)

Diseño de Objetos: se agregan los detalles de implementación al modelo de diseño y las clases de objetos son reforzadas con las estructuras de datos y algoritmos escogidos.

Implementación: las clases de objetos y las relaciones entre ellas definidas durante el diseño de objetos son trasladadas a un lenguaje de programación, a una base de datos o implementación de hardware.

El proceso de desarrollo unificado (RUP)

El RUP es un modelo en fases que identifica cuatro fases diferentes en el proceso del software.

Las fases en el RUP están mucho más relacionadas con asuntos de negocio más que técnicos.

Fases

1. Inicio2. Elaboración3. Construcción4. Transición

Fases - Inicio

● Inicio: establecer un caso de negocio para el sistema. Esta información se utiliza para evaluar la aportación que el sistema hace al negocio. Si esta aportación es de poca importancia, se puede cancelar el proyecto después de esta fase.

Fases - Elaboración

Elaboración: ● Desarrollar una comprensión del dominio del

problema.● Establecer un marco de trabajo

arquitectónico para el sistema.● Desarrollar el plan del proyecto e identificar

los riesgos clave del proyecto.

Fases - Elaboración

Al terminar esta fase, se debe tener:● Un modelo de los requerimientos del

sistema.● Una descripción arquitectónica.● Un plan de desarrollo del software.

Fases - Construcción

Comprende el diseño del sistema, la programación y las pruebas.

Durante esta fase se desarrollan e integran las partes del sistema.

Al terminar esta fase, debe tener un sistema de información operativo y la documentación correspondiente lista para entregarla a los usuarios.

Fases - Transición

Se ocupa de mover el sistema desde la comunidad de desarrollo a la comunidad del usuario y hacerlo trabajar en un entorno real.

Al terminar esta fase, se debe tener un sistema software documentado que funciona correctamente en su entorno operativo.

Buenas prácticas

● Desarrolle el software de forma iterativa.● Gestione los requerimientos. ● Utilice arquitecturas basadas en

componentes.● Modele el software visualmente.● Verifique la calidad del software.● Controle los cambios del software.

RUP y UML

El RUP se ha diseñado conjuntamente con el UML, por lo que la descripción del flujo de trabajo se orienta alrededor de los modelos UML asociados.

Lenguaje unificado de modelado (UML)

Es un lenguaje como Pascal, C#, el español o el inglés.

En el UML se usan símbolos para transmitir significado.

El UML es una definición oficial de un lenguaje pictórico con símbolos y relaciones comunes que tienen un significado común.

Lenguaje unificado de modelado (UML)

Si todos los participantes hablan UML, entonces las imágenes tienen el mismo significado para todos aquellos que las observen.

“Una imagen vale más que mil palabras”

¿Por qué usar UML?

Es más fácil dibujar algunas imágenes sencillas que escribir código.

Es más barato, rápido y fácil cambiar modelos que cambiar código.

Si cada uno usa imágenes diferentes para dar a entender lo mismo, entonces las imágenes se agregan a la confusión.

Diagrama de casos de uso

Diagrama de actividades

Diagrama de clases

Diagrama de secuencia

Diagrama de colaboración

Diagrama de estados

Recommended