Sei sulla pagina 1di 47

Profesor: Ing.

Jess Chaparro Seccin: 03

Bachilleres: Barreto A, Yessys D. C.I 21.174.180 Luiggi M, Rosangela M. C.I 20.202.507

Maturn, Mayo de 2013.

Resumen

El diseo y la construccin del software est soportada por varios principios fundamentales. Estos principios favorecen que los objetivos de calidad del software se alcancen con mayor facilidad. En este tema se estudiarn los principios y tcnicas que permiten construir arquitecturas software correctas. Primeramente se introducir la fase de diseo y el proceso de diseo, para posteriormente centrarse en los principios y conceptos fundamentales del diseo del software, haciendo un especial hincapi en todos aqullos que permitan alcanzar un diseo modular eficaz, basado en mdulos altamente cohesionados, con bajo acoplamiento y construidos sobre la base de la ocultacin de la informacin. Diseo de software. Importancia del diseo de software. Persistencias, almacenamiento, excepciones entre otras. Mtodos para la actividad de diseo. Principios del diseo, interaccin entre el diseo y requerimientos. Diseo de atributos de calidad (funcionabilidad, confiabilidad, usabilidad, eficiencia,mantenibilidad, Transportabilidad) Arquitectura, patrones de diseo y reso. Estrategias de diseo: orientada a funciones, a objetos, a componentes, a estructura de datos, a aspectos.

Temas

Bibliografas

Roger S. Pressman Sexta Edicin. Ingeniera de Software un Enfoque practico. Capitulo 9,10, 11 y 12. Calidad de Software issuu.com FUNDAMENTOS DE DISEO es.scribd.com

Mantenimiento
Mantenimiento Prueba Prueba implementacin

Implementacin
Diseo

Con diseo

Sin diseo

Imagen 1. Demostraciones de diseo de software, enfoque practico.

Diseo

Codificacin

Prueba

puedes usar un borrador en la tabla de diseo o un martillo en el sitio de construccin Frank Lloyd Wright

Imagen 2. Ejemplo de interfaz

Imagen 3. Ejemplo de interfaz

Imagen 4. Ejemplo de interfaz

El milagro mas comn de ingeniera es la transicin del anlisis al diseo y del diseo al cdigo. Richard Due

Diseo de la arquitectura del sistema: Este es el proceso durante el cual se produce una especificacin completa y verificada del hardware en general.

Diseo detallado del software: Este ocurre cuando se producen especificaciones verificadas de estructuras de datos. El diseo detallado que se ocupa del refinamiento de la representacin arquitectnica que lleva a una estructura de datos detallada y a las representaciones algortmicas del software.

Adems del diseo de datos, arquitectnico y procedimental, muchas aplicaciones modernas requieren del diseo de interfaz que establece la disposicin y los mecanismos para la interaccin hombre-mquina.

Notacin caja negra: se preocupa con las propiedades externas de los elementos del modelo de diseo.

Notacin caja blanca: se preocupa mayormente con describir algunos aspectos de la realizacin detalladas de un elemento de diseo.
Otra forma es diferenciarlas entre notaciones para describir propiedades estructurales (estticas) y las que describen propiedades conductuales (dinmicas)

Diagramas de clase y objeto: se usan para representar un conjunto de clases (y objetos) y sus relaciones. Una notacin antigua relacionada son los diagramas entidad-relacin, usados para representar modelos conceptuales de datos almacenados en sistemas de informacin. UML tiene esta notacin. Diagramas de componentes: se usan para modelas la vista de implementacin estticas de un sistema, es decir, cosas fsicas (y sus relaciones) como ejecutables, libreras, tablas, archivos y documentos. A pesar que si uso principal es durante la construccin, estos diagramas pueden ser usados durante diseo, por ejemplo, para documentar la estructura de un mdulo. UML tiene esta notacin.

