arquitectura de software -...

68
Maestría en Ingeniería Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C [email protected]

Upload: others

Post on 28-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Maestría en IngenieríaArquitectura de Software

Sesión 1

Fernando Barraza A., [email protected]

Page 2: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Sesión 1

• Objetivo: Brindar al estudiante una visión general de la Ingeniería de Software e introducirlo en el tema de la Arquitectura de Software como disciplina de dicha ingeniería

• Temas:– Que es la ingeniería de Software?– Procesos y técnicas de desarrollo de software– Desarrollo formal de software e Ingeniería de

Software– Disciplinas de la Ingeniería de Software– La Arquitectura de Software como disciplina

Page 3: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Que es la Ingeniería de Software?

• Def1: “Es la aplicación de un enfoquesistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento del software; es decir, la aplicación de la ingenieríaal software” [IEEE].

• Def2: “Ingeniería de software es la disciplina o área de la Informática que ofrece métodos y técnicas para desarrollar y mantener software de calidad” [wikipedia].

Page 4: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Organizaciones importantes

• Software Engineering Institute (SEI) • Association for Computing Machinery

(ACM) • IEEE Computer Society• Society of Software Engineers• Object Management Group (OMG)• Word Wide Web Consortium (W3C)

Page 5: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Influencias en el Software

Page 6: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Complejidad del Software

Page 7: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Aspectos claves en el desarrollo de SW

Herramientas(Tecnología)

Proceso

Modelos(Notación)

Page 8: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Porque Modelamos?

Page 9: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Y si es un rascacielos?

Page 10: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Que es un modelo?

• Es una representación del sistema a construir o ya construido.

• Es un vehículo de comunicación con los distintos agentes implicados.

• Es una simplificación de la realidad: separa lo esencial de los detalles permitiendo su análisis y simulación en situaciones complejas

Page 11: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Sistema Computacional

Proceso de Negocios

Orden

Item

envío

“El modelado captura laspartes esenciales del sistema”

Modelado Visual - Abstracción

Page 12: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Beneficios al modelar (1)

Manejar la complejidad

Page 13: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Beneficios al modelar (2)

Interface de Usuario(Visual Basic,

Java, ..)Lógica del Negocio

(C++, Java, ..)

Servidor de BDs(C++ & SQL, ..)

Modelar el sistema independientemente del lenguaje de implementación

Page 14: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Beneficios al modelar (3)

Múltiples Sistemas

Componentes Reutilizados

Promover la Reutilización

Page 15: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Vistas de Modelos

• Un único modelo no es suficiente. Cualquier sistema no trivial se aborda mejor a través de un PEQUEÑO CONJUNTO de modelos CASI INDEPENDIENTES.

• Los modelos presentan diferentes niveles de abstracción:– Detallado: Modelo de Diseño de Software– General: Modelo de Arquitectura de Software

• Los modelos son generados durante el proceso y se consideran activos (artefactos) del mismo

Page 16: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Pero, es suficiente un modelo?

R/ Se requiere también de un método que guíe la

construcción de los modelos a través del proceso

Page 17: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

El reto …

=

Page 18: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

La realidad …

Page 19: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

¿Qué es un Proceso de Desarrollo de SW?

Requisitos nuevos

o modificados

Sistema nuevo

o modificadoProceso de Desarrollo

de Software

• Es el conjunto de actividades organizadas y sincronizadas para alcanzar los objetivos propuestosen el desarrollo de un producto de software

• No existe un proceso de software universal. Las características de cada proyecto (equipo de desarrollo, recursos, etc.) exigen que el proceso sea configurable

Page 20: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Elementos de un modelo de proceso de SW

Page 21: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Actividades fundamentales

Page 22: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Actividades protectoras

Page 23: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Ciclo de vida del software

• La vida del software puede ser representada como una serie de ciclos– Un ciclo finaliza con la liberación de una

versión del software a los clientes

• Cada ciclo contempla las fases y procesosque el desarrollador del software siguecuando desarrolla un nuevo software

Page 24: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

• Representan la forma como es abordado el proceso de desarrollo

• La mayoría de los ciclos de desarrollo incorporan 5 fases principales:– Planeación– Análisis– Diseño– Construcción e implementación

• Incluye las pruebas del sistema– Despliege

Ciclos de desarrollo

Page 25: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Modelos de procesos de SW

Page 26: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Code and Fix

Page 27: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Modelo en cascada

Page 28: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Ciclo de vida en Cascada

Page 29: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Fases del modelo en cascada

Page 30: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Desarrollo evolutivo

Page 31: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Ciclo de vida en el Desarrollo evolutivo

Page 32: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Tipos de desarrollo evolutivo

Page 33: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Desarrollo Iterativo

Page 34: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Ciclo de vida Iterativo

Page 35: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Ciclo de vida incremental

Page 36: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Caracteristicas desarrolloincremental

Page 37: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Ciclo de vida en espiral

Page 38: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Caracteristicas

Page 39: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Desarrollo formal de Software

Page 40: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Ciclo de vida en elDesarrollo formal de SW

Page 41: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

CaracterísticasDesarrollo formal

Page 42: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Desarrollo apoyado en reuso

Page 43: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Fases en el reuso de SW

Page 44: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Comparación de modelos

Page 45: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

• Desarrollo de Software Iterativo• Administración de Requerimientos• Uso de Arquitecturas basadas en

componentes• Modelado visual del software• Verificación continua de la calidad• Control de cambios al Software

“Best Practices” de los Ciclos de Vida

Page 46: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

El proceso y otros elementos

Page 47: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Metodologías

Page 48: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Elementos de una metodología

Page 49: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Metodologías Estructuradas

