SISTEMA GENERAL

Introducción:
El sistema como un todo, está dirigida a incrementar las posibilidades de éxito en todo enfrentamiento con otros sistemas competitivos en su espacio es decir su medio ambiente. Puesto que la empresa es un sistema abierto relacionado con una serie de sistemas que afectan de una forma directa definiendo su comportamiento, buscando su equilibrio y ventajas maximizada solo por uno de ellos.
El medio ambiente ejerce ciertas acciones sobre la empresa, manifestando una influencia a la que ésta responde mediante su adaptación, o su resistencia según su flexibilidad.
De cualquier modo la organización busca absorber los factores que dificultan su comportamiento, o bien aprovechar aquellos otros que los pueden favorecer para su progreso y obtención del incremento de sus objetivos.
La adaptación se lleva a cabo mediante decisiones adaptativas que afectan en alguna forma a la estructura de los sistemas de la empresa sus relaciones, entre sí y con el entorno.

Requerimientos.-
a)    Panorama General

Este proyecto tiene por objeto crear un sistema de información que debe determinar las necesidades internas y externas de la embotelladora, optimizarla, y adecuarse a la estructura de la empresa.

b)   Metas

En términos generales, la meta es una mayor automatización de la información manejada por la empresa, y dar un soporte a servicios más rápidos, y mejores. Más concretamente la meta incluye:
·  Conocer los distintos ambientes existentes en la empresa, por un lado el ambiente interno, y por otro el ambiente externo.
·  Clasificar las fuentes de información para la empresa.
·  Asociar el tipo de fuente de información, según la clasificación realizada por la empresa.
·  Proporcionar datos oportunos y exactos que permitan tomar decisiones acertadas y mejorar la relación entre los recursos de la empresa.
c)    Funciones básicas



Referencia
Función
Categoría
R1.1
Registra el ingreso al sistema.
Evidente
R1.2
Almacena la información generada por cada departamento de la empresa.
Evidente
R1.3
Almacena datos generales de cada departamento de la empresa.
Evidente
R1.4
Ofrece un mecanismo de almacenamiento persistente.
Oculta
R1.5
Ofrece mecanismos de comunicación entre los procesos y entre los sistemas.
Oculta
R1.6
Muestra la descripción de cada departamento de la empresa.
Evidente




d)   Atributos del sistema



Atributo
Detalles y restricciones de frontera
Tiempo de respuesta
(restricción de frontera) Cuando se registren cambios en algún departamento de la empresa, la descripción del mismo aparecerá en un segundo.
Metáfora de interfaz
(detalle) Ventanas orientadas a la metáfora de un formulario y cuadros de diálogo.
(detalle)Maximiza una navegación fácil con teclado y con mouse.
Plataforma del sistema operativo
(detalle) Microsoft Windows 2000,NT, XP.



Ref.
Función
categoría
Atributo
Detalles y restricciones
Categoría
R1.6
Muestra la descripción de cada departamento de la empresa
Evidente
Tiempo de  respuesta
1 segundo como máximo
Obligatorio



Metáfora de interfaz
Patallas basadas en formularios. Con colores
Obligatorio

Casos de uso
            Caso  de uso: sistema de información de una embotelladora.
            Actores: Gerente General, Administrador, Gerente Técnico, Dep. de Reportes,                     Dep. de Recursos Humanos, Dep. de Producción.

Propósito: Administrar la información de una empresa embotelladora.

Resumen: Los departamentos de la empresa envían información al administrador de la empresa, y este se encarga de actualizarla, y de entregar un informe general al gerente general como también al gerente técnico.

Tipo: Primario, y Esencial.

Descripción: Cada departamento entrega un informe al administrador de la empresa, este lo actualiza y entrega el mismo al gerente general y al gerente técnico.       


Modelo conceptual

Paquetes



Diagrama de Secuencia:

Contratos:
Contrato


Nombre:
Inicio()
Responsabilidades:
Iniciar el sistema
Tipo:
Sistema.
Referencias
cruzadas:
Funciones del sistema: R1.1

Casos de uso:
Sistema de Información
Notas:
Utilizar acceso súper-rápido a la base de datos.
Excepciones:
Si el código no es válido, indicar que se cometió un error.



Contrato


Nombre:
IntroducirDatos(Fecha:cadena, cargo:cadena, código:cadena)
Responsabilidades:
(Registrar)Se debe ingresar el cargo que ocupa en la empresa, como tambien el código que es único
Tipo:
Sistema.
Referencias
cruzadas:
Funciones del sistema: R1.1

Casos de uso:
Sistema de Información
Notas:
Utilizar acceso súper-rápido a la base de datos.
Excepciones:
Si el código no es válido, indicar que se cometió un error.
Precondiciones:
El sistema conoce la cuenta efectuada.
Pos condiciones:
· Si se registra un nuevo usuario el sistema verfica la autenticidad del mismo, haciendo una actualización del sistema.


Diagrama de Estado:
RECOLECCIÓN E INTRODUCCIÓN DE LA INFORMACIÓN
GENERACIÓN DE INFORMES

Diagrama De Colaboración:
Los diagramas de colaboración explican gráficamente las interacciones entre las instancias del modelo (objetos).
Los diagramas de interacción constituyen una de las herramientas más importantes para el análisis y diseño orientado a objetos. El tiempo y esfuerzo dedicado a la preparación de éstos, corresponde a un porcentaje considerable de la actividad total del proyecto.

 
Diagrama de clase:

El patrón Experto:

Nombre:
Experto.
Problema:
¿Cuál es el principio fundamental en virtud del cual se asignan las responsabilidades en el diseño orientado a objetos?
Un modelo de clase puede definir docenas y hasta cientos de clases de software, y una aplicación tal vez requiera el cumplimiento de cientos o miles de responsabilidades. Durante el diseño orientado a objetos, cuando se definen las interacciones entre los objetos, se toman decisiones sobre la asignación de responsabilidades a clases. Si se hace en forma adecuada, los sistemas tienden a ser más fáciles de entender, mantener y ampliar, y se nos presenta la oportunidad de reutilizar los componentes en futuras aplicaciones.

Solución:
Asignar una responsabilidad al experto en información: la clase que cuenta con la información necesaria para cumplir la responsabilidad.

Beneficios:
Se conserva el encapsulamiento, ya que los objetos se valen de su propia información para hacer lo que se les pide. Esto provee un bajo nivel de acoplamiento, lo que favorece el hecho de tener sistemas más robustos y de fácil mantenimiento.

El comportamiento se distribuye entre las clases que cuentan con la información requerida, lo que ayuda a definir clases "sencillas" y más cohesivas, que son más fáciles de comprender y mantener.



Se debe conocer todas las instancias Cuenta de una transacción, y la suma de sus cuentas, y esto lo conoce únicamente la instancia Balance. Por tanto, desde el punto de vista del Experto, Balance es la clase de objetos correcta para asumir esta responsabilidad. Balance es el experto en información. Entonces:

Informe General conoce la información general de la empresa. Por tanto, desde la perspectiva del patrón Experto, Informe General  deberia conocer los datos de la empresa.
Informe General no puede cumplir la responsabilidad de conocer y dar resultados, si no conoce el detalle de la EspecificaciondeInforme es un Experto en información para contestar su detalle.

En conclusión, para cumplir con la responsabilidad de conocer y dar el Informe de la Empresa, se asignaron tres responsabilidades a las tres clases de objetos:
Clase
Responsabilidad
Informe Parcial
Conoce los Informes por departamento
Informe General
Conoce la Información de la empresa
EspecificaciondeInforme
Conoce el detalle los informes
El patrón Creador :

El patrón Creador guía la asignación de responsabilidades relacionadas con la creación de objetos, tarea muy frecuente en los sistemas orientados a objetos. El objetivo de este patrón es encontrar un creador que debemos conectar con el objeto producido en cualquier evento.

Nombre:
Creador.
Problema:
¿Quién debería ser responsable de crear una nueva instancia de alguna clase?

La creación de objetos es una de las actividades más frecuentes en un sistema orientado a objetos. En consecuencia, conviene contar con un principio general para asignar las responsabilidades concernientes a ella. El diseño, bien asignado, puede apoyar un bajo acoplamiento, una mayor claridad, el encapsulamiento y la reutilización.

Solución:
Asignarle a la clase B la responsabilidad de crear una instancia de la clase A en uno de los siguientes casos:

· B agrega los objetos de A.
· B contiene los objetos de A.
· B registra las instancias de los objetos de A.
· B tiene los datos de inicialización que serán enviados a A cuando este objeto sea creado (B es un experto respecto a la creación de A).
B es un creador de los objetos A. Si existe más de una opción, prefiera la clase B que agregue o contenga la clase A.

Beneficios:
Se brinda apoyo a un bajo acoplamiento, lo cual supone menos dependencias respecto al mantenimiento y mejores oportunidades de reutilización.




Realizando este análisis se da que para que un Informe Parcial pueda ser presentado mediante un reporte contiene (en realidad, agrega) muchos datos del departamento. Es por esto que el patrón Creador sugiere que el Informe Parcial es la clase idónea para asumir la responsabilidad de crear las instancias de datos del departamento. Esta asignación de responsabilidades requiere definir en Informe Parcial un método para hacerDatosDepartamento.
El patrón Controlador:
Nombre:
Controlador.
Problema:
¿Quién debería encargarse de atender un evento del sistema?

Un evento del sistema es un evento de alto nivel generado por un actor externo. Es un evento de entrada externa. Se asocia a operaciones del sistema: las que se emiten en respuesta a los eventos del sistema.
Un controlador es un objeto de interfaz que se encarga de manejar un evento del sistema. Define además el método de su operación.

Solución:
Asignar la responsabilidad del manejo de mensajes de los eventos del sistema a una clase que represente alguna de las siguientes opciones:

· El "sistema" global (controlador de fachada).
· La empresa u organización global (controlador de fachada).
· Algo en el mundo real que es activo (por ejemplo el rol de una persona) y que pueda participar en la tarea (controlador de tareas).
· Un manejador artificial de todos los eventos del sistema de un caso de uso (controlador de casos de uso).

Utilice la misma clase controlador con todos los eventos del sistema en el mismo caso de uso.

Beneficios:
Garantiza que la empresa o los procesos de dominio sean manejados por la capa de los objetos del dominio y no por la interfaz.


Durante el análisis del comportamiento del sistema, sus operaciones son asignadas al tipo Sistema, para indicar que son operaciones del sistema.
Pero esto no significa que una clase llamada Sistema las ejecuta durante el diseño. Durante el diseño, a la clase Controlador se le asigna la responsabilidad de las operaciones del sistema.
Según el patrón Controlador, disponemos de las siguientes opciones:

Sistema de Información
Representa el "sistema" global.
Informe Parcial
Representa la información de cada departamento.
Gerente
Representa algo en el mundo real que está activo (por ejemplo el rol de una persona) y que puede intervenir en la tarea.
Manejador de Sistema de Información
Representa un manejador artificial de todas las operaciones del sistema de un caso de uso.

Las operaciones del sistema, detectadas en el análisis, se asignarán a Informe Parcial.