PARADIGMAS DE LA INGENIERÍA DE SOFTWARE
Un paradigma de
programación es un modelo básico de diseño y desarrollo de programas, que
permite producir programas con una directriz específica, tales como: estructura
modular, fuerte cohesión, alta rentabilidad, etc.
Enfoque Estructurado
El análisis estructurado se basa fundamentalmente en la
descomposición funcional del sistema que se desea construir, lo cual requiere
comprender primero el dominio del problema y a continuación documentar las
funciones y sub funciones que debe proporcionar el sistema.
Componentes
• Símbolos
gráficos: Son los iconos y convenciones para identificar y
describir los componentes de un sistema y las relaciones entre estos.
• Diccionarios
de datos: Descripciones de todos los datos utilizados en el
sistema. Puede ser manual o automatizado.
• Descripciones
de procesos y procedimientos: Declaraciones formales que emplean
técnicas y lenguajes que permiten describir actividades importantes que forman
parte del sistema.
• Reglas: Estándares
para describir y documentar el sistema en forma correcta y completa.
Enfoque Orientado
a Objetos
El enfoque Orientado a Objetos
invierte el método estructurado, se centra en primer lugar en identificar los
objetos del dominio de aplicación y después en establecer procedimientos que
los manejen.
Características
• Identidad: Los datos se
organizan en entidades discretas y distinguibles llamadas objetos. Estos
objetos pueden ser concretos o abstractos, pero cada objeto tiene su propia
identidad.
• Clasificación: Los objetos
que tengan los mismos atributos y comportamiento se agrupan en clases.
Una clase es una abstracción que describe propiedades (atributos y
comportamiento) relevantes para una aplicación determinada, ignorando el resto.
• Polimorfismo: El polimorfismo
permite que una misma operación pueda llevarse a cabo de forma diferente en
clases diferentes.
• Herencia: El concepto de
herencia se refiere al compartir de atributos y operaciones basadas en una
relación jerárquica entre varias clases. Una clase puede definirse de forma
general y luego refinarse en sucesivas subclases. Cada clase hereda todas las
propiedades (atributos y operaciones) de su superclase y añade sus propiedades
particulares
COMPARATIVA DE LOS
MODELOS DE PROCESO DE SOFTWARE
Modelo de cascada
En Ingeniería de
software el desarrollo en cascada, también llamado modelo en
cascada, es el enfoque metodológico que ordena rigurosamente las etapas
del proceso para el desarrollo de software, de tal forma que el inicio de
cada etapa debe esperar a la finalización de la etapa anterior.
Un ejemplo de una metodología de
desarrollo en cascada es:
·
Análisis de requisitos.
·
Diseño del Sistema.
·
Diseño del Programa.
·
Codificación.
·
Pruebas.
·
Implantación.
·
Mantenimiento.
Modelo espiral
Cada ciclo espiral se divide en 4
etapas:
DEFINICION DE OBJETIVOS: Se
definen los objetivos específicos. Se identifican las restricciones del proceso
y el producto, y es estipula un plan detallado de administración. Se
identifican los riesgos, se planean estrategias alternativas.
EVALUACION Y REDUCCION DE
RIESGOS: Se lleva a cabo un análisis detallado para cada uno de los riesgos del
proyecto. Se definen los pasos para reducir dichos riesgos.
DESARROLLO Y VALIDACION: un
modelo de desarrollo apropiado podría ser la construcción de prototipos
evolutivos. Si los riesgos de protección son la principal consideración, un
desarrollo basado en transformaciones formales podría ser el más apropiado, y
así sucesivamente.
PLANEACION: El proyecto se revisa
y se toma la decisión si se debe continuar con un ciclo posterior de la
espiral. Si se decide continuar, se desarrollan los planes para la siguiente
fase del proyecto.
Modelo incremental
Se divide en 4 partes: Análisis,
Diseño, Código y Prueba.
Sin embargo, para la producción
del Software, se usa el principio de trabajo en cadena, utilizado en muchas
otras formas de programación. Con esto se mantiene al cliente en constante
contacto con los resultados obtenidos en cada incremento.
Proceso de desarrollo unificado
El Proceso Unificado no es
simplemente un proceso, sino un marco de trabajo extensible que puede ser
adaptado a organizaciones o proyectos específicos.
El nombre Proceso
Unificado se usa para describir el proceso genérico que incluye
aquellos elementos que son comunes a la mayoría de los refinamientos
existentes. También permite evitar problemas legales.
Proceso de software personal
Es un conjunto de prácticas disciplinadas
para la gestión del tiempo y mejora de la productividad personal de los
programadores o ingenieros de software, en tareas de desarrollo y mantenimiento
de sistemas. Está alineado y diseñado para emplearse en organizaciones con
modelos de procesos.
MODELO DE CASOS DE USO
Describen qué hace el sistema desde el punto de vista de
un observador externo.
Ponen énfasis en qué hace el sistema, no en cómo lo hace.
Un escenario es una
instancia particular de un diagrama de casos de uso.
Actor = Algo con comportamiento
(persona, otro programa, organización...), que interactúa con el sistema.
sistema.
Escenario (instancia de caso de uso) = Secuencia de acciones e interacciones entre los actores y el
sistema.
Caso de Uso = Colección de
escenarios (éxito y fracaso) que describen actores que usan el sistema para
conseguir un objetivo.
Relaciones Entre Dos Casos De Uso
Generalización
·
“Es un caso particular de …”
·
Herencia de clases en POO
(overriding)
·
También se puede tener esta relación
entre dos actores
Inclusión (include)
·
“Implica hacer también …”
Extensión (extend)
·
“Se insertará en …” un determinado
punto (llamado “punto de extensión”)dependiendo de una condición
·
Si un caso de uso depende de
varios casos de uso mediante “extend” tendrá un punto de extensión para cada
uno.
Son
útiles en tres áreas:
Especificación
de requisitos
Comunicación con
los clientes
- Su simplicidad los convierte en excelentes medios de comunicación
Generación de
casos de prueba
- A partir de los escenarios de un Caso de Uso
DIAGRAMA
DE SECUENCIA
El diagrama de secuencias en UML muestra la forma en que los objetos se comunican entre sí al transcurrir el tiempo.
El diagrama muestra:
- Los objetos participando en la interacción
- La secuencia de mensajes intercambiados
Un diagrama de secuencia contiene:
- Objetos con sus “líneas de vida”
- Mensajes intercambiados entre objetos en una secuencia ordenada
- Línea de vida activa (opcional)
OBJETOS
Los diagramas de secuencia constan de objetos que se
representan de modo usual: rectángulo con nombre, mensajes entre los objetos
representados por líneas continúas con una punta de flecha y el tiempo
representado como una progresión vertical. Los objetos se colocan cerca de la
parte superior del diagrama de izquierda a derecha y se acomodan de manera que
simplifiquen el diagrama.
La extensión que esta debajo (en forma descendente) de
cada objeto será una línea discontinua conocida como la línea de vida de un
objeto, junto con la línea de vida de un (objeto rectángulo) se le conoce como
activación, el cual una operación que realiza el objeto la interpreta como la
duración de la activación.
LINEA DE VIDA
Una línea de vida representa un participante individual
en un diagrama de secuencia. Una línea de vida usualmente tiene un
rectángulo que contiene el nombre del objeto.
MENSAJE
Un mensaje que va de un objeto a otro pasa de la línea de
vida de un objeto al de otro. Un objeto puede enviarse un objeto a si mismo es
decir de su línea de vida así propia línea de vida.
Un mensaje puede ser simple, síncrono y asíncrono
Un mensaje puede ser simple, síncrono y asíncrono
- Mensaje simple: es la
transferencia del control de un objeto a otro.
- Mensaje síncrono: es
cuando el objeto espera la respuesta a ese mensaje antes de continuar con
su trabajo.
- Mensaje asíncrono: es
cuando el objeto no espera la respuesta a ese mensaje antes de continuar.
TIEMPO
El diagrama representa el tiempo en dirección vertical.
El tiempo se inicia en la parte superior y avanza hacia la parte inferior. Un
mensaje que este mas cerca de la parte superior ocurrirá antes que uno que esté
cerca de la parte inferior.
Con ellos el diagrama de secuencia tiene 2 dimensiones: la dimensión horizontal (es la disposición de los objetos) y la dimensión vertical (muestra el paso del tiempo).
Con ellos el diagrama de secuencia tiene 2 dimensiones: la dimensión horizontal (es la disposición de los objetos) y la dimensión vertical (muestra el paso del tiempo).
La siguiente figura muestra el conjunto básico de símbolos
del diagrama de secuencia, junto con los símbolos de su funcionamiento.
RECURCIVIDAD
En ocasiones un objeto posee una operación que se invoca
a sí misma. A esto se le conoce como recursividad y es una característica
fundamental de varios lenguajes de programación.
La siguiente figura muestra este tipo de representación.
PALABRAS CLAVES
- Diagrama
- Secuencia
- Objeto
- Mensaje
- Tiempo
- Recursividad
- Línea
- Vida









No hay comentarios.:
Publicar un comentario