3.

1 TÉCNICAS ESTRUCTURADAS PARA EL ANÁLISIS DE REQUERIMIENTOS Las técnicas son un método que aplica herramientas y reglas específicas para completar una o más fases del ciclo de vida del desarrollo de Sistemas. Las técnicas estructuradas utilizadas en el desarrollo de los Proyectos de Sistemas, buscaron superar el fracaso en muchos desarrollos convencionales, como son las siguientes técnicas:
     

Análisis estructurado Diseño estructurado Programación estructurada Desarrollo TOP-DOWN Equipos de programación Revisiones estructuradas

ANALISIS ESTRUCTURADO El Análisis se refiere al "extremo inicial" de un proyecto de desarrollo de sistemas, durante el tiempo en que los requisitos del usuario son definidos y documentados. El Análisis estructurado introduce el uso de las herramientas de documentación gráficas para producir un tipo diferente de especificación funcional: "la especificación estructurada".

Herramientas de documentación del Análisis Estructurado
    

Diagramas de flujo de datos (DFDs) Diccionario de Datos (DD) Diagramas de Entidad-Relación (ER) Diagramas de Transición de Estado (DTEs) Especificaciones de procesos.

DISEÑO ESTRUCTURADO Durante el desarrollo se determinan "qué módulos, interconectados de qué forma, solucionarán mejor un problema definido. Elementos del Diseño Estructurado:
   

Técnicas de documentación Criterios de evaluación del Diseño Heurísticas del diseño Estrategias del Diseño

El análisis de sistemas llega a la raíz del problema o a la necesidad y define los requerimientos de los usuarios de las siguientes características: 1. Estudio de factibilidad 3.DESARROLLO TOP-DOWN Es una estrategia de proyecto que divide sucesivamente los problemas grandes y complejos en problemas menores y menos complejos. La revisión estructurada (walktrough). independientemente de su tamaño y complejidad.1. Aprobación del requerimiento . hasta que el problema original pueda ser expresado como una combinación de problemas pequeños y fácilmente solucionables. Clarificación de requerimientos 2. es conducida por los miembros de un equipo que trabajan juntos en una base diaria. y su realización puede ser fijada en cualquier momento. requiere muchas actividades coordinadas y el empleo de una diversidad de herramientas y modelos. EQUIPOS DE PROGRAMACION Componentes:       Superprogramador o Programador jefe Copiloto Administrador Abogado de lenguaje de programación Instrumentador o experto en utilitarios Bibliotecario 3 razones por la que no es posible implementar    Costo del Superprogramador Conseguir que trabaje para uno un Superprogramador ¿Qué hacer con el personal que se tiene? REVISIONES ESTRUCTURADAS Se trata de un procedimiento organizado para que un grupo de examinadores (Analistas de Sistemas.1 CARACTERISTÍCAS DEL ANÁLISIS ESTRUCTURADO El desarrollo de un sistema de información. programadores) revisen el producto técnico para fines de corrección y garantía de calidad. 3. La metodología de desarrollo de sistemas es una forma estándar de organizar y coordinar estas actividades.

cuando se terminan dichos proyectos. 3. puede iniciarse el desarrollo de la aplicación propuesta. las entradas necesarias y. si habrá resistencia de los usuarios en cuanto a este. son métodos que se utilizan para todas las etapas del ciclo de desarrollo de software y que tienen la característica que usan formalismos matemáticos para la representación o derivación de los elementos involucrados en cada etapa. por lo que la gerencia debe de decidir qué proyectos son más importantes y entonces se programan.CLARIFICACION DE REQUERIMIENTOS El analista debe de observar en forma objetiva lo que ocurre en la empresa. simplemente métodos formales. posiblemente una noción general de los controles necesarios. Los aspectos para determinar la factibilidad del proyecto son: Factibilidad técnica: Se debe de investigar si se puede realizar el trabajo para el proyecto con el equipo actual. ya que muchas veces los requerimientos no están claramente establecidos. En muchos casos. por lo que. El resultado de estas actividades será aprobar el requerimiento para una atención posterior o rechazarlo como no factible. ESTUDIO DE FACTIBILIDAD Es determinar si el proyecto es factible. los usuarios y los analistas de sistemas trabajan conjuntamente. el proyecto requerido debe examinarse para determinar precisamente lo que desea la empresa. el usuario tiene ideas bastante definidas acerca de la salida requerida. APROBACION DEL REQUERIMIENTO En muchas empresas tienen varios proyectos que se encuentran en marcha. Factibilidad económica: ¿Qué beneficios tendrá la creación del sistema en cuanto a costo/beneficios? Factibilidad operativa: Se debe de investigar si el sistema que se desarrolla se pondrá en marcha. Posteriormente.2 ESPECIFICACIÓN FORMAL DE DATOS Los métodos formales para el desarrollo de software o. . Algunas de las ventajas que podemos nombrar sobre una especificación formal son las siguientes: Prototipado: Las especificaciones formales pueden llegar a ser ejecutables. el personal y el software disponible.1.

