miércoles, 6 de octubre de 2010

Metodologías del desarrollo del SW

            Una metodología puede seguir uno o varios modelos de ciclo de vida, es decir, el ciclo de vida indica qué es lo que hay que obtener a lo largo del desarrollo del proyecto pero no cómo hacerlo. La metodología indica cómo hay que obtener los distintos productos parciales y finales.

    Clasificación de las Metodologías:
     
  • Estructuradas
  •       +Orientadas a Procesos
          +Orientadas a datos
               -Jerárquicas
               -No Jerárquicas
          +Mixtas
  • Mixtas de las administraciones
  •               +Merise
                  +SSADM
                  +Métrica
                  +Eurometodo
  • Orientadas a Objetos
  • Para sistemas en tiempo real
  • Agiles

Modelos de Ciclo de Vida del Software

Ciclo de Vida en Cascada Puro:
Es un ciclo de vida que admite iteraciones
Después de cada etapa se realizan una o varias comprobaciones para saber si se puede pasar a la siguiente.
Es un modelo rígido, poco flexible y con muchas restricciones, pero fue uno de los primeros y sirvió de base para el resto de los modelos.
A pesar de permitir iteraciones, han de tenerse todos los requerimientos al comienzo del proyecto y si se han cometido errores y no se detectan en la etapa inmediata, la corrección será muy difícil y costosa.

Ciclo de Vida Lineal:
Se divide el proyecto en etapas separadas, que se realizan de manera lineal, primero una y luego la siguiente. Esto permite prever el tiempo de desarrollo (sumando el tiempo de cada etapa).


Etapas del Ciclo Lineal:
  • Análisis.
  • Diseño.
  • Construcción (Implementación).
  • Pruebas (Debuggin).
  • Instalación.
  • Mantenimiento.


Ciclo de Vida con Componentes:
Es bueno para desarrollar programas en tiempos reducidos.
Es conveniente usarlo siempre que se tengan todos los requerimientos desde el principio del proyecto.
Es adecuado para el desarrollo de un producto con finalidades conocidas o para proyectos que aun siendo complejos, son fáciles de entender perfectamente.


Ciclo de Vida en V:
Este ciclo contiene las mismas etapas que el Ciclo de Vida en Cascada Puro, solo que a diferencia de él, a este se le han agregado dos subetapas de retroalimentacion entre las etapas de análisis y mantenimiento.

Ciclo de Vida tipo Sashimi:
Este ciclo de vida es similar al Ciclo de Vida de Cascada Puro, con la diferencia de que en este se pueden solapar las etapas, por lo cual la retroalimentación entre etapas se encuentra implícitamente en el modelo.

Ciclo de Vida Evolutivo.
Este modelo acepta que los requerimientos del usuario pueden cambiar en cualquier momento.

Otros modelos pueden ser:
Ciclo de Vida en Cascada con Subproyectos.
Ciclo de Vida Iterativo.
Ciclo de Vida por Prototipos.

Ciclo de Vida del Software

            El ciclo de vida del sw comprende el tiempo de desarrollo del mismo, esto           quiere decir, desde que se hace el análisis del proyecto hasta la fase de            mantenimiento.

Fases del Ciclo de Vida del SW:
  
  • Definicion de necesidades.
      
  • Analisis de los requisitos y su viabilidad.

  •   
  • Diseño.

  •   
  • Programacion (desarrollo de codigo).

  •   
  • Pruebas.

  •   
  • Mantenimiento. 

martes, 5 de octubre de 2010

Fases del desarrollo de Software

Las fases del desarrollo del software son varias:
            -Análisis.
            -Diseño.
            -Construcción.
            -Pruebas.
            -Instalación.
            -Mantenimiento.
Análisis:
            En el análisis del proyecto se hará un estudio de viabilidad, análisis de riesgos,    planificación temporal, análisis y especificación de requisitos y modelado del sw   y Bases de Datos.
Diseño:
            Se plantea aquí como hacer el proyecto. Se hace el diseño lógico y físico de base             de datos y el diseño de programas de aplicaciones.
            Esta es la fase en la que el cliente se puede decidir si quiere el producto o no.
Construcción:
            Se crea y carga la base de datos y se implementan las aplicaciones.
            Es en esta fase donde se desarrolla el código del proyecto.
Pruebas:
            Se hacen test de información, perdida de datos, rendimiento y comportamiento   de la aplicación antes de la entrega del sw, para evitar tener que modificarlo     luego de entregado al cliente.           
Instalación:
            Se procede a instalar el sw en los equipos necesarios, y de ser necesario dar una   mínima formación al personal o cliente de cómo manejarlo.
Mantenimiento:
            Revisiones periódicas que se hacen al producto para comprobar que no ha dado   fallos, también se implementan actualizaciones.


Fundamentos de la Ingenieria del SW

Fundamentos

            A diferencia del resto de ingenierías, la ingeniería del sw es intangible, la más      reciente utiliza menos recursos que el resto de ingenierías.
            Para cumplir con sus objetivos necesita la aportación de otras disciplinas   humanas, como son la Ingeniería, Informática, Gestión y la Economía.
            La ingeniería del sw dispone de técnicas que son:
                                                                                              -Métodos
                                                                                              -Procedimientos
                                                                                              -Herramientas

Métodos:
            Definición de construcción de código desde un punto de vista técnico. Los métodos de desarrollo del sw son estos:
            -Planificación y estimación de proyecto: Permite establecer los plazos a   cumplir.
            -Análisis de requisitos: Concreta las necesidades, y las posibilidades de    llevarlas a cabo.
            -Diseño: Especificación de cómo cubrir las necesidades del cliente.
            -Codificación: Elaboración del código.
            -Pruebas: Búsqueda de posibles fallos.
            -Mantenimiento: Seguimiento para solucionar problemas que puedan surgir.

Herramientas:
            Las herramientas nos ayudan a automatizar las tareas de los métodos, podemos   distinguir dos tipos:
            -CASE: Ayudan a realizar las tareas de análisis y diseño del proyecto.
            -CAD: Se centran básicamente en tareas de diseño.

Procedimientos:
            Es el punto de unión de métodos y herramientas.