Documente Academic
Documente Profesional
Documente Cultură
El Diseo a Nivel de Componentes , llamado tambin Diseo Procedimental , tiene lugar despus de haber establecido los Diseos de Datos , Interfaces y Arquitectura . El objetivo es convertir el Modelo de Diseo en un Software Operacional . Sin embargo, el nivel de abstraccin del Modelo de Diseo existente es relativamente alto y el nivel de abstraccin del Software Operacional es bajo. Cuando el modelo de diseo se convierte en cdigo fuente, deber seguirse una serie de principios que lleven a cabo una conversin que << no introduzca errores desde el principio . Diseo a Nivel Componentes
4. Este diseo consiste en convertir el diseo de datos, interfaces y arquitectura en un software operacional . Para poderlo llevar a cabo, el diseo se deber representar a un nivel de abstraccin cercano a un cdigo. El diseo a nivel de componentes establece los datos algortmicos que se requieren para manipular las estructuras de datos , efectuar la comunicacin entre los componentes del software por medio de las interfaces . Quin lo hace? Un ingeniero del software. Diseo a Nivel Componentes
5. Por qu es importante? Para determinar si el programa funcionar antes de construirlo. El diseo a nivel de componentes representa el software que permite revisar los datos del diseo para su correccin y consistencia con las representaciones de diseo anteriores (diseo de datos, interfaces y arquitectura). Con este diseo se proporciona un medio de evaluar el funcionamiento de las estructuras de datos, interfaces y algoritmos. Diseo a Nivel Componentes
6. Cules son los pasos? Las representaciones de los diseos de datos, arquitectura e interfaces forman la base del diseo a nivel de componentes . Para representar este diseo se utilizan las notaciones grficas, tabulares y basadas en texto. Cul es el producto obtenido? El diseo procedimental de cada componente
representado en forma de notacin grfica, tabular o basada en texto es el primer producto durante el diseo a nivel de componentes. Diseo a Nivel Componentes 7. Cmo puedo estar seguro de que lo he hecho correctamente? Mediante una revisin estructurada y una inspeccin. El examen del diseo se realiza para determinar si las estructuras de los datos, las secuencias del proceso y las condiciones lgicas son correctas. Mediante la utilizacin de un lenguaje de programacin es posible representar el diseo a nivel de componentes. Diseo a Nivel Componentes 8. En esencia, el programa se crea empleando como gua el modelo de diseo. Tambin se puede representar utilizando algo que se pueda transformar fcilmente en cdigo fuente. Independientemente del mecanismo que se utilice para representar el diseo a nivel de componentes, la definicin de las estructuras de datos, interfaces y algoritmos debern ajustarse a las lneas generales del diseo procedimental establecidas. Diseo a Nivel Componentes 9. Los fundamentos del diseo a nivel de componentes proceden de los aos sesenta, con Edsgar Dijkstra y sus colaboradores, que propusieron usar un conjunto de construcciones lgicas restringidas para formar cualquier programa. Las construcciones son secuenciales , condicionales y repetitivas . La construccin secuencial implementa el proceso en pasos esenciales para especificar cualquier algoritmo . La condicional proporciona las funciones a partir de una condicin lgica . Diseo a Nivel Componentes Programacin Estructurada 10. La repetitiva proporciona los bucles . Las tres construcciones son fundamentales para la programacin estructurada -tcnica importante de diseo a nivel de componentes-. Las construcciones estructuradas se propusieron para restringir el diseo del software a un nmero reducido de operaciones predecibles . La utilizacin de
construcciones estructuradas reduce la complejidad del programa y mejora la capacidad de comprender, comprobar y mantener. Diseo a Nivel Componentes Programacin Estructurada 11. La utilizacin de un nmero limitado de construcciones lgicas contribuye al proceso de comprensin humana denominado: fragmentacin ( troceado o chunking ). Para entender este proceso, consideremos cmo leemos esta diapositiva. Las letras no se leen individualmente: ms bien, se reconocen formas o trozos de letras que forman palabras o frases. Las construcciones estructuradas son fragmentos lgicos que permiten al lector reconocer elementos procedimentales de un mdulo en lugar de leer el diseo o el cdigo lnea a lnea. Diseo a Nivel Componentes Programacin Estructurada 12. Las herramientas grficas => diagramas de flujo o de cajas , proporcionan formas gr ficas excelentes para representar fcilmente datos procedimentales . El diagrama de flujo es una imagen bastante sencilla. Usando una caja se indica un paso del proceso. Un rombo representa una condicin lgica y las flechas indican el flujo de control. Una secuencia se puede representar como cajas de procesamiento conectadas por una lnea (flecha) de control. Diseo a Nivel Componentes Notacin Grfica del Diseo 13. La condicin, llamada tambin si-entonces-si - no , se representa mediante el smbolo del rombo de decisin que, si es cierto, provoca el procesamiento de la parte entonces , y, si es falso, invoca el procesamiento de la parte si-no . La repeticin se representa mediante dos formas ligeramente diferentes. El mientras-hacer prueba una condicin y ejecuta una tarea de bucle repetidamente siempre que la condicin siga siendo verdad. Un repetir-hasta primero ejecuta la tarea de bucle, despus prueba la condicin y repite la tarea hasta que la condicin falla. Diseo a Nivel Componentes Notacin Grfica del Diseo
14. Las construcciones estructuradas pueden anidarse unas en otras. Anidando construcciones de esta manera, se puede desarrollar un esquema lgico complejo. Cualquier bloque puede hacer referencia a otro mdulo, logrando as una estratificacin procedimental. Diseo a Nivel Componentes Notacin Grfica del Diseo
15. En muchas aplicaciones, puede ser necesario evaluar una combinacin compleja de condiciones y seleccionar acciones basadas en esas condiciones. Las tablas de decisin proporcionan una notacin que convierte acciones y condiciones en una forma tabular. Es difcil que la tabla se malinterprete. Se la puede usar como entrada legible para un algoritmo. Notacin Tabular del Diseo
16. El Lenguaje de Diseo de Programas (LDP) , Lenguaje Estructurado o Pseudocdigo , es un lenguaje rudimentario , pues usa el vocabulario de un idioma humano (ejemplo: Ingls ), y la sintaxis de un lenguaje estructurado de programacin >>. A primera vista LDP se parece a un lenguaje de programacin moderno. Con la diferencia del empleo de texto descriptivo (Ingls) insertado en las sentencias de LDP. Lenguaje de Diseo de Programas (LDP)
17. Como se utiliza texto descriptivo insertado directamente en una estructura sintctica, este lenguaje no se puede compilar. Sin embargo, las herramientas LDP actuales convierten LDP en un esquema de lenguaje de programacin, y/o representacin grfica (diagrama de flujo de diseo, tablas de referencia cruzadas, etc.). Lenguaje de Diseo de Programas (LDP)
Search
DISEO DE COMPONENTES BASADOS EN CLASES cuando se elige un metodo de ingenieria de software basado en componentes el nivel de diseo de estos se concentra en la elaboracion de clases de analisis y la definicion y afinacion de clases de infraestructura. hay cuatro principios basicos basados en el nivel de diseo de componentes 1. El principio abierto ceraddo PAC un modulo debe estar abiero para extenciones pero cerrado para modificaciones. 2. Principio de sustitucion de Liskov PSL debe tenerse la opcion de sustituir las subclases con sus clases principales. 3. Principio de la inversion de la dependencia PID dependa de las abstracciones no de las concreciones, mientras un componentes dependa mas de de otros componentes concretos es mas dificil extenderlos. 4. Principio de la segregacion de la interfaz es mejor tener tener muchas interfaces especificas del cliente que una interfaz de proposito general. existen tambien principios de empaquetamiento los cuales son Principio de equivalencia entre reutilizacion y version, la esencia de la reutilizacion es la misma que la version Principio del cierre comun, las clases que cambian juntas deben mantenerse juntas Principio comun de la reutilizaicon PCR las clases que no se reutilizan juntas no deben mantenerse juntas Existen distintas lineas generales que se pueden seguir durante el diseo de componentes
1. los componentes deben definirse convensiones de asignacion de nombres, los cuales provengan del dominio del sistema y tener algun significado para los participantes 2. interfaces proporcionan informacion importante acerca de la comunicacion y colaboracion, aun que al tener muchas se puede crear confucion en el diagrama uml por lo que se recomienda entre otras cosas al tener demasiadas usar circulos en ves de rectangulos y mostrar solo las mas importantes 3. las dependencias de izquierda a derecha y las herencias la clase principal arriba y deribadas abajo COHESION Implica que un componente o una clase encapsula unicamente atributos y operaciones relacionadas estrechamente entre si y con la clase del propio componente. existen distintos tipos de cohesion Funcional, cuando un modulo realiza un solo calculo y devuelve el resultado De capa, cuando una capa superior tienen acceso a una inferior pero no al reves De comunicacion, todas las operaciones con acceso a los mismos datos se definen dentro de una clase. Secuencial, las operaciones estan agrupadas de manera que primero permita la entrada al siguiente y asis sucesivamente. Procedimental Temporal Utilitaria
ACOPLAMIENTO Es una medida cualitativa del grado al que las clases se conectan entre si a medida que las clases se vuelven mas interdependientes el acoplamiento aumenta. Acoplamiento comun Acoplamiento del contenido Acoplamiento de control Acoplamiento de estampa Acoplamiento de datos Acoplamiento de llamada a rutina Acoplamiento de uso de tipo Acoplamiento de incursion o aportacion Acoplamiento externo NOTACION GRAFICA DEL DISEO