1 / 12

Diseño y Arquitectura sobre productos de software

Integrantes: Ibáñez Montiel Sergio Ibáñez Montiel Eduardo Manzano Cuevas Erick Miranda Ortega Héctor Víctor Martínez Antonio Pérez Noriega Aarón. Diseño y Arquitectura sobre productos de software. Breve   historia.

gracie
Download Presentation

Diseño y Arquitectura sobre productos de software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Integrantes: Ibáñez Montiel Sergio Ibáñez Montiel Eduardo Manzano Cuevas Erick Miranda Ortega Héctor Víctor Martínez Antonio Pérez Noriega Aarón Diseño y Arquitectura sobre productos de software

  2. Breve   historia El diseño del software se encuentra en el núcleo técnico de la ingeniería del software y se aplica independientemente del modelo de diseño de software que se utilice. Una vez que se analizan y especifican los requisitos del software, el diseño del software es la primera de las tres actividades técnicas -diseño, generación de código y pruebas- que se requieren para construir y verificar el software. Históricamente, las arquitecturas han estado implícitas –bien como accidentes en la implementación, bien como sistemas legados del pasado-. Los buenos desarrolladores de software han adoptado, a menudo, uno o varios patrones arquitectónicos como estrategias de organización del sistema, pero utilizaban estos patrones de modo informal y no tenían ningún interés en hacerlos explícitos en el sistema resultante.

  3. La arquitectura de software de un sistema de programa o computación es la estructura de las estructuras del sistema, la cual comprende los componentes del software, las propiedades de esos componentes visibles externamente, y las relaciones entre ellos. La arquitectura no es el software operacional. • Más bien, es la representación que capacita al ingeniero del software para: • (1) analizar la efectividad del diseño para la consecución de los requisitos fijados, • (2) considerar las alternativas arquitectónicas en una etapa en la cual hacer cambios en el diseño es relativamente fácil, y • (3) reducir los riesgos asociados a la construcción del software.

  4. La idea básica: • De Ensamblaje de partes de software previamente elaboradas. • Inspirada en los procesos producción de sistemas físicos. • Producción de aviones, vehículos, computadores, aparatos electrónicos, etc. • Fundamentada en la Reutilización de Software *Asume la existencia de una industria de partes

  5. Definicion La Arquitectura del Software es el diseño de más alto nivel de la estructura de un sistema.   Una Arquitectura de Software, también denominada Arquitectura lógica, consiste en un conjunto de patrones y abstracciones coherentes que proporcionan el marco de referencia necesario para guiar la construcción del software para un sistema de información. La Arquitectura de software establece los fundamentos para que analistas, diseñadores, programadores, etc. trabajen en una línea común que permita alcanzar los objetivos del sistema de información, cubriendo todas las necesidades. Define, de manera abstracta, los componentes que llevan a cabo alguna tarea de computación, sus interfaces y la comunicación entre ellos. Toda arquitectura debe ser implementable en una arquitectura física, que consiste simplemente en determinar qué computadora tendrá asignada cada tarea.

  6. Arquitecturas más comunes:  * Descomposición Modular   * Arquitecturas de Dominio Especifico   * Diseño Software Arquitectura Multiprocesador   * Diseño Software Arquitectura Cliente Servidor   * Diseño Software Distribuido   * Diseño Software Tiempo Real

  7. DESCOMPOSICION MODULAR El diseño modular es una metodología de desarrollo de programas complejos, que utiliza la filosofía TOP-DOWN, conocida también como diseño descendente o refinamiento por pasos sucesivos; o comúnmente conocido por los programadores como “Divide y Vencerás”; puesto que enfrenta un problema desde lo abstracto (TOP) hacia lo particular (DOWN). Esta técnica consiste en dividir el problema en un conjunto de subproblemas, y estos a su vez en otros de mayor facilidad de trabajo; generando los Módulos Funcionales.

  8. ARQUITECTURAS DE DOMINIO ESPECÍFICO El reto para el diseño es diseñar el software y hardware para proporcionar características deseables a los sistemas distribuidos y, al mismo tiempo, minimizar los problemas propios a estos sistemas. Es necesario comprender las ventajas y desventajas de las diferentes arquitecturas de sistemas distribuidos. Aquí se tratan dos tipos genéricos de arquitecturas de sistemas distribuidos: Arquitectura cliente-servidor. En este caso el sistema puede ser visto como un conjunto de servicios que se proporcionan a los clientes que hacen uso de dichos servicios. Los servidores y los clientes se tratan de forma diferente en estos sistemas.

  9. DISEÑO DE SOFTWARE DISTRIBUIDO Sistemas cuyos componentes hardware y software, que están en ordenadores conectados en red, se comunican y coordinan sus acciones mediante el paso de mensajes, para el logro de un objetivo. Se establece la comunicación mediante un protocolo prefijado por un esquema cliente-servidor.Características:• Concurrencia.- Esta característica de los sistemas distribuidos permite que los recursosdisponibles en la red puedan ser utilizados simultáneamente por los usuarios y/o agentes que interactúan en la red.• Carencia de reloj global.- Las coordinaciones para la transferencia de mensajes entre los diferentes componentes para la realización de una tarea, no tienen una temporización general, esta más bien distribuida a los componentes.

  10. Fallos independientes de los componentes.- Cada componente del sistemapuede fallar independientemente, con lo cual los demás pueden continuar ejecutando sus acciones. Esto permite el logro de las tareas con mayor efectividad, pues el sistema en su conjunto continua trabajando.Evolución:Procesamiento central (Host).- Uno de los primeros modelos de ordenadores interconectados, llamados centralizados, donde todo el procesamiento de la organización se llevaba a cabo en una sola computadora, normalmente un Mainframe, y los usuarios empleaban sencillos ordenadores personales.Los problemas de este modelo son:• Cuando la carga de procesamiento aumentaba se tenía que cambiar el hardware del Mainframe, lo cual es más costoso que añadir más computadores personales clientes o servidores que aumenten las capacidades.• El otro problema que surgió son las modernas interfases gráficas de usuario, las cuales podían conllevar a un gran aumento de tráfico en los medios de comunicación y por consiguiente podían colapsar.

  11. DISEÑO DE SOFTWARE DE TIEMPO REAL El software de tiempo real esta muy acoplado con el mundo externo, esto es, el software de tiempo real debe responder al ámbito del problema en un tiempo dictado por el ámbito del problema. Debido a que el software de tiempo real debe operar bajo restricciones de rendimiento muy rigurosas, el diseño del software esta conducido frecuentemente, tanto por la arquitectura del hardware como por la del software, por las características del sistema operativo, por los requisitos de la aplicación y tanto por los extras del lenguaje de programación como prospectos de diseño..

  12. Beneficios *La entrega de productos de software de una manera *más rápida, *económica y *con una mejor calidad *Las LPS producen mejoras en: *Tiempo de entrega del producto (time tomarket) *Costos de ingeniería *Tamaño del portafolio de productos *Reducción de las tasas de defectos *Calidad de los productos *Beneficios tácticos y estratégicos (Krueger, 2006): *Beneficios tácticos de ingeniería: *Reducción en el tiempo promedio de creación y entrega de nuevos productos *Reducción en el número promedio de defectos por producto *Reducción en el esfuerzo promedio requerido para desarrollar y mantener los productos *Reducción en el costo promedio de producción de los productos *Incremento en el número total de productos que pueden ser efectivamente desplegados y mantenidos

More Related