Page 47 - Demo
P. 47
clase si: agrega o contiene objetos de ella, registra las instancias de sus objetos o tiene los datos de inicializaci%u00f3n que ser%u00e1n enviados a ella cuando el objeto sea creado. Este patr%u00f3n se evidencia en las clases del paquete Models, las que crean los objetos de tipo ActiveRecord, posibilitando el acceso a la informaci%u00f3n almacenada a nivel de datos. Experto: se encarga de asignar la responsabilidad al experto en la informaci%u00f3n: la clase que cuenta con la informaci%u00f3n necesaria para cumplir la responsabilidad. Permite conservar el encapsulamiento, ya que los objetos se valen de su propia informaci%u00f3n para hacer lo que se les pide, lo que provee un bajo nivel de acoplamiento. Promueve clases sencillas y cohesivas que son m%u00e1s f%u00e1ciles de mantener y comprender. En la aplicaci%u00f3n se definieron clases encargadas de la gesti%u00f3n de un elemento en espec%u00edfico como la clase ControlClase.php, para la gesti%u00f3n de los controles a los turnos de clases y la clase TurnoClase. Estas clases efectuar%u00e1n los procedimientos para: insertar, modificar y eliminar cada elemento de la base de datos.Alta Cohesi%u00f3n: la cohesi%u00f3n es una medida de cu%u00e1n relacionadas y enfocadas est%u00e1n las responsabilidades de una clase. Una alta cohesi%u00f3n caracteriza a las clases con responsabilidades estrechamente relacionadas que no realizan un trabajo enorme. Fomenta la reutilizaci%u00f3n, mejorando la claridad y facilidad del dise%u00f1o.Un ejemplo de c%u00f3mo se utiliz%u00f3 este patr%u00f3n es el dise%u00f1o del m%u00f3dulo seguridad donde cada una de las clases que implementa dicho m%u00f3dulo est%u00e1 relacionada sobre la misma %u00e1rea funcional.Patr%u00f3n Controlador: el patr%u00f3n ofrece una gu%u00eda para tomar decisiones sobre los eventos de entrada, asignando la responsabilidad del manejo de mensajes de los eventos del sistema a una clase controladora, ya que los elementos de interfaz y sus controladores de eventos, no deben ser responsables de controlar los eventos del sistema.El patr%u00f3n se ejemplifica a trav%u00e9s de las clases ControlclaseController, TurnoclaseController, las que tendr%u00e1n a cargo la responsabilidad de manejar los eventos dentro de cada componente respectivamente.Controlador Frontal y Singlenton: el patr%u00f3n Singleton (Singleton pattern) se utiliza para permitir la creaci%u00f3n de s%u00f3lo un %u00fanico objeto de una clase espec%u00edfica. Esto se consigue haciendo el constructor privado o protegido y usando un m%u00e9todo est%u00e1tico para crear instancias de la clase. Yii utiliza adicionalmente el patr%u00f3n de dise%u00f1o del controlador frontal. Representado por el index.php y es el %u00fanico punto de acceso del usuario a la aplicaci%u00f3n web.En el controlador frontal se crea la instancia de la Aplicaci%u00f3n cuya funci%u00f3n es la de recibir los requerimientos del usuario y remitirlos a los controladores apropiados para su posterior procesamiento. Representa el contexto de ejecuci%u00f3n del procesamiento de los requerimientos del usuario. Puede accederse en cualquier momento a trav%u00e9s del singleton Yii::app(). Su configuraci%u00f3n se realiza en la ruta protected/config, especialmente en el archivo main.php.Una de las %u00faltimas tareas que se realizan durante el desarrollo de un producto inform%u00e1tico es el despliegue, esto incluye la puesta en marcha del mismo en tiempo real y siendo ya utilizado por el usuario final, o lo que es lo mismo el cliente. Para esta parte del desarrollo es necesario contar con el diagrama de despliegue, que provee la vista de implementaci%u00f3n del sistema. Describe la topolog%u00eda del sistema, la estructura de los elementos de hardware y el software que ejecuta cada uno de ellos. Los diagramas de despliegue representan a los nodos y sus relaciones. Los nodos son conectados por asociaciones de comunicaci%u00f3n tales como enlaces de red, conexiones TCP/IP. (Fern%u00e1ndez Sanz, 2005). El mismo se compone por los nodos que hace referencia al servidor de aplicaci%u00f3n, base de datos, computadora cliente e impresora.Tratamiento de erroresDurante el desarrollo de una aplicaci%u00f3n inform%u00e1tica una de las tareas m%u00e1s importantes es el tratamiento de errores o excepciones, pues se trata de prevenir los defectos de un sistema evitando causar molestias a los usuarios. Un usuario molesto puede crear rechazo al uso del producto en cuesti%u00f3n que no es capaz de responder a sus necesidades y por lo tanto esta puede terminar por fracasar.Para evitar la ocurrencia de este tipo de situaciones es necesario prevenir posibles errores, adoptar medidas si el error se produce y de ser posible generar informaciones que describan el error y tranquilicen al usuario, es decir, mantener al usuario informado en todo momento sobre el estado de la aplicaci%u00f3n.Ejemplo de ello, el campo donde se entran el nombre y apellidos, donde se valida que no se entren n%u00fameros y se escriba correctamente. El campo correo donde se deben escribir una direcci%u00f3n de correo v%u00e1lida. Estas validaciones se realizan debido a que el lenguaje HTML5 permite tratar distintas validaciones con expresiones regulares y lanzar los mensajes de error. Adem%u00e1s, se validan de lado del servidor usando tambi%u00e9n expresiones regulares, para los campos que lo necesiten.SeguridadLa seguridad de la aplicaci%u00f3n es un aspecto b%u00e1sico a la hora de crear cualquier sistema de gesti%u00f3n de informaci%u00f3n, la misma constituye un factor indispensable para la protecci%u00f3n de los datos de la entidad a la que va dirigido el sistema. El concepto de la seguridad en los sistemas de software es un %u00e1rea de 47