Se establece el significado de las operaciones a través de relaciones entre operaciones (axiomas). Método constructivo u operacional. Conjuntos de datos que intervienen en la definición. Los diagramas de flujo de datos son análisis estructurados y herramientas de diseño que permiten que el analista comprenda visualmente el sistema y subsistemas como un juego de flujos de datos interrelacionados. Las distintas notaciones formales existentes difieren en la forma de definir la semántica: Método axiomático o algebraico.Corrección del programa: Verificación automática y formal de que el programa funciona correctamente. Se define cada operación por sí misma. Significado explícito de las operaciones. Signatura de las operaciones definidas -> <nombre_operación>: <conj_dominio> → <conj_resultado> •SEMÁNTICA. 3. En cuanto a la notación. •SINTAXIS. Reusabilidad: Posibilidad de usar la especificación formal en distintos ámbitos. Significado implícito de las operaciones. Nombre genérico del TAD. Indica el significado de las operaciones. una descripción formal constará de cuatro partes: •NOMBRE.1 DRIAGRAMA DE FLUJO Y CONTROL DE DATOS Para comprender mejor el movimiento lógico de los datos en un negocio. Símbolos Significado Ejemplo .2. el analista de sistemas traza diagramas de flujo de datos (DFD). independientemente de las otras.1. •CONJUNTOS.

hay procesos que se ejecuten al mismo tiempo. una flecha para mostrar el flujo de datos y un rectángulo de extremo abierto para mostrar un almacén de datos. dentro de la imagen más grande. almacenamiento y transformación de datos es trazada con el uso de cuatro símbolos: un rectángulo redondeado para indicar procesamiento o transformaciones de datos.Hay procesos ejecutados por diferentes grupos de usuarios. Luego es trazado un diagrama de flujo de datos lógico a nivel 0. Luego el analista crea un diagrama hijo para cada uno de los procesos del Diagrama 0. un cuadrado doble para mostrar una entidad de datos externa (origen o receptor de datos). Luego. Seis consideraciones para partición de diagramas de flujo incluyen si: 1.. . el analista desarrolla un diagrama de flujo de datos físico a partir del diagrama de flujo de datos lógico. fuentes. pero cambian los almacenes de datos y las fuentes. almacenes y flujos de datos desde las primeras narraciones organizacionales. La explosión del diagrama de flujo original permite que el analista de sistemas se enfoque en las representaciones cada vez más detalladas de los movimientos de datos dentro del sistema. Se muestran los procesos y se añaden los almacenes de datos. El analista de sistemas extrae procesos. particionandolo para facilitar la programación. y usa un enfoque de arriba hacia abajo para trazar primero un diagrama de contexto del sistema. Cada proceso es analizado para determinar si debe ser un procedimiento manual o automatizado. Las entradas y salidas permanecen constantes. Los procesos automatizados son agrupados subsecuentemente en una serie de programas de computadora diseñados para ser por lotes o en línea.La representación gráfica del movimiento.

4. 3.. usándola para obtener información más clara de los usuarios. Las ventajas de los diagramas de flujo de datos incluyen la simplicidad de la notación. los procesos por lotes pueden ser combinados para un procesamiento eficiente.2.O si los procesos pueden ser partidos en diferentes programas por razones de seguridad. permitiendo que el analista de sistemas conceptualice los flujos de datos necesarios sin estar atado a una implementación física particular. El diagrama de flujo de datos correcto para el ejemplo de la nómina..Hay procesos que ejecuten tareas similares. permitir que los analistas conceptualicen mejor las interrelaciones del sistema y sus subsistemas y analicen un sistema propuesto para determinar si han sido definidos los datos y procesos necesarios.Los procesos pueden ser combinados en un programa para tener consistencia de datos.. .

