Metodología para desarrollo de software

1. Preparación del Entrono de Desarrollo

1. Preparación del Entrono de Desarrollo

Preparación de la documentación

Objeto de estudio

Paradigma

Usuario

Seleccion del lenguaje de desarrollo

Entorno de desarrollo

Plataforma

Tipo de distribución

Selección de las herramientas

Herramientas de diseño

Herramientas case

Herramientas de desarrollo

2. Análisis

2. Análisis

Levantamiento de los requerimientos

Levantamiento de encuestas

Aplicación de cuestionarios

Realización de entrevistas

Análisis de requeriientos

Clasificación de los requerimientos

Validación de los requerimientos

3. Diseño

3. Diseño

Modelado del proceso

Diagramas de flujo

Diagramas de caso de uso

Diagramas de proceso

Cronograma de actividades

Modelado de la base de datos

Diagrama E-R

Diagrama Relacional

Diccionario de Datos

Modelado de la solución

Bocetado

Diseño de las pantallas

Codificación de las interfaces

8. Documentación

8. Documentación

Manual de usuario

a

Manual de instalación y configuración

a

Manual de administración

7. Realización de las Pruebas

Pruebas unitarias

r

Definición de prueba unitariaUna prueba unitaria es un método que puede invocar al código que queremos probar y determina si el resultado obtenido es el esperado. Si es igual, entonces la prueba es exitosa, si no, falla.Si estos métodos los podemos ejecutar con un solo clic, entonces podemos ejecutar miles de ellos en muy poco tiempo.Dos característicasLas pruebas unitarias tienen las siguientes características:Funcionan en memoria, por lo que son muy rápidas. Cada una tarda pocos milisegundos en ejecutarse. No acceden a recursos externos como archivos, bases de datos o webservices. No requieren configuraciones manuales, por lo que funcionan con un solo clic.Son repetibles. Para que podamos confiar en ellas, las pruebas deben ejecutarse siempre de la misma manera. Queremos poder ejecutarlas durante el día con cada cambio que realicemos, o en el futuro cuando un programador (diferente a quien creó el Sistema) haga otro cambio. Para lograrlo, una prueba unitaria nunca debe depender de algo que cambie en el tiempo, como por ejemplo, la fecha actual, ni de alguna función aleatoria. En el ejemplo anterior, el resultado esperado es un número ya dado, así que la prueba siempre ejecutará de la misma manera.

Pruebas de integración

r

Este tipo de pruebas verifican que los componentes de la aplicación funcionan correctamente actuando en conjunto.Siguiendo con el caso anterior, las pruebas de integración son las que comprobarían que se ha mandado un email, la conexión real con la base de datos etc.Este tipo de pruebas son dependientes del entorno en el que se ejecutan. Si fallan, puede ser porque el código esté bien, pero haya un cambio en el entorno.Por ejemplo, también podríamos usar JUnit para realizar pruebas de integración, si no hacemos mocks o stubs, y nos centramos en probar el comportamiento de los componentes en su conjunto.

6. Generación de códigos

a

Creación de las clases

r

Una clase es la descripción de un conjunto de objetos similares; consta de métodos y de datos que resumen las características comunes de dicho conjunto. En un lenguaje de programación orientada a objetos se pueden definir muchos objetos de la misma clase de la misma forma que, en la vida real, haríamos galletas (objeto) con el mismo molde (clase) solo que, para entenderlo mejor, cada galleta tendría igual forma pero es posible que tenga distinto sabor, textura, olor, color, etc.

Propiedades

Métodos

Eventos

Creación de módulos

r

Un módulo (o biblioteca) es una colección de definiciones de variables, funciones y tipos (entre otras cosas) que pueden ser importadas para ser usadas desde cualquier programa.

Variables

Funciones

5. Desarrollo del prototipo

5. Desarrollo del prototipo

Creación de la interfaz

Creación de la Base de Datos

Validación del prototipo

4. Dominio del Problema

Definición del perfil de usuario

Espectativas del cliente