miércoles, 25 de marzo de 2009

Visual Studio Express Edition 2008

La versión gratuita de Visual Studio de Microsoft resulta bastante útil. El sitio brinda la posibilidad de descargar herramientas específicas o todas en un ISO. Debido a que el enfoque de nuestro sitio es la simplicidad, nos enfocaremos en Visual Web Developer 2008 y Visual Basic 2008. No es que no sea posible desarrollar sistemas de manera fácil y rápida con Visual C# y Visual C++, no obstante, estas herramientas aumentan en complejidad significativamente, aunque también en potencia y en capacidad.
Las ventajas son:
  1. Absolutamente gratis (solo tienes que registrar tu copia).
  2. Incluye Sql Server Express 2008 por separado y en dos de sus distribuibles.
  3. Puedes utilizarlos tanto para desarrollo profesional como para aprendizaje.
  4. Gran variedad de controles.
  5. Orientación total a objetos.

Las desventajas… las mismas que cualquier software corriendo bajo Windows, no obstante debo decir que específicamente estos están muy bien diseñados e incorporados.
He aquí el link de descarga: http://www.microsoft.com/exPress/download/
En las próximas entregas nos ocuparemos de su estudio, y de claro, la manera fácil de desarrollas medienta esta poderosa herramienta. Hasta pronto.

lunes, 23 de marzo de 2009

Moprosoft

¿Qué es el Moprosoft?

En pocas palabras, es un conjunto de mejores prácticas para el desarrollo del software, aunque enfocado desde el punto de vista organizacional, no de programación de manera específica. Significa "Modelo de Procesos para la Industria del Software", y esta regulado, es decir, es oficialmente una norma mexicana.

El modelo de Procesos contempla nueve procesos básicos, distribuidos en tres categorías, que son:
Categoría de Alta Dirección (DIR).
1.- Gestión de Negocios.
Categoría de Gerencia (GER).
2.- Gestión de Procesos.
3.- Gestión de Proyectos.
4.- Gestión de Recursos.
5.- Bienes, Servicios e Infraestructura.
6.- Recursos Humanos y Ambiente de Trabajo.
7.- Conocimiento de la Organización.
Categoría de Operación (OPE).
8.- Administración de Proyectos Específicos.
9.- Desarrollo y Mantenimiento de Software.

Bien, mediante un Patrón de Procesos, se estipula la manera en que cada proceso se documenta. Utilizando esta documentación de procesos, se implementa dentro de las organizaciones, la norma.

¿Es útil Moprosoft?
La pregunta es ¿Útil para quién? Como desarrolladores realmente no nos es muy útil, no proporciona metodologías maravillosas que nos saquen de apuros, por el contrario, “burocratiza” mucho el trabajo.

¿Es útil para las organizaciones? Sí. Definitivamente si lo es. La estructura de los procesos y las actividades, si se ejecutan correctamente en toda la organización, conllevarían un control de documentación bastante útil, además de proveer de herramientas de trabajo estandarizadas.

¿Es útil para los desarrolladores freelance o para quienes quieren trabajar de manera independiente? Sí, sí lo es. Las principales ventajas que observo en Moprosoft son el control del flujo de proyectos y su instrumentación. Los procesos de Gestión de Negocios, Gestión de Proyectos y Administración de Proyectos Específicos realmente valen la pena, tanto para los desarrolladores freelance, como los programadores y administradores de proyectos que trabajen en alguna empresa.

Por ahora, dejaremos el tema hasta aquí, no obstante, posteriormente nos involucraremos más en el tema de la implementación y el uso del modelo, sus ventajas, sus desventajas, etc. Si tienen alguna opinión del presente artículo, no duden en dejar sus comentarios. Hasta la próxima.

Enlaces de interés:

Mas posts de Moprosoft en este blog.

NYCE, organización verificadora:http://www.moprosoft.com.mx/

Comunidad Moprosoft, de su página de descargas se pueden obtener los documentos: http://www.comunidadmoprosoft.org.mx

¿Que es UML?

¿Alguna vez se han preguntado por qué determinado software es tan engorroso de utilizar? ¿Por qué necesita de mil a la n pantallas para llevar a cabo una simple operación? ¿Por qué son tan innecesariamente complicados de utilizar? Pues es muy seguro que la causa haya sido la ausencia del UML en el proceso de análisis y diseño.

UML significa “Lenguaje de Modelado Unificado” - Unified Modeling Language -, hace sencillo lo complicado. Lo complicado es plasmar en planos de software el diseño de los sistemas informáticos. Son tan variados, hay tanta diversidad de lenguajes, que simplemente era absolutamente necesario una herramienta como esta.

Es estándar, enfocada a modelado, a definición, por lo que es independiente al lenguaje a utilizar y está diseñado para ser entendido tanto por analistas y desarrolladores como por clientes y usuarios.
Cuenta con una serie de diagramas prácticos y útiles, divididos en categorías (Estructura, Comportamiento e Interacción), que son capaces de documentar todo el proceso de modelado de cualquier tipo de sistema informático.


¿Para quién es UML?

UML es para todos, no estorba y como ayuda. Si eres analista es mandatorio. Si eres desarrollador es más que recomendable, si eres curioso, es muy interesante. Próximamente incluiremos temas sobre los diagramas con los que el UML cuenta y como utilizarlos. Hasta la próxima.


