Beruflich Dokumente
Kultur Dokumente
Normalización
La normalización es una forma de análisis de datos.
Organiza los atributos de datos de manera que se agrupen en estructuras
esencialmente estables (que no haya redundancia de datos).
Análisis de datos: es el procedimiento que lleva a un modelo de datos al grado de
refinamiento apropiado para su implementación (no redundante, flexible y adaptable)
En al normalización no hay prácticamente participación del usuario, ya que es
jodido para ellos (porque son estupidos por naturaleza).
Definiciones
Entidad: objeto que se puede distinguir. Ejemplos: Orquesta y Concierto.
Atributo: elemento de información que describe una entidad. Ejemplo: Tipo de
Concierto.
Relación: elemento que vincula dos o más entidades. Ejemplo: interpretación, una
Orquesta interpreta un Concierto.
SubTipo: Y es subtipo de X <=> para que Y exista debe existir X. Ejemplo:
Concierto es subtipo de Composición.
Dependencia Funcional: Existe DF entre un atributo B respecto de uno A <=> Si
conociendo A puedo saber el valor de B.
Determinante funcional: Existe un DF entre A respecto de B <=> B depende
funcionalmente de A.
Clave Candidata: un atributo o conjunto de atributos que determina en forma
univoca a la totalidad de la estructura y es lo mínima posible.
Clave Principal: clave candidata elegida como clave principal siguiendo algún
criterio en particular.
Características
• Opera sobre una estructura de datos ya definida.
• Se basa en conceptos del análisis de datos.
• Se realiza en 3 formas normales.
Pasos en la Normalización
1. Estructura Inicial: el modelo de datos tiene estructura repetitivas dependencias
incompletas de las claves y dependencias transitivas entre atributos. Es la que nos
da el usuario o el gil del analista. Antes de comenzar con las formas normales se
deben eliminar los atributos calculables.
2. Primera Forma Normal: No tiene atributos repetitivos. Tiene definido el Id de la
estructura.
3. Segunda Forma Normal: Se necesita la totalidad de la clave principal para
determinar a cada uno del resto de los atributos.
4. Tercera Forma Normal: No hay dependencias funcionales entre atributos no claves
Resumen de Diseño de Sistemas – by Damián Nardelli & Diego Barberio & Lucas Mayoni
Carta Estructurada
Es un diagrama jerárquico de módulos.
Modulo: Componente de software capaz de convertirse en una parte independiente.
Basado en los conceptos de alta cohesión y bajo acoplamiento para mejorar la
reusabilidad.
Clasificación:
• Según su función:
• Operativos: son los que se ocupan de completar las tareas propiamente dichas.
• Coordinación: son los que se encargan de controlar la ejecución de los
operativos.
• Según su uso (solo para módulos operativos):
• Terminales: Cuando producen un resultado final.
• Intermedios: El coordinador se lo pasa a otro.
• Según su tiempo de procesamiento:
• On-line: el proceso se realiza en forma continua (una tarea tras otra).
• Off-line: el proceso se corta temporariamente a la espera de una respuesta.
Heurísticas
Reglas de bases empíricas avaladas por la experiencia y comprobadas. Permiten
asegurar la calidad del diseño.
Cohesión: cantidad de funciones realizadas por un módulo.
Tipos (orden. de mejor a peor)
1. Cohesión funcional: hacer una y solo una tarea. Ejemplo: “Abrir Archivo”, solo
abre el archivo.
A partir de ahora todos los demás tipos ejecutan más de 1 tarea, la diferencia está
en como se comunican entre ellas.
2. Cohesión Secuencial: La salida de datos de una, es la entrada de datos de otra,
e importa la secuencialidad. Ejemplo: “Totalizar Factura”, compuesta por dos
tareas “Calcular Subtotal”, “Aplicar IVA”, para aplicar el IVA utilizo la señal de
datos que me pasa calcular subtotal.
3. Cohesión Comunicacional: Todas las tareas requieren la misma señal de datos.
No importa la secuencia. Ejemplo: “Grabar e imprimir Factura”. Ambas requieren
los datos de la factura para ejecutarse, pero son independientes.
Resumen de Diseño de Sistemas – by Damián Nardelli & Diego Barberio & Lucas Mayoni
Acoplamiento: Relación entre los módulos que se necesitan para que una estructura
pueda funcionar.
• De datos: se analiza según la composición de la señal de datos.
• De control: que un módulo coordinador le mande una señal de control a un módulo
operativo.
Diseño Arquitectónico
Determinar los subsistemas, su distribución física, la forma de comunicación ente ellos y
su estructura de control (determina la arquitectura del sistema).
Resumen de Diseño de Sistemas – by Damián Nardelli & Diego Barberio & Lucas Mayoni
Ventajas
Permite una comunicación con los stakeholders. Permite el análisis de sistema, al
dividir al sistema en subsistemas los que permite un análisis profundo de los
requerimientos.
Reutilización a gran escala
• Modelos de Control: establece las relaciones entre las diferentes partes de un sistema. (subsistemas)
Control Centralizado: un subsistema tiene sobre todo la responsabilidad de controlar, iniciar y
detener a otros subsistemas.
Modelo Call-Return: un modelo de subrutina Top-Down donde el control inicia en lo más alto
de la jerarquía de una subrutina y se mueve hasta la parte más baja de la misma. Es aplicable a
sistemas secuenciales.
Modelo Administrador: es aplicable a sistemas concurrentes. Un componente del sistema
controla el inicio, coordinación y el alto de procesos de otro sistema. Puede ser implementado en
sistemas secuenciales con una instrucción CASE.
Control basado en eventos: cada subsistema puede responder a eventos generados externamente
por otros subsistemas o por el ambiente del sistema.
Modelo de Transmisión: un evento es transmitido a todos los subsistemas. Cualquier subsistema
puede manejar el evento.
Resumen de Diseño de Sistemas – by Damián Nardelli & Diego Barberio & Lucas Mayoni
Clasificación
Sistemas de Monitoreo: recolecta datos desde sensores pero no controla en
tiempo real los actuadores.
Sistemas de Control: continuamente controlan sensores y en respuesta el
sistema envía señales de control a los actuadores.
Sistemas de Captura de datos: recolectan datos desde los sensores para
subsecuentes procesos y análisis.
Arquitectura:
Resumen de Diseño de Sistemas – by Damián Nardelli & Diego Barberio & Lucas Mayoni
Modelo de Peters
Formalismo
Analisis de Sistema
Diseño del Sistema c ta
Implementación del Sistema o rre
C ca
ica áti
Operación del sistema ü í st m
o Lin
g r ag
mp aP sI
I
Ti e Optimización del Sistema
íst i c
ale
Definición de Problema
ü ur
Síntesis del Sistema
Toma de decisiones
Análisis del Sistema
g t
Lin uc I
str
Planificar Acción
s E
r a les
lo tu
de uc
Mo E str
os al
o del ent
M o M
del
Mo
Logico
Ciclos de Vida
Nombre Características Visibilidad Problemas y riesgos
Modelo de Fases: Buena. Cada Dificultad en hacer cambios
Cascada • Análisis de requerimientos y etapa produce entre etapas.
definición. un documento Alto riesgo en sistemas
• Diseño de sistemas y de SW. o resultado. nuevos por problemas en la
• Implementación y prueba de especificación y el diseño.
Unidades. Bajo Riesgo para desarrollos
• Integración y Prueba del bien comprendidos utilizando
sistema. tecnología conocida.
• Operación y Mantenimiento.
Considera cada actividad como
una actividad discreta
Desarrollo La especificación y el desarrollo Poca. Muy Sistemas pobremente
Evolutivo están intercalados. caro al especificados.
Considera actividades del producir Se requieren habilidades
Resumen de Diseño de Sistemas – by Damián Nardelli & Diego Barberio & Lucas Mayoni
Ingeniería de Requerimientos
Proceso de descubrir, analizar documentar y verificar los servicios y restricciones
(requerimientos) del sistema.
Clasificación de los requerimientos
• Del Usuario: declaraciones en lenguaje natural y/o diagramas de los servicios que
el usuario espera que el sistema provea y de las restricciones bajo las cuales debe
operar. Abstractos de alto nivel. (Lo que me dice el usuario)
• Del Sistema: descripción detallada de lo que el sistema debe hacer. (Lo que
realmente va a hacer el sistema). Funcionan como contrato entre el cliente y el
desarrollador.
o Funcionales: declaraciones de los servicios que realizara el sistema y su
respuesta a ciertas entradas. Ej: Se podrá consultar toda la base de datos o
parte de esta. El sistema NO permitirá el cambio de colores de la pantalla.
o No Funcionales: restricciones a los funcionales. Ej: Pantalla de color
amarillo patito.
o De Dominio: requerimientos que provienen del ambiente de
implementación del sistema. Ej: Se le aplicará el IVA a las personas que no
son monotributistas.
• Especificación del diseño de software: los elementos necesarios para el desarrollo
del software. Ej: un GateKeeper para testing, en el desarrollo de sistemas VoIP.
Resumen de Diseño de Sistemas – by Damián Nardelli & Diego Barberio & Lucas Mayoni
Documentación
• Manual de Normas y Procedimientos: normativa de los accionares de la
organización. No lo hace la gente de sistemas.
• Manual de Sistemas: que es lo que hace el sistema, quienes participan en cada
tarea y sus responsabilidades.
• Manual de Usuario: explica la forma de usar el sistema. Es difícil de realizarlo ya
que hay que definir el nivel de detalle y el lenguaje a utilizar.
• Manual de Operador: secuencia de pasos operativos.
Interfaces
Principios
Familiaridad con el Usuario: uso de términos y conceptos conocidos por el
Usuario.
Consistencia: operaciones semejantes, tratamiento semejante.
Sorpresa mínima: el Usuario no debe sorprenderse con el comportamiento
del sistema.
Recuperabilidad: facilidades de recuperación de errores del Usuario.
Guías de Usuario: manuales y ayudas en línea fácilmente accesibles.
Diversidad de Usuarios: contener y satisfacer las necesidades del total de
Usuarios que la utilizan.
Principios de diseño
• Las teclas de función siempre tienen que hacer lo mismo en todo el sistema.
• Lo mismo para las teclas en general.
• Iconos claros.
• Formato de las letras, que pueda ser observado a simple vista.
• Las ayudas pueden ser de dos tipos:
o Por pantalla:
o Por campo
Ambas deben describir solamente la pantalla o el campo respectivamente.
• Colores: evitar romperle los ojos al usuario con contrastes del orto
(amarillo con azul, negro con verde). Usar colores neutros (no brillantes. NO, no
le hagas la pantalla rosa fuerte por más que sea un sistema para la asociación de
gays). Utilizar un código de colores uniforme.
Tipos de Interfaces
• Vista de Casos de Uso: describe el comportamiento del sistema; como lo ven los
usuarios finales, desarrolladores, analistas, etc. Se utilizan los diagramas de
Casos de Uso; los diagramas de Actividad, Estado e Interacción le aportan
dinamismo
• Vista de Distribución: nodos que forman la topología físico del sistema sobre el
cual se ejecuta el sistema real