3. Durante las dos pasadas décadas, se han desarrollado un gran número de métodos de modelado. Los investigadores
han identificado los problemas del análisis y sus causas y han desarrollado varias notaciones de modelado y sus
correspondientes conjuntos de heurísticas para solucionarlos. Cada método de análisis tiene su punto de vista. Sin
embargo, todos los métodos de análisis se relacionan por un conjunto de principios operativos:
1. Debe representarse y entenderse el dominio de información de un problema
2. Deben definirse las funciones que debe realizar el software
3. Debe representarse el comportamiento del software (como consecuencia de acontecimientos externos)
4. Deben dividirse los modelos que representan información, función y comportamiento de manera que se
descubran los detalles por capas (o jerárquicamente)
5. El proceso de análisis debería ir desde la información esencial hasta el detalle de la implementación.
Además de los principios operativos de análisis mencionados anteriormente, se detallan un conjunto de principios
directrices para la ingeniería de requisitos:
• Entender el problema antes de empezar a crear el modelo de análisis
• Desarrollar prototipos que permitan al usuario entender cómo será la interacción hombre-máquina
• Registrar el origen y la razón de cada requisito
• Usar múltiples planteamientos de requisitos
• Dar prioridad a los requisitos
4. Los modelos creados durante el análisis de requisitos desempeñan unos papeles muy importantes:
• El modelo ayuda al analista a entender la información, la función y el comportamiento del sistema, haciendo por
tanto más fácil y sistemática la tarea de análisis de requisitos.
• El modelo se convierte en el punto de mira para la revisión y por tanto la clave para determinar si se ha
completado, su consistencia y la precisión de la especificación.
• El modelo se convierte en el fundamento para el diseño, proporcionando al diseñador una representación esencial
del software que pueda trasladarse al contexto de la implementación
5. El análisis orientado a objetos es el proceso que modela el dominio del problema mediante la identificación y la
especificación de un conjunto de objetos semánticos que interaccionan y se comportan de acuerdo a los requisitos
del sistema [Monarchi y Puhr, 1992].
Permite describir el sistema en los mismos términos que el mundo real
Se centra en la comprensión del espacio (dominio) del problema
Contiene elementos de síntesis.
La abstracción de requisitos de usuario y la identificación de los objetos clave del dominio es seguida del
ensamblaje de estos objetos en estructuras de forma que soporten el diseño en fases posteriores.
La identificación de las clases semánticas, los atributos, el comportamiento y las relaciones (generalizaciones,
agregaciones y asociaciones)
El emplazamiento de las clases, atributos y comportamiento
La especificación del comportamiento dinámico mediante paso de mensajes
6. El análisis de requisitos es una tarea de ingeniería de software que cubre el hueco entre las definiciones del
software a nivel sistema y el diseño del software. El análisis de requisitos permite al ingeniero de sistemas
especificar las características operacionales del software (función, datos y rendimientos), indica la interface del
software con otros elementos del sistema y establece las restricciones que debe cumplir el software.
Puede dividirse en 5 áreas de esfuerzo:
Reconocimiento del problema.
Evaluación y síntesis.
Modelado.
Especificación.
Revisión.
La evaluación del problema y la síntesis de la solución es la siguiente área principal de esfuerzo en el análisis.
El analista debe definir todos los objetos de datos observables externamente, evaluar el flujo y contenido de la
información, definir y elaborar todas las funciones del software, entender el comportamiento del software en el
contexto de acontecimientos que afectan al sistema, establecer las características de la interfaz del sistema y
descubrir restricciones adicionales del diseño.
Cada una de estas tareas sirve para describir el problema de manera que se pueda sintetizar un enfoque o
solución global
7. La información se transforma a medida que fluye por un sistema basado en computadora. El sistema acepta
entradas en una gran variedad de formas; aplica elementos de hardware, software y humanos para transformar la
entrada en salida, y produce salida en una gran variedad de formas. La entrada puede ser una señal de control
transmitida por un controlador, una serie de números escritos por un enlace de una red o un archivo voluminoso de
datos recuperado de un almacenamiento secundario.
La transformación puede ser, desde una sencilla comparación lógica, hasta un complejo algoritmo numérico o un
mecanismo de reglas de un sistema experto.
El análisis estructurado es una técnica del modelado del flujo y del contenido de la información. La representación
del modelado de flujo de datos puede hacerse a través de un Diagrama de Flujo de Datos.
El diagrama de flujo de datos (DFD) es una técnica que representa el flujo de la información y las transformaciones
que se aplican a los datos al moverse desde la entrada hasta la salida; ya que adopta un punto de vista del tipo
entrada-proceso-salida para el sistema.
Se puede usar el diagrama de flujo de datos para representar un sistema o un software a cualquier nivel de
abstracción.
8. Los métodos de análisis orientados a la estructura de datos representan los requerimientos del software
enfocándose hacia la estructura de datos en vez de al flujo de datos.
Aunque cada método orientado a la estructura de datos tiene un enfoque y notación distinta, todos tienen
algunas características en común:
todos asisten al analista en la identificación de los objetos de información clave y operaciones
todos suponen que la estructura de la información es jerárquica
todos requiere que la estructura de datos se represente usando la secuencia, selección y repetición
todos dan una conjunto de pasos para transformar una estructura de datos jerárquica en una estructura de
programa. Como los métodos orientados al flujo de datos, los métodos de análisis orientados a la estructura
de datos proporcionan la base para el diseño de software.
9. El desarrollo de sistema de Jackson (DSJ) se obtuvo a partir del trabajo de M.A. Jackson sobre el
análisis del dominio de la información y sus relaciones con el diseño de programas y sistemas. En
palabras de Jackson: “El que desarrolla el software comienza creando un modelo de la realidad a la
que se refiere el sistema, la realidad que proporciona su materia objeto [del sistema]…”
Para construir un DSJ el analista aplica los siguientes pasos:
Paso de las acciones y entidades. Usando un método muy similar a la técnica de análisis orientada
al objeto, en este paso se identifican las entidades (persona, objetos u organizaciones que
necesita un sistema para producir o usar información) y acciones (los sucesos que ocurren en el
mundo real que afectan a las entidades).
Paso de estructuración de las entidades. Las acciones que afectan a cada entidad son ordenadas
en el tiempo y representadas mediante diagramas de Jackson (una notación similar a un árbol).
Paso de modelación inicial. Las entidades y acciones se representan como un modelo del
proceso; se definen las conexiones entre el modelo y el mundo real.
Paso de las funciones. Se especifican las funciones que corresponden a las acciones definidas.
Paso de temporización del sistema. Se establecen y especifican las características de planificación
del proceso.
Paso de implementación. Se especifica el hardware y software como un diseño
10. La programación Orientada a Objetos es una metodología que basa la estructura de los programas
en torno a los objetos. Los lenguajes de POO ofrecen medios y herramientas para describir los
objetos manipulados por un programa. Más que describir cada objeto individualmente, estos
lenguajes proveen una construcción (Clase) que describe a un conjunto de objetos que poseen las
mismas propiedades.
11. El análisis y diseño orientado a objetos (ADOO) es un enfoque de la ingeniería de software que modela un
sistema como un grupo de objetos que interactúan entre sí. Este enfoque representa un domino absoluto en
términos de conceptos, clasificados de acuerdo a su dependencia funcional. Todo sistema de información
requiere de artefactos o componentes (clases) para llevar a cabo tareas, es de gran importancia dentro de la
ingeniería de software tener un buen "análisis y diseño" para un mejor desarrollo, que conlleva a que tan
"escalable" sea un sistema de información.
En este método de análisis y diseño se crea un conjunto de modelos utilizando una notación acordada como, por
ejemplo, el lenguaje unificado de modelado (UML).
ADOO aplica técnicas de modelado de objetos para analizar los requerimientos para un contexto (por ejemplo, un
sistema de negocio, un conjunto de módulos de software) y para diseñar una solución para mejorar los procesos
involucrados.
No está restringido al diseño de programas de computadora, sino que cubre sistemas enteros de distinto tipo. Las
metodologías de análisis y diseño más modernas son "casos de uso" guiados a través de requerimientos, diseño,
implementación, pruebas, y despliegue.
El lenguaje unificado de modelado se ha vuelto el lenguaje de modelado estándar usado en análisis y diseño
orientado a objetos.
12. La POO tiene como su más importante característica la reutilización del código, mismo
que debe ser simple y lo suficientemente comprobado antes de estar disponible para ser
utilizado. Hablar de reutilización de código, significa que una vez que se realiza la
implementación, esta solución debe ser lo más parametrizable posible para que sea
general y por lo tanto pueda ser invocado desde la mayor cantidad de casos posibles en
los que sea requerido.