Que es la Norma ISO/IEC 12207 12 Febrero 2009 at 20:06

Muchos alumnos, estudiantes, colegas, amigos se cuestionan acerca de la norma ISO/IEC 12207 (norma que es para el PERU para el ciclo de vida del software)

La iso 12207 es un modelo de procesos establecido (predeterminado) para gestionar el ciclo de vida del software. Dentro de este modelo de procesos, el ciclo de vida del software es un proceso en el cual se tienen entradas que se transforman en salidas. La siguiente grafica ilustra lo escrito en lineas anteriores:

iso12207

La norma 12207, como modelo nos indica que tiene procesos y estos procesos (ingenieria de software) tienen tareas que señalan acciones que transforman las entradas (requerimientos) en salidas (producto de software).

Las tareas de la norma ISO/IEC se implementan con las metodologias de gestion de proyectos (PMI), metodologias de desarrollo de software(RUP,XP,MSF). Estas metodologias tienen etapas, fases, planes, entregables, artefactos, cronogramas, etc.

Espero que con esta breve y sencilla descripcion quede mas claro el concepto de la norma ISO/IEC 12207.

 

ROL: Integrador Segun Rup at 19:34

Continuando con los roles de la metodologia RUP, en este post voy a escribir acerca de las funciones y tareas que tiene un Integrador.

Este rol dirige la planificación y la ejecución de la integración del elemento de implementación (funcionalidad nueva o funcionalidad modificada, talvez un simple mantenimiento) para producir compilaciones(versiones estables). Realiza las siguientes actividades:

  • Integrar el sistema (el trabajo de dos implementadores o desarrolladores por separado).
  • Integrar el subsistema.
  • Planificar la integracion del sistema (elaborar un plan en donde se encuentren las actividades y tareas a realizarse).
  • Planificar la integracion del susbsitema.

A la vez es responsable del plan de compilacion (integracion) y generar una nueva compilacion (version).

Las habilidades y conocimientos apropiados para este rol incluyen:

  • conocimiento del sistema o de parte del sistema que se integra (conocimiento a nivel de componentes de software, datos, etc). Concretamente, el integrador necesita conocer las interdependencias entre elementos de implementación y las interdependencias entre subsistemas de implementación, y cómo se espera que el desarrollo y las dependencias cambien a lo largo del tiempo .
  • familiaridad con las herramientas de integración

Los integradores deben tener buenas dotes de coordinación, ya que suelen trabajar con varios desarrolladores para garantizar una integración satisfactoria.

y Tu, que controlador de versiones usas?? 27 Enero 2009 at 17:13

Un controlador de versiones es un sistema que nos permite aplicar calidad a la gestión del código, es decir gestionar cambios en nuestro código fuente; una de sus características es la comparación de versiones ya que podemos conocer cual fue la primera versión, cuando fue modificado, etc. La característica mas importante que identificó es que permite el trabajo en equipo. Una de sus ventajas es que tienes el código en todo momento, puedes compartirlo. El esquema de trabajo con versiones es tener el código fuente centralizado en un servidor y que cada integrante del equipo bajé una copia a su equipo. (more…)

¿Cual es el costo del Software? 16 Enero 2009 at 10:19

El día de hoy cumplo 3 años desarrollando Software en JAVA (Especificación J2EE) y ya Tengo el Rol de Líder  de Desarrollo. La experiencia que he adquirido es a nivel de Perú y a nivel internacional; en este post quisiera comentarles acerca de los costos del software  Basado en el Libro de Ingeniería del Software de Alfredo Weitzenfeld. (more…)

Planes de Gestión para un proyecto de Desarrollo de Software 5 Enero 2009 at 1:17

Empezando el primer post del año 2009, en esta oportunidad quisiera comentarles y que tengan conocimiento de los planes que se necesitan elaborar para gestionar un producto o servicio de software; basándose en normas como el iso 12207 (iso que rige para el PERU y fue recomendado por la ONGEI), Microsoft Solution Framework, CMMI, PMI, RUP, etc.

Planes (no están en orden necesariamente):

  • Plan de Gestión del Desarrollo.
  • Plan de Gestión de Migración.
  • Plan de Gestión de calidad (aseguramiento y control de la calidad)
  • Plan de Gestión de entrenamiento al usuario.
  • Plan de Gestión de puesta a producción.
  • Plan de Gestión post producción.
  • Plan de Gestión de riesgos.
  • Plan de Gestión de cambios.

Muchas veces, no es necesario elaborar todos estos planes. La elaboración de los planes depende del objetivo del proyecto. Espero que en otros posts, pueda entrar en mas detalle de cada uno de ellos.

Rendimiento y Escabilidad en Aplicaciones JAVA 19 Diciembre 2008 at 18:28

Dejando de Lado un poco las implementaciones de codigo y tratando algunos temas tambien interesantes, en este post quiero comentarles de dos conceptos en Aplicaciones JAVA Importantes: El RENDIMIENTO y la ESCALABILIDAD.

