Академический Документы
Профессиональный Документы
Культура Документы
Configuracin (SCM)
Introduccin a la Ingeniera de
Software
Ao 2007
Temario
Configuracin del software
Gestin de la Configuracin
Versiones
Control de Cambios
Lnea base
Auditoria de la configuracin
Herramientas
2
Problemas
Cambios hechos por distintos
programadores se pierden?
Que versin hay que instalar en el cliente?
Un error corregido, reaparece?
Se implement un cambio que no estaba
confirmado?
Cuales son los fuentes que se
corresponden con un ejecutable?
Cual es la ultima versin del Manual de
Usuario?
3
Configuracin
Configuracin del software: Los elementos
que componen toda la informacin
producida como parte del proceso de
ingeniera de software
Fuentes
Ejecutables
Documentos
Datos, etc
Gestin de la Configuracin
(SCM)
Identifica, organiza y controla las modificaciones
del software a travs del ciclo de vida.
Actividades de SCM:
Identificacin de elementos
Control de versiones
Control de cambios
Auditar la configuracin
Generacin de informes
Identificacin de elementos
Cada elemento se identifica de forma
nica
Cada elemento consta de :
Nombre: Texto sin ambigedad
Versin
Tipo: documento, programa, datos, etc
Proyecto
Informacin del cambio o la versin
6
Control de versiones
Combina los procedimientos y
herramientas para gestionar las
versiones de los elementos
Se puede versionar asociando
un
1.3
1.4
numero a cada versin
1.0
1.1
1.1.1
1.2
2.0
2.1
1.1.2
Controlar el Cambio
Lnea Base
Elemento de configuracin que se ha revisado
formalmente y que se ha llegado a un acuerdo
Sirve como base para desarrollos posteriores y
puede cambiarse solo a travs de los
procedimientos de control de cambios
Controlar el Cambio
Los elementos de la configuracin se cambian
rpida e informalmente hasta que en un
momento se convierte en lnea base, a partir
de ah el cambio se controla mediante
procedimientos formales
Controlar el cambio:
Cambio 2
A2
B2
A1
B1
Lnea base L1
Cambio 1
C1
D1
E1
A2
B2
A1
B1
C1
D1
E1
10
Definicin de Requerimientos
Especificacin
Mdulos de Diseo
Cdigo que implementa los mdulos
las pruebas para verificar la funcionalidad
los documentos que describen el sistema
Auditoria de Configuracin
Auditoria de la configuracin: Verificar que en un
momento dado, el Sistema en desarrollo es una
coleccin de productos consistente y bien definida .
Determinar que todos los elementos de configuracin estn
presentes en la lnea base del Software, estableciendo la
correctitud de la versin de cada elemento de configuracin
Prevenir problemas
Generacin de Informes
Los informes intentan responder las
siguientes preguntas:
qu pas?
Quin lo hizo?
cundo?
Qu mas se vi afectado?
12
Herramientas
Uso de repositorio delta storage
Modelo checkin/checkout
1.1
1.1.1
1.2
1.1.2
1.3
1.4
2.0
2.1
Merge
13
Requisitos
Introduccin a la Ingeniera de
Software
Ao 2007
Temario
Definiciones
Documentos de Requisitos
Requisitos funcionales y no funcionales
Tipos de Requisitos
Proceso de los Requisitos
Modelado del Sistema - Tcnicas
Obtencin de Requisitos - Tcnicas
Validacin Tcnicas
Administracin de los Requisitos
Medicin
Especificacin Formal - Z
15
Bibliografa
Pfleeger: Captulo 4
Sommerville: Captulos
5 Requisitos del software
6 Procesos de la Ing. De Requisitos
9 Especificacin formal
16
Motivacin
17
Definiciones
Requisitos:
Descripcin de los servicios que debe
brindar un sistema y sus restricciones
Ingeniera de Requisitos
Proceso de descubrir, analizar,
documentar y verificar esos servicios y
restricciones
18
Definiciones
Sistema
Incluye hardware, software, firmware,
personas, informacin, tcnicas, servicios, y
otros elementos de soporte
20
Causas
%
Respuestas
Requisitos incompletos
13.10%
Falta de involucramiento de
usuarios
12.40%
Falta de Recursos
10.60%
Expectativas no realistas
9.90%
9.30%
Requisitos y Especificaciones
cambiantes
8.70%
Falta de planificacin
8.10%
Sistema no se precisaba ms
7.50%
21
22
Documentos de Requisitos
Documentos de Requisitos
(2) Entendimiento comn
Usar un mismo documento:
Definicin de Requisitos
Especificacin de Requisitos
Mdulos de Diseo
Cdigo que implementa los mdulos
las pruebas para verificar la funcionalidad
los documentos que describen el sistema
24
Caractersticas deseables
de su Especificacin (IEEE
830)
Correctos: Todos los Requisitos son requeridos en el
sistema
No existe herramienta que asegure esto
Debe ser revisado por el cliente y desarrolladores
Revisado contra otros documentos existentes
Caractersticas deseables
de su Especificacin (IEEE
830)
Consistentes: No son contradictorios entre s
Ordenados por Importancia y estabilidad
Otra forma de categorizar: Esencial/Condicional/Opcional
Caractersticas deseables
de su Especificacin (IEEE
830)
Trazables: El origen de cada requerimiento es
claro, y es posible seguirle la pista en futuros
desarrollos o mejora de la documentacin
Realistas
Ej.: tiempo de respuesta local=remoto
Ej.: El cliente quiere adelantarse a la tecnologa
Documento Definicin de
Requisitos
Registrar los Requisitos en los trminos del cliente
1. Delinear el propsito general del sistema: Incluir
referencias a otros sistemas, glosario y abreviaciones
2. Describir el contexto y objetivos del desarrollo del
sistema
3. Delinear visin global del sistema: Incluir
restricciones generales
4. Definir en detalle las caractersticas del sistema
propuesto, definir la frontera del sistema e interfaces.
5. Discutir el ambiente en el que el sistema va a operar
(hardware, comunicaciones, personal).
28
Requisitos funcionales y NO
funcionales
Funcionales:
No-funcional:
29
Requisitos NO funcionales
Del Producto: Especifican restricciones al comportamiento
del producto
Ejemplos: desempeo, confiabilidad, portabilidad, usabilidad
Interfaces
Entrada de 1 o + sistemas, Salida a 1 o + sistemas, restricciones
de formato, soporte
Datos
formatos E/S, frecuencia, fuentes, destinos, calidad
requerida, precisin en clculos, flujo en el sistema
Recursos
materiales, personal y otros para construir, usar y
mantener el sistema, habilidades de los
desarrolladores, necesidades de espacio y
ambientales, calendario prescrito, limitaciones en
presupuesto
32
Aseguramiento de la Calidad
Confiabilidad -tiempo medio entre fallas, robustez,
tolerancia a fallas
Disponibilidad - tiempo para estar operativo luego de
falla- mantenimiento estando activo- tiempo mximo
de no disponibilidad
mantenibilidad
seguridad
portabilidad
33
Requisitos - Fuentes
Necesidades del Cliente, usuario, otros
interesados
Modelos del Dominio
Revisar la situacin actual
Organizacin actual y sistemas
Documentos existentes (antecedentes)
Sistemas anlogos ya existentes
(antecedentes)
34
Proceso
Estudio de
factibilidad
Obtencin y
Anlisis de
Requisitos
Actividad
es
Especificacin
de
Requisitos
Validacin
de
Requisitos
Artefacto
s
Informe
de
factibilida
d
Documento
de
Requisitos
Modelo del
Sistema
Especificacin
de Requisitos
35
Estudio de factibilidad
Estudio corto para resolver si es
posible y conveniente construir el
sistema con la tecnologa existente, las
restricciones de costo y tiempo, etc.
Informe de Factibilidad: Documento
donde se recomienda si seguir con el
sistema, proponiendo cambiar el
alcance, presupuesto, agenda, etc.
36
Proceso
Estudio de
factibilidad
Obtencin y
Anlisis de
Requisitos
Actividad
es
Especificacin
de
Requisitos
Validacin
de
Requisitos
Artefacto
s
Informe
de
factibilida
d
Documento
de
Requisitos
Modelo del
Sistema
Especificacin
de Requisitos
37
Brecha en la Comunicacin
Segn desarrolladores,
usuarios...
los
Segn usuarios,
(Scharer 90)
los desarrolladores...
quieren todo ya
Comprensin
del dominio
Verificacin
de Requisitos
Recoleccin de
Requisitos
Priorizacin
Clasificacin
Resolucin de
Conflictos
40
Proceso
Estudio de
factibilidad
Obtencin y
Anlisis de
Requisitos
Actividad
es
Especificacin
de
Requisitos
Validacin
de
Requisitos
Artefacto
s
Informe
de
factibilida
d
Documento
de
Requisitos
Modelo del
Sistema
Especificacin
de Requisitos
41
Especificacin de los
Requisitos
Lenguaje Natural
Comprensible para el Cliente/Usuario
Ambiguo (glosario)
Poca legibilidad (plantilla, formateo del texto)
Difcil de tratar (Verificar correctitud, consistencia,
completitud)
Notaciones Especiales
Grficas vs. Basadas en texto
Estticas vs. Dinmicas
Descripciones Estticas
Se especifican entidades y sus atributos, los Requisitos
se pueden ver como las relaciones entre las entidades.
No describe como cambian las relaciones con el tiempo
Descripciones Dinmicas
Especifican estados y las transiciones entre estados en
el tiempo
43
Proceso
Estudio de
factibilidad
Obtencin y
Anlisis de
Requisitos
Actividad
es
Especificacin
de
Requisitos
Validacin
de
Requisitos
Artefacto
s
Informe
de
factibilida
d
Documento
de
Requisitos
Modelo del
Sistema
Especificacin
de Requisitos
44
Validacin de Requisitos
Proceso por el cual se determina si la especificacin es
consistente con las necesidades del cliente
Incluye verificar trazabilidad entre la especificacin y el
documento de Requisitos
Se trabaja con un bosquejo completo del documento a
diferencia de la verificacin del Anlisis
Se realizan las siguientes verificaciones en el doc de
Requisitos:
Validez: compromiso con el usuario, que valide que es lo que quiere
Consistencia: que no haya contradicciones
Realismo: que se puedan implementar (incluye: tecnologa,
presupuesto y calendario)
Verificabilidad: Disear conjunto de pruebas para demostrar que el
sistema cumple esos Requisitos
45
Verificacin de Requisitos
NO funcionales
Medida
Rapidez
Tamao
KB
Fiabilidad
Portabilidad
Facilidad de
uso
Tiempo de capacitacin
Participantes en el Proceso
de Requisitos
Cliente y Usuarios
Diseadores
Comprenderlos para lograr diseo que los
satisfaga
Verificadores
Comprenderlos para poder verificar si el sistema
los satisface
47
Proceso
Estudio de
factibilidad
Obtencin y
Anlisis de
Requisitos
Actividad
es
Especificacin
de
Requisitos
Validacin
de
Requisitos
Artefacto
s
Informe
de
factibilida
d
Documento
de
Requisitos
Modelo del
Sistema
Especificacin
de Requisitos
48
Tablas de Decisin
Redes de Petri
Diagramas de Flujo de Datos (DFD)
Casos de Uso
UML
Diagramas de Casos de Uso
Diagramas de Actividad
Diagramas de estado
Diagrama de clases
Modelo Conceptual
49
Tablas de Decisin
Descripcin dinmica
Conjunto de condiciones posibles en un cierto
instante
Estados donde se verifica una combinacin
Estados
determinada de las condiciones
Acciones a tomar
1
2
3
4
Condicion
es
Acciones
Buenos Antecedentes
Ya oper antes
Autorizar Crdito
Analizar antecedentes
X
X
Redes de Petri
Descripcin dinmica
Permiten describir:
Concurrencia
Sincronizacin
L2 -Lugar
Significado:
Transiciones: Modelan
eventos o acciones
Lugares con marca:
Cumplimiento de una
condicin
Transicin activada:
Ocurrencia del evento o
ejecucin de la accin
52
habilitada:de
TransicinRedes
Existe al menos un
token en cada uno de
sus lugares de entrada
L1
L3
L2
L4
Petri (3)
Al activarse una
transicin, los tokens
que activaron la
transicin
desaparecen de los
lugaresL1
de entrada
L2y
se generan tokens en
los lugares de salida
deT1la transicin
L5
L3
L4
L5
53
L1
T1
T3
T6
L2
L5
T2
L3
T4
T7
T5
L8
L6
T8
Concurrencia
L7
T9
L9
L10
T10
L11
Sincronizacin
54
dispensadora
T1-Inserta moneda
L1- Tiene moneda
T4-dispensa
T2- rechaza
moneda
T3- acepta
moneda
L3- pronto para
dispensar
55
Elementos
Proceso
DFD - Ejemplo
Experiencia y
conocimiento
Sntomas
Diagnstico
Examen
Medicacin
Mdico
Lista de exmenes y
servicios brindados
Diagnstico
Contabilidad
Factura
Exmenes y
Precios
Paciente
Registro Contable
57
DFD
Permite visualizar cmo fluye la informacin por el sistema
est asociado a una realizacin particular del sistema
El diagrama no es suficiente para precisar el comportamiento:
por un flujo que entra a un proceso desde un archivo,
fluye un registro o todo el archivo?
No estipula sincronizacin, un flujo llega a una entidad externa y otro
sale Estn relacionados? Uno es respuesta del otro?
Casos de Uso
Tcnica para entender y describir Requisitos
Los casos de uso son Requisitos, describen
Requisitos funcionales
Pone el acento en el uso del producto
Describen como el sistema debe comportarse
desde el punto de vista del usuario
Casos de Uso como caja negra: Especifican que es
lo que el sistema debe hacer sin especificar cmo
debe hacerlo
Se describen mediante documentos de texto
Introducido por Ivar Jacobson (1992)
59
Actor
Entidad externa que interacta con el sistema
( persona identificada por un rol o sistema
externo)
Actor principal: Sus objetivos son cumplidos al
realizar el caso de uso
Los actores son externos al sistema que vamos a
desarrollar.
Al identificar actores estamos delimitando el
sistema
Usuario: persona que cuando usa el sistema,
<<actor>>
asume un rol.
Sistema
Actor
60
Cliente
Retiro
Servicio de
Cajeros
Caso de Uso
Caso de Uso
Escenario:
Secuencia de acciones e interacciones entre los actores
y el sistema, dando un resultado de valor observable
para un actor particular
Tambin se conoce como instancia de caso de uso
Es una forma particular de usar el sistema, un camino a
travs de un caso de uso.
Sistema
Servicio de Cajeros
64
Casos de Uso
Forma de encontrarlos: Mirar cada uno de los
actores del sistema y preguntarse que es lo que
buscan cuando usan el sistema
Cada caso de uso modela partes de la dinmica
Diagrama de Casos de Uso descripcin esttica
Los casos de uso son independientes del mtodo
de diseo que se utilice, y por lo tanto del mtodo
de programacin, no son parte del anlisis OO,
pero son una excelente entrada para ello
Los casos de uso pueden dirigir el proceso de
desarrollo. Guan el diseo, la implementacin y la
prueba del sistema
65
Cliente
Depsito
Transferencia
Servicio de Cajeros
69
<<include>>
<<include>>
Retiro
Transferencia
Depsito
71
72
Flujo Principal:
1.
2.
3.
4.
5.
6.
Flujos Alternativos :
2A. La tarjeta no es vlida
2A1. El CA devuelve la tarjeta con el mensaje tarjeta no vlida
6A. PIN invlido y menos de 3 intentos
El Cliente puede realizar tres intentos para ingresar el PIN vlido. Sino, el CA retiene la
tarjeta.
6A1. El SC contesta indicando PIN invlido
6A2. El CA muestra el mensaje PIN incorrecto y sigue en punto 3
6B. PIN invlido y 3 intentos
El CA debe retener la tarjeta
6B1. El SC contesta indicando PIN invlido
6B2. El CA muestra el mensaje Se le retiene la tarjeta
73
Extend - Ejemplo
El Cliente puede querer retirar
monedas adems de billetes
<<include>>
Identificar Cliente
Retiro
<<extend>>
Retirar Monedas
75
Puntos de Extensin:
Retiro de Monedas: En el punto 3 del flujo principal76
Flujos Alternativos:
3A El cliente puede querer cambiar la seleccin, se vuelve a 1
77
Generalizacin Relaciones
entre CU
Algunas veces existe ms de un escenario principal
para un caso de uso
Se puede crear un caso de uso abstracto, crear un
caso de uso para cada escenario principal y que
estos hereden del caso abstracto
el Caso de Uso hijo hereda los escenarios, puntos de
extensin y relaciones definidos en el Caso de Uso
padre
El Caso de Uso hijo puede definir nuevas
operaciones, como tambin redefinir o enriquecer
Validar
Cliente
con nuevas secuencias
de
acciones operaciones ya
existentes en el Caso de Uso padre
Validar con PIN
78
Actividades
79
UML
Diagramas en UML
82
Tipos de Diagramas
Modelo Esttico
Construye y documenta los aspectos estticos de un
sistema.
Refleja la estructura bsica y estable de un sistema
software.
Crea una representacin de los principales elementos del
dominio del problema
Modelo Dinmico
Crea los diagramas que muestran el comportamiento de un
sistema
Se compone de los siguientes diagramas:
83
84
include
extend
Generalizacin
85
Depsito
<<include>>
Validar con Scaner de Retina
Transferencia
86
Nombre Clase
Diagrama de Clases
Atributos
Operaciones
Atributos
Operaciones
Relaciones
Semntica
Cliente.
nombre
usa
0..1
0..n
Tarjeta
Nmero
PIN
Banco
Nombre
expide
n
tiene
0..1
0..n
1
n
Cuenta
saldo
Retiro.
Cajero.
saldo
1
realiza
n
Transaccin
monto
Depsito.
Transferencia.
88
Diagrama de Actividad
Se abren
Flujos
Paralelos
Sincronizaci
n
90
Diagrama de Estados
Muestra el comportamiento de un objeto
representando los estados en que se puede
encontrar y los eventos que le hace pasar de uno a
otro.
Se utiliza para:
Modelar el estado interno de una clase
Modelar el estado de un caso de uso
Esperar
Tarjeta
ingreso tarjeta
Pedir PIN
Seleccionar
cuenta y monto
Verificar
fondos
fondos insuficientes
Devolver
Tarjeta
retiro de tarjeta
dinero suficiente
Dispensar
92
Bibliografa UML
http://www.uml.org/
Artculos en la pgina:
Introduccin a UML - Artculo de la
revista Rational Edge
Diagramas de Actividad - Artculo de la
revista Rational Edge
93
94
Proceso
Estudio de
factibilidad
Obtencin y
Anlisis de
Requisitos
Actividad
es
Especificacin
de
Requisitos
Validacin
de
Requisitos
Artefacto
s
Informe
de
factibilida
d
Documento
de
Requisitos
Modelo del
Sistema
Especificacin
de Requisitos
95
Obtencin de Requisitos
Tcnicas :
Investigar antecedentes
Entrevistas individuales/grupales
Encuestas/Cuestionarios
Tormenta de ideas
Workshop
Casos de Uso
Observacin/Participacin
Prototipado
96
Investigar antecedentes
Ventajas
Ahorra tiempo de otros
Prepara para otros
enfoques
Puede llevarse a cabo
fuera de la organizacin
Desventajas
Perspectiva limitada
Desactualizado
Demasiado genrico
97
Entrevista individual/grupal
Usar para:
Entender el ambiente de
operacin
Evitar omisin de Requisitos
Mejorar las relaciones con el
cliente
Ventajas
Orientado a las personas
Interactivo/flexible
Rico
Desventajas
Costoso
Depende de las habilidades
interpersonales
Seleccionar participantes
Aprender tanto como sea
posible de antemano
Preparar la entrevista
Utilizar un patrn de
estructura
Conducirla
Apertura, desarrollo,
conclusin
98
Otros
Existen Requisitos legales, regulatorios u otros estndares que deban
ser tenidos en cuenta?
Tener en cuenta:
Si el entrevistado comienza a hablar sobre los problemas
existentes, no cortarlo con una prxima pregunta
Luego de la entrevista y mientras los datos an estn en
mente, resumir los principales req .( aprox. 3) de este
entrevistado
100
Encuesta/Cuestionario
No substituye la entrevista
Antes de usar el enfoque:
Desarrollar cuestionario
Probarlo con perfil tpico
Analizar resultado de las pruebas
Ventajas
Economa de escala
Conveniente para quien
contesta
Respuestas annimas
Desventajas
Menos rico
Problemas por no-respuesta
Esfuerzo de desarrollo
101
Observacin/Participacin
Poco utilizado
Antes de usarlo
Ventajas
Confiable
Muy rico
Desarrolla empata
Desventajas
Efecto Hawthorne
Cuidado con generalizar
demasiado (sesgo
particular/local)
102
Tormenta de ideas
(brainstorming)
Objetivo: Lograr consenso sobre los Requisitos
Ayuda a la participacin de todos los
involucrados
Permite pensar en otras ideas
Un secretario saca notas de todo lo discutido
Reglas
No se permite criticar ni debatir
Dejar volar la imaginacin
Generar tantas ideas como sea posible
Mutar y combinar ideas
103
Agrupamiento de ideas
Nombrar los grupos
Definicin
Se escribe una breve descripcin de lo que la idea significa para la
persona que la escribi
Ayuda a tener un entendimiento comn del requerimiento
Lleva unos minutos por idea
Priorizacin (opcional)
Test de los $100: Cada persona tiene dinero para comprar ideas, se
ordena segn ideas mas compradas
Solo se puede hacer una vez
Se debe limitar la cantidad a gastar en 1 sola idea
105
Sesiones de trabajo
(Workshop)
mbito para las tormentas de ideas
Preparacin
Organizar la Agenda
Introduccin
Tormenta de ideas generacin
Tormenta de ideas reduccin
Priorizacin
Resumen
106
Casos de Uso
Usarlo
Cuando el sistema est
orientado a la
funcionalidad, con varios
tipos de usuarios
Cuando la
implementacin se va a
hacer OO y con UML
No son la mejor
eleccin:
Prototipado
Implementacin parcial, permite a los desarrolladores y
usuarios:
entender mejor los Requisitos
cuales son necesarios, deseables
Acotar riesgos
____
mes:
____
da:
____
Julio 1998
1998
1
Ene
2025
31
Dic
Martes 16 Oct. 2002
109
Proceso
Estudio de
factibilidad
Obtencin y
Anlisis de
Requisitos
Actividad
es
Especificacin
de
Requisitos
Validacin
de
Requisitos
Artefacto
s
Informe
de
factibilida
d
Documento
de
Requisitos
Modelo del
Sistema
Especificacin
de Requisitos
110
Validacin de Requisitos
Tcnicas de Validacin:
Manuales
Automatizadas
Referencias cruzadas automticas: Si los Requisitos se expresan
formalmente, las herramientas CASE verifican su consistencia
Ejecucin de Modelos
Construccin de Prototipos
111
Revisin de Requisitos
Participan representantes
del cliente: operadores, quienes realicen entradas, utilicen salidas, y
sus gerentes
del equipo de desarrollo: analistas de Requisitos, diseadores,
encargados de pruebas y gestin de configuracin
Incluye:
Moderador, Secretario y
pruebas del sistema
Responsables
por
cambios en los Requisitos en el proyecto, su verificacin
y validacin
Acciones
112
Ingeniera de Requisitos
Ingeniera de Requisitos
Especificacin
Especificacin
de
de
Requisitos
Requisitos
Validacin
Validacin
de
de
Requisitos
Requisitos
Obtencin
Obtencin yy
Anlisis
Anlisis de
de
Requisitos
Requisitos
Administracin
Administracin
del
del Cambio
Cambio
Cambios
en el proyecto
113
Administracin de los
Requisitos
Los Requisitos cambian, debido a:
Muchos usuarios
Quienes pagan por el sistema y los usuarios no son las
mismas personas
Cambios en el negocio
Cambios en la tecnologa
115
Planificacin
Muchas actividades son tomadas de las tcnicas de SCM
Se debe decidir sobre:
Identificacin de Requisitos: Cada Requisitos debe
identificarse en forma nica
Ejemplo:
<Tipo> < nro> donde Tipo: F Funcional, D- Datos, etc.
Ejemplo: F12
Metodologas de desarrollo
Los mtodos giles fueron desarrollados en
respuesta a la necesidad de tener una
alternativa a los procesos de desarrollo de
software pesados, guiados por documentos
(AgileAlliance 2002)
Cada metodologa trata distinto los Requisitos
Ejemplo de metodologa gil: eXtreme
Programming (XP)
Ejemplo de metodologa pesada: Rational
Unified Process
118
eXtreme Programming
Cliente en el lugar
Un cliente real debe sentarse en el lugar, disponible para escribir
historias, contestar preguntas, resolver disputas y prioridades de
pequea escala.
Historias de usuario
120
121
Proceso
actividades,...
Recursos
personas, equipos, tiempo, dinero,...
122
# cambios introducidos
Requisitos Agregados, Modificados, Desechados en el
tiempo
Estabilidad
# Requisitos validados
Especificacin Formal
Ventajas:
permite detectar omisiones e inconsistencias en los
Requisitos
Deteccin temprana de defectos
Necesario para demostrar que un programa es correcto
Desventajas:
Exige entrenamiento
En general no es comprensible para el cliente
Funcionan bien en escalas reducidas, pero se complican a
medida que crece la escala del producto
Conectado a la
bomba, inyecta
insulina en el
cuerpo
Bombea insulina
del depsito a la
aguja
aguj
a
Sensor
Mide nivel
de azcar
en la sangre
Controla todo
el sistema
bomba
Controlador
reloj
Alarma
Suena en caso
de problemas
Pantalla
Fuente de Energa
Muestra la ultima
lectura de azcar
y mensajes de
estado
126
Concepto de operacin
A partir de la lectura del sensor, el sistema evala el
nivel de glucosa en sangre del paciente
El sistema compara lecturas consecutivas para detectar
una posible tendencia al crecimiento del nivel. En este
caso inyecta insulina para actuar en contra de esa
tendencia
La situacin ideal es que el nivel de azcar se encuentre
sistemticamente en la banda de seguridad
Niveles de azcar en sangre:
Inseguro menos de 3 unidades (posible coma)
Seguro- entre 3 y 7 unidades
No deseable (ms de 7 unidades)
Inyeccin de Insulina
Segn nivel de azcar, tendencia e inyecciones anteriores
Escenarios relativos al nivel de azcar en sangre:
en la banda insegura
No inyectar
Alarma para el paciente
estable
En banda segura no inyectar
En banda no deseable inyectar de acuerdo a lo indeseado del nivel
Creciendo
En la banda segura inyectar si tasa de crecimiento constante o creciente
En banda no deseable inyectar de acuerdo a la tasa de crecimiento
128
Lenguaje de especificacin
Z
Se han desarrollado diversos lenguajes y herramientas para
la especificacin (y verificacin) de software.
Z (Hayes 87, Spivey 92) est basado en la teora de
conjuntos tipados
modela un sistema en base a conjuntos y sus relaciones
introduce elementos que facilitan la especificacin de pre y post
condiciones asociadas a estados
los modelos se construyen a partir de esquemas
Lenguaje de especificacin
Z
Schema
name
Schema
signature
Schema
predicate
Container
contents:
capacity:
contents <= capacity
Lenguaje de especificacin
Z
Nombres seguidos por ? son entradas y
por ! , salidas
Nombre seguido por significa el valor
despus de la operacin
precediendo a un nombre significa que los
valores no son cambiados por la operacin
precediendo a un nombre significa que los
valores son cambiados por la operacin
Incluir el esquema A en el esquema B significa
que B hereda los nombres y predicados de A
131
reading? :
dose, cumulative_dose:
r0, r1, r2:
// para registrar las 3 ltimas lecturas tomadas
capacity:
alarm!: {off, on}
pump!:
display1!, display2!: STRING
dose<=capacity dose<= 5 cumulative_dose<= 50
capacity>= 40 display1! = " "
capacity<= 39 capacity >=10 display1! = "Insulina baja
capacity<= 9 alarm! = on display1! = "Insulina muy baja
r2 = reading?
133
Clculo de la dosis
DOSAGE
Insulin_Pump
(
El programa:
dose = 0
Compara el valor actual
(
r1>=r0) ( r2 = r1))
del nivel de azcar con los
(( r1 > r0) (r2<= r1))
dos anteriores
(( r1 < r0) ((r1-r2) > (r0-r1)))
si est subiendo, la
)
bomba inyecta insulina
dose = 4
mantiene total de
(
insulina inyectada para
(( r1<=r0) (r2=r1))
(( r1 < r0) ((r1-r2) <=(r0-r1)))
controlar el mximo
)
seguro
dose =(r2 -r1) * 4
(
(( r1<=r0) (r2 > r1))
aplicado a una variable
(( r1 > r0) ((r2 - r1) >=(r1 - r0)))
refiere al valor luego
)
)
de cambiar el estado
capacity ' =capacity - dose
cumulative_dose' = cumulative_dose + dose
r0' = r1 r1' = r2
134
Esquemas de salida
135