|
Sistemas de Informacion II
Es un modelo de lo que el sistema debe hacer para satisfacer los requerimientos del usuario, diciendo lo minimo posible acerca de cómo se implantara. Supone tecnología perfecta y sin costo.
Se debe evitar describir implantaciones especificas de procesos en el sistema. No debe mostrar las funciones del sistema que están siendo realizadas por humanos o por sistemas de computo existentes. Debe describir el contenido de los flujos o almacenes de datos, sin describir el medio.
Componentes del modelo esencial:
• Modelo ambiental: define la frontera entre el sistema y el resto del mundo.
• Modelo de comportamiento: describe el comportamiento que del sistema se requiere para que interactue de manera exitosa con el ambiente.
El modelo esencial describe:
• La política o lógica, esencial de las funciones que se requiere realizar.
• El contenido esencial de los datos que almacena y se mueven a través de el.
• El comportamiento esencial dependiente del contexto.
Debe cubrir lo siguiente:
• Distribución del modelo esencial entre personas y maquinas.
• Detalles de la interacción humano - maquina.
• Actividades manuales que se podrían requerir.
• Restricciones operativas que el usuario desea imponer al sistema.
La frontera de automatización es casi irrelevante en el modelo esencial pues el usuario necesita una declaración bien hecha de los requerimientos de las funciones y datos que queden justo fuera de la frontera de automatización.
Hay tres casos extremos:
• Al usuario no le importa donde este la frontera.
• El usuario quiere escoger un sistema totalmente automatizado.
• El usuario quiere un sistema totalmente manual.
Generalmente estas opciones extremas no ocurren. Basándose en interacciones con el usuario y el analista, se llegara a un compromiso. Se automatizara parte de las actividades del modelo esencial y otras se identificaran como manuales. No es labor del analista escoger la frontera de automatización, sino responsabilidad del usuario.
En el modelo ambiental se supone la existencia de tecnología perfecta, que significa entre otras cosas, suponer que la tecnología de implantación nunca se descompondrá o cometerá errores.
En general hay que preocuparse por la posibilidad de tecnología defectuosa en cuatro áreas principales:
• Ingreso de datos al sistema.
• Realización de cálculos.
• Almacenamiento a largo plazo de datos.
• Salida de datos del sistema.
Podría decidir añadirse cualquiera de lo siguiente al modelo esencial para vérselas con tecnología defectuosa:
• Entradas o salidas redundantes.
• Tecnología de procesador redundante.
• Redundancia interna.
• Controles por lote.
• Verificaciones secuenciales
Finalmente, se deberá decidir la combinación de hard, S.O., equipo de telecomunicaciones, lenguaje de programación y estrategia de diseño. Las cuestiones típicas son:
• Volumen de datos.
• Tiempo de respuesta de las entradas.
• Restricciones políticas sobre modalidades de implantación.
• Restricciones ambientales.
• Restricciones de confiablidad y seguridad.
• Restricciones de seguridad.
El diseño del software es un proceso mediante el que se traducen los requisitos en una representación del software.
El diseño del software se realiza en dos pasos:
• El diseño preliminar se centra en la transformación de los requisitos en los datos y la arquitectura del software. (Modelo implementable, modelo arquitectonico)
• El Diseño detallado se ocupa del refinamiento de la representación arquitectónica que lleva a una estructura de datos detallada y a las representaciones algoritmicas del software. (Modelo procedimental y modelo de interfaz)
Dentro de los diseños preliminar y detallados, se llevan a cabo varias actividades de diseño diferentes. Además del diseño de datos, el arquitectónico y del procedimental, muchas aplicaciones modernas requieren diseño de la interfaz.
El diseño de la interfaz establece la disposición y los mecanismos para la interacción hombre maquina.
Se han establecido un conjunto de conceptos fundamentales para el diseño de software:
• Abstracción: pueden formularse muchos niveles de abstracción. En el nivel superior, se establece una solución en términos amplios. En los niveles inferiores, se toma una orientación mas procedimental. En el nivel mas bajo, se establece la solución de forma que pueda implementarse directamente. Conforme nos movemos por diferentes niveles de abstracción, trabajamos para crear abstracciones de datos y de procedimientos. Una abstracción procedimental es una determinada secuencia de instrucciones que tienen una función limitada y especifica. (los conceptos de refinamiento sucesivo y modalidad, están muy cerca del de abstracción).
La abstraccion de controls, es la tercera forma de abstraccion que se utiliza en el diseño del softwares. Implica un mecanismo de control de programa, sin especificar los detalles internos usados para coordinar actividades en una S.O.
• Refinamiento: es una primera estrategia de diseño descendente. La arquitectura de un programa se desarrolla en niveles de jerarquia descompoiniendo una declaracion macroscopica de una funcion de una forma sucesiva.
Grado de relacion entre los elementos de un modulo. Si evaluamos el acoplamiento y la cohesion nos puede dar la calidad de un buen sistema de informacion.
La cohesion tiene que ser alta para que el sistema sea bueno.
A mayor cohesion menor acoplamiento.
Tipos de Cohesion:
• Funcional: Es la ideal, todos los elementos del modulo contribuyen a cumplir una misma funcion (la del modulo).
• Secuencial: Cuando los elementos de un modulo tienen (o pueden tener) distintas funciones, se relacionan con los mismos datos (comparten los datos) e importa el orden.
• Comunicacional: Es igual al secuencial, pero difiere en que no importa el orden en que se ejecuten estos elementos. Es una variante la secuencial.
• Procedural o procedimental: Los elemento estan relacionado por flujo de control. Son procedimientos obligatorios de la empresa: ingresarlo a la DB, darle una credencial, hacer tarjetas personales (cuando ingresa un nuevo empleado). No es bueno porque los procedimientos cambian constantemente. Importa el orden.
• Temporal: La relacion es que tienen que ejecutarse al mismo tiempo. No importa el orden y conviene que evitarlos.
• Logica: Los elementos tienen el mismo nivel o categoria y estan relacionados a travez de un mismo elemento de datos. Esta muy ligado con el acolpamiento de control. Cuando hay acoplamiento de control, habra cohesion logica.
• Coincidental: La relacion esta dada por coincidencia, no tienen un sentido.
Como determinar el grado de cohesion de un modulo:
Funcional
Si
Tiene una sola Si procedimental
Funcion? Orden?
No flujo de control No Temporal
Relacion de los Si Secuencial
Modulos datos Orden?
No Comunic.
ninguno = nivel Si Logico
de actividad
No Coincidental
Propiedad que se define entre dos modulos, es el grado de relacion que hay entre estos dos modulos.
Para tener modularidad efectiva, hay que tratar de tener menos acoplamiento.
Con el menor acoplamiento logramos que si hay que cambiar un modulo no impacte en otro modulo y asi se produzca el efecto onda. Si hay demasiado acoplamiento, hay que analizar si no conviene juntarlos. Ademas si un modulo no esta tan relacionado con otro, lo puedo usar en otro lado.
Parametros tipo dato ( se puede procesar ).
Parametros tipo flag (no se pueden procesar ).
• De datos: Cuando existe conexión entre los modulos y la comunicación es a travez de estructuras de datos simples (variables)
Ej.: Se envian datos simples y se devuelven simples
• Estampado: Estan conectados y la comunicación es a travez de estructuras de datos compuestas (registros).
Ej.:Se envian datos compuestos y devuelve simples.
Como el segundo modulo retorna datos simples la relacion es de datos y estampado. En estos caso se toma el de mayor acoplamiento. En ese caso seria estampado.
• De control: Estan conectados y la comunicación es a travez de un indicador, flag o señal a partir de la cual se pueden tomar deciciones en el modulo subordinado o superior.
La desventaja es que hay mucha relacion entre los modulos, depende mucho uno de otro.
Ej.: El modulo subordinado, debe saber que opcion le manda el superior. El modulo subordinado no le puede informar al superior que datos debe enviarle.
Soluciones:
Que el subordinado devuelva un mensaje de error, y el superior decida que hacer.
Que el subordinado cometa error, y no devuelva nada.
• Comun o por area global: Pueden o no estar conectados, pero si comparten un area global de datos (variables globales).
Ej.: Si en una DB, tengo tres modulos que comparten una tabla y decido sacar una columna de la tabla, debo modificar los modulos que hagan referencia a la tabla.
• Contenido o patologico: Cuando un modulo refernecia a otro de la siguientes formas:
Para extraer o modificar datos de ese modulo.
Se bifurca al interior de otro modulo.
Para modificar la sentencia de otro modulo.
Se da en lenguajes de bajo nivel (c, cobol, pascal).
Para la metodologia de desarrollo de base de datos, hay tres etapas:
• Analisis
• Diseño
• Construccion
ANALISIS: Modelamos los datos. Modelamos la memoria esencial. Se modela el DER para ver como se relacionan los datos.
Requerimiento DER
DER: Diagrama de Entidad de Relacion
Entidad externa.
Conjunto de atributos.
Todos las entidades se vinculan entre si.
DISEÑO: Se diseña la base de datos.
Espacio Tablas Vistas Indices
DER Definicion
de entidades relacionales
y de atributos
CONSTRUCCION: Se crea la base fisicamente..
1. Sintaxis robusta. El der es calro y tiene un formato preciso.
2. Entendible por el usuario. Facil comunicación con el usuario.
3. Facil desarrollo. A medida que lo voy desarrollando tambien es facil el refinamiento.
4. Definicion de las fuentes. Da una imagen clara de los requerimientos de las fuentes de informacion.
5. Integracion de multiples aplicaciones. Como en el DER modelo los datos despues de el se van a desprender distintas aplicaciones.
6. Independencia de Hardware y Software. En el DER que creo lo puedo implementar en cualquier tipo de DB.
Entidad: Es un objeto de relevancia cuya informacion se quiere mantener. Se actualiza, se consulta a travez de procesos.
Tabla: Implementacion de una entidad.
Sinonimo: Diferentes nombres para significar lo mismo.
Una entidad debe tener multimples instancias (ocurrencias, filas). Hay tablas de una sola instancia. Cada instancia de una entidad debe tener valores determinados para cada uno de los atributos de la misma. ( osea que el conjunto de valores de los atributos en cada instancia es el mismo).
Cada instancia debe tener un identificador unico.
La fila es el conjunto de atributos que identifican a la entidad. La columna es el conjunto de valores que identifican al atributo.
Las instancias no se pueden repetir.
* Obligatorio, Not Null.
o Opcional.
# Identificador.
En las tablas se ponen los atributos que Identifican y Describen a la entidad, no los que vinculan. Eso va despues, cuando se relacionan.
CURSO #* Codigo * Nombre * Costo * Duracion |
INSTRUCTOR #* Codigo * Nombre o Numero de telefono
|
ALUMNO # Codigo * Nombre o Numero de telefono. |
Relaciones: Vinculaciones entre una entidad y otra o en una misma (recursividad).
Ej. Instrucción Curso
Una relacion tiene tres componentes
Nombre
Opcionalidad
Grado o cardinalidad
La opcionalidad puede ser que una relacion puede o debe.
Grado de cardianlidad es: (1 a n) , (n a 1), (n a n).
Existe grado 0 cuando no hay nada en una de las entidades y en otra si. Es opcionaldad puedo.
Esta asignado a
Tiene incluido
Opcionalidad:
Debe
Puede
Debe haber un empleado por departamento y puede haber un empleado por depto.
Un empleado debe estar asignado a un departamento. Un depto. puede incluir un empleado.
Cardinalidad: uno a uno
uno a varios
varios a varios
Matriz de relaciones: herramienta para construir las relaciones del DER.
|
Orden |
Item |
Cliente |
Almacen |
Orden |
- |
Incluido en |
Originario de |
- |
Item |
Emitido por |
- |
- |
Repositor de |
Cliente |
Asignado por |
- |
- |
- |
Almacen |
- |
Almacenado en |
- |
- |
Se lee asi:
Atributos: Informacion sobre una entidad.
Permiten calificar, identificar, clasificar y cuantificar.
No deben incluir nunca el nombre de la entidad.
Hay que verificar que cada atributo tenga un valor simple para cada instancia.
Los atributos de calculo no se consideran atributos. No tiene sentido almacenar los resultados de otros atributos, porque son claculables sin tenerlos.
Cuando un atributo tiene atributos propios, es otra entidad.
El modelo de datos normalizado es el dueño de la base de datos.
Tienen el mismo nombre de relacion. Las descripciones de cada producto son excluyenetes. Una entidad puede no formar parte de dos relaciones exclusivas.
Modelo Sub-Tipo
Tiene entidades que contienen atributos en comun.
Son excluyentes. Si la relacion es en el borde del general, es que se relaciona con cualquiera de los subtipos. Si solo llega a un sub-tipo, quiere decir que se relaciona solo con ese sub-tipo.
Se utiliza para modelar relaciones exclusivas que tienen atributos y relaciones en comun.
Debe tener atributos y relaciones compartidas por sus sub-tipos. Si no tuviera atributos y relaciones compartidas, serian excluyentes.
Los sub-tipos, comparten atributos y relaciones y tienen atributos propios.
• identifica univocamente
• no puede ser nula
• puede ser comnpuesta
• es unica
Cuando tengo sos posible claves primarias y debo elegir una de esas dos como primaria.
Es foranea en una entidad y primaria en otra.
Es una columna o combinacion de columnas en una tabla principal y una clave primari en otra entidad.
Si la foranea no existe en la tabla referencial, en la tabla principal toma valor null.
Se refiere a la consistencia. Hay cuatro tipos de integridad.
• De la entidad.
• De referencia.
• De la columna.
• Definida por el usuario.
La clave primaria siempre tiene que ser Not Null y Unique. El nombre de la tabla para identificar a una entidad puede ser plurar.
Modelo explicito: Se genera una columna FK para cada relaion implicita o incluida en el arco.
Modelo generico: igualo una columna simple y una columna de flag de relacion por el arco, la columna simple v a ser FK y la otra, not null
Aún no hay comentarios para este recurso.
Monografias, Exámenes, Universidades, Terciarios, Carreras, Cursos, Donde Estudiar, Que Estudiar y más: Desde 1999 brindamos a los estudiantes y docentes un lugar para publicar contenido educativo y nutrirse del conocimiento.
Contacto »