Se le llama RENDIMIENTO a la velocidad en la que una unica peticion o solicitud puede ser ejecutada, mientras que la ESCALABILIDAD describe la capacidad de una solicitud o peticion para ser ejecutadas rapidamente en virtud de un aumento de la carga.

Yo considero necesarias las evaluaciones de RENDIMIENTO Y ESCABILIDAD, esto con el fin de saber si nuestra aplicacion soportara y respondera a los usuarios como se espera. Ahora que escribo acerca del RENDIMIENTO, recuerdo a un compañero de trabajo el cual siempre me decia: “Ese objeto en memoria pesa como 1MB”; pues recuerdo que yo le respondi: “si ingresan 1000 mil usuarios, cuanta memoria estarian ocupando, y de que manera estara preparado el servidor, el codigo escrito en la aplicacion…”. RAV (asi lo llamare en este post :P a mi compañero de trabajo), fue entonces que se intereso en el tema del RENDIMIENTO y fue ahi que nos dimos cuenta de todo lo que se necesita para mejorar el rendimiento de Una aplicacion JAVA. En otros post seguire contando la historia y como fue que mejoro favorablemente el RENDIMIENTO y la ESCABILIDAD DE LA APLICACION.

Ejecucion del modelo de Capas de una Aplicación JAVA J2EE 16 Diciembre 2008 at 18:02

Una de las primeras complejidades en una aplicación JAVA J2EE, es el RENDIMIENTO, este esta inherente en la arquitectura de la plataforma J2EE. Esta arquitectura requiere de un MODELO de capas de ejecución. Es decir se requiere una capa de Hardware, una capa de Sistema Operativo, una capa de JAVA RUNTIME ENVIROMENT (JRE), una capa de JAVA EE Application Server (servidor de aplicaciones java) y por ultimo la capa JAVA EE Application (código java de la aplicación). A continuación les dejo un gráfico para reflejar lo antes mencionado.

modeloEjecucionJava
Debido a la existencia de este modelo de 5 capas, un problema de rendimiento puede originarse en la configuración del servidor, en el código de la aplicación, en la java virtual machine, en la configuración del sistema operativo o en la configuración del hardware. A la vez este modelo de capas no es el único que se ejecuta, pueden ejecutarse en mas instancias de servidores (múltiples servidores, múltiples nodos), interacción con otros tipos de servidores como el de base de datos, sistemas heredados de misión critica para el funcionamiento correcto de la empresa.

Seminario Tecnológico semteccperu.org 5 Diciembre 2008 at 22:05

Este es un evento que se llevara a cabo en la sede de la Universidad Nacional del Callao en la ciudad de Cañete (al sur de la ciudad de Lima). En este seminario se tocaran temas como el Software Libre, Desarrollo de Software con Tecnología JAVA, Joomla, Dokeos. Solvingsoft.com es auspiciador del evento, así como también participare en el seminario con el desarrollo del tema; “JAVA: pasado, presente y futuro” .Para mas detalles del evento visiten el siguiente link: semteccperu

Virtual Box de SUN MICROSYSTEMS 4 Diciembre 2008 at 22:24

Navegando por la amplia Internet me tope con que SUN MICROSYSTEMS ha desarrollado un producto para crear maquinas virtuales (VirtualBox); el cual permite tener multiples sistemas operativos sobre uno ya instalado. VirtualBox tiene como principales competidores a VMWARE y MICROSOFT PC VIRTUAL. Entre las pricipales caracteristicas de VirtualBox tenemos las siguientes:

  • Virtualizacion libre para computadoras de escritorio, laptops y notebooks.
  • Correr multiples sistemas operativos al mismo tiempo y en el mismo computador.
  • Soporta Solarios OS, Open Solaris, Windows, Macintosh y Linux.
  • Soporte para entornos virtuales de servidores.
  • Protege las inversiones de Hardware existentes.

Para ver algunas imagenes y videos, estos son los enlaces galeria VirtualBox y videos VirtualBox.

Si estas interesado y quieres probar el programa puedes descargarlo desde aqui.

Factores en el proceso de desarrollo de software 19 Noviembre 2008 at 14:46

Pensando en todos los factores que se desarrollan durante la ejecución de un proyecto de software basados en mi experiencia. He identificado los siguientes:

  • Cambios en los requerimientos, entiéndase por requerimientos a los funcionales, de documentación, de infraestructura, de seguridad , etc.
  • El impacto que se tiene con otros sistemas, otras arquitecturas (datos,información,etc),software base (sistemas operativos).
  • Aparecen restricciones de diferentes tipos como por ejemplo: económicas, tecnológicas, personales, legales, operativas, etc.
  • Expectativas del negocio, personales,etc.
  • Calidad para el cumplimiento de las especificaciones y requerimientos.
  • Riesgos tecnológicos, estratégicos, de negocio, etc.

Esta lista puede crecer más, por que la manera en que se definen las actividades y tareas de cada proceso de desarrollo de software; tienen diferentes actores, diferentes roles y nunca podrán ser iguales.