Anda di halaman 1dari 27

1.

264 Tema 4
Proceso de software: CMM Lenguaje de modelado unificado (UML)

Modelo de madurez de capacidad para software


Desarrollado en el Software Engineering Institute (SEI) Carnegie-Mellon University (www.sei.cmu.edu). Norma de facto para la evaluacin del proceso de software. Modelo de cinco niveles:
1: Inicial. 2: Repetible. 3: Definido. 4: Gestionado. 5: Optimizado.

La previsibilidad, la eficacia y el control del proceso de software mejoran a medida que la organizacin sube a estos niveles.

Motivacin CMM
20 aos de promesas no cumplidas sobre productividad y mejora de calidad a partir de nuevas tecnologas de software. Las empresas se dieron cuenta de que el problema principal es la incapacidad para gestionar el proceso de software. CMM ofrece pautas para evolucionar hacia una cultura de ingeniera de software y gestin racional.

CMM - Nivel 1: Inicial


Ad hoc, en ocasiones catico. Pocos procesos definidos. El xito depende del esfuerzo individual y de los actos heroicos.

CMM - Nivel 2: Repetible


Procesos bsicos de gestin de proyectos para el seguimiento de costes, programacin, etc. Disciplina para repetir hitos anteriores en proyectos con aplicaciones similares. Los procesos clave se centran en pautas bsicas de gestin de proyectos:
Gestin de requisitos. Planificacin del proyecto de software. Seguimiento y supervisin del proyecto de software. Gestin de subcontratacin de software. Control de calidad del software. Gestin de la configuracin del software.

En el nivel 2 se puede medir la situacin actual para poder entender mejor los proyectos en el futuro.

CMM - Nivel 3: Definido


El proceso de software para gestin y desarrollo se documenta, normaliza e integra en el proceso global de la empresa. Todos los proyectos utilizan la versin ajustada y aprobada del proceso estndar. Las reas clave del proceso se centran en la institucionalizacin del proceso efectivo:
Objetivo del proceso de la empresa. Definicin del proceso de la empresa. Programa de formacin. Gestin del software integrado. Ingeniera del producto de software. Coordinacin entre grupos. Revisiones de colegas.

En el nivel 3 se empieza a tener algo de control; es posible tener plazos, costes y tomar decisiones.

CMM - Nivel 4: Gestionado


Se recopilan mediciones detalladas del proceso de software y de la calidad del producto. Se controlan y analizan cuantitativamente los procesos y los productos. Los procesos clave se centran en el anlisis cuantitativo del proceso.
Gestin cuantitativa del proceso. Gestin de la calidad del software.

En el nivel 4 se obtiene control real: es posible medir y gestionar todos los aspectos del proyecto.

CMM - Nivel 5: Optimizacin


Mejora continua del proceso mediante comentarios cuantitativos. Tecnologa innovadora de puesta a prueba e ideas Las reas clave del proceso se centran en las mejoras continuas:
Prevencin de defectos. Gestin de cambio de tecnologa. Gestin de cambio de procesos.

En el nivel 5 no slo se obtiene control: tambin se consigue eficacia.

ISO 9000
Organizacin Internacional de Estndares (ISO)
Organismo de normas nacionales de ms de 100 pases.

ISO 9000
Familia de normas de calidad de entornos de trabajo, modelos, especificaciones para sistemas de gestin de calidad. Prcticas recomendadas aplicadas a la produccin.

ISO 9001
Normas de calidad para empresas de diseo, desarrollo y servicios. Las directrices para software son ISO 9000-3. Es preciso cumplir 20 requisitos. Procesos de documentacin y normalizacin para el desarrollo del producto final. ISO 9001 no normaliza productos.

ISO 9000 (continuacin)


Certificacin ISO 9000 obligatoria para negocios en Europa y para el desarrollo empresarial en el Pacfico y, en ltima instancia, en Amrica. Enfoque general:
Desarrollar un equipo de calidad. Informar sobre lo que se hace: documentar procesos a travs de diagramas de flujo. Informar sobre lo que se hace. Demostrarlo: auditoras anuales.

Tras completar las cuatro tareas: auditora indepente y obtencin de certificacin. A menudo, sin grandes cambios respecto a ISO 9000.

