Está en la página 1de 4

Areas de esfuerzo en el Análisis de Requisitos

Teoría 9: 1. Reconocimiento del problema


Reconocer los elementos básicos del problema tal y como los
percibe el cliente/usuario.
Análisis y Diseño del Software
Teoría 9 - AyDS – Año 2008 - Marcela Daniele - UNRC

Teoría 9 - AyDS – Año 2008 - Marcela Daniele - UNRC


2. Evaluación y síntesis
¿Qué datos produce y consume el sistema, qué funciones debe
realizar el sistema, qué interfaces se definen y qué restricciones
son aplicables?.
El enfoque primario del analista está en el «qué» y no en el «cómo»

3. Modelado
El analista crea el modelo de análisis para entender el flujo de
datos y de control, el tratamiento funcional, el comportamiento
operativo y el contenido de la información.

4. Especificación
Especificación con más detalle de la solución elegida.

5. Revisión
1 3

Análisis de Requisitos Principios generales del Análisis


• La ingeniería de requisitos del software es un proceso de 1. Debe representarse y entenderse el dominio de
descubrimiento, refinamiento, modelado y especificación. información de un problema.
• En el análisis de los requisitos, se refinan en detalle los
Teoría 9 - AyDS – Año 2008 - Marcela Daniele - UNRC

Teoría 9 - AyDS – Año 2008 - Marcela Daniele - UNRC


2. Deben definirse las funciones que realizará el
requisitos del sistema y el rol del software. Se crean
software.
modelos de datos, flujo de información y control, y de
comportamiento. Se analizan soluciones alternativas. 3. Debe representarse el comportamiento del software
(como consecuencia de acontecimientos externos).
• El análisis de requisitos es una tarea de ingeniería del
software que cubre la brecha entre la definición del software 4. Deben dividirse los modelos que representan
a nivel sistema y el diseño del software.
información, función y comportamiento de manera que
• El análisis de requisitos permite al ingeniero de sistemas se descubran los detalles por capas (o jerárquicamente).
especificar las características operacionales del software
5. El proceso de análisis debería ir desde la información
(función, datos y rendimientos), definir interfaces y
esencial hasta el detalle de la implementación.
2 establecer las restricciones que debe cumplir el software. 4
Resultado del Análisis de Requisitos Diseño del Software
• El diseño del software es un proceso iterativo donde los
Se obtiene un Modelo de Análisis que permite:
requisitos se traducen a un «plano» para construir el SW.
• Describir lo que requiere el cliente • El proceso de diseño inicia en un nivel alto de abstracción y por
Teoría 9 - AyDS – Año 2008 - Marcela Daniele - UNRC

Teoría 9 - AyDS – Año 2008 - Marcela Daniele - UNRC


refinamientos sucesivos obtiene represent. a niveles más bajos.
• Establecer una base para el diseño del Software • La calidad de la evolución del diseño se evalúa con una serie de
revisiones técnicas formales o con las revisiones de diseño.
• Definir y especificar requisitos que se puedan
El Modelo de Diseño deberá:
validar una vez que se construye el software.
• Implementar los requisitos explícitos del modelo de análisis, y
ajustarse a todos los requisitos implícitos del cliente.
• Ser una guía legible y comprensible para los generadores de
código y para aquellos que comprueban y dan soporte al SW.
• Proporcionar una imagen completa del SW, cubriendo su
comportamiento, funciones y datos desde una perspectiva de
5 7 implementación.

Diseño del Software Conceptos de Diseño del Software


• Luego de analizar y especificar los requisitos, el Diseño del • ABSTRACCION
Software es la primera de las tres actividades técnicas: diseño, • REFINAMIENTO
generación de código y prueba. • MODULARIDAD
Teoría 9 - AyDS – Año 2008 - Marcela Daniele - UNRC

Teoría 9 - AyDS – Año 2008 - Marcela Daniele - UNRC