Características comunes de los diagramas de flujo de datos lógicos y físicos. .

Diagrama de flujo de datos lógicos Diagrama de flujo de datos físicos .

almacenes de datos y procesos. 3. Identifica los procesos donde se emplean los datos y los sitios donde se necesita el acceso inmediato a la información.El diagrama de flujo de datos físico (abajo) muestra determinados detalles que no se encuentran en el diagrama de flujo de datos lógico (arriba). descripción. su contenido también se emplea durante el diseño del proyecto. Los elementos mas importantes son flujos de datos.2.2 DICCIONARIO DE DATOS Un diccionario de datos es un conjunto de metadatos que contiene las características lógicas de los datos que se van a utilizar en el sistema que se programa. su contenido también se emplea durante el diseño. contenido y organización. . alias. En un diccionario de datos se encuentra la lista de todos los elementos que forman parte del flujo de datos de todo el sistema. se desarrolla durante el análisis de flujo de datos y auxilia a los analistas que participan en la determinación de los requerimientos del sistema. Estos diccionarios se desarrollan durante el análisis de flujo de datos y ayuda a los analistas que participan en la determinación de los requerimientos del sistema.1. El diccionario de datos guarda los detalles y descripción de todos estos elementos. incluyendo nombre.

2. Una vez que las características están articuladas y registradas.Para facilitar el análisis de los detalles con la finalidad de evaluar las características y determinar donde efectuar cambios en el sistema.Ejemplos: Nombre = Título Título = Primer-nombre Apellido-paterno Apellido-materno Carácter = [A-Z|a-z| |’] a + [Sr Primer-nombre + | Sra = = = Apellido-paterno + | Dr Apellido-materno | Ing] {carácter} {carácter} {carácter} Contiene las características lógicas de los sitios donde se almacenan los datos del sistema. es muy difícil manejar todos los detalles. Se abordan las características:    Naturaleza de las transacciones: las actividades de la empresa que se llevan a cabo mientras se emplea el sistema. . todos los participantes en el proyecto tendrán una fuente común de información con respecto al sistema. ya que tienen enormes cantidades de datos.Para documentar las características del sistema. su contenido también se emplea durante el diseño. se desarrolla durante el análisis de flujo de datos y auxilia a los analistas que participan en la determinación de los requerimientos del sistema. Preguntas: solicitudes para la recuperación o procesamiento de información para generar una respuesta específica. Razones para su utilización: 1. incluyendo nombre. ya sea sobre hoja de papel o usando procesadores de texto. contenido y organización. Los analistas mas organizados usan el diccionario de datos automatizados diseñados específicamente para el análisis y diseño de software. aun en los sistemas mas chicos hay gran cantidad de datos. Archivos y bases de datos: detalles de las transacciones y registros maestros que son de interés para la organización. alias. de tal manera que todo pueda localizarse con rapidez. Por eso se registra la información.Para manejar los detalles en sistemas muy grandes. incluyendo partes o componentes así como los aspectos que los distinguen. 4. Produciendo una comprensión más completa. 3. Los sistemas al sufrir cambios continuos. Identifica los procesos donde se emplean los datos y los sitios donde se necesita el acceso inmediato a la información. descripción. También es necesario saber bajo qué circunstancias se lleva a cabo cada proceso y con qué frecuencia ocurren.Para asignarle un solo significado a cada uno de los elementos y actividades del sistema. Determina si son necesarias nuevas características o si están en orden los cambios de cualquier tipo. Los diccionarios de datos proporcionan asistencia para asegurar significados comunes para los elementos y actividades del sistema y registrando detalles adicionales relacionados con el flujo de datos en el sistema.

