24 Jun
Ciclo de Vida del Software (SDLC)
Un modelo de ciclo de vida define las fases a través de las cuales se mueve un proyecto de desarrollo de software.
Un modelo de ciclo de vida del software:
- Describe las fases principales del desarrollo de software.
- Define las fases primarias esperadas de ser ejecutadas durante esas fases.
- Ayuda a administrar el progreso del desarrollo y proporciona un espacio de trabajo para la definición de un detallado proceso de desarrollo de software.
Tipos de Modelos de Ciclo de Vida del Software
- Modelo Cascada
- Modelo de Desarrollo Incremental
- Modelo de Desarrollo Evolutivo
- Modelo Espiral
- Modelo Concurrente
Lenguaje Unificado de Modelado (UML)
¿Qué es UML?
UML es ante todo un lenguaje. Un lenguaje proporciona un vocabulario y unas reglas para permitir la comunicación. En este caso, este lenguaje se centra en la representación gráfica de un sistema.
Este lenguaje nos indica cómo crear y leer los modelos, pero no dice cómo crearlos. Esto último es el objetivo de las metodologías de desarrollo. Los objetivos de UML son muchos, pero se pueden sintetizar sus funciones:
- Visualizar: UML permite expresar de una forma gráfica un sistema de forma que otro lo pueda entender.
- Especificar: UML permite especificar cuáles son las características de un sistema antes de su construcción.
- Construir: A partir de los modelos especificados se pueden construir los sistemas diseñados.
- Documentar: Los propios elementos gráficos sirven como documentación del sistema desarrollado que pueden servir para su futura revisión.
- Visualizar: UML permite expresar de una forma gráfica un sistema de forma que otro lo puede entender.
- Especificar: UML permite especificar cuáles son las características de un sistema antes de su construcción.
Un modelo UML está compuesto por tres clases de bloques de construcción:
- Elementos: Los elementos son abstracciones de cosas reales o ficticias (objetos, acciones, etc.).
- Relaciones: Son conexiones que relacionan los elementos entre sí.
- Diagramas: Son colecciones de elementos con sus relaciones.
Diagramas UML
Un diagrama es la representación gráfica de un conjunto de elementos con sus relaciones. En concreto, un diagrama ofrece una vista del sistema a modelar. Para poder representar correctamente un sistema, UML ofrece una amplia variedad de diagramas para visualizar el sistema desde varias perspectivas. UML incluye los siguientes diagramas:
- Diagrama de casos de uso.
- Diagrama de clases.
- Diagrama de objetos.
- Diagrama de secuencia.
- Diagrama de colaboración.
- Diagrama de estados.
- Diagrama de actividades.
- Diagrama de componentes.
- Diagrama de despliegue.
Diagrama de Casos de Uso
El diagrama de casos de uso representa gráficamente los casos de uso que tiene un sistema. Se define un caso de uso como cada interacción supuesta con el sistema a desarrollar, donde se representan los requisitos funcionales. Es decir, se está diciendo lo que tiene que hacer un sistema y cómo. En la figura 3 se muestra un ejemplo de casos de uso, donde se muestran tres actores (los clientes, los taquilleros y los jefes de taquilla) y las operaciones que pueden realizar (sus roles).
Diagrama de Clases
El diagrama de clases muestra un conjunto de clases, interfaces y sus relaciones. Este es el diagrama más común a la hora de describir el diseño de los sistemas orientados a objetos. En la figura 4 se muestran las clases globales, sus atributos y las relaciones de una posible solución al problema de la venta de entradas.
Diagrama de Secuencia
En el diagrama de secuencia se muestra la interacción de los objetos que componen un sistema de forma temporal. Siguiendo el ejemplo de venta de entradas, la figura 5 muestra la interacción de crear una nueva sala para un espectáculo.
Metodología de Programación
Objetivos de la Metodología de Programación
- Fases en la solución de un problema de programación. Ciclo de vida del software.
- Introducir el concepto de algoritmo y sus características.
- Mostrar las diferentes técnicas para representar algoritmos.
- Introducir la programación estructurada y el diseño descendente.
Contenidos Clave
- Ciclo de vida del software.
- Concepto de algoritmo.
- Formas de describir un algoritmo.
- Análisis, desarrollo e implementación de un algoritmo.
Objetivos y Fases de la Programación
Utilizar la computadora como una herramienta para la resolución de problemas.
Fases del Proceso de Programación
- Análisis del problema (especificación)
- Diseño o desarrollo del algoritmo
- Transformación del algoritmo en un programa (Codificación)
- Compilación y ejecución del programa
- Depuración
- Mantenimiento
- Documentación
Importancia de la Documentación en el Desarrollo de Software
- Un sistema pobremente documentado carece de valor aunque haya funcionado bien en alguna ocasión, ya que resulta inmantenible.
- Documentar software es una tarea complicada y exige un criterio de ingeniería maduro.
- Documentar de forma concisa es un error habitual, pero el otro extremo resulta igual de perjudicial.
- Para cada etapa del proceso de desarrollo se generarán uno o más documentos.
Fases Detalladas en la Resolución de Problemas con Computadoras
El proceso de resolución de un problema con una computadora conduce a la escritura de un programa y a su ejecución en la misma. Aunque el proceso de diseñar programas es esencialmente un proceso creativo, se puede considerar una serie de fases o pasos comunes, que generalmente deben seguir todos los programadores.
- Análisis: El problema se analiza teniendo presente la especificación de los requisitos dados por el cliente de la empresa o por la persona que encarga el programa.
- Diseño: Una vez analizado el problema, se diseña una solución que conducirá a un algoritmo que resuelva el problema.
- Codificación (implementación): La solución se escribe en la sintaxis del lenguaje de alto nivel (por ejemplo, C) y se obtiene un programa fuente que se compila a continuación.
- Ejecución, verificación y depuración: El programa se ejecuta, se comprueba rigurosamente y se eliminan todos los errores (denominados «bugs», en inglés) que puedan aparecer.
- Mantenimiento: El programa se actualiza y modifica, cada vez que sea necesario, de modo que se cumplan todas las necesidades de cambio de sus usuarios.
- Documentación: Escritura de las diferentes fases del ciclo de vida del software, esencialmente el análisis, diseño y codificación, junto con manuales de usuario y de referencia, así como normas para el mantenimiento.
Las dos primeras fases conducen a un diseño detallado escrito en forma de algoritmo. Durante la tercera etapa (codificación) se implementa el algoritmo en un código escrito en un lenguaje de programación, reflejando las ideas desarrolladas en las fases de análisis y diseño.
Las fases de compilación y ejecución traducen y ejecutan el programa. En las fases de verificación y depuración el programador busca errores de las etapas anteriores y los elimina. Comprobará que cuanto más tiempo se invierta en la fase de análisis y diseño, menos se necesitará en la depuración del programa. Por último, se debe realizar la documentación del programa.
Antes de conocer las tareas a realizar en cada fase, vamos a considerar el concepto y significado de la palabra algoritmo.
Análisis del Problema: Detalle de la Primera Fase
La primera fase de la resolución de un problema con una computadora es el análisis del problema. Esta fase requiere una clara definición, que contemple exactamente lo que debe hacer el programa y el resultado o solución deseada.
Dado que se busca una solución por computadora, se precisan especificaciones detalladas de entrada y salida. La Figura 2.1 muestra los requisitos que se deben definir en el análisis.
Deja un comentario