Arquitectura de Software | Revista Educativa

Page 1

NO. 7 • 27 VEN

Arquitectura de Softwate REVISTA

DEFINICIÓN, TIPOS Y ELEMENTOS

ESTÁNDARES SEGÚN IEEE/ANSI

Una arquitectura de software describe los componentes básicos | 03

The Institute of Electrical and Electronics Engineer | 07

MÉTRICAS PARA LA SELECCIÓN DE LA ARQUITECTURA Y SU VERIFICACIÓN.


DEFINICIÓN

Una arquitectura de software describe los componentes básicos de un sistema de software y su combinación interna. El concepto de arquitectura de software se refiere a la estructuración del sistema que, idealmente, se crea en etapas tempranas del desarrollo. Esta estructuración representa un diseño de alto nivel del sistema que tiene dos propósitos primarios: satisfacer los atributos de calidad (desempeño, seguridad, modificabilidad), y servir como guía en el desarrollo. Al igual que en la ingeniería civil, las decisiones críticas relativas al diseño general de un sistema de software complejo deben de hacerse desde un principio. El no crear este diseño desde etapas tempranas del desarrollo puede limitar severamente el que

el

producto

final

satisfaga

necesidades de los clientes.

Adquitectura de Software | 03

las


Índice

03 Definición 04 Etapas para el desarrollo de software 05 Tipos 06 Elementos que lo conforman 07 Estándares según IEEE/ANSI 08 Métricas para la selección de la arquitectura y su verificación. 10 Bibliografías


ETAPAS PARA EL DESARROLLO DE SOFTWARE

04 | Arquitectura de Software


BY JOSÉ A. AÑEZ

TIPOS Para utilizar la arquitectura de software se sigue un conjunto de patrones arquitectónicos,entre los cuales podemos encontrar:

ESCRITO POR JOSÉ AÑEZ FOTO DE GOOGLE

Arquitectura Spaghetti: En los inicios de las aplicaciones web con la

aparición

programadas

de en

las en

páginas lado

del

servidor con servlets y JSP en Java, ASP de Microsoft y PHP la arquitectura de las mismas se caracterizaba por que no había arquitectura. En el mismo servlet o JSP, ASP o PHP el mismo código tenía diferentes responsabilidades sin ninguna separación entre ellas. 05 | Arquitectura de Software

Arquitectura por capas: Para suplir

Arquitectura por hexagonal: En la

las carencias de la arquitectura

arquitectura hexagonal o también

spaghetti surge la arquitectura por

conocida

capas. En la arquitectura por capas

adaptadores aísla las entradas y

cada

una

salidas de la aplicación de la lógica

responsabilidad definida, una capa

interna de la aplicación. Este

se encarga de la visualización de

aislamiento

los datos y la interacción con el

exteriores hace que la aplicación

usuario, otra capa se encarga de la

no requiera prácticamente ningún

lógica de negocio y otra capa del

cambio que esté influenciado por

acceso a la base de datos. Esta

cambios externos ya sea una

distribución de responsabilidades

nueva base de datos para persistir

pone

capa

cierto

organización

tiene

orden del

como

de

puertos-

las

partes

a

la

los datos o un nuevo tipo de

código

y

cliente como un dispositivo móvil.

estructura de las aplicaciones. Las

Cada entrada ya sea desde una

capas superiores dependen de las

petición REST o desde la linea de

capas inferiores, ya sea en un

comandos o salida ya sea a una

modelo estricto donde la superior

base de datos o un sistema de

depende

mensajería es un tipo diferente de

únicamente

de

la

inmediatamente inferior o en un modelo más permisivo donde una capa superior puede depender de cualquiera de las inferiores.

puerto para su interacción.


Elementos que lo conforman

Clientes y servidores

Niveles en

Bases de

sistemas

datos.

jerárquico.

Filtros

Entre los componentes de la arquitectura de software existe un conjunto de interacciones entre las que sobresalen llamadas a procedimientos. comportamiento de variables. protocolos cliente servidor. transmición asíncrona de eventos.

06| Arquitectura de Software


Estándares según IEEE/ANSI

The Institute of Electrical and Electronics Engineers, el Instituto de Ingenieros Eléctricos y Electrónicos

El

Instituto

Nacional

Estándares

Estadounidense

(American

National

de

IEEE 754: es el estándar más extendido para las

Standards

computaciones en coma flotante, y es seguido por

Institute) es una organización sin fines de lucro

muchas de las mejoras de CPU y FPU.

que

Estándares IEEE y ANSI

supervisa

productos, Estados

el

desarrollo

servicios,

Unidos.

Organización

ANSI

Electrotécnica

(ISO)

es

sistemas

miembro

y

de

la

