Ingeniería de Software INF - 163

Slides:



Advertisements
Presentaciones similares
CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE Ing. FREDYS SIMANCA HERRERA.
Advertisements

Ingeniería de Requisitos
Clase 09.  Garantizar la calidad de software  La prueba nunca termina, del IS translada se translada al usuario  Las casas de software invierte del.
ESTRATEGIA GOBIERNO EN LINEA Fundamentos Arquitectura Empresarial
1 Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Mayo 2011.
Arquitectura de Software. Contenido 1. Introducción 2. Características de la arquitectura 3. Los casos de uso y la arquitectura 4. Descripción de la arquitectura.
INTRODUCCION A LOS SISTEMAS DE INFORMACION SISTEMAS DE INFORMACION Conceptos Básicos de Sistemas Definición de SI SI.
Diseño (Diagrama de Clases) Francisco Valdés Souto 2 al 6 de marzo 2009 © Avantare Consultores S. A. de C. V. – Derechos.
FUNDAMENTOS DEL ANÁLISIS DE SISTEMAS Un sistema es un conjunto de componentes que se unen e interactúan entre si para formar un todo en base a un mismo.
Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Abril 2009.
Lcdo. Eddy Cortez Sistemas II. Ingeniería de Requisitos.
ALCIBIADES VALLEJO BERRIO 2.1 INTRODUCCION 2- Requerimientos  Una de las fases más importantes en el proceso de construcción de software es la de adquisición,
INGENIERÍA DE SOFTWARE RODRÍGUEZ CADENA CYNTHIA VIRIDIANA GRANADOS HERNÁNDEZ ERICK METODOLOGÍA OMT.
Organizaciones involucradas: El centro de cálculo noruego. Crea lenguaje llamado Simula 67, desarrollado por Krinsten Nygaard y Ole-Johan Dahl, en 1967.
Análisis de Proyecto de Software.
GESTIÓN DEL RIESGO E INGENERÍA DE SOFTWARE BASADO EN COMPONENTES
Flujo de trabajo: Requerimientos
Gestión de Proyectos.
“Solo las empresas con mayor adaptabilidad a su entorno, tendrán mayores probabilidades de salir con éxito de las crisis” Planear, Identificar, Analizar.
Ingeniería de Software
SWEBOK.
U.T. 11: Introducción A Las Bases De Datos
CICLO DE VIDA DEL SOFTWARE
Customer Relationship Management
MOPROSOFT.
CARRERA DE INGENIERÍA EN SISTEMAS E INFORMÁTICA
Ingeniería en Sistemas de Información
MEJORA EN LA TOMA DE DECISIONES
Ingeniería de Sistemas Requerimientos
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Tema 3. Lenguaje unificado de modelado UML
Seminario de Arquitectura de Software
CICLO DE VIDA DEL SOFTWARE
UNIVERSIDAD NACIONAL DE LOJA Área de la Educación, el Arte y la Comunicación Informática Educativa IV INGENIERIA DE SOFTWARE Taller de Análisis y Diseño.
Ecosistema abierto para la representación espacial de sistemas de información IDESAN, caso de uso aplicado a la gestión sanitaria en la Conselleria de.
Diagramas del modelo uml
Desarrollo de Proyectos Arquitectónicos
Metodologías para Gestión de Proyectos
Modelo de interacción de usuario.  El Desarrollo basado en modelos de la interfaz de usuario, en inglés Model-based User Interface Development (MB-UID),
Ciclo de vida del Software
Comprensión y obtención de los requerimientos
Metodologías de Desarrollo de Software RUP – Proceso Racional Unificado Gilber BASILIO ROBLES I.E.S.T.P. “DANIEL ALCIDES CARRIÓN” Taller de Modelamiento.
Análisis y diseño de aplicaciones. Introducción Crisis del software - conferencia organizada en 1968 por la Comisión de Ciencias de la OTAN en Garmisch.
La naturaleza única de las WEAPPS. Uso intensivo de redes. Una webapp reside en una red y debe atender las necesidades de una comunidad diversa de clientes.
Desarrollo Técnico  EL PROCESO DE CREACIÓN Y DESARROLLO DE UNA TIPOGRAFÍA CUALQUIERA ES, EN LÍNEA GENERAL MUY SIMILAR. AQUÍ NO SE DESCRIBIRÁ EN DETALLE.
ANALISIS DE SISTEMAS ANALISIS ORIENTADO A OBJETOS.
Patrones de Diseño Sistemas de Información II – IS 445 Docente: Lisber Arana Hinostroza Mayo
METODOLOGIAS AGILES VS TRADICIONALES SCRUM - RUP FABIO ARNOBY BEJARANO Q. UNIREMINGTON BUGA (V) INGENIERIA DE SOFTWARE II SEPTIEMBRE 2018.
Ingeniería de Software INF - 163
CURSO NIVEL MEDIO ArcGis.
DISEÑO DE SOFTWARE 1ª. Parte
Requisitos Ing. Maribel Valenzuela Beltrán 1.
IMPLEMENTACIÓN DE UN PORTAL WEB PARA LA AUTOMATIZACIÓN DEL PROCESO DE CONSULTORÍAS DE MENTORES GOLD DE LA REGIÓN LATINOAMERICANA DEL IEEE (R9), UTILIZANDO.
Nuestros canales de comunicación Gestión de la Calidad del Software Modelos y Estándares de Calidad en el Software.
ESTRUCTURA DE SISTEMAS OPERATIVOS Carbajal Rojas karla.
Vicerrectoría Académica Dirección de Formación General Programa de Emprendimiento PROTOTIPOS.
Women’s Executive Program
1 Introducción al proceso unificado de desarrollo de software.
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Desarrollo de Sistemas de Información Contable - Sis USB 1 METODOLOGIAS DE DESARROLLO DE SOFTWARE.
NORMA ISO/IEC 9126 Norma publicada en Usada para la evaluación de la calidad de software. Establece las características de calidad para productos.
INTRODUCCIÓN A UML.  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Desarrollo de Sistemas de Información Contable - Sis USB 1 METODOLOGIAS DE DESARROLLO DE SOFTWARE.
PRUEBAS DE CAJA NEGRA. -Internationa Software Testing Qualification Board (ISTQB) Internationa Software Testing Qualification Board (ISTQB) Técnica de.
Estudio de Viabilidad del Sistema (EVS). Estudio de Viabilidad del Sistema Cuestiones ¿Qué es la viabilidad de un sistema? ¿Cuáles son los objetivos del.
PLAN OPERATIVO INSTITUCIONAL INTEGRANTES. RESUMEN El Plan Operativo de una institución constituye de un instrumento de gestión para desarrollar actividades.
ICI 502 Procesos de Software
Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Copyright 2019 Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Derechos reservados UML.
Transcripción de la presentación:

