O-O y RUP - prof.usb.ve. - Universidad Simón Bolívar

Anuncio
UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
SISTEMAS DE INFORMACIÓN II
TEORÍA
CONTENIDO:
PARADIGMA DE LA ORIENTACIÓN A OBJETO - DESARROLLO DE
SOFTWARE O-O - POTENCIALES BENEFICIOS DE LA
TECNOLOGÍA O-O - ALGUNOS MÉTODOS O-O - CICLO DE VIDA
DE DESARROLLO O-O - EL PROCESO DE ANÁLISIS Y DISEÑO O-O
- LA CALIDAD EN LOS SISTEMAS O-O - VENTAJAS DE LA
ORIENTACIÓN A OBJETOS - UNIFIED MODELING LANGUAGE
(UML) - RATIONAL UNIFIED PROCESS (RUP)
Material diseñado y elaborado por:
Prof. Luis Eduardo Mendoza M.
Material revisado por:
Prof. María A. Pérez de Ovalles
UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
PARADIGMA DE LA ORIENTACIÓN A OBJETO
• Es una “nueva” manera de ver y expresar el mundo, de pensar
acerca de los problemas para encontrar una representación
adecuada a nivel de software.
• El software es organizado como una colección de unidades
atómicas (los OBJETOS) constituidas por datos y funciones, que
interactúan entre sí.
DESARROLLO DE SOFTWARE O-O
• Los CONCEPTOS inherentes al dominio de la aplicación son
identificados, organizados y comprendidos antes de que los
detalles sobre las estructuras de datos y las funciones puedan ser
considerados efectivamente.
• Es un proceso conceptual INDEPENDIENTE del lenguaje de
programación hasta que se encuentra en sus etapas finales.
• Consiste en la construcción y paulatino refinamiento del MODELO
DEL DOMINIO DE LA APLICACIÓN para, finalmente, agregarle los
detalles de implementación.
SISTEMAS DE INFORMACIÓN II
TEORÍA
UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
POTENCIALES BENEFICIOS DE LA
TECNOLOGÍA O-O
• Promueve la reusabilidad.
• Reduce la complejidad del mantenimiento (extensibilidad y facilidad de
cambios).
• Riqueza semántica.
• Disminuye la brecha semántica entre la visión interna y la visión
externa del sistema.
• Facilita la construcción de prototipos.
ALGUNOS MÉTODOS O-O
•
•
•
•
Diseño Basado en Responsabilidades (Wirfs-Brock et al., 1990)
Análisis Orientado a Objeto (Peter Coad y Ed. Yourdon, 1991)
Diseño Orientado a Objeto (Peter Coad y Ed. Yourdon, 1991)
Diseño Orientado a Objeto (Grady Booch, 1991)
• Técnica de Modelación Orientada a Objeto: OMT (James Rumbaugh et al., 1991)
• Ingeniería de Software Orientada a Objeto: OOSE (Ivar Jacobson et al., 1992)
• Fusión (Derek Coleman et al., 1994)
• Lenguaje de Modelación Unificado: UML (Rational Corporation, 1996)
SISTEMAS DE INFORMACIÓN II
TEORÍA
UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
CICLO DE VIDA DE DESARROLLO O-O
El ciclo de vida de desarrollo O-O consiste en el desarrollo
progresivo de la representación de objetos a través de tres (3)
fases -análisis, diseño e implementación-, similares a las del
ciclo de vida de desarrollo simplificado. En contraste con del
ciclo de vida tradicional, gráficamente se asemeja más a una
“cebolla” (por capas) que a una cascada.
Implementación
Diseño de Sistema
Análisis
- aplicación
- qué
Diseño de Objeto
- arquitectura de
sistemas
- subsistemas
- estructura de datos
- algoritmos
- controles
- programación
- acceso a las
bases de datos
FASES DEL CICLO DE VIDA DE DESARROLLO O-O
SISTEMAS DE INFORMACIÓN II
TEORÍA
UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
EL PROCESO DE ANÁLISIS Y DISEÑO O-O
• En la fase de análisis, el modelo del mundo real de la
aplicación es desarrollado mostrando sus propiedades
importantes. Los conceptos abstractos de la aplicación
dominan y describen QUÉ debe hacer el sistema, más que
CÓMO lo va a hacer.
• El modelo de análisis especifica el comportamiento funcional
del sistema, independientemente de los aspectos relativos al
ambiente en el que va a ser finalmente implementado.
• Es necesario tomar el tiempo suficiente
claramente los requerimientos del problema.
para
entender
• El modelo de análisis captura completamente y con exactitud
los requerimientos del sistema.
• Siempre hay que tener presente que es más fácil y menos
costoso hacer cambios o arreglar defectos en el análisis que en
las fases siguientes.
SISTEMAS DE INFORMACIÓN II
1/4
TEORÍA
UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
EL PROCESO DE ANÁLISIS Y DISEÑO O-O
• En la fase de diseño O-O, se define cómo el modelo de análisis
orientado a la aplicación va a ser realizado en el ambiente de
implementación.
• Jacobson cita tres (3) razones para usar el diseño O-O:
(Jacobson et al., 1992)
– El modelo de análisis no es lo suficientemente formal para ser
implementado directamente en un lenguaje de programación.
– El sistema actual debe ser adaptado al ambiente en cual va a
ser implementado. En el modelo de diseño se consideran
aspectos como: requerimientos de desempeño, requerimientos
de tiempo real y concurrencia, el HW y el SW, el DBMS y el
lenguaje de programación a ser utilizado.
– Los resultados del análisis podrán ser validados usando el
diseño O-O. Se podrán verificar si los resultados provenientes
del análisis son apropiados para construir el sistema y hacer
cualquier cambio que sea necesario al modelo de análisis.
SISTEMAS DE INFORMACIÓN II
2/4
TEORÍA
UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
EL PROCESO DE ANÁLISIS Y DISEÑO O-O
• Para desarrollar el modelo de diseño, se debe identificar y definir
las consecuencias que el ambiente de implementación tendrá en el
diseño (Jacobson et al., 1992).
• Todas las decisiones estratégicas de diseño -tales como: cómo el
DBMS va a ser incorporado, cómo el proceso de comunicación y el
manejo de errores van a ser llevado a cabo, qué componentes de
librerías van a ser reusados-, son tomadas.
• Rumbaugh (Rumbaugh et al., 1991) separa las actividades de
diseño en dos: diseño de sistema y diseño de objetos. Como
diseñador del sistema, se propone una arquitectura global del
sistema que organiza a éste en componentes llamados
subsistemas y provee el contexto para tomar las decisiones acerca
de la identificación de concurrencia, asignación de subsistemas a
procesos y tareas, manejo del acceso a recursos globales, selección
de la implementación del control en el software y más.
3/4
SISTEMAS DE INFORMACIÓN II
TEORÍA
UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
EL PROCESO DE ANÁLISIS Y DISEÑO O-O
• Durante el diseño de objeto, se construye el modelo de diseño
adicionando los detalles de implementación -tales como la
reestructuración de clases para ser eficiente, estructuras internas
de datos y algoritmos a ser implementados para cada clase,
implementación del control, implementación de asociaciones y
empaque en módulos físicos-, al modelo de análisis de acuerdo con
la estrategia establecida durante el diseño de sistema.
• Las clases de objetos del dominio de la aplicación del modelo de
análisis permanecen en el modelo de diseño pero son replanteadas
con los constructos del dominio de la computación, con una visión
que optimiza las medidas importantes de desempeño.
• En la fase de implementación se usa un lenguaje de programación
y/o un DBMS, para implementar el modelo de diseño. Traducir el
diseño en código de programación es relativamente directo, dado
que el modelo de diseño ya incorpora los matices del lenguaje de
programación y/o el DBMS.
SISTEMAS DE INFORMACIÓN II
4/4
TEORÍA
UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
LA CALIDAD EN LOS SISTEMAS O-O
• Reusabilidad
• Extensibilidad-Mantenibilidad
• Compatibilidad-Interoperabilidad
• Verificabilidad
• Integridad
• Entendibilidad
• Facilidad de uso
• Portabilidad
• Correctitud
• Eficiencia
• Confiabilidad
• Robustez
SISTEMAS DE INFORMACIÓN II
TEORÍA
UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
VENTAJAS DE LA ORIENTACIÓN A OBJETOS
• Reutilización
• El diseñador piensa en términos del
comportamiento de objetos y no en
detalles de bajo nivel
• Confiabilidad
• Un diseño más rápido
• Integridad
• Mantenimiento más sencillo. Modificaciones locales.
• Ciclo vital dinámico.
• Modelado más realista.
•
•
•
•
Modelos empresariales inteligentes.
Independencia del diseño.
Computación Cliente-Servidor.
Computación paralela.
• Eficacia de la máquina.
• Mejores herramientas CASE.
• Bibliotecas de clases para las empresas.
SISTEMAS DE INFORMACIÓN II
• Estabilidad
• Se construyen clases cada vez más
complejas.
•
•
•
•
Nuevos mercados para el software.
Diseño de mayor calidad.
Programación mas sencilla.
Invención.
• Esmero durante la construcción
• Mejor comunicación entre los profesionales de los Sistemas de Información y
los empresarios.
• Especificaciones declarativas y diseño.
• Interacción.
• Computación de distribución masiva.
• Mayor nivel de automatización de las
bases de datos.
• Migración.
• Bibliotecas de clases para las industrias.
• La comprensión del sistema es más fácil
porque la semántica entre el sistema y la
realidad son similares.
TEORÍA
UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
UNIFIED MODELING LANGUAGE (UML)
• El Unified Modeling Language -UML- (Lenguaje de Modelación
Unificado), es “un lenguaje para especificar, visualizar y construir los
artefactos de sistemas de software, así como para la modelación del
negocio” (UML Document Set, 1997)
• Es la culminación de los esfuerzos de Grady Booch, Ivar Jacobson y
James Rumbaugh, quienes definieron un lenguaje de modelación O-O
que se espera sea el estándar de la industria en el futuro.
• El UML construye y unifica las semánticas y notaciones de los
métodos Booch (Booch, 1994), OOSE (Jacobson et al., 1992) y OMT
(Rumbaugh et al., 1991), así como de otros métodos pioneros.
• Un desarrollador puede usar los modelos de análisis y/o diseño
expresados en UML como medio para comunicarse con expertos del
negocio, usuarios y otros.
• UML permite representar múltiples vistas de un sistema usando una
variedad de diagramas como: diagramas de casos de uso, diagramas
de clase, diagramas de estado, diagramas de secuencia y diagramas
de colaboración
SISTEMAS DE INFORMACIÓN II
TEORÍA
UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
UNIFIED MODELING LANGUAGE (UML)
RELACIONES
•Dependencia
•Asociación
•Generalización
DIAGRAMAS
UML
ELEMENTOS
ESTRUCTURALES
•Casos de Uso
•Clases
•Componente
•Nodo
SISTEMAS DE INFORMACIÓN II
COMPORTAMIENTO
•Interacción
•Máquinas de estado
•Casos de Uso
•Clases
•Secuencia
•Colaboración
•Estados
•Actividad
•Despliegue
AGRUPACIÓN
•Paquete
•Subsistema
•Framework
TEORÍA
UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
RATIONAL UNIFIED PROCESS
• ES UN PROCESO DE INGENIERÍA DE SOFTWARE. Provee un
enfoque disciplinado para asignar tareas y responsabilidades
dentro de una organización desarrolladora.
• ES UN PRODUCTO. Desarrollado y mantenido por Rational
Software e integrado a un conjunto de herramientas de
desarrollo de software.
• MEJORES PRACTICAS EN EL DESARROLLO DE SISTEMAS.
– Desarrollar Software Iterativamente
– Modelar el software visualmente
– Gerenciar los Requerimientos
– Usar arquitecturas basadas en componentes
– Verificacion continua de la calidad
– Gerenciar los cambios
SISTEMAS DE INFORMACIÓN II
TEORÍA
UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
RATIONAL UNIFIED PROCESS
• DESARROLLAR SOFTWARE ITERATIVAMENTE.
–
–
–
–
–
Los malos entendidos se detectan al inicio
Facilita el feedback para elicitiar requerimientos
El equipo se concentra en lo esencial
Evaluaciones continuas dan un estado mas exacto del proyecto
Las inconsistencias entre analisis, diseño e implementacion se
detectan tempranamente
– Permite una mejor gerencia de riesgos
– Se aplican las lecciones aprendidas
– El cliente ve resultados a corto plazo
• MODELAR EL SOFTWARE VISUALMENTE.
–
–
–
–
Dsiminuyen la ambiguedad
Los detalles no necesarios se ocultan
Se identifican arquitecturas no modulares e inflexibles
Un grafico dice mas que 1000 palabras
SISTEMAS DE INFORMACIÓN II
TEORÍA
UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
RATIONAL UNIFIED PROCESS
• GERENCIAR LOS REQUERIMIENTOS.
– Las comunicaciones se basan en requerimientos definidos
– Los requerimientos se priorizan y filtran
– Se hace posible una evaluacion de la funcionalidad deseada
– Las inconsistencias se detectan tempranamente
– Se puede contar con un repositorio de requerimientos
• USAR ARQUITECTURAS BASADAS EN COMPONENTES.
– Conlleva a la modularidad
– Facilita el uso de frameworks estandards (CORBA, COM, EJB)
– Contribuye con el control de cambios
– Existen herramientas que soportan la construccion basada en
componentes
– Arquitecturas libres de errores
SISTEMAS DE INFORMACIÓN II
TEORÍA
UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
RATIONAL UNIFIED PROCESS
• VERIFICACION CONTINUA DE LA CALIDAD.
– Se hace una evaluacion objetiva del estatus del proyecto
– Se detecta inconsistencias entre analisis, diseño e
implementacion
– Las pruebas se concentran en los aspectos de mayor riesgo
– Los defectos se identifican claramente, se reducen los costos de
su depuracion
• GERENCIAR LOS CAMBIOS.
– Las solicitudes de cambios se logran con buena comunicacion
– Las tasas de cambios arrojan informacion sobre el desempeño
del proceso
– La propagacion del cambio es controlada
– Se mantiene una arquitectura robusta
SISTEMAS DE INFORMACIÓN II
TEORÍA
UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
RATIONAL UNIFIED PROCESS
En resumen, la meta de RUP es: (Kruchten, 1999)
• asegurar la producción de un software de alta calidad
que reúna las necesidades de los usuarios finales dentro
de un plan y un presupuesto predecible;
• proveer un enfoque disciplinado para asignar tareas y
responsabilidades dentro del desarrollo del sistema;
• proveer un camino metódico, sistemático
desarrollar, diseñar y validar una arquitectura;
para
• reducir en gran medida el riesgo que representa la
construcción de sistemas complejos, porque evoluciona
de forma incremental partiendo de sistemas más
pequeños en los que ya se tiene confianza.
SISTEMAS DE INFORMACIÓN II
TEORÍA
UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
RATIONAL UNIFIED PROCESS
• El proceso propuesto por RUP posee dos (2) dimensiones:
– la primera, representa el aspecto dinámico del proceso, y está
expresado en términos de ciclos, fases, iteraciones e hitos;
– la segunda, representa el aspecto estático, que se describe en
términos de componentes, actividades, flujos de trabajo, artefactos,
y actores.
PROCESO PROPUESTO POR RUP. (Kruchten, 1999)
SISTEMAS DE INFORMACIÓN II
TEORÍA
UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
RATIONAL UNIFIED PROCESS
FASE DE INICIO (INSPECCIÓN, CONCEPCIÓN)
La idea, la visión del producto, como se enmarca en el negocio, el alcance
del proyecto.
• Artefactos:
– Un documento con la visión del proyecto.
– El modelo de Casos de Uso con una lista de todos los Casos de
Uso y los actores que puedan ser identificados.
– Un glosario inicial del proyecto.
– Un Caso de Uso inicial de Negocio el cual incluye: contexto del
negocio, criterios de éxito y planificación financiera.
– Un estudio inicial de riesgos.
– Un plan del proyecto que muestre las fases y las iteraciones.
• Piedra de milla:
Objetivo del Ciclo de Vida.
SISTEMAS DE INFORMACIÓN II
TEORÍA
UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
RATIONAL UNIFIED PROCESS
FASE DE ELABORACIÓN
Planificar las actividades necesarias y los recursos requeridos,
especificando las características y el diseño de la arquitectura.
• Artefactos:
– Un modelo de Casos de Uso (completo en al menos un 80%), con todos los
actores identificados y la mayor parte de las descripciones de Casos de Uso.
– Requerimientos adicionales: los no funcionales o no asociados con ningún
caso de uso.
– Descripción de la arquitectura del software.
– Prototipo ejecutable de arquitectura.
– Una lista revisada de riesgos.
– Plan del proyecto, incluyendo iteraciones y criterios de evaluación para
cada iteración.
– Manual preliminar de usuario.
• Piedra de milla:
Arquitectura del Ciclo de Vida.
SISTEMAS DE INFORMACIÓN II
TEORÍA
UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
RATIONAL UNIFIED PROCESS
FASE DE CONSTRUCCIÓN
Construir el producto, la arquitectura y los planes, hasta que el
producto está listo para ser enviado a la comunidad de usuarios.
• Artefactos
– El producto de software integrado sobre la plataforma
adecuada.
– Los manuales de usuario.
– Una descripción de la versión actual.
• Piedra de milla:
Capacidad operativa inicial.
SISTEMAS DE INFORMACIÓN II
TEORÍA
UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
RATIONAL UNIFIED PROCESS
FASE DE TRANSICIÓN
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 esté satisfecho.
• Actividades esenciales
– Ajustes, incluyendo corrección de errores y mejoramiento
para desempeño y usabilidad.
– Empaque, envío, producción, venta y entrenamiento
personal.
• Piedra de milla:
Versión de Producto.
SISTEMAS DE INFORMACIÓN II
TEORÍA
UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
RATIONAL UNIFIED PROCESS
CONSTRUYENDO SOLUCIONES WEB CON RUP
INTEGRACIÓN DEL PROCESO DE DISEÑO CREATIVO Y
EL RATIONAL UNIFIED PROCESS (Ward y Kroll, 1999)
SISTEMAS DE INFORMACIÓN II
TEORÍA
Descargar