sábado, 16 de abril de 2011

Metodologia RUP

El Proceso Unificado Racional es un proceso de software genérico que puede ser utilizado para una gran cantidad de tipos de sistemas de software, para diferentes áreas de aplicación, diferentes tipos de organizaciones, diferentes niveles de competencia y diferentes tamaños de proyectos.

Provee un enfoque disciplinado en la asignación de tareas y responsabilidades dentro de una organización de desarrollo.

El Proceso Unificado tiene dos dimensiones:

Un eje horizontal que representa el tiempo y muestra los aspectos del ciclo de vida del proceso a lo largo de su desenvolvimiento.

La primera dimensión representa el aspecto dinámico del proceso conforme se va desarrollando, se expresa en términos de fases, iteraciones e hitos (milestones).


Un eje vertical que representa las disciplinas, las cuales agrupan actividades de una manera lógica de acuerdo a su naturaleza.

La segunda dimensión representa el aspecto estático del proceso: cómo es descrito en términos de componentes del proceso, disciplinas, actividades, flujos de trabajo, artefactos y roles.

domingo, 10 de abril de 2011

modelo de ciclo de vida Scrum

Scrum es una Metodología Ágil[14] para desarrollar el software en equipos. La filosofía en la que se basa es que el proceso de desarrollo software es muy complejo y imprevisible y que la única manera de manejarlo e intentar controlarlo es tratarlo como una caja negra y no como un proceso lineal definido en todas su etapas. Las motivaciones más importantes en las que se enfoca esta idea son las que todos los ingenieros del software conocen: es muy difícil entender bien los requisitos desde las primeras fases del proyecto, los requisitos pueden cambiar durante el desarrollo y la evolución del sistema es imprevisible cuando se necesite cambiar o añadir tecnologías y herramientas en marcha.

En los modelos clásicos de ciclo de vida del software (Modelo en cascada, Modelo incremental,
Modelo de prototipo, Modelo en espiral, ..) las etapas de desarrollo consisten básicamente en cuatro actividades principales:
  • Análisis;
  • Diseño;
  • Desarrollo;
  • Evaluación;
Estas actividades se llevan a cabo con un orden definido que suele vincular el proceso de desarrollo.
Sin embargo, si se opta por seguir la metodología SCRUM, el ciclo de vida no se trata como un flujo lineal en el que se puedan distinguir exactamente estas actividades; además no se precisa seguir un orden preciso en el proceso de desarrollo. El proyecto puede empezar con cualquier actividad y se puede pasar de una actividad a otra en cualquier momento maximizando la flexibilidad y la productividad del equipo. Hay que trabajar en equipos pequeños para reducir
problemas de comunicación y coordinamiento y, a la vez, maximizar la cooperación; se precisa finalmente que todas las actividades y las entregas, tienen que ser flexibles. Data su flexibilidad, esta metodología se puede utilizar incluso como wrapper para modelos de desarrollo ya existentes.


Visión global de SCRUM

El nombre SCRUM deriva de una analogía con el Rugby: en este deporte se llama SCRUM una manera de reiniciar rápidamente el juego cuando se haya interrumpido por alguna infracción accidental. Otras analogías con el Rugby son que el entorno (recursos, requisitos, tecnología,..) determina la evolución y la terminación del proceso de desarrollo; como el Rugby ha nacido violando las reglas del fútbol, así SCRUM se ha desarrollado anteponiendo las prioridades de unos proyectos concretos a las reglas de la Ingeniería del Software. Pero la analogía mas representativa es que el primer objetivo del equipo, bien en SCRUM como en el Rugby, es siempre lo de adelantar la pelota (el proyecto!).

Técnicas usadas en SCRUM

Para aplicar SCRUM y aprovechar su flexibilidad, hay que utilizar las siguientes técnicas:

Creación del Equipo, Definición de Los Backlog, Segmentación del Proyecto, SCRUM Meetings.

Creación del Equipo: un equipos de desarrollo tiene que estar compuesto al maximo por 8 personas; hay un facilitator del equipo (Scrum master) que orquesta los miembros del equipo a lo largo del proceso, actua como interfaz con las influencias externas y intenta resolver los problemas encontrados por los miembros del equipo. El equipo define las practicas, la terminología, la evolución del producto coralmente y el facilitator del equipo se preocupa que se éstos respecten.
Definición de Los Backlogs: los Backlogs definen los trabajos que hay que hacer. Hay 3 diferentes tipologias: los Backlogs del producto, que son los requisitos a cumplir en una dada version del producto; los Backlogs de la release que son los requisitos elejidos para cumplir en una dada release del producto y finalmente los Sprint Backlogs que son los requisitos a realizar en una unidad de trabajo de máximo 4 semanas; mas cada elemento atomico del Sprint Backlog necesita 8-16 horas de trabajo.

domingo, 3 de abril de 2011

MODELO DE CICLO DE VIDA


Modelo en V

Es una derivación del ciclo de vida clásico, presenta las mismas fases que el ciclo de vida en cascada puro, pero a diferencia de aquél, presenta 2 subfases de retroalimentación: la verificación y la validación (pruebas). El modelo en V hace más explícitas las iteraciones y repeticiones de trabajo que quedan ocultas en el modelo en cascada. Mientras el foco del modelo en cascada se sitúa en la documentación y productos desarrollados, el modelo en V se centra en las actividades y la corrección.

Ventajas añadidas con respecto al ciclo de vida en cascada

Además de las ventajas que hereda del modelo en cascada, se suman:

  1. La relación entre el análisis y la validación y entre el diseño y la verificación (retroalimentación) facilitan la localización de fallos.
  2. Logra una mayor corrección.
  3. Minimiza los riesgos del proyecto, a través de la mejora el control y la detección temprana de desviaciones en el proyecto.
  4. Mejora la garantía y la calidad: asegura que los resultados sean completos y presenten la calidad deseada.
  5. Involucra al usuario en las pruebas.
  6. Mejora la comunicación con el cliente.