Lenguaje de modelado unificado


Lenguaje de modelado orientado a objetos, migrado desde el modelado de bases de datos relacionales.
Gestin estndar del Grupo de gestin de objetos (CORBA). Rational Rose, de Rational Corp, es una implementacin habitual del UML. Ahora hay muchos ms proveedores.

Combina enfoques competitivos anteriores.


Tcnica de modelado de objetos Raumbaugh (OMT). Mtodo Shlaer-Mellor. Mtodo Booch.

Poco uso; actualmente se est haciendo ms comn.

Lenguaje de modelado unificado (2)


Por qu el UML se utiliza cada vez ms?
Acelera el proceso de los requisitos. Reduce la prdida de informacin entre el proceso de requisitos y el de diseo, y entre el diseo y la implementacin. Comunicacin: lenguaje ms claro y natural, mayor nivel de precisin, pero ahorra detalles. Compatible con el desarrollo iterativo (p.ej., modelo de la espiral).
Acepta requisitos y diseo de alto nivel en las primeras espirales y diseo y requisitos ms detallados en fases posteriores.

UML slo es el lenguaje de modelado.


El Proceso Racional Unificado (RUP) es un proceso recomendado que se basa en el uso de UML.
Inicio (requisitos). Elaboracin (diseo). Construccin (desarrollo): programacin extrema (muy de moda). Transicin (pruebas, implementacin).

Lenguaje de modelado unificado (3)


Se utiliza en los requisitos:
Diagrama de implementacin, diagrama de componentes para la vista de alto nivel del sistema. Recurre a casos con escenarios muy estructurados que se utilizan para los requisitos del sistema.
Buen enfoque bsico, pero necesita documentacin.

Se utiliza en el diseo:
Los modelos de datos (no estrictamente UML) se realizan junto con modelos de clases (objetos) y tienen muchas cosas en comn.
A menudo realizados rea a rea y consolidados a continuacin.

Diagramas de actividad, usados para modelar flujos de trabajo y encontrar procesos duplicados que pueden suprimirse. Prototipos usados para partes arriesgadas, crticas y complicadas.

Diagramas de modelos estticos de UML


Utilizar diagrama de casos:
Grficos y descripciones estructuradas de los pasos del flujo.

Diagrama de clases:
Estructura interna del sistema, ampliacin del diagrama de entidades-relaciones. Tres elementos en cada entidad: nombre, atributos, mtodos.

Diagrama de implementacin:
Componentes fsicos: procesadores, estaciones de trabajo, redes.

Diagrama de paquetes o de componentes.


Modelo de alto nivel de arquitectura fsica de software. Consta de mdulos que se agrupan en paquetes. Los paquetes contienen la definicin del grupo de clases (entidades, mtodos).

Ejemplo de caso de uso


Nombre del caso Resumen Iteracin Sucesos Localizar pedidos y productos mediante nmero de pedido y cdigo postal. Permitir que el usuario localice el cliente y la informacin del pedido de los artculos devueltos al introducir el nmero de pedido (normalmente en la factura) y el cdigo postal. Completa
1. 2. El sistema muestra la pantalla de bsqueda. El usuario introduce los criterios de bsqueda. En este caso son: a. Nmero de pedido (normalmente en la f actura). b. Cdigo postal de facturacin. El sistema recupera el pedido y los detalles del cliente y los muestra. 1. Si no se han localizado resultados de bsqueda: a. El sistema mostrar un mensaje de error aclarando que no ha encontrado la inf orm acin. b. El sistem a v uelv e a mostrar la bsqueda en la pantal la del nmero del pedido y el cdigo postal. c. El usuario introduce los atributos de la bsqueda. d. El sistema recupera el pedido y los detal les del cliente y los muestra. Si la bsqueda del cliente falla tres veces seguidas: a. El sistema muestra un mensaje de error y se disculpa por no encontrar el pedido y sugiere que el usuario se ponga en contacto con el departam ento de atencin al cliente. b. El usuario puede optar por repetir la bsqueda o ir a otra seccin del sitio.

3.

Rutas de excepcin

2.

Deteccin Premisas Condiciones previas

