Beruflich Dokumente
Kultur Dokumente
SOFTWARE
Walter Adrin Gmez Cspedes
Ingeniero de Sistemas
Especialista en Pedagoga Universitaria
Candidato a Mster en Direccin Estratgica en Ingeniera del Software
DESARROLLO DE SISTEMAS DE
SOFTWARE
Software
Requisitos
Funcionales
del Software
Servira para un
Software
monoltico
Arquitectura
de Software
SW de Calidad
Conocimiento
Arquitecto
Requisitos
IMPLICACIONES DE NO SEGUIR UN
PROCESO CONOCIDO DE MODELADO
Arquitectura es una
abstraccin de un sistema
El no desarrollo
de una
arquitectura
explcita
conduce a
inconformidad
Dependiendo
de las
decisiones de
Arquitectura, un
sistema alcanza
sus requisitos de
calidad
Gerente
Empresa
Ingeniero de
soporte
Bajos costos
Ocupar personal
Valor Activos
Elementos
atractivos
Terminar rpido
Comparar
competencia
Gerente
Producto
Modificabilidad
Usuario Final
Comportamiento
Seguridad
Confiabilidad
Usabilidad
Arquitecto
Bajos costos
Terminar rpido
Pocos cambios
Cliente
INTERESADOS INVOLUCRADOS
Objetivos de la organizacin y las propiedades del sistema
requeridas por el negocio, raramente se comprenden
Qu debe
tener en
cuenta el
arquitecto de
software?
Los requisitos de
calidad del cliente,
casi nunca se
documentan
Identificar e
involucrar
activamente a los
interesados
- Objetivos que no
se alcanzan.
- Conflicto entre los
interesados.
- Comprender restricciones
reales del sistema.
- Administrar las
expectativas.
- Negociar prioridades del
sistema.
-Tomar decisiones de
compromiso.
Validacin
Diseo de la
Arquitectura
Validacin
IDENTIFICAR REQUERIMIENTOS
Requisitos
Funcionales
Requisitos de
los interesados
Determinar los
Requisitos
Arquitectnicos
Requisitos de
Arquitectura
Priorizar
Clasificacin de los
requisitos no
funcionales
Identificar
restricciones
REQUERIMIENTOS NO FUNCIONALES
Describen como el software debe comportarse, es decir
como hacer algo, no que debe hacer.
Estn relacionados con los requerimientos funcionales
porque describen la forma que se espera se logren
dichos requerimientos.
EJEMPLO DE REQUERIMIENTOS DE AS
Tipo:
Descripcin:
Criterios de Aceptacin:
Crtico: Si/No
DEFINICIONES DE AS
Clements: Vista del sistema que incluye los componentes principales del mismo, la
conducta de esos componentes segn se la percibe desde el resto del sistema y las
formas en que los componentes interactan y se coordinan para alcanzar la misin
del sistema.
IEEE Std 1471-2000: es la organizacin fundamental de un sistema encarnada en sus
componentes, las relaciones entre ellos y el ambiente y los principios que orientan su
diseo y evolucin.
No se
ocupa
de
composicin, reconfiguracin,
reutilizacin,
escalabilidad,
mentenibilidad.
MODELOS DE AS
Modelos estructurales: AS est compuesta por componentes, conexiones entre ellos y
(usualmente) otros aspectos (configuracin, estilo, restricciones, semntica, anlisis,
propiedades, racionalizaciones, requerimientos, necesidades de los participantes).
Modelos de framework: Son similares a la vista estructural, pero su nfasis primario radica
en la estructura coherente del sistema completo, en vez de concentrarse en su
composicin. Los modelos de framework a menudo se refieren a dominios o clases de
problemas especficos.
CONCEPTOS FUNDAMENTALES
Estilos
ADL
Frame
works y
Vistas
Abstraccin
ARQUITECTURA O DISEO
1. Arquitectura y Diseo son lo mismo
4. Shaw y Garlan: AS es
el primer paso en la
produccin
de
un
diseo de software.
a. Arquitectura.
b. Diseo del cdigo.
c. Diseo de ejecutable.
ARQUITECTURA O DISEO
Arquitectura
Diseo del
cdigo
Diseo
Ejecutable
RELEVANCIA DE LA AS
Comunicacin
Mutua
Decisiones
tempranas de diseo
Participantes usan
como base para
Tienen un peso
Entendimiento
mutuo, formar
consenso y
comunicarse
entre si.
Permite
Exponer
restricciones de
alto nivel sobre
el diseo y
justificar las
decisiones
arquitectnicas
Respecto al
desarrollo
restante del
sistema, su
servicio en el
despliegue y su
vida de
mantenimiento.
Restricciones
constructivas
Proporciona
Blueprints
parciales para
el desarrollo
Indicando
Componentes y
dependencias
entre ellos.
Abstraccin
transferible
Encarna
Modelo
relativamente
pequeo de la
forma en que
un sistema se
estructura y sus
componenten
se entienden
entre si.
RELEVANCIA DE LA AS
Evolucin
Anlisis
Aporta
La AS puede
Exponer las
dimensiones a
lo largo de las
cuales puede
esperarse que
evolucione el
sistema.
Nuevas
oportunidades
para anlisis
Incluyendo
Verificaciones de
consistencia,
conformidad con las
restricciones impuestas
por un estilo,
conformidad con
atributos de calidad,
anlisis de
dependencia, anlisis
de dominio y negocios.
Administracin
AS proporciona
Logros clave
para el
desarrollo de
proyectos
exitosos.
ESTILOS ARQUITECTNICOS
Un estilo arquitectnico define una familia de sistemas (cierto tipo de sistemas) en trminos de
patrones estructurales, de control, de comunicacin, etc.
Estilos
indican
Los tipos de componentes y
conectores involucrados.
Condiciona la eleccin
de uno u otro estilo
Sistemas llamada y
retorno
- Sistemas principal/subrutinas.
- Sistemas OO.
- Capas jerrquicas
Mquinas Virtuales
- Intrpretes.
- Sistemas basados en el conocimiento.
Sistemas centrados
en datos
- Bases de datos.
- Sistemas de Hipertexto.
- Sistemas de pizarra.
Ventajas:
1. Permite entender el sistema global en trminos de sus componentes.
2. Soporta la reutilizacin (Son independientes de sus vecinos).
3. Facilidad de mantenimiento y de diagnstico.
Desventajas:
1. No es aconsejado para cuando se necesita interactividad.
2. Problemas de performance ya que los datos se transmiten en forma completa entre filtros.
3. Facilidad de mantenimiento y de diagnstico.
SE RECOMIENDA PARA
Sistemas con poca o nula
interaccin con el usuario cuyo
flujo de datos se entienda o
perciba como continuo.
Procesamiento de seales .
Compiladores.
Para
Desarrollos
Procesamiento de cadenas.
Procesamiento
imgenes o sonido.
de
ARQUITECTURA DE TUBERAS
Filtros o componentes
(Transformacin de los
datos).
Tuberas
datos).
(Flujo
de
EJEMPLO DE TUBERAS
Problema: Se desea implementar un software que sirva como traductor de algunos
idiomas.
Nivel 0:
Traducir al ingls
Escribir ingls
Traducir al Francs
Escribir Francs
Leer
Analizador
Lexicogrfico
Analizador
Sintctico/Parser
Analizador
Semntico
Generador de
Cdigo Intermedio
Traduccin
EJEMPLO DE TUBERAS
Nivel 2: Vista lgica
Filtro
Herramienta
Diccionario
Interfaz de
usuario
Filtro
Filtro
Java, .NET,
otro
Herramienta
Para gestin
contenidos
EJEMPLO DE TUBERAS
Nivel 3: Vista lgica
Parser
Intrprete
Aparse()
call Alexo
Lexicogrfico
Lexo()
call getDato
Input
getDato()
getDato()
call Asemantico
Leer pipe
tubo SW
Analizador
Semntico
call codgen
Leer
Escribir
Generador
de Cdigo
writeCodeByte()
Escribir pipe
EJEMPLO DE TUBERAS
Nivel 4: Flujo de datos
Fuente de
datos
push
Lexicogrfico
push
Parser
push
Receptor
de Datos
datos
escribir
f1
datos
escribir
f2
datos
escribir
MVC
Ventajas:
1. Soporte de vistas mltiples. Dado que la vista se halla separada del modelo y no hay
dependencia directa del modelo con respecto a la vista, la interfaz de usuario puede
mostrar mltiples vistas de los mismos datos simultneamente.
2. Adaptacin al cambio. Los requerimientos de interfaz de usuario tienden a cambiar con
mayor rapidez que las reglas de negocios.
VISTA
MODELO
CONTROLADOR
Reportes
Vistas SQL
CONTROLADOR
Interfaz de
Usuario
Procedimientos
Funciones
Clases para mostrar
los datos
provenientes de las
rdenes.
MODELO
Clases para:
Manejo de usuarios,
estado del prstamo,
ubicacin de libros,
estado, etc.
Ficha
Entrega
Fecha: Date
Ndias: Integer
Publicacin:
String
Validacin
Actualizar()
Usuario
Orden
Prstamo
Libro
Nombre: String
Telfono: Integer
Tipo: String
Items: String
Nombre: String
Tipo: String
Cantidad: Integer
Guardar()
Consultar()
Actualizar()
Consultar()
Actualizar()
Guardar()
Consultar()
Actualizar()
Usuario
Prstamo
Libro
CONTROLADOR
Evento:
Teclado
Mouse
VISTA
Servicio:
Bsqueda
Registro
Actualizacin
Visualizacin
Obtener Dato
Dispositivo
Tradicional
Aplicativo
Clases
C#.Net
Aplicacin
Escritorio
Controlador
Interfaz
Controlador
Interfaz
Mvil
Dispositivo
Mvil
WAP.
Aplicacin
Mvil
Enrutador
Mvil
ASP.
Net
WinForms
Reportes
SQL
Proced.
Funciones.
Servidor
Base de
Datos
Presentacin
Lgica
Datos
Los componentes de este estilo son los objetos, o ms bien instancias de los
tipos de dato abstractos. Los objetos interactan a travs de invocaciones
de funciones y procedimientos.
Polimorfismo
Clases
Herencia
POO
Abstraccin
de datos
Encapsulacin
Ocultamiento de
Informacin
Pizarra
VISTA
MODELO
CONTROLADOR
Windows Forms
Reportes
Vistas SQL
CONTROLADOR
Interfaz de
Usuario
Procedimientos
Funciones
Clases
MODELO
Plataforma .NET
Visual Studio 2010
Ficha
Entrega
Fecha: Date
Ndias: Integer
Publicacin:
String
Validacin
Actualizar()
Cliente
Orden
Prstamo
Publicacin
Nombre: String
Telfono: Integer
Tipo: String
Items: String
Nombre: String
Tipo: String
Cantidad: Integer
Guardar()
Consultar()
Actualizar()
Consultar()
Actualizar()
Guardar()
Consultar()
Actualizar()
Cliente
Prstamo
Publicacin
CONTROLADOR
VISTA
Evento
Servicio
Actualizacin
Obtener Dato
Dispositivo
Tradicional
Aplicativo
Visual
Studio
2012
C#.Net
Aplicacin
Escritorio
Controlador
Interfaz
Controlador
Interfaz
Mvil
Dispositivo
Mvil
WAP.
Aplicacin
Mvil
Enrutador
Mvil
ASP.
Net
WinForms
Reportes
SQL
Proced.
Funciones.
Clases
Servidor
Base de
Datos