Diagramas de deployment: se usan para modelar la vista de deployment esttico de un sistema, es decir, la configuracin de nodos de procesamiento en tiempo de ejecucin y los componentes que viven en ellos. Tpicamente estos diagramas pueden ser usados para representar aspectos de distribucin, por ejemplo un modelo empotrado, cliente/servidor o sistemas distribuidos. UML tiene esta notacin. Cartas de estructuras o Diagrama de Estructura: se usan para describir la estructura de llamado de un programa, es decir, cul mdulo es invocado por otro mdulo. Estos diagramas son inherentes de la aproximacin de diseo orientado a la funcin.

Diagramas de interaccin: se usan para mostrar las interacciones entre un grupo de objetos. Estos diagramas vienen en dos tipos: diagramas de secuencia ponen el nfasis en el ordenamiento temporal de los mensajes, mientras que los diagramas de colaboracin ponen el nfasis en los objetos, sus enlaces y los mensajes que intercambian en estos enlaces. UML tiene esta notacin. Diagramas de flujo de datos: se usan para mostrar el flujo de datos entre un conjunto de procesos.

Diagramas de transicin de estados y diagramas de statecharts (utilizados en UML): se usan para mostrar el flujo de control de estado a estado en una mquina de estados. Pseudocdigo y lenguajes de diseo de programas: son lenguajes estructurados similares a programacin que se usan para describir en la etapa de diseo detallado la conducta de un procedimiento o mtodo.

Mtodos Para La Actividad De Diseo De Software

Idoneidad Exactitud Interoperabilidad Seguridad de acceso Cumplimiento de la funcionabilidad

Fiabilidad: conjunto de atributos relacionados con la capacidad del software de mantener su nivel de presentacin bajo condiciones establecidas durante un periodo establecido. Caractersticas: Madurez Tolerancia a fallos Capacidad de recuperacin Cumplimiento de la fiabilidad

Usabilidad: conjunto de atributos relacionados con el esfuerzo necesitado para el uso y en la valoracin individual de tal uso, por un establecido o implicado conjunto de usuarios. Caractersticas: Aprendizaje Comprensin Operatividad atractividad

Mantenibilidad: conjunto de atributos relacionados con la facilidad de extender, modificar o corregir errores en un sistema software. Caractersticas: Estabilidad Factibilidad de anlisis Factibilidad de cambio Factibilidad de pruebas

Transportabilidad: conjunto de atributos relacionados con la capacidad de un sistema de software para ser transferido desde una plataforma. Caractersticas: Adaptabilidad Co-existencia Capacidad de instalacin Capacidad de remplazo

Responder a la demanda elevada


Reducir esfuerzos de mantenimiento

Reducir costos Mejorar la prctica de software

Incrementar la productividad

Mejorar la calidad

Uso de prototipos rpidos Uso de desarrollo incremental Compra de software hecho

Probabilidad de reso inversamente proporcional

Utilidad de reso directamente proporcional

REFINAMIENTO PASO A PASO


La arquitectura de un programa se desarrolla refinando sucesivamente niveles de detalle procedimental.

MODULARIDAD
Se divide el software en componentes identificables y tratables por separado, denominados mdulos, que estn integrados para satisfacer los requisitos del programa. La modularidad es el atributo del software que permite a un programa ser manejable intelectualmente. La complejidad percibida de un problema que combina p y p; es mayor que la complejidad percibida cuando cada problema se considera por separado. Hay un nmero m de mdulos que resultaran en un costo de desarrollo mnimo, pero no tenemos lo necesario para predecir m con seguridad.

Se desarrolla una jerarqua descomponiendo un enunciado macroscpico de funcin (una abstraccin procedimental) al estilo paso a paso hasta que se llega a los enunciados del lenguaje de programacin. La abstraccin y el refinamiento son conceptos complementarios.

