+ All Categories
Home > Documents > Ing Software Semana3

Ing Software Semana3

Date post: 05-Mar-2023
Category:
Upload: independent
View: 0 times
Download: 0 times
Share this document with a friend
30
Introducción al modelado Metodologías, UML y patrones de diseño Ing. Richard Zapata Casaverde
Transcript

Introducción al modelado

Metodologías, UML y patrones de diseño

Ing. Richard Zapata Casaverde

Introducción a las metodologías

Componentes básicos

RUP. Técnicas y su aplicación a la gestión de proyectos software orientados a objeto.

XP. Gestión ágil de proyectos y grupos de desarrollo.

UML. Diagramas, elementos notacionales y semántica de los modelos generados.

Modelado con UML

Qué es UML?

El UML modela sistema mediante el uso de objetos que forman parte de él así como, las relaciones estáticas o dinámicas que existen entre ellos.

UML puede ser utilizado por cualquier metodología de análisis y diseño orientada por objetos para expresar los diseños.

Qué es UML?

UML es un Lenguaje de Modelado Unificado basado en una notación gráfica la cual permite: especificar, construir, visualizar y documentar los objetos de un sistema programado.

Este lenguaje es el resultado de la unificación de los métodos de modelado orientados a objetos de Booch, Rumbaugh (OMT: Object Modeling Technique) y Jacobson (OOSE: Object-Oriented Sotfware Engineering).

UML

UML es un lenguaje de modelado que sirve para visualizar, especificar , construir y documentar un sistema software.Lenguaje de modelado: “Lenguaje cuyo vocabulario y reglas se centran en la

representación conceptual y física de un sistema” (Booch, Jacobson y Rumbaugh).

UML para visualizar

Símbolos con semántica bien definida. UML transciende al lenguaje de programación.

Modelo explícito, que facilita la comunicación.

UML para especificar

Especificar es equivalente a construir modelos que cumplan las condiciones de no ambigüedad y completitud.

UML cubre la especificación del análisis, diseño e implementación de un sistema software.

UML para construir

