jueves, 31 de octubre de 2013

Creación de la Base de Datos.

Para la creación de la Base de Datos se utilizó un software muy amigable al usuario y muy sencillo de utilizar llamado "CaseStudio2" en este programa debemos crear las entidades (Tablas) con sus respectivos campos en los cuales podemos indicar cuáles son "Primary Key" el tipo variable como por ejemplo para la contraseña ocupamos que sea del tipo VarChar. Además de esto el software nos permite especificar las relaciones entre entidades (Tablas) como la relación 1 a muchos, muchos a 1, muchos a muchos entre otras, cabe recalcar que en nuestra base de datos la relación va a ser 1 a muchos ya que un Cliente puede tener muchos lienzos.



Como se puede observar en la imagen hemos creado las dos identidades tanto Usuario como Lienzos de los cuales cada uno tiene sus atributos como es "usuario" y "contrasenia", otra cosa interesante que podemos observar es que la tabla "Lienzos" es una entidad débil por lo cuál la clave primaria de la Tabla "Usuario" pasa a ser clave foránea de la Tabla "Lienzos". Otra cosa interesante que podemos observar es la realación que se mencionó anteriormente que este caso como dijimos va a ser una relación muchos a 1.


Esta ventana de Diálogo aparece al momento de generar el script para la Base de Datos esta es otra ventaja del software que nos permite generar el código necesario para generar nuestra Base de Datos. Con lo cuál el código lo implementamos en SQLServer en nuestro caso la versión 2012 y generamos la base de Datos.


El código generado lo insertamos en un nuevo proyecto de SQLServer 2012 y ya está lista nuestra base de datos para poder utilizarla.



Como podemos observar se ha insertado el script generado por el CaseStudio y ha sido ejecutado con lo cual podemos crear nuestra Base de Datos y para comprobar hacemos un Select * From Usuarios y Lienzos con lo cual mostramos las dos tablas creadas.

A continuación se mostrará el Script generado por el CaseStudio:

/*
Created: 24/10/2013
Modified: 31/10/2013
Project: Base de Datos para usar usuarios y lienzos
Model: Base de Datos Lienzos
Company: Proyecto 02
Author: Cristian Espinosa - Lenin Velasteguí
Version: 1
Database: SQL Server 2012 
*/

create database Usuario_Lienzos
go
use Usuario_Lienzos 
Create table [Usuario]
(
[usuario] Varchar(80) NOT NULL,
[contrasenia] Varchar(50) NOT NULL,
Primary Key ([contrasenia])
go

Create table [Lienzos]
(
[NombreLienzo] Varchar(150) NOT NULL,
[Contrasenia] Varchar(50) NOT NULL,
Primary Key ([Contrasenia])
go

Alter table [Lienzos] add  foreign key([Contrasenia]) references [Usuario] ([contrasenia])  on update no action on delete no action 
go

Set quoted_identifier on
go

Set quoted_identifier off
go

select * from Usuario
select * from Lienzos

Diseño y Estructuración de la Interfaz Gráfica

Como se pudo observar en el Brain Storming para el desarrollo del proyecto ahora ya en el software en si Visual Studio 2012 se va a proceder con el diseño de la interfaz gráfica.

Para lo cuál en el lado del Cliente se procedió a crear 3 Windows Form de los cuáles son:

  • El Windows Form de Autentificación del Cliente que me permitirá abrir los lienzos de un usuario ya existente con su nombre de usuario y password, en el caso de que el usuario sea nuevo será verificado y se hará la respectiva pregunta que si el cliente desea crear un nuevo cliente, para este ser almacenado en la base de datos.


  • El segundo Windows Form ocurrirá si el Cliente ya existe en la base de datos por lo cuál en ese momento se le presentará este Windows Form Indicando todos los lienzos guardados por el Cliente y así poder seleccionar cualquiera de ellos.

  • El Windows Form en sí ya del programa que nos permitirá dibujar, para ello este se configuró que al momento de ejecución se ejecute con el tamaño de toda la pantalla, dentro de este hemos creado un Context Menu Strip y con los botones estandares, y añadimos unos cuantos más para lo que compete a dibujar, los colores.





jueves, 17 de octubre de 2013

Brain Storming para desarrollar nuestro "PAINT" distribuido en la red.

Dentro de los requerimientos del "Paint" está el que un usuario se autentifique para comenzar a trabajar en sus lienzo ya hechos. Para este propósito se ha dado varias ideas de las cuales la que mas se adaptó a nuestras necesidades fue el crear una base de datos la cuál tendrá dos tablas, la primera tabla "Cliente" contendrá dos columnas tanto "Usuario" como "Password" con estos dos campos vamos hacer la parte de identificación del usuario, si el usuario existe en la base de datos entonces se le debe permitir el acceso a todos sus lienzos creados y el lienzo que se debe crear por default. Caso contrario en el si el usuario no se autentifica de la manera correcta o es un usuario nuevo pensamos mostrar en un message box algo como lo siguiente "El usuario ingresado no consta en la base de datos o nunca fue creado desea crearlo" con las opciones de lo botones OK y NO si presionamos OK pues crearemos el usuario con el nombre y su password los cuales serán almacenados en la base de datos, si presionamos el botón NO pues simplemente me pedirá de nuevo la opción de autenticar.

La otra tabla "Album Lienzo" contendrá la dirección de los albums de cada cliente que tiene ya que pensamos que al momento de crear un cliente se le va a crear una carpeta en la cual se irán almacenando sus diferentes lienzos dibujados de cada uno de los clientes así como también el lienzo por default que siempre estará disponible para el usuario.

Para ya comenzar a realizar gráficos los lienzos se los va a crear como bitmaps los cuales serán los lienzos donde mediante la herramienta "Graphics" vamos a poder lograr el objetivo de dibujar los círculos, óvalos, cuadrados y rectángulos que es lo que principalmente se pide.

Para la cuestión de guardar, elegir un determinado diseño de lienzo, etcétera. Se pensó en el uso de un "Content Menu Strip" para ir modificando según a nuestras necesidades.

A continuación en papel lo propuesto. Y bueno adelante con este proyecto se lo ve muy interesante.