FELIZ NAVIDAD

jueves, 24 de diciembre de 2009
Feliz navidad desde el blog de construyendo un erp




imagen realizada en blender
consulte blender-uanl.blogspot.com

Categorias del blog

viernes, 27 de noviembre de 2009
El blog ha ido creciendo, y es momento de hacer una division mas adecuada de las entradas del blog y he decidido hacer un acopio de las categorias que tendra este blog

1.- Analisis previo del proyecto
Aqui pondre las entradas referentes al analisis previo de un proyecto, en este caso mi microerp
entre otras, no hay aqui diagramas especificos que presentar al cliente, son diagramas generales
aqui deberian ir entradas sobre analisis de riesgos, alcance del proyecto etc, en la metodologia agil seria el llamado Sprint 0, tambien hay planificacion

2.- Analisis y del sistema
Aqui irian diagramas generales y mas especificos de los modulos, seria mas interno y no tan de cara al cliente, una planificacion mas detallada y no tan global, ademas de detalles sobre la informacion, se plantea tambien las tablas que llevaria la base de datos

3.-Diseño del sistema
Diagramas mas detallados del sistema y con mas enfasis en la posterior codificacion, se crean
igualmente diagramas Entidad-Relacion para las tablas de la base de datos que llevarian la informacion del cliente, se hacen tambien modelos de formularios

4.-Codificacion
En parte es diseño , por la naturaleza de los IDE de desarrollo actuales que pegan la fase de diseño de formularios con la codificacion, incluso algunos son capaces de interpretar diagramas UML , igualmente con los manejadores de bases de datos que ahora son capaces de interpretar un diagrama Entidad relacion, una enorme parte del codigo es desarrollada por estos IDEs, por lo que la codificacion seria en la parte de inteligencia del negocio

5.-Testeo
Igualmente , la fase de testeo va muy pegada a los IDEs que compilan y se pueden hacer inmediatas pruebas de lo que se va haciendo, sin embargo en esta fase se plantea un diseño sistematico de pruebas, un registro de los exitos y fracasos de estas pruebas por un equipo
que se dedica en exclusivo a eso e incluso pruebas hechas por el mismo cliente o personas asignadas por el cliente

6.-Implementacion
Aqui ya se instala en el sitio del cliente el sistema, servidores de base de datos, binarios de los modulos del sistema, registro de usuarios que usaran el sistema, aqui se entrena al personal de la empresa del cliente para que vaya introduciendo datos y puede irle siendo util al cliente el sistema, en la metodologia agil puede suponerse que habra varias implementaciones en tanto se vayan liberando modulos del sistema

Estas definiciones son personales, no tanto formales, aunque son parecidas a las que vienen en
los diversos libros de ingenieria de software, las modifique en cuanto a que esas definiciones no toman en cuenta en mi opinion la versatilidad de los IDEs de desarrollo existentes y pareciera que aun piensan que uno debe diseñar y codificar desde cero los formularios

Ademas de que ninguna hace mencion del constante traslape entre las etapas e incluso la posible redundancia de los diagramas entre las fases, sobre todo entre los diagramas de analisis y diseño que pareciera en mi opinion ser los mismos

Categorias Adicionales como guias cortas de lazarus, mysql, etc

Habra una seccion de opiniones personales, donde comentare acerca de lo que pienso sobre el modelado y diseño de software

Y una seccion de archivos, donde colocare algunos de los archivos de ejemplos y los archivos del ERP, posiblemente haga una entrada en sourceforge para el proyecto, eventualmente pondre los archivos en mi hosting

Conectando MySQL con LAZARUS

jueves, 26 de noviembre de 2009
Hoja de ruta
Volviendo con lazarus, lo que es el proyecto original, y en una maquina con windows mas o menos recien instalado, he seguido una ruta para configurar mysql con Lazarus

1-Primero tener instalada la ultma version de Lazarus 0.9.28.2 que se puede descargar de la pagina
2.-Descargar MySQL , para este ejemplo se bajo la ultima version 5.1 ( la que se explica en tutoriales pasados ) , la version 5.0 parece que jala nativamente con lazarus