Es posible hacer corresponder con los lenguajes de programación (Java, C#, B.Datos, etc.).

ModeloUML

Ingeniería Directa

Ingeniería Inversa

CÓDIGO

UML para documentar

UML cubre la documentación de un sistema:

– Requisitos – Arquitectura– Diseño– Código fuente– Planificación– Pruebas– Prototipos– Versiones

UML “aglutina” enfoques OO

UML

RumbaughJacobson

Meyer

Harel

Wirfs-BrockFusion

Embly

Gamma et. al.

Shlaer-Mellor

Odell

Booch

Pre- and Post-conditions

State Charts

Responsabilities

Operation descriptions, message numbering

Singleton classes

Frameworks, patterns, notes

Object life cycles

Historia de UML

Nov ‘97 UML aprobado por el OMG199819992000

UML 1.2

UML 1.3UML 1.4

2001 UML 2.0

Revisiones menores

Actualizaciones de UML

UML 1.3 es una versión madura de UML a la que se le han añadido una serie de pequeñas revisiones, las cuales corrigen o mejoran la especificación base (UML 1.2).

UML 1.4 incorpora ciertas modificaciones sobre el estándar en base a los comentarios recogidos de los usuarios finales y de los fabricantes de software compatible con UML.

UML 2.0 promete la puesta a punto del estándar para poder integrarse con el desarrollo basado en componentes que demanda el mercado.

UML 2.0 Arquitectura: refinamiento del núcleo del

estándar para que esté en consonancia con el resto de estándares del mercado.

Personalización: mejora de los mecanismos de extensibilidad y personalización.

Componentes: mejor soporte para el desarrollo basado en componentes (CORBA, EJB, COM+).

Mecanismos generales: nuevos mecanimos para el control de las versiones dentro del modelo, así como el intercambio de los metadatos del mismo con XMI (XML Metadad Interchange).

Un proceso de desarrollo de software debe ofrecer un conjunto de modelos que permitan expresar el producto desde cada una de las perspectivas de interés

El código fuente del sistema es el modelo más detallado del sistema (y además es ejecutable). Sin embargo, se requieren otros modelos ...

Cada modelo es completo desde su punto de vista del sistema, sin embargo, existen relaciones de trazabilidad entre los diferentes modelos

Modelos y Diagramas

Modelos y Diagramas

Modelo: captura una vista de un sistema del mundo real. Es una abstracción de dicho sistema, considerando un cierto propósito.

Diagrama: representación gráfica de una colección de elementos de modelado, a menudo dibujada como un grafo con vértices conectados por arcos.

Vista de Diseño

Vista de Procesos

Vista de Despliegue

Vista de Implementación

Vista de los Casos de Uso

Organización de Modelos

Diagramas de UML

Use CaseDiagramsUse CaseDiagramsDiagramas de

Casos de Uso

ScenarioDiagramsScenarioDiagramsDiagramas de

Colaboración

StateDiagramsStateDiagramsDiagramas deComponentes

ComponentDiagramsComponentDiagramsDiagramas de

Distribución

StateDiagramsStateDiagramsDiagramas de Objetos

ScenarioDiagramsScenarioDiagramsDiagramas deEstados

Use CaseDiagramsUse CaseDiagramsDiagramas deSecuencia

StateDiagramsStateDiagramsDiagramas deClases

Diagramas deActividad

Modelo

Mecanismos comunes en UML

Especificaciones. Es más que un lenguaje gráfico (semántica detrás de la notación).

Adornos. Detalles sobre un clase, nivel de acceso de sus métodos, notas.

Divisiones Comunes: Clase/Objecto o Interfaz/Implementación.

Extensibilidad. Estereotipos, valores etiquetados o restricciones.

Mecanismos comunes en UML

+Insert()+Update()+Delete()#G etNum Paginas() : int

-Paginas : int

«utility»Producto

Paginas : int

«utility»p1 : Producto

Paginas : int

«utility»p2 : Producto

IDataM anaged

{orderById}

Definición de un producto gestionado desde base de datos

Casos de Uso

Casos de Usos

Un diagrama de Casos de Uso muestra la distintas operaciones que se esperan de una aplicación o sistema y cómo se relaciona con su entorno (usuario u otras aplicaciones).

Es una herramienta esencial para la captura de requerimientos y para la planificación y control de un proyecto interactivo.

Casos de Usos

Los casos de Uso Se representa en el diagrama por una elipse que denota un requerimiento solucionando por el sistema.

Cada caso de uso de uso es una operación completa desarrollada por los actores y por el sistema en un diálogo.

El conjunto de casos de uso representa la totalidad de operaciones desarrolladas por el sistema.

Casos de Usos

Casos de Usos

Actor: Es un usuario del sistema, que necesita o usa alguno de los casos de uso. Un usuario puede jugar más de un rol. Un solo actor puede actuar en muchos casos de uso; recíprocamente, un caso de uso puede tener varios actores. Los actores no necesitan ser humanos pueden ser sistemas externos que necesitan alguna información del sistema actual.

Casos de Usos

También se puede encontrar tres tipos de relaciones, como son:

– Comunica (comunicates) Entre un actor y un caso de uso, denota la participación del actor en el caso de uso determinado.

Casos de Usos

Usa (uses): Relación entre dos casos de uso, denota la inclusión del comportamiento de un escenario en otro. Se utiliza cuando se repite un caso de uso en dos o más casos de uso separados. Frecuentemente no hay actor asociado con el caso de uso común.

Casos de Usos

Extiende (extends): Relación entre dos casos, denota cuando un caso de uso es una especialización de otro. Se usa cuando se describe una variación sobre el normal comportamiento.

Casos de Usos

Técnicas comunes de modelado:– Modelado del contexto del sistema (utilidad similar a los DFD).

– Modelado de los requisitos de un sistema.

– Modelado del proceso de test y estrés del sistema.


Recommended