1. Técnicas de elicitación de requerimientos.
1.1. Esto es, obtener de algún modo cuáles son realmente esos requerimientos, resulta una actividad esencial en cualquier proceso de desarrollo de software.
1.2. La elicitación de requerimientos requiere previamente la identificación de las personas afectadas por el proyecto, sus stakeholders (literalmente, los que apuestan algo), lo que incluye desde el cliente que paga el proyecto hasta los usuarios finales de la aplicación, sin olvidarse de terceras personas y organizaciones relacionadas indirectamente con el sistema que se va a desarrollar.
2. Metodologías de análisis de requerimientos.
2.1. una metodología no es más que un conjunto de convenciones que han resultado útiles en la práctica y cuyo uso combinado se recomienda.
2.1.1. Las metodologías de análisis particulares, de las que hay muchas, usualmente están ligadas, o bien al uso de determinadas herramientas, o bien a empresas de consultoría concretas.
3. Herramientas de modelado de sistemas.
3.1. Un modelo, básicamente, no es más que una simplificación de la realidad. El uso de modelos en la construcción de sistemas de información resulta esencial por los siguientes motivos:
3.1.1. Los modelos ayudan a comunicar la estructura de un sistema complejo (y, por tanto, a comunicarnos con las demás personas involucradas en un proyecto).
3.1.2. Los modelos sirven para especificar el comportamiento deseado del sistema (como guía para las etapas posteriores del proyecto).
3.1.3. Los modelos nos ayudan a comprender mejor lo que estamos diseñando.
3.1.4. Los modelos nos permiten descubrir oportunidades de simplificación (ahorrarnos trabajo en el proyecto actual) y de reutilización (ahorrarnos trabajo en futuros proyectos).
3.2. TIPOS DE MODELOS
3.2.1. MODELOS ESTRUCTURALES
3.2.1.1. Nos ayudan a la hora de organizar un sistema complejo.
3.2.1.2. Ejemplo: Un diagrama entidad/relación nos indica cómo se estructuran los datos de un sistema de información, mientras que un diagrama de flujo de datos nos da información acerca de cómo se descompone un sistema en subsistemas y del flujo de datos que existe entre los distintos subsistemas.
3.2.2. MODELOS DE COMPORTAMIENTO
3.2.2.1. Nos permiten analizar y modelar la dinámica de un sistema.
3.2.2.2. Ejemplo: un diagrama de estados representa los distintos estados en que puede encontrarse un sistema y cómo se puede pasar de un estado a otro, mientras que la descripción de un caso de uso nos ayuda a comprender la secuencia de pasos involucrada en la consecución de un objetivo concreto por parte de un usuario del sistema.