264 Tema 4
Proceso de software: CMM Lenguaje de modelado unificado (UML)
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.
En el nivel 2 se puede medir la situacin actual para poder entender mejor los proyectos en el futuro.
En el nivel 3 se empieza a tener algo de control; es posible tener plazos, costes y tomar decisiones.
En el nivel 4 se obtiene control real: es posible medir y gestionar todos los aspectos del proyecto.
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.
Tras completar las cuatro tareas: auditora indepente y obtencin de certificacin. A menudo, sin grandes cambios respecto a ISO 9000.
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.
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.
3.
Rutas de excepcin
2.
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.
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.
usos
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
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 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
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.
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.