Este documento presenta un resumen de conceptos clave de diseño de sistemas como subsistemas, servicios, acoplamiento, cohesión, capas, particiones, arquitecturas cliente-servidor, peer-to-peer y MVC. También discute consideraciones importantes en el diseño de sistemas como concurrencia, correspondencia entre software y hardware, almacenamiento persistente de datos y control de acceso.
1. UNIVERSIDAD REGIONAL AUTONOMA DE LOS
ANDES
“UNIANDES”
NOMBRE: LUIS CAMBAL
CARRERA: SISTEMAS
ASIGNATURA: SISTEMAS DE INFORMACION
TUTOR: ING. JOHN TOASA
FECHA DE ENTREGA: 24/07/2012
2. Panorama del Diseño de Sistemas
Requerimientos no
Funcionales
Análisis
del Modelos de Casos
Sistema de Uso (Punto de
vista de los
actores)
Modelo de
Secuencia de Objetos
Interacciones
3. Objetivos de
diseño
-Relación de
(Optimización) Subsistemas
Diseño del -Correlación S.W y
H.W
Sistema Arquitectura -Flujo de Control
de S.W -Control de Acceso
-Almacenamiento de
Datos
Condiciones
de Frontera
4.
5.
6.
7.
8.
9. CONCEPTOS DE DISEÑO DE SISTEMAS
Subsistema: Descomposición en partes más
simples de un sistema.
Servicio: Conjunto de Operaciones Relacionadas
que comparten un propósito común. Es la interfaz
del subsistema
10. CONCEPTOS DE DISEÑO DE SISTEMAS
Acoplamiento:
Dependencia entre los subsistemas
Cohesión:
Dependencia entre clases dentro de un subsistema
11. Cohesión y Acoplamiento
La cohesión de un objeto significa cuan
relacionadas y enfocadas están las acciones del
objeto
La situación ideal es que cada objeto tenga las
mínimas dependencias posibles con el resto del
sistema, para poder realizar modificaciones en
partes del programa sin necesidad de cambiar la
mitad del sistema
12. Capas y Particiones
Particiones: Divisiones en subsistemas que proveen
servicios en el mismo nivel de abstracción.
Capa: Es un subsistema que provee servicios a un
nivel de abstracción superior.
13. Arquitectura de S.W
A medida que la complejidad de los sistemas se fue
incrementando, las descomposición en subsistemas es
más crítica.
La definición dada a Arquitectura de S.W por el
Estandar IEEE 1471-2000, la define como:
La Arquitectura de Software es la organización fundamental
de un sistema encarnada en sus componentes, las relaciones
entre ellos y el ambiente y los principios que orientan su
diseño y evolución.
14. Arquitectura Cliente/Servidor
Server
* *
Client
requester provider service1()
service2()
…
serviceN()
La arquitectura cliente/servidor es un modelo
para el desarrollo de sistemas de información
en el que las transacciones se dividen en
procesos independientes que cooperan entre sí
para intercambiar información, servicios o
recursos.
15. Arquitectura Peer to Peer
Es una generalización de la arquitectura
Cliente/Servidor.
Los clientes pueden ser servidores y los servidores
pueden ser clientes.
r q e t r
e u s e
P e
e r
*
s r i e (
e v c 1 )
s r i e (
e v c 2 ) *
… p o i e
r v d r
s r i e (
e v c N )
16. Arquitectura MVC
Arquitectura Modelo / Vista / Controlador
(Model/View/Controller)
Sus características principales son que el Modelo, las
Vistas y los Controladores se tratan como entidades
separadas
17. Consideraciones en el Diseño del
Sistema
Concurrencia (HW y SW)
Correspondencia entre el S.W y el H.W
Manejo Persistente de Datos
Control de Acceso – Control de Flujo
Condiciones de Frontera