Ingeniería de Software INF - 163 MODULO II Ingeniería de Software INF - 163 2.5 DISEÑO ARQUITECTONICO 18/10/2012 Resumen preparado por Miguel Cotaña

Architecture Business Cycle - ABC Los requerimientos no determinan del todo la arquitectura, más bien es el resultado de influencias en los ambientes técnicos, sociales y del negocio. Llamaremos a este ciclo de influencias, del ambiente a la arquitectura y de la arquitectura al ambiente como “El Ciclo de la Arquitectura de Negocios”

Influencia de los participantes usuario final soporte aplicativo Funcionalidad Rendimiento Seguridad usabilidad gerente del proyecto Bajo costo Rendimiento del equipo modificabilidad cliente líder de mercadeo arquitecto Corto tiempo en mercado Bajo costo; ventajas con productos similares Bajo costo y tiempo de entrega, que no cambie muy a menudo

La arquitectura es un Instrumento cuya función es la de intervenir en favor de la humanidad Se requieren soluciones para problemas reales, no inventar problemas para poder empatar con nuevas soluciones. Glenn Murcutt

El rol de un arquitecto de edificaciones y un arquitecto de software parece enfrentar los mismos retos… Por lo que es claro, que se debe contar, con un conjunto básico de habilidades y conocimientos necesarios y suficientes para ejercer este tipo de roles.

Y…. es que no es lo mismo construir esto……

Que esto!!!

Ó esto!!!

Qué se necesita para construir ….… algo así ???

Cada escenario plantea retos, condiciones y necesidades diferentes!!! Sale a relucir la siguiente pregunta: Qué herramientas, personas, presupuesto, conocimiento y tiempo necesitamos para cada escenario???

Por supuesto….. Podemos establecer, que todas las consideraciones que se nos ocurran con respecto a definir la ARQUITECTURA DE EDIFICIOS, deberán ser tenidas en cuenta también al momento de definir la ARQUITECTURA DEL SOFTWARE.

Mansión Winchester Qué tiene que ver esta historia con la ARQUITECTURA DE SOFTWARE?

En el contexto del desarrollo de software, es similar a la historia.. Cuando un desarrollador es asignado a la tarea de mantener y evolucionar un sistema heredado, cuya arquitectura tiene fallas o no está documentado, elige reconstruir partes o crear sus propias rutas dentro del código…

Con el tiempo, las aplicaciones de software se convierten en laberintos…

“Programar sin una arquitectura en mente es como explorar un socavón sólo con una linterna; no sabes dónde estás, dónde has estado ni hacia dónde vas”

El arquitecto de software es el encargado de establecer a que nivel, con que estrategia, y que herramientas son necesarias para realizar una implementación que satisfaga requisitos funcionales y no funcionales.

