martes, 24 de septiembre de 2013

DEBER 1


5TO SISTEMAS
CATEDRATICO: Ing. Juan Espinoza
METODOLOGÍA RUP
El Proceso Unificado Racional, Rational Unified Process en inglés, y sus siglas RUP, es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado UML, constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos. El RUP no es un sistema con pasos firmemente establecidos, sino que trata de un conjunto de metodologías adaptables al contexto y necesidades de cada organización, donde el software es organizado como una colección de unidades atómicas llamados objetos, constituidos por datos y funciones, que interactúan entre sí.
RUP es un proceso para el desarrollo de un proyecto de un software que define claramente quien, cómo, cuándo y qué debe hacerse en el proyecto
RUP Como proceso de desarrollo
• RUP es explícito en la definición de software y su trazabilidad, es decir, contempla en relación causal de los programas creados desde los requerimientos hasta la implementación y pruebas.
• RUP identifica claramente a los profesionales (actores) involucrados en el desarrollo del software y sus responsabilidades en cada una de las actividades.
Fases de desarrollo del software
· Inicio
· Elaboración
· Construcción
· Transición
FASE DE INICIO
Se hace un plan de fases, donde se identifican los principales casos de uso y se identifican los riesgos. Se concreta la idea, la visión del producto, como se enmarca en el negocio, el alcance del proyecto. El objetivo en esta etapa es determinar la visión del proyecto.
·         Modelado del negocio
En esta fase el equipo se familiarizará más al funcionamiento de la empresa, sobre conocer sus procesos.
· Entender la estructura y la dinámica de la organización para la cual el sistema va ser desarrollado.
· Entender el problema actual en la organización objetivo e identificar potenciales mejoras.
· Asegurar que clientes, usuarios finales y desarrolladores tengan un entendimiento común de la organización objetivo.
·         Requisitos
En esta línea los requisitos son el contrato que se debe cumplir, de modo que los usuarios finales tienen que comprender y aceptar los requisitos que especifiquemos.
· Establecer y mantener un acuerdo entre clientes y otros stakeholders sobre lo que el sistema podría hacer.
· Proveer a los desarrolladores un mejor entendimiento de los requisitos del sistema.
· Definir el ámbito del sistema.
· Proveer una base para estimar costos y tiempo de desarrollo del sistema.
· Definir una interfaz de usuarios para el sistema, enfocada a las necesidades y metas del usuario.
FASE DE ELABORACION
Se realiza el plan de proyecto, donde se completan los casos de uso y se mitigan los riesgos. Planificar las actividades necesarias y los recursos requeridos, especificando las características y el diseño de la arquitectura. En esta etapa el objetivo es determinar la arquitectura Óptima.
·         Análisis y Diseño
En esta actividad se especifican los requerimientos y se describen sobre cómo se van a implementar en el sistema.
· Transformar los requisitos al diseño del sistema.
· Desarrollar una arquitectura para el sistema.
· Adaptar el diseño para que sea consistente con el entorno de implementación.
FASE DE CONSTRUCCION
Se basa en la elaboración de un producto totalmente operativo y en la elaboración del manual de usuario. Construir el producto, la arquitectura y los planes, hasta que el producto está listo para ser enviado a la comunidad de usuarios. En esta etapa el objetivo es llevar a obtener la capacidad operacional inicial.
·         Implementación
Se implementan las clases y objetos en ficheros fuente, binarios, ejecutables y demás. El resultado final es un sistema ejecutable.
· Planificar qué subsistemas deben ser implementados y en qué orden deben ser integrados, formando el Plan de Integración.
· Cada implementador decide en qué orden implementa los elementos del subsistema.
· Si encuentra errores de diseño, los notifica.
· Se integra el sistema siguiendo el plan.
·         Pruebas
Este flujo de trabajo es el encargado de evaluar la calidad del producto que estamos desarrollando, pero no para aceptar o rechazar el producto al final del proceso de desarrollo, sino que debe ir integrado en todo el ciclo de vida.
· Encontrar y documentar defectos en la calidad del software.
· Generalmente asesora sobre la calidad del software percibida.
· Provee la validación de los supuestos realizados en el diseño y especificación de requisitos por medio de demostraciones concretas.
· Verificar las funciones del producto de software según lo diseñado.
· Verificar que los requisitos tengan su apropiada implementación.
ETAPA DE TRANSICION
El objetivo es llegar a obtener el release del proyecto. Se realiza la instalación del producto en el cliente y se procede al entrenamiento de los usuarios. Realizar la transición del producto a los usuarios, lo cual incluye: manufactura, envío, entrenamiento, soporte y mantenimiento del producto, hasta que el cliente quede satisfecho, por tanto en esta fase suelen ocurrir cambios.
·         Despliegue
Esta actividad tiene como objetivo producir con éxito distribuciones del producto y distribuirlo a los usuarios. Las actividades implicadas incluyen:
· Probar el producto en su entorno de ejecución final.
· Empaquetar el software para su distribución.
· Distribuir el software.
· Instalar el software.
· Proveer asistencia y ayuda a los usuarios.
· Formar a los usuarios y al cuerpo de ventas.
· Migrar el software existente o convertir bases de datos.
Cada una de estas etapas es desarrollada mediante el ciclo de iteraciones, la cual consiste en reproducir el ciclo de vida en cascada a menor escala. Los objetivos de una iteración se establecen en función de la evaluación de las iteraciones precedentes.
A medida que se avanza en el proyecto, es decir, cuando se va pasando de una fase a otra, la importancia relativa de cada uno de los Flujos de Trabajo va cambiando. Así, en las iteraciones de la Fase de Inicio el trabajo se centra principalmente en el Modelamiento del Negocio y en la captura y especificación de requisitos. Pero en la fase de Construcción el desarrollo está enfocado en la Implementación (codificación) y, en menor medida, en el Diseño
BIBLIOGRAFIA