Se agrupan para formar una estructura de datos. Relación de selección: (uno u otro). dependiendo de quién uso este dato. Capacidad del sistema: Habilidad del sistema para aceptar. Algunas herramientas utilizadas para generar especificaciones de procesos son: . Contenido de un registro del diccionario El diccionario tiene dos tipos de descripciones para el flujo de datos del sistema. El objetivo es definir qué debe hacerse para transformar ciertas entradas en ciertas salidas. Cada uno está identificado con: Un nombre: para distinguir un dato de otro.3 ESPECIFICACIÓN DE PROCESOS Es una herramienta de modelado de sistemas. No hay una única forma de realizar la especificación de procesos. por si mismos no le dan un significado suficiente al usuario. Aun en los manuales. son los elementos datos y estructura de datos. Notación Los analistas usan símbolos especiales con la finalidad de no usar demasiada cantidad de texto para la descripción de las relaciones entre datos y mostrar con claridad las relaciones estructurales.Localizar errores y omisiones en el sistema. una o ninguna iteración. existen múltiples herramientas que facilitan esta tarea. Longitud: porque es de importancia de saber la cantidad de espacio necesario para cada dato.1. 5. que permite definir qué sucede en los procesos o funciones de un sistema. Descripción: Se construyen sobre cuatro relaciones de componentes. se revelan errores. Alias: porque un dato puede recibir varios nombres. procesar y almacenar transacciones y datos. Descripción: Cada entrada en el diccionario consiste de un conjunto de detalles que describen los datos utilizados o producidos por el sistema. 3. Si los valores de los datos están restringidos a un intervalo especifico. Relación secuencial: define los componentes que siempre se incluyen en una estructura de datos. define las alternativas para datos o estructuras de datos incluidos en una estructura de datos. Elemento dato: son los bloques básicos para todos los demás datos del sistema. Estructura de datos: es un grupo de datos que están relacionados con otros y que en conjunto describen un componente del sistema.Descripción: indica lo que representa en el sistema. Se pueden utilizar las siguientes combinaciones ya sea individualmente o en conjunción con alguna otra. Relación de iteración: (repetitiva). define la repetición de un componente. o sea. aunque debería emplearse aquellas que permitan fácil comprensión. esto debe estar en la entrada del diccionario. Valores de los datos: porque en algunos procesos solo son permitidos valores muy específicos para los datos. En algunos casos se emplean términos diferentes para describir la misma entidad (alias) estos se representan con un signo igual (=) que vincula los datos. detectan dificultades. Relación opcional: los datos pueden o no estar incluidos. y las presentan en un informe.

Formato de especificación de procesos: El nombre de proceso. evitando ambigüedades (el lenguaje natural humano carece de precisión y es muy ambiguo). Estas especificaciones explican la lógica de toma de decisiones y las fórmulas que transformarán los datos de entrada al proceso en salida. como visualizaciones dentro del símbolo de proceso sobre el DFD. sin detallar un algoritmo específico Otras: tablas de decisiones. Las áreas no resueltas pueden ser planteadas como preguntas en entrevistas de averiguación. diagramas de flujos.1 LENGUAJE NATURAL El lenguaje natural se refiere a la utilización del lenguaje ordinario usado en la vida diaria como técnica para que el desarrollador del sistema extraiga los requisitos que desea el cliente.3.1. Una descripción breve del lo que el proceso logra. El mismo es la técnica más comúnmente usada para la extracción de requisitos. Una lista de la contribución y la circulación de datos de producto. dándole más precisión y claridad. gráficas. diagrama Nassi-Shneiderman. Los tres objetivos de la especificación de proceso son:    Reducir la ambigüedad de los procesos Obtener una descripción precisa de lo que se logra Validar el diseño de sistema. para la regularidad y la buena comunicación. . Su objetivo principal es lograr el entendimiento y especificación correcta por parte del desarrollar sobre las necesidades que posee el cliente para el comportamiento del sistema. 3.Lenguaje estructurado: se emplea un lenguaje natural limitado en palabras y construcciones. Las especificaciones de proceso pueden ser usadas para analizar el diagrama de flujo de datos y el diccionario de datos por medio de un método llamado balanceo horizontal. Las especificaciones de proceso (o mini especificaciones) son creadas para los procesos primitivos en un diagrama de flujo de datos así como para algunos procesos de alto nivel que explotan a diagramas hijos. etc. Los datos que los nombres usaron en las fórmulas o la lógica deben ajustarse al diccionario de datos. que indica que todos los elementos del flujo de datos de salida deben ser obtenidos a partir de elementos de entrada y lógica de proceso. Definen un algoritmo Uso de pre-condiciones y post-condiciones: describen la función del proceso. lenguaje narrativo. usando los nombres encontrados sobre el diagrama de flujo de datos.

