Académique Documents
Professionnel Documents
Culture Documents
SEMANA 4
Sistemas de
Información
Todos los derechos de autor son de la exclusiva propiedad de UNIACC o de los otorgantes de sus licencias. No está permitido
copiar, reproducir, reeditar, descargar, publicar, emitir, difundir, poner a disposición del público ni utilizar los contenidos
para fines comerciales de ninguna clase.
Lea esto primero. UNIACC, semana 4
Introducción
Para sistemas pequeños, esta fase puede ser realizada en su totalidad por un
ingeniero de software, sin embargo, para sistemas de gran envergadura, las
tareas deben ser designadas a profesionales especializados.
I. Niveles de Abstracción
El sistema se debe diseñar teniendo en cuenta los siguientes cinco niveles del
diseño o abstracción: diseño de datos, arquitectónico, de interfaces, de
componentes y finalmente de despliegue (Pressman, 2007). Definir cinco niveles
de abstracción permite trabajar con el problema desde lo más general a lo más
específico. Esta forma de trabajar se conoce como Top-Down, ya que se entiende
que el nivel más alto es el de mayor abstracción (y por ende el más general).
Fig. 1.
Niveles de abstracción Top Down.
Fuente: Material creado para la asignatura0 (Saenz,, 2015).
hasta que se consigue una representación final para que el sistema pueda
interactuar con los datos. El modelado de los datos del sistema es de suma
importancia, ya que en última instancia da origen a una base de datos, la cual
constituye el centro de todo sistema de información.
Al igual que el plano base de una casa, el diseño a nivel de arquitectura, provee
una visión integral del sistema de información. La arquitectura del software define
cómo se organizan los componentes y la manera en que interactúan entre ellos.
Las fuentes de conocimientos necesarias para dibujar este “plano arquitectónico”
provienen de tres direcciones. La primera es la de datos e información obtenidos
de un estudio y análisis de dominio del problema; la segunda, es la información
resultante de la fase de análisis, la cual consiste en documentación, diagramas y
modelos varios; finalmente la tercera, es la de los patrones de diseño.
En este nivel se especifica con más detalle el “plano base” del sistema, ya que se
desarrollan las estructuras de datos que se manejaran dentro del sistema, con el
fin de procesar la información que circula en él, como también se debe especificar
el detalle de los algoritmos que operan estas estructuras de datos. Es importante
no confundir el diseño a nivel de componentes con el diseño a nivel de datos, ya
que en este último se modela la estructura de los datos que se manejaran en el
sistema, los cuales vienen dados directamente de la especificación de
requerimientos, en cambio el diseño de componentes define los algoritmos
asociados al manejo de los datos, con el fin de procesar la información que será
almacenada en la base de datos.
Fig. 2.
Diagrama de Despliegue.
Fuente: Material creado para la asignatura0 (Saenz,, 2015).
Para que un patrón sea considerado como tal, este debe cumplir dos condiciones:
la primera es que sea efectivo al momento de resolver el problema, es decir que lo
resuelva de forma rápida y con los menores costos posibles, y la segunda es que
sea reutilizable, esto significa que se puede usar para distintos problemas y en
diversas situaciones. Uno de los patrones de diseño más utilizados es el patrón
Builder o constructor, el cual se encarga de construir objetos complejos,
centralizando todo el proceso en solo una unidad.
Fig. 3.
Patrón de Diseño Builder.
Fuente: http://goo.gl/pUYiI4
Por ejemplo, si se desea construir una interfaz gráfica de usuario (GUI), primero
hay que considerar que existen varios tipos de botones, y para cada botón que se
quiere crear, se debe instanciar e inicializar todos tus atributos, en cambio al
utilizar el patrón builder, se pueden inicializar previamente todos los tipos de
botones, para después solo llamar a builder especificando el tipo de botón que se
quiere, lo que permitirá inicializarlo automáticamente.
Para que un sistema sea de calidad se deben tener en cuenta las siguientes
directrices (Bravo, 2006):
Para medir la calidad de un producto se deben evaluar los atributos del software,
estos constituyen parámetros de medición de la calidad. Los atributos son
características que el sistema posee o debiera poseer, los más importantes son
los siguientes (Bravo, 2006):
El diseño en esta metodología consiste en construir los planos, modelar los datos,
estimar los costos, identificar los encargados de cada tarea, definir el espacio
físico, etc. En este contexto el diseño se conoce también como “ingeniería de
detalle”, ya que busca dar respuesta al “cómo” se dará solución al problema a
satisfacer mediante el proyecto. Al ser una de las etapas más importantes del
proyecto, es necesario que cada tarea sea realizada por un especialista.
Hay ciertas características que debe poseer un buen diseño, como la confiabilidad,
disponibilidad, portabilidad, flexibilidad, facilidad, etc. No obstante la metodología
GSP destaca algunos atributos por sobre otros, como lo es por ejemplo la
simplicidad, es decir, que el sistema sea entendido por todos los integrantes del
equipo de desarrollo, inclusive ser entendido por externos al desarrollo. Por otra
parte, la totalidad destaca en esta metodología, porque un buen diseño debe ser
integral, en otras palabras debe incluir todas las componentes del sistema, incluso
las entidades externas que interactúan con él.
Fig. 4.
Ejemplo de Diagrama de Clases con UML.
Fuente: https://goo.gl/tN2wb3
Fig. 5.
Ejemplo de Diagrama de Colaboración con UML.
Fuente: http://goo.gl/eJlRCz
Conclusión
Referencias Bibliográficas
Mc Graw Hill