Desventajas

Sigue presentando algunas desventajas, al igual que el modelo en cascada:

  1. Es difícil que el cliente exponga desde el principio y explícitamente todos los requerimientos.
  2. El cliente debe ser paciente y esperar al final del ciclo de vida para obtener su producto.

Y con respecto a las pruebas:

  1. Puede que las pruebas no sean todo lo suficientemente exhaustivas y constituyen un coste añadido.

Cuando aplicarlo

  • Proyectos que necesiten una confiabilidad muy alta.
  • Proyectos en los que el equipo de desarrollo tiene poca experiencia de trabajo en la aplicación de metodologías de desarrollo.

martes, 15 de febrero de 2011

PAPELES DEL ANALISTA DE SISTEMAS


El analista de sistemas audita, de forma sistemática, el funcionamiento de la empresa al examinar las funciones de captura y procesamiento de datos, así como la emisión de resultados, lo cual le permitirá mejorar los procesos a la organización. Al mejorar el soporte que proporcionan los sistemas de información computarizados, se obtienen importantes a veces en las funciones empresariales. Estas definiciones recalcan el uso de enfoques sistemáticos y metódicos para analizar y lograr mejorar las operaciones que ocurren en el contexto particular de la empresa.

Nuestra definición del analista de sistemas, tiene que ser necesariamente muy amplia. El analista requiere tener la habilidad de trata para cualquier tipo de persona, así como también, tener la debida experiencia en el manejo de computadoras. El analista protagoniza numerosos papeles, y en ocasiones, se ve obligado a mantener un equilibrio, al asumir simultáneamente mas de uno. Los tres papeles principales de un analista de sistemas debe cubrir son: el de consultor, el de especialista de apoyo o soporte y el de agente de cambio.

Sistemas de apoyo para toma de decisiones

El sistema de apoyo para la toma de decisiones es un tercer tipo de sistema de información computarizada (DSS; Decisión Support Systems). El sistema de apoyo para la toma de decisiones es similar a los sistemas de información tradicionales para la administración, en el sentido de que ambos dependen de una base de datos como fuente de información; pero se distingue del sistema de información para la administración, al hacer énfasis en el soporte en cada una de las etapas de la toma de decisiones. Sin embargo, la decisión en si, depende de la persona responsable de la misma. Los sistemas de apoyo para la toma de decisiones se diseñan con una orientación hacia la persona o el grupo que la utilizara, y no como los sistemas de información tradicionales para la administración.

Sistemas informáticos para la administración

Los sistemas de información para la administración (MIS) no sustituyen a los sistemas de procesamiento de datos, mas bien todos toman en cuenta a las funciones de procesamiento de datos. Los MIS son sistemas en la relación que surge entre las personas y los computadores. Los MIS requieren para su operación de: las personas, del software (programas de computo) y del hardware (computadores, impresoras, etc.). e Estos sistemas de información para la administración soportan un amplio espectro de tareas de las organizaciones, mas aun que los sistemas de procesamiento de datos, incluyendo el análisis, decisiones y toma de decisiones.
Los usuarios de los sistemas de información para la administración, utilizan una base de datos compartida para tener acceso a la información. Dicha base de datos, almacena, tanto datos como modelos que ayudan al usuario en la interpretación y el uso de la información. Los sistemas de i9nformacion para la administración generan la información que eventualmente se utiliza para la toma de decisiones. Un sistema de información para la administración puede llegar a unificar ciertas funciones informáticas de la empresa, aunque el sistema como tal no exista dentro del negocio como una estructura individual.

Sistemas de procesamiento de datos

Los sistemas de procesamiento de datos son aquellos sistemas de información computarizados que se desarrollaron para procesar grandes volúmenes de información generada en las funciones administrativas, tales como la nomina o el control de inventarios. Los sistemas de procesamientos de datos liberan del tedio y la rutina a las tareas que se realizan manualmente: sin embargo, el elemento humano sigue participando, al llevar a cabo la captura de la información requerida.
Tales sistemas ejecutan periódicamente los programas de manera automática. Una vez preparados, escasamente se requiera tomar decisiones. En términos generales, los sistemas de procesamiento de datos ejecutan las actividades de carácter rutinario de las empresas.

Conceptos de diseño y análisis de sistemas


Los sistemas de información se desarrollaron con diferentes propósitos, los cuales dependen de las necesidades de la empresa. Los sistemas de procesamiento de datos, los sistemas de información para la administración (MIS, Management Information Systems), y los sistemas de apoyo para la toma de decisiones (DSS, Decisión Support Systems), diferentes tipos de sistemas de información computarizados que se analizan y diseñan mediante la aplicación de los conceptos y las técnicas del diseño y del análisis de sistemas. En cierto grado, esto también se aplica a los sistemas expertos.

Administración de la información generada por computadora


La disponibilidad actual de los computadores ha generado todo un incremento y una diversificación de la información, tanto para la sociedad en general, como para los negocios en particular. La administración de la información que se genera por computadora, difiere en diversas formas de aquella que se obtiene manualmente. A menudo, se tiene una mayor cantidad de información si esta se genera utilizando sistemas computacionales; los costos para crear y mantener la información computarizada, son aparentemente mayores; la información que genera la computadora pude llegar a multiplicarse a velocidades impresionantes. Con frecuencia la información que se genera por computadora se trata con menos escepticismo que la obtenida por otros medios. En este capitulo se revisan los principios de diferentes tipos de sistemas de información, los diversos papeles del analista de sistemas y las etapas que constituyen el ciclo de desarrollo de los sistemas.