acuerdos mutuos. Practicidad: Al no necesitar enseñanza ni acostumbramiento. Luego. Las reglas de decisiones. al utilizarse un lenguaje ordinario y común para el cliente. esta técnica puede ser llevada a cabo rápidamente. El lenguaje estructurado es una herramienta que puede utilizarse en la especificación de procesos. por el contrario. Además. que puede llevar a cabo de forma oral o escrita. cuando fue desarrollado por General Electric para el análisis de funciones de la empresa como .1.2 LENGUAJE ESTRUCTURADO El lenguaje estructurado es un lenguaje natural limitado en palabras y construcciones. El procedimiento de esta técnica en sí no está definido. Las principales ventajas y motivos de uso de esta técnica son las siguientes: Curva de Aprendizaje Fácil: Al no necesitar establecer pautas. El lenguaje estructurado puede utilizarse para especificar un algoritmo. 3. Este método se emplea desde mediados de la década de los 50. en el desarrollo de sistemas. lo que le da más precisión y claridad. No se utiliza ningún tipo de soporte adicional (por ejemplo. códigos ni lenguajes de programación entre el cliente y el desarrollar. se utiliza el lenguaje natural puro durante la etapa de Especificación. esta técnica puede ser utilizada sin enseñarle ni explicarle su uso al cliente. dentro del Proceso de Ingeniería de Requisitos. 3.3. Para el cliente será como una comunicación más con otra persona. formularios como en el lenguaje estructurado o diagramas como en la notación gráfica) ni lenguajes formales como ser los códigos de programación.3 TABLAS DE DECISIÓN La tabla de decisión es una matriz de renglones y columnas que indican condiciones y acciones. deberá transformarse o “traducirse” a un lenguaje de programación específico. para que la computadora pueda procesarlo. evitando ambigüedades (el lenguaje natural humano carece de precisión y es muy ambiguo). se trata de una comunicación sin reglas ni acuerdos previos. Más específicamente.3.1. por lo que es accesible para cualquier persona.Esta técnica es usada durante la etapa de Análisis del proceso de desarrollo de un sistema. incluidas en una tabla de decisión establecen el procedimiento a seguir cuando existen ciertas condiciones. la extracción de requisitos se realiza con mayor fluidez.

Existen dos formas para hacerlo. Características de las Tablas de Decisión: La tabla de decisión está integrada por cuatro secciones:     Identificación de Condiciones Entradas de Condiciones Identificación de Acciones Entradas de Acciones La Identificación de Condiciones señala aquellas que son relevantes. se representan las distintas alternativas. clara y concisa de una situación que se resuelve por una decisión tomada en un momento específico del tiempo. Esto permite identificar las condiciones en la decisión. El siguiente renglón se llena alternando con S y N. repitiéndose este proceso hasta llenar la tabla. por ejemplo para tres condiciones es necesario examinar ocho posibles combinaciones 23= 8. . indican que valor. Para desarrollar tablas de decisión. se debe asociar para una determinada condición Las entradas de Acciones muestran las acciones específicas del conjunto que deben emprenderse cuando ciertas condiciones o combinaciones de éstas son verdaderas. La primera. Como construir tablas de decisión. Se utiliza la tabla de decisión cuando existen muchas combinaciones. 2. Esto es llenar la primera mitad del renglón consigo y la otra mitad con no. Nos proporcionan una descripción completa. se deben emprender los siguientes pasos: 1. Utilidad Permite representar la descripción de situaciones decisivas. Las Entradas de Condiciones. Llenar la tabla con reglas de decisiones. escenario los renglones de condición con valores sí o no para cada combinación posible de condiciones. en este caso no es posible la ocurrencia parcial.control de inventarios. análisis de créditos y control de transporte y rutas. si es que los hay. existen 2n combinaciones a considerar. Para cualquier número N condiciones. Determinar los pasos o actividades más factibles bajo condiciones que cambian (no sólo las condiciones actuales). Estudiar las diferentes posibilidades de combinaciones de condiciones. análisis de ventas. Esto permite identificar las acciones. Determinar los factores considerados como más relevantes en la toma de decisiones. estados de la naturaleza y las consecuencias. 3. Cada condición seleccionada de detener la característica de ocurrir quo no ocurrir. correcta. es decir. 4.

