Sei sulla pagina 1di 27

Atributos de Calidad

Portabilidad
Maestra en Ingeniera de Sistemas y Computacin
Diseo y Validacin de Arquitecturas de Software
Germn Ortiz Torres
Agenda

Portabilidad
Generalidades
Mtricas
Relacin con otros atributos
Ejemplos
Portabilidad
ISO 9126-1
Capacidad de transferencia de un
producto de software de un entorno
a otro. El entorno puede ser de tipo Conjunto de atributos
organizacional, hardware o software. relacionados con la
capacidad del software de
- Diferente Software ser transformado de un
- Diferente plataforma ambiente a otro (Calero et
- Cdigo porttil al.).
- Componentes cuyo reemplazo no
afecta al resto de la aplicacin

Habilidad para mover software a travs de diferentes plataformas sin


reescribirlo parcial o totalmente (Lenhard & Wirtz)
Portabilidad Sub caractersticas
Adaptabilidad
- Adaptacin a mltiples ambientes basada en
funcionalidad
- Mecanismos Genrico y/o Paramtrico (SI/NO)

Instalabilidad
- Ambiente especfico
- Mecanismo de instalacin (SI/NO)

Co-existencia
- Entorno comn con recursos comunes
- Mecanismo facilitador (SI/NO)
Portabilidad Sub caractersticas

Reemplazabilidad
- Uso de otro componente para un mismo
propsito en un mismo entorno.
- Lista de componentes reemplazables

Conformidad
- Satisfaccin o no de restricciones
arquitecturales asociadas a un estilo (SI/NO)
Generalidades
La portabilidad busca eliminar la
dependencia de un proveedor / vendedor
La portabilidad es la habilidad de mover
aplicaciones de usuario final entre
plataformas
La portabilidad tambin significa la
posibilidad de proveer aplicaciones a
travs de varias plataformas
La portabilidad tambin se refiere al
despliegue de componentes de la misma
aplicacin a travs de varias plataformas
Mtricas
Tom Gilb
Dataware + Hardware
Portabilidad = 1 Rt / Rc
Rt = nmero de recursos (dataware) a mover hacia el ambiente destino
Rc = nmero de recursos (dataware) en el ambiente local
ndice de portabilidad
Nmero de componentes portables (n) / Nmero total de componentes (N)
Instalabilidad
Nmero de elementos para instalacin y /o montaje por cada ambiente
Co-existencia
Nmero de componentes comunes / Nmero total de componentes
Reemplazabilidad
Nmero de componentes reemplazables (r) / Nmero total de componentes (N)
Nmero de componentes reemplazables en ambiente (ra) / Nmero total de
componentes en ambiente (Na)
Mtricas
A nivel arquitectural las mtricas se basan en
componentes y conectores
Adaptabilidad
EAI (Element Adaptability Index) Nmero de
elementos adaptables
AAI (Architecture Adaptability Index)
= EAI / Nmero total de elementos 1
SAI (Software Adaptability Index)
= AAI / Nmero total de arquitecturas

