Académique Documents
Professionnel Documents
Culture Documents
Presentacin
Ingeniera del Software I
Gonzalo Gnova (ggenova [at] inf.uc3m.es) - COORDINADOR Roberto Galindos (rgalindo [at] inf.uc3m.es) Eduardo Barra (ebarra [at] inf.uc3m.es) Isidro Hernanz (ihernanz [at] inf.uc3m.es) Direccin para entregas: is.uc3m [at] gmail.com
Objetivos de la asignatura
Anlisis y definicin de los requisitos de una aplicacin informtica Aprender...
Redaccin de un documento completo de requisitos Desarrollo dirigido por modelos (MDA-MDD-MDE), evolucin de USDP Estndares de documentacin de proyectos Tcnicas del anlisis orientado a objetos para ingeniera de requisitos
Desarrollar capacidades
Abstraccin y resolucin de problemas Lectura crtica y reflexiva Trabajo en equipo Exposicin de resultados propios Revisin de trabajos ajenos Aprendizaje a partir de errores propios y ajenos
Proyecto Prctico de Ingeniera de Requisitos 3
Documentacin entregada
Atencin a nombres de archivos y fechas de entrega Dos documentos parciales (el segundo completa al primero):
ej. ProyectoIS1-M05.doc: equipo M05, etc. (poner IS1 PDS segn convenga) envo por correo a la direccin de entrega y miembros del equipo revisor ver ndice adaptado del estndar ESA PSS-05-0
Descripcin de la prctica
Realizar un proyecto de ingeniera inversa sobre un portal inmobiliario real.
Buscar en internet... Elegir un portal y ceirse a l.
Seleccionar un subconjunto coherente de la funcionalidad ofrecida por el portal, de forma que sea abarcable dentro de los lmites de carga de trabajo de la asignatura.
Es muy importante definir bien los lmites del sistema descrito. Se califica la calidad de la descripcin realizada en la prctica, no la cantidad de funcionalidad descrita, ni la importancia comercial o la calidad tcnica del portal.
penalizacin 1
1-(p-60)/60
0 0 60
Proyecto Prctico de Ingeniera de Requisitos
120
pginas
8
Calendario de la asignatura
Dedicacin a la asignatura, aproximadamente:
30 horas de clase terica 30 horas de otras actividades en clase 60 horas de trabajo personal y en equipo
Clases tericas
Asistencia no controlada. El examen de Test es un reflejo directo del aprovechamiento de las clases tericas, de ah la importancia que se le da en la nota final.
Clases de laboratorio
Aprendizaje de herramientas.
Exposiciones/Revisiones
Asistencia obligatoria a todas las exposiciones, aunque no toque exponer. Dos miembros exponen la prctica, dos responden a revisores y profesores. Tiempo mximo de exposicin: 20 minutos entre ambos.
Evaluacin de la asignatura
Individual Tutoras* Prctica Exp/Ejecucin Exp/Respuestas Teora Equipo 00% Exp/Preparacin 05% Documentacin 05% Revisiones 10% 25% 05% 10% 50% 50% 100% 50%
* Asistencia obligatoria (0,5 penalizacin por falta no justificada) Igualmente se penaliza la falta no justificada a las exposiciones ajenas.
Ms detalles
11
Bibliografa
Ingeniera de requisitos
Eric Braude. Software Engineering. An Object-Oriented Perspective. John Wiley & Sons, 2001. Captulos 3 y 4 Ian Sommerville. Ingeniera del Software. Pearson-Addison Wesley, 2005. Captulos 6 y 7 Roger Pressman. Ingeniera del software: un enfoque prctico, 6 ed. McGrawHill. Captulos 7 y 8
Unidad 1. Estndares de documentacin Unidad 2. Introduccin a la ingeniera de requisitos Unidad 3. Obtencin y descripcin de requisitos de usuario Unidad 4. Modelado de casos de uso Unidad 5. tica y responsabilidad profesional Unidad 6. Responsabilidad tica del ingeniero de software (artculo)
13
Documentos IEEE
Software Requirements Specification (IEEE 830-1993) Software Design Document (IEEE 1016-1987)
Clsica
Anlisis de requisitos
ESA
User Requirements Document Software Requirements Document Architectural Design Document Detailed Design Document
Diseo
El Estndar de la ESA
GENERAL PRODUCTS
European Space Agency software engineering standards Guide to the software engineering standards Guide to the user requirements definition phase Guide to the software requirements definition phase Guide to the software architectural design phase Guide to the software detailed design and production phase Guide to the software transfer phase
ESA Lite
Preguntas ms frecuentes
Proyecto Prctico de Ingeniera de Requisitos 16
Preguntas ms frecuentes
Proyecto Prctico de Ingeniera de Requisitos 17
Un caso prctico Necesito algo para organizar mejor mis actividades, una agenda para llevar al da mi horario, mis compromisos, etc.
x x x x x
x x x x x
x x x x x x x x x MES x x x x x x
x x x x x
x x x x x
Da
Compromiso Compromiso Compromiso
19
1994 Proyecto exitoso Proyecto completo pero deficiente Proyecto cancelado 16% 53% 31%
20
Porcentaje
2000
2003
22
Analista
Arquitecto
Cliente
Diseador
23
Revisar [conforme]
24
Grficas
Requieren un cierto grado de formacin tcnica en el cliente Tienen el peligro de convertir el anlisis de requisitos en diseo Diagramas de flujo de datos Diagramas de actividad Diagramas de estados
Prototipos
No confundir con diseo, valorar la inversin Interfaces de usuario Protipado rpido
Proyecto Prctico de Ingeniera de Requisitos 25
Beneficio ptimo
0%
100%
Adaptado de E. Braude, Software Engineering: An Object-Oriented Perspective Proyecto Prctico de Ingeniera de Requisitos 26
28
Descubrir el objetivo
Vaga descripcin inicial
agencia de viajes por internet
Acceder a la pgina web
Patrn de comportamiento
[no conforme]
[alternativas]
Objetivo
comprar billetes de avin por internet facilitando la bsqueda de tarifas baratas
[conforme]
[no conforme]
29
Un caso de uso (anvndningsfall, en sueco) es una forma de usar el sistema, habitualmente descrita a travs de un conjunto de usos tpicos. Describe cmo un actor usa un sistema para conseguir un objetivo, y lo que el sistema hace para ayudarle. Cuenta la historia de cmo el sistema y sus actores colaboran para producir algo de valor, un uso completo del sistema. El modelo de casos de uso sirve para definir y expresar grficamente el sistema y su entorno:
Las funcionalidades que contiene el sistema: casos de uso. Los agentes externos que interaccionan con el sistema: actores. Las relaciones entre agentes externos y funcionalidades: asociaciones.
El modelo de casos de uso se expresa grficamente mediante uno o varios diagramas de casos de uso. Es posible estudiar los casos de uso sin utilizar ningn diagrama.
Proyecto Prctico de Ingeniera de Requisitos 30
Registrar artculo
Registrar usuario
Actores
Un actor representa el rol que adopta una entidad externa que interacciona directamente con el sistema. Todo actor tiene un nombre. Los actores significan roles, no entidades concretas:
Varias entidades concretas pueden desempear el mismo rol. Una misma entidad concreta puede desempear varios roles.
Un actor puede participar en varios casos de uso, desempeando un rol diferente en cada uno, por tanto un actor, ms que un rol, es un conjunto coherente de roles. Tipos de actores (o agentes externos, concepto ms amplio que usuario):
Personas o cosas (otro sistema, un sensor, agua, fuego, tiempo...). Primarios o secundarios (realizan tareas administrativas o de mantenimiento).
Utilidad: descubrir y organizar los casos de uso (quin quiere qu). Peligro: identificar los actores con categoras de usuarios.
Vendedor, Comprador y Observador no son categoras disjuntas, sino roles.
Proyecto Prctico de Ingeniera de Requisitos 33
Casos de uso
Un escenario es una secuencia de acciones del actor y acciones del sistema que describe una interaccin tpica entre ambos (qu hace cada uno).
Escenario bsico: todo va bien. Escenarios alternativos, manejo de errores, situaciones excepcionales...
Incorrecto: pretender que es el mismo caso de uso para distintos actores, que lo ejecutan de modo independiente.
Proyecto Prctico de Ingeniera de Requisitos 35
Inclusin Extensin
Base
Editar documento extend Ayuda
Escenario bsico
Escenario bsico
38
Escenarios alternativos
Nombre Registrar artculo 1. Insertar tarjeta magntica 2. Abrir sesin como Vendedor 3. Introducir datos del artculo 4. Confirmar datos introducidos 5. Terminar 2-5a. Tarjeta invlida 1. Devolver tarjeta 2. Terminar Escenarios alternativos 2-5a. Apertura de sesin incorrecta 1. Devolver tarjeta 2. Terminar 5a. Desea registrar otros artculos 1. Volver al paso 3
Proyecto Prctico de Ingeniera de Requisitos 39
Escenario bsico
Precondiciones y postcondiciones
Son una forma de refinar o especificar con ms detalle el objetivo del caso de uso, mediante la descripcin del estado del sistema antes y despus de la ejecucin del caso de uso:
Precondiciones: pueden ser comprobadas en la secuencia de acciones del caso de uso, pero no realizadas en ese momento. Postcondiciones: pueden referirse a la salida normal o a una excepcional.
Precedencia entre casos de uso: toda precondicin de un caso de uso debe cumplirse en el estado inicial del sistema, o bien, debe ser realizada por alguno de los casos de uso del sistema, que la tendr por tanto como postcondicin.
Caso de uso Registrar usuario Registrar artculo Pujar Usuario registrado como Vendedor Precondiciones Postcondiciones Usuario registrado Artculo registrado Usuario registrado como Comprador Si no hay ms pujas, artculo adjudicado Artculo registrado y no adjudicado
Proyecto Prctico de Ingeniera de Requisitos 40
Operaciones del sistema = bloques de acciones en un escenario. Peticin Validacin Cambio de estado Respuesta sacar dinero comprobar que hay saldo suficiente alterar el saldo de la cuenta entregar el dinero
Especificacin grfica de casos de uso Una simple secuencia de acciones no puede describir adecuadamente la riqueza de situaciones que se pueden presentar en un caso de uso (alternativas, excepciones...). Posibles soluciones:
Complicar la descripcin textual de la secuencia de acciones. Emplear una descripcin grfica mediante diagramas de actividad.
Elementos principales:
Acciones: cada una de las unidades en que se descompone la actividad. Transiciones: conexin entre el fin de una accin y el comienzo de otra. Condiciones: deben ser expresiones booleanas mutuamente exclusivas.
42
Diagramas de actividad
Acciones y transiciones Estados inicial y final Decisiones y ramas alternativas Sincronizacin de ramas concurrentes
Abrir boca Tomar alimento Cerrar boca [slido] Masticar [lquido] [else] [terminado] Preparar desayuno
Beber caf
Comer pan
Tragar
Proyecto Prctico de Ingeniera de Requisitos
Limpiar cocina
43
Abrir sesin como Observador [error] [ok] Mostrar lista de artculos con datos de vendedores [fin] [mostrar pujas] Seleccionar artculo
44
Subactividades
[error]
Abrir sesin
Mostrar lista de artculos con datos de vendedores [fin] [mostrar pujas] Seleccionar artculo
[sesin abierta]
45
Casos de uso: sistemas, casos de uso y actores Web inmobiliaria Localizar la casa Vendedor, Comprador Vendedor, Comprador, Representante del banco, Notario, SI del registro de la propiedad Vendedor, Comprador, Representante del banco, SI del banco, Notario
46
Obtener una hipoteca Comprador, Representante del banco SI del banco Formalizar la compra
Lo tico y lo legal
Primaca de lo tico Funcin educadora de la ley
felicidad vividor
48
Unidad 7. Tipos de requisitos del software Unidad 8. Propiedades y atributos de los requisitos Unidad 9. Organizacin y calidad de los requisitos Unidad 10. Sobre la diferencia entre anlisis y diseo (artculo) Unidad 11. Modelado conceptual con UML (1) Unidad 12. Modelado conceptual con UML (2) Unidad 13. Herramientas de apoyo en ingeniera de requisitos
51
Diferencias RU-RS
Requisitos del Usuario objetivo fuente responsable audiencia planteamiento del problema captura de requisitos usuario/cliente usuario/cliente usuario/cliente (y desarrollador) perspectiva del producto caractersticas de los usuarios entorno operacional captura mediante prototipos (modelo de dominio) necesidad nombre, actores objetivo y escenario bsico Requisitos del Software refinamiento del problema anlisis de requisitos usuario/cliente y analista analista desarrollador (y usuario/cliente) conocimiento de expertos modelado, mtodos formales organizacin, no dejar cabos sueltos consistencia y completitud modelo de casos de uso modelo conceptual (prioridad, estabilidad) escenarios alternativos pre- y post- condiciones
53
nfasis
Modelo lgico
54
Rendimiento
velocidad, tiempo de respuesta...
Fiabilidad y disponibilidad
cuantificacin de fallos permitidos
Manejo de errores
errores del entorno, errores internos
Requisitos de interfaz
comunicacin con usuarios, con otras aplicaciones
Restricciones
exactitud, lenguajes y plataformas, arquitectura, estndares...
Seguridad
seguridad del sistema (security), seguridad de las personas (safety)
Proyecto Prctico de Ingeniera de Requisitos 55
Matrices de trazabilidad
RU 0..* 1..* RS 1..* 1..* Imp
RU 1 2 3
RS 1,2 3 2,4,5
Descripcin
RS 1 2 3 4 5
RU 1 1,3 2 3 3
Ttulo
56
Propiedades individuales
Tamao Claridad Comprobabilidad: validacin y verificacin Condiciones de error
Atributos
Automticos: identificador, creador, fecha de creacin Obligatorios: tipo, estado, descripcin breve. Opcionales: descripcin detallada, fuente, necesidad, prioridad, estabilidad, complejidad, riesgo, coste
Proyecto Prctico de Ingeniera de Requisitos 57
58
Ciclo de vida de los requisitos Uso de herramientas para analizar y organizar requisitos
Proyecto Prctico de Ingeniera de Requisitos 59
creado
eliminado
Propuesto
Validado
Implementado
Verificado
Cancelado
60
Configuracin de un proyecto
Propiedades globales de un proyecto: nombre, descripcin, ubicacin... Atributos habilitados en funcin del tipo de requisito, valores desplegables.
Informes
Listado de requisitos: ordenacin, filtrado, atributos mostrados... Estadsticas varias: ritmo de creacin/modificacin, conflictos... Matrices de trazabilidad y consistencia.
Utilidades
Asistencia en la creacin del glosario de trminos. Coherencia entre los requisitos y los elementos del modelo. Deteccin automtica de solapamientos entre requisitos. Mtricas de calidad.
Proyecto Prctico de Ingeniera de Requisitos 62
Mtricas de calidad en los requisitos del software Qu sentido tiene realizar medidas de calidad
Buscar la calidad desde el principio Personal que las realiza Coste aadido por la medicin
Completitud
Consistencia
Comprensibilidad
Inambigedad
Trazabilidad Abstraccin
Atomicidad
Tamao, Legibilidad, Puntuacin, Acrnimos, Abreviaturas Trminos negativos, conectivos, de flujo, anafricos, ambiguos, incompletos, especulativos, de diseo Ortografa, gramtica, verbos imperativos, verbos condicionales, voz pasiva, trminos del dominio Nmero de versiones, grado de anidamiento, dependencias, solapamientos
Proyecto Prctico de Ingeniera de Requisitos 64
Objetos y clases
Notacin bsica de objetos y clases Tipos de clases
Generalizaciones
Generalizacin y clasificacin Jerarquas de clases
Objetos y clases
Dos niveles de abstraccin:
objeto: una entidad concreta con identidad, estado y comportamiento clase: un conjunto de entidades con estructura y comportamiento comunes
instance of
instance of
67
Tipos de clases
Tipos de clases segn los objetos representados:
objetos fsicos: avin, persona, libro... objetos lgicos: cuenta corriente, asignatura, nmero complejo objetos histricos: asiento bancario, reserva de habitacin
Para entender lo que es una clase, hace falta entender cules sern sus instancias. Un caso especial lo constituyen los objetos que representan una coleccin, familia o tipo de cosas, ms que una cosa en s misma. Ejemplos: raza perruna, producto a la venta, ttulo en la biblioteca. Es decir, un mismo concepto del mundo real puede ser modelado como objeto o clase segn el contexto:
Pastor Alemn Lata de Atn El Lenguaje Unificado de Modelado
Todo objeto representa una entidad concreta, pero esto no significa necesariamente entidad fsica o tangible.
Proyecto Prctico de Ingeniera de Requisitos 68
Operaciones Operacin: funcin o transformacin que puede aplicarse a los objetos de una clase
pueden ser invocadas por otros objetos, o por el mismo objeto mtodo: especificacin procedimental (implementacin) de una operacin
70
Enlaces y asociaciones
Asociacin: especificacin de un conjunto de enlaces representa la estructura y el comportamiento del sistema
Estatuilla : Artculo Juan : Vendedor Cuadro : Artculo Ana : Vendedor Espejo : Artculo
71
Vendedor
Artculo
Enlace: conexin entre objetos determina una tupla de objetos instancia de una asociacin estado de los objetos enlazados estado del sistema
Vendedor
Artculo
Los nombres de asociacin se pueden repetir en un modelo, excepto para asociaciones entre las mismas dos clases
Persona
vendedor
artculo
Artculo
Nombres de rol Los nombres de rol se pueden repetir en asociaciones distintas, y pueden ser iguales que los nombres de las clases asociadas
Proyecto Prctico de Ingeniera de Requisitos 72
Multiplicidad de la asociacin
En una asociacin binaria, la multiplicidad de un extremo de asociacin especifica el nmero de instancias destino que pueden estar enlazadas con una nica instancia origen a travs de la asociacin
1..1 vendedor 0..* artculo
Persona
Artculo
Valores tpicos:
0..1 1..1 0..* 1..*
cero o uno uno y slo uno (abreviado como 1) desde cero hasta muchos (abreviado como *) desde uno hasta muchos
Otros valores:
rangos enteros: (2..*), (0..3), etc. lista de rangos separados por comas: (1, 3, 5..10, 20..*), (0, 2, 4, 8), etc.
Proyecto Prctico de Ingeniera de Requisitos 73
Navegabilidad de la asociacin
La navegabilidad de una asociacin binaria especifica la capacidad que tiene una instancia de la clase origen de acceder a las instancias de la clase destino por medio de las instancias de la asociacin que las conectan Acceder = nombrar, designar o referenciar el objeto para...
leer o modificar el valor de un atributo del objeto (desaconsejable) invocar una operacin del objeto (enviarle un mensaje) usar el objeto como argumento o valor de retorno en un mensaje modificar (asignar o borrar) el enlace con el objeto
No confundir:
direccin del nombre de la asociacin: asimetra lingstica navegabilidad o direccionalidad de la asociacin: asimetra comunicativa
Vendedor Vendedor Vendedor
subasta subasta subasta
Punto
posicinX posicinY
Coordenada
posicinX posicinY
Coordenada
75
Son preferibles los nombres estticos, reservando los nombres dinmicos para nombres de operaciones, invocadas a travs de la asociacin mediante el envo de mensajes Una misma asociacin permite la invocacin de muchas operaciones
arranca conduce detiene
Proyecto Prctico de Ingeniera de Requisitos 76
Persona
posee
Generalizacin y clasificacin
Principio de sustitucin (Barbara Liskov, 1987):
Extensin: todas los objetos de la subclase son tambin de la superclase. Intensin: la definicin de la superclase es aplicable a la subclase.
Generalizacin: clase-clase.
Gato es un tipo de Mamfero, Mamfero es un tipo de Animal.
Clasificacin: objeto-clase.
Fluti es un Gato, Fluti es un Mamfero, Fluti es un Animal.
Mamfero
Animal
77
Jerarquas de clases
Bicicleta Terrestre Automvil Areo Transporte
Ferrocarril
Transporte
Avin
Bicicleta
Automvil
Ferrocarril
Avin
Helicptero
79
Dimensiones de especializacin
Una superclase puede ser especializada en distintos grupos de subclases de acuerdo con criterios independientes: discriminadores.
CuentaCorriente titular {disjoint, complete} moneda {disjoint, incomplete}
CuentaPersonal
CuentaSocial
CuentaEuro
CuentaDlar
Restricciones:
disjoint/overlapping: las subclases no pueden tener instancias en comn / o s. complete/incomplete: no hay otras subclases / o s.
Valor por defecto: disjoint, incomplete. Particin propiamente dicha: disjoint, complete.
Proyecto Prctico de Ingeniera de Requisitos 80
CuentaCorriente
CuentaCorriente
CuentaPersonal
CuentaEuro
CuentaPersonal
CuentaEuro
CuentaPersonalEuro
instance of
instance of
81
Especializacin exagerada?
CocheVerde CocheRojo
CocheAzul
82
Diagrama de objetos
ilustra la estructura del sistema mediante situaciones particulares fotografa del sistema: objetos, valores de atributos; enlaces las instancias deben conformarse a sus especificaciones objetos, enlaces clases, asociaciones las especificaciones pueden estar representadas en distintos diagramas
Proyecto Prctico de Ingeniera de Requisitos 83
Sociedad
accionista empleado
Persona
Sociedad
Acme : Sociedad accionista Clara : Persona Emca : Limitada empleado Pedro : Persona empleado
Proyecto Prctico de Ingeniera de Requisitos 84
Diagrama ilegible: letra demasiado pequea (Arial 9). Tamao mnimo en torno a 14.
85
86
Restricciones y notas
Vendedor nif {regla nif} nombreDescriptivo nombreUsuario contrasea
Sociedad
accionista empleado
Persona
Restricciones en asociaciones
* 0..1 Persona Cuenta * {xor} 0..1 origen 1 destino 1 Aeropuerto 0..* {ordered} escala * * reserva Sociedad
* Vuelo * *
Cliente
Mesa
No confundir asociaciones actor-sistema (casos de uso, relaciones con el exterior) con asociaciones clase-clase (relaciones internas):
Para subastar algn artculo es necesario darse de alta como vendedor, introduciendo el NIF, un nombre descriptivo (largo), un nombre de usuario (breve) y una contrasea de acceso. Una vez que el vendedor est dado de alta, puede registrar artculos en la subasta o modificar alguno de sus datos: descripcin breve, descripcin ampliada, fotografa en formato JPEG, y precio de salida.
Registrar artculo Modificar datos de artculo
Vendedor
89
Asociaciones reflexivas
Una asociacin reflexiva (o recursiva) es aquella en la que los dos extremos de la asociacin estn unidos a la misma clase. Los enlaces pueden conectar dos instancias diferentes de la misma clase, o incluso una instancia consigo misma. En una asociacin reflexiva los nombres de rol son obligatorios, para poder distinguir los dos extremos de la asociacin. Una asociacin reflexiva no es simtrica: los extremos son distinguibles, aunque la asociacin quiera significar equivalencia: es-amigo-de, es-igual-a...
0..1
Empleado
jefe dirige
Persona
0..*
subalterno
Titulacin 1
0..*
matriculado
Alumno 0..*
pertenece
1..* Asignatura 0..*
matriculado
91
Agregacin
Es un tipo especial de asociacin que representa una relacin todo-parte, transitiva y asimtrica
no impone ninguna restriccin especial sobre la multiplicidad puede ser reflexiva para las clases, pero no para las instancias
0..*
Mquina 0..* 1..* Pieza
0..*
92
Composicin
Es un tipo especial de agregacin no compartida
la multiplicidad slo puede ser 0..1 1..1 el todo es responsable de la existencia y almacenamiento de las partes propagacin de las operaciones de copiado y borrado
Escuadrilla
Avin 0..1
Piloto
1 Cabina
1 Fuselaje Ala
93
Anidamiento Clase interna Una clase puede anidarse dentro de otra, como los paquetes, con el fin de limitar la visibilidad desde el exterior La relacin de anidamiento no es una asociacin No tiene nada que ver con la agregacin o la composicin
la composicin abstrae enlaces todo-parte entre objetos el anidamiento es una pura relacin de inclusin entre clases
A
+B -C
94
Es un nico elemento, por tanto tiene un nombre nico. Como cualquier otra asociacin, no puede contener tuplas repetidas, aunque los valores de los atributos sean distintos: sustituir clase-asociacin por clase intermedia.
Persona 1..*
trabaja-para
0..*
Empresa
Cuenta
95
Sustituir la clase-asociacin por una clase simple, cuyas instancias representan enlaces. Las multiplicidades originales se cruzan, y aparecen otras nuevas. Permite la existencia de tuplas repetidas, cuando es necesario. Es una forma de implementar la clase-asociacin, pero hay que aadir una restriccin adicional para no permitir tuplas repetidas.
Persona
1..*
trabaja-para
0..*
Empresa
Persona 1
Empresa 1
clase intermedia
Proyecto Prctico de Ingeniera de Requisitos 96
Asociacin n-aria
Asociacin entre N clases: los enlaces conectan N instancias
no permite: direccin del nombre, navegabilidad, agregacin s permite: clase-asociacin
Multiplicidad engaosa:
nmero permitido de instancias para cualquier posible combinacin de instancias de las otras n-1 clases la multiplicidad mnima suele ser 0 efecto rebote del uno: la multiplicidad mnima 1 (o superior) en un extremo implica que debe existir un enlace (o ms) para cualquier posible combinacin de instancias de los otros extremos Un equipo enlazado con una temporada siempre tiene un * * Equipo Temporada entrenador asignado: no hay enlaces cojos.
0..1 Entrenador
La multiplicidad mnima 1 implicara la existencia de un enlace (o ms) para toda posible combinacin de equipo y temporada.
97
Sustituir la asociacin n-aria por una clase simple, cuyas instancias representan enlaces. Las multiplicidades originales se pierden, y aparecen otras nuevas. Permite la existencia de tuplas repetidas, cuando es necesario.
Equipo
Temporada
0..1
Entrenador
?
Equipo 1 * ETE * 1 Entrenador * 1 Temporada
Es una forma de implementar la asociacin n-aria, pero hay que aadir restricciones adicionales para no permitir tuplas repetidas y para expresar las multiplicidades originales perdidas.
clase intermedia
98
Herramientas para IR: Requirements Studio Herramienta gratuita para la gestin de requisitos de usuario. Principales caractersticas:
Herramienta multiproyecto y multiusuario. Gestin de usuarios y permisos de acceso por proyecto. Registro automtico de sesiones de usuario. Control de versiones de cada requisito. Agrupacin de requisitos en paquetes y subpaquetes. Relaciones entre requisitos: traza, subordinacin jerrquica, acoplamiento, conflicto, redundancia. Otros artefactos asociados a un requisito: escenarios, modelos... Glosario de trminos. Visualizacin, navegacin y edicin de requisitos de modo amigable. Generacin de informes: listado de requisitos en varios formatos, estadsticas, matrices de trazabilidad y consistencia. Exportacin e importacin de proyectos.
Proyecto Prctico de Ingeniera de Requisitos 99
Requisitos SW
Microsoft Windows XP Service Pack 2 .NET Framework 2.0 Herramientas ofimticas: Microsoft Office Word: para la generacin de informes. Microsoft Office Excel: para la generacin de tablas. Microsoft Office Access: para exportacin/importacin. Servidor: Microsoft SQL Server 2005 Express Edition.