Rational Unified Process (RUP)
•Es un proceso de ingeniería de software, que hace una propuesta orientada por disciplinas para lograr las tareas y responsabilidades de una organización que desarrolla software.
•Su meta principal es asegurar la producción de software de alta calidad que cumpla con las necesidades de los usuarios, con una planeación y presupuesto predecible.
Quienes Utilizan RUP
•Diseñado para:
– Profesionales en el desarrollo de software
– Interesados en productos de software
– Profesionales en la ingeniería y administración de procesos de software
•Estos participantes se involucran con RUP cumpliendo roles.
Por que usar RUP?
•Porque:
–Provee un entorno de proceso de desarrollo configurable, basado en estándares
–Permite tener claro y accesible el proceso de desarrollo que se sigue
–Permite ser configurado a las necesidades de la organización y del proyecto
–Provee a cada participante con la parte del proceso que le compete directamente, filtrando el resto.
Caracteristicas del RUP
•Dirigido por Casos de Uso
– Los casos de uso son los artefactos primarios para establecer el comportamiento
deseado del sistema
•Centrado en la Arquitectura
– La arquitectura es utilizada para conceptualizar, construir, administrar y evolucionar el
sistema en desarrollo
•Iterativo e Incremental
– Maneja una serie de entregas ejecutables
– Integra continuamente la arquitectura para producir nuevas versiones mejoradas
• Conceptualmente amplio y diverso
• Enfoque orientado a objeto
• En evolución continua
• Adaptable
• Repetible
• Permite mediciones
– Estimación de costos y tiempo, nivel de avance, etc.
Ciclo de Vida de RUP
•En cuanto a tiempo el ciclo de vida de RUP se descompone en 4 FASES secuenciales, cada cual concluye con un producto intermedio.
•Al terminar cada fase se realiza una evaluación para determinar si se ha cumplido o no con los objetivos de la misma.
•Las fases son: Inicio (Inception), Elaboración, Construcción y Transición.
Fases del ciclo de vida
Inicio:
•El objetivo general de esta fase es establecer un acuerdo entre todos los interesados acerca de los objetivos del proyecto.
•Es significativamente importante para el desarrollo de nuevo software, ya que se asegura de identificar los riesgos relacionados con el negocio y requerimientos.
•Para proyectos de mejora de software existente, esta fase es más breve y se centra en asegurar la viabilidad de desarrollar el proyecto.
Elaboracion:
•El objetivo en esta fase es establecer la arquitectura base del sistema para proveer bases estables para el esfuerzo de diseño e implementación en la siguiente fase.
•La arquitectura debe abarcar todas las consideraciones de mayor importancia de los requerimientos y una evaluación del riesgo.
Construccion:
•El objetivo de la fase de construcción es clarificar los requerimientos faltantes y completar el desarrollo del sistema basados en la arquitectura base.
•Vista de cierta forma esta fase es un proceso de manufactura, en el cual el énfasis se torna hacia la administración de recursos y control de la operaciones para optimizar costos, tiempo y calidad.
Transicion:
•Esta fase se enfoca en asegurar que el software esté disponible para sus usuarios.
•Se puede subdividir en varias iteraciones, además incluye pruebas del producto para poder hacer el entregable del mismo, así como realizar ajuste menores de acuerdo a ajuste menores propuestos por el usuario.
•En este punto, la retroalimentación de los usuarios se centra en depurar el producto, configuraciones, instalación y aspectos sobre utilización.
Responsabilidad y Etica en la Profesion
¿Cuáles son los retos fundamentales que afronta la ingeniería del software?
lEl reto de la heterogeneidad.
Desarrollar técnicas para construir software confiable que sea lo suficientemente flexible para adecuarse a esta heterogeneidad.
lEl reto de la entrega.
Reducir los tiempos de entrega para sistemas grandes y complejos sin comprometer la calidad del sistema.
lEl reto de la confianza.
Desarrollar técnicas que demuestren que los usuarios pueden confiar en el software.
Los retos no son independientes. Es necesario desarrollar nuevas herramientas y técnicas, así como formas innovadoras de combinación y uso de métodos de ingeniería del software existentes.
Los retos no son independientes. Es necesario desarrollar nuevas herramientas y técnicas, así como formas innovadoras de combinación y uso de métodos de ingeniería del software existentes.
Responsabilidad profesional y ética
l La ingeniería del software se lleva a cabo dentro de un marco legal y social que limita la libertad de los ingenieros.
lLos ISW deben aceptar que su trabajo comprende responsabilidades más amplias que simplemente la aplicación de habilidades técnicas.
lDeben comportarse de una forma ética y moral responsable.
ACM y el IEEE
l El código contiene ocho principios relacionados con el comportamiento y con las decisiones hechas por ingenieros de software profesionales, incluyendo practicantes, educadores, administradores, supervisores y creadores de políticas, así coma aprendices y estudiantes de la profesión.
l Los principios identifican las relaciones éticas en las que los individuos, grupos y organizaciones participan, y las obligaciones primarias dentro de estas relaciones.
l Las cláusulas de cada principio son ilustraciones de algunas de las obligaciones incluidas en estas relaciones. Estas obligaciones se fundamentan en la humanidad del ingeniero de software, con especial cuidado en la gente afectada por el trabajo de los ingenieros de software, y los elementos únicos de la práctica.
Principios del código
lPÚBLICO.
Los Ingenieros de Software deberán actuar consistentemente con el interés público.
lCLIENTE Y EMPLEADOR.
Los Ingenieros de Software deberán actuar de una forma determinada que esté en los mejores intereses de su cliente y empleador consistente con el interés público.
lPRODUCTO.
Los Ingenieros de Software deberán asegurar que sus productos y modificaciones relacionadas logren el más alto estándar profesional posible.
lJUICIO.
Los Ingenieros de Software deberán mantener integridad e independencia al emitir su juicio profesional.
lGERENCIA.
Los gerentes y líderes de Ingeniería de Software deberán suscribirse y promocionar un enfoque ético para la gerencia de desarrollo y mantenimiento de software.
lPROFESIÓN.
Los Ingenieros de Software deberán fomentar la integridad y reputación de la profesión consistente con el interés público.
lCOLEGAS.
Los Ingenieros de Software deberán ser justos y comprensivos con sus colegas.
lINTERÉS PROPIO.
Los Ingenieros de Software deberán participar en el aprendizaje de por vida del ejercicio de su profesión y deberán promover un enfoque ético para el ejercicio de la misma.
Algunos Problemas éticos son:
l Situaciones en las que diferentes personas tienen distintos puntos de vista y objetivos.
l Si usted está en desacuerdo, en principio, con las políticas de un directivo de categoría superior en la compañía, ¿cómo debería reaccionar?
l Esto depende de cada individuo y de la naturaleza de la discordancia. ¿Es mejor argumentar a favor de su posición dentro de la organización o renunciar de acuerdo con sus principios?
l Si piensa que existen problemas con un proyecto de software, ¿cuándo se deben comunicar éstos al gerente?
l
Los principios de ética se pueden considerar desde un punto de vista filosófico, y la ética de la ingeniería del software se debe tratar con referencia a estos principios básicos.
No hay comentarios:
Publicar un comentario