3.-Descargar los conectores ODBC de la misma pagina de donde descargamos MySQL e instalarlos

4.-Crear una pequeña tabla en la base de datos, para el ejemplo yo utilize el software MySQL workbench

Se crea tabla



Se crea la conexion

Se sincroniza




puede ver en este mismo blog un tutorial mas completo de como utilizar workbench

5.-Crear un archivo de conexion ,en windows un archivo DSN con la base de datos mysql ,en conexiones ODBC de herramientas de windows

Una vez hecho el dsn entrara en automatico una ventana para configurar usuario y password

el usuario m si no hemos hecho uno, entonces se puede utilizar el root, el servidor es localhost
que no es mas que un nombre de red comun para nuestra PC



5.-Crear un proyecto en lazarus y crear los componentes

Los componentes a crear

SQLTransaccion - para dar el modo en que se haran las transacciones

ODBCConnection - es el que conectara con el puente ODBC a la base de datos

SQLQuery - para escribir la consulta

Aqui una imagen de como se escribe la consulta


Otra imagen mostrando la relacion con el componente ODBCconnection



DataSource - es el que conectara con los controles de datos visuales de lazarus



DBGrid - un componente visual de datos , util para visualizar tablas de una base de datos, es una malla tipo excel
Aqui un diagrama de como se van relacionando los componente, al final esta la relacion
con el componente visual DBGrid


Deben activarse los componentes (en la propiedad Active de cada componente) para
que se haga la consulta de inmediato y se pueda visualizar en el mismo IDE

Por ultimo el formulario ya compilado

En resumen :

Las relaciones se hacen basicamente por propiedades que corresponden a componentes
creados, esto es odbcconnection tiene una propiedad SQLTransaction en donde iria el componente sqltransaction que hayamos creado, igualmente el DBGrid tendra una propiedad datasource que indica la fuente de datos que es el componente datasource que hayamos creado,
las flechas en las imagenes indican esas propiedades de relacion en el inspector de objetos de lazarus


-------------------------------------------------------------------------------------------
Sobre los componentes
los componentes utilizados para este tutorial se encuentran en lazarus y no son de terceros
el objetivo era no modificar ni agregarle nada a lazarus

Ademas utilizar ODBC tambien es util en visual studio y en Java, la desventaja es que es
un componente exclusivo de windows, de Microsoft, no tiene ningun significado en sistemas Unix

Componentes de acceso a datos


los componente mysql solo sirven hasta la version 5.0 de mysql, por eso se utilizo el puente ODBC, no es la unica opcion, se podria tambien haber usado los componente Zeos

Componentes no visuales como link entre los componentes de base de datos y los componentes
visuales
Componentes para visualizar datos



Alcances de un proyecto

sábado, 31 de octubre de 2009
Un capitulo de la parte del diseño de un sistema que no se debe descuidar, que es el alcance o el ambito del software, que es la parte donde se define lo que se va a entregar a la empresa que solicita el sistema, para evitar basicamente que hagamos tareas mas alla de la que se fueron contratadas
He aqui unas definiciones de libro de texto que no estan de mas

AMBITO DEL SOFTWARE Y FACTIBILIDAD

El ambito del software describe las funciones y caracteristicas que se entregaran a los usuarios finales , los datos que son entrada y salida, el contenido que se presenta a los usuarios como consecuencia de emplear el software asi como el desempeño, las restricciones , las interfases , la confiabilidad que acotan al sistema

El ambito se define al usar una de las dos tecnicas siguientes:

1.-Despues de una comunicacion con todos los participantes se desarrolla una descripcion narrativa del ambito del software

2.-Los usuarios finales desarrollan un caso de uso

Comentarios del proyecto

viernes, 2 de octubre de 2009
Actualmente tengo otras tareas, asi que el proyecto avanzara poco, sin embargo gracias por los comentarios, debo decir que mas que el desarrollo de un proyecto ERP, uno de mis objetivos era enlazar los diagramas UML de los que tanto insisten en las escuelas con el proyecto ya real de desarrollo

Sin embargo hare un parentesis para explicar el funcionamiento de algunos IDES para conectarse a las bases de datos, porque ese tema parece interesar mas a los lectores de este blog