Arquitectura 1
EAI = 1 (Syntax Analysis Block)
AAI = 1 / 8 = 0,125
SAI = AAI = 0,125 (12,5%)
Mtricas
Adaptabilidad
EAI (Element Adaptability Index) Nmero de 2a
elementos adaptables
AAI = EAI / Nmero total de elementos
SAI = AAI / Nmero total de arquitecturas
Arquitectura 2a
EAI = 0
AAI = 0 / 8 = 0
SAI = (0.125 + 0) / 2 = 0.0625 (6.25%)
Arquitectura 2b
EAI = 1 (Dynamically Modifiable Parser)
2b
AAI = 1 / 8 = 0,125
SAI = (0,125 + 0,125) / 2 = 0.125 (12,5%)
Mtricas
Una dimensin es cualquier atributo externo al
sistema de software que impacta en el sistema.
Ejemplo: Entradas por segundo, cambio de reglas de negocio.
1
Adaptabilidad en mltiples dimensiones
EAI Total = EAI para cada dimensin del
elemento / Nmero total de dimensiones
AAI = EAI / Nmero total de elementos
SAI = AAI / Nmero total de arquitecturas
Arquitectura 1
EAI (Syntax Analysis Block) = 1/2 = 0.5
EAI ((Communication ASIC Driver Block) = 1/2 = 0.5
AAI = (0.5 + 0.5) / 8 = 0.125
SAI = AAI = 0.125 (12,5%)
2
Arquitectura 2
AAI = 0.5 / 8 = 0,0625
SAI = (0,125 + 0,0625) / 2 = 0.09375 (9.38%)
Relacin con otros atributos
Escalabilidad - Eficiencia vs. Mantenibilidad Portabilidad
Relacin con otros atributos
Mayor eficiencia menor portabilidad
Mayor precisin representa conflicto con portabilidad
Desempeo vs. Portabilidad
Multiplicacin matricial mdulo primo
GPU - OPENCL (Open Computing Language) - CUDA (Compute Unied Device
Architecture)
Relacin con otros atributos
Portabilidad vs. Escalabilidad

Glass Box - 19 alternativas de


arquitectura 171 combinaciones Atributos evaluados
- AHP = Analytic Hierarchy Process Modificabilidad
- Integer Programming Escalabilidad
- Opciones de Diseo Desempeo
THTJ = 3-tier J2EE Costo
THTD = 3-tier .Net Esfuerzo en Desarrollo
TWOT = 2-tier Portabilidad
COABS = Plataforma soporte de Fcil instalacin
agentes distribuidos
Relacin con otros atributos
Portabilidad vs. Escalabilidad
Ejemplo 1

Portabilidad en la Nube [1]


Ejemplo 1
Portabilidad en la Nube [1]
Ejemplo 1
Portabilidad en la Nube (TOSCA) [1]
Topology and Orchestration Specification for Cloud Applications
Ejemplo 1
Portabilidad en la Nube (CAMP) [1]
Cloud Application Management for Platforms
Ejemplo 1
Portabilidad en la Nube (Cloud4SOA) [1]
Ejemplo 1
Portabilidad en la Nube (MOSAIC) [1]
Ejemplo 2

Evaluacin del desarrollo de


software mediante una
herramienta MDA [3]
Object Management Group
(Estndares)
Modelo independiente de
plataforma (PIM)
Modelo dependiente de
plataforma (PSM)
ArcStyler
Sistema de Rubros
Ejemplo 2

Evaluacin del
desarrollo de software
mediante una
herramienta MDA [3]
Mtricas
nmero de
funcionalidades
ndice de
productividad (p) =
cantidad de
funcionalidades (F)/
tiempo total de
desarrollo e
implementacin (T)
Ejemplo 2
Evaluacin del desarrollo de
software mediante una
herramienta MDA [3]
Portabilidad dentro de
una misma plataforma
Cartucho MDA para
servidor J2EE (JBoss 4,
WebLogic 8.1)
Portabilidad entre
plataformas distintas
Cartucho .NET
Cartucho C#
Mantenimiento
adaptativo
Arquitectura
empresarial J2EE
.NET EDS (lgica de
negocio)
Ejemplo 3
Procesos ejecutables orientados a servicios [4] [5]
BPEL
Comunicacin e interoperabilidad de
mltiples ambientes de ejecucin
OASIS = Web services business process
execution language
TOSCA = Topology and Orchestration
Specification for Cloud Applications
XPDL = XML Process Definition Language
BPMN = Business Process Model and Notation
Betsy evala ActiveBPEL, bpel-g, Apache
ODE, OpenESB Sun BPEL Service Engine,
Orchestra, EasyBPEL)
Grado de portabilidad de un proceso.
Costo de modificar la definicin de un ()
proceso =1
Costo de escribir completamente un
()
proceso
Ejemplo 3
Procesos ejecutables orientados a servicios [4] [5]
Mtrica con pesos de elementos
Costo de escribir un proceso para ser portable desde cero
Nel = Nmero de elementos
Nengines = Nmero de motores de ejecucin () = * Nengines
Costo de modificar un proceso
Cel = Costo de portabilidad de elemento
=
=1
Costo de portabilidad de elemento
V(ta, el) = Funcin para hacer test de asercin max
Dta (ta) = Grado de asercin del test = = 1 ( , ())

max

=1 = 1 ( , ())
= 1

Similar para actividades y comunicaciones
Ejemplo 4
soCloud [6]
PaaS basa en componentes orientada a
servicios.
Administrar portabilidad,
aprovisionamiento, elasticidad y alta
disponibilidad a travs de mltiples
nubes.
Portabilidad multi nube
Aplicaciones y datos
Modelo SCA (Service Component
Architecture) para SaaS
Variedad de protocolos
Application Provisioning
Geo-diversity
Referencias
[1] S. Yangui, R. H. Glitho, and C. Wette, Approaches to end-user applications portability in the cloud: A survey, IEEE
Communications Magazine, vol. 54, no. 7, pp. 138145, 2016.

[2] J. M. Duarte, M. G. Tonanez, L. Cernuzzi, and O. P. Lopez, Evaluation of software development through an MDA tool: a
case study, IEEE Latin America Transactions, vol. 6, no. 3, pp. 252259, 2008.

[3] Lenhard, J, Improving Process Portability through Metrics and Continuous Inspection, Distributed Systems
Group, University of Bamberg, Germany, 2015.

[4] J. Lenhard and G. Wirtz, Portability of executable service-oriented processes: metrics and validation, Service Oriented
Computing and Applications, vol. 10, no. 4, pp. 391411, Dec. 2016.

[5] J. Lenhard and G. Wirtz, Principles of software engineering management. Wokingham, Eng. ; Reading, Mass: Addison-
Wesley Pub. Co, 1988.

[6] F. Paraiso, P. Merle, and L. Seinturier, soCloud: a service-oriented component-based PaaS for managing portability,
provisioning, elasticity, and high availability across multiple clouds, Computing, vol. 98, no. 5, pp. 539565, May 2016.

[7] Halloran, Manchester, Moriarty, Riley, Rohrman, and Skramstad, Systems Development Quality Control, MIS Quarterly,
vol. 2, no. Issue 4, p. p113. 13p, Jan. 1978.

[8] N. Subramanian and L. Chung, Metrics for software adaptability, Proc. Software Quality Management (SQM 2001), pp.
1820, 2001.

[9] D. Pflger et al., The scalability-efficiency/maintainability-portability trade-off in simulation software engineering:


examples and a preliminary systematic literature review, arXiv preprint arXiv:1608.04336, 2016.

[10] M. Wezowicz, B. D. Saunder, and M. Taufer, Dealing with performance/portability and performance/accuracy trade-offs
in heterogeneous computing systems: a case study with matrix multiplication modulo primes, in SPIE Defense, Security, and
Sensing, 2012, pp. 840308840308.

[11] Zhu, Liming, Aurum, Aybuke, Gorton, Ian, and Jeffery, Ross, Tradeoff and Sensitivity Analysis in Software Architecture
Evaluation Using Analytic Hierarchy Process, Software Quality Journal, vol. 13, pp. 357375, 2005.

Potrebbero piacerti anche