METODOLOGIA AGIL MSF (Microsoft Solution FrameWork)
La metodología MSF es del tipo de metodologías agiles, está enfocada a dirigir proyectos o soluciones de innovación, en ella no se detalla ni se hace énfasis de la organización ni el tamaño del equipo de desarrollo, está más bien centrada en la gestión y administración del proyecto para lograr el impacto deseado.
Involucra indudablemente la calidad ya que prevé liberar una solución si esta aún tiene fallos o desperfectos para ello propone seleccionar un grupo de prueba piloto el cual es una VERSION BETA y cumplido un tiempo de prueba ya es liberada la version formal o VERSION ALFA en la cual está garantizada la calidad.

Consta de 5 fases:
FASE DE VISION
 En esta fase se debe realizar un estudio de lo que pretendemos en el futuro que haga nuestra aplicación o nuestro proyecto para ello debemos realizar un documento de estrategia y alcance donde debe quedar pactada la necesidad de funcionalidad y servicio que se debe contar en la solución. Debemos crear los equipos de trabajo junto con el plan de trabajo, Para asegurar el éxito del proyecto es importante tener en cuenta el análisis de riesgos y plan de contingencia.
FASE DE PLANIFICACION
 En esta fase básicamente debemos concretar claramente como va a estar estructurada nuestra solución para ello debemos crear un documento de planificación y diseño de la arquitectura, diseñar las pruebas de concepto donde se plantean los diferentes escenarios para probar la validez de los criterios utilizados para el diseño, debemos establecer métricas.
FASE DE DESARROLLO
En la etapa de desarrollo debemos codificar las aplicaciones y realizar las configuraciones necesarias para que la solución funcione, es importante hacer pruebas continuamente asi se verifica la calidad del producto continuamente a lo largo del desarrollo y no únicamente al final del proceso.
FASE DE ESTABILIZACION
Esta fase debemos seleccionar el entorno de prueba piloto y lo que pretendemos con esto es identificar las deficiencias con un grupo reducido de usuarios para corregirlas y así en el futuro no tener problemas cuando se use la solución por todos, ocasionalmente a esta etapa se le llama BETA, debemos crear un plan de gestión de incidencias, realizar una revisión de documentación final de la arquitectura y Elaboración de plan de despliegue o implementación.

ETAPA DE DESPLIEGUE O IMPLEMENTACION
En esta etapa final ya se ha comprobado la calidad de la solución por lo cual está lista para ser publicada, en este sentido debemos liberar la solución y crear un registro de mejoras y sugerencias, revisar las guías y manuales y entrega de proyecto final.
Este ciclo se puede llevar a cabo de forma iterativa, de manera que cuando liberamos una solución podemos iniciar nuevamente la metodología para darle más funcionalidad.
BIBLIOGRAFIA

METODOLOGIA MVC
El Modelo Vista Controlador (MVC) es un patrón de arquitectura de software que separa los datos y la lógica de negocio de una aplicación de la interfaz de usuario y el módulo encargado de gestionar los eventos y las comunicaciones. Para ello MVC propone la construcción de tres componentes distintos que son el modelo, la vista y el controlador, es decir, por un lado define componentes para la representación de la información, y por otro lado para la interacción del usuario. Este patrón de diseño se basa en las ideas de reutilización de código y la separación de conceptos, características que buscan facilitar la tarea de desarrollo de aplicaciones y su posterior mantenimiento.
MVC es una arquitectura que divide la implementación de una aplicación Web en 3 componentes basados en los conceptos: modelos, vistas y controladores.
MODELOS
En una aplicación basada en MVC son los componentes responsables de mantener el estado en una aplicación. Son tambien llamados “entidades de aplicación” (por ejemplo: podríamos manejarnos con entidades no tipiadas en una aplicación, entidades tales como un DataTable, pero realmente estaríamos perdiendo cierta coherencia al pasar datos desde nuestra capa de negocio hasta nuestra capa de presentación) 

VISTAS
En una aplicación basada en MVC son los componentes responsables de mostrar el interfaz de usuario de la aplicación.

CONTROLADORES
En una aplicación basada en MVC son los componentes responsables del manejo de la interacción del usuario. Para una request determinada, manipulan los modelos, y finalmente eligen una vista para renderizar los datos del modelo.
Uno de los beneficios del uso de la metodología MVC, es que ayuda a asegurar la separación de conceptos (SoC: Separation of Concepts) entre modelos, vistas y controladores en una aplicación.
Mantener esta separación de conceptos, hace que el testeo de aplicaciones sea mucho mas sencillo, ya que se pueden testear más fácilmente las aplicaciones Web creando tests unitarios sobre los controladores.
BIBLIOGRAFIA