Links relacionados: 

sábado, 21 de marzo de 2009

Aprendiendo a programar

Existen muchos métodos de aprendizajes, todos y cada uno muy buenos, no obstante, en mi experiencia siendo estudiante, ninguno funciona correctamente si es lo suficientemente sencillo para aquellas personas sin conocimientos previos de programación.

¿Cómo aprender a programar de una manera rápida y sencilla? Es una muy buena pregunta, sobre todo tratándose de algo que puede llegar a ser en extremo complejo.

Pues bien, durante el transcurso de estos artículos trataré de explicar de manera sencilla de leer, como es posible aprender de una manera fácil y natural.

¿Qué es programar?
Programar es hacer un guión (de allí el nombre, SCRIPT). Es simple y sencillamente redactar en algún lenguaje formal, una serie de instrucciones que una máquina ejecutará.
Ejemplo:

  1. Inicio.
  2. Abrir archivo “X”.
  3. Copiar contenido de archivo “X” a una variable “Y”.
  4. Cerrar archivo “X”.
  5. Crear archivo “Z”.
  6. Escribir en archivo “Z” el contenido de la variable “Y”.
  7. Cerrar archivo “Z”.
  8. Fin.

¿Fácil no?
Claro, que el usado no es un lenguaje formal de programación, vaya ni siquiera pseudocódigo, solamente es un guión en español plano, pero expone la idea.

¿Cómo comenzamos? Me parece que lo primero que hay que hacer es aprender a organizar las ideas, los pensamientos, para elaborar naturalmente guiones, ya sea escritos o en diagramas.

La lista.
El programa básicamente es una lista de instrucciones. La idea generar es ordenarlas correctamente. Imagínate que tienes que hacer un programa que tome una serie de páginas web y las descargue en tu disco duro.

Supongamos que ya conoces algún lenguaje. ¿Te arrancas directamente a programar? … ¿En serio? ¿A cómo te salga? … Pues claro que es posible, pero no es buena práctica. La mejor práctica es hacer primero tu guión. Muchos lo hacen mediante un diagramita de flujo, pero por ahora enfoquémonos en la lista.

Puedes comenzar por preguntarte:
¿Qué tengo que hacer?
¿Qué condiciones tengo que respetar?

Pues bien, ¿Qué tienes que hacer? Pues descargarte unas páginas web.
¿Qué condiciones tienes que respetar? Pues simplemente que se tomen de una lista específica y se guarden en tu disco duro.

Ok. ¿Ya tienes tu primera pregunta? ¿No? Vamos, si es muy fácil… Ok. La primera pregunta sería ¿Y de donde obtengo la susodicha lista? Pues claro, comenzamos pidiendo lo que necesitamos. ¿Qué necesitas? Pues la lista.

La operación de toda máquina, informática o no, se basa en un principio muy sencillo: Entrada – Proceso – Salida. Necesitas conocer tus entradas antes de empezar a procesar.

Pues bien, supongamos que la lista está en el archivo “MisFavoritos.txt”. Ok, Ya sabes que tienes que hacer. Ya tienes tus entradas. Sigue el proceso. ¿Cómo le voy a hacer para hacer lo que tengo que hacer? Ok. Vamos por partes, aquí se empieza a generar la lista. Una buena pauta es pensar en qué harías si tuvieras que hacer las cosas manual mente.

Si manualmente tuvieras que descargar una lista de páginas web a tu computadora, ¿Cómo le harías?
Pues primero abrirías la lista ¿No? Obvio. Luego, pues abrirías el explorador, y elemento por elemento, escribirías (o copiarías) las direcciones de las páginas web en la barra de dirección del explorador.

Luego, pues una vez que se desplegué la página, pues ahora sí, podrías guardarla. Ahora, en este punto una nueva pregunta te debe estar asaltando… Claro, ¿En dónde voy a guardar las mentadas páginas? Una nueva entrada para tu proceso, otro pedazo de información que necesitas. Supongamos que las tienes que guardar dentro de la carpeta “Mis páginas”.

Ok. Ya tienes la respuesta, ya las puedes guardar. Pero, ¿Qué hay de la salida? Pues la salida son las páginas web ya guardadas. Muy bien, ya tenemos entradas, proceso, salida y una idea de cómo lo harías manualmente. Podemos proceder a elaborar el guión:


  1. Inicio.
  2. Abrir archivo “Mis Favoritos.txt”
  3. Para cada línea (elemento) en la lista:
  4. Abrir dirección de la página.
  5. Guardar la página en la carpeta “Mis Paginas”.
  6. Siguiente.
  7. Cerrar archivo “Mis Favoritos.txt”
  8. Fin.

Fácil ¿No? Claro que podrías decirme ¿Tanto rollo para un guión tan chiquito? Y pues ese es efectivamente el propósito de la programación, la reducción de esfuerzo y tiempo que llevan las tareas, hacer fácil y sencillo lo laborioso.

Además todo el “rollote” cumple con el objetivo de ilustrar. Hablando de rollotes, este ya fue mucho como introducción. Nos leemos en el próximo artículo.