Logo Studenta

CECIC-UAAgs

¡Este material tiene más páginas!

Vista previa del material en texto

Arquitectura de Software, 
mucho más que 
un diagrama tradicional
Dr. Cuauhtémoc Lemus Olalde
Centro de Investigación 
en Matemáticas
(CIMAT)
Marzo, 2004
Arquitectura de Software, 
mucho más que 
un diagrama tradicional
Dr. Cuauhtémoc Lemus Olalde
Centro de Investigación 
en Matemáticas
(CIMAT)
Marzo, 2004
Congreso
Estatal de
Ciencias de la
Computación
Universidad
Autónoma de
Aguascalientes
Congreso
Estatal de
Ciencias de la
Computación
Universidad
Autónoma de
Aguascalientes
TerminologíaTerminología
(ISO 9000:2000)(ISO 9000:2000)
Proceso: conjunto de actividades mutuamente conjunto de actividades mutuamente 
relacionadas o que interactúan, que transforman relacionadas o que interactúan, que transforman 
entradas en salidasentradas en salidas
– Las entradas de un proceso son generalmente 
salidas de otros procesos
Producto: Resultado de un proceso
– Servicio
– Software
– Hardware
– Materiales procesados
Cliente: organización ó persona que recibe un 
producto
Calidad: Grado en el que un conjunto de 
características inherentes cumple con los requisitos
– Inherente es que existe como una característica 
permanente
– Pobre, buena, excelente calidad
Característica de Calidad: característica inherente de 
un producto, proceso ó sistema relacionada con un 
requisito
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Desarrollo TradicionalDesarrollo Tradicional
RequerimientosRequerimientos
DiseñoDiseño
Codificación e IntegraciónCodificación e Integración
Prueba y AceptaciónPrueba y Aceptación
MantenimientoMantenimiento
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Diseño TradicionalDiseño Tradicional
Requerimientos funcionalesRequerimientos funcionales
–– Diagramas de contextoDiagramas de contexto
((http://www.inei.gob.pe/biblioineipub/bancopub/Inf/Lib5008/caphttp://www.inei.gob.pe/biblioineipub/bancopub/Inf/Lib5008/cap--33--
1.htm1.htm))
–– Diagrama de flujo de datosDiagrama de flujo de datos
((http://milugar.homeip.net:8080/archivos/actweb/Documentacion/Acthttp://milugar.homeip.net:8080/archivos/actweb/Documentacion/ActWeb_DocuWeb_Docu
mentacion_Impresa/outmentacion_Impresa/out--htmls/dfd.htmlhtmls/dfd.html))
–– Diagrama estructurado Diagrama estructurado 
((http://acha.museo.uta.cl/cc402/Aseguramiento_de_la_calidad/aseguhttp://acha.museo.uta.cl/cc402/Aseguramiento_de_la_calidad/aseguramiento_dramiento_d
e_la_calidad.htme_la_calidad.htm))
Requerimientos de calidad (noRequerimientos de calidad (no--
funcionales, extrafuncionales, extra--
funcionales)?funcionales)?
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Desarrollo TradicionalDesarrollo Tradicional
Actualmente...
– Un sistema a la vez
– Cumplir con fecha de entrega (a 
diferencia de time-to-market)
– Evolución de sistema no es 
considerado
Lo deseable...
– Reducir costo
– Mejorar calidad producto
– Tiempo de entrega (time-to-market)
– Reducir costos de Mantenimiento
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Qué se está haciendo en Qué se está haciendo en 
Calidad del Software?Calidad del Software?
Adopción de modelos y estándaresAdopción de modelos y estándares
–– CMMCMM
–– SPICESPICE
–– ISO 9001, etc.ISO 9001, etc.
Mejoramiento de procesos de software Mejoramiento de procesos de software 
a través de técnicas y métodos a través de técnicas y métodos 
estadísticosestadísticos
–– PSP (Personal Software Process)PSP (Personal Software Process)
–– TSP (Team Software Process)TSP (Team Software Process)
–– Seis Sigma Software (Disciplina Seis Sigma Software (Disciplina 
emergente)emergente)
Desarrollo de Software con base en Desarrollo de Software con base en 
Arquitectura de SoftwareArquitectura de Software
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Calidad en el Desarrollo Calidad en el Desarrollo 
de Softwarede Software
Cualidades del sistema que Cualidades del sistema que 
son relevantes desde el punto son relevantes desde el punto 
de vista de Ingeniería de de vista de Ingeniería de 
SoftwareSoftware
–– Fácil de incorporar nuevos Fácil de incorporar nuevos 
requerimientosrequerimientos
–– ReutilizableReutilizable
–– FlexibleFlexible
–– Facilitar pruebas de confiabilidadFacilitar pruebas de confiabilidad
Difíciles de localizar en la Difíciles de localizar en la 
aplicaciónaplicación
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Calidad del Software en Calidad del Software en 
OperaciónOperación
Cualidades del sistema en Cualidades del sistema en 
operaciónoperación
–– DesempeñoDesempeño
–– ConfiableConfiable
–– RobustoRobusto
–– Tolerante a fallasTolerante a fallas
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
AS en Desarrollo de SoftwareAS en Desarrollo de Software
Requerimientos
Proceso
AS
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Diseño
Codificación e Integración
Prueba y Aceptación
Mantenimiento
Diseño de ArquitecturasDiseño de Arquitecturas
de Softwarede Software
Ejemplos: Ejemplos: A1A1, , A2A2, , A3A3
Es complejo plasmar las Es complejo plasmar las 
especificaciones de requerimientos en especificaciones de requerimientos en 
la arquitecturala arquitectura
El proceso de arquitectura de software El proceso de arquitectura de software 
no se encuentra debidamente no se encuentra debidamente 
formalizado y no hay una metodología formalizado y no hay una metodología 
madura disponible.madura disponible.
El diseño de una arquitectura de El diseño de una arquitectura de 
software todavía es considerado un software todavía es considerado un 
arte.
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
arte.
http://www.agilis-sw.com/arch.htm
http://www.back-end.org/Developers_Guide/SystemArchitecture.html
http://www.cedcc.psu.edu/ee497i/rassp_29/sld128.htm
Pipe & FilterPipe & Filter
Tokens Sintáxis Código
Filters
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Pipes
CapasCapas
Núcleo
Utilerías
Usuarios
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Tres nivelesTres niveles
PRESENTACION JSPsIntroducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
LOGICA
NEGOCIO EJBs, Servlets
Base de Datos
RelacionalDATOS
Diseño de ArquitecturasDiseño de Arquitecturas
de Softwarede Software
Es importante especificar, Es importante especificar, 
analizar y diseñar la arquitectura.analizar y diseñar la arquitectura.
Requerimientos de calidad tienen Requerimientos de calidad tienen 
un gran impacto en la un gran impacto en la 
arquitectura del sistema.arquitectura del sistema.
El diseñode la arquitectura es El diseño de la arquitectura es 
parte del proceso de desarrollo y parte del proceso de desarrollo y 
evolución de los productos de evolución de los productos de 
software.
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
software.
Proceso de ArquitecturaProceso de Arquitectura
1. Es un proceso que involucra una 
metodología, principios, guías.
2. AS tiene como beneficios, 
reutilización, mejorar calidad, reducir 
costos, reducir tiempos de entrega 
(time-to-market).
3. Arquitectura de Software tiene como 
principal motivación el desarrollo de 
nuevos sistemas mediante 
componentes reutilizables.
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Arquitectura de Arquitectura de 
SoftwareSoftware
Se enfoca en el análisis y la Se enfoca en el análisis y la 
descomposición de alto nivel de descomposición de alto nivel de 
un sistema en sus principales un sistema en sus principales 
componentes, así como el componentes, así como el 
proceso de diseño utilizado en proceso de diseño utilizado en 
dicha descomposición.dicha descomposición.
–– Diseño de Arquitecturas de Diseño de Arquitecturas de 
Software con enfoque en atributos Software con enfoque en atributos 
de calidad: desempeño, confiable, de calidad: desempeño, confiable, 
fácil de mantener, flexible a cambios 
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
fácil de mantener, flexible a cambios 
Proceso de ArquitecturaProceso de Arquitectura
Clientes Mercadotecnia Ingeniería
Requerimientos
Selección
Proceso
de AS
Completo?Implementación
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Producto
Proceso de ArquitecturaProceso de Arquitectura
(Reverse Engineering)(Reverse Engineering)
Sistema
Actual
Arquitectura
Sistema
Arquitectura
Dominio
Nuevo
Diseño
Librería de 
Componentes
Reutilizables
Extracción
Generalización
ReutilizaciónIntroducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Proceso de ArquitecturaProceso de Arquitectura
(Forward Engineering)(Forward Engineering)
Diseño
Funcional
Especificaciones 
de Requerimientos
Arquitectura
de Aplicación
Estimar Atributos
de Calidad
Transformar
Arquitectura
Soluciones de
Optimización
QA
Arquitectura del Sistema
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
LiteraturaLiteratura
Fondo Mixto de Fomento a la Investigación Científica y TecnológiFondo Mixto de Fomento a la Investigación Científica y Tecnológica ca 
CONACYTCONACYT--Gobierno del Estado de Guanajuato Programa para el Gobierno del Estado de Guanajuato Programa para el 
desarrollo de la Industria de Softwaredesarrollo de la Industria de Software
Bosch, J. Design and Use of Software Architectures. AddisonBosch, J. Design and Use of Software Architectures. Addison--
Wesley. ACM Press. 2000Wesley. ACM Press. 2000
Sharon A. White, CuauhtémocSharon A. White, Cuauhtémoc Lemus OlaldeLemus Olalde, ", "The Software The Software 
Architecture ProcessArchitecture Process", Proceedings of ASME", Proceedings of ASME--ETCE 97, The Energy ETCE 97, The Energy 
Engineering Symposium of Energy Week' 97, pp. 170Engineering Symposium of Energy Week' 97, pp. 170--175, Houston 175, Houston 
TX., Jan. 29 TX., Jan. 29 –– Feb 2, 1997.Feb 2, 1997.
Software Engineering Institute (SEI-CMU) [COTS, Architecture, 
Reuse, Process, Product Lines]: www.sei.cmu.edu
Encuesta de Herramientas de Proceso de Arquitectura de Software 
www.incose.org/tools/tooltaxs.html
Software Reuse Tools: frakes.cs.vt.edu/reusetools.html
Reuse of Software Assets: 
www.dacs.dtic.mil/databases/url/key.hts?keycode=15
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
Introducción
Desarrollo
Tradicional
Calidad del Software
Arquitecturas SW
Referencias
http://www.conacyt.mx/fondos/guanajuato/guanajuato2002-01.html
http://www.conacyt.mx/fondos/guanajuato/guanajuato2002-01.html
http://www.conacyt.mx/fondos/guanajuato/guanajuato2002-01.html
http://www.conacyt.mx/fondos/guanajuato/guanajuato2002-01.html
http://www.conacyt.mx/fondos/guanajuato/guanajuato2002-01.html
http://www.conacyt.mx/fondos/guanajuato/guanajuato2002-01.html
http://nas.cl.uh.edu/whites/webpapers.dir/ETCE97pap.pdf
http://nas.cl.uh.edu/whites/webpapers.dir/ETCE97pap.pdf
http://nas.cl.uh.edu/whites/webpapers.dir/ETCE97pap.pdf
http://nas.cl.uh.edu/whites/webpapers.dir/ETCE97pap.pdf
http://www.sei.cmu.edu/
http://www.incose.org/tools/tooltaxs.html
http://frakes.cs.vt.edu/reusetools.html
http://www.dacs.dtic.mil/databases/url/key.hts?keycode=15
http://www.dacs.dtic.mil/databases/url/key.hts?keycode=15
Preguntas?Preguntas?
Dr. Cuauhtémoc Lemus Olalde
clemola@cimat.mx
www.cimat.mx/ingsoft
Marzo, 2004
Dr. Cuauhtémoc Lemus Olalde
clemola@cimat.mx
www.cimat.mx/ingsoft
Marzo, 2004
	Terminología(ISO 9000:2000)
	Diseño Tradicional
	Qué se está haciendo en Calidad del Software?
	Calidad en el Desarrollo de Software
	Calidad del Software en Operación
	Arquitectura de Software

Continuar navegando

Materiales relacionados

113 pag.
10 pag.
ISD-1904

User badge image

Los Mejores Materiales

3 pag.
Examen Parcial 2 - Nat Alia

User badge image

Desafío Instagram