Tareas

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
  • 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).
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