Descargar

Especificación y Fundamentos de Diseño de Software (página 2)

Enviado por Pablo Turmero


Partes: 1, 2, 3
edu.red 11 DOC. DE ESPECIFICACIÓN DE REQUISITOS El documento o la especificación de requisitos (SRD o SRS) recoge de forma integral los resultados del análisis. Puede haber documentos previos al SRD, como estudios de viabilidad o de alternativas posibles. El SRD debe ser revisado con cierta frecuencia durante el desarrollo y debe facilitar la varificación de las especificaciones (contrato). Diversos organismos de estandarización hacen propuestas sobre la estructura del SRD: IEEE, DoD, etc. Vemos el modelo de SRD de la Agencia Espacial Europea. Dependiendo de las características y complejidad del proceso tal vez no sea necesario cubrir todos los apartados.

edu.red 12 MODELO DE SRD Introducción Objetivo: objetivos, participantes, calendario,… Ámbito, identificará y dará nombre al producto Definiciones, siglas y abreviaturas Referencias, la descripción bibliográfica de los documentos referenciados. Panorámica del documento Descripción general Relación con otros proyectos, similares o complementarios Relación con proyectos anteriores o posteriores Objetivo y funciones Consideraciones de entorno Relaciones con otros sistemas, que utilicen entradas o salidas indirectas de información Restricciones generales: metodologías, lenguajes, de hardware,… Descripción del modelo, es el apartado más extenso y más importante. Se utilizan todas las notaciones y herramientas disponibles

