Documente Academic
Documente Profesional
Documente Cultură
Contenido Clase 3
Obtencin de requerimientos
Tcnicas tradicionales Entrevistas y cuestionarios Escenarios y casos de uso Aproximacin cognitiva Aproximacin contextual
Tcnicas formales
AE AOO
Por que modelar motivos Tipos de modelo Esquema conceptual Diferentes modelos conceptuales Requerimientos no funcionales
RML RSML
UNPSJB - 2005
Comunicando requerimientos
Validacin de requerimientos
SRS (soft requeriment Specification) Ambigedades y como evitarlas Estndares Trazabilidad de requerimientos
UNPSJB - 2005
Evolucionando requerimientos
Administracin del cambio Administracin de inconsistencia Rasgos de interaccin Familias de productos para Administracin de requerimientos
UNPSJB - 2005
Contenido Clase 3
Bibliografa utilizada
Ingeniera de Requerimientos (Locoupulous) Ingenira de Requerimientos (Davis) Ingeniera de software (Pressman, Sommerville) Papers Varios
UNPSJB - 2005
Toma de Requerimientos
Punto de comienzo
Alguna notacin que indique que hay un problema que necesita resolverse
Oportunidad de negocios Necesidad de mercado Utilizacin de recursos
El Ing.Requerimientos debe
UNPSJB - 2005
Toma de Requerimientos
Cual problema necesita ser resuelto? (identificar lmites) Donde est el problema? (el contexto o el dominio del mismo) A Quienes involucra el problema? (identificar los actores) Por qu necesita resolverse? (identificar las metas de los actores) Como debera ayudar el soft? (tomar o colectar los escenarios posibles) Para cuando debe estar resuelto? (identificar limitaciones de desarrollo) Qu debemos tener en cuenta para resolverlo? (identificar riesgos). Adquirir suficiente conocimiento Convertirse en un experto del dominio del problema
UNPSJB - 2005
Interfases de usuario
Desiciones de diseo
Conocimiento tcito
El conocimiento puede estar distribuido a lo largo de muchos recursos Generalmente no est descrito en forma explcita Puede existir conflicto entre diferentes fuentes Las metas pueden no ser las mismas entre distintas personas Las personas pueden tener diferentes criterios para entender un problema
Las personas encuentran difcil decir que necesitan o complican mucho la explicacin
UNPSJB - 2005
Problemas en la comunicacin
UNPSJB - 2005
10
Tcnicas tradicionales
Introspeccin
Prototipacin
UNPSJB - 2005
11
Tcnicas etnogrficas Observacin de participantes Etnometodologa Anlisis de discurso Anlisis de conversacin Anlisis de presentacin Diseo participatorio
Aproximaciones cognitivas
UNPSJB - 2005
Etnografa: ciencia que tiene por estudio y descripcin de las razas o pueblos, como tambin su lengua, sus creencias, artesanas, usos, costumbres3y formas de vida Ingeniera de Software - Clase 12
Cuestionarios
Ventajas
Qu mirar?
Puede obtener informacin rpidamente de muchas personas Puede administrarse remotamente Puede obtener actitudes y caractersticas de los actores Puede obtener un contexto muy pobre del problema
Desventajas
Tendencias en la seleccin de ejemplos Tendencias en la seleccin de respuestas Ejemplos de tamao chico (con poca significancia estadstica) Preguntas ambiguas (muchos que no contestan la misma pregunta) El cuestionario debe ser testeado
UNPSJB - 2005
13
Entrevistas
Tipos
Estructuradas
Existe una agenda previa con temarios Agenda abierta, no hay temarios previos
Libres
Difcil la comparacin de respuestas Administrar las entrevistas no es una tarea sencilla Preguntas sin respuestas Conocimiento tcito El contexto de discusin Actitud de los entrevistados respecto de los temas abarcados
Que mirar?
Ventajas
Desventajas
UNPSJB - 2005
14
Tipos
Desventajas
Ventajas
Interaccin ms natural entre la gente, mayor a una entrevista formal Se puede medir la reaccin ante material de estmulo
Puede crear grupos poco naturales y hacer sentir incmodos a los participantes Peligro de llevar a una opinin de grupo que no sea real Pueden obtenerse respuestas superficiales a cuestiones tcnicas Se requiere de un facilitador muy entrenado Tendencias en los ejemplos Dominancia y submisin
15
Que mirar?
UNPSJB - 2005
Hechos y figuras, informacin financiera, etc. Reportes usados para toma de decisiones,... Resultados obtenidos, informacin de marketing,.. Obtener datos representativos del conjunto de la poblacin de elementos
Ejemplos
Ejemplos propuestos tomar aquellos considerados ms relevantes Ejemplos aleatorios tomar cada n casos Ej. Aleatorios por capas identificar capas del problema y tomar un caso de cada uno Ej. Aleatorios por cluster generar subconjuntos relacionados y tomar un ejemplo de l. Balancear entre costo y relevancia del ejemplo
UNPSJB - 2005
16
Casos de uso
Cada forma diferente en que un actor interacta con el sistema Una descripcin de una secuencia de acciones que el sistema debe llevar a cabo para obtener un resultado observable para un actor particular [Booch] Todos los casos de uso deben ser numerados Una descripcin de un conjunto posible de escenarios, con un propsito comn Se escriben, generalmente, en lenguaje natural No hay descripcin interna del sistema, solo la interaccin con el mismo
Ingeniera de Software - Clase 3 17
UNPSJB - 2005
Casos de uso
Ventajas y desventajas
Caracterizacin detallada de todas las posibles interacciones con el sistema Ayuda en el dibujo de los lmites del sistema, y con el alcance de los requerimientos Los casos de uso no captura en dominio del conocimiento Un caso de uso no es especificacin precisa, solo es la representacin de un problema puntual
UNPSJB - 2005
18
Identificar los actores Para cada caso de uso Escribirlo fuera de los lmites del sistema que Especificar reglas para eleccin del mismo y para interactan con l interacturar con l Para cada factor Considerar alternativas Identificar los Ver posibles superposiciones posibles casos de uso de casos de uso
Establecer escenarios concretos para ilustrar cada caso de uso Agrupar escenarios similares en casos de uso si son una variacin sobre un tema
Template de caso de uso: Nombre: Resumen: Actores: Precondiciones: Descripciones: Excepciones: Postcondiciones:
UNPSJB - 2005
19
Nombre: Orden de pedido Precondicin: un usuario vlido est conectado al sistema Descripcin:
Excepciones:
El caso de uso comienza con un pedido del cliente El cliente entra su nombre y direccin Si el cliente entra solo el cdigo postal, el sistema debe agregar la ciudad y la provincia. El cliente entrar todos los cdigo de los productos deseados y la cantidad solicitada El sistema indicar el nombre del producto y el precio unitario del mismo Cliente El sistema totalizar la cantidad de productos pedidos y el total de la venta El cliente indicar la forma de pago, si es tarjeta el nmero de la misma El cliente apretar la tecla enviar El sistema verificar la informacin, guardar la orden de pedido como pendiente y la forma de pago Una vez confirmado el pago, la orden se cambiar a confirmada y se le indica esto al cliente, el caso de uso finaliza En el paso 9, si hay informacin incorrecta, el sistema le preguntar al cliente que quiso poner La orden fue salvada en el sistema y fue marcada como confirmada
Orden de pedido
Tomar Estado
Enviar catlogo
Cancelar orden
Enviar producto
Delivery
Postcondiciones:
Re-Adquirir producto
Proveedor
UNPSJB - 2005
20
Escenarios
Definicin
Ventajas
Secuencia especfica de interacciones entre actores y sistemas Tienden a ser cortos Puede sen
Muy natural: se tratan de usar de manera expontnea Los escenarios cortos son muy buenos para ilustrar interacciones especficas Falta de estructuracin: se necesitan casos de uso o modelo de tareas para proveer una visin de alto nivel.
Desventajas
UNPSJB - 2005
21
Modelado de tareas:
Escenarios
Conjunto jerrquico de actividades estereotpicas Los subojetivos son tareas (o casos posibles de uso)
Pueden ocurrir en secuencia, en paralelo o Excepciones como alternativas Son variantes de casos de uso Pueden ocurrir No pueden ser modeladas como peridicamente o en escenarios en si mismo, respuesta a interactan con mltiples contingencias.
Son caminos a travs del modelo de tareas, tomando una secuencia especfica en tiempo de pasos Puede ser usado para organizar requerimientos Puede incluir paralelismo
escenarios
UNPSJB - 2005
22
Aproximacin
Se enfoca en por que se construye el sistema Se expresa el por que como un conjunto de metas Se usa refinamiento de metas para arribar a requerimientos especficos Anlisis de metas
Ventajas
Razonablemente intuitivo La declaracin explcita de metas provee una base para la solucin de conflictos Difcil de seguir la evolucin
Desventajas
UNPSJB - 2005
23
Metas
Objetivos de alto nivel de un negocio u organizacin Especificacin de cmo una meta debe estar en un nuevo sistema Metas de realizacin Metas de mantenimiento Metas soft
Requerimiento
Consejos
Las limitaciones son condiciones sobre la realizacin de una meta Las metas se obtienen mejor de mltiples fuentes Asociar actores a cada meta (revela puntos de vista y conflictos) Usar escenarios para explorar como los objetivos pueden ser alcanzados Consideraciones explcitas sobre obstculos puede ayudar a construir o definir excepciones.
Tipos
Obstculos y limitaciones
Los obstculos son comportamientos que previenen la realizacin de una meta dada
UNPSJB - 2005
24
Base:
Problemas de modelado
La toma de conocimiento est ligada con el descubrimiento experto de conocimiento Ligado con el crecimiento de los sistemas expertos Mtodos formales
Problema de representacin
KE es dura
UNPSJB - 2005
Problemas de representacin
Cognitivo (descripcin verbal de las tareas) Asociativo (reforzar las ideas con repeticiones de dichos verbales) Autnomo (compilado, no son concisos)
Ventaja
diferentes representaciones de conocimiento son buenas para cosas diferentes El conocimiento se crea, no se extrae
El conocimiento declarativo se torna procedural con aplicacin repetida, los expertos no pueden hacer esto fcilmente
Son abstracciones de la realidad Se crea travs de suposiciones simples Tiende a tener menos errores o problemas
UNPSJB - 2005
26
Lo ms expresivo es ms difcil de adquirir y viceversa Ej Las interfases con reglas de induccin son fciles de adquirir pero poco expresivas La lgica de un programa es muy expresiva pero difcil de adquirir La representacin ideal intenta combinar lo mejor de cada una
UNPSJB - 2005
27
Comportamiento
Acta como si tuviera conocimiento sobre el ambiente que utiliza Nivel simblico: descripciones del mecanismo del comportamiento Nivel de conocimiento: descripciones del conocimiento del agente del mundo real
Ambiente
Observacin
UNPSJB - 2005
racionalizacin
28
Anlisis de protocolo
Desventajas
Forma verbal de las actividades cognitivas Dentro del contexto No tienen dimensin social Basada en introspeccin
Desventajas
Ayuda a construir modelos mentales, Pueden adquirir conocimiento tcito Requiere una aceptacin del conjunto de objetos Difcil de lograr
Ordenamiento de tarjetas
Para un conjunto de objetos de dominio escribirlos en tarjetas para ordenarlas en grupos Ventajas
Desventajas
UNPSJB - 2005
Las entidades necesitan ser identificadas dentro de semnticas a lo largo del dominio
29
Abstraccin:
Contextualismo
Ontologa: parte de la metafsica, que estudia el ser en general y sus propiedades trascendentales
Se asume que el conocimiento y el entendimiento son independientes del contexto Utilizado normalmente por cientficos naturales e ingenieros
Obtener datos naturales del dominio de estudio Usar los datos para dar explicaciones
Asume que es imposible construir modelos que tengan comportamiento cuando se remueven del contexto Usado por muchos cientficos sociales
30
UNPSJB - 2005
Visin etnometodolgica
Etnologa: ciencia que estudia el origen, la distribucin y los caracteres fsicos de las razas humanas
Porque involucra comunicacin entre personas (discusiones, observacin de la realidad, etc) Porque involucra negociacin para lograr consensos Porque afecta y cambia los sistemas de actividad humana
Este puede no ser obvio o describible No se puede asumir con estructura previa Es construido a partir de acciones de los participantes No se puede tomar informacin de categoras preestablecidas Como los significados se desarrollan y evolucionan en el contexto Los mtodos pblicos utilizados para que el contexto tenga sentido
31
Se necesita considerar
UNPSJB - 2005
Etnometodologa
Bases:
Categoras:
El mundo social es ordenado El orden social puede no ser obvio y no descriptible desde el sentido comn El orden social no puede asumirse con estructura previa Se enfatiza la importancia de las bases naturales.
Las tcnicas convencionales suponen categoras preexistentes La Etnografa intenta utilizar sujetos con categoras propias No tienen objetividad cientfica, por ende los sujetos deben crear su propia fuente de medicin.
Medidas
UNPSJB - 2005
32
Observacin de participantes
Bases:
Desventajas
Los observadores pasan un tiempo con los sujetos, tratando de convertirse en un miembro ms del grupo Contextualizacin Se revelan detalles que otros mtodos no pueden cubrir
Ventajas
Consume mucho tiempo Se tiene mucha informacin que puede resultar difcil de analizar No se puede decir mucho de cambios que se propongan
UNPSJB - 2005
33
El modelado
actividad de definicin formal de aspectos del mundo fsico y social que nos redea con el propsito de entender y comunicar Combinar problemas
Modelado
Actividad de modelado
Empricos: especificaciones ligadas al mundo real Formales: abstraccin, estructura y representacin del conocimiento del problema
Especificacin conceptual
UNPSJB - 2005
34
Agente de viajes
Jefe ejecutivo
Administrador de ventas El nmero de valijas en el avin debe corresponder al nmero de Solo se puede usar un ticket personas que abordan pago En algunos casos puede no Las listas de pasajeros son confirmarse la reserva informacin restringida Un tckets de descuento no Solo se puede hacer el check in una puede devolverse UNPSJB vez - 2005 Ingeniera de Software - Clase 3 35
Cuando el vuelo est lleno, primero se atiende a los VIP Hay tickets de descuento para polticos podremos obtener ventajas La informacin debe resultar clasificada para actores externos al
Jefe de Catering
Un agente es responsable de reservas y cancelaciones Hay diferentes tickets ofrecidos a las agencias de viaje La comida cargada est relacionada con la nmero de personas Se debe conocer el nmero aproximado de personas en el vuelo 24 hs antes. Tambin 24 hs antes se debe saber por comidas especiales
Como se obtiene de la transparencia anterior una especificacin acorde? El modelado puede guiar la toma de requerimientos
El proceso de modelado puede ayudar a imaginarnos que hacer? Puede ayudarnos a investigar sobre requerimientos ocultos? Ej: hice bien las preguntas? La completitud del modelo implica la completitud de la toma de req.?
UNPSJB - 2005
36
inflexibles puede significar confusin sobre terminologas, alcances, etc. Puede revelar desacuerdos entre actores
Podemos testear que el modelo tengas las propiedades esperadas? Se puede razonar sobre el modelo entendido y sus consecuencias? Podemos animar el modelo para ayudarnos a validar requerimientos?
UNPSJB - 2005
37
Tipos de modelo
Lenguaje natural Muy expresivo y flexible Pobre al intentar captar la semntica del modelo Mejor para la toma de requerimientos Notacin semi formal Captura estrutura y alguna semntica Puede llevar a cabo algn razonamietno, chequeo de consistencia y animacin Notacin formal Semntica muy precisa Muy complejos
Ingeniera de Software - Clase 3 38
UNPSJB - 2005
Independencia de implementacin
Fcil de analizar
Para detectar ambigedad, inconsistencia, incompletitud Habilidad para seguir los elementos del modelo Poder animar el modelo, para comparar con la realidad No redundancia de conceptos (cada cosa expresada de una forma)
39
Abstraccin
Trazabilidad
Formalidad
Ejecutabilidad
Constructibilidad
Minimalidad
UNPSJB - 2005
Tcnicas de modelado
Modelado de informacin (DER)
Modelado de empresa
Metas y objetivos Estructura organizacional Actividades, procesos y productos Roles y trabajos de agentes Vistas estructurales (de datos) Vistas de comportamiento Requerimientos de tiempo
UNPSJB - 2005
Evolucin en el tiempo
70
80
Involucrando toda la organizacin Sensitivo al contexto social y poltico para el cambio organizacional
Basdados en conocimiento
Tcnicas: RML
Usar representacin del conocimiento para construir modelos de dominio ejecutables Capturan aspectos estticos y dinmicos del dominio
90
Teleolgicos
Ejemplos: KAOS, I*
Los requerimientos son metas y se pueden modelizar jerarquas Se enfocan en el por qu? Ms que en el qu?
UNPSJB - 2005
41
Proceso ISAC
Anlisis de cambio
Estudio de actividad
Que quiere la organizacin? Cuan flexible es la organizacin respecto a cambios? Que actividades deben reagruparse en sistemas de informacin? Que prioridades tienen los sistemas de informacin? Que entradas y salidas tienen cada SI? Qu son los requerimientos cuantitativos del SI? Que tecnologa se utilizar para el SI (hard, y soft)? Que actividades del SI sern automticas o manuales?
42
Anlisis de informacin
Implementacin
UNPSJB - 2005
Lista de problemas
Anlisis de metas
Meta final rbol de metas Las metas deben explicar por qu existe el problema
Anlisis de problemas
Dibujar una matriz de problemas para contrastarla con los propietarios de los mismos Anlisis de causa efecto
Llevados a cabo por especialistas Cuantificar el problema Esquemas A (similar a diagramas de flujo de datos)
UNPSJB - 2005
Desarrollado al final del 70 Los requerimientos no se toman objetivamente, orientado hacia aspectos sociales Rasgos: Situaciones no estructuradas El impacto puede ser negativo (una computadora reduce la productividad y quita trabajo) Para una buena utilizacin se necesita una restructuracin de base muy amplia Analiza la situacin del problema usando diferentes puntos de vista Obtiene algo similar a una especificacin en conjunto con
UNPSJB - 2005
44
Pasos de la metodologa
1. 2.
5.
3.
4.
Actividades del sistema necesarias para llevar a cabo la transformacin Modelo orientado al proceos, con actividades y flujo de recursos
6.
Preguntas ordenads sobre el modelo Reconstruccin de eventos para compararlas con el modelo Comparacin general para mirar rasgos del modelo diferentes de la situacin actual
7.
UNPSJB - 2005
45
Revision de modelos: i*
Rasgos
Desarrollado en los 90 Provee una estructura para preguntar POR QU Modela el contexto de la organizacin para SI Basado en la notacin de actor Dos partes del modelo
Caractersticas
El modelo de dependencia muestra las dependencias entre actores objetivo obtener un mejor entendimiento de los por qu?
Modelo de dependencia estratgica (relaciones entre actores) Modelo estratgico racional (modela intereses e incumbencias de actores)
Dependencia entre metas y submetas (un actor depende de otro actor para alcanzar una meta) Dependencia de recursos (un actor necesita un recurso de otro actor)
UNPSJB - 2005
46
Revision de modelos: i*
Atte ndsM e e ting (p,m)
Dependencias de tareas (un actor necesita otro actor para llevar a cabo la tarea) EJ: supongamos una agenda para la concurrencia a una cita particular (ver como evoluciona en el paper correspondiente)
D D
Iniciador de l e ncue ntro ExclusionDate (P)
D D
D D
Propose dDate (M )
D
ISA
D
Agre e me nt (M ,P)
D X D D
D D D D D D D D D
Dependencia de metas
dependencia de recueros
UNPSJB - 2005
47
Revision de modelos: i*
D Organize meeting
Muestra nivel ms detallado del modelado mirando Low Quick MeetingBe Effort Schedule dentro de los actores para modelizar sus relaciones Schedule Exclusion Meeting Dates D Obtain internas AvailDate Find Preferred Obtain D Suitable Dates Muestra la descomposicin D Agreement Slot Proposed de tareas Merge Date D AvailDate Muestra los links entre Agreemen t tareas y metas SR provee una forma de modelar actores interesados, como deben encontrarse la forma de evaluarlos UNPSJB - 2005 Ingeniera de Software - Clase 3
Meta Cecurso Meta Sof t Tarea
-+
+
D D
D D
Agree To Date
48
Revision de modelos: i*
Conclusiones sobre i*
Ganar entendimeinto en los requerimientos del sistema Mayor nmero de niveles de anlisis en trmino de Habilidad Viabilidad Credibilidad de requerimientos
Resumiendo Mejor representacin y razonamiento del conocimiento Mayor nivel de formalidad en las expresiones Se incorpora intencionalidad relaciones mltiples y distribuidas de intencionalidad
49
UNPSJB - 2005
Rasgos
Desarrollado al principio de los 90 Primer lenguaje de modelado de requerimientos orientado al desarrollo integral de los mismos Herramientas de soporte completas Aplicado en muchos casos de uso Tambin centrado en el por qu, cmo y cuando. Dos partes Modelado informal de metas Definicin formal para cada entidad en lgica temporal
Ingeniera de Software - Clase 3 50
UNPSJB - 2005
Caractersticas
Define un conjunto inicial de metas y objetivos de alto nivel Define un conjunto inicial de agentes y acciones que estos agentes pueden hacer Refina las metas usando una descomposicin denominada AND OR
Ingeniera de Software - Clase 3
Luego iterativamente
Identifica obstculos a las metas y conflictos entre metas Lleva las metas a limitaciones que pueden ser luego asignadas a agentes individuales Refina y formaliza las definiciones de objetos y acciones
51
UNPSJB - 2005
Modelado y anlisis
Modelos se utilizan para desarrollar una comprensin del sistema a realizar tres vistas:
Una perspectiva externa que modela el contexto o entorno del sistema Una perspectiva de comportamiento del sistema Una perspectiva estructural que modela la arquitectura del sistema o la ED procesados por este
UNPSJB - 2005
52
Anlisis estructurado
Definicin
Proveer un marco de trabajo para modelar de forma detallada el sistema como parte Debilidades de la obtencin y anlisis de No provee mtodos efectivos para requerimientos (Sommerville) tratar con requerimientos no Aproximacin al modelo funcionales conceptual orientada en los No ayuda al usuario a decirir el datos mejor mtodo para cada caso DFD es el elemento ms Produce demasiada documentacin representativo Modelos muy detallados que son de difcil comprensin por parte de los Target principal de sistemas usuarios SI
Se deben entender los requerimientos necesarios para continuar en la evolucin del sistema
UNPSJB - 2005
53
Anlisis estructurado
Conceptos centrales
Entidad externa
Actividades que transforman los datos Indica el paso de datos de la entrada del mismo hacia la salida Representa grupos de datos o elementos de datos Lugar donde se deja info para su uso posterior Los almacenes de datos son pasivos, no transforman los datos
Actividad fuera del alcance del sistema Fuente o destino de info en los DFD No pueden interactuar directamente con los almacenes de datos Clustes de datos representados como un flujo de dato simple Unidad bsica de informacin
54
Almacenamiento de datos
Grupos de datos
Elemento de dato
UNPSJB - 2005
Anlisis estructurado
Herramientas de modelado
DFD
Diagrama de contexto Diferentes niveles de descomposicin Llegar hasta primitivas funcionaels que no pueden ser ms descompuestas Elementos
Diccionario de datos Define cada elemento de dato Usa una notacin BNF para definir la estructura de los elementos Constructores
Notacin = Significado Est compuesto de Y
Construccin
Secuencia
Seleccin Repeticin
[|] { }n
() **
O bien N repeticiones de
Datos opcionales Delimita comentarios
UNPSJB - 2005
55
Anlisis estructurado
Especificacin de procesos
cdigo en lenguajes narrativo o en algn pseudo cdigo Define los rasgos procedurales escenciales
DFD evolucion para poder representar TR
Evoluciones
UNPSJB - 2005
56
Anlisis OO
Conceptos bsicos
Motivacin
Se modela los requerimientos en trmino de objetos y los servicios que estos proveen Representan los datos y su procesamiento Muestra de una forma clara como se clasifican las entidades del sistema y como se componen (de otras entidades) Son una forma natural de reflejar al mundo real (objetos)
AOO es ms natural
El sistema evoluciona las funciones que realiza tienden a cambiar los objetos permanecen iguales Esto no es representable con AE (debe cambiarse) El trabajo con OO es ms mantenible
UNPSJB - 2005
Anlisis OO
Primitivas de modelado
Relaciones
Objetos
Dos tipos:
Entidades con estados, atributos o servicios Forma de agrupar objetos Abstracciones jerrquicas con una relacin ES_UN
Todo parte Es un
Clases
Mtodos o servicios
Operaciones que un objeto puede llevar a cabo Forma de invocar los mtodos o servicios Secuencia de pasaje de mensajes entre objetos Representan interacciones especficas
58
Pasaje de mensajes
UNPSJB - 2005
Anlisis OO
Conceptos fudamentales
Herencia
Simple o mltiple
UNPSJB - 2005
59
Anlisis OO
Roles
Entidades externas
Que interactan con el sistema a modelizar (personas, dispositivos, otros sistemas) Que son parte del dominio que se modeliza (reportes, seales)
Unidades organizacionales
Llevados por personas que interactan con el sistema Relevante a la aplicacin (deptos, divisiones, equipos) Que establecen el contexto del problema Que definen una clase (sensores, computadoras)
Lugares
Cosas
Estructuras
Ocurrencias o eventos
Que pueden ocurrir en el contexto del sistema (transferencias de recursos, acciones de control)
UNPSJB - 2005
60
Anlisis OO
Retener informacin
atributos
No tener uno solo Aplicables a todas las ocurrencias del objeto no solo a uno
Atributos comnes
Requisitos esenciales Entidades externas que aparecen en el espacio del problema y producen o consumen informacin
Los objetos vlidos debe satisfacer todas o casi todas las propiedades anteriores.
61
UNPSJB - 2005
Anlisis OO
Identificar los objetos y clases Identificar estructuras (todo parte, es un ) Definir sujetos Vista ms abstracta de una coleccin de objetos (agrupamientos por puntos en comn) Definir los atributos Definir los servicios y la conexin de mensajes
UNPSJB - 2005
62
Anlisis OO
Objeto Atributos
Paciente
Nombre Fecha de nac Altura Peso
Paciente
Servicio
Nombre Fecha de nac Altura Peso
Clasificacin Mandatario
todo parte
Ingreso paciente
Cama Habitacin Serv ice
Alta paciente
medico ltima v isita
1 Class Attribute
UNPSJB - 2005
63
Anlisis OO
Descomponer en partes
64
UNPSJB - 2005
Anlisis OO
UML
An en desarrollo Trata de estandarizar los conceptos de modelado OO que manejan varios autores
Diagramas de clases Diagramas de casos de uso Diagramas de caminos de mensajes Diagramas de mensajes de objeto Diagramas de estados Diagramas de mdulos Diagramas de plataformas
UNPSJB - 2005
Anlisis OO
Evaluacin de AOO
Ventajas de OO para IR Se acomoda bien para el diseo y la implementacin contina una forma de pensamiento y notacin No pone nfasis en la funcin como lo hace AE Evita la fragmentacin que produce el AE Desventajas Complejo para rescatar caractersticas dinmicas de los objetos No es claro que siempre se quiera modelar objetos, servicios y relaciones Tendencia a pasar rpidamente al diseo No es la bala de plata pensada por muchos
Ingeniera de Software - Clase 3 66
UNPSJB - 2005
Mtodos formales en IR
Qu formalizar en IR?
Modelar el conocimiento de los requerimientos (se puede razonar sobre ellos) Especificar requerimientos (se puede hacer una documentacin precisa) Por que formalizar?
Para remover ambigedad y mejorar precisin Proveer una base para la verificacin de lo que los requerimientos deben conocer
UNPSJB - 2005
67
Mtodos formales en IR
Por qu no se formaliza?
Los mtodo formales tienden a ser de un nivel ms complejo que los otros mtodos
La gente no sabe que herramientas son apropiadas Especificacin de comportamiento de programa vs. Modelado de requerimiento Los mtodos formales requieren un esfuerzo mayor Y la remuneracin es la misma....
UNPSJB - 2005
68
Mtodos formales en IR
Vista amplia Aplicacin de matemtica discreta a la IS Involucra modelado y anlisis Con notacin precisa matemtica-like Vista estrecha Uso de lenguajes formales
Un conjunto de strings sobre un alfabeto bien definido con reglas para distinguir que esos strings pertenecen al lenguaje
Pruebas formales: usan axiomas y reglas de prueba para demostar que alguna frmula est en el lenguaje
Ingeniera de Software - Clase 3 69
UNPSJB - 2005
Mtodos formales en IR
Anlisis de consistencia y chequeo de tipos Validacin Predecir comportamiento Verificar refinamiento de diseo
UNPSJB - 2005
70
Mtodos formales en IR
Generalmente encontrados en la escritura de la especificacin formal que en el proceso de anlisis formal El anlisis formal encuentra menos errores pero ms sutiles Errores tpicos encontrados Interfases incorrectas Requerimientos incorrectos (en funcin de las entradas que se disponen) Problemas de claridad y mantenibilidad
UNPSJB - 2005
71
Mtodos formales en IR
Ontologa
Puede ser fija o extensible Lgica (predicado de primer orden) Otra (lenguajes algebraicos o teora de conjuntos Z)
Base matemtica
Ejemplos SCR: fijo, lgica temporal, modelo estado evento RML: fijo, lgica de predicado de primer orden, modelo estado evento discreto Telos: extensible, tiempo como un objeto primario.
UNPSJB - 2005
72
Mtodos formales en IR
Grueso del trabajo en verificacin de programas Chequeo de tipos, prueba de teoremas Ej: Z, VDM Formalizan modelos dinmicos de comportamiento de sistemas
Basados en sistemas reactivos (TR) Chequeo de consistencias, chequeos de modelo Ej: RSML, SCR
Capturar conocimiento del mundo real Pone nfasis en modelado de entidades del dominio, actividades, agentes y aserciones Motores de inferencia, razonamiento por defecto Ej: Telos, RML
73
UNPSJB - 2005
El problema es como SRS Propsito comunicar los Comunicar los requerimientos de requerimientos al resto de forma clara los interesados Se explica el dominio de la aplicacin
Contractual
Soporta testeo, verificacin y validacin de sistemas Puede contener informacin para verificar que se alcancen los requerimientos
74
UNPSJB - 2005
Desarrolladores y programadores
Testers
Analistas de sistemas
Administradores de proyectos
UNPSJB - 2005
75
Debe ser general para tener una buena seleccin de pedidos Debe dejar de lado los pedidos no razonables
El oferente
Debe ser especfico para demostrar credibilidad y competencia tcnica General para evitar sobre compromiso
Refleja el entendimiento del desarrollador Base del desarrollo
El desarrollador seleccionado
UNPSJB - 2005
76
El programador charla con el cliente y escribe hasta 5 pginas de requerimientos Equipo de analistas modelan requerimientos, SRS 500 pginas.
Proyecto (B) Construye un documento, debe contener mucho detalle para todos los pgmdor Se debe usar la espec. para estimar recursos necesarios y plan de desarrollo. 1 programadores, equipo V&V, adminis 2 clientes
77
Representa el entendimiento del programador, vuelve al cliente La especificacin es irrelevante, se tiene alocados los recursos 1 autor de especificacin 2 cliente
Aspectos
Necesario
Validez (correctitud)
No ambiguo
No contener cosas que no se requieren Cada sentencia se lee de una sola forma Definir trminos confusos en un glosario Test de satisfaccin por cada cliente debe existir Cada req. Es especificado con comportamiento Por especialistas no informticos Debe mantenerse actualizado
78
Verificable
Consistencia
Entendible (claro)
Modificable
UNPSJB - 2005
expandidas
ambiguas
condensadas
expanden
redundantes
reducen agrega explicacin
formalizan
inconsistentes
Resuelven
no entendibles
incompletas
UNPSJB - 2005
79
Ruido
Silencio
Tener texto poco relevante como contenido Rasgo importante no cubierto en el texto Texto que describe una solucin ms que un problema
Pensamiento deseado
Utilizar un concepto an no definido Texto que define un rasgo que no puede ser validado Desparramar requerimientos por todos lados y luego poner referencias cruzadas No conforme a estndares
Sobre especificacin
Puzzles
Contradiccin
Ambigedad
Texto que define un rasgo de varias formas incompatibles entre ellas Texto que se interpreta de dos o ms formas diferentes
UNPSJB - 2005
80
No incluir en especificacin
Costo, staff, esquemas, mtodos, herramientas, etc. El tiempo de vida del SRS es hasta el final de la fase de operacin Tiempo de vida del plan desarrollo es ms corto
Diseo
Requerimientos y diseos pensados para gente diferente Anlisis y diseo son reas diferentes
Ingeniera de Software - Clase 3 81
UNPSJB - 2005
Calidad de especificacin
Anlisis de texto
Se pueden hacer anlisis textuales del SRS Medir la forma de construccin Ej; NASA usa nueve indicadores
Palabras como sigue abajo, como sigue, etc. Mide la estructura del SRS Causan incertidumbre Ej. Adecuado, aplicable Indicacin a tablas, figuras Mide calidad del documento Lneas de texto, prrafos, hojas
Opcin
Identifica palabras como debe, es requerido, etc. Se mide cuan explcito es el SCR Palabras como puede, opcional,etc. Mide las opciones que presenta SCR Nmero de estilos por palabra, nmero de palabras por sentencia, etc.
Directivas Tamao
Estadsticas de legibilidad
Especificacin de profundidad
UNPSJB - 2005
82
El sistema deber reportar al operador todas las fallas que se originen en funciones crticas o que puedan ocurrir durante la ejecucin de secuencias crticas y para las que no haya planes de recuperacin
Originan en funciones crticas Ocurren durante secuencias crticas No hay planes de recuperacin
V V V
F V V
V F V
F F V
V V F
F V F
V F F
F F F
Se avisa al operador?
UNPSJB - 2005 Ingeniera de Software - Clase 3 83
Usar personal con diferentes bases de conocimiento Incluir gente de soft, gente que entienda el problema, y usuarios El revisor debe ser diferente al autor
Notacin semiformal (tablas, grficos) Lenguajes de especificacin formales Poner un requerimiento ms de una vez ayuda al lector a comprender Pero es redundancia Se debe usar una notacin ms formal y no repetir.
UNPSJB - 2005
84
Caractersticas de un SRS
Modificabilidad
Bien estructurado, indexado, con referencias cruzadas Sin redundancia No es modificable si no es trazable Cada requerimiento se puede rastrear hasta su fuente Cada requerimiento se puede rastrear hasta su implementacin Que lo haga fcilmente comprensible
Trazabilidad
Notacin til
UNPSJB - 2005
85
Partes de un SRC
Revisin
Referencias
Describe aproximaciones recomendadas para la especificacin de requerimientos. A otros modelos IEEE Conceptos bsicos para la prctica del modelo
Definiciones
Leer cuidadosamente el paper IEEE prctica recomendada para especificacin de Req. De soft (paper Q) La especificacin del trabajo integrador deber hacerse siguiendo esta metodologa
UNPSJB - 2005
86
Trazabilidad de requerimientos
Definicin
El documento en cuestin contiene o implementa todas las estipulaciones aplicables en el documento predecesor Un trmino dado, acrnimo o abreviacin significa la misma cosa en todos los documentos Un tem o concepto se referencia por le mismo nombre o descripcin en el documento Todo el material en el documento sucesor tiene las bases del predecesor, esto es, no se agrega material que no se pueda trazar Dos documentos no se contradicen
UNPSJB - 2005
87
Trazabilidad de requerimientos
Resumiendo
Importancia
Es una demostracin de completitud, necesidad y consistencia Una camino claro de alocacin y seguimiento de flujo a travs del documento Una derivacin a travs de una jerarqua
Evaluar adecuadamente los test disponibles Evaluar la conformidad de requerimientos Evaluar la completitud, consistencia y anlisis de impacto Evaluar el diseo hacia atrs y hacia delante Investigar como el comportamiento de mayor nivel impacta en la espeficacin detallada. Detectar conflictos de requerimientos Chequear consistencia a travs del ciclo de vida
88
UNPSJB - 2005
Trazabilidad de requerimientos
Mantenimiento
Administracin
Dificultades
Costo
Muy poco soporte automatizado Completa trazabilidad es muy cara y consumista de tiempo
UNPSJB - 2005
89
Trazabilidad de requerimientos
Gratificacin demorada La gente que define los links de trazabilidad no son gente que se beneficie con ellos
Tamao y diversidad
Desarrollo vs V&V
Gran rango de documentos distintos, herramientas, decisiones, responsabilidades No hay esquemas comunes para clasificar y catalogar requerimientos En la prctica, la trazabilidad se enfoca en lneas base de requerimientos.
UNPSJB - 2005
90
Cobertura
Links desde los requerimientos hacia el diseo, codificacin y casos de test Links hacia atrs: desde test, codificacin y diseo a requerimientos Links entre requerimientos en diferentes niveles Asignar un nico ID cada sentencia o prrafo
Proceso de trazabilidad
Identificar manualmente links Usar tablas manuales para grabar links en los documentos Usar la herramienta de trazabilidad (BD) para la trazabilidad de un gran proyecto Las herramientas tienen la habilidad de
UNPSJB - 2005
91
Cuales?
Limitaciones
Identificadores nicos
Cada requerimiento tiene un Ej ID nico con una BD de Herramientas de BD (RTM, referencias cruzadas SLATE, DOORS)
Todas requieren un gran esfuerzo manual para definir los links Todas tienen informacin puramente sintctica, sin contexto semntico
UNPSJB - 2005
92
Limitaciones de herramientas
Comunicacin informal
informacin de trazabilidad
por ej. No pueden decir quien es el responsable de determinado dato
Falta de convenio
La gente le da mucha importancia la contacto entre personas con comunicacin informal Se suplementa lo que se almacena en la BD de trazabilidad El resultado es una BD de trazabilidad que solo da parte de la historia An con la herramienta no es fcil encontrar las personas que generaron el requerimiento
UNPSJB - 2005
93
Cuales son?
Cambio
Intervencin
En que punto del ciclo de vida se produce un cambio o evolucin de req? Quien necesita ser avisado por cambios en los req?
Notificacin
por este req? Quin es el responsable actual? En que punto de ciclo de vida el responsable cambia?
Prdida de conocimiento
UNPSJB - 2005
Validacin de requerimientos
Qu veremos
El problema de la validacin
El problema de la negociacin
Validar requerimientos
Priorizacin de requerimientos
UNPSJB - 2005
95
El problema de validar
Hay un objetivo en el mundo que puede ser modelado construyendo un cuerpo consistente de conocimiento basado en observacin emprica
Usar herramientas que testeen consistencia y completitud del modelo Usar revisiones, prototipos etc para demostrar que el modelo es vlido
En IR se asume que hay un problema objetivo que existe en el mundo Construir un modelo
consistente (validarlo con observaciones empricas)
Las teoras puede no proveer cosas correctas, se puede refutar encontrando excepciones Las teoras son cientficas si pueden ser refutadas
UNPSJB - 2005
96
El problema de validar
Usar actores para que construyan sus propios modelos de requerimientos Usar tcnicas etnogrficas para entender el problema.
UNPSJB - 2005
Revisiones e inspecciones
Como tratarlos
Inspecciones
Informal: en una charla de caf o en un reunin de equipo Formal:encuentros programados, participantes preparados, agenda definida, formato especfico, salida de documento acordado Usados para proveer certeza sobre el diseo
Administradores de revisin
UNPSJB - 2005
Programacin de aplicaciones
Ms efectiva que el testing La mayora de los programas corren bien la primera vez
Se encuentra entre un 60 y 80% de errores durante la inspeccin Reduccin de costo entre el 50 y 80% para V&V.
Incrementa la moral Mejor estimacin y planificacin Mejor administracin de las habilidades del staff
UNPSJB - 2005
Limitaciones de la inspeccin
Tamao
Suficiente gente de manera que todos los expertos estn disponibles Mnimo 3 mximo 7 personas Nunca ms de 2 horas (se pierde objetividad y concentracin) Todos los revisores deben de estar de acuerdo con los resultados
Duracin
Alcance
Salidas
Tomar pequeas partes, nunca el todo Examinar el producto cuando el autor termina con l.
100
Timing
UNPSJB - 2005
Limitaciones de la inspeccin
No muy temprano El producto no est listo se pueden encontrar problemas que el autor se encuentra solucionando No muy tarde El producto estar en uso los errores sern muy costosos de solucionar Obtener datos que ayuden a no cometer el error en el futuro
Propsito
UNPSJB - 2005
101
Antes de la revisin
Planificar las revisiones formales (RTF) en el plan del proyecto Entrenar a los revisores Asegurar que todos los asistentes estn preparados
Pegarse a la agenda Limitar el debate y la refutacin Identificar problemas pero no tratar de solucionarlos Tomar notas escritas
UNPSJB - 2005
Posibilidades
A quien excluir:
Especialistas en revisin (gente de QA) Gente del mismo equipo del autor Gente invitada por ser especialistas Gente interesada en el producto final Gente que tenga algo para contribuir Gentes de otra parte de la organzacin
Cualquier responsable directo o indirecto del autor Cualquiera con problemas personales declarados contra el autor Cualquiera que no est calificado en revisin Todos los administradores Cualquiera que tenga conflicto de intereses
UNPSJB - 2005
103
Estructuracin de la inspeccin
Ad hoc:
Lista de chequeos
Cada revisor lee con un propsito especfico, usando cuestionarios especializados Diferentes revisores toman diferentes perspectivas
Diferencias Usar una lista de Los escenarios encuentran preguntas o casos a mayores fallos que los otros revisar mtodos A lista se hace a No hay una diferencia medida del marcada entre los dos documento evaluado
primeros
UNPSJB - 2005
104
Prototipacin
Definicin
Un prototipo de soft es una implementacin parcial construida para permitir al cliente, usuario o desarrollador aprender ms sobre el problema o su solucin Prototipar es el proceso de construir o trabajar sobre el modelo del sistema Primera prototipo descartable Segunda prototipo evolucionable
Respecto de definicin
UNPSJB - 2005
105
Caractersticas de prototipos
Explicativo
Explica, demuestra e informa, luego se avanza Determina el problema, evala necesidades, clarifica metas, examina alternativas y evala ideas, es informal, no es estructurado Evala propuestas y el comportamiento del modelo Elige y refina soluciones, se usa como producto
Exploratorio
Experimental
Evolucionario
UNPSJB - 2005
106
Clases de prototipos
Dos clases
Ventajas
Descartables
Propsito
Uso
Aprender el medio de trabajo para lograr una mejor adaptacin a las necesidades y solucin Entrega temprana, test temprano, menos costo Bueno an cuando falle Derrochar esfuerzo si los requerimientos cambian rpidamente Generalmente el prototipo reemplaza documentos
107
Desventajas
Aproximacin
Rpida y sucia
UNPSJB - 2005
Clases de prototipos
Evolucionables
Ventajas
problema o su solucin Reducir el riesgo de construir partes del sistema en forma temprana Incremental, evolucionable Vertical: necesita desarrollo riguroso e incremental
Los requerimientos no estn congelados Solo se retorna al incremento anterior si se encuentra un error Flexible ? Est en la otra punta de los mtodos estructurados No se garantizan las soluciones ms efectivas Poco control y direccin
108
Uso
Desventajas
Aproximacin
UNPSJB - 2005
Clases de prototipos
Prototipos organizacionales
Se crea un prototipo evolucionable, basado en una lnea base usando metodologa clsica (cascada) La lnea base se enva a varios clientes junto con prototipadores experimentados El prototipador evala al cliente con el sistema
El prototipador graba las experiencias del usuario El usuario le dice al prototipador por necesidades faltantes El prototipador hace cambios rpidos en el prototipo El usuario reutiliza el nuevo prototipo Se gira sobre el prototipo rpido adaptndolo Cada cierto tiempo el prototipo y el prototipador retornan al laboratorio para adaptar mejor el prototipo (evolucionarlo) Esto se repite indefinidamente
UNPSJB - 2005
109
Acordando requerimientos
Aspectos
Negociacin y resolucin de conflictos Entre requerimientos encontrados Priorizacin de requerimientos En la psicologa social, el foco es la interdependencia y percepcin La interaccin de gente intedependiente que percibe en forma opuesta metas, objetivos o valores, y como ve a la otra parte como interfiriendo sobre sus objetivos.
Ingeniera de Software - Clase 3 110
Definicin de conflicto
UNPSJB - 2005
Acordando requerimientos
En IR, el foco es la inconsistencia lgica El conflicto es una divergencia entre metas, hay una condicin lmite que hace al objetivo inconsistente Nota: Los conflictos pueden ocurrir entre individuos, grupos, organizaciones o roles diferentes jugados por una sola persona No todas las partes del conflicto necesitan necesariamente ser participantes en la solucin presentada
UNPSJB - 2005
111
Modelo de resolucin
No todos los conflictos necesitan un mtodo de resolucin, as como no todos los conflictos necesitan ser resueltos
Cooperativo involucra negociacin Competicin involucra combate, coercin y competicin Resolucin por terceras partes arbitraje y apelar a una autoridad
UNPSJB - 2005
112
Modelo de resolucin
Negociacin
Competicin
Exploracin cooperativa en el rango de posibilidades Los participantes tratan de encontrar un punto comn que satisfaga a todas la partes
Alcanzar la mxima satisfaccin para el participante No tener en cuenta el grado de satisfaccin de las otras partes No ser necesariamente hostiles
UNPSJB - 2005
113
Modelo de resolucin
Terceras Partes
Licitar y negociar
Judicial: cada parte presenta tu base de conocimiento Extra judicial: se determina una decisin por factores mas que por los casos presentados Arbitraria: tirar una moneda
Licitar Los participantes establecen sus trminos deseados Negociar Los participantes buscan por la integracin satisfactoria de sus pedidos.
UNPSJB - 2005
114
Causas de conflictos
Deutshc (1973) Control sobre los recursos Preferencias y estorbos (gustos o actividades de una parte chocan contra otra) Creencias (disputas sobre hechos, informacin, realidad) La naturaleza de relacin entre partes Robbins (1989) Comunicacional (intercambio insuficiente de informacin, ruido, percepcin selectiva) Estructural (compatibilidad de metas, claridad jurisdiccional, estilo del lder) Factores personales (sistemas de valores individuales, caractersticas de personalidad)
Ingeniera de Software - Clase 3 115
UNPSJB - 2005
Experiencias resultados
Los conflictos son normales en pequeos grupos que toman decisiones Ms agresin y menos cooperacin si se restringe la comunicacin
Los grupos heterogneos son ms conflictivos (an si son ms experimentados), los grupos homogneos son mejores para tomar decisiones ms riesgosas El efecto de la personalidad es eclipsado por factores de situacin o de percepcin
UNPSJB - 2005
116
Nuestra satisfaccin
Nuestra satisfaccin
mutualmente exclusivos
A y B combinados
A y B combinados
interf irientes
Nuestra satisfaccin
Nuestra satisfaccin
A y B combinados
P ara dos posiciones iniciales A y B, se puede medir la severidad del conf licto examinando que sucede cuando se combinan
inclusivos
no interf irientes
B
UNPSJB - 2005
117
Sociedades
Relaciones supra sociedades
UNPSJB - 2005
Protestantes vs catlicos
Bloque sovitico vs primer mundo
Estado vs mafias
CEE vs Reino unido
118
Prisionero B Confiesa
Dados
Dos o ms jugadores Utilidades conocidas para cada uno de los jugadores Cual estrategia resulta en el mejor resultado Como interactan las estrategias de los jugadores
Prisionero A Confiesa
Puede calcular
Pero
En IR, no sabemos cuales son las utilidades Se puede resolver conflictos pidiendo a los participantes que cambien sus utilidades No sabemos ni siguiera que movimientos son posibles
119
UNPSJB - 2005
Argumentacin
gIBIS
Desarrollado en 1989 Representa el proceso de argumentacin como un grafo hipertextual Proceso bsico
Uso 1
generaliza
responde a
Posicin 1
Argumento 1
Argumento 2 Argumento 3
Identificar usos Identificar posiciones que se pueden adoptar con respecto a las posiciones Linkear argumentos que soporte o refuten posiciones
Uso 2
responde a
Posicin 2
preguntas objeto de
objeto de
Argumento 4
es sugerido por
UNPSJB - 2005
120
Argumentacin
Sinptico
Propuesto por Easterbrook (1991) Herramienta que soporta la negociacin colaborativa enfocada en tareas Proceso bsico (ampliar el paper) Toma cada participante para exteriorizar sus modelos conceptuales Encuentra correspondencias entre los modelos Clasifica los puntos de disidencias Genera opciones para resolver cada disidencia
UNPSJB - 2005
121
Otros casos
OZ
WinWin
Desarrollado por Robinson (1992) Usa el modelo de dominio preexistente para comparar perspectivas de conflicto Proceso bsico
Identificar perspectivas (coleccin de creencias) Guardar perspectivas anotando el modelo de dominio de metas y objetivos El modelo de dominio linkea atributos del producto a metas Elegir combinaciones de atributos de productos para maximizar la satisfaccin de participantes
Desarrollado por Bohem (1990) Identifica condiciones de triunfo de cada participante Incorpora el conocimiento base del dominio para calidad de requerimientos y links de atributos del producto Proceso bsico
Entrar las condiciones de triunfo bsicas de cada participante Identificar estrategias de atributos para condiciones de triunfo Determinar efectos negativos para cada estrategia sobre cada condicin de triunfo Resolver manualmente las desaveniencias
UNPSJB - 2005
122
Familias de software
Lneas de productos Como marco para el entendimiento de la evolucin de requerimientos Administracin de inconsistencia Razonamiento sobre el cambio Rasgos ppales de la interaccin
Puntos de vista
UNPSJB - 2005
123
Tipos de programas
Programas Especificables
Problemas que pueden ser establecidos formal y completamente Aceptacin: el programa est acorde con su especificacin? Este soft no evoluciona
pr con od tro uc la ci la n de
Mundo Real
pue de de se inte r rs
Programa
ov Pr ee
Solucin
UNPSJB - 2005
124
Tipos de programas
Sentencias imprecisas del problema del mundo real Aceptacin: el programa es una solucin aceptable al problema? El soft evoluciona continuamente
Cambia
Mundo Real Vista abstracta del mundo real Compara Cambia Especificacin de requeriminetos
Porque la solucin nunca es perfecta, y puede ser mejorada Porque el mundo real cambia y entonces el problema cambia
Solucin
Programa
UNPSJB - 2005
125
Tipos de programas
Programas empotrados
Un sistema que es parte del mundo al que modeliza Aceptacin: depende enteramente de una opinin o un juez Es inherentemente evolcionario Los cambios en el soft y el el mundo real se afectan entre s
Especificacin de requeriminetos
Modelo
UNPSJB - 2005
126
Ley fundamental
Cualquier soft que refleje una realidad externa est en cambio continuo o se torna progresivamente menos utilizado El cambio contina hasta
que se crea que es mejor tirarlo y hacerlo de nuevo
Incremento de complejidad
Durante la vida activa del soft, el trabajo de salida de proyecto de desarrollo es constante
Conservacin de la familiaridad
UNPSJB - 2005
127
Crecimiento en requerimientos
Modelo de Davis
Solo se hacen parte de los requerimientos originales Siempre se agrega nueva funcionalidad Eventualmente se tornan en soft muy costoso que necesita planear sus cambios Los reemplazos solo implementan partes de los requerimientos
UNPSJB - 2005
128
Filosofa de mantenimiento
Los cambio hechos a nivel de cdigo, tan fcil como se pueda Rpidamente degrada la estructura del soft de soft existente Trata de controlar la complejidad y mantener un buen diseo Empieza con los requerimientos de un nuevo sistema, reusando tanto como se pueda Necesita una cultura madura de reuso para tener xito
UNPSJB - 2005
129
Agregar nuevos requerimientos durante el desarrollo Modificar requerimientos durante el desarrollo Porque el desarrollo es parte del proceso de aprendizaje Remover requerimientos durante el desarrollo Quiz por problemas de costos
UNPSJB - 2005
130
Items de configuracin
Cada producto diferente durante el desarrollo es un tem de configuracin Control de versin para cada tem Versin estable del documento que puede ser compartida por el equipo Proceso de aprobacin formal para incorporacin de cambios
Lneas base
Todos los cambios propuestos son enviados formalmente como pedidos El equipo de revisin toma los pedidos de cambio y decide o no su aceptacin El equipo de revisin considera la interaccin entre cambios de requerimiento
UNPSJB - 2005
131
singularidad de productos
La mayora de las tcnicas de Lo anterior ignora la realidad IR se enfocan a modelos La IR no termina en la individuales especificacin
Pasos
Los requerimientos son voltiles, se necesita administracin continua de cambio Las especificaciones nunca se completan Hay mltiples versiones de modelos en el tiempo Hay mltiples variantes del modelo que exploran diferentes temas
132
UNPSJB - 2005
singularidad de productos
Hay mltiples componentes de modelos representando diferentes descomposiciones Las familias de modelos evolucionan con el tiempo (agregando, borrando, mezclando o reestructurando la familia)
Como se administra el cambio incremental del modelo de req? Como se pueden comparar mltiples modelo? Como afectan los cambios del modelo a las propiedades establecidas para l? Como se puede capturar la racionalidad del cambio? Como tratar con las inconsistencias e incompletitudes del modelo
UNPSJB - 2005
133
Familias de Software
Desarrollo de programas (Java, C) Divide el desarrollo del soft en dos partes Anlisis del
dominio(identifica componentes reusables del dominio del problema Desarrollo de aplicacin (usa componentes de dominio para especificar aplicaciones)
Ingeniera de dominio
Reusar conocimiento y experiencia ms que solo productos de soft El desarrollo de soft reusable es ms caro!!
UNPSJB - 2005
134
Familias de Software
Familias de soft
UNPSJB - 2005
135
Mltiples perspectivas
Modelado distribuido
Muchos actores diferentes Diversas clases de conocimiento del dominio Vistas conflictivas (y negociacin) Muchos esquemas de representacin
Analistas y actores colaborando Mtodos mltiples de modelado Evolucin continua de requerimientos Links de comunicacin imperfectos
UNPSJB - 2005
136
Inconsistencias causas
Conflicto entre fuentes de conocimiento Diferentes interpretaciones Problemas de comunicacin entre desarrolladores Diferentes velocidades de desarrollo Divergencias en los mtodos previstos errores
Se transforman en cuellos de botella para el proceso de modelado distribuido La coercin previene la divergencia de ideas
Resolucin prematura puede conllevar decisiones de diseo prematuras La inconsistencia implica que se necesita ms adquisicin de conocimiento Algunas inconsistencias nunca sern resueltas
137
UNPSJB - 2005
Propietario Dominio (que describe) Estilo (notacin o reglas utilizadas) Plan de trabajo (obligaciones de consistencia con otros PV) Historia de los cambios Especificacin de contenido
Tiene un estilo y un plan de trabajo El desarrollo de templates es una tarea separada Un mtodo provee un conjunto de templates designados para ser usados juntos
UNPSJB - 2005
138
Reglas de consistencia internas para chequeo de especificacin de PV Reblas Consistencia externa para chequeos entre PV Plan de trabajo provee guas para cuando aplicar cada regla de consistencia
UNPSJB - 2005
139
Ventajas de los PV
Actores y trazabilidad
Los propietarios de PV pueden ser roles, personas, equipos... Cada contribucin de un actor es modelizada en una notacin apropiada
Cada actor puede validar e identificar su propia contribucin Se incrementa el concepto de propiedad en el proceso de requerimiento
Cada PV es una pieza independiente No hay control global, no hay esfuerzos globales para consistencia
Trabajo sincrnico o asincrnico Las reglas de chequeo de consistencia actan puntos explcitos de sincronizacin
140
UNPSJB - 2005
Ventajas de los PV
Estructuracin de descripciones
Las contribuciones de diferentes actores son modelizadas por separado Separacin de competencias Enriquece el modelo a travs del uso de mltiples estructuras de problemas Resolucin de inconsistencias puede verse demorada Soporta negociacin permitiendo comparacin detallada de PV Anima el modelado temprano y expresin de vistas diferentes
UNPSJB - 2005
141
PV hacia adonde???
Mtodo de ingeniera
Mtodo de diseo definir un conjunto de templates coherentes PV como una herramienta Meta CASE Un proceso de modelado de grano fino en cada PV
Proceso de modelado
Como grafos Como predicados sobre estructuras de objetos Como expresiones de lgica de primer orden
Como pude la inconsistencia ser reparada una vez detectada? Cuales son las consecuencias de no repararlas?
Administracin de consistencia
Como presentar reglas Trazabilidad de requerimientos de consistencia inter Los PV asociados a actores PV? con sus contribuciones
Ingeniera de Software - Clase 3
UNPSJB - 2005
142
Administracin de inconsistencia
Definicin de inconsistencia
Conflicto entre fuentes de conocimiento Interpretaciones diferentes Problemas de comunicacin entre desarrolladores Diferentes velocidades de desarrollo Divergencias entre los mtodos utilizados errores
Dos partes de las especificacin no obedecen la misma relacin que est definida para ellos Las relaciones pueden unir
Elementos sintcticos de especificacin parcial Semntica de elementos en especificaciones parciales Subprocesos del proceso de desarrollo
UNPSJB - 2005
143
Administracin de inconsistencia
Las inconsistencias pueden solamente ser detectadas automticamente si las relaciones estn definidas formalmente
UNPSJB - 2005
144
Inconsistencia
La inconsistencia est en la IS
Las descripciones de IS varian mucho en formalidad y precisin Descripciones individuales pueden ser formadas mal o ser contradictorias Las descripciones continan evolucionando durante el desarrollo El chequeo de consistencia de un gran conjunto de descripciones es muy caro en trminos computacionales
Porque el costo de cambiar documentos sobrepasa el beneficio Porque los humanos son buenos inventando excusas
UNPSJB - 2005
145
Inconsistencia
La inconsistencia es contradictoria
Ej:
Porque generalmente es vista como algo malo Porque siempre se puede cuestionar la formalizacin
UNPSJB - 2005
146
La deteccin es vital
Demorarla:
Si se necesita informacin que no est disponible por el momento Tomar acciones que afinen la situacin pero que no resuelvan la inconsistencia Negociar una solucin o encontrar un compromiso
Manejo de inconsistencia
Mejorarla
Evadirla
Remover / reemplazar elementos inconsistentes, o remover / reemplazar reglas que fueron rotas Si puede ser aislada y no es importante
Resolverla:
Ignorarla
UNPSJB - 2005
147
Localizar
Inconsisten cia Detectada Caracterizacin de Inconsistencia
Ignorar
Identificar
Tolerar
Inconsistencia Manipulada
Clasificar
Resolver
Midiendo Inconsistencias
UNPSJB - 2005
Quin es el responsable
El sistemas administrador de transacciones entre PV Los dos PV testeados son notificados de los resultados
UNPSJB - 2005
149
Las Acciones pueden no llevar a una solucin Las acciones surgen de los mtodos de diseo y de experiencias en su uso
Cada regla puede necesitar ser aplicada un nmero de veces durante el desarrollo
Los cambios que afectan inconsistencias resueltas son trazados Las acciones involucradas en la resolucin son guardadas como parte de documentos
150
UNPSJB - 2005
Ejercicios y trabajos
Investigar sobre las metodologas de anlisis I* y KAOS (presentar un informe) Investigar sobre RTF Presentar un documento que resuma las actividades de las RTF describiendo cada paso involucrado Investigar sobre el estado del arte de la prototipacin. (a partir del paper que deben leer) Investigar sobre el estado del arte en la negociacin de conflictos Leer los papers: E,F,H,I,O,P,Q,U,V,W Buscar el paper Metodologas de Anlisis y Diseo convencional y OO del material 2002-2003.
UNPSJB - 2005
151