El cliente se ha registrado, ha l lamado, se ha identi ficado y seleccionado la opcin "nuevo resultado". Los pedidos y los datos del producto son correctos y se corresponden con los del da anterior. Los datos del cliente se corresponden con los del da anterior. (En tiempo real para devoluciones). 1. El usuario ha seleccionado este comando en la pgina de atencin al cliente. 2. El usuario ha adquirido un producto de este vendedor. 3. El usuario tiene el nmero de pedido (por resguardos de correo, la factura y otros medios).
1.

Condiciones posteriores Reglas de negocio relacionadas Notas Historial

El sistema localiza y muestra el pedido y sus detalles (productos).

1. Posible problema: cambio de cdigo postal. Comprobar el nuevo y el antiguo durante la transicin. 2. Y si el cliente quiere devolver artculos de dos pedidos? Correcto: permitir seleccin mltiple. -Todd Clarke 15/03/01 - Iteracin superficial. Todd Clarke 16/03/01 - Iteracin completa.

Ejemplo de caso de uso (2)


Producto devuelto

usos

Buscar por atributos del cliente

CSR

Cliente
Actores (figuras): CSR, Cliente Casos de uso (valos): Bsqueda, devolucin Relacin (lnea, flecha)

Diagramas de clases
Utilizados en requisitos, diseo e implementacin:
Conceptuales, para representar entidades generales en el sistema. Especificacin, donde se especifica qu entidad (clase) es vlida (pero no de qu manera).
Enumera los mtodos y las acciones.

Implementacin:
Diagrama de clases detallado del software real (Java o C++).

Enumera los atributos, como el modelo de datos. Enumera mtodos, operaciones y funciones.
Actividades asociadas naturalmente a los datos de la entidad.

Tambin limitaciones, condiciones previas y posteriores del modelo que se describen en los casos de uso. No se modela todo: es demasiado complicado de leer.
Nos centramos en la s partes clave del sistema.

Diagrama de clases
Prod.qumico Nom.qumico -UNNbr -NomQumico +ObtNombr() -Extremo1 1..* -Extremo2 -NmUN -ClasHaz -Descripcin * +obtClasHaz() +obtDescr() Anlisisqumico

P r o d u c t o G a s

ProductoLquido

ProductoSlido

Diagrama de implementacin
EscnerEtiquetaElec *4 -EnvoInalmbrico Servidor enviar Estacin trabajo *20

-Recep.Inalmbr

-Extremo5

-Extremo6

Impresora

Diagrama de paquetes similar, pero ms detallado

Modelos dinmicos
Los modelos estticos se realizan para el sistema completo, pero los dinmicos slo para componentes clave. Diagrama de estado:
Especifica el comportamiento de un objeto (entidad).

Diagrama secuencial (o diagrama de escalera):


Muestra detalles del caso y mensajes que fluyen entre los objetos a lo largo del tiempo. Muy utilizado en las normativas.

Diagrama de colaboracin:
Muestra los mensajes de flujo como un grfico.

Diagrama de estado

Cuenta activa

Inactiv a

Finalizada

Cuenta caducada

Colecciones

Diagrama secuencial
Cliente Seguridad IntroducirNombreContrasea() Base de datos

LeerNombreContrasea() CrearSesin() Sesin web ConsultarPedidos ()

ComprobarNombreContrasea() ObtenerEncabezadoPedido() ObtenerArtculosPedido ()

NuevoPedido() Pedido GuardarPedido()

I nf o r m a r D i s p o n i b i l i d a d () ComprobacinFinal() GuardarFinal() Compromiso()

Resumen UML
Demostracin Visio (Software->modelo UML, todos los tipos). Uso de UML despus de:
Redactar escenarios y casos como documento inicial de requisitos.
Perfeccionarlos para que sean casos de uso.

Preparar el modelo de datos inicial.


Aadir operaciones/mtodos a las entidades, despus de analizar los datos, para crear un diagrama de clases.

Usar modelos de paquetes y componentes UML para una visin general del sistema en los requisitos. Usar modelos UML de estado, de colaboracin y secuenciales de forma selectiva en partes complicadas del sistema. UML se est convirtiendo en un lenguaje "universal": los nuevos programadores pueden leerlo y esto reduce la curva de aprendizaje de forma sustancial.

Anda mungkin juga menyukai