IEEE 1394: es un tipo de conexión para diversas

la

plataformas, destinado a la entrada y salida de

la

datos en serie a gran velocidad. Suele utilizarse

Comisión

IEC).

coordina

estadounidense

de

los

(International

Commission,

también

para

en

para

Internacional

Electrotechnical

país

estándares

y

Internacional

Estandarización

organización

de

procesos

La

estándares

con

para

la

como

interconexión

cámaras

de

dispositivos

digitales

y

digitales

videocámaras

a

computadoras.

del

estándares

IEEE-488:

permite

que

hasta

15

dispositivos

internacionales, de tal modo que los productos de

inteligentes compartan un simple bus paralelo de

dicho país puedan usarse en todo el mundo.

8

bits,

mediante

conexión

en

cadena,

con

el

dispositivo más lento determinando la velocidad Estándares IEEE y ANSI IEEE

802.11:

inferiores

define la

el

uso

los

niveles

sus normas de funcionamiento en una WLAN. Los

1980 paralelamente al diseño del Modelo OSI. Se

protocolos de la rama 802.x definen la tecnología

desarrolló con el fin de crear estándares para que

de

diferentes

área

local

metropolitana.

07 | Arquitectura de Software

OSI,

dos

IEEE 802 fue un proyecto creado en febrero de

de

arquitectura

de

especificando

redes

de

de transferencia.

y

redes

de

área

tipos

de

integrarse y trabajar juntas

tecnologías

pudieran


SISTEMAS I

By José A. Añez

Métricas para la selección de la arquitectura y su verificación El objetivo primordial de la ingeniería del software es producir un sistema, aplicación o producto de alta calidad. Para lograr este objetivo, los ingenieros de software deben emplear métodos efectivos junto con herramientas modernas dentro del contexto de un proceso maduro de desarrollo del software. Al mismo tiempo, un buen ingeniero del software y buenos administradores de la ingeniería del software deben medir si la alta calidad se va a llevar a cabo. A continuación se verá un conjunto de métricas del software que pueden emplearse a la valoración cuantitativa de la calidad de software.

La definición estándar de calidad en ISO-8402 es “La totalidad de rasgos y características de un producto, proceso o servicio que sostiene la habilidad de satisfacer estados o necesidades implícitas” [Mcdermid ’91]. “Concordar explícitamente al estado funcional y a los requerimientos del funcionamiento, explícitamente a los estándares de documentación de 61 desarrollo, e implícitamente características que son expectativas de todos los desarrolladores profesionales de software” [Pressman ’93].

El punto de vista de ¿Qué es calidad? Es diverso, y por lo tanto existen distintas respuestas, tales como se muestra a continuación: El American Heritage Dictionary [Pressman ´98] define la calidad como “Una característica o atributo de algo.”

08| Arquitectura de Software


Metricas Presencial: Esta métrica indica si un atributo está presente en el componente o no. Para ello se utiliza una variable booleana y una variable de tipo string que especifique como o con que método, formato etc, se implementa el atributo en cuestión en caso de estar presente. Tiempo: Esta métrica se utiliza para medir intervalos de tiempo, utiliza una variable de tipo entero para indicar el valor absoluto y una variable de tipo string para indicar las unidades, por ejemplo, 10 segundos o 4 meses. Nivel: Se utiliza para indicar un grado de esfuerzo, habilidad, etc., cuando se da una medida subjetiva dentro de una escala de valores. Es una variable entera que puede tomar el siguiente rango de valores: 0 (Muy Bajo), 1 (Bajo), 2 (Medio), 3 (Alto), 4 (Muy Alto). Ratio: Se utiliza para dar un porcentaje (entre 0 y 100). Entero: variable de tipo entero. Además de estas métricas básicas, para medir algunos atributos se utiliza también índices, que se obtienen a partir de dos métricas básicas, generando un “indicador”. En general, es conveniente distinguir entre métricas básicas e indicadores, pues estos últimos son valores derivados de los primeros.

JOSÉ A. AÑEZ EDITOR


PSM Bibliografías [1] Pressman, R. “Ingeniería del Software. Un enfoque práctico”, 5ta edición, McGraw–Hill Interamericana, España, 2002. [2] Humphrey, W., Introduction to the Personal Software Process, Addison Wesley Longman, Inc., Massachusetts, 1997. [3] Pressman, R. “Ingeniería de Software. Un enfoque práctico”,1995

ARQUITECTURA DE SOFTWARE | 010


"LA VERDADERA INNOVACIÓN A MENUDO VIENE DE LAS PEQUEÑAS STARTUPS QUE SON CAPACES DE CREAR MERCADOS PERO CARECEN DE PESO PARA POSEERLOS" TIMM MARTIN

La arquitectura de software 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.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.