Page 50: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Metodologías OO

Page 51: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

• Proceso Dirigido por los Casos de Uso

• Proceso Iterativo e Incremental

• Proceso Centrado en la Arquitectura

Caso de revisión: Unified Process

Page 52: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Modelo UP

Page 53: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Fases e Hitos (Milestones)

tiempo

Objetivos(Vision)

Arquitectura CapacidadOperacional

Inicial

Releasedel Producto

Inception Elaboration Construction Transition

Page 54: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Elementos en UP

• Workflows (Disciplinas)

Workflows Primarios • Business Modeling (Modado del Negocio)• Requirements (Requisitos)• Analysis & Design (Análisis y Diseño)• Implementation (Implementación)

• Test (Pruebas)• Deployment (Despliegue)

Workflows de Apoyo• Environment (Entorno)• Project Management (Gestión del Proyecto)• Configuration & Change Management (Gestión de Configuración y

Cambios)

Page 55: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

RequisitosCapturar, definir y

validar los casos de uso

Realizar los casos de uso

Verificar que se satisfacen los casos

de uso

Proceso dirigido por los Casos de Uso

Análisis & Diseño

Implementación

Pruebas

Casos de Usointegran el

trabajo

Page 56: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

� El ciclo de vida iterativo se basa en la evolución de prototipos ejecutables que se muestran a los usuarios y clientes

� En el ciclo de vida iterativo a cada iteración se reproduce el ciclo de vida en cascada a menor escala

� Los objetivos de una iteración se establecen en función de la evaluación de las iteraciones precedentes

Proceso Iterativo e Incremental

Page 57: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

� Las actividades se encadenan en una mini-cascada con un alcance limitado por los objetivos de la iteración

Análisis

Diseño

Codific.

Pruebas eIntegración

n veces

... Proceso Iterativo e Incremental

Page 58: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

� Cada iteración comprende:– Planificar la iteración (estudio de riesgos)– Análisis de los Casos de Uso y escenarios– Diseño de opciones arquitectónicas– Codificación y pruebas. La integración del nuevo código

con el existente de iteraciones anteriores se hace gradualmente durante la construcción

– Evaluación de la entrega ejecutable (evaluación del prototipo en función de las pruebas y de los criterios definidos)

– Preparación de la entrega (documentación e instalación del prototipo)

... Proceso Iterativo e Incremental

Page 59: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Fases del Ciclo de Vida� El ciclo de vida consiste en una serie de ciclos, cada uno de

los cuales produce una nueva versión del producto

� Cada ciclo está compuesto por fases y cada una de estas fases está compuesta por un número de iteraciones

� Las fases son:– Inicio o Estudio de oportunidad– Elaboración– Construcción– Transición

Page 60: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

...Fases del Ciclo de Vida� Inicio o Estudio de oportunidad (inception)

– Define el ámbito y objetivos del proyecto– Se define la funcionalidad y capacidades del

producto

� Elaboración– Tanto la funcionalidad como el dominio del

problema se estudian en profundidad– Se define una arquitectura básica– Se planifica el proyecto considerando recursos

disponibles

Page 61: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

...Fases del Ciclo de Vida

� Construcción– El producto se desarrolla a través de iteraciones

donde cada iteración involucra tareas de análisis, diseño e implementación

– Las fases de estudio y análisis sólo dieron una arquitectura básica que es aquí refinada de manera incremental conforme se construye (se permiten cambios en la estructura)

– Gran parte del trabajo es programación y pruebas– Se documenta tanto el sistema construido como el

manejo del mismo– Esta fase proporciona un producto construido junto

con la documentación

Page 62: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

...Fases del Ciclo de Vida� Transición

– Se libera el producto y se entrega al usuario para un uso real

– Se incluyen tareas de marketing, empaquetado atractivo, instalación, configuración, entrenamiento, soporte, mantenimiento, etc.

– Los manuales de usuario se completan y refinan con la información anterior

– Estas tareas se realizan también en iteraciones

Page 63: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Modelos de Valoración

Page 64: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Evolución

Page 65: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Disciplinas en la IngeSoft

• Responden al estudio particular de unaactividad del proceso o a un rasgopredominante de las tecnologíasinvolucradas en el desarrollo del software

• Incluyen o hacen uso de conceptos de otras ingenierías o ciencias comoComputación, Biología, Matemáticas, Sociología, etc.

Page 66: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Algunas disciplinas con actividadreciente:

• Ingeniería de Requerimientos

• Usabilidad• Calidad de Software

• Modelos de Valoración• Gestión de Proyectos de Software

• Ingeniería Web– Web Semántica– Computación Social

• Arquitectura de Software

Page 67: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Arquitectura de Software comodisciplina de la IngeSoft

• La Arquitectura de Software (AS) se enfoca en la organización (un concepto cualitativo o estructural) del Software el cual puede ser cuantificado dentro de los modelos de procesopropios de la IngeSoft.

• La AS Sirve como marco de referencia para:– Satisfacer requerimientos del software– Estimación de costos y administración del proceso– Análisis de las dependencias y la consistencia del

sistema.

Page 68: Arquitectura de Software - cic.puj.edu.cocic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:arqsoft_sesion… · Arquitectura de Software Sesión 1 Fernando Barraza A., Ms.C fbarraza@javerianacali.edu.co

Créditos

• Jill Aden ([email protected]) Lead Technologist – Minnesota Solution Centre.

• M.W. Richardson ([email protected]) Lead Applications Engineer. I-Logix UK

• Simon Pickin ([email protected]) Departamento de Ingeniería Telemática, Universidad Carlos III de Madrid.

• Patricio Letelier - Introducción al Proceso de Desarrollo de Software.