Subido por alex armijos

Modelado de Software

Anuncio
UNIVERSIDAD NACIONAL DE LOJA
Carrera Ingeniería en Sistemas / Computación
Modelado de Software
Wilman Chamba Zaragocín.
Versión 1.0
Agenda
●
●
●
●
●
●
●
●
Introducción: Métodos, técnicas y herramientas
Definición de modelo
Modelado de software
Principios de modelado
Propiedades de los modelos
Expresiones de los modelos
Instrumentos del modelado
Conclusiones
Métodos, Técnicas y Herramientas
Que hace un ingeniero?
Construir artefactos o productos dentro de las limitaciones de coste, utilizando
el conocimiento y las teorías de la ciencia sobre la cual se basa el artefacto
Métodos, Técnicas y Herramientas
| Métodos |
Indican los pasos que debemos seguir para construir un artefacto, (software)
Abarcan una gran gama de tareas que incluyen el análisis de los requisitos, el diseño, la construcción
de programas, pruebas y mantenimiento.
Métodos, Técnicas y Herramientas
| Técnicas |
Indican cómo debemos construir el artefacto, es la forma de realizar las actividades del método.
Ejemplo: técnicas de modelado y otras técnicas descriptivas.
Históricamente se han utilizado técnicas cómo:
●
●
●
Modelado
División del producto
División del proceso
En principio todas estas técnicas se deben aplicar en Informática
Métodos, Técnicas y Herramientas
| Técnicas |
●
Modelado:
Simplificación del objeto en el mundo real, pero que es
suficientemente realista como para dar una idea de lo que
ocurrirá en la realidad y usarse como base del desarrollo.
●
División del producto:
Se fracciona el producto de modo que cada fragmento lo
puede realizar un miembro del grupo de desarrollo
●
División del proceso:
Implica dividir el desarrollo del artefacto por fases. Normalmente
se habla de especificación, diseño y fabricación. ¿Que? ¿Como?
Realización Prueba
Métodos, Técnicas y Herramientas
| Herramientas |
Proporcionan un enfoque automático o semi-automático para el proceso y para los métodos. Cuando
se integran herramientas para que la información creada por una herramienta pueda ser usada por
otra, se establece un sistema de soporte para el desarrollo del software llamado Ingeniería del
Software asistida por computadora (CASE)
Definición de modelo
Qué es un Modelo?
Ej.
Por favor alguién me explique lo que es un tigre?
El tigre es
un felino….
● Prototipo que sirve de referencia y ejemplo para
todos los que diseñan y confeccionan productos de
la misma naturaleza.
● Muestra características únicas que resaltan una
idea, esta idea puede ser o no seguida por quienes
la perciben.
● Representa el ingenio, creando una gama de
características que son imitadas por los demás.
“Los modelos son descripciones que se hacen
acerca de los elementos de un sistema y que
permiten entender al mismo en su conjunto”
Definición de modelo
Qué es un Modelo?
Útiles para describir, explicar o comprender mejor la
realidad
El tigre
es un
felino,,,
No caer en el error de pensar que el modelo es un
diagrama o dibujo, pues no siempre es posible
describir de esa forma
Herramienta primaria para las actividades
de creación
Comunicar lo que comprendemos (Análisis)
Como pretendemos dar una solución (Diseño)
Un modelo es una versión simplificada de algo: una representación gráfica, matemática o física que abstrae la
realidad para eliminar cierta complejidad.
“Los modelos deben representar suficientemente el sistema, y el sistema debe confirmar los
modelos”
Modelado de software
Definición
“El modelado de software es una técnica generalizada
para ayudar a los ingenieros de software a
comprender, diseñar y comunicar aspectos del
software a las partes apropiadas”
Son aquellas entidades que tienen un interés declarado o
implícito en el SW (por ej: usuario, comprador, proveedor,
arquitecto, autoridad certificadora, evaluador,
desarrollador, ingeniero de SW y quizás otros)
PROCESO DE DESARROLLO DE SOFTWARE
ACTIVIDAD
ACTIVIDAD
ACTIVIDAD
Nro. 1
Nro. 2
Nro. 3
MODELO
1
●
MODELO
2
El uso de modelos ayuda al equipo de trabajo de
desarrollo de software a visualizar el sistema de
información a construir.
ACTIVIDAD
Nro. N
MODELO
3
●
MODELO
N
Los modelos de un nivel de abstracción mayor
pueden utilizarse para la comunicación con el
cliente.
Modelado de software
Objetivos
●
●
●
●
Visualizar un software.
Especificar la estructura o el comportamiento de un software.
Proporcionar plantillas que guíen durante la construcción del software.
Documentar las decisiones que se toman en cualquier etapa del desarrollo del software.
Beneficios
●
●
●
●
●
●
Mejora la productividad.
Reduce el número de defectos en el código.
Facilita la comprensión; lo que facilita la integración de nuevos miembros en el equipo.
Mejora la descomposición y modularización del software.
Facilita la evolución y mantenimiento del software.
Mejora la reusabilidad.
Modelado de software
Importancia
● Comprender la realidad:
Un modelo es una simplificación de la realidad.
● Comprender el sistema:
Un modelo permite comprender mejor el sistema que estamos desarrollando: sus
elementos y sus relaciones.
● Reducir la complejidad:
Un modelo permite reducir la complejidad de entender sistemas complejos en su
totalidad.
● Comunicarse con otros:
Un modelo permite la comunicación entre los desarrollos y los clientes.
Principios para el Modelado de software
Modelar lo esencial
● El modelado generalmente implica desarrollar sólo aquellos aspectos o
características del software que necesitan respuestas específicas, abstrayendo
cualquier información no esencial.
● Este enfoque mantiene los modelos manejables y útiles.
Elegir los modelos a utilizar que
sirvan al propósito deseado
Proveer perspectivas
● Este enfoque proporciona dimensionalidad al modelo (Por ejemplo.- vista: estructural,
de comportamiento, organizacional y otras según sea relevante).
● La organización de la información en perspectivas centra los esfuerzos de modelado
de software en preocupaciones específicas relevantes para esa perspectiva
utilizando: la notación, el vocabulario, los métodos y las herramientas adecuados.
Los modelos pueden ser
expresados en distintos niveles de
precisión
Activar comunicaciones efectivas
● El modelado emplea el vocabulario del dominio de la aplicación del software, un
lenguaje de modelado y expresión semántica (en otras palabras, significado dentro
del contexto)
● Cuando se usa de manera rigurosa y sistemática, este modelo da como resultado un
enfoque de informes que facilita la comunicación efectiva de la información del
software a las partes interesadas del proyecto.
Mientras más coherente sea un
modelo con la realidad, mejor
será su manejo y comunicación
con las partes interesadas
Propiedades de modelos
Las propiedades de los modelos son las características que le distinguen a un modelo (notación de
modelado elegida y las herramientas utilizadas).
Las propiedades de los modelos incluyen lo siguiente:
Integridad
Grado en el que se han implementado y verificado todos los requisitos dentro del modelo.
Consistencia
Grado en el que el modelo no contiene descripciones de sus componentes en conflicto.
Exactitud
Grado en que el modelo satisface sus requisitos y especificaciones de diseño y está libre de defectos.
Expresiones de modelos
Los elementos para expresar modelos son dos: entidades y relaciones
Entidad
Representar artefactos concretos (procesadores, sensores o robots,
personas, usuarios) o artefactos abstractos (módulos de software o
protocolos de comunicación)
significado
Por su forma (gráfico),
atributos textuales o
ambos
Relaciones
Conectan o comunican entre entidades (son: líneas u operadores
textuales).
LENGUAJE DE MODELADO
● Terminología común para comunicar
claramente una idea abstracta que
captura el modelo.
● Puede ser formal, con sintaxis y
reglas estrictas.
Expresiones de modelos
Lenguajes para modelar software
● Lenguaje visual: fácil de interpretar y procesar.
● Complementado con algún texto para mejorar descripciones.
Clases Lenguajes para modelar software / sistemas
Existen algunos lenguajes de modelado de sistemas:
● Lenguajes de propósito general:
○ Lenguaje de modelado de sistemas (SysML)
○ Lenguaje de modelado unificado (UML),
● Lenguajes de propósito especializados:
○ Lenguaje de diseño de análisis de arquitectura (AADL)
○ Lenguaje de manejo de procesos de negocio (BPMN).
SYSML®
Instrumentos para el modelado
El modelado como técnica utiliza los siguientes instrumentos:
1 | Lenguaje
● Para comunicación efectiva entre los involucrados (mismos
términos e interpretaciones).
● Puede ser formal, con sintaxis y reglas estrictas (evitar
ambigüedades).
2 | Estructura
Un modelo bien estructurado puede hacer que el modelo sea
comprensible, utilizable y mantenible, lo cual es particularmente
importante para sistemas complejos.
Instrumentos para el modelado
El modelado como técnica utiliza los siguientes instrumentos:
3 | Argumentación
Documentación de lo entendido, diseñado, desarrollado e
implementado del software
4 | Presentación
● Es una forma clave de garantizar la comprensión.
● La visualización de ideas abstractas permite a las personas dar el
salto de imaginación que se necesita para "ver" el sistema
Conclusiones
● Los modelos son descripciones que se hacen acerca de los elementos de un sistema y
●
●
●
●
●
que permiten entender al mismo en su conjunto.
Los modelos deben representar suficientemente el sistema, y el sistema debe confirmar
los modelos.
Gran parte del proceso de desarrollo tiene como objetivo construir modelos
Los modelos ayudan entender la realidad, entender el sistema, reducir la complejidad y
comunicar resultados.
Los modelos no son sólo gráficos, es la combinación de gráficos o textos.
Los modelos tienen una expresión que es representado a través de un lenguaje que
deben cumplir con reglas léxicas, sintácticas y semánticas.
Gracias por su atención!.
Preguntas?
Wilman Chamba Zaragocín.
Descargar