El Modelo de Diseño está constituído por: • ARQUITECTURA DEL SOFTWARE
• JERARQUIA DE CONTROL
1. Diseño de Datos: Transforma el modelo del dominio en las
estructuras de datos que se necesitarán para implementar el SW. • DIVISIÓN ESTRUCTURAL
• ESTRUCTURA DE DATOS
2. Diseño Arquitectónico: Define la relación entre los elementos
estructurales del SW, los patrones de diseño y las restricciones • PROCEDIMIENTO DE SOFTWARE
que afectan la aplicación de los patrones de diseño arquitectónicos. • ABSTRACCION
3. Diseño de la Interfaz: Describe la forma de comunicarse el SW • OCULTACIÓN DE INFORMACIÓN
dentro de sí mismo, con sistemas que interopera y con las personas
que lo utilizan.
• INDEPENDENCIA FUNCIONAL
4. Diseño a nivel de Componentes: Transforma los elementos • COHESIÓN
estructurales de la arquitectura del SW en una descripción
• ACOPLAMIENTO
6 procedimental de los componentes del software. 8
Conceptos de Diseño del Software Conceptos de Diseño del Software
• ABSTRACCION • ARQUITECTURA DEL SOFTWARE
La arquitectura es la estructura jerárquica de los componentes
Una abstracción procedimental es una secuencia nombrada de
(módulos), la manera en que interactúan y la estructura de datos
instrucciones que tiene una función específica y limitada. Ej: Abrir
Teoría 9 - AyDS – Año 2008 - Marcela Daniele - UNRC

Teoría 9 - AyDS – Año 2008 - Marcela Daniele - UNRC


que van a utilizar. Los patrones arquitectónicos permiten determinar
una puerta. «Abrir» implica una secuencia larga de pasos
formas generales para estructurar todo el sistema.
procedimentales.
• JERARQUIA DE CONTROL
Una abstracción de datos es una colección nombrada de datos que
La relación de control entre módulos se expresa considerando una
describe un objeto de datos. Ej: Puerta es una abstracción de datos
jerarquía entre módulos y de quién controla quién.
La abstracción de control implica un mecanismo de control de • DIVISIÓN ESTRUCTURAL
programa sin especificar los datos internos.
La estructura del programa se puede dividir tanto horizontal
• REFINAMIENTO como verticalmente.

El refinamiento paso a paso es una estrategia de diseño • ESTRUCTURA DE DATOS


descendente. Se desarrolla un programa refinando sucesivamente Es una representación de la relación lógica entre los datos, y
9
los niveles de detalle procedimentales. 11
destermina una estructura de datos para el sistema.

Conceptos de Diseño del Software Conceptos de Diseño del Software


• MODULARIDAD • PROCEDIMIENTO DE SOFTWARE
El SW se divide en componentes, llamados módulos, que se integran
para satisfacer los requisitos del problema. Se debe proporcionar una especificación precisa de procesamiento
Capacidad de descomposición modular. Usar un mecanismo de cada módulo, incluyendo la secuencia de sucesos, los puntos de
Teoría 9 - AyDS – Año 2008 - Marcela Daniele - UNRC

Teoría 9 - AyDS – Año 2008 - Marcela Daniele - UNRC


sistemático para descomponer el problema en subproblemas, reduce la decisión, las operaciones repetitivas y la organización de datos.
complejidad del problema, y obtiene una solución modular más efectiva.
• OCULTACIÓN DE INFORMACIÓN
Capacidad de empleo de componentes modulares. El método de
diseño debe permitir ensamblar los componentes de diseño (reusables) Sugiere que los módulos se caractericen por las decisiones de diseño
existentes en un sistema nuevo. que cada uno oculta al otro.
Capacidad de comprensión modular. Si un módulo se puede
comprender como una unidad autónoma (sin referencias a otros módulos) • INDEPENDENCIA FUNCIONAL: COHESIÓN y ACOPLAMIENTO
será más fácil de construir y de cambiar. Crear módulos cohesivos que deberían hacer una sola cosa, y con
Continuidad modular. Si se cambian los módulos individuales, en vez de poca interacción con los procedimientos que realizan otros módulos.
cambios generalizados en el sistema, se minimizará el impacto de los efectos
El acoplamiento depende de la complejidad de interconexión entre
secundarios de los cambios.
módulos, de donde se realiza una entrada o referencia a un módulo,
Protección modular. Si en un módulo se produce una condición no
y los datos que pasan a través de la interfaz. En el diseño del
deseada y sus efectos se limitan a ese módulo, se minimizará el impacto de
los efectos secundarios inducidos por los errores.
software, intentamos conseguir el acoplamiento más bajo posible.
10 12
Bibliografía Consultada
Pressman, Roger. Software Engineering: A Practitioner's
Approach. Fifth edition. ISBN: 0071181822. McGraw Hill.
2001.
Teoría 9 - AyDS – Año 2008 - Marcela Daniele - UNRC

Capítulo 11: Conceptos y Principios de Análisis


Capítulo 12: Conceptos y Principios de Diseño

13

También podría gustarte