Un árbol de decisión sirve para modelar funciones discretas. muestra qué condiciones se consideran en primer lugar. qué acciones deben ser tomadas y el orden en la cual la toma de decisión será efectuada. 5. especifican las variables que son evaluadas. Cada vez que se ejecuta un árbol de decisión. Examinar la tabla para detectar reglas redundantes o contradicciones entre estas.4 ÁRBOLES DE DECISIÓN El árbol de decisión es un diagrama que representan en forma secuencial condiciones y acciones. en las que el objetivo es determinar el valor combinado de un conjunto de variables. por cada condición adicional. En otras palabras. solo un camino será seguido dependiendo del valor actual de la variable evaluada. El desarrollo de árboles de decisión beneficiado analista en dos formas. A) Establece la primera condición y todas las acciones permisibles.3. determinar la acción a ser tomada. donde no importan las condiciones en un proceso.El otro método para llenar la tabla considera una condición a la vez y. dejar las celdas vacías o marcadas con un guión para señalar que en ese renglón no emprende ninguna acción. 3.1. la añade a la tabla pero sin considerar las combinaciones de condiciones y acciones duplicadas. la necesidad de describir condiciones y acciones llevan a los analistas a identificar de manera formal . y basándose en el valor de cada una de ellas. Marcar las entradas correspondientes a las acciones con una X para indicar que éstas se emprenden. Se recomienda el uso del árbol de decisión cuando el número de acciones es pequeño y no son posibles todas las combinaciones. C) Para cada condición adicional repite el paso b. en segundo lugar y así sucesivamente. o donde existen relaciones o resultados importantes que otros no detectaron o consideraron. Este método permite mostrar la relación que existe entre cada condición y el grupo de acciones permisibles asociado con ella. Estos sencillos lineamientos no sólo ahorran tiempo al construir una tabla de decisiones a partir de información recopilada durante la investigación sino que también es de ayuda para señalar donde falta información. Primero que todo. el empleo de las tablas de decisión produce un análisis más completo y exacto. Uso de árboles decisiones. Los árboles de decisión son normalmente construidos a partir de la descripción de la narrativa de un problema. B) Añadir la segunda condición duplicando la primera mitad de la matriz y llenando los diferentes valores S y N de las dos mitades de la matriz aumentada con las nuevas condiciones. Ellos proveen una visión gráfica de la toma de decisión necesaria. 6.

Los árboles también obligan a los analistas a considerar la consecuencia de las decisiones. Cuando aparecen estos problemas. . entonces es posible que los datos críticos se encuentren definidos en el diccionario de datos (el cual describe los datos utilizados por el sistema y donde se emplean). El gran número de ramas que pertenecen a varias trayectorias constituye más un problema que una ayuda para el análisis. aunque el árbol de decisión no muestra todo los datos. Los árboles de decisión no siempre son la mejor herramienta para el análisis de decisiones. Si los árboles de decisión se construyen después de completar el análisis de flujo de datos. También son útiles para identificar los requerimientos de datos críticos que rodean al proceso de decisión. es decir. Si únicamente se usan árboles de decisiones. En estos casos los analistas corren el riesgo de no determinar qué políticas o estrategias de la empresa son la guía para la toma de decisiones específicas. El árbol de decisiones de un sistema complejo con muchas secuencias de pasos y combinaciones de condiciones puede tener un tamaño considerable. De esta forma.las decisiones que actualmente deben tomarse. entonces es momento de considerar las tablas de decisión. El analista debe identificar y elaborar una lista de todos los datos utilizados en el proceso de decisión. sin importar que este dependa de variables cuantitativas o cualitativas. los árboles indican los conjuntos de datos que la gerencia requiere para formular decisiones o tomar acciones. Se ha demostrado que los árboles de decisión son eficaces cuando es necesario describir problemas con más de una dimensión o condición. entonces el analista debe tener la certeza de identificar con precisión cada dato necesario para tomar la decisión. es difícil para ellos pasar por alto cualquier etapa del proceso de decisión.

Sign up to vote on this title
UsefulNot useful