Un buen arquitecto debe estar en capacidad de generar una especificación coherente, para enfrentar un conjunto de riesgos mucho mas reducido, que en el caso de un arquitecto aprendiz. Un arquitecto de edificaciones puede ser bueno sin tener que haber pegado jamás un ladrillo. Pero, no podemos pensar lo mismo de un IS.

Al igual que ellos, los arquitectos de software usan modelos que representan las especificaciones y necesidades técnicas de los sistemas

La construcción de estos artefactos, en ambos contextos requiere de herramientas, habilidades y conocimientos, y servirá como guía en el proceso de construcción: De forma global; Como visión completa; Parcialmente; Específicamente; Con alto nivel de detalle.

Elementos relacionados con la arquitectura Por qué? Características Del Sistema Cualidades de la Arquitectura Satisface Arquitectura Requerimientos S/W Restringe Representación de la arquitectura Atributos de Calidad del sistema Tecnología Produce Defines Para qué? Quién? Analiza Arquitecto Procesos Habilidades Define roles Organización Stakeholders

¿Qué es la arquitectura? Clements define: “La AS es una vista del sistema que incluye los componentes principales del mismo, la conducta de esos componentes según se la percibe desde el resto del sistema y las formas en que los componentes interactúan y se coordinan para alcanzar la misión del sistema. La vista arquitectónica es una vista abstracta, aportando el más alto nivel de comprensión y la supresión o diferimiento del detalle inherente a la mayor parte de las abstracciones.”

La arquitectura no es el software operativo La arquitectura no es el software operativo. Es una representación que permite que un IS: Analice la efectividad del diseño para cumplir con los requisitos establecidos; Considere opciones arquitectónicas en una etapa en que aún resulta relativamente fácil hacer cambios al diseño: Reduzca los riegos asociados con la construcción del software.

En el contexto del diseño arquitectónico, un componente de software es algo tan simple como un módulo del programa o una clase orientada a objetos, pero también se extiende para incluir bases de datos y middleware que permita configurar una red de clientes y servidores.

¿Qué hace buena a una arquitectura? Ser producto de un arquitecto o un pequeño grupo de arquitectos con un líder definido; Estar bien documentada, con al menos una vista dinámica y una estática, utilizando notación que los stakeholders puedan entender fácilmente; Ser evaluada y analizada con métricas cualitativas y cuantitativas; Presentar como implementación incremental, mostrando primero la mínima funcionalidad y después cómo puede ir creciendo; Ser diseñada por arquitectos que cuentan con los requerimientos funcionales y no funcionales del sistema

¿Por qué es importante la arquitectura? Las representaciones de la arquitectura del software permiten la comunicación entre todas las partes interesadas en el desarrollo de un sistema de cómputo; La arquitectura destaca las decisiones iniciales relacionadas con el diseño que tendrán un impacto en todo el trabajo de la IS;

La arquitectura “constituye un modelo relativamente pequeño e intelectualmente comprensible de cómo está estructurado el sistema y cómo trabajan juntos sus componentes”. El modelo de diseño y los patrones arquitectónicos que contiene son transferibles. Es decir, los estilos y patrones arquitectónicos se aplican al diseño de otros sistemas

…. Los diagramas a través de los cuales se representa el diseño y distribución del software, pueden mostrar diferentes vistas de un mismo sistema y de las condiciones que existen en el entorno donde se despliega.

SON VISTAS DE LOS MODELOS (NO MODELOS COMPLETOS). 1 VISTA DEL MODELO DE CASOS DE USO VISTA DEL MODELO DEL DOMINIO / VISTA DEL DIAGRAMA DE CLASES : IU-1 : Gro : 1: 2: 3: 4 () VISTA DEL MODELO DEL ANÁLISIS VISTA DEL MODELO DEL DISEÑO + VISTAS DEL MODELO DE IMPLEMENTACIÓN Y PRUEBAS SON VISTAS DE LOS MODELOS (NO MODELOS COMPLETOS). SÓLO APARECEN LOS QUE CORRESPONDEN A CASOS DE USOS CRÍTICOS

Taxonomía de estilos arquitectónicos Estilos de Flujo de Datos Tubería y filtros Estilos Centrados en Datos Arquitecturas de Pizarra o Repositorio Estilos de Llamada y Retorno Model-View-Controller (MVC) Arquitecturas en Capas Arquitecturas Orientadas a Objetos Arquitecturas Basadas en Componentes Estilos Derivados C2 GenVoca REST Estilos de Código Móvil Arquitectura de Máquinas Virtuales Estilos heterogéneos Sistemas de control de procesos Arquitecturas Basadas en Atributos Estilos Peer-to-Peer Arquitecturas Basadas en Eventos Arquitecturas Orientadas a Servicios (SOA) Arquitecturas Basadas en Recursos