martes, 26 de enero de 2010

Antes de desarrollar la solución

Antes de iniciar con el desarrollo hay que tener definido una estructura del como trabajar, como analizamos, modelamos y documentamos el sistema, como se debe programar y trabajar, lo cierto es que los eso facilita el trabajo en equipo, así como nos permite el poder retomar sistemas y poder darle mantenimiento a los mismos, sin tanto problemas, cuando un sistema es un par de pantallas y un solo programador lo hace, bueno no es tan importante, pero cuando se es un sistema gigante, y hay cambios continuamente, algún cambio de programador o bien de equipo, ahí nos queremos cortar las venas con galletas de animalitos por que no tenemos ni idea que hizo la anterior persona o bien su lógica es muy particular y diferente al nuestro.

Me ha tocado ver el echo que se quiere vender una solución solo por el echo de venderla y cobrar, sin analizar en si el problema y ver cual es la mejor solución y tecnología a emplear, de acuerdo a las necesidades y posibilidades del cliente., igual la solución es mas simple de lo que parece o bien mas costosa de lo que estimamos.

Hay que tener en cuanta que el cliente, espera un beneficio/inversión, o bien aumentar sus ganancias o bien bajar sus costoso ambos, eso es bueno tenerlo presente por que la mayoría de las empresas quieren invertir y muchas veces el que toma la decisión no sabe de tecnología, pero si sabe de ganancias y costos.
Bueno primero que nada recomendamos enfáticamente escuchar el video de Ángel Java López, donde se explica el uso de Domain Drive Design.


Hay que mencionar.

• Uml es el medio usado para modelar el análisis, en el video se da por entendido, el uml es independiente de la tecnología, un buen diseño se puede usar ya sea en Java, .Net. Android, Cocoa, C++, etc.
• Los diagramas mínimos de documentación recomendados son los de casos de uso, clases, estado.
• Manejar test unitarios, o mínimamente probar siempre todo, al momento de hacer un cambio, un mal hábito es solo probar lo que se modifica y no ver si esto no afecta lo demás.
• Se pretende mostrar de momento las cosas lo mas estándar posible, sin inclinarnos a una tecnología o lenguaje especifico, ya al momento de implementar se deberá hacerlo de acuerdo a la tecnología especifica, sea .Net, Java, Andriod, etc.
• En el curso desarrollador 5 estrellas, se recomienda revisar la estrella 5 en la parte de arquitectura.
• El IDesign es un ejemplo en c# de estandarización de la forma de codificar, pero ya cada lenguaje empleara el indicado o bien se deberá documentar una propia.

Algunas ligas informativas.

jueves, 21 de enero de 2010

Memorias y experiencias de un blogg

Hola mi nombre es Roger Navarro, soy un Ingeniero en Sistemas Computacionales, enfocado a la programación de sistemas y automatización de los mismos.

La verdad que siempre e estado enfocado al trabajo y actividades personales, empresas, proyectos, etc. y bueno considero es hora de aportar algo de experiencia y punto de vista desde un punto de vista muy diverso.

Mi actividad laboral empieza en Mérida, Yucatán, México, donde estudie la carrera, y empecé a laborar en Horizontes Estratégicos, con un ex directivo de ASPEL, así como con un MCSD como líder de proyecto, el cual me ayudo a ingresar al mundo de .Net, ahí programe aplicaciones en Asp .Net y Windows Forms para .Net 1.1. Y 2.0, así como algo de java para Web, así como también manipulación de Office desde aplicaciones .Net usando macros y llamadas a las apis del S.O. algo un poco raro pero bueno, era una época en que los programadores venían de visual Basic 6.0, donde se da mucho eso, en el mismo periodo también hice un proyecto para la secretaria de turismo con php, las bases de datos, bueno e usado una gran diversidad, Access, SQL Server, Oracle. MySQL, etc. Por mencionar algunas, ahí no pienso detallar mucho realmente, la verdad un buen inicio laboral y de mucha investigación.

Posteriormente al concluir la carrera, regrese a la provincia de origen cd del carmen, una isla situada en medio del golfo de México, el día que nos pegue un tsunami nos borra del mapa junto con el petróleo g g, acá la economía esta enfocado a la extracción de petróleo en las plataformas marinas, así como empresas que le prestan servicios a PEMEX (petróleos mexicanos).

Acá entre a una empresa CI-EVIA los cuales programan en centura y Oracle, de echo muchas empresas acá lo usan, así como el Access, realmente acá es un sector enfocado al petróleo y bueno muy pocos le prestan la atención que se debe al sector de TI, solo corporativos grandes lo haces, como PEMEX, cotemar, mantenimiento marino, y aquellos proveedores que tengan un requerimiento de PEMEX, como un control biométrico para contabilizar los servicios, por decir algunos, la verdad que no maneje centura pero me gusto como lo usan con el Oracle, es muy ordenado, ahí programe en Asp .Net y algunos objetos COM para centura.

Posteriormente entre a laborar a una empresa llamada InterSAD, la cual veía un sistema biométrico en .Net así como programación en .Net para sistemas y paginas Web, Web Services, programación de COM, interconexión con sistemas móviles con java me, lineamientos de programación y UML, en si mucha programación, calidad y estándares del área, todo esto en conjunto con un equipo de profesionales que ahí laboraban, una época de mucha ing. de software y de mucha investigación.

De ahí entre a una empresa llamada Telemática y Procesos, que se encargan del outsourcing de PEMEX, fue una experiencia increíble ver los sistemas que se encargan de sostener las operaciones de las producción de petróleo y gas, envíos de alertas y monitoreos, etc. La verdad un mundo totalmente nuevo y que jamás me imagine, ahí mayormente fue .Net con Oracle y SQL Server no hubo investigación ni nada, pero la verdad una experiencia increíble.

Posterior y actualmente me integro a PER Enterprise al desarrollo de soluciones móviles, en Java ME, Android, Windows Mobile y Silverlight con el que ando experimentando para el desarrollo de grandes aplicaciones pero en móviles, en si es extender los sistemas ya existentes a un móvil, un intellisis, sap, etc. o bien un software ya echo por la empresa el cual pueda operar en un móvil, aprovechando la infraestructura que esta tiene, como el uso del GPS, cámara, sms, mail, etc. el cual ya viene integrado al móvil y no requiere un costo adicional por hardware como sucede como con un aplicativo de una PC de escritorio, es muy interesante trabajar con una reingeniería de un proceso de una empresa enfocado en un móvil, mas halla de las puertas del edificio de la misma.

Espero poder mostrar algunos ejemplos de estas tecnologías, así como su diseño, integración entre ellas, implementación y puntos de vista, así como links de información interesantes de tecnologías, así como de modelado, diseño y arquitectura.