edu.red 13 MODELO DE SRD Requisitos específicos, lista detallada y completa de los requisitos del sistema, indicando su grado de cumplimiento (obligatorio, recomendable, opcional. No incluir aspectos de diseño o desarrollo, ni tampoco soluciones particulares que no sean obligadas Requisitos específicos, QUÉ debe hacer el sistema especificando el tratamiento de la información. Requisitos de interfase, conexión con otros sistemas con los que interactúa (bases de datos, ficheros, SSOO,…). Requisitos de operación, es decir, del interfaz de usuario Requisitos de capacidad, volumen procesador, tiempo respuesta, tamaño ficheros. Se debe cuantificar para el peor, el mejor y el caso más habitual. Requisitos de verificación, que debe cumplir el sistema para que se posible verificar su corrección Requisitos de pruebas de aceptación Requisitos de recursos, instalaciones y elementos necesarios para el funcionamiento del sistema Requisitos de documentación Requisitos de transportabilidad, para adaptalo a otras plataformas Requisitos de calidad, que no hayan sido recogidos en otros apartados Requisitos de fiabilidad, imponiendo un límite aceptable de fallos Requisitos de mantenibilidad Requisitos de seguridad, contra utilización indebida Requisitos de salvaguarda, para evitar consecuencias graves en equipos o en personas APENDICES, para complementar el contenido del documento

edu.red 14 VIDEOJUEGO DE LAS MINAS

edu.red 15 SISTEMA DE GESTIÓN DE BIBLIOTECA

edu.red 16 SISTEMA DE GESTIÓN DE BIBLIOTECA

edu.red 17 SISTEMA DE GESTIÓN DE BIBLIOTECA

edu.red 18 SISTEMA DE GESTIÓN DE BIBLIOTECA

edu.red 19 SISTEMA DE GESTIÓN DE BIBLIOTECA

edu.red 20 CONCEPTO DE DISEÑO Descripción o bosquejo de alguna cosa hecho por palabras. En un sistema software la realización del diseño parte del SRD y no es nada trivial. Cuando no se tiene experiencia en el desarrollo concreto se hace de forma iterativa mediante ensayo y error, en caso contrario se aprovecha el “know-how” (saber hacer). Las técnicas para realizar diseños nuevos son empíricas y no están suficientemente formalizadas, mientras que para proyectos ya conocidos, como los de gestión, existen herramientas tales como lenguajes de 4ª generación. En el diseño se establece el CÓMO debe funcionar el sistema, determinando la organización y la estructura del software.

edu.red 21 ACTIVIDADES DE UN DISEÑO SISTEMÁTICO DISEÑO ARQUITECTÓNICO, se abordan los aspectos estructurales y de organización del sistema, y su posible división en subsistemas DISEÑO DETALLADO, organización y estructura de los módulos DISEÑO PROCEDIMENTAL, organización de las operaciones o servicios que ofrecerá cada módulo. Se suele realizar en pseudocódigo o PDL, pero desarrollando sólo los aspectos más relevantes del algoritmo DISEÑO DE DATOS, organización de la base d edatos del sistema. Se parte de los diagramas E-R. DISEÑO DE LA INTERFAZ DE USUARIO, organizar y facilitar la utilización del sistema por parte del usuario El resultado de estas actividades debe plasmarse en el Documento d Diseño Software (SDD)

edu.red 22 CONCEPTOS PARA EL DISEÑO ABSTACCIÓN, identificar los elementos significativos del sistema y abstraer la utilidad específica de cada uno ABSTRACCIONES FUNCIONALES, sirven para crear expresiones parametrizadas usando funciones o procedimientos TIPOS ABSTRACTOS, junto con el tipo de datos se deben crear los métodos que manejan estos datos MÁQUINAS ABSTRACTAS, definición formal del comportamiento de una máquina MODULARIDAD, el diseño modular propone dividir el sistema en partes diferenciadas y definir sus interfaces. Sus ventajas: claridad, reducción de costos y reutilización REFINAMIENTO, a partir de una idea no muy concreta se va refinando mediante aproximaciones hasta el detalle ESTRUCTURAS DE DATOS, para organizar la información que maneja el sistema: registros, conjuntos, listas, pilas, colas, árboles, grafos, tablas, ficheros, … OCULTACIÓN, de la organización de los datos internos y de los detalles del algoritmo, se muestra en el interfaz sólo aquello que resultará invariable ante cambios. Ventajas: depuración, mantenimiento, … GENERICIDAD, consiste en diseñar un elemento genérico, con las características comunes a todos los elementos agrupados HERENCIA, los elementos hijos heredan del padre su estructura y operaciones para ampliarlos, mejorarlos o adaptarlos. Es conveniente utilizar un lenguaje de programación orientado a objetos POLIMORFISMO, es la propiedad de los elementos que pueden variar su formar sin cambiar su naturaleza. Se emplea el concepto de genericidad. En los hijos se puede producir la anulación de una operación. A veces en el padre interesa declarar un método sin implementarlo, lo harán los hijos en diferido CONCURRENCIA, se trata de aprovechar al máximo el procesador garantizando unos tiempos máximos de respuesta para tareas críticas. Problemas de los sistemas con restricciones: Tareas concurrentes, asegurar que todas cumplen sus restricciones Sincronización de tareas, determinando los puntos de sincronización entre ellas Comunicación entre tareas, unas serán productoras de datos y otras consumidoras. Para evitar la corrupción de datos compartidos permitir sólo concurrencia en lectura con semáforos, monitores y regiones críticas Interbloqueos (deadlock) cuando varias tareas esperan un evento que nunca se producirá

edu.red 23 NOTACIONES PARA EL DISEÑO Debe resultar precisa, clara y fácil de interpretar. Se emplean notaciones formales cuasimatemáticas NOTACIONES ESTRUCTURALES, se desglosa y estructura el sistema en sus partes DIAGRAMAS DE BLOQUES

CAJAS ADOSADAS

edu.red 24 DIAGRAMAS DE ESTRUCTURA (Yourdon) Describen la estructura de los sistemas software como una jerarquía de módulos, reflejando sólo su organización estática RECTÁNGULO, módulo LÍNEA, relación entre módulos, el superior utiliza el módulo inferior ROMBO, opcional ARCO, repetitiva CIRCULO CON FLECHA, envio de datos o información de control (correcto, repetir, desconectar, etc)

edu.red 25 DIAGRAMAS HIPO (Hierachy-Input-Process-Output) Se muestra primero la jerarquía entre los módulos del sistema Y en los diagramas HIPO de detalle hay 3 zonas: Entrada, Proceso y Salida

edu.red 26 DIAGRAMAS DE JACKSON El proceso de diseño es sistemático y se lleva a cabo en tres pasos: Especificación de la estructura de datos de entrada y de salida Obtención de la estructura del programa Expansión de la estructura del programa para lograr el diseño detallado

edu.red 27 NOTACIONES ESTÁTICAS Describen las características estáticas del sistema, tales como la organización de la información, sin tener en cuenta su evolución durante el funcionamiento del sistema. Las notaciones son las mismas que se emplean en la especificación: DICCIONARIO DE DATOS, dónde se detalla la estructura interna de los datos que maneja el sistema. En el diseño se amplía y se completa el diccionario de la especificación hasta el nivel de detalle necesario para iniciar la codificación. DIAGRAMAS ENTIDAD-RELACIÓN, definiendo las relaciones entre datos y la organización de la información. Se amplia y detalla el diagrama de la especificación con las nuevas entidades y relaciones.

edu.red 28 NOTACIONES DINÁMICAS Permiten describir el funcionamiento del sistema durante su funcionamiento. Las notaciones son las misma utilizadas en la especificación: DIAGRAMAS DE FLUJO DE DATOS, serán mucho más exhaustivos que los de la especificación. DIAGRAMAS DE TRANSICIÓN DE ESTADOS, más detallados que reflejen las transiciones entre estados internos. LENGUAJE DE DESCRIPCIÓN DE PROGRAMAS (PLD), permite realizar la especificación funcional del sistema.

edu.red 29 NOTACIONES HIBRIDAS: DIAGRAMAS DE ABSTRACCIONES Permiten un enfoque globalizado del diseño atendiendo a aspectos estáticos (datos), dinámicos (operaciones) y de estructura del sistema. DIAGRAMAS DE ABSTRACCIONES, se contemplan dos tipos de abstracciones: las funciones y los tipos abstractos de datos. En una abstracción se distinguen 3 partes: NOMBRE, es su identificador CONTENIDO, dónde se define la organización de los datos OPERACIONES, para manejar el contenido de la abstracción Las abstracciones funcionales (funciones o procedimientos), sólo tiene la parte de operación. El dato encapsulado tiene como el tipo abstracto contenido y operaciones, pero no permite declarar otras variables de su mismo tipo. En los diagramas se muestra la relación jerárquica entre abstracciones, de manera que la abstracción superior utiliza la inferior.

edu.red 30 NOTACIONES HIBRIDAS: DIAGRAMAS DE OBJETOS Se emplea una terminología distinta, pero las similitudes con los diagramas de abstracciones es muy grande, excepto que: No existe nada equivalente a los datos encapsulados ni a las abstracciones funcionales en el modelo de objetos En los diagramas de objetos hay relaciones de herencia De acuerdo con las propiedades de los objetos podemos tener relaciones especiales entre ellos: CLASIFICACIÓN, ESPECIALIZACIÓN O HERENCIA COMPOSICIÓN, permite describir un objeto mediante los elementos que lo forman

Partes: 1, 2, 3
 Página anterior Volver al principio del trabajoPágina siguiente