Jerarqua de control
La jerarqua de control, tambin denominada estructura del programa, representa la organizacin (frecuentemente jerrquica) de los componentes del programa (mdulos) e implica una jerarqua de control. No representa aspectos procedimentales del software, tales como la secuencia de procesos, la ocurrencia u orden de decisiones o la repeticin de operaciones. Para representar la jerarqua de control se utiliza un diagrama en forma de rbol. La profundidad, y la anchura son una indicacin del nmero de niveles de control y de la amplitud global del control, respectivamente. El grado de salida es una medida del nmero de mdulos que estn directamente controlados por otros mdulos. El grado de entrada indica cuntos mdulos controlan directamente a un mdulo dado. La jerarqua de control tambin representa dos caractersticas, sutilmente diferentes, de la arquitectura del software: la visibilidad y la conectividad. La visibilidad indica el conjunto de componentes del programa que pueden ser invocados o utilizados sus datos por un componente dado, incluso cuando se haga indirectamente. La conectividad indica el conjunto de componentes a los que directamente se invoca o se utilizan sus datos en un determinado mdulo.

Procedimientos del software

Estructuras de datos
Es una representacin de la relacin lgica existente entre los elementos individuales de datos. La estructura de datos dicta la organizacin, los mtodos de acceso, el grado de asociatividad y las alternativas de procesamiento para la informacin.

Proporciona una especificacin precisa del procesamiento, incluyendo la secuencia de sucesos, los puntos concretos de decisiones, la repeticin de operaciones e incluso la organizacin y estructura de los datos.

Cohesin y acoplamiento Acoplamiento se define como la fuerza de las relaciones entre las componentes de software, mientras que cohesin se define por cmo los elementos que conforman un componente se relacionan. Como regla general, acoplamiento entre componentes debe ser dbil, mientras que la cohesin(interna) de un componentes debe ser alta.

Ocultamiento de la informacin y encapsulamiento


Ocultamiento de la informacin se define donde cada mdulo se caracteriza por el conocimiento de la decisin de diseo que la oculta de los otros. Un principio clave es la separacin de la interfaz y la implementacin donde se especifica una interfaz pblica conocida por los clientes, que separa los detalles de cmo lo realiza el componente. Encapsulamiento es el agrupamiento de ideas relacio nadas en una unidad, las que pueden ser referenciada despus por un solo nombre. Encapsulamiento combina elementos para crear una nueva unidad, cuyos detalles internos son ocultados. Suficiencia, completitud y primitividad Estas nociones indican que un componente debe capturar todas las caractersticas importantes de una abstraccin para interactuar con ella y ninguna ms.

Diseo orientado a objeto


La nocin de objeto est ntimamente relacionado con las nociones de abstraccin de datos, encapsulamiento y tipo abstracto de datos. A travs de los aos, se han propuesto numerosos mtodos de diseo, UML no es un mtodo de diseo, es slo un conjunto de notaciones neutral con respecto a cualquier mtodo de diseo especfico.

Diseo orientado a la estructura de datos.


Tambin se conoce como programacin estructurada de Jackson. El nfasis se basa en los datos que manipula el programa en vez de las funciones que realiza. El nfasis se basa en que los datos son ms estables (menos sujetos a cambios) que las funciones que debe desarrollar. El diseador describe los datos de entrada y salida, usando los diagramas de estructura de Jackson, y desarrolla entonces la estructura de control del programa estableciendo una correspondencia apropiada entre los diagramas de estructura de entrada y salida.

El software de computadora es una de solo unas cuantas tecnologas clave que tendrn un impacto significativo en casi cualquier aspecto de la sociedad moderna es un mecanismo para automatizar negocios, industrias y gobiernos, y un medio para transferir nueva tecnologa, un mtodo de captura de experiencias valiosas para que las utilicen otros, un medio para diferenciar los productos de una compaa de los de sus competidores, y una ventana al conocimiento colectivo de una corporacin. El software es un pivote para casi cualquier aspecto de los negocios. Pero en muchas formas, el software tambin es una tecnologa oculta. Se encuentra (usualmente sin darse cuenta de ello) cuando se viaja al trabajo, se realiza alguna compra al menudeo, se detiene en el banco, se hace una llamada telefnica, se visita al medico o se realiza alguna de las cientos de actividades cotidianas que reflejan la vida moderna.

Contactos: Yessysba@gmail.com / @yessysbarreto rosangelaluiggi@hotmail.com /@rosangelaluiggi

Equipo:

Potrebbero piacerti anche