Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
la Ingeniera del
software
Ian Sommerville
Traduccin: Ing. Otoniel Silva Delgado
Ing. Ivn Pino Tellera
Captulo 1
Introduccin
12/05/16
Objetivos
Introducir
12/05/16
Temas cubiertos
FAQs
12/05/16
Ingeniera de software
Las economas de TODAS
las naciones
desarrolladas son dependientes en el software.
Cada
vez ms los sistemas son software
controlados.
La ingeniera de software se preocupa por las
teoras, mtodos y herramientas para el desarrollo
del software profesional.
El gasto en el software representa una parte
significativa del PNB en todos desarroll los pases.
12/05/16
es software?
Qu es ingeniera de software?
Cul es la diferencia entre ingeniera de
software e informtica?
Cul es la diferencia entre ingeniera de
software y ingeniera de sistemas?
Qu es un proceso de software?
Qu es un modelo de proceso de software?
12/05/16
software?
Cules son los mtodos de la ingeniera de
software?
Qu es CASE (Competer Aided Software
Engineering = Ingeniera de Software Asistida por
Computadora)?
Cules son los atributos de un buen software?
Cules son los desafos importantes que est
enfrentando la ingeniera del software?
12/05/16
Qu es software?
Qu es ingeniera de
software?
La
10
11
12/05/16
12
Qu es un proceso de
software?
Un conjunto de actividades cuya meta es el desarrollo o
evolucin de software.
Las actividades genricas en todos los procesos del software
son:
Especificacin:
lo que el sistema debe hacer y sus
restricciones de desarrollo.
Desarrollo: la produccin del sistema de software.
Validacin: verificacin de que el software satisface las
necesidades del cliente.
Evolucin: cambio del software en respuesta a las
demandas cambiantes.
12/05/16
13
Qu es un modelo de
proceso de software?
12/05/16
14
12/05/16
15
Distribucin de costos
de actividad
Modelo de cascada
0
100
25
Especificacin
50
Diseo
Desarrollo
75
Integracin y pruebas
Desarrollo iterativo
0
100
25
Especificacin
50
Desarrollo iterativo
75
Prueba del sistema
0
100
25
Especificacin
50
Desarrollo
75
Integracin y pruebas
0
400
100
200
300
16
25
Especificacin
12/05/16
50
Desarrollo
75
100
17
12/05/16
18
CASE
12/05/16
de Bajo Nivel
19
12/05/16
20
12/05/16
21
El profesional y la
responsabilidad tica
La
22
Los problemas de
responsabilidad profesional
Confidencialidad
12/05/16
23
Los problemas de
responsabilidad profesional
Leyes de propiedad intelectual
Los ingenieros deben ser conscientes de las leyes de
gobierno locales que legislan sobre el uso de propiedad
intelectual como las patentes, registros la propiedad de autor,
etc. Ellos deben tener el cuidado de asegurar que la
propiedad intelectual de empleadores y clientes est
protegido.
Mal uso de la computadora
Los ingenieros del software no deben usar sus habilidades
tcnicas para mal emplear las computadoras de otras
personas. Los gama de mal uso de computadora va desde
las relativamente triviales (jugar en la mquina de un
empleador) a las sumamente serias (la diseminacin de
virus).
12/05/16
24
12/05/16
25
Prembulo al Cdigo de
tica
Prembulo
La versin corta del cdigo resume las aspiraciones a un nivel alto de
abstraccin; las clusulas que son incluidas en la versin completa
dan ejemplos y detalles de que cmo estas aspiraciones cambian la
manera que actuar de nosotros como profesionales de ingeniera de
software. Sin las aspiraciones, los detalles pueden ponerse legalistas
y tediosos; sin los detalles, las aspiraciones pueden parecer altos
pero vacos; juntos, las aspiraciones y los detalles forman un cdigo
cohesivo.
Los ingenieros de software se comprometern a hacer del anlisis,
especificacin, diseo, desarrollo, pruebas y mantenimiento de
software una beneficiosa y respetada profesin. De acuerdo con su
compromiso a la salud, seguridad y bienestar del pblico, los
ingenieros del software adherirn a los siguientes Ocho Principios:
12/05/16
26
12/05/16
27
12/05/16
EL JUICIO
Los ingenieros del software mantendrn integridad e
independencia en su juicio profesional.
LA GESTION
La ingeniera software, gerentes y lderes suscribirn
y promovern un acercamiento tico a la gestin de
desarrollo del software y mantenimiento.
LA PROFESION
Los ingenieros de software mejorarn la integridad y
reputacin de la profesin consistentes con el inters
pblico.
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
28
COLEGAS
Los ingenieros del software sern justos y
estarn a favor de sus colegas.
UNO MISMO
Los
ingenieros del software participarn
aprendiendo de toda la vida con respecto a la
prctica de su profesin y promovern un
acercamiento tico a la prctica de la profesin.
12/05/16
29
Dilemas ticos
La
30
Puntos clave
12/05/16
31
Puntos clave
12/05/16
32
Captulo 2
Los Sistemas
Socio-tcnicos
12/05/16
33
Objetivos
12/05/16
34
Tpicos cubiertos
Las
propiedades
del
sistema
emergentes
La ingeniera de sistemas
Las organizaciones, las personas y
sistemas de computadora
Los sistemas legados
12/05/16
35
Qu es un sistema?
Una determinada coleccin
de componentes
interrelacionados que trabajan juntos para lograr
algn objetivo comn.
Un sistema puede incluir componentes software,
mecnico, hardware elctrico y electrnico y ser
operado por personas.
Los componentes del sistema son dependientes en
otros componentes del sistema.
Las propiedades y el comportamiento de los
componentes
del
sistema
se
entremezclan
indisolublemente
12/05/16
36
Categoras de sistemas
Los sistemas tcnicos basados en computadora
Sistemas que incluyen hardware y software pero dnde
normalmente no se considera que los operadores y los
procesos operacionales son parte del sistema. El sistema no
se conoce a si mismo.
Los sistemas Socio-tcnicos
Sistemas que incluyen los sistemas tcnicos pero tambin
los procesos operacionales y las personas que usan y
actan recprocamente con el sistema tcnico. Los sistemas
Socio-tcnicos
son
gobernados
por
polticas
organizacionales y reglas.
12/05/16
37
Caractersticas de los
sistemas Socio-tcnicos
12/05/16
38
Propiedades emergentes
Las propiedades del sistema en conjunto en lugar
de propiedades que pueden derivarse de las
propiedades de componentes de un sistema.
Las
propiedades
emergentes
son
una
consecuencia de las interrelaciones entre los
componentes del sistema.
Ellos pueden
por consiguiente solamente ser
evaluados y medidos una vez que los componentes
se han integrado en un sistema.
12/05/16
39
Ejemplos de propiedades
emergentes
Propiedades
Descripcin
Volumen
Fiabilidad
Seguridad
Reparabilidad
Esta propiedad refleja cuan fcil es arreglar un problema una vez que el
sistema lo ha descubierto. a menor, donde slo resultan daos
menores. Ello depende de poder diagnosticar el problema, acceder a
los componentes que son defectuosos y modificar o reemplazar los
componentes defectuosos.
utilidad
12/05/16
40
Tipos de propiedades
emergentes
Propiedades funcionales
12/05/16
41
Ingeniera de fiabilidad de
sistemas
Debido a los interdependencia de componente, las
fallas pueden propagarse a travs del sistema.
Las fallas del sistema ocurren a menudo debido a las
interrelaciones imprevistas entre los componentes.
Es probablemente imposible anticiparse a todas las
posibles interrelaciones de componente.
Las medidas de fiabilidad de software pueden dar
una falsa imagen de la fiabilidad del sistema.
12/05/16
42
Influencias en fiabililidad
Fiabilidad del hardware
Cul es la probabilidad de que un componente del
hardware est fallando y cunto tiempo toma reparar
ese componente?
Fiabilidad del software
Cun probable es que un componente de software
producir una salida incorrecta. La falla del software es
normalmente distinta desde que la falla del hardware en
ese software no lo lleva fuera.
Fiabilidad del operador
Cun
probable es que el operador de un sistema
cometer un error?
12/05/16
43
Interrelaciones de
fiabilidad
Una
44
Las propiedades no
debidas
Las
45
Ingeniera de sistemas
Especificando,
diseando, implementando,
validando, desplegando y manteniendo los
sistemas socio-tcnicos.
Tenido
relacin
con
los
servicios
proporcionados
por
el
sistema,
las
restricciones
en
su
construccin
y
funcionamiento y las maneras en las que se
usa.
12/05/16
46
Los procesos de la
ingeniera de sistemas
Normalmente
Inevitablemente
involucra a ingenieros
diferentes que deben trabajar juntos
12/05/16
de
47
Los procesos de la
ingeniera de sistemas
Definicinde
Definicinde
requerimientos
requerimientos
Retirodel
Retirodel
sistema
sistema
Diseodel
Diseodel
sistema
sistema
Evolucindel
Evolucindel
sistema
sistema
Desarrollodel
Desarrollodel
subsistema
subsistema
Instalacindel
Instalacindel
sistema
sistema
Integracindel
Integracindel
sistema
sistema
12/05/16
48
Envolvimiento
interdisciplinario
Ingenierade
Ingenierade
software
software
Ingeniera
Ingeniera
estructural
estructural
Ingeniera
Ingeniera
civil
civil
12/05/16
Ingeniera
Ingeniera
electrnica
electrnica
Ingenierade
Ingenierade
sistemasATC
sistemasATC
Ingeniera
Ingeniera
elctrica
elctrica
Ingeniera
Ingeniera
mecnica
mecnica
Diseodeinterfazde
Diseodeinterfazde
usuario
usuario
Arquitectura
Arquitectura
49
Definicin de
requerimientos del sistema
Tres tipos de requerimientos son definidos en esta fase:
Los requisitos funcionales abstractos: Se definen las
funciones del sistema de una manera abstracta;
Las propiedades del sistema: Se definen requisitos
Non-funcionales para el sistema en general;
Las caractersticas indeseables: El comportamiento
inaceptable del sistema se especifica.
Tambin se debe definir los objetivos organizacionales
globales para el sistema.
12/05/16
50
51
Problemas de los
requerimientos del sistema
Normalmente se desarrollan los sistemas complejos
para dirigirse a los problemas malignos
Problemas que no se entienden totalmente;
Cambiando como el sistema est especificado.
Se
deber anticiparse los desarrollos de
comunicaciones /hardware encima del tiempo de
vida del sistema.
Es
difcil los requerimientos no-funcionales
(particularmente) sin saber la estructura de
componentes del sistema.
12/05/16
52
12/05/16
Requerimientos de particin
Organizar los requerimientos dentro de los grupos.
Identificar sub-sistemas
Identificar
un
conjunto
de
sub-sistemas
que
colectivamente pueden reunir los requisitos del sistema.
Asignar requerimientos a sub-sistemas
Se causan problemas particulares cuando los COTS son
integrados.
Especificar la funcionalidad de subsistemas
Definir interfaces de sub-sistemas
La actividad crtica para el desarrollo del sub-sistema
paralelo.
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
53
Requerimientos
Requerimientos
departicin
departicin
Identificarsub
Identificarsub
sistemas
sistemas
Especificar
Especificar
funcionalidada
funcionalidada
subsistemas
subsistemas
Asignacinde
Asignacinde
requerimientos
requerimientos
asubsistemas
asubsistemas
12/05/16
54
55
Requerimientos y diseos
La ingeniera de requerimientos y el diseo de del
sistema se unen indisolublemente.
Los requerimientos propuestos por el ambiente del
sistema y otros sistemas limitan las opciones de
diseo y as el actual diseo a ser usado puede ser
un requerimiento.
El
diseo inicial puede ser necesario para
estructurar los requerimientos.
Conforme se hace diseo, se aprende ms acerca
de los requerimientos.
12/05/16
56
Modelo en espiral de
requerimientos /diseo
12/05/16
Requerimientos,
Requerimientos,
Elicitaciny
Elicitaciny
Anlisis
Anlisis
Diseo
Diseo
Arquitectnico
Arquitectnico
Definicindel
Definicindel
Problema
Problema
Revisiny
Revisiny
Valoracin
Valoracin
57
58
El sistema de alarma de
ladrn
Sensoresde
Sensoresde
movimiento
movimiento
Sensoresde
Sensoresde
puerta
puerta
Controladorde
Controladorde
alarma
alarma
Sirena
Sirena
12/05/16
Sintetizador
Sintetizador
devoz
devoz
Centrodecontrol
externo
Llamadorde
Llamadorde
telfono
telfono
59
Descripcin
Sensores
de Detecta el movimiento en las salas monitoreadas
movimiento
por el sistema.
Sensores de
puerta
Control de
alarma
Sirena
60
Procesadorde
Procesadorde
posicin
posicin
Sistemadesimulacin
Sistemadesimulacin
devuelo
devuelo
Sistemade
Sistemade
transponder
transponder
Sistemadecomandosde
Sistemadecomandosde
datos
datos
Procesadordeposicinde
Procesadordeposicinde
resguardo
resguardo
Ccomandosdevuelo
Ccomandosdevuelo
Procesadorde
Procesadorde
comandos
comandos
Sistemadetelfono
Sistemadetelfono
Procesadorde
Procesadorde
comandosde
comandosde
resguardo
resguardo
Basededatosdel
Basededatosdel
plandevuelo
plandevuelo
Sistemademapa
Sistemademapa
meterelogico
meterelogico
Sistemadeconteo
Sistemadeconteo
12/05/16
Sistemadecontrolde
Sistemadecontrolde
informacin
informacin
Consolasdecontrol
Consolasdecontrol
Sistemademallasde
Sistemademallasde
actividad
actividad
61
12/05/16
62
63
12/05/16
64
12/05/16
65
Retiro de sistemas
Poniendo
Puede
12/05/16
66
Organizaciones/personas/
sistemas
Los
67
12/05/16
68
Procesos Organizacionales
12/05/16
69
Procesos de obtencin
/desarrollo
Procesode
Procesode
Obtencin
Obtencin
Procesode
Procesode
Desarrollo
Desarrollo
Proceso
Proceso
Operacional
Operacional
12/05/16
70
12/05/16
71
El proceso de obtencin de
sistema
Sistemade
disponibilidaden
stock
Elegir
Elegir
sistema
sistema
Adaptar
Adaptar
requerimientos
requerimientos
Publicar
Publicar
demandaparala
demandaparala
oferta
oferta
Elegir
Elegir
proveedor
proveedor
Estudiodemercado
Estudiodemercado
desistemasexistentes
desistemasexistentes
Publicardemanda
Publicardemanda
paravigilante
paravigilante
Elegir
Elegir
vigilante
vigilante
Negociarel
Negociarel
contrato
contrato
Permitircontrato
Permitircontrato
paraeldesarrollo
paraeldesarrollo
Lorequeridopor
elsistema
habitual
12/05/16
72
Emisin de obtenciones
Los
73
obtencin
de
sistemas
del
hardware/software grandes est normalmente
basada alrededor de algn contratista
principal.
Los sub - contratos se emiten a otros
proveedores para suministrar partes del
sistema.
El cliente trata con el contratista principal y no
trata directamente con sub - contratistas.
12/05/16
74
Modelos de Contratista/Subcontratista
Sistemadel
Sistemadel
Cliente
Cliente
Contratista
Contratista
Principal
Principal
Sub
Sub
Contratista1
Contratista1
12/05/16
Sub
Sub
Contratista2
Contratista2
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
Sub
Sub
Contratista3
Contratista3
75
Sistemas legados
12/05/16
76
Sistemas legados
Softwarede
Softwarede
soporte
soporte
Correen
Sistemasde
Sistemasde
hardware
hardware
12/05/16
Usa
Softwarede
Softwarede
aplicacin
aplicacin
Correen
Incluye
Polticas
Polticas
conocimientode comercialesy
Usa
Datosde
Datosde
aplicacin
aplicacin
comercialesy
reglas
reglas
Usa
Restringe
n
Procesosde
Procesosde
negocios
negocios
77
Componentes de sistemas
legados
12/05/16
78
79
Puntos clave
Los sistemas socio tcnicos incluyen hardware de
computadoras, software y gente y son diseados
para lograr algunas metas comerciales.
Las propiedades emergentes son propiedades que
son caractersticas del sistema como un todo y no de
sus partes componentes.
El proceso de ingeniera de sistemas incluye
especificacin, diseo, desarrollo, integracin y
pruebas.
La integracin del sistema es
particularmente crtica.
12/05/16
80
Puntos clave
Factores humanos y organizacionales tienen un efecto
significativo en la operacin de sistemas socio
tcnicos.
Hay complejas interacciones entre los procesos de
obtencin del sistema, desarrollo y operacin.
Un sistema legado s un viejo sistema que continua para
proveer servicios esenciales.
Los sistemas legados incluyen procesos de negocios,
software de aplicacin, software de soporte y hardware
de sistema.
12/05/16
81
Captulo 3
Sistemas crticos
12/05/16
82
Objetivos
Para
83
Temas cubiertos
Un
84
Sistemas crticos
12/05/16
85
Confiabilidad de sistemas
Para
86
Importancia de la
confiabilidad
Sistemas
87
88
12/05/16
89
90
Organizacin de la bomba
de insulina
Depsito de insulina
Montajede
aguja
Sensor
Visual1
Bomba
Reloj
Controlador
Alarma
Visual2
Suministro de fuerza
12/05/16
91
Parmetrosde
sangre
Anlisisdeazcar
Anlisisdeazcar
enlasangre
enlasangre
Nivelde
azcarenlade
sangre
Cmputode
Cmputode
requerimientosde
requerimientosde
insulina
insulina
Insulina
12/05/16
Bombade
Bombade
insulina
insulina
Comandosde
controlde
bomba
Controladorde
Controladorde
entregadeinsulina
entregadeinsulina
Corregir
insulina
requerida
92
Requerimientos de
confiabilidad
El
93
Confiabilidad
La confiabilidad de un sistema es equivalente a
su fidelidad.
Un sistema fidedigno es un sistema confiable por
sus usuarios.
Las principales dimensiones de confiabilidad son:
Disponibilidad;
Fiabilidad;
Seguridad fsica;
Seguridad contra delitos.
12/05/16
94
Dimensiones de confiabilidad
Confiabilidad
Confiabilidad
Disponibilidad
Disponibilidad
Fiabilidad
Fiabilidad
Seguridad
Seguridad
fsica
fsica
Seguridadcontra
Seguridadcontra
delitos
delitos
Lahabilidaddeun
Lahabilidaddeun
Lahabilidaddeun Lahabilidaddeun
sistemaparaentregar sistemaparaentregar sistemaparaoperar sistemaparaproteger
servicioscuandoson serviciosespecificados
sinfallas
intrusionescontrael
requeridos
catastrficas
sistemaaccidentaleso
deliberadas
12/05/16
95
Otras propiedades de la
confiabilidad
Reparabilidad
Refleja hasta que punto el sistema puede ser
reparado en caso de una falla.
Mantenabilidad
Refleja hasta que punto el sistema puede
adaptarse a los nuevos requerimientos.
Supervivencialidad
Refleja hasta que punto el sistema puede entregar
los servicios aun bajo ataque hostil.
Tolerancia de error
Refleja que hasta que punto el usuario ingresa
errores que pueden evitarse y tolerarse.
12/05/16
96
Mantenibilidad
Un atributo del sistema que se preocupa por la
facilidad de reparar el sistema despus de que una
falla se ha descubierto o por cambio del sistema para
incluir los nuevos rasgos.
Muy importante para los sistemas crticos como las
faltas a menudo se introduce en un sistema debido a
los problemas de mantenimiento.
La mantenibilidad es distinto de otras dimensiones de
confiabilidad porque es un atributo esttico y no un
atributo dinmico del sistema . Yo no lo cubro en este
curso.
12/05/16
97
Supervivencialidad
La
98
12/05/16
99
Costos de confiabilidad
Los costos de confiabilidad tienden a aumentar
exponencialmente cuando los niveles crecientes de
confiabilidad son requeridos.
Hay dos razones para esto:
El uso de mas tcnicas de desarrollo caras y
hardware que se exigen lograr los niveles ms
altos de confiabilidad.
Las crecientes pruebas y sistemas de validacin
que se exigen para convencer al cliente del
sistema, que se han logrado los niveles
requeridos de confiabilidad.
12/05/16
100
Costos de confiabilidad
creciente
12/05/16
101
Economa de la
confiabilidad
Debido a los costos muy altos para lograr la
confiabilidad, puede costearse ms eficazmente
aceptando los sistemas poco fiables y pagar por los
costos de fallas.
Sin embargo, esto depende de los factores sociales y
polticos. Una reputacin para productos en los que
no puede confiarse, puede causar perdidas en el
futuro del negocio.
Depende del tipo del sistema - para los sistemas
comerciales en particular, los niveles modestos de
confiabilidad pueden ser adecuados.
12/05/16
102
Disponibilidad y fiabilidad
Fiabilidad
La probabilidad de operacin del sistema libre
de falla durante un tiempo especfico, en un
ambiente dado, para un propsito dado.
Disponibilidad
La probabilidad que un sistema en un tiempo
dado, ser operacional y capaz entregar los
servicios pedidos.
Ambos
atributos pueden ser expresados
cuantitativamente.
12/05/16
103
Disponibilidad y fiabilidad
A veces es posible incluir a la disponibilidad del
sistema bajo la fiabilidad del sistema.
Obviamente si un sistema esta indisponible es
que no est entregando los servicios del sistema
especificados.
Sin embargo, es posible tener sistemas con
fiabilidad baja que pueden estar disponibles.
Mientras las fallas de sistema pueden repararse
rpidamente y no daen los datos, la fiabilidad baja
no debe ser un problema.
La disponibilidad tiene en cuenta tiempo de la
reparacin.
12/05/16
104
Terminologa de fiabilidad
Falla del sistema
Defecto del
sistema
Error humano o
equivocacin
12/05/16
105
Errores y fallas
12/05/16
106
Percepciones de confiabilidad
12/05/16
107
El logro de la fiabilidad
La anulacin de falla
La tcnica de desarrollo se usa para minimizar la posibilidad
de errores o atrapar errores antes de que ellos produzcan la
introduccin de faltas en el sistema.
El descubrimiento de la falla y retiro
Las tcnicas de verificacin y validacin que aumentan la
probabilidad de descubrir y corregir los errores antes de que el
sistema entren en servicio y sean usados.
Tolerancia de falla
Las tcnicas de tiempo de ejecucin
son usadas para
asegurar que las faltas del sistema no produzcan errores del
sistema y/o esos errores del sistema no lleve a las fallas del
sistema.
12/05/16
108
Modelando fiabilidad
Se
109
Modelando fiabilidad
Se
110
Traza de entrada/salida
Conjunto
deentradas
Entradasque
causansalidas
errneas
Ie
Programa
Programa
Salidaserrneas
Conjunto
desalidas
12/05/16
Oe
111
Percepcin de
confiabilidad
Posibles
entradas
Usuario1
Usuario1
Usuario
Usuario
22
12/05/16
Usuario
Usuario
33
Entradas
errneas
112
La mejora de confiabilidad
12/05/16
113
Seguridad fsica
12/05/16
114
Criticalidad de la seguridad
fsica
12/05/16
115
Seguridad fsica y
fiabilidad
La
La
116
12/05/16
Errores de especificacin
Si la especificacin del sistema es
incorrecta,
entonces
el sistema puede comportarse como
especificado pero todava causa un accidente.
Fallas del hardware que generan entradas espurias
Duro para anticiparse en la especificacin.
Comandos de contexto sensibles, es decir,
emitiendo el comando correcto en un mal momento.
A menudo el resultado de error del operador.
117
Terminologa de seguridad
fsica
Trmino
Definicin
Accidente
(contratiempo)
Azar
Una condicin potencial para causar un accidente o contribuir en l. Una falla del
sensor que descubre un obstculo delante de una mquina es un ejemplo de azar.
Dao
Severidad de
riesgo
Una valoracin del peor dao posible que podra ser el resultado de un particular azar.
La severidad del azar puede ir desde catastrfico, donde muchas personas mueren; a
menor, donde slo resultan daos menores.
Probabilidad de
azar
La probabilidad de que en los eventos que ocurren haya azar. Los valores de
probabilidad tienden a ser arbitrarios pero van desde probable (digamos 1/100 de
oportunidad de ocurrencia de azar) a inverosmil (situaciones no concebibles son
probables donde el azar pueda ocurrir).
Riesgo
12/05/16
118
El logro de la seguridad
fsica
12/05/16
119
Accidentes normales
Los accidentes en los sistemas complejos raramente
tienen una sola causa, dado que estos sistemas se
disean para ser elsticos ante un solo punto de falla.
Diseando sistemas para que un solo punto de falla no
cause un accidente, es un principio fundamental de
diseo de sistemas garantizados.
Casi todos accidentes son un resultado de combinaciones
de funcionamientos defectuosos.
Es probable el caso que anticipndose a todo las
combinaciones del problema, sobre todo, en sistemas de
software controlado, logrando as la seguridad fsica
completa, es imposible.
12/05/16
120
12/05/16
121
Seguridad Fundamental
Si un sistema es un sistema conectado una red de
computadoras y es
inseguro, entonces las
declaraciones sobre su fiabilidad y su seguridad
fsica son inestables.
Estas declaraciones dependen del sistema en
ejecucin y del sistema desarrollado que es el
mismo. Sin embargo, la intrusin puede cambiar el
sistema en ejecucin y/o sus datos.
Por consiguiente, la fiabilidad y la conviccin de
seguridad fsica no son vlidas por tiempo
prolongado.
12/05/16
122
Terminologa de
seguridad contra delitos
Trmino
Exposicin
Definicin
Posible prdida o dao en un sistema de computacin. sta
puede ser prdida o dao a los datos o puede ser prdida de
tiempo y esfuerzo si la recuperacin es necesaria despus de
una brecha de seguridad.
Ataque
Amenazas
Control
12/05/16
123
El dao de la inseguridad
Rechazo de servicio
El sistema es forzado a un estado dnde los servicios
normales son indisponibles o donde la provisin de
servicio se degrada significativamente.
Corrupcin de programas o datos
Pueden modificarse los programas o datos en el sistema
de una manera desautorizada.
El descubrimiento de informacin confidencial
La informacin que es manejada por el sistema puede ser
expuesta a las personas que no estn autorizadas para
leer o usar esa informacin.
12/05/16
124
Conviccin de seguridad
Anulacin de vulnerabilidad
El sistema se disea para que las vulnerabilidades no ocurran.
Por ejemplo, si no hay ninguna conexin externa de la red,
entonces que el ataque externo es imposible.
Descubrimiento y eliminacin de ataque
El sistema se disea para que se descubran ataques en las
vulnerabilidades y neutralizarlos, antes de que ellos produzcan
una exposicin. Por ejemplo, los comprobadores del virus
encuentran y quitan los virus antes de que ellos infecten un
sistema.
Limitacin de exposicin
El sistema se disea para que se minimicen las consecuencias
adversas de un ataque exitoso. Por ejemplo, una poltica auxiliar
permite restaurar la informacin daada.
12/05/16
125
Puntos crticos
12/05/16
126
Puntos crticos
La fiabilidad se relaciona a la probabilidad de
ocurrencia de un error en el uso operacional. Un
sistema con las faltas conocidas puede ser fiable.
La seguridad fsica es un atributo del sistema que
refleja la habilidad del sistema de operar sin
personas amenazantes o el ambiente.
La seguridad contra delitos es un atributo del
sistema que refleja la habilidad del sistema de
protegerse del ataque externo.
La mejora de confiabilidad exige a una aproximacin
socio-tcnica para disear, donde se considera a los
humanos, as como el hardware y software.
12/05/16
127
Captulo 4
Procesos de
software
12/05/16
128
Objetivos
Introducir modelos del proceso de software
Describir tres modelos de procesos genricos y
cuando ellos pueden ser usados
Describir el contorno de los modelos de procesos
para la ingeniera de requerimientos, desarrollo de
software, pruebas y evolucin
Explicar el modelo Proceso Unificado Rational
introducir tecnologa CASE para actividades del
proceso de software de soporte
12/05/16
129
Tpicos cubiertos
Modelos
130
12/05/16
131
12/05/16
El modelo de cascada
Separa y distingue fases de especificacin y desarrollo.
Desarrollo evolutivo
Especificacin,
desarrollo
y
validacin
estn
entrelazados.
Ingeniera de software basada en componentes
El sistema es ensamblado a partir de componentes
existentes.
Hay muchas variantes de estos modelos e.g. desarrollo
formal donde es usado un proceso similar a de la
cascada, pero la especificacin es una especificacin
formal que es refinada a travs de varios estados para un
diseo implementable.
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
132
Modelo de cascada
Definicin
Definicinde
de
requerimientos
requerimientos
Diseo
Diseode
desistema
sistemayy
software
software
Implementacin
Implementacinyy
pruebas
pruebasde
deunidad
unidad
Integracin
Integracin yy
pruebas
pruebasde
desistema
sistema
Operacin
Operacinyy
mantenimiento
mantenimiento
12/05/16
133
12/05/16
134
12/05/16
135
Desarrollo evolutivo
El
El
12/05/16
desarrollo exploratorio
prototipo desechable
136
Desarrollo evolutivo
Actividades
concurrentes
Descripcin
Descripcin
del
delentorno
entorno
12/05/16
Especificacin
Especificacin
Versin
Versininicial
inicial
Desarrollo
Desarrollo
Versin
Versin
intermedia
intermedia
Validacin
Validacin
Versin
Versinfinal
final
137
Desarrollo evolutivo
Problemas
Aplicabilidad
12/05/16
138
Ingeniera de software
basada en componentes
12/05/16
139
Desarrollo orientado al
reuso
Especificacin
Especificacinde
de
requerimientos
requerimientos
Anlisis
Anlisisde
de
componentes
componentes
Modificacin
Modificacinde
de
requerimientos
requerimientos
Modificacin
Modificacinde
de
requerimientos
requerimientos
12/05/16
Diseo
Diseode
desistemas
sistemas
con
reuso
con reuso
Diseo
Diseode
desistemas
sistemas
con
reuso
con reuso
140
12/05/16
141
Entrega incremental
En lugar de entrega del sistema en una sola
entrega, el desarrollo y la entrega estn
fracturados
bajo
incrementos,
con
cada
incremento que entrega parte de la funcionalidad
requerida.
Los requerimientos del usuario se priorizan y los
requerimientos de prioridad ms altos son
incluidos en los incrementos tempranos.
Una vez que el desarrollo de un incremento ha
empezado, los requerimientos son congelados
aunque los requerimientos para los incrementos
ms tardios pueden continuar evolucionando.
12/05/16
142
Desarrollo incremental
Definir
Definirrequerimientos
requerimientos
del
delentorno
entorno
Desarrollar
Desarrollarincremento
incremento
del
sistema
del sistema
Asignar
Asignarrequerimientos
requerimientosalal
incremento
incremento
Validar
Validar
incremento
incremento
Integrar
Integrar
incremento
incremento
Sistema incompleto
12/05/16
Disear
Disear arquitectura
arquitectura
del
sistema
del sistema
Validar
Validar
sistema
sistema
Sistema final
143
144
Programacin extrema
Una
145
Desarrollo en espiral
El proceso se representa como una escalera de caracol,
en lugar de una sucesin de actividades con retroceso.
Cada vuelta en la escalera de caracol representa una
fase en el proceso.
Ninguna fase es fija como especificacin o ciclos de
diseo en la escalera de caracol son escogidos
dependiendo en cual son requeridos.
Los riesgos son evaluados
explcitamente y se
resuelven a lo largo del proceso.
12/05/16
146
Evaluar alternativas,
identificar y resolver
riesgos
Anlisis de
riesgo
Anlisis de
riesgo
Anlisis de
riesgo
REVISION
Plan de requerimientos Plan
de ciclo de vida
Plan de desarrollo
Planificar prxima
fase
Integracin y plan
de pruebas
Pro totipo 3
Pro totipo 2
Anlisis de
riesgo Pro totipo 1
Concepto de
Simulaciones, modelos y referencias
operacin Requerimientos
de software
Producto
Validacin de
de
diseo
requerimientos
Diseo V & V
Servicio
12/05/16
Pro totipo
operacional
Diseo
detallado
Cdigo
Prueba de
Prueba de unidad
aceptacin
Prueba de
aceptacin
Desarrollo y verificacin
del prximo nivel del
producto
147
objetivos
Evaluacin
de riesgos y reduccin
12/05/16
148
del software
Diseo e implementacin del software
Validacin de software
Evolucin del software
12/05/16
149
150
El proceso de ingeniera de
requerimientos
Estudio
Estudiode
de
factibilidad
factibilidad
Informe
Informe de
de
factibilidad
factibilidad
Elicitacin
Elicitacinde
de
requerimientos
requerimientosyy
anlisis
anlisis
Especificacin
Especificacinde
de
requerimientos
requerimientos
Validacin
Validacinde
de
requerimientos
requerimientos
Modelos
Modelosdel
del
sistema
sistema
Requerimientos
Requerimientos
del
delusuario
usuarioyydel
del
sistema
sistema
Documentos
Documentosde
de
requerimientos
requerimientos
12/05/16
151
Diseo e implementacin
del software
12/05/16
152
arquitectnico
Especificacin abstracta
Diseo de la interfaz
Diseo de componentes
Diseo de estructuras de datos
Diseo de algoritmos
12/05/16
153
Proceso de diseo de
software
Especificacin de
Especificacin de
requerimientos
requerimientos
Diseo
Diseo
arquitectnico
arquitectnico
Arquitectura
Arquitectura
del sistema
del sistema
Especificacin
Especificacin
abstracta
abstracta
Especificacin
Especificacin
del software
del software
Actividades de diseo
Diseo de
Diseo de
la interfaz
la interfaz
Especificacin
Especificacin
de la interfaz
de la interfaz
Diseo de
Diseo de
componentes
componentes
Especificacin
Especificacin
de componentes
de componentes
Diseo de
Diseo de
estructura de datos
estructura de datos
Especificacin de
Especificacin de
estructura de datos
estructura de datos
Diseo de
Diseo de
algoritmos
algoritmos
Especificacin
Especificacin
de algoritmos
de algoritmos
Productos de diseo
12/05/16
154
Mtodos estructurados
Aproximaciones sistemticas al diseo de software.
El diseo es normalmente documentado como un
conjunto de modelos grficos.
Modelos posibles
Modelo de objeto;
Modelo secuencial;
Modelo de transicin;
Modelo estructural;
Modelo de flujo de datos.
12/05/16
155
Programando y depurando
Traduciendo
un diseo en un programa y
quitando los errores de ese programa.
Programar es una actividad personal - no hay
ningn proceso genrico de programacin.
Los programadores llevan a cabo algunas
pruebas de programa para descubrir las fallas
en el programa y quitar estas faltas en el
proceso de la depuracin.
12/05/16
156
El proceso de depuracin
Error
Error
12/05/16
local
local
Reparar
Repararerror
error
de
dediseo
diseo
Reparar
Repararerror
error
Programa
Programade
de
re
prueba
re - prueba
157
158
El proceso de prueba
Prueba
Prueba de
de
componentes
componentes
12/05/16
Prueba
Prueba del
del
sistema
sistema
Prueba
Prueba de
de
aceptacin
aceptacin
159
Fases de prueba
12/05/16
160
Fases de prueba
Especificacin de
Especificacin de
requerimientos
requerimientos
Especificacin
Especificacin
del sistema
del sistema
Plan de prueba
Plan de prueba
de aceptacin
de aceptacin
Servicio
Servicio
12/05/16
Diseo del
Diseo del
sistema
sistema
Plan de prueba de
Plan de prueba de
integracin del
integracin del
sistema
sistema
Prueba de
Prueba de
aceptacin
aceptacin
Diseo
Diseo
detallado
detallado
Plan de prueba de
Plan de prueba de
integracin del
integracin del
sub - -sistema
sub - -sistema
Prueba de
Prueba de
integracin del
integracin del
sistema
sistema
Cdigo de
Cdigo de
mdulo y unidad
mdulo y unidad
y pruebas
y pruebas
Prueba de
Prueba de
integracin de
integracin de
Sub - sistema
Sub - sistema
161
162
Evaluacin
Evaluacin
de
desistemas
sistemas
existentes
existentes
Proponer
Proponer
cambios
cambiosdel
del
sistema
sistema
Sistema
Sistema
existente
existente
12/05/16
Modificar
Modificar
elel
sistema
sistema
Nuevo
Nuevo
sistema
sistema
163
12/05/16
164
Comienzo
12/05/16
Elaboracin
Construccin
Transicin
165
Fases de RUP
Comienzo
Elaboracin
Construccin
Transicin
12/05/16
166
en
167
Definicin
Requerimientos
Actores que interactan con el sistema son identificados y los casos de uso son
usados para modelar los requerimientos del sistema.
Anlisis y diseo
Implementacin
Prueba
Las pruebas son un proceso iterativo que es llevado a cabo en conjuncin con
implementacin.
Las pruebas del sistema siguen el completamiento de la
implementacin.
Despliegue
Una descarga del producto es creado, distribuido para usar e instalar en su lugar de
trabajo.
Manejo de configuracin y
cambios
Estos flujos de trabajo de soporte manejan cambios para el sistema (Ver Capitulo 29 ).
Estos flujos de trabajo de soporte manejan el desarrollo del sistema (Ver Captulo 29).
El ambiente
12/05/16
168
12/05/16
169
Tecnologa Case
12/05/16
170
Clasificacin de CASE
12/05/16
171
Clasificacin de
herramientas funcionales
Tipo de herramienta
Ejemplo
Planificacin
Edicin
Cambio de gestin
Gestin de
configuracin
Prototipado
Soporte de modelos
Lenguaje de procesos
Compiladores, intrpretes.
Anlisis de programa
Generadores de referencia
analizadores dinmicos.
Pruebas
Depuracin
Documentacin
Reingeniera
12/05/16
cruzada,
analizadores
estticos,
Clasificacin de herramientas
basadas en actividades
Herramientas de reingeniera
Herramientas de prueba
Herramientas de depuracin
Herramientas de anlisis de programas
Herramientas de lenguaje de procesos
Herramientas de soporte de mtodos
Herramientas de prototipado
Herramientas de gestin de configuracin
Herramientas de gestin de cambios
Herramientas de documentacin
Herramientas de edicin
Herramientas de planificacin
12/05/16
Verificacin y
validacin
173
Integracin CASE
Herramientas
Soporte a tareas del proceso individuales como el
diseo de verificacin de consistencia, edicin de texto,
etc.,
Bancos de trabajo
Soporte a fases de procesos tales como especificacin o
diseo. Normalmente varias herramientas integradas.
Ambientes
Soporte a todo o una parte sustancial de un proceso
entero de software. Normalmente incluya que algunos
bancos de trabajo integrados.
12/05/16
174
Herramientas
Herramientas
Editores
Editores
Compiladores
Compiladores
Bancos de
Bancos de
trabajo
trabajo
Comparadores
Comparadores
de archivo
de archivo
Anlisis y
Anlisis y
Diseo
Diseo
Bancos de trabajo
Bancos de trabajo
Multi - mtodos
Multi - mtodos
12/05/16
Ambientes
Ambientes
integrados
integrados
Programacin
Programacin
Bancos de trabajo
Bancos de trabajo
unimodelo
unimodelo
Ambientes
Ambientes
Ambientes de
Ambientes de
procesos centrados
procesos centrados
Pruebas
Pruebas
Bancos de trabajo de
Bancos de trabajo de
propsito general
propsito general
Bancos de trabajo de
Bancos de trabajo de
lenguajes especficos
lenguajes especficos
175
Puntos clave
12/05/16
176
Puntos clave
12/05/16
177
Captulo 5
Gestin de
Proyectos
12/05/16
178
Objetivos
Explicar las tareas principales emprendidas por gerentes
del proyecto.
Introducir la de gestin del proyecto de software y
describir sus caractersticas distintivas.
Discutir la planificacin del proyecto y el proceso de la
planificacin.
Mostrar cmo las representaciones del horario grficas
son usadas por la gestin del proyecto.
Discutir la nocin de riesgos y el proceso de direccin de
riesgo.
12/05/16
179
Tpicos cubiertos
Actividades
de gestin
Planificacin del proyecto
Programacin del proyecto
Gestin de riesgos
12/05/16
180
181
182
Actividades de gestin
Escritura
de la propuesta.
Planificacin y programacin del proyecto.
Clculo de costos del proyecto.
Monitoreo del proyecto y revisiones.
Seleccin y evaluacin del personal.
Escritura del informe y presentaciones.
12/05/16
183
Comunidad de gestin
Estas
184
Provisin de personal al
proyecto
12/05/16
185
12/05/16
186
Descripcin
Plan de calidad
Plan de validacin
Plan de gestin de
configuracin
Plan de
mantenimiento
Plan de desarrollo
de personal
12/05/16
187
Procesos de planificacin
de proyectos
Establecer restricciones del proyecto
Hacer valoraciones iniciales de los parmetros del proyecto
Definir hitos del proyectos y entregables
Mientras el proyecto no ha sido terminado o cancelado ciclo
Preparar el programa el proyecto
Iniciar actividades de acuerdo al proyecto
Esperar (Durante un tiempo)
Revisin del progreso del proyecto
Revisar estimaciones de parmetros del proyecto
Actualizar el programa del proyecto
Renegociar las restricciones y las entregas
Si (problemas surgen) entonces
Iniciar repaso tcnico y posible revisin
Fin de Si
Fin de ciclo
12/05/16
188
12/05/16
del
189
del proyecto.
Anlisis de riesgo.
Requerimientos de recursos de hardware y
software.
Averas de trabajo.
Programa de proyecto.
Mecanismos de monitoreo e informes.
12/05/16
190
Organizacin de actividad
Las
191
Hitos en el Reproceso
Actividades
Estudio
Estudiode
de
factibilidad
factibilidad
Informe
Informede
de
factibilidad
factibilidad
Anlisis
Anlisisde
de
requerimientos
requerimientos
Requerimientos
Requerimientos
de
deusuario
usuario
Desarrollo
Desarrollode
de
prototipo
prototipo
Informe
Informede
de
evaluacin
evaluacin
Estudio
Estudiode
de
diseo
diseo
Diseo
Diseo
arquitectnico
arquitectnico
Especificacin
Especificacinde
de
requerimientos
requerimientos
Requerimientos
Requerimientos
del
delsistema
sistema
Hitos
12/05/16
192
La programacin del
proyecto
Dividir
193
El proceso de
programacin del proyecto
Identificacin
Identificacin
de
delas
las
actividades
actividades
Identificacin
Identificacinde
de
las
lasdependencia
dependencia
de
delas
lasactividades
actividades
Estimacin
Estimacinde
de
los recursos
los recursos
para
paraactividades
actividades
Requerimientos
de software
12/05/16
Colocacin
Colocacinde
de
gente en las
gente en las
actividades
actividades
Creacin
Creacinde
de
diagramas
diagramasdel
del
proyecto
proyecto
Grficas de
actividades y grficas
de barras
194
Problemas de programacin
Estimar
195
196
12/05/16
Actividad
Duracin (das)
Inicio
T1
Inicio
T2
15
Inicio
T3
15
T1
T4
10
Inicio
T5
10
T2, T4
T6
T1, T2
T7
20
T1
T8
25
T4
T9
15
T3, T6
T10
15
T5, T7
T11
T9
10
T11
T8, T10,T12
T12
Final
Dependencias
197
Red de actividades
12/05/16
198
Calendario de Actividades
12/05/16
199
Asignacin de personal
12/05/16
200
Gestin de riesgos
La
12/05/16
201
Afectados
Descripcin
Produccin personal
Proyecto
Cambio de gestin
Proyecto
Indisponibilidad del
hardware
Proyecto
Cambio de
requerimientos
Proyecto
producto
Retrasos de la
especificacin
Proyecto y
producto
Especificaciones de interfaces
disponibles en la programacin.
Tamao subestimado
Proyecto y
producto
Bajo desempeo de
herramientas CASE
Producto
Cambio de tecnologa
Negocio
Competencia de
producto
Negocio
12/05/16
esenciales
no
con
estas
202
El proceso de gestin de
riesgos
Identificacin de riesgos
Identificacin de riesgos del proyecto, del producto
y del negocio;
Anlisis de riesgos
Evaluar la probabilidad y consecuencias de estos
riesgos;
Planificacin de riesgos
Preparar los planes para evitar o minimizar los
efectos de los riesgos;
Monitoreo de riesgos
Monitorear los riesgos a travs del proyecto.
12/05/16
203
El proceso de gestin de
riesgos
Identificacin
Identificacin
de
deriesgos
riesgos
Lista
Listade
deriegos
riegos
potenciales
potenciales
12/05/16
Anlisis
Anlisisde
de
riesgos
riesgos
Lista
Listade
deriegos
riegos
prioritarios
prioritarios
Planificacin
Planificacin
de
deriesgos
riesgos
Anulacin
Anulacinde
de
riesgos
y
planes
riesgos y planesde
de
contingencia
contingencia
Monitoreo
Monitoreo
de
deriesgos
riesgos
Valoracin
Valoracin
de
deriesgos
riesgos
204
Identificacin de riesgos
Riesgos
tecnolgicos.
Riesgos de personas.
Riesgos organizacionales.
Riesgos de requerimientos.
Riesgos de estimacin.
12/05/16
205
Tipos de riesgos
Tipo de riesgo
Posibles riesgos
Tecnolgico
Personas
Organizacional
Herramientas
Requerimientos
Estimacin
12/05/16
206
Anlisis de riesgos
Evaluar
la probabilidad y seriedad de
cada riesgo.
La probabilidad puede ser muy baja,
baja, moderada, alta o muy alta.
Los efectos de riesgo podran ser
catastrficos, serios, tolerables o
insignificantes.
12/05/16
207
Probabilidad
Efectos
Catastrfico
Es imposible reclutar
habilidades requeridas.
Catastrfico
personas
con
las Alta
Serio
Serio
Serio
Serio
12/05/16
208
Probabilidad
Efectos
Serio
Serio
Tolerable
Alta
Tolerable
Tolerable
Moderada
Tolerable
Alta
Tolerable
Insignificante
209
Planificacin de riesgos
Considerar
Estrategias
Planes
12/05/16
de minimizacin
de contingencia
210
Estrategia
Problemas
financieros de
organizacin
Problemas de
reclutamiento
Enfermedad
del personal
Componentes
defectuosos
12/05/16
211
Estrategia
Derivar la informacin de trazabilidad para
evaluar
el
impacto
de
cambio
de
requerimientos , maximizar la informacin oculta
en el diseo.
212
Monitoreo de riesgos
Evaluar
213
Indicadores de riesgo
Tipo de riesgo
Indicadores potenciales
Tecnologa
Gente
Organizacin
Herramientas
Requerimientos
Estimacin
12/05/16
Puntos clave
La
215
Puntos clave
Un hito del proyecto es un estado predecible dnde
un informe formal del progreso se presenta a la
direccin.
La programacin del proyecto involucra preparar
varias representaciones grficas que muestran las
actividades del proyecto, sus duraciones y asignacin
de personal.
La gestin de riesgo se preocupa por identificar
riesgos que pueden afectar el proyecto y planificar
para asegurar que estos riesgos no se conviertan en
amenazas mayores.
12/05/16
216
Captulo 6
Requerimientos
de software
12/05/16
217
Objetivos
Introducir
218
Tpicos cubiertos
Requerimientos
funcionales
no
funcionales
Requerimientos de usuario
Requerimientos del sistema
Especificacin de la interfaz
Documento de requerimientos de software
12/05/16
219
Ingeniera de
requerimientos
El
220
Qu es un requerimiento?
12/05/16
221
Abstraccin de
requerimientos (Davis)
Si una compaa desea firmar un contrato para un proyecto
grande de desarrollo de software, debe definir sus
necesidades de una manera suficientemente abstracta que
una solucin no se predefina. Los requerimientos deben
escribirse para que varios contratistas puedan ofrecerse
para el contrato, ofreciendo, quizs, maneras diferentes de
satisfacer las necesidades de la organizacin del cliente.
Una vez un contrato se ha otorgado, el contratista debe
escribir para el cliente una definicin del sistema con ms
detalle para que el cliente entienda y puede validar lo que el
software har. Estos dos documentos pueden llamarse
documento de requerimientos para el sistema ".
12/05/16
222
Tipos de requerimientos
Requerimientos
Requerimientos
12/05/16
de usuario
del sistema
223
Definiciones y especificaciones
Definicin de requerimientos de usuario
1.1.
El
El software
software be
be proporcionar
proporcionar los
los medios
medios de
de representar
representar yyacceder
acceder aa archivos
archivos externos
externos
creados
por
otras
herramientas
creados por otras herramientas
Pueden
Puedenser
serproporcionadas
proporcionadasfacilidades
facilidadespara
pararepresentar
representarelelicono
iconoen
enun
untipo
tipode
dearchivo
archivo
externo
definido
por
el
usuario.
externo definido por el usuario.
1.5
1.5 Cuando
Cuandoelelusuario
usuarioselecciona
seleccionaun
unicono
iconoque
querepresenta
representaun
un archivo
archivoexterno,
externo,elelefecto
efectode
de
esta
seleccin
es
para
aplicar
la
herramienta
asociada
con
el
tipo
de
archivo
externo
para
esta seleccin es para aplicar la herramienta asociada con el tipo de archivo externo para
elelarchivo
archivorepresentado
representadopor
porelelicono
iconoseleccionado.
seleccionado.
12/05/16
224
Lectores de requerimientos
Requerimientos
Requerimientos
de
deusuario
usuario
Gestin
Gestindel
delcliente
cliente
Usuarios
Usuariosfinales
finalesdel
delsistema
sistema
Ingenieros
Ingenierosdel
delcliente
cliente
Gerentes
Gerentesde
decontrato
contrato
Arquitectos
Arquitectos del
delsistema
sistema
Requerimientos
Requerimientos
del
delsistema
sistema
Especificacin
Especificacin
del
deldiseo
diseode
de
software
software
12/05/16
Usuarios
Usuariosfinales
finalesdel
delsistema
sistema
Ingenieros
Ingenierosdel
delcliente
cliente
Arquitectos
Arquitectos del
delsistema
sistema
Desarrolladores
Desarrolladoresde
desoftware
software
Ingenieros
Ingenierosdel
delcliente
cliente(quizs)
(quizs)
Arquitectos
Arquitectos del
delsistema
sistema
Desarrolladores
Desarrolladoresde
desoftware
software
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
225
Requerimientos Funcionales
Las declaraciones de servicios que el sistema debe
proporcionar, cmo el sistema debe reaccionar a entradas
particulares y cmo el sistema debe comportarse en
situaciones.
Requerimientos no funcionales
Las restricciones en los servicios o funciones ofrecidas por
el sistema como cronometrar las restricciones, las
restricciones en el proceso de desarrollo, estndares, etc.
Requerimientos del dominio
Requerimientos que vienen del dominio de la aplicacin del
sistema y que refleje las caractersticas de ese dominio.
12/05/16
226
Requerimientos funcionales
Describe
227
228
Ejemplos de requerimientos
funcionales
El
El
sistema
proporcionar
visualizadores
apropiados para que el usuario pueda leer los
documentos en el almacn del documento.
12/05/16
229
Imprecisin de los
requerimientos
Los
12/05/16
230
Completitud y consistencia
de los requerimientos
12/05/16
231
Requerimientos no
funcionales
12/05/16
232
Clasificaciones no
funcionales
12/05/16
233
Tipos de requerimientos no
funcionales
Requerimientos
Requerimientos
no funcionales
no funcionales
Requerimientos
Requerimientos
del producto
del producto
Requerimientos
Requerimientos
de eficiencia
de eficiencia
Requerimientos
Requerimientos
de fiabilidad
de fiabilidad
Requerimientos
Requerimientos
organizacionales
organizacionales
Requerimientos
Requerimientos
de portabilidad
de portabilidad
Requerimientos
Requerimientos
externos
externos
Requerimientos de
Requerimientos de
interoperabilidad
interoperabilidad
Requerimientos
Requerimientos
ticos
ticos
Requerimientos
Requerimientos
legales
legales
Requerimientos
Requerimientos
de utilidad
de utilidad
Requerimientos
Requerimientos
de entrega
de entrega
Requerimientos
Requerimientos
de desempeo
de desempeo
12/05/16
Requerimientos de
Requerimientos de
implementacin
implementacin
Requerimientos
Requerimientos
estndar
estndar
Requerimientos
Requerimientos
de privacidad
de privacidad
Requerimientos
Requerimientos
de espacio
de espacio
Requerimientos de
Requerimientos de
seguridad fsica
seguridad fsica
234
Ejemplos de requerimientos no
funcionales
12/05/16
235
Metas y requerimientos
12/05/16
236
Ejemplos
Una meta del sistema
El sistema debe ser fcil de usar por los directores
experimentados y debe organizarse de tal manera que
se minimizan los errores del usuario.
Un requerimiento no funcional verificable
Los directores experimentados podrn usar todas las
funciones del sistema despus de un total de dos horas
de entrenamiento . Despus de este entrenamiento, el
nmero promedio de errores cometidos por los usuarios
experimentados no exceder de dos por da.
12/05/16
237
Medidas de requerimientos
Propiedad
Medida
Velocidad
Transacciones/segundo procesadas.
Tiempo de respuesta usuario/evento.
Tiempo de refrescamiento de pantalla.
Tamao
MBytes.
N de chips ROM.
Facilidad de uso
Tiempo de entrenamiento.
Nmero de marcos de ayuda.
Fiabilidad
Robustez
Portabilidad
12/05/16
238
Interaccin de
requerimientos
Los conflictos entre los diferentes requerimientos no
funcionales diferentes comunes en los sistemas complejos.
Sistema de nave espacial
Para minimizar el peso, el nmero de chips separados
en el sistema debe minimizarse.
Para minimizar el consumo de energa, deben usarse
chips del ms bajo poder.
Sin embargo, el uso de chips de bajo poder puede
significar que ms chips tienen que ser usadas. Cual es
el requerimiento ms crtico?
12/05/16
239
Requerimientos del
dominio
Derivado
240
241
242
Problemas de
requerimientos del dominio
Entendibilidad
Implicitidad
12/05/16
243
244
de claridad
La precisin es difcil sin hacer que el
documento sea difcil de leer.
Confusin de requerimientos
Los requerimientos funcionales y no funcionales
tienden a ser confundidos.
La fusin de requerimientos
Pueden expresarse juntos varios requerimientos
diferentes.
12/05/16
245
Requerimientos de LIBSYS
4 ..5 LIBSYS proporcionar un sistema
de contabilidad financiero que mantiene
archivos de todos los pagos hecho por
los usuarios del sistema. Los gerentes
del sistema pueden configurar este
sistema para que los usuarios regulares
puedan recibir las tasas descontadas.
12/05/16
246
247
Problemas de
requerimientos
12/05/16
248
Presentacin estructurada
2.6.1 Recursos de rejilla
El editor proporcionar un recurso de rejilla dnde una matriz de
lneas horizontales y verticales proporciona un fondo a la ventana
del editor. Esta rejilla ser una rejilla pasiva dnde la alineacin
de entidades es la responsabilidad del usuario.
La razn: Una rejilla ayuda para que el usuario cree un diagrama
ordenado con las entidades bien espaciadas. Aunque una rejilla
activa dnde las entidades estn 'partidas en' las lneas de la
rejilla pueden ser tiles, el posicionamiento es impreciso. El
usuario es la
mejor persona para decidir donde deben
posicionarse las entidades.
La especificacin: ECLIPSE /WS /Tools/DE/FS Seccin 5.6
La fuente: Ray Wilson, la Oficina de Glasgow.
12/05/16
249
250
Requerimientos del
sistema
Las
especificaciones ms detalladas de
funciones del sistema, servicios y restricciones
que los requerimientos del usuario.
Se piensa que ellos son una base por disear el
sistema.
Ellos pueden incorporarse en el contrato del
sistema.
Los requerimientos del sistema pueden definirse
o ilustrarse usando a modelos del sistema
discutidos en el Captulo 8.
12/05/16
251
Requerimientos y diseo
En
12/05/16
252
12/05/16
253
Alternativas de especificacin NL
Propiedad
Medida
Lenguaje natural
estructurado
Descripcin del
diseo
Notaciones grficas
Especificaciones
matemticas
12/05/16
254
Especificaciones en lenguaje
estructurado
La libertad de escritura de los requerimientos est
limitada por una plantilla predefinida para los
requerimientos.
Todos los requerimientos son escritos de una manera
estndar.
La terminologa usada en la descripcin puede ser
limitada.
La ventaja es que la mayora de las expresiones del
lenguaje natural se mantienen, pero un grado de
uniformidad se impone en la especificacin.
12/05/16
255
Especificaciones basadas en
formatos
Definicin
de funcin o entidad.
Descripcin of entradas y de dnde vienen ellas.
Descripcin of salidas y a dnde van ellas.
Indicacin de otras entidades requeridas.
Pre y post condiciones (si son apropiados).
Los efectos laterales (si cualquier) de la
funcin.
12/05/16
256
Descripcin
Computa la dosis de insulina para ser entregada cuando el nivel de azcar moderado
actual est en la zona segura entre 3 y 7 unidades.
Entradas
Lectura actual de azcar (r2), las dos lecturas previas (el r0 y r1).
Fuente
Salidas
Destino
Accin
Requiere
Dos lecturas anteriores para que la proporcin de cambio de nivel de azcar pueda
calcularse.
Pre condicin
Post condicin
Efectos
12/05/16
colaterales
Ninguno.
257
Especificacin tabular
Usado
12/05/16
258
Especificacin tabular
Condicin
Accin
259
Modelos grficos
Los
260
Diagramas de secuencia
stos
261
bd : Base de Datos
c : Cliente
1: Tarjeta
2: Nmero de tarjeta
3: Solicitud de PIN
4: Tarjeta OK
5: PIN
6: Men de Opciones
<<excepcin>>
7: Tarjeta invlida
8: Pedido de retiro
9: Pedido de balance
13: Cargar(Monto)
<<execpcin>>
15: Efectivo insuficiente
16: Tarjeta
17: Retirar tarjeta
18: Efectivo
19: Retirar efectivo
20: Recibo
12/05/16
262
Especificacin de la interfaz
La
Interfaces procedurales;
Estructuras de los datos que se intercambian;
Representaciones de datos.
Las
12/05/16
263
264
El documento de
requerimientos
El
documento de requerimientos es la
declaracin oficial de lo que es requerido por los
desarrolladores del sistema.
Debe incluir una definicin de requerimientos del
usuario
y
una
especificacin
de
los
requerimientos del sistema.
NO es un documento de diseo. Hasta donde
posible, debe poner de lo QUE el sistema debe
hacer en lugar de CMO debe hacerlo
12/05/16
265
Usuarios de un documento
de requerimientos
Clientes
Clientesdel
delsistema
sistema
Especifican
Especifican los
los requerimientos
requerimientos yylos
los leen
leen para
para
chequear
que
renan
sus
necesidades.
Ellos
chequear que renan sus necesidades. Ellos
especifican
especificanlos
loscambios
cambiosen
enlos
losrequerimientos.
requerimientos.
Gerentes
Gerentes
Usan
Usan elel documento
documento de
de requerimientos
requerimientos para
para
planificar
una
oferta
para
el
sistema
planificar una oferta
para el sistema yy
planifican
el
proceso
de
desarrollo
planifican el proceso de desarrollodel
delsistema.
sistema.
Ingenieros
Ingenierosde
de
sistemas
sistemas
Usan
Usan los
los requerimientos
requerimientos del
del sistema
sistema para
para
pensar
pensarque
quesistema
sistemava
vaaaser
serdesarrollado.
desarrollado.
Ingenieros
Ingenierosde
de
pruebas
del
sistema
pruebas del sistema
Usan
Usan los
los requerimientos
requerimientos del
del sistema
sistema para
para
desarrollar
desarrollar las
las pruebas
pruebas de
de validacin
validacin del
del
sistema
sistema
Ingenieros
Ingenierosde
de
mantenimiento
mantenimientodel
del
sistema
sistema
Usan
Usan los
los requerimientos
requerimientos del
del sistema
sistema para
para
pensar
en
el
sistema
y
las
interrelaciones
con
pensar en el sistema y las interrelaciones con
sus
suspartes
partes
12/05/16
266
Estndar de
requerimientos IEEE
12/05/16
267
Estructura de documento
de especificaciones
Prefacio
Introduccin
Glosario
Definicin de requerimientos del usuario.
Arquitectura del sistema
Especificacin de requerimientos del sistema
Modelos del sistema
Evolucin del sistema
Apndices
Indece
12/05/16
268
Puntos clave
Los
269
Puntos clave
Los requerimientos parten de lo que el sistema debe
hacer y debe definir las restricciones en su
funcionamiento y aplicacin.
Los requerimientos
funcionales parten de los
servicios que el sistema debe proporcionar.
Los requerimientos no funcionales restringen el
sistema a desarrollndose o el proceso de desarrollo.
Los requerimientos del usuario son declaraciones de
alto nivel de lo que el sistema debe hacer. Deben
escribirse los requerimientos del usuario usando
lenguaje natural, tablas y diagramas.
12/05/16
270
Captulo 7
Proceso de
ingeniera de
procesos
12/05/16
271
Objetivos
Describir
272
Tpicos cubiertos
Estudios
de factibilidad
Elicitacin
de requerimientos
anlisis
Validacin de requerimientos
Gestin de requerimientos
12/05/16
273
Procesos de la ingeniera de
requerimientos
12/05/16
274
Procesos de la ingeniera
de requerimientos
Estudio
Estudiode
de
factibilidad
factibilidad
Elicitacin
Elicitacinde
de
requerimientos
requerimientos
yyanlisis
anlisis
Especificacin
Especificacinde
de
requerimientos
requerimientos
Informe
Informede
de
factibilidad
factibilidad
Validacin
Validacinde
de
requerimientos
requerimientos
Modelos
Modelosdel
del
sistema
sistema
Requerimientos
Requerimientos
del
delusuario
usuarioyyelel
sistema
sistema
Documento
Documentode
de
requerimientos
requerimientos
12/05/16
275
Ingeniera de requerimientos
Especificacin
Especificacinde
de
requerimientos
requerimientos
Especificacin de
requerimientos del
sistema y
modelamiento
Especificacin de
requerimientos del
usuario
Especificacin de
requerimientos del
negocio
Elicitacin de e
requerimientos del
sistema
Elicitacin de e
requerimientos del
usuario
Elicitacin
Elicitacinde
de
requerimientos
requerimientos
Documento de
requerimientos del
sistema
12/05/16
Estudio de
factibilidad
Revisiones
Prototipado
Validacin
Validacinde
de
requerimientos
requerimientos
276
Estudio de factibilidad
Un estudio de factibilidad decide si el sistema
propuesto vale o no la pena.
Un corto estudio enfocado que verifica:
Si el sistema contribuye a los objetivos del
organizacin;
Si el sistema que use la tecnologa actual puede
disearse y dentro del presupuesto;
Si el sistema puede integrarse con otros sistemas
que se usan.
12/05/16
277
12/05/16
278
Elicitacin y anlisis
12/05/16
279
280
Descubrimiento de
requerimientos
12/05/16
Prioritarizacin de
requerimientos y
negociacin
Documentacin de
requerimientos
281
Descubrimiento de
requerimientos
El
283
Stakeholders de un CA
Clientes del banco
Representes de otros bancos
Gerentes del banco
Personal de contadores
Administradores de bases de datos
Gerentes de seguridad
Departamento de marketing
Ingenieros de mantenimiento de hardware y
software
Reguladores de la banca
12/05/16
284
Puntos de vista
Los
285
Tipos de puntos de
vista
12/05/16
286
Identificacin de puntos de
vista
Identificar
12/05/16
287
Indirecta
Indirecta
Gerente
Gerentede
de
librera
librera
Finanzas
Finanzas
Estudiantes
Estudiantes
12/05/16
Interactor
Interactor
ElElartculo
artculo
proporciona
proporciona
Personal
Personal
Usuarios
Personal
de librera
Externos
Externos
Dominio
Dominio
Estndares
de UI
Gerentes del
sistema
Sistema de
clasificacin
Catalogadores
288
Entrevistando
En
289
Entrevistas en la prctica
12/05/16
290
Entrevistadores efectivos
Los
291
Escenarios
Los
12/05/16
292
293
294
Casos de uso
Los
295
Usario
12/05/16
Imprimir artculo
296
Usuario de
Librera
Imprimir artculo
Administracin de usuario
Proveedor
12/05/16
Personal de
Librera
Servicio de catlogo
297
Imprimir artculo
usuario1 :
Usuario
item :
Artculo
1: Peticin
formDR :
Formulario
miET :
EspacioTrabajo
miImpresora
: Impresora
2: Peticin
3: Retornar
4: Completar
5: DR:=OK
6: Entregar
7: Artculo:=OK
8: Imprimir
11: Informar
9: Enviar
10: Confirmar
12: Eliminar
12/05/16
298
item :
Artculo
1: Peticin
formDR :
Formulario
miET :
EspacioTrabajo
miImpresora
: Impresora
2: Peticin
3: Retornar
4: Completar
5: DR:=OK
6: Entregar
7: Artculo:=OK
8: Imprimir
11: Informar
9: Enviar
10: Confirmar
12: Eliminar
12/05/16
299
Factores sociales y
organizacionales
Los
300
Etnografa
Unos
301
La etnografa enfocada
Desarrollado
302
Etnografa y prototipado
Anlisis
Anlisis
etnogrfico
etnogrfico
Reuniones
Reuniones
interrogando
interrogando
Etnografa
Etnografa
enfocada
enfocada
Evaluacin
Evaluacin
del
delprototipo
prototipo
Desarrollo
Desarrollode
de
sistemas
sistemas
genricos
genricos
12/05/16
Prototipado
Prototipado
de
desistemas
sistemas
303
Alcance de la etnografa
Los
304
Validacin de requerimientos
Hay
305
Comprobando
requerimientos
Validez. El sistema proporciona las funciones que
dan el mejor soporte a las necesidades del cliente?
Consistencia.
Hay
algn
conflicto
de
requerimientos?
Completitud. Estn incluidas todas las funciones
requeridas por el cliente?
Realismo.
Pueden
los requerimientos ser
implementados dados el presupuesto y la tecnologa
disponibles?
Verificabilidad. Los requisitos pueden verificarse?
12/05/16
306
Tcnicas de validacin de
requerimientos
Revisiones
de requerimientos
El
anlisis
manual
sistemtico
de
los
requerimientos.
Prototipado
Usando un modelo ejecutable del sistema para
verificar los requerimientos. Cubierto en Captulo
17.
Generacin de casos de prueba
Desarrollo pruebas de los requerimientos para
verificar la comprobabilidad.
12/05/16
307
Revisin de requerimientos
Deben
308
Comprobacin de la revisin
Verificabilidad.
El
requerimiento
es
realsticamente comprobable?
Comprensibilidad. El requisito se entiende
adecuadamente?
Trazabilidad. El origen del requerimiento se
declara claramente?
Adaptabilidad.
Puede cambiarse el
requerimiento sin un impacto grande en otros
requerimientos?
12/05/16
309
Gestin de requerimientos
12/05/16
310
Cambio de requerimientos
La
311
Evolucin de los
requerimientos
Entendimiento
Entendimiento
inicial
inicialdel
del
problema
problema
Cambio
Cambiodel
del
entendimiento
entendimiento
del
delproblema
problema
Requerimientos
Requerimientos
iniciales
iniciales
Cambio
Cambiode
delos
los
requerimientos
requerimientos
Tiempo
12/05/16
312
Resistencia y requerimientos
voltiles
Requerimientos
313
Clasificacin de requerimientos
Tipo de
requerimiento
Descripcin
Requerimientos
mudables
Requerimientos
emergentes
Requerimientos
consecuenciales
Requerimientos
de compatibilidad
12/05/16
314
Planificando la gestin de
requerimientos
12/05/16
315
Trazabilidad
La trazabilidad se preocupa por las interrelaciones entre
los requerimientos, sus fuentes y el diseo del sistema.
Trazabilidad de la fuente
Los enlaces de los requerimientos a los stakeholders
que propusieron estos requerimientos;
Trazabilidad de requerimientos
Los enlaces entre los requerimientos dependientes;
Trazabilidad del diseo
Los enlaces de los requerimientos al diseo.
12/05/16
316
Matriz de trazabildad
12/05/16
317
Soporte de herramientas
CASE
Almacenamiento de requerimientos
Los requerimientos deben gestionarse en un almacn de
datos seguro, gestionado.
Gestin de cambios
El proceso de gestin de cambio es un proceso de flujo de
trabajo cuyos fases pueden definirse y el flujo de
informacin entre estas fases parcialmente automatizados.
Gestin de trazabilidad
La recuperacin automatizada de los enlaces entre los
requerimientos.
12/05/16
318
Gestin de cambio de
requerimientos
Debe
319
Gestin de cambios
Revisin de
requerimientos
Identificacin
del problema
Anlisis
Anlisisdel
del
problema
problemayy
especificacin
especificacindel
del
cambio
cambio
12/05/16
Anlisis
Anlisisyycostos
costos
del
cambio
del cambio
Implementacin
Implementacin
del
delcambio
cambio
320
Puntos clave
El
321
Puntos clave
Los
322
Captulo 8
Modelos de
sistema
12/05/16
323
Objetivos
Explicar
324
Tpicos cubiertos
Modelos
de contexto
Modelos de comportamiento
Modelos de datos
Modelos de objetos
Bancos de trabajo CASE
12/05/16
325
12/05/16
326
Tipos de modelo
Modelo de procesamiento de datos, que muestra
cmo se procesan los datos en diferentes fases.
Modelo de composicin, que muestra cmo las
entidades estn compuestas de otras entidades.
Modelo arquitectnico, que nuestra los subsistemas principales.
Modelo de clasificacin, que muestra cmo las
entidades tienen caractersticas comunes.
Modelo de estmulo/respuesta, que muestra la
reaccin del sistema a los eventos.
12/05/16
327
Modelos de contexto
Los
328
El contexto de un sistema
de un CA
Sistema
Sistemade
de
seguridad
seguridad
Sistema
Sistemade
de
contabilidad
contabilidadde
de
sucursal
sucursal
Sistema
Sistemade
de
contador
de
contador de
sucursal
sucursal
Base
Basede
dedatos
datosde
de
cuenta
cuenta
Sistema
Sistemade
de
Cajero
Cajero
Automtico
Automtico
Base
Basede
dedatos
datosde
de
usuario
usuario
Sistema
Sistemade
de
mantenimiento
mantenimiento
12/05/16
329
Modelos de proceso
Los
330
Proceso de obtencin de
equipo
Requerido
Requerido
por
porequipo
equipo
especfico
especfico
Especificacin
de equipo
Especificacin
de equipo
Base
Basede
dedatos
datos
del
proveedor
del proveedor
Nota de
entrega
Especificacin
revisada
Especificacin
Especificacin
de
devalidacin
validacin
Lista de
proveedores
Obtener
Obtenercosto
costo
de
de
estimaciones
estimaciones
Aceptar
Aceptar
entrega
entregade
de
equipo
equipo
Especificacin
+ Proveedor +
Estimacin
Hallar
Hallar
proveedores
proveedores
Elegir
Elegir
proveedor
proveedor
Pedido de
detalles +
Formato de
pedido en
blanco
Nota de
entrega
Notificacin
de pedido
Hacer
Hacerpedido
pedido
de
equipo
de equipo
Revisar
Revisar
entrega
entregade
de
tems
tems
Instrucciones
de instalacin
Instalar
Instalar
equipo
equipo
Aceptacin de
instalacin
Formato de
pedido
verificado y
revisado
Aceptar
Aceptarentrega
entrega
de
de equipo
equipo
Detalles de
equipo
Base de datos
Base de datos
de
deequipo
equipo
12/05/16
331
Modelos de comportamiento
12/05/16
332
Modelos de procesamiento
de datos
Los diagramas de flujo de fluyen (DFDs) puede
usarse para modelar el procesamiento de datos del
sistema.
stos muestran que el proceso camina como flujos
de datos a travs de un sistema.
Los DFDs son una parte intrnseca de muchos
mtodos del anlisis.
Notacin simple e intuitiva que los clientes pueden
entender.
Mostrar el procesamiento extremo-a-extremo de
datos.
12/05/16
333
DFD de procesamiento de
pedido
Pedido de
detalles +
Formato de
pedido en
blanco
Completar
Completar
formato
formatode
de
pedido
pedido
Formato de
pedido
completado
Formato de
pedido
firmado
Formato de
pedido
firmado
Validar
Validar
pedido
pedido
Enviar al
Enviar al
proveedor
proveedor
Pedido verificado
y firmado +
Notificacin de
pedido
Registrar
Registrar
pedido
pedido
Detalle de
pedido
Formato de
pedido
firmado
Ajustar
Ajustaralal
presupuesto
presupuesto
disponible
disponible
Cuenta de pedido
+ Detalles de
cuenta
Archivo
Archivode
de
pedidos
pedidos
12/05/16
Aceptar
Aceptarentrega
entrega
de
equipo
de equipo
334
335
Sensor
Sensorde
de
azcar
azcaren
enla
la
sangre
sangre
Insulina
Bombeo
Bombeode
de
insulina
insulina
12/05/16
Parmetros
Nivel de
de sangre Anlisis
Anlisisde
de azcar en la
azcar
sangre
azcaren
en
la
lasangre
sangre
Computacin
Computacinde
de
requerimientos
Comandos de
requerimientos
de
control de
deinsulina
insulina
bombeo
Controlador
Controlador
Requerimientos
de
entrega
de entrega
de insulina
de
deinsulina
insulina
336
12/05/16
337
Diagramas de estado
Permite
la descomposicin de un modelo
en los sub-modelos (ver la diapositiva
siguiente).
Una breve descripcin de las acciones es
incluido siguiendo lo que hacen en cada
estado.
Puede complementarse por tablas que
describen los estados y los estmulos.
12/05/16
338
Modelo de horno
microondas
Mxima potencia
Mxima potencia
do/ Poner Power = 600
Cronmetro
Nmero
Operacin
Esperando
do/ Visual izar tiempo
Media energa
Fijar tiempo
Iniciar
Cronmetro
Media potencia
Puerta cerrada
Habilitado
Puerta abierta
Media potencia
Puerta cerrada
Deshabilitado
do/ Visual izar "Esperando"
Cancelar
12/05/16
339
Descripcin
Esperando
Media potencia
Mxima
potencia
Fijar tiempo
Deshabilitado
Habilitado
Operacin
12/05/16
340
Descripcin
Media potencia
Mxima potencia
Cronmetro
Nmero
Puerta abierta
Puerta cerrada
Iniciar
Cancelar
12/05/16
El Ing.usuario
ha presionado
Otoniel Silva Delgado - Ing. Ivan Pino Tellera
cancelacin.
el
botn
de
341
Comprobando
OK
Falla de botn
giratorio
Cocinando
do/ Ejecutar generador
Interrupcin
Falla del
emisor
Hecho
do/ Sonido durante 5 segundos
Alarma
do/ Mostrar evento
Desactivado
12/05/16
Puerta abierta
EnEspera
342
12/05/16
343
ID_artculo
Ttulo
Autores
Archivo_PDF
Cuota
ID_fuente
Publica_en
Ttulo
Editor
Edicin
Fecha
Pginas
Cuota_pagable_a
Solicita
En
Pedido
Nro_pedido
PagoTotal
Fecha
Impuesto_estado
ID_artculo (FK)
Id_comprador (FK)
Agencia_DR
Pas
Id_agencia
Nombre
Direccin
ID_fuente (FK)
ID_pas
En
ID_fuente (FK)
Formato_DR
Tasa_impuesto
Id_agencia (FK)
Coloca
Comprador
Id_comprador
Nombre
Direccin
E_mail
InformeCuenta
12/05/16
344
Diccionarios de datos
Los
345
Entradas de diccionario de
datos
Nombre
Descripcin
Tipo
Fecha
Artculo
30/12/2005
Autores
30/12/2005
Comprador
30/12/2005
Cuota_pagable_a
29/12/2005
Direccin
31/12/2005
12/05/16
346
Modelos de objetos
Los
347
Modelos de objetos
Maneras
348
Modelos de herencia
Organiza
349
Modelos de objetos en el
UML
12/05/16
350
ItemPublicado
ItemRegistrado
T tulo
Editor
Libro
Autor
Edicin
FechaPublicacin
ISBN
12/05/16
T tulo
Medio
Revista
Ao
Nmero
Pelcula
Director
FechaRealizacin
Distribuidor
ProgramaComputadora
Versin
Plataforma
351
Lector
Prestatario
Afiliacin
Items Prstamo
Mxim oPrs tam o
Personal
Departamento
TelfonoDepto
12/05/16
Estudiante
TemaMayor
DireccinDomicilio
352
Herencia mltiple
En lugar de heredar los atributos y servicios de una
sola clase-padre, un sistema que apoya la herencia
mltiple permite que las clases del objetos heredar
de varias superclases.
Esto puede llevar a conflictos semnticos dnde los
atributos/servicios con el mismo nombre en
diferentes superclases tienen diferente semntica.
La herencia mltiple hace la reorganizacin de
jerarqua de clases ms compleja.
12/05/16
353
Herencia mltiple
Libro
GrabacinVoz
Autor
Edicin
FechaPublicacin
ISBN
Altavoz
Duracin
FechaGrabacin
LibroParlante
NmeroCintas
12/05/16
354
Agregacin de objetos
Un
355
Agregacin de objetos
PaqueteEstudio
TtuloCurso
Nmero
Ao
Instructor
Asignacin
Crditos
12/05/16
Ejercicios
Soluciones
NmeroProblema
Descripcin
Texto
Diagramas
DiapositivasOHP
NotasLectura
Videocinta
Diapositivas
Texto
IdCinta
356
Modelamiento del
comportamiento de objetos
Un
357
Edicin de artculos
electrnicos
Ecat : Catlogo
usLib :
UsuarioLibrera
itLib : ItemLibrera
Lib1
1: Mirar
2: Visualizar
3: Publicar
4: Licencia de publicar
5: Aceptar licencia
6: Comprimir
7: Entregar
12/05/16
358
Mtodos estructurados
Los
12/05/16
359
360
12/05/16
361
Generador
Generador
de
de
cdigo
cdigo
Herramientas
Herramientasde
de
creacin
de
creacin de
formularios
formularios
12/05/16
Herramientas
Herramientasde
de
diagramacin
diagramacin
estructurada
estructurada
Recursos
Recursosde
de
generacin
generacinde
de
informes
informes
Almacn
Almacnde
de
informacin
informacin
central
central
Recursos
Recursosde
de
lenguaje
lenguajede
de
consulta
consulta
Herramientas
Herramientasde
de
anlisis,
diseo
anlisis, diseoyy
comprobacin
comprobacin
Recursos
Recursosde
de
importacin
importacin/ /
exportacin
exportacin
362
12/05/16
363
Puntos clave
Un modelo es una vista abstracta del sistema . Los
tipos complementarios de modelo proporcionan la
informacin del sistema diferente.
Los modelos de contexto muestran la posicin de un
sistema en su ambiente con otros sistemas y
procesos.
Los modelos de flujo de datos pueden usarse para
modelar el procesamiento de datos en un sistema.
Los modelos de mquina de estados modelan el
comportamiento del sistema en respuesta a los
eventos internos o externos.
12/05/16
364
Puntos clave
Los
12/05/16
365
Captulo 9
Especificacin
de sistemas
crticos
12/05/16
366
Objetivos
Explicar
367
Tpicos cubiertos
Especificacin
de manejo de riesgo
Especificacin de seguridad fsica
Especificacin de seguridad contra
delitos
Especificacin
de fiabilidad del
software
12/05/16
368
Requerimientos de confiabilidad
Requerimientos
no
funcionales
que
definen la fiabilidad requerida y disponibilidad del
sistema.
Requerimientos
369
Especificacin de manejo
de riesgos
La
370
12/05/16
371
Especificacin de manejo de
riesgos
Identificacin
Identificacin
del
del
riesgo
riesgo
Anlisis
Anlisisyy
clasificacin
clasificacin
del
del riesgo
riesgo
Planificacin
Planificacin
del
del
riesgo
riesgo
Evaluacin
Evaluacinde
de
reduccin
del
reduccin del
riesgo
riesgo
Descripcin
Descripcindel
del
riesgo
riesgo
Evaluacin
Evaluacindel
del
riesgo
riesgo
Anlisis
Anlisisde
delala
causa
causaraz
raz
Requerimientos
Requerimientos
de
deconfiabilidad
confiabilidad
12/05/16
372
12/05/16
373
12/05/16
374
12/05/16
375
Niveles de riesgo
Regin inaceptable
El riesgo no puede ser tolerado
Regin
ALARP
Regin
aceptable
Riego despreciable
12/05/16
376
12/05/16
377
378
Severidad del
riesgo
Sobredosis de
insulina
Media
Alta
Alta
Intolerable
Baja dosis de
insulina
Media
Baja
Baja
Aceptable
Falla de potencia
Alta
Baja
Baja
Aceptable
Mquina ajusta
incorrectamente
Alta
Alta
Alta
Intolerable
Mquina
interrumpe en el
paciente
Baja
Alta
Media
ALARP
Mquina causa
infeccin
Media
Media
Media
ALARP
Interferencia
elctrica
Baja
Alta
Media
ALARP
Reaccin
alrgica
Baja
Baja
Baja
Aceptable
12/05/16
Riesgo
estimado
Aceptabilidad
379
12/05/16
380
381
Incorrecto
Incorrectonivel
nivel
de
deazcar
azcar
medido
medido
Correcta
Correctadosis
dosis
entregada
entregadaen
en
mal momento
mal momento
Falla
Fallade
de
sistema
sistemade
de
entrega
entrega
Or
Or
Falla
Fallade
de
sensor
sensor
Or
Or
Error
Errorde
de
cmputo
cmputo
de azcar
de azcar
Incorrecto
Incorrecto
clculo
clculode
de
insulina
insulina
Falla
Fallade
de
cronmetro
cronmetro
Or
Or
Or
Or
Error
Error
algortmico
algortmico
12/05/16
Incorrecta
Incorrecta
seal
sealde
de
bombeo
bombeo
Error
Error
aritmtico
aritmtico
Error
Error
algortmico
algortmico
Error
Error
aritmtico
aritmtico
382
Valoracin de la reduccin
del riesgo
El
383
Uso de estrategias
Normalmente,
384
Bomba de insulina
riesgos de software
Error
aritmtico
Un cmputo causa el valor de una variable para
sobreflujo o subflujo;
Quiz incluya un manejador de excepcin para
cada tipo de error aritmtico.
Error algortmico
Compara dosis a ser entregada con dosis anterior
o las dosis mximo seguras. Reduce la dosis si
es demasiada alta.
12/05/16
385
Requerimientos de seguridad
bomba de insulina
SR1: El sistema no entregar una sola dosis de insulina que sea mayor
que una dosis mxima especificada para un usuario del sistema.
SR2: El sistema no entregar una dosis diariamente acumulativa de
insulina que sea mayor que un mximo especificado para un usuario
del sistema.
SR3: El sistema incluir un recurso de diagnstico de hardware que se
ejecutar por lo menos 4 veces por hora.
SR4: El sistema incluir un manejador de excepcin para todas las
excepciones que se identifican en la Tabla 3.
SR5: La alarma audible sonar cuando cualquier hardware o anomala
del software se descubre y un mensaje de diagnstico como el
definido en la Tabla 4 debe visualizarse.
SR6: En caso de una alarma en el sistema, la entrega de insulina se
suspender hasta que el usuario haya restablecido el sistema y ha
anulado la alarma.
12/05/16
386
Especificacin de seguridad
fsica
Los
387
IEC 61508
Un
388
Requerimientos de seguridad
del sistema de control
Requerimientos
Requerimientos
del
delsistema
sistema
Sistema
Sistemade
de
control
control
Equipamiento
Equipamiento
Sistema
Sistemade
de
proteccin
proteccin
12/05/16
Requerimientos
Requerimientosde
de
seguridad
seguridadfsica
fsica
Requerimientos
Requerimientosde
de
seguridad
fsica
seguridad fsica
funcional
funcional
Requerimientos
Requerimientosde
de
integridad
integridadde
de
seguridad
fsica
seguridad fsica
389
Anlisisdepeligroy
Anlisisdepeligroy
riesgo
riesgo
Asignacinde
Asignacinde
requerimientosde
requerimientosde
seguridad
seguridad
Derivacinde
Derivacinde
requerimientosde
requerimientosde
seguridad
seguridad
Planificacin y desarrollo
Desarrollodesistemas
Desarrollodesistemas
deseguridad
deseguridad
relacionados
relacionados
Planeando
Validacin
O&M
Recursosde
Recursosde
reduccinde
reduccinde
riesgosexterno
riesgosexterno
Instalacin
Validacindeseguridad
Validacindeseguridad
defsica
defsica
Instalaciny
Instalaciny
comisionado
comisionado
Operaciny
Operaciny
mantenimiento
mantenimiento
Decomisodel
Decomisodel
sistema
sistema
12/05/16
390
Requerimientos de seguridad
fsica
12/05/16
391
Especificacin de la seguridad
contra delitos
Tiene un poco de similitud a la especificacin de seguridad fsica.
No es posible especificar los requerimientos de seguridad
contra delitos cuantitativamente;
Los requerimientos son a menudo "no debe" en lugar de
requerimientos "debe".
Diferencias
No hay nocin bien definida de un ciclo de vida de seguridad
contra delitos para la gestin de seguridad; no hay estndares;
Las amenazas genricas en lugar de peligros especficos del
sistema;
La tecnologa de seguridad contra delitos es madura (encriptacin,
etc.).Sin embargo, hay problemas de trasferencia de esto en el uso
general;
El dominio de un solo proveedor (Microsoft) significa que los
grandes variedad de sistemas pueden ser afectados por falla
de seguridad.
12/05/16
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
392
El proceso de especificacin
de seguridad contra delitos
Tecnologa
Tecnologade
de
seguridad
y
seguridad y
anlisis
anlisis
Identificacin
Identificacindel
del
recurso
recurso
Lista
Listade
derecursos
recursos
del
sistema
del sistema
12/05/16
Anlisis
Anlisisde
delala
amenaza
amenazayy
valoracin
valoracindel
del
riesgo
riesgo
Matriz
Matrizde
deriesgos
riesgosyy
amenazas
amenazas
Anlisis
Anlisisde
de
tecnologa
tecnologa
Asignacin
Asignacin
de
deamenaza
amenaza
Descripcin
Descripcinde
de
amenaza
y
amenaza y
riesgo
riesgo
Especificacin
Especificacinde
de
requerimientos
de
requerimientos de
seguridad
seguridad
Requerimientos
Requerimientosde
de
confiabilidad
confiabilidad
393
Especificacin de estados en
la seguridad contra delitos
Asignacin de la amenaza
12/05/16
394
Especificacin de estados en
la seguridad contra delitos
Anlisis
de tecnologa
Se evalan las tecnologas de seguridad
disponibles y su pertinencia contra las
amenazas identificadas.
Especificacin
de
requerimientos
de
seguridad
Los
requerimientos de seguridad son
especificados. Donde sea apropiado, sern
explcitamente identificadas las tecnologas de
seguridad que pueden usarse para proteger
contra las amenazas diferentes al sistema.
12/05/16
395
Tipos de requerimientos de
seguridad contra delitos
Requerimientos de identificacin.
Requerimientos de autenticacin.
Requerimientos de autorizacin.
Requerimientos de inmunidad.
Requerimientos de integridad.
Requerimientos de deteccin de intrusin.
Requerimientos de no repudio.
Requerimientos de privacidad.
Requerimientos de auditoria de seguridad contra delitos.
Requerimientos de seguridad de mantenimiento del
sistema.
12/05/16
396
Requerimientos de
seguridad LIBSYS
SEC1: Todos los usuarios del sistema se identificarn usando su
nmero de tarjeta de biblioteca y la contrasea personal
SEC2: Los privilegios de usuario se asignarn segn la clase de
usuario (estudiante, personal, personal de biblioteca).
SEC3: Antes de la ejecucin de cualquier comando, LIBSYS verificar
que el usuario tiene los privilegios suficientes para acceder y ejecutar
esa orden.
SEC4: Cuando un usuario pide un documento, la demanda del orden
ser anotada. Los datos de registro mantenidos incluirn el tiempo
del pedido, la identificacin del usuario y los artculos pedidos.
SEC5: Todos los datos del sistema sern apoyados una vez por da y
las copias guardadas fuera de sitio en una rea de almacenamiento
segura.
SEC6: No se permitirn a los usuarios tener ms de 1 registro
simultneo en LIBSYS.
12/05/16
397
Especificacin de fiabilidad
de sistemas
12/05/16
398
Requerimientos de
fiabilidad funcional
Un rango predefinido para todos los valores que se
ingresan por el operador sern definidos y el
sistema verificar que todo operador ingrese
cadas dentro de ese rango predefinido.
El sistema verificar todos los discos para los
bloques malos cuando se inicialicen.
El sistema debe usar la versin N del programa
para implementar el frenado del sistema de control.
El sistema debe se implementado
en un
subconjunto seguro de Ada y debe verificarse
usando el anlisis esttico.
12/05/16
399
Especificacin de fiabilidad no
funcional
12/05/16
400
Mtricas de fiabilidad
Las
401
Mtricas de fiabilidad
Mtrica
Explicacin
POFOD
La posibilidad de
falla en la demanda
ROCOF
La proporcin de
ocurrencia de falla
MTTF
Tiempo
media de falla
AVAIL Disponibilidad
12/05/16
402
12/05/16
403
12/05/16
404
12/05/16
405
Disponibilidad
La medida de la fraccin de tiempo que el sistema
est disponible para el uso.
Se toman los tiempos de reparo y reinicio en la
cuenta.
Una disponibilidad de 0.998 significa que el software
est disponible para 998 de 1000 unidades de
tiempo.
Relevante para sistemas sin para, continuamente
ejecutables.
sistemas de intercambio de telfonos, sistemas de
sealamiento de vas frreas.
12/05/16
406
Especificacin de
requerimientos no funcionales
Las
407
Consecuencias de fallas
Al
408
Clasificacin de fallas
Clase de falla
Descripcin
Transitoria
Slo ocurre con ciertas entradas.
Permanente
Ocurre con todas las entradas.
Recuperable El sistema puede recuperarla sin la
intervencin del operador.
Inrecuperable Necesita
la
intervencin
operador recuperar la falla.
del
No corrupta
Corrupta
12/05/16
409
cada
sub-sistema,
analizar
las
consecuencias de posibles fallas del sistema.
Desde el anlisis de falla del sistema, fallas de
particin dentro de las clases apropiadas.
Para cada clase de falla identificada, presentar
la fiabilidad usando una mtrica apropiada.
Diferentes mtricas pueden usarse para los
requerimientos de fiabilidad diferentes.
Identificar los requerimientos de fiabilidad
funcionales para reducir las oportunidades de
fallas crticas.
12/05/16
410
411
Especificacin de
fiabilidad para un CA
Clases de
falla
Ejemplo
Mtrica de
fiabilidad
Permanente
no corrupta
Transitoria
no corrupta
Transitoria
corrupta
Un patrn de transacciones a No
travs
de
la
red
causa cuantificable!
corrupcin de base de datos. Nunca
debe
pasar en la vida
del sistema.
12/05/16
ROCOF
1
ocurrencia/1000
das.
412
Validacin de la especificacin
Es
413
Puntos clave
El anlisis de riesgo es la base por identificar los
requerimientos de fiabilidad del sistema.
El anlisis de riesgo se preocupa por evaluar las
oportunidades de surgimiento de un riesgo y
clasificar los riesgos segn su gravedad.
Los requerimientos de seguridad contra delitos
deben identificar los recursos y definir cmo
deben protegerse stos.
Pueden definirse los requerimientos de fiabilidad
cuantitativamente.
12/05/16
414
Puntos clave
Las
415
Captulo 10
Especificaciones
formales
12/05/16
416
Objetivos
Explicar
417
Tpicos cubiertos
Especificacin
formal en el proceso
de software
Especificacin de la interfaz de un
sub-sistema
Especificacin del comportamiento
12/05/16
418
Mtodos formales
La especificacin formal es parte de una coleccin
ms general de tcnicas que son conocidas como
"los mtodos formales".
Ellos estn todas basados en la representacin
matemtica y anlisis de software.
Los mtodos formales incluyen
Especificacin formal;
Anlisis de especificacin y demostracin;
Desarrollo transformacional;
Verificacin de programa.
12/05/16
419
12/05/16
420
12/05/16
421
Especificacin en el proceso de
software
La
422
Especificacin y diseo
Participacin creciente del contratista
Participacin decreciente del cliente
Definicin
Definicinde
de
requerimientos
requerimientos
del
delusuario
usuario
Especificacin
Especificacinde
de
requerimientos
requerimientos
del
delsistema
sistema
Diseo
Diseo
arquitectnico
arquitectnico
Especificacin
Especificacin
formal
formal
Diseo
Diseode
de
alto
nivel
alto nivel
Especificacin
Diseo
12/05/16
423
Especificacin en el proceso de
software
Especificacin
Especificacinde
de
requerimientos
requerimientos
del
delsistema
sistema
Especificacin
Especificacin
formal
formal
Diseo
Diseode
de
alto
nivel
alto nivel
Definicin
Definicinde
de
requerimientos
requerimientos
del
delusuario
usuario
Modelamiento
Modelamientodel
del
sistema
sistema
12/05/16
Diseo
Diseo
arquitectnico
arquitectnico
424
Uso de la especificacin
formal
12/05/16
425
12/05/16
426
12/05/16
427
Especificaciones tcnicas
Especificacin
Especificacin
12/05/16
algebraica
basada en modelo
428
Lenguajes de
especificacin formal
Algebraico
Basado en
modelo
12/05/16
Secuencial
Concurrente
Larch(Guttag, 1993) Lotos (Bolognesi y
OBJ
(Futatsugi, Brinksma, 1987)
1985)
Z (Spivey, 1992)
VDM (Jones, 1980)
B (Worsworth, 1996)
429
Especificacin de la interfaz
Los sistemas grandes se descomponen en
subsistemas con las interfaces bien definidas entre
estos subsistemas.
La especificacin de interfaces de subsistema
permite el desarrollo independiente de subsistemas
diferentes.
Las interfaces pueden ser definidas como tipos de
datos abstractos o clases de objetos.
La aproximacin algebraica para la especificacin
formal est particularmente bien preparada para la
especificacin de la interfaz como se enfoca en las
operaciones definidas en un objeto.
12/05/16
430
Interfaces de subsistema
Objetos de interfaz
Sub - sistema
A
12/05/16
Sub - sistema
B
431
La estructura de una
especificacin algebraica
<SPECIFICATION NAME>
sort <name>
Imports <LIST OF SPECIFICATION NAMES>
Descripcin informal de clase y sus operaciones
432
Componentes de especificacin
Introduccin
Define la clase (el nombre de tipo) y declara otras
especificaciones que son usados.
Descripcin
Informalmente describe las operaciones en el tipo.
Signatura
Define la sintaxis de las operaciones en la interfaz y sus
parmetros.
Axiomas
Define las semnticas de la operacin por axiomas de
definicin que caracterizan el comportamiento.
12/05/16
433
Especificacin algebraica
sistemtica
Especificaciones
12/05/16
Estructuracin de la especificacin;
Denominacin de la especificacin;
Seleccin de operacin;
Especificacin de operacin informal;
Definicin de la sintaxis;
Definicin del axioma.
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
434
Operaciones de especificacin
Operaciones
435
12/05/16
436
Especificacin de List
List (Elem)
sort List
Imputs Integer
Define una lista dnde los elementos son agregados al final y retirados del frente. Las operaciones son Create qu
trae una lista vaca en existencia, Cons que crea una nueva lista con un miembro agregado, Length que evala el
tamao de la lista, Head que evala el elemento delantero de la lista y Tail que crea una lista quitando la cabeza de su
lista de la entrada. Undefined representa un valor indefinido de tipo Elem.
Create List
Cons(List, Elem) List
Head(List) Elem
Length(List) Integer
Tail(List) List
Head(Create) = Undefined exception (empty list)
Head(Cons(L, v) = if L = Create then v else Head(L)
Length(Create) = 0
Length(Cons(L,v)) = Length(L) + 1
Tail(Create) = Create
Tail(Create(L, v))= if L = Create then Create else Cons(Tail(L),v)
12/05/16
437
Recursin en
especificaciones
Las
12/05/16
438
Especificacin de la interfaz
en sistemas crticos
Considerar
439
Un objeto de sector
Las
12/05/16
440
Operaciones primitivas
12/05/16
441
442
443
Comentario de especificacin
Usar
444
Especificacin del
comportamiento
La
especificacin
algebraica
puede
ser
embarazosa cuando las operaciones del objeto
no son independientes del estado del objeto.
La especificacin basado en modelo expone el
estado del sistema y define las operaciones en
trminos de cambios para ese estado.
La notacin Z es una tcnica madura para la
especificacin basada en modelo. Combina
descripcin formal e informal y usa el resaltado
grfico al presentar las especificaciones.
12/05/16
445
La estructura de un esquema Z
Nombre del esquema
Container
contents
capacity N
contents ^S = capacity
12/05/16
446
Modelando la bomba de
insulina
El
12/05/16
447
12/05/16
448
Esquema de la bomba de
insulina
INSULIN_PUMP_STATE
449
Invariantes de estado
r2 = Reading?
dose! ^S insulin_available
insulin_available ^S capacity
// The cumulative dose of insulin delivered is set to zero once every 24
hours
clock? = 000000 cumulative_dose = 0
// If the cumulative dose exceeds the limit then operation is suspended
cumulative_dose max_daily_dose
display1! = Daily dose exceeded
status
error
450
El clculo de dosaje
La
451
// 2. The maximum daily dose would be exceeded if the computed dose was delivered so the insulin
dose is set to the difference between the maximum allowed daily dose and the cumulative dose
delivered so far
CompDose + cumulative_dose > max_daily_dose alarm! = on status = warning dose! =
max_daily_dose cumulative_dose
12/05/16
452
453
Esquema de Azcar OK
SUGAR_OK
r2 safemin r2 safemax
// sugar level stable or falling
r2 r1 CompDose = 0
454
Puntos clave
12/05/16
455
Puntos clave
Las
456
Captulo 11
Diseo
arquitectnico
12/05/16
457
Objetivos
Introducir el diseo arquitectnico y discutir su
importancia
Explicar las decisiones del diseo arquitectnico que
deben ser tomadas
Introducir
tres
estilos
arquitectnicos
complementarios
que cubren la organizacin,
descomposicin y control.
Discutir las arquitecturas de referencia que se usan
para comunicar y comparar las arquitecturas
12/05/16
458
Tpicos cubiertos
Decisiones
459
460
Diseo arquitectnico
Una
461
Ventajas de una
arquitectura explcita
Comunicacin
462
Arquitectura y caractersticas
del sistema
Desempeo
Localiza las operaciones crticas y minimiza las comunicaciones.
Usa grandes componentes en lugar de los componentes de grano
fino.
Seguridad contra delitos
Usa una arquitectura de capas con los recursos crticos en las
capas internas.
Seguridad fsica
Localiza los rasgos de seguridad-crtica en un nmero pequeo
de sub-sistemas.
Disponibilidad
Incluye componentes redundantes y mecanismos para la
tolerancia de falla.
Mantenibilidad
Usa componentes de grano fino, reemplazables.
12/05/16
463
Conflictos arquitectnicos
Usando
464
465
Sistema de control de
robot empaquetado
Sistema
Sistema
de
deVisin
Visin
Sistema
Sistemade
de
identificacin
identificacin
de
deobjetos
objetos
Controlador
Controlador
de
debrazo
brazo
Controlador
Controlador
de
depinza
pinza
Sistema
Sistemade
de
seleccin
de
seleccin de
empaquetamiento
empaquetamiento
Sistema
Sistemade
de
condensado
condensado
12/05/16
Controlador
Controlador
de
deportador
portador
466
467
diseo arquitectnico es un
proceso creativo de modo que el
proceso difiera dependiendo del tipo
de sistema que se desarrolla.
Sin
embargo, una variedad de
decisiones comunes alcanzan a todos
los procesos del diseo.
12/05/16
468
469
Reuso de la arquitectura
Los
470
Estilos de Arquitectura
El
471
Modelos arquitectnicos
12/05/16
472
473
Un modelo de almacn
Los
12/05/16
474
Traductor
Traductor
de
dediseo
diseo
Almacn
Almacn
del
del proyecto
proyecto
Analizador
Analizador
de
dediseo
diseo
12/05/16
Generador
Generador
de
decdigo
cdigo
Editor
Editorde
de
programa
programa
Generador
Generador
de
deinformes
informes
475
Caractersticas del
modelo de almacn
12/05/16
Ventajas
Manera eficaz de compartir grandes cantidades de datos;
Los subsistemas necesitan no ser involucrados cmo datos
producido por gestin Centralizada por ejemplo, copia de
respaldo, la seguridad, etc.,
El modelo compartido es publicado como el esquema del
almacn.
Desventajas
Los subsistemas deben estar de acuerdo a un modelo de
datos de almacn. Inevitablemente un compromiso;
La evolucin de los datos es difcil y cara;
Ningn alcance para las polticas de gestin especficas;
Dificultad para distribuir eficazmente.
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
476
Modelo cliente-servidor
Modelo
477
Cliente
Cliente 22
Cliente
Cliente 33
Cliente
Cliente 44
Internet
Internet
Servidor
Servidorde
de
catlogo
catlogo
Servidor
Servidorde
de
video
video
Servidor
Servidorde
de
pinturas
pinturas
Servidor
Servidorde
de
Web
Web
Catlogo
Catlogode
de
librera
librera
Archivos
Archivosde
de
pelculas
pelculasyy
clips
clips
Grficos
Grficosde
de
fotos
fotos
digitalizadas
digitalizadas
Informacin
Informacin
de
defotos
fotosyy
pelculas
pelculas
12/05/16
478
Caractersticas de clienteservidor
Ventajas
La distribucin de datos es sincera;
Hace uso eficaz de sistemas conectados a una red de
computadoras. Puede requerir hardware ms barato;
Fcil para agregar nuevos servidores o actualizar los
servidores existentes.
Desventajas
Ningn modelo de datos compartidos para subsistemas
usan organizacin de datos diferentes. El intercambio de
datos puede ser ineficaz;
Gestin redundante en cada servidor;
Ningn registro central de nombres y servicios - puede ser
difcil averiguar qu servidores y servicios estn disponibles.
12/05/16
479
Modelo de mquina
abstracta (capas)
Usado
480
481
Estilos de
descomposicin modular
Estilos
de descomponer subsistemas
en los mdulos.
Ninguna distincin rgida entre la
organizacin del sistema y la
descomposicin modular.
12/05/16
482
Subsistemas y mdulos
Un
483
Descomposicin modular
12/05/16
484
Modelo de objetos
Estructura
485
Pago
NumFactura
Fecha
Cantidad
NumCliente
12/05/16
Factura
NumFactura
Fecha
Cantidad
Cliente
NumFactura
Fecha
Cantidad
NumCliente
Emitir()
EnviarRecordatorio()
AceptarPago()
EnviarRecibo()
486
12/05/16
487
Segmentacin orientada
a funcin
Las transformaciones funcionales procesan sus
entradas para producir salidas.
Pueda ser referida como un tubo y modelo del filtro
(como el shell (intrprete de comandos) de UNIX).
Las variantes de esta aproximacin son muy comunes.
Cuando las transformaciones son secuenciales, ste es
un modelo secuencial por lotes que se usa
extensivamente en sistemas de procesamiento de
datos.
No es muy conveniente para sistemas interactivos.
12/05/16
488
Sistema de procesamiento
de factura
Emitir
Emitirrecibos
recibos
Leer
Leerfacturas
facturas
emitidas
emitidas
Identificar
Identificar
pagos
pagos
Encontrar
Encontrarlala
deuda
deudade
de
pagos
pagos
Facturas
Facturas
12/05/16
Recibos
Recibos
Emitir
Emitir
recordatorio
recordatorio
de
depagos
pagos
Recordatorios
Recordatorios
Pagos
Pagos
489
12/05/16
490
Estilos de control
Se preocupan por el flujo del control entre los
subsistemas. Distinto del modelo de descomposicin
del sistema.
Control centralizado
Un subsistema tiene la responsabilidad global para
el control e inicios y salidas de otros subsistemas.
Control basado en eventos
Cada subsistema puede responder a eventos
externamente generados por otros subsistemas o
por el entorno del sistema.
12/05/16
491
Estilos de control
Se preocupan por el flujo del control entre los
subsistemas. Distinto del modelo de descomposicin
del sistema.
Control centralizado
Un subsistema tiene la responsabilidad global para
el control e inicios y salidas de otros subsistemas.
Control basado en eventos
Cada subsistema puede responder a eventos
externamente generados por otros subsistemas o
por el entorno del sistema.
12/05/16
492
Control centralizado
12/05/16
493
Rutina
Rutina11
Rutina
Rutina1.1
1.1
12/05/16
Rutina
Rutina33
Rutina
Rutina22
Rutina
Rutina1.2
1.2
Rutina
Rutina3.1
3.1
Rutina
Rutina1.2
1.2
494
Control de sistemas de
tiempo real
Procesos
Procesosde
de
sensor
sensor
Procesos
Procesosde
de
actuados
actuados
Controlador
Controlador
del
delsistema
sistema
Procesos
Procesosde
de
computacin
computacin
12/05/16
Interfaz
Interfazde
de
usuario
usuario
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
Manejador
Manejador
de
defallas
fallas
495
12/05/16
496
Modelos de emisin
12/05/16
497
La emisin selectiva
Subsistema
Subsistema
11
Subsistema
Subsistema
22
Subsistema
Subsistema
33
Subsistema
Subsistema
44
Manejador
Manejador de
de evento
evento yy mensaje
mensaje
12/05/16
498
Sistemas de manejador
de eventos
Usado
499
Control de manejador de
interrupcin
Interrupciones
Vector de
interrupcin
Manejador
Manejador
11
Manejador
Manejador
22
Manejador
Manejador
33
Proceso
Proceso
11
Proceso
Proceso
22
Proceso
Proceso
33
12/05/16
Manejador
Manejador
44
Proceso
Proceso
44
500
Arquitecturas de referencia
12/05/16
501
Arquitecturas de referencia
Los
502
Aplicacin
Aplicacin
Presentacin
Presentacin
Sesin
Sesin
Transporte
Transporte
Red
Red
Red
Enlace de datos
Fsico
Enlace de datos
Fsico
Enlace de datos
Fsico
Medios
Medios de
de comunicacin
comunicacin
12/05/16
503
Modelo de referencia a
caso
12/05/16
504
El modelo de referencia
ECMA
Data
repository
Servicio
de almacn services
de datos
Servicio
integracin
de datos
Data de
integ
ration services
Tool de
Ranura
slots
herramientas
Task de
management
services
Servicio
interfaz de usuario
Servicio
interfaz
usuario
User de
inter
face de
services
12/05/16
Servicio
de
Message
mensaje
services
505
Modelos arquitectnicos
Diferentes
modelos arquitectnicos
pueden ser producidos durante el
proceso de diseo.
Cada modelo presenta diferentes
perspectivas en la arquitectura
12/05/16
506
Atributos de la
arquitectura
12/05/16
Desempeo
Localiza operaciones para minimizar la comunicacin de
subsistemas.
Seguridad contra delitos
Usa una arquitectura de capas con recursos crticos en las
capas internas.
Seguridad fsica
Aislar los componentes de seguridad fsica crticos.
Disponibilidad
Incluye componentes redundantes en la arquitectura.
Mantenibilidad
Usar componentes de grano fino y autocontenidos.
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
507
Puntos clave
Los
508
Captulo 12
Arquitecturas de
Sistemas
Distribuidos
12/05/16
509
Objetivos
12/05/16
510
Tpicos cubiertos
Arquitecturas
multiprocesador
Arquitecturas cliente-servidor
Arquitecturas distribuidas a objetos
Computacin inter-organizacional
12/05/16
511
Sistemas distribuidos
Virtualmente
512
Tipos de sistemas
12/05/16
513
Caractersticas de
sistemas distribuidos
12/05/16
Recursos compartidos
Compartiendo recursos de hardware y software.
Franqueza
Uso de equipos y software de diferentes vendedores.
Concurrencia
Procesamiento concurrente para reforzar el desempeo.
Escalabilidad
Crecimiento de volumen procesado agregando nuevos
recursos.
Tolerancia de fallas
La habilidad para continuar en operacin, despus de
que ha ocurrido una falla.
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
514
Desventajas de sistemas
distribuidos
Complejidad
Tpicamente, los sistemas distribuidos son ms
complejos que los sistemas distribuidos.
Seguridad fsica
Ms susceptible al ataque externo.
Manejabilidad
Ms esfuerzo requerido para la gestin de sistemas.
impredecibilidad
Respuestas imprevisibles que dependen de la
organizacin del sistema y la carga de red.
12/05/16
515
Arquitecturas de
sistemas distribuidas
Arquitecturas
cliente-servidor
Servicios distribuidos que son llamados por los
clientes. Servidores que proporcionan servicios
que son tratados diferentemente por clientes
para usar servicios.
Arquitecturas de objetos distribuidos
Ninguna distincin entre clientes y servidores.
Cualquier objeto en el sistema puede
proporcionar y puede usar los servicios de otros
objetos.
12/05/16
516
Middleware
Software
517
Arquitecturas
multiprocesador
Modelo
518
Un sistema de control de
trfico multiprocesador
Sensores de
flujo de trfico y
cmaras
12/05/16
Procesador
de sensor
Procesador
de flujo de
trfico
Procesador
de control de
luz de trfico
Proceso
de control
de
proceso
Proceso
de
visualizar
Proceso
de control
de luz
Consolas de
operador
Luces de
trfico
519
Arquitectura cliente-servidor
La
520
Un sistema cliente-servidor
c3
c3
c2
c2
c1
c1
c4
c4
a1
a1
c12
c12
c11
c11
a4
a4
c10
c10
c5
c5
a2
a2
c6
c6
12/05/16
a3
a3
c7
c7
Proceso
servidor
c9
c9
c8
c8
Proceso
cliente
521
s1, s2
c2
CC
CC
22
c3, c4
CC
CC
33
s3, s4
Red
SC1
SC1
SC2
SC2
c5, c6, c7
c8, c9
CC
CC
44
12/05/16
CC
CC
55
Computadora
servidor
Computadora
cliente
CC
CC
66
522
Arquitectura de
aplicacin de capas
Capa de presentacin
Tiene relacin con la presentacin de los resultados de un
cmputo a los usuarios del sistema y con las entradas de
usuario colectivas.
Capa de procesamiento de aplicacin
Tiene relacin con proporcionar a la aplicacin la
funcionalidad especfica, por ejemplo, en un sistema
bancario, funciones de banca como abrir cuenta, cerrar
cuenta, etc.
Capa de gestin de datos
Tiene relacin con manejar las bases de datos del sistema.
12/05/16
523
Capas de aplicacin
Capa de
de
Capa
presentacin
presentacin
Capa de
de procesamiento
procesamiento de
de
Capa
aplicacin
aplicacin
Capa de
de gestin
gestin de
de bases
bases de
de
Capa
datos
datos
12/05/16
524
Modelo
12/05/16
de cliente delgado
de cliente grueso
525
Cliente
Cliente
Presentacin
Servidor
Gestin de datos
Procesamiento de aplicacin
Presentacin
Procesamiento de aplicacin
Modelo
de cliente
grueso
12/05/16
Servidor
Cliente
Cliente
Gestin de datos
526
527
Modelo de cliente
grueso
Ms
528
Un sistema de CA clienteservidor
CA
CA
CA
CA
Servidor de cuenta
Monitor de
teleproceso
CA
CA
Base de
datos de
cuenta del
cliente
CA
CA
12/05/16
529
Arquitectura de 3 pisos
En una arquitectura del tres pisos, cada uno de
las capas de arquitectura de aplicacin puede
ejecutarse en un procesador separado.
Permite
el mejor desempeo que una
aproximacin a cliente delgado y es ms simple de
manejar que una aproximacin a cliente grueso.
Una arquitectura ms escalable - ya que al
aumento de demandas, pueden agregarse los
servidores extras.
12/05/16
530
Presentacin
Cliente
Cliente
Servidor
Procesamiento de aplicacin
12/05/16
Servidor
Gestin de datos
531
Interaccin
HTTP
Cliente
Cliente
Servidor WEB
Cliente
Cliente
Consulta
SQL
Provisin de
servicio de
cuenta
Servidor de base
de datos
SQL
Base de datos
de cuenta del
cliente
Cliente
Cliente
12/05/16
532
Aplicaciones
Arquitectura
de
dos pisos C/S con
clientes delgados
Arquitectura
de
dos pisos C/S con
clientes gruesos
Arquitectura
de
tres
pisos
o
multipisos C/S
12/05/16
533
Arquitectura de objetos
distribuidos
No
534
Arquitectura de objetos
distribuidos
o1
o2
S(o1)
S(o2)
o3
o4
S(o3)
S(o4)
Agentede
dedemanda
demandade
deobjeto
objeto
Agente
o5
o6
S(o5)
12/05/16
S(o6)
535
Ventajas de la arquitectura
de objetos distribuidos
Permite al diseador del sistema retardar las decisiones
sobre dnde y cmo deben proporcionarse los
servicios.
Es una arquitectura del sistema muy abierta que
permite agregar nuevos recursos a ella cuando sean
requeridos.
El sistema es flexible y escalable.
Es posible reconfigurar el sistema dinmicamente con
objetos que emigran a travs de la red cuando son
requeridos.
12/05/16
536
Usos de la arquitectura
de objetos distribuidos
Como
12/05/16
537
Un sistema de minera de
datos
Bases de datos 1
Integrador 1
Bases de datos 2
Generador de
informes
Visualizador
Integrador 2
Bases de datos 3
12/05/16
Desplegador
538
Sistema de minera de
datos
El
539
CORBA
12/05/16
540
Estructura de aplicacin
CORBA
Objetosde
de
Objetos
aplicacin
aplicacin
Dominiode
de
Dominio
recursos
recursos
Recursosde
de
Recursos
CORBAhorizontal
horizontal
CORBA
Agentede
dedemanda
demandade
deobjeto
objeto
Agente
ServiciosCORBA
CORBA
Servicios
12/05/16
541
Estructura de aplicacin
Objetos
de la aplicacin.
Objetos estndar, definidos por el OMG, para un
dominio especfico, por ejemplo: seguro.
Servicios de CORBA fundamental
tales como
directorios y gestin de seguridad contra delitos.
Horizontal (es decir cortando a travs de las
aplicaciones) los recursos tales como los
recursos de interfaz de usuario.
12/05/16
542
Estndares CORBA
12/05/16
543
Objetos CORBA
Los
544
12/05/16
545
Comunicaciones de objeto
basados en ORB
o1
o2
S(o1)
S(o2)
Talnde
de
Taln
IDL
IDL
Esqueleto
Esqueleto
deIDL
IDL
de
Agentede
dedemanda
demanda de
de objeto
objeto
Agente
12/05/16
546
Comunicaciones Inter-ORB
Los ORB no son los programas normalmente, pero
son un conjunto de objetos en una biblioteca que se
une con una aplicacin cuando se desarrolla.
Los ORB manejan comunicaciones entre objetos
que se ejecutan en la mquina sana.
Varios ORBS pueden estar disponibles y cada
computadora en un sistema distribuido tendr su
propio ORB.
Las comunicaciones inter-ORB son usadas para
llamadas de objetos distribuidos.
12/05/16
547
Comunicaciones Inter-ORB
o1
S(o1)
Talnde
de
Taln
IDL
IDL
o3
o2
S(o3)
S(o2)
Talnde
de
Taln
IDL
IDL
Esqueleto
Esqueleto
deIDL
IDL
de
Agentede
dedemanda
demandade
de
Agente
objeto
objeto
o4
S(o4)
Esqueleto
Esqueleto
deIDL
IDL
de
Agentede
dedemanda
demandade
de
Agente
objeto
objeto
Red
12/05/16
548
Servicios CORBA
Nombrando
Servicios
12/05/16
de notificacin
Servicios
y traficando servicios
de transaccin
549
Computacin interorganizacional
Por
550
12/05/16
551
552
n1
n1
n2
n2
n8
n8
n7
n7
n3
n3
n9
n9
n4
n4
12/05/16
n14
n14
n1
n1
33
n1
n1
22
n1
n1
00
n11
n11
n5
n5
553
n1
n1
n2
n2
n8
n8
n7
n7
n3
n3
n9
n9
n4
n4
12/05/16
n14
n14
n1
n1
33
n1
n1
22
n1
n1
00
n11
n11
n5
n5
554
n4
n4
n1
n1
n3
n3
n6
n6
n2
n2
12/05/16
n5
n5
555
Arquitectura orientada al
servicio
Basada
556
Un servicio genrico
Un
557
Servicios de la Web
Registro
Registro
de
de
servicio
servicio
Publicar
Buscar
Demandado
Demandado
de
rrde
servicio
servicio
12/05/16
Enlazar
Proveedor
Proveedor
de
de
servicios
servicios
558
del proveedor.
Publicidad pblica de disponibilidad de servicio.
Potencialmente, ligadura de servicio de tiempo
de ejecucin.
Construccin oportuna de nuevos servicios a
travs de la composicin.
Pago por el uso de servicios.
Pequeas, aplicaciones ms compactas.
Aplicaciones reactivas y adaptables.
12/05/16
559
Estndares de servicios
12/05/16
560
Escenario de servicios
Un sistema de informacin
en automvil
proporciona informacin a chferes sobre el tiempo,
las condiciones de trfico del camino, informacin
local, etc. Esto se une a la radio del automvil para
que se entregue la informacin como una seal en
un canal especfico de la radio.
El automvil est provisto con un receptor GPS para
descubrir su posicin y, basado en esa posicin, el
sistema accede un rango de servicios de
informacin. La informacin puede ser entregada en
el lenguaje especificado del chofer.
12/05/16
561
Sistema automotor
Informacin
Informacin
de tiempo
de tiempo
Informacin
Informacin
de recursos
de recursos
Localizado
Localizado
r de
r de
camino
camino
Coordenadas
GPS
Coordenadas
GPS
Coordenadas GPS
Traductor
Traductor
Ensamblar informacin
Informacin de
lenguaje
Flujo de
informacin
Receptor
Recibe
informacin de
servicios
Radio
Traduce flujos
de informacin
digital a seal
de radio
12/05/16
Informaci
Informaci
n de
ntrfico
de
trfico
Descubrimiento de servicio
Halla servicios disponibles
Comando de
coordenadas GPS
Transmisor
Enva posicin e
informacin
requerida para
servicios
Interfaz de
usuario
Recibe
demanda para
usuario
Localizador
Descubre
posicin del
carro
562
Puntos clave
Los sistemas distribuidos soportan recursos
compartidos,
franqueza,
concurrencia,
escalabilidad, tolerancia de fallas y transparencia.
Las arquitecturas cliente servidor involucran
servicios que son entregados por los servidores a
programas que operan en los clientes.
El software de interfaz de usuario siempre se
ejecuta en el cliente y la gestin de datos en el
servidor. La funcionalidad de la aplicacin puede
estar en el cliente o en el servidor.
En la arquitectura de objetos distribuidos no hay
diferencia entre clientes y servidores.
12/05/16
563
Puntos clave
Los sistemas de objetos distribuidos requieren de
middleware para manejar las comunicaciones de
objetos y para agregar o quitar objetos del sistema.
Los estndares CORBA son un conjunto de
estndares middleware que soportan arquitecturas
de objetos distribuidos.
La arquitecturas par a par son arquitecturas
descentralizadas donde no hay distincin entre
clientes y servidores.
Los sistemas orientados a servicios son creados por
enlace de servicios proporcionados por diferentes
proveedores de servicios.
12/05/16
564
Captulo 13
Arquitecturas de
aplicacin
12/05/16
565
Objetivos
Explicar
566
Tpicos cubiertos
Sistemas
de procesamiento de datos
Sistemas de procesamiento de
transaccin
Sistemas de procesamiento de eventos
Sistemas de procesamiento de
lenguaje
12/05/16
567
Arquitecturas de
aplicacin genrica
Los
568
Uso de arquitecturas de
aplicacin
Como
569
Tipos de aplicacin
12/05/16
570
Ejemplo de tipos de
aplicacin
12/05/16
571
Sistemas de
procesamiento de datos
12/05/16
572
Modelo entrada-procesosalida
Sistema
Sistema
Entrada
Entrada
Proceso
Proceso
Salida
Salida
Impresora
Base de
de datos
datos
Base
12/05/16
573
Entrada-proceso-salida
El componente de entrada lee los datos de un
archivo o base de datos, chequea su validez y
hace cola de los datos vlidos por procesar.
El componente de proceso toma una transaccin
de la cola (entrada), realiza los cmputos y crea un
nuevo registro con los resultados del cmputo.
El componente de salida lee estos archivos, los
estructura de acuerdo con un formato y los escribe
para la base de datos o los enva a una impresora.
12/05/16
574
12/05/16
575
Leer registro
Leer
registro
de empleado
de empleado
Registro de
empleado
descifrado
Registro de
empleado vlido
Validar datos
Validar
datos
de empleado
de empleado
Leer datos de
Leer
datos
de
pago
mensual
pago mensual
calcular
calcular
salario
salario
Deduccin de
impuesto +
Nmero SS +
Oficina de
impuesto
Deduccin de
impuesto +
Nmero SS
Datos de empleado +
deducciones
12/05/16
Escribir datos
Escribir
datos
de pensin
de pensin
Imprimir tira
Imprimir
tira
de pago
de pago
Pago de red
+Informacin de
cuenta bancaria
Informacin de
pago
Tabla de
Tabla
de
impuestos
impuestos
Datos de pago
Datos
de pago
mensual
mensual
Escribir
Escribir
transacciones
transacciones
de impuesto
de impuesto
Deduccin de
seguridad social +
Nmero SS
Transacciones
Transacciones
de impuesto
de impuesto
Datos de
Datos
de
pensin
pensin
IMPRESORA
Escribir
Escribir de
transaccin
transaccin
banco de
banco
Transacciones
Transacciones
de bancos
de bancos
Escribir datos
Escribir
datos
de seguridad
de seguridad
social
social
Datos de
Datos desocial
seguridad
seguridad social
576
Sistemas de procesamiento
de transacciones
12/05/16
577
Procesamiento de transaccin
Procesamiento
Procesamiento
E/S
E/S
12/05/16
Aplicacin
Aplicacin
lgica
lgica
Gerentede
de
Gerente
transaccin
transaccin
Basede
de
Base
datos
datos
578
Organizacin de un
sistema CA
Entrada
ObtenerId.
Id.de
de
Obtener
cuentade
decliente
cliente
cuenta
Validar
Validar
Consultar
Consultar
cuenta
cuenta
CA
Salida
Imprimir
Imprimir
detalles
detalles
Devolver
Devolver
tarjeta
tarjeta
tarjeta
tarjeta
Seleccionar
Seleccionar
servicio
servicio
12/05/16
Proceso
Actualizar
Actualizar
cuenta
cuenta
Base de datos
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
Expenderdinero
dineroen
en
Expender
efectivo
efectivo
CA
579
580
Gestin de transacciones
Consultas y
actualizaciones
de cuenta
Monitorde
de
Monitor
teleprocesamiento
teleprocesamiento
Transaccion
es en serie
Basede
dedatos
datosde
de
Base
cuentas
cuentas
CAs y
terminales
12/05/16
581
Arquitectura de sistemas
de informacin
Los
582
Estructura de sistema de
informacin
Interfazde
deusuario
usuario
Interfaz
Comunicacionesde
deusuario
usuario
Comunicaciones
Recuperacinde
deinformacin
informacinyymodificacin
modificacin
Recuperacin
Gestinde
detransacciones
transacciones
Gestin
Basede
dedatos
datos
Base
12/05/16
583
Arquitectura LIBSYS
El
584
Organizacin de LIBSYS
Interfazde
denavegador
navegadorde
dela
laWeb
Web
Interfaz
Formulario y
gerente de
consultas
Identificacin
LIBSYS
Bsqueda
distribuida
Documento de
recuperacin
Gerente de
impresin
Gerente de
derechos
Contabilidad
ndicede
delibrera
librera
ndice
BD1
BD1
12/05/16
BD2
BD2
BD3
BD3
BD4
BD4
BDn
BDn
585
Sistema de asignacin de
recursos
12/05/16
586
Arquitectura de
asignacin de recursos
Sistema de asignacin de recursos son tambin sistemas de
capas que incluyen:
Una base de datos de recursos;
Un conjunto de reglas que describen cmo sern
asignados los recursos;
Un gerente de recursos;
Un asignador de recursos;
Autentificacin de usuario;
Gestin de consultas;
Componente de entrega de recursos;
Interfaz de usuario.
12/05/16
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
587
Asignacin de recursos
por capas
Interfazde
de usuario
usuario
Interfaz
Identificacin
De usuario
Gestin de
recursos
Entrega de
recursos
Control de poltica
de recursos
Gerente de
consultas
Asignacin de
recursos
Gestinde
detransacciones
transacciones
Gestin
Basede
dedatos
datosde
derecursos
recursos
Base
12/05/16
588
Implementacin del
sistema de capas
Cada capa puede implementarse como un
componente a larga escala grande que se ejecuta en
un servidor separado. ste es el modelo
arquitectnico ms comnmente usado para los
sistemas basados en la Web.
En una sola mquina, las capas medias son
implementadas como un programa separado que se
comunica con la base de datos a travs de su API.
Los componentes de grano fino dentro de las capas
pueden ser implementadas como servicios de la Web.
12/05/16
589
Arquitectura de sistemas
E-Comercio
Los
12/05/16
Servidor
Servidor
Web
Web
Servidorde
de
Servidor
aplicacin
aplicacin
Servidorde
de
Servidor
basede
dedatos
datos
base
590
Sistemas de
procesamiento de eventos
Estos
591
Sistemas de edicin
Sistemas de tiempo real (Captulo 15) y sistemas de
edicin son los tipos ms comunes de sistemas de
procesamiento de eventos.
Caractersticas de sistemas de edicin:
Sistemas de usuario simple;
Deba proporcionar la retroalimentacin rpida a las
acciones del usuario;
Organizado alrededor de grandes transacciones tal
que pueden incluir los recursos de recuperacin.
12/05/16
592
Componentes de
sistemas de edicin
12/05/16
593
Arquitectura de sistemas
de edicin
Sistema de
archivo
Grabar
Abrir
Datos
auxiliares
Comandos
auxiliares
Datos de
editor
Comandos de
edicin
Comandos
Visualizacin
Interpretes
Actualizar
Eventos
Procesar
Pantalla
Refrescar
12/05/16
594
Sistemas de
procesamiento de lenguaje
12/05/16
595
Un sistema de
procesamiento de lenguaje
Instrucciones
Instrucciones
Traductor
Chequea sintaxis
Chequea semntica
Genera
Instruccionesm/c
m/c
Instrucciones
abstracto
abstracto
Intrprete
Datos
Datos
12/05/16
Sacar
Extraer
Resultados
Resultados
596
Componentes de
procesamiento de lenguaje
Analizador
lxico
Tabla de smbolos
Analizador de sintaxis
rbol de sintaxis
Analizador de sintaxis
Generador de cdigo
12/05/16
597
Compilador de modelo de
flujo de datos
Tabla de smbolos
rbol de sintaxis
Anlisis
Anlisis
lxico
lxico
12/05/16
Anlisis
Anlisis
sintctico
sintctico
Anlisis
Anlisis
semntico
semntico
Generadorde
de
Generador
cdigo
cdigo
598
Modelo de repositorio de
un compilador
Analizador
Analizador
lxico
lxico
Analizador
Analizador
sintctico
sintctico
Analizador
Analizador
semntico
semntico
Impresora
Impresora
bonita
bonita
rbol de
de
rbol
sintaxis
sintaxis
abstracto
abstracto
Definicinde
de
Definicin
gramtica
gramtica
Optimizador
Optimizador
Editor
Editor
Tablade
de
Tabla
smbolos
smbolos
Definicinde
de
Definicin
salida
salida
Generadorde
de
Generador
cdigo
cdigo
Depsito
12/05/16
599
Puntos clave
Modelos
genricos
de
arquitecturas
de
comportamiento nos ayudan a entender y comparar
las aplicaciones.
Importantes clases de aplicacin son sistemas de
procesamiento de datos, sistemas de procesamiento
de transaccin, sistemas de procesamiento de
evento, y sistemas de procesamiento de lenguaje
Los sistemas de procesamiento de datos operan en
el modo del lotes y tienen una estructura del
entrada-proceso-salida.
12/05/16
600
Puntos clave
Los sistemas de procesamiento de transaccin
permite informacin en una base de datos a ser
accedida remotamente y modificada por mltiples
usuarios.
Los sistemas de procesamiento incluye editores y
sistemas de tiempo real.
En un editor, eventos de interfaz de usuario son
detectadas y un estructura de datos en almacn
es modificada.
Los sistemas de procesamiento de lenguaje
traducen textos desde un lenguaje a otro y puede
interpretar las instrucciones especficas.
12/05/16
601
Captulo 14
Diseo orientado
a objetos
12/05/16
602
Objetivos
Explicar como un diseo de software puede ser
representado como un conjunto de objetos interactivos
que manejan su propio estado y operaciones
Describir las actividades en el proceso de diseo
orientado a objetos
Introducir varios modelos que pueden ser usados para
describir el diseo orientado a objetos
Mostrar como el UML puede ser usado para
representar esos modelos
12/05/16
603
Tpicos cubiertos
Objetos
y clases de objetos
Un proceso de diseo orientado a
objetos
Evolucin del diseo
12/05/16
604
Desarrollo orientado a
objetos
El
605
12/05/16
606
Objetos interactuando
o1:C1
o3:C3
o4:C4
Estado de o1
Estado de o3
Estado de o4
Operaciones3()
Operaciones4()
Operaciones1()
12/05/16
o2:C3
o6:C1
o5:C5
Estado de o2
Estado de o6
Estado de o5
Operaciones3()
Operaciones1()
Operaciones5()
607
Los
608
Objetos y clases de
objetos
Los
609
610
El Lenguaje de
Modelamiento Unificado
Varias
611
12/05/16
612
Comunicacin de objetos
12/05/16
613
Ejemplos de mensaje
// Llamada a un mtodo asociado con un
objeto //buffer (memoria intermediaria) que
devuelve un prximo valor en el //buffer
v = circularBuffer.Get () ;
// Llamada a un mtodo asociado con un
objeto // termostato que pone la temperatura a
ser
// mantenida
thermostat.setTemp (20) ;
12/05/16
614
Generalizacin y herencia
12/05/16
615
Programador
Gerente
Proyectos
LenguajeProg
PresupuestosControlados
FechaFijada
12/05/16
GerenteProyecto
GerenteDepto
Proyectos
Depto
GerenteEstratgico
Responsabilidades
616
Ventajas de herencia
Es
617
618
Asociaciones UML
Los objetos y clases de objetos participan en
interrelaciones con otros objetos y clases de
objetos.
En el UML, una interrelacin generalizada es
indicada por una asociacin.
Las asociaciones pueden ser notadas con
informacin que describe la asociacin.
Las asociaciones son generales pero pueden
indicar que un atributo de un objeto es un objeto
asociado o que un mtodo cuenta en un objeto
asociado.
12/05/16
619
Un modelo de
asociacin
Es_miembro_de
Empleado
Departamento
+Es_dirigido_por
+Dirige
12/05/16
Gerente
620
Objetos concurrentes
La
621
12/05/16
622
623
}
} //Transponder
12/05/16
624
Hilos Java
Los
625
626
12/05/16
627
628
12/05/16
629
Arquitectura de capas
<<subsystem>>
Despliegue de
datos
<<subsystem>>
Archivamiento
de datos
<<subsystem>>
Procesamiento
de datos
<<subsystem>>
Recoleccin de
datos
12/05/16
630
Subsistemas en el sistema
correspondencia en el tiempo
<<subsystem >>
<<subsystem >>
Despliegue de datos
Recoleccin de datos
Observador
Satlite
Interfaz de
usuario
Despliegue
de mapa
Comandos
Estacin de
tiempo
Globo
Mapa
Impresora de
mapa
<<subsystem >>
Archivamiento de datos
<<subsystem >>
Procesamiento de datos
Revisin de
datos
Almacenamiento
de datos
Integracin
de datos
Almacen de
mapas
12/05/16
Almacen de
datos
631
632
Cerrar
Informe
Calibracin
Pruebas
12/05/16
633
Descripcin de un casos
de uso
Sistema
Estacin de tiempo.
Casos de uso
Informe.
Actores
Datos
Estmulos
Respuestas
Comentarios
12/05/16
634
Diseo arquitectnico
12/05/16
635
Arquitectura de estacin
de tiempo
Estacin de tiempo
<<subsystem>>
Interfaz
<<subsystem>>
Recoleccin
de datos
<<subsystem>>
Instrumentos
12/05/16
Paquete de instrumentos de
recoleccin de datos crudos.
636
Identificacin de objetos
La
del
La
12/05/16
637
Aproximaciones para la
identificacin
Usar
12/05/16
638
Descripcin de una
estacin de tiempo
Una estacin de tiempo es que un paquete de software que
controla instrumentos que recoleccionan datos, realiza
algunos procesamientos de datos y transmite este datos
ms all del procesamiento. Los instrumentos incluyen
termmetros de aire y tierra, un anemmetro, una veleta del
viento, un barmetro y un medidor de lluvia. Los datos son
peridicamente recolectados.
Cuando un comando es emitido para transmitir los datos de
tiempo, lla estacin de tiempo procesa y compendian los
datos recolectados. El datos compendiados se transmiten a
la computadora correspondiente cuando una demanda es
recibida.
12/05/16
639
Clases de objetos de la
estacin de tiempo
Termmetro de tierra, Anemmetro, Barmetro
Los objetos del dominio de aplicacin que son objetos
del "hardware" relacionados a los instrumentos en el
sistema.
Estacin de tiempo
La interfaz bsica de la estacin de tiempo para su
entorno. La interfaz bsica del tiempo estaciona a su
ambiente. Por consiguiente refleja las interacciones
identificadas en el modelo de casos de uso.
Datos del tiempo
Encapsula
los datos compendiados desde los
instrumentos. Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
12/05/16
640
Clases de objetos de la
estacin de tiempo
DatosTiempo
EstacinTiempo
TemperaturaAire
TemperaturaTierra
VelocidadViento
DireccinViento
Presiones
Lluvia
Identificador
ImformeTiempo()
Calibrar(Instrumentos)
Prueba()
PonerEnMarcha(Instrumentos)
Cerrar(Instrumentos)
TermmetroTierra
Temperatura
Prueba()
Calibrar()
12/05/16
Coleccionar()
Compendiar()
TermmetroAire
VelocidadViento
DireccinViento
Prueba()
Barmetro
Presin
Altura
Prueba()
Calibrar()
641
12/05/16
642
Modelos de diseo
Los
12/05/16
643
Ejemplos de modelos de
diseo
Modelos de subsistemas que muestran los
agrupamientos lgicos de objetos en subsistemas
coherentes.
Modelos secuenciales que muestran la secuencia de
interacciones de objetos.
Modelos de mquina de estado que muestran como
objetos individuales cambian su estado en respuesta a
eventos.
Otros modelos incluyen los modelos de casos de uso,
modelos de agregacin, modelos de generalizacin,
etc.
12/05/16
644
Modelos de subsistemas
Muestran
645
Subsistemas de una
estacin de tiempo
<<subsystem>>
<<subsystem>>
Interfaz
Recoleccin de datos
ControladorComandos
DatosTiempo
EstacinTiempo
EstadoInstrumentos
<<subsystem>>
Instrumentos
TermmetroAire
TermmetroTierra
12/05/16
MedidaLluvia
Anemmetro
Barmetro
VeletaViento
646
Modelos de secuencia
12/05/16
647
Secuencia de recoleccin
de datos
: Usuario
: ControladorComandos
I : EstacinTiempo
C : DatosTiempo
1: Demanda(Informacin)
2: Informacin()
3: Compendiar()
4:
5: Enviar(Informacin)
6: Respouesta(Informacin)
7: Reconocer()
12/05/16
648
Diagramas de estado
12/05/16
649
Diagrama de estado de
una estacin de tiempo
Operacin
Calibrar
Calibrando
Calibracin OK
Iniciar
Cierre
Probar
Esperando
Cerrar
Transmisin hecha
InformeTiempo
Probando
Prueba completa
Transmitiendo
Reloj
Recoleccin hecha
Compendiando
Tiempo compendiado
completo
Recoleccionando
12/05/16
650
Especificacin de la
interfaz de objeto
12/05/16
651
Interfaz de la estacin de
tiempo
interface WeatherStation {
public void WeatherStation () ;
public void startup () ;
public void startup (Instrument i) ;
public void shutdown () ;
public void shutdown (Instrument i) ;
public void reportWeather ( ) ;
public void test () ;
public void test ( Instrument i ) ;
public void calibrate ( Instrument i) ;
public int getID () ;
12/05/16
652
12/05/16
653
Cambios requeridos
Agregar
12/05/16
654
Monitoreando la polucin
EstacinTiempo
Identificador
NODatos
DatosHumo
BatosBenceno
ImformeTiempo()
InformeCalidad()
Calibrar(Instrumentos)
Prueba()
Iniciar(Instrumentos)
Cerrar(Instrumentos)
Recolectar()
Compendiar()
NoMedir
MedirBenceno
12/05/16
655
Puntos clave
El DOO es una aproximacin para el diseo, de
modo que los componentes de diseo tengan su
propio estado privado y sus operaciones.
Los objetos deben tener operaciones de constructor
e inspeccin. Ellos proporcionan servicios a otros
objetos.
Los
objetos
pueden
ser
implementados
secuencialmente o concurrentemente.
El lenguaje Unificado de Modelamiento proporciona
notaciones para diferentes modelos de objetos.
12/05/16
656
Puntos clave
Un
657
Captulo 15
Diseo de
software de
tiempo real
12/05/16
658
Objetivos
Explicar
659
Tpicos cubiertos
Diseo
de sistema
Sistemas operativos de tiempo real
Sistemas de monitoreo y control
Sistemas de adquisicin de datos
12/05/16
660
661
Definicin
12/05/16
662
Sistemas de
Estmulo/Respuesta
Dado un estmulo, el sistema debe producir una
contestacin dentro de un tiempo especificado.
Estmulos peridicos. Estmulos que ocurren a los
intervalos de tiempo predecibles
Por ejemplo, un sensor de temperatura puede ser
registrado 10 veces por segundo.
Estmulos aperidicos. Estmulos que ocurren en los
momentos imprevisibles
Por ejemplo, una falla de un sistema de potencia
puede activar una interrupcin que debe ser
procesada por el sistema.
12/05/16
663
Consideraciones
arquitectnicos
Debido a la necesidad de responder a los tiempos
de
demanda
hechas
por
diferentes
estmulos/respuestas, la arquitectura del sistema
debe permitir cambiar rpidamente entre
manejadores del estmulo.
Los tiempos de demandas de diferentes estmulos
son diferentes, as un bucle secuencial simple no
es normalmente adecuado.
Los sistemas de tiempo real por consiguiente son
normalmente
diseados
como
procesos
cooperativos con un ejecutor de tiempo real que
controla estos procesos.
12/05/16
664
Modelo de un sistema de
tiempo real
Sensor
Sensor
Sensor
Sensor
Sensor
Sensor
Sensor
Sensor
Sensor
Sensor
Sensor
Sensor
Sistemade
decontrol
control
Sistema
detiempo
tiemporeal
real
de
Actuador
Actuador
12/05/16
Actuador
Actuador
Actuador
Actuador
Actuador
Actuador
665
Procesos de
sensor/actuador
Actuador
Actuador
Sensor
Sensor
Estmulo
Controlde
de
Control
sensor
sensor
12/05/16
Respuesta
Procesador de
de
Procesador
datos
datos
Controlde
de
Control
actuador
actuador
666
de control de sensor
Procesador
de datos
12/05/16
667
668
12/05/16
669
670
Proceso de diseo de
sistemas de T-R
Identifica
671
Proceso de diseo de
sistemas de T-R
Disea
672
Restricciones de
oportunidad
Puede
673
Modelamiento de
sistemas de tiempo real
El efecto de un estmulo en un sistema del tiempo real
puede activar una transicin de un estado a otro.
Las mquinas de estado finitas pueden usarse para el
modelamiento de sistemas de tiempo real.
Sin embargo, FSM modela estructura de escasez.
Incluso los sistemas simples pueden tener un modelo
complejo.
El UML incluye notaciones para definir modelos de
mquina de estados.
Ver el Captulo 8 para los ejemplos extensos de
modelos de mquinas de estado.
12/05/16
674
Modelo de estado de
bomba de gasolina
Interrupcin
Tarjeta insertada en la lectora
Ley endo
Inicializando
Esperando
Validando
Tarjeta OK
Interrupcin
Reiniciando
Soltar gatillo
Parada
Apretar gatillo
Pagando
Conf irmar pago
12/05/16
675
Sistemas operativos de
tiempo real
Los
14
676
12/05/16
677
Componentes de un
sistema sin para
Administrador de configuracin
Responsable para la reconfiguracin dinmica de un
sistema de software y hardware. Los mdulos de
hardware modules pueden ser remplazadas y el
software es reactualizado sin parar el sistema.
Administrador de fallas
Responsable para detectar fallas de software y
hardware y tomar acciones apropiadas (por ejemplo,
intercambios de discos de respaldo) para asegurar
que el sistema continua en operacin.
12/05/16
678
Componentes de un SO
de tiempo real
Programacinde
de
Programacin
informacin
lalainformacin
Relojde
detiempo
tiempo
Reloj
real
real
Programador
Programador
Manejadorde
de
Manejador
interrupcin
interrupcin
Procesode
de
Proceso
requerimientos
requerimientos
derecursos
recursos
de
Procesode
de
Proceso
evaluacinde
de
evaluacin
recursos
recursos
Manejadorde
de
Manejador
recursos
recursos
Proceso listo
Listapreparada
preparada
Lista
Distribuidor
Distribuidor
Listade
derecursos
recursos
Lista
disponibles
disponibles
Recursos
libres
Listadel
del
Lista
procesador
procesador
Proceso de ejecucin
12/05/16
679
Procesar la prioridad
El procesamiento de algunos tipos de estmulos
debe tomar a veces la prioridad.
La prioridad a nivel de interrupcin. La prioridad
ms alta que se asigna a procesos que requieren
una respuesta muy rpida.
La prioridad a nivel del reloj. Asignado a los
procesos peridicos.
Dentro de stos, pueden asignarse niveles
extensos de prioridad.
12/05/16
680
Servicio de interrupcin
El control es transferido automticamente a una
ubicacin de memoria predeterminada.
Esta situacin contiene una instruccin para saltar
a una rutina de servicio de interrupcin.
Las interrupciones extensas son invlidas, la
interrupcin es reparada y devuelve el control al
devolvi al proceso interrumpido.
Las rutinas del servicio de interrupcin DEBEN se
cortas, simples y rpidas.
12/05/16
681
12/05/16
682
Gestin de procesos
Tiene
12/05/16
683
Planificador
Elige procesos
para ejecucin
12/05/16
Manejador de
recursos
Asigna memoria y
procesador
Distribuidor
Inicia ejecucin en
un procesador
disponible
684
Cambiando el proceso
El
685
Estrategias de planificacin
Planificacin no preventiva
Una vez que un proceso se ha planificado para la
ejecucin, corre para completarla o hasta que se bloquee
por alguna razn (por ejemplo, esperando por E/S).
Planificacin preventiva
La ejecucin de un proceso ejecutndose puede detenerse
si un proceso de prioridad ms alto requiere el servicio.
Algoritmos de planificacin
Robin round (Turno rotatorio);
Rate monotonic (Prioridades fijas);
Shortest deadline first (Primero la tarea con menor tempo
de holgura).
12/05/16
686
Monitoreo y control de
sistemas
Clases
687
Arquitectura genrica
Procesode
de
Proceso
prueba
prueba
S1
S1
P(S1)
P(S1)
S2
S2
P(S2)
P(S2)
S3
S3
P(S3)
P(S3)
Procesode
de
Proceso
monitoreo
monitoreo
Procesode
de
Proceso
control
control
P(A1)
P(A1)
A1
A1
P(A2)
P(A2)
A2
A2
P(A3)
P(A3)
A3
A3
P(A4)
P(A4)
A4
A4
Procesode
depanel
panel
Proceso
decontrol
control
de
12/05/16
688
689
El proceso de diseos de
sistemas de TR
Identifica estmulos y respuestas asociadas.
Define las restricciones de tiempo asociados con
cada estmulo y respuesta.
Asigna las funciones del sistema a los procesos
concurrentes.
Disea algoritmos para estimular procesamiento y
generacin de respuestas.
Disea un sistema de planificacin que asegure que
el proceso siempre se planificar para cumplir con
las fechas lmite.
12/05/16
690
de energa
Generado aperidicamente por un monitor de
circuito. Cuando es recibida el sistema debe
cambiar la energa de respaldo dentro de 50
ms.
Alarma de intruso
Estmulo generado por sensores del sistema.
La respuesta es llamar a la polica encender las
luces de la construccin y una alarma audible.
12/05/16
691
Requerimientos de tiempo
Estmulo/Respuesta
Requerimientos de tiempo
Alarma de puerta
Alarma de ventana
Detector de movimiento
Alarma audible
Encendido de luces
Comunicaciones
Sintetizadores de voz
12/05/16
692
Proceso de sistema de
alarma contra robos
60 Hz
400 Hz
Proceso de sensor
Proceso de sensor
depuerta
puerta
de
Procesode
dedetector
detector
Proceso
de
movimiento
de movimiento
Estatus de
detector
560 Hz
Interruptor de
falla de energa
Construccin
de monitor
Nmero de
pieza
Procesode
de
Proceso
sistemade
dealarma
alarma
sistema
Sistema de
alarma
12/05/16
Estatus de
sensor
Estatus de
sensor
Procesode
deconstruccin
construccin
Proceso
demonitor
monitor
de
Procesode
deinterruptor
interruptor
Proceso
deenerga
energa
de
Procesode
dealarma
alarma
Proceso
audible
audible
100 Hz
Procesode
desensor
sensor
Proceso
deventana
ventana
de
Sistema de
alarma
Procesode
de
Proceso
comunicacin
comunicacin
Mensaje de
alerta
Sistema de
alarma
Nmero de Nmero de
pieza
pieza
Procesode
decontrol
controlde
de
Proceso
encendidode
deluz
luz
encendido
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
Procesode
de
Proceso
sintetizador de voz
sintetizador de voz
693
Proceso 1 de
construccin de monitor
class BuildingMonitor extends Thread {
BuildingSensor win, door, move ;
Siren
siren = new Siren () ;
Lights
lights = new Lights () ;
Synthesizer synthesizer = new Synthesizer () ;
DoorSensors doors = new DoorSensors (30) ;
WindowSensors
windows = new WindowSensors (50) ;
MovementSensors movements = new MovementSensors (200) ;
PowerMonitor pm = new PowerMonitor () ;
BuildingMonitor()
{
// initialise all the sensors and start the processes
siren.start () ; lights.start () ;
synthesizer.start () ; windows.start () ;
doors.start () ; movements.start () ; pm.start () ;
}
12/05/16
694
Proceso 2 de construccin
de monitor
public void run ()
{
int room = 0 ;
while (true)
{
// poll the movement sensors at least twice per second (400 Hz)
move = movements.getVal () ;
// poll the window sensors at least twice/second (100 Hz)
win = windows.getVal () ;
// poll the door sensors at least twice per second (60 Hz)
door = doors.getVal () ;
if (move.sensorVal == 1 | door.sensorVal == 1 | win.sensorVal == 1)
{
// a sensor has indicated an intruder
if (move.sensorVal == 1)
room = move.room ;
if (door.sensorVal == 1)
room = door.room ;
if (win.sensorVal == 1 )
room = win.room ;
lights.on (room) ; siren.on () ; synthesizer.on (room) ;
break ;
}
}
12/05/16
695
Proceso 3 de
construccin de monitor
12/05/16
696
Sistemas de control
Un sistema de alarma contra robos es principalmente
un sistema de monitoreo. Recolecta los datos de los
sensores pero ningn control de actuador de tiempo
real.
Los sistemas de control son similares pero, en
respuesta para valores del sensor, el sistema enva
seales de control para los actuadores.
Un ejemplo de un sistema de monitoreo y control es
un sistema que monitorea la temperatura
e
intercambia el estado del calentador en encendido
(on) o apagado (off).
12/05/16
697
Un sistema de control de
temperatura
500 Hz
Procesode
de
Proceso
sensor
sensor
500 Hz
500 Hz
Valores de
sensor
Procesode
de
Proceso
termostato
termostato
Proceso de
termostato
Comando de cambio
Procesode
decontrol
control
Proceso
decalentador
calentador
de
12/05/16
Nmero de pieza
Proceso de control
Proceso de control
dehorno
horno
de
698
Sistemas de adquisicin
de datos
Recolecta los datos de los sensores para el proceso
subsecuente y el anlisis.
Los procesos de recoleccin de datos y los procesos de
procesamiento pueden tener periodo diferentes y
fechas tope.
La recoleccin de los datos puede ser ms rpida que
procesando, por ejemplo, la informacin colectiva sobre
una explosin.
Las memorias intermediarias (buffers) circulares o en
anillo son un mecanismo para las diferencias de
velocidad suavizadoras.
12/05/16
699
Arquitectura de
adquisicin de datos
Sensor (cada flujo de datos es un valor del sensor)
s1
s1
s2
s2
Identificador de
sensor y valor
Procesode
de
Proceso
sensor
sensor
Identificador de
sensor y valor
Bufferde
dedatos
datos
Buffer
desensor
sensor
de
Datosdel
del
Datos
proceso
proceso
Desplegar
Desplegar
s3
s3
s4
s4
s5
s5
Identificador de
sensor y valor
Procesode
de
Proceso
sensor
sensor
Identificador de
sensor y valor
Bufferde
dedatos
datos
Buffer
desensor
sensor
de
Datosdel
del
Datos
proceso
proceso
s6
s6
12/05/16
700
Recoleccin de datos de
reactor
Un
701
12/05/16
Bufferde
de
Buffer
datosde
deflujo
flujo
datos
Nivel de flujo
procesado
Procesamient
Procesamient
deflujo
flujo
oode
Despliega
Despliega
operador
operador
702
Un buffer en anillo
Proceso
Proceso
productor
productor
Proceso
Proceso
consumidor
consumidor
12/05/16
703
Exclusin mutua
Los procesos productores recolectan los datos y lo
agregan al buffer. El proceso consumidor toma los
datos del buffer y hace los elementos disponibles.
Los procesos productor y consumidor deben ser
mutuamente excluyentes puesto que acceden al
mismo elemento.
El
buffer debe parar el proceso productor
agregando informacin para un buffer lleno y el
proceso consumidor prueba a tomar informacin
desde un buffer vaco.
12/05/16
704
Implementacin de un
buffer en anillo 1
class CircularBuffer
{
int bufsize ;
SensorRecord [] store ;
int numberOfEntries = 0 ;
int front = 0, back = 0 ;
CircularBuffer (int n) {
bufsize = n ;
store = new SensorRecord [bufsize] ;
} // CircularBuffer
12/05/16
705
Implementacin de un
buffer en anillo 2
synchronized void put (SensorRecord rec )
throws InterruptedException
{
if ( numberOfEntries == bufsize)
wait () ;
store [back] = new SensorRecord (rec.sensorId, rec.sensorVal) ;
back = back + 1 ;
if (back == bufsize)
back = 0 ;
numberOfEntries = numberOfEntries + 1 ;
notify () ;
} // put
12/05/16
706
Implementacin de un
buffer en anillo 3
synchronized SensorRecord get () throws InterruptedException
{
SensorRecord result = new SensorRecord (-1, -1) ;
if (numberOfEntries == 0)
wait () ;
result = store [front] ;
front = front + 1 ;
if (front == bufsize)
front = 0 ;
numberOfEntries = numberOfEntries - 1 ;
notify () ;
return result ;
} // get
} // CircularBuffer
12/05/16
707
Puntos clave
La
708
Puntos clave
Los
sistemas
de
adquisicin
son
normalmente organizados de acuerdo al
modelo productor consumidor.
12/05/16
709
Captulo 16
Diseo de
interfaz de
usuario
12/05/16
710
Objetivos
Sugerir
711
Tpicos cubiertos
Problemas
de diseo
Proceso de diseo para interfaz de
usuario
Anlisis de usuario
Prototipado de interfaz de usuario
Evaluacin de interfaz
12/05/16
712
La interfaz de usuario
Las
713
Diseo de interfaz de
factores humanos
12/05/16
714
12/05/16
715
Descripcin
del
Consistencia
Sorpresa mnima
Recuperabilidad
Diversidad de usuario
12/05/16
716
Principios de diseo
Familiaridad de usuario
La interfaz debe estar basada en trminos orientados al
usuario y conceptos en lugar de los conceptos de la
computadora. Por ejemplo, un sistema de la oficina debe
usar los conceptos como cartas, documentos, carpetas etc.
en lugar de los directorios, los identificadores de archivo,
etc.,
Consistencia
El sistema debe desplegar un nivel apropiado de
consistencia. Los comandos y mens deben tener el mismo
formato, la puntuacin del comando debe ser similar, etc.
Sorpresa mnima
Si un comando opera de una manera conocida, el usuario
debe poder predecir la operacin de comandos
comprables.
12/05/16
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
717
Principios de diseo
Recuperabilidad
El sistema debe proporcionar un poco de elasticidad para
los errores de usuario y debe permitirle al usuario
recuperarse de los errores. Esto podra incluir facilidad de
cancelar, la confirmacin de acciones destructivas, borrar
soft , etc.
Gua de usuario
Alguna gua del usuario como los sistemas de ayuda, los
manuales en lnea, etc. debe ser proporcionada.
Diversidad de usuario
Recursos de interaccin para los tipos diferentes de usuario
deben ser soportados. Por ejemplo, algunos usuarios
tienen dificultades de vista y los texto con tipos ms
grandes deben estar
disponibles.
12/05/16
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
718
La
12/05/16
719
Estilos de interaccin
Manipulacin
directa
Seleccin de men
Llenado en formulario
Lenguaje de comandos
Lenguaje natural
12/05/16
720
Estilos de interaccin
Estilos de
interaccin
Principales
ventajas
Principales desventajas
Ejemplos de
aplicacin
Manipulacin directa
Interaccin
rpida
intuitiva.
Fcil de aprender
Juegos de video.
Sistemas CAD.
Seleccin de men
Lento
para
usuarios
experimentados.
Puede volverse complejo si hay
muchas opciones para el men.
La mayora de sistemas
de propsito general.
Llenado
formulario
en
Control de stock.
Procesamiento
de
prstamos personales.
Lenguaje
comandos
de
Poderoso y flexible.
Difcil de aprender.
Pobre gestin de error.
Sistemas operativos.
Sistemas de control
comandos.
Lenguaje natural
12/05/16
Accesible a usuarios
casuales.
Se extiende fcilmente.
Requiere ms mecanografa.
Los sistemas de interpretacin
del
lenguaje
natural
son
inestables.
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
Sistemas de recuperacin
de informacin.
721
Interfaces de mltiple
usuario
Interfazgrfica
grficade
de
Interfaz
usuario
usuario
(Gnome/KDE)
/KDE)
(Gnome
Interfazde
de
Interfaz
aparienciade
deUnix
Unix
apariencia
(ksh/csh)
/csh)
(ksh
Administrador
Administrador
GUI
XGUI
XWindows
Windows
Intrpretede
de
Intrprete
lenguajede
de
lenguaje
comandos
comandos
SistemaOperativo
OperativoLinux
Linux
Sistema
12/05/16
722
Interaccin LIBSYS
Bsqueda
de documento
Los usuarios necesitan poder usar los medios
de bsqueda para encontrar los documentos
que ellos necesitan.
Demanda de documento
Los usuarios piden que un documento se
entregue a su mquina o a un servidor para
imprimir.
12/05/16
723
Interfaces basadas en la
Web
Muchos
724
Formulario de bsqueda
LIBSYS
LIBSYS: Bsqueda
Elegir coleccin
Todo
Ttulo
Clave o frase
Buscar usando
Palabra adyacente
Buscar
12/05/16
Si
Restaurar
No
Cancelar
725
Presentacin de
informacin
La presentacin de informacin se preocupa por
presentar la informacin del sistema a los usuarios del
sistema.
La informacin puede ser presentada directamente
(por ejemplo, el texto en un procesador de texto) o
puede transformarse de alguna forma de presentacin
(por ejemplo, en alguna forma grfica).
La aproximacin Controlador-Vista-Modelo es una
manera de presentaciones mltiples de soporte de
datos.
12/05/16
726
Presentacin de
informacin
Informacinpara
para
Informacin
servisualizado
visualizado
ser
Softwarede
de
Software
presentacin
presentacin
Visualizador
12/05/16
727
Controlador-Vista-Modelo
Entradas
de usuario
Estado controlador
Mensajes de
modificacin
de vista
Estado vista
Mtodos de
vista
Mtodos de
controlador
Editar modelo
Estado modelo
Consultas de
modelo y
actualizaciones
Mtodos de
modelo
12/05/16
728
Presentacin de
informacin
Informacin
esttica
Inicializado al principio de una sesin. No
cambia durante la sesin.
Puede ser numrica o textual.
Informacin dinmica
Cambia durante una sesin y el cambio debe
ser comunicada al usuario del sistema.
Puede ser numrica o textual.
12/05/16
729
Factores de despliegue
de informacin
12/05/16
730
Presentaciones de
informacin alternativas
12/05/16
731
Presentacin
12/05/16
digital
anloga
732
Mtodos de presentacin
Marcar con
aguja
Diagrama de
pastel
Termmetro
10
20
30
40
50
60
70
80
90
Barra horizontal
12/05/16
733
Visualizando valores
relativos
Presin
0
12/05/16
100
200
Temperatura
300
400
25
70
75
100
734
Visualizacin de datos
12/05/16
735
Pantallas de color
El
12/05/16
736
737
Mensajes de error
El
738
Descripcin
Contexto
Dondequiera que sea posible, los mensajes generados por el sistema deben
reflejar el contexto del usuario actual. Hasta donde sea posible, el sistema
debe ser consciente de lo que el usuario est haciendo y debe generar
mensajes que sean pertinentes a su actividad actual.
Experiencia
Nivel de habilidad
Estilo
Los mensajes deben ser positivos en lugar de negativos. Ellos deben usar
el activo en lugar del modo pasivo de direccin. Ellos nunca deben ser
insultantes o deben intentar ser humorsticos.
Cultura
12/05/16
739
Error de usuario
Asumir
Por favor
favor escribir
escribir elel nombre
nombre del
del paciente
paciente en
en lala caja
caja yy entonces
entonces
Por
hacerclick
clicken
enOK
OK
hacer
Nombre del paciente
RODRIGUEZSANCHEZ,
SANCHEZ,J.J.
RODRIGUEZ
OK
OK
12/05/16
Cancelar
Cancelar
740
??
OK
OK
Error##27
27
Error
Pacienteinvlido
invlido
Paciente
Cancelar
Cancelar
12/05/16
Ayuda
Ayuda
Reintentar
Reintentar
Cancelar
Cancelar
741
El proceso de diseo de IU
El
12/05/16
742
El proceso de diseo
Analizaryy
Analizar
entenderlas
las
entender
actividadesdel
del
actividades
usuario
usuario
Producirdiseos
diseos
Producir
deprototipos
prototipos
de
basadosen
enpapel
papel
basados
Prototipode
de
Prototipo
diseo
diseo
Evaluareleldiseo
diseo
Evaluar
conlos
losusuarios
usuarios
con
finales
finales
Producir
Producir
prototipode
de
prototipo
diseo
diseo
dinmico
dinmico
Prototipo
Prototipo
ejecutable
ejecutable
12/05/16
Evaluardiseo
diseo
Evaluar
conlos
los
con
usuariosfinales
finales
usuarios
Implementarlala
Implementar
interfazdel
del
interfaz
usuariofinal
final
usuario
743
Anlisis de usuario
Si
744
Escenario de interaccin
de usuario
Jane es un estudiante de Estudios Religiosos y est trabajando en
un ensayo en la arquitectura india y cmo ha sido influenciado por
las prcticas religiosas. Para ayudarse a entender esto, le gustara
acceder a algunos cuadros de detalles en los edificios notables,
pero no puede encontrar nada en su biblioteca local.
Ella se acerca al bibliotecario de este tema para discutir sus
necesidades y l le sugiere algunas condiciones de bsqueda que
podran usarse. Tambin le hace pensar en algunas bibliotecas en
Nueva Delhi y Londres que podran tener este material para que
ellos registren los catlogos de la biblioteca y hacen algn uso
escrutador en estas condiciones. Ellos encuentran algn material
de la fuente y solicitan fotocopias de los cuadros con detalle
arquitectnico y que pueden ser ser enviados directamente por
correo a Jane.
12/05/16
745
Requerimientos desde el
escenario
Los
746
Tcnicas de anlisis
Anlisis
de tareas
Modelar los pasos involucrados en completar
una tarea.
Entrevistas y encuestas
Preguntar a los usuarios acerca del trabajo que
hacen.
Etnografa
Observar al usuario en su trabajo.
12/05/16
747
Describir
Describir
posibles
posibles
fuentes
fuentes
Establecer
Establecer
trminosde
de
trminos
bsqueda
bsqueda
Bsqueda
Bsqueda
para
para
cuadros
cuadros
Demandade
de
Demanda
artculos
artculos
encontrados
encontrados
Registrar
3.2Registrar
encatlogo
catlogo
en
Bsqueda
Bsqueda
para
cuadros
para cuadros
3.3
Modificar
Modificar
trminosde
de
trminos
bsqueda
bsqueda
3.4
3.5
Registrode
de
Registro
artculos
artculos
relevantes
relevantes
3.3.1
12/05/16
Iniciarlala
Iniciar
bsqueda
bsqueda
3.3.2
3.3.3
Revisar
Revisar
los
los
resultados
resultados
748
Entrevista
Disear
entrevistas
semiestructuradas
basadas en preguntas abiertas.
Los
749
Etnografa
Involucra
750
Registros etnogrficos
El control de trfico areo involucra varias series de controles dnde se
localizan las series que controlan sectores adyacentes de espacio areo
fsicamente localizados cerca de uno a otro. Los vuelos en un sector son
representados por tiras del papel que son colocados en las perchas de
madera en un orden que refleja su posicin en el sector. Si no hay bastantes
hendeduras en la percha (es decir cuando el espacio areo est muy
ocupado), los controladores extienden las tiras fuera del escritorio delante
de la percha.
Cuando nosotros estbamos observando a los controladores, notamos que
ellos regularmente han echado una mirada a las perchas de tiras en el
sector adyacente. Nosotros sealamos esto a ellos y les preguntamos por
qu hacan esto. Ellos contestaron que, si el controlador adyacente tiene
tiras en su escritorio, entonces esto significa que ellos tendrn muchos
vuelos que entran en su sector. Ellos, por consiguiente, intentaron aumentar
la velocidad de avin en el sector 'espacio limpio" para el avin entrante .
12/05/16
751
Las visiones de la
etnografa
Los
752
Prototipado de la interfaz
de usuario
12/05/16
753
Prototipado en papel
Trabajar
754
Tcnicas de prototipado
Prototipado
basado en guiones
Programacin
Prototipado
12/05/16
visual
basado en Internet
755
Evaluacin de la interfaz de
usuario
Alguna
756
Atributos de utilidad
Atributo
Descripcin
Aprendibilidad
Velocidad
operacin
Robustez
757
Tcnicas de evaluacin
simple
Cuestionarios
para
la
retroalimentacin
del
usuario.
Grabacin de video del uso de un sistema y la
subsiguiente evaluacin de la cinta.
Instrumentacin de cdigo para recolectar
informacin acerca de la facilidad de uso y
errores de usuario.
La provisin de cdigo en el software para
recolectar en lnea, la retroalimentacin del
usuario.
12/05/16
758
Puntos clave
12/05/16
759
Puntos clave
12/05/16
760
Captulo 17
Desarrollo rpido
de software
12/05/16
761
Objetivos
Explicar
762
Tpicos cubiertos
Mtodos
giles
Programacin extrema
Desarrollo rpido de aplicaciones
Prototipado de software
12/05/16
763
Desarrollo rpido de
aplicaciones
Debido
764
Requerimientos
Debido
765
12/05/16
766
Un proceso de desarrollo
interactivo
Definirlos
los
Definir
entregablesdel
del
entregables
sistema
sistema
Especificarlos
los
Especificar
incrementos
del
incrementos del
sistema
sistema
Disearlala
Disear
arquitectura del
arquitectura del
sistema
sistema
Construirlos
los
Construir
incrementosdel
del
incrementos
sistema
sistema
Validar
Validar
los
los
incrementos
incrementos
Validar
Validar
elel
sistema
sistema
Integrar
Integrar
los
los
incrementos
incrementos
NO
Sistema
Sistema
final
final
entregado
entregado
12/05/16
SI
El
El
sistema
sistema
est
est
completo?
completo?
767
768
Prototipado
Para
770
Prototipado y desarrollo
incremental
Desarrollo
Desarrollo
incremental
incremental
Perfilde
delos
los
Perfil
requerimientos
requerimientos
Prototipadode
de
Prototipado
unamanera
manera
una
12/05/16
Sistemade
de
Sistema
entrega
entrega
Prototipo
Prototipo
ejecutable ++
ejecutable
Especificacindel
del
Especificacin
sistema
sistema
771
Conflicto de objetivos
El
772
Mtodos giles
El descontento con todo los mtodos de diseo arriba
mencionados llev a la creacin de los mtodos giles.
Estos mtodos destacan:
Enfoque en el cdigo, en lugar del diseo;
Estn basados en la aproximacin iterativa para el
desarrollo de software;
Se piensa en la entrega de software que funciona
rpidamente y evolucionar rpidamente para reunir los
requerimientos cambiantes.
Los
mtodos giles son probablemente los ms
adecuados para pequeos /medios sistemas de negocios
clasificados por su tamao, o productos para PC.
12/05/16
773
Principios de mtodos
giles
Atributo
Involucrar
cliente
Entrega
incremental
Descripcin
al El cliente debe ser involucrado estrechamente a lo largo del
proceso de desarrollo. Su papel es proporcionar y priorizar los
nuevos requerimientos del sistema y evaluar las iteraciones del
sistema.
El software se desarrolla en incrementos con el cliente que
especifica los requerimientos a ser incluidos en cada incremento.
Las personas Las habilidades del equipo de desarrollo deben ser reconocidas y
no procesan
deben explotarse. El equipo debe salirse de lo habitual para
desarrollar sus propias maneras de trabajar sin procesos
prescriptivos.
Adaptacin al Esperar los requerimientos del sistema para cambiar y disear el
cambio
sistema para que pueda acomodarse a estos cambios.
Mantener la Enfocar la simplicidad en el software a desarrollarse y en el
simplicidad
proceso de desarrollo usado. Dondequiera que sea posible,
trabajar activamente para eliminar la complejidad del sistema.
12/05/16
774
12/05/16
775
Programacin extrema
12/05/16
776
El ciclo de lanzamiento XP
Historiasde
de
Historias
usuarioselectas
selectas
usuario
paraeste
este
para
lanzamiento
lanzamiento
Evaluacin
Evaluacin
delsistema
sistema
del
12/05/16
Defectosde
de
Defectos
historiaspara
para
historias
tareas
tareas
Lanzamiento
Lanzamiento
delsoftware
software
del
Lanzamiento
Lanzamiento
delplan
plan
del
Desarrollo
Desarrollo
/integracin/prueba
/prueba
/integracin
delsoftware
software
del
777
Prcticas de programacin
extrema 1
Planificacin
incremental
Pequeos
lanzamientos
Diseo simple
El
primer Un framework de prueba de unidad automatizada se usa para
escribir las pruebas para un nuevo pedazo de funcionalidad,
desarrollo
antes que esa funcionalidad sea implementada.
Refactorizaci
n
12/05/16
778
Prcticas de programacin
extrema 2
Programacin
por pares
Propiedad
colectiva
Integracin
continua
Paso sustentable
Cliente en el sitio
12/05/16
779
12/05/16
780
Escenarios de
requerimientos
En
781
782
XP y cambio
La sabidura convencional en la ingeniera de software
disear para el cambio. Es que los valores del tiempo
consumido y el esfuerzo que se anticipan a cambios
como estos, reducen los costos tardios en el ciclo de
vida.
XP, sin embargo, sostiene que esto no vale la pena,
cuando los cambios no puede preverse fiablemente.
Ms bien, propone la mejora
constante del cdigo
(refactorizacin) para hacer los cambios ms
fcilmente cuando ellos tienen que implementarse.
12/05/16
783
Pruebas en XP
Desarrollo
de primera prueba.
Desarrollo de pruebas incrementales desde
escenarios.
Involucrar al usuario en el desarrollo de pruebas
y validacin.
Los enseres de prueba automatizada son usadas
para ejecutar cada vez que un nuevo
lanzamiento se construye.
12/05/16
784
785
Descripcin de caso de
prueba
Tarea 4: Validacin de la tarjeta de crdito
Entrada:
Una cadena que representa el nmero de cuenta de la tarjeta de crdito y dos
enteros que representan el mes y el ao de expiracin de la tarjeta.
Pruebas:
Revisar que todos los bytes de la cadena sean dgitos.
Revisar que el mes este entre 1 y 12 y que el ao sea mayor o igual al ao en
curso.
Usando los 4 primeros dgitos del nmero de la tarjeta de crdito revisar que
el emisor de la tarjeta es vlido, buscando la tabla de emisores de tarjeta.
Revisar la validez de la tarjeta de crdito sometiendo el nmero de tarjeta y la
informacin de la fecha de expiracin del emisor de la tarjeta.
Salida:
OK en el mensaje de error, indica que la tarjeta no es vlida.
12/05/16
786
12/05/16
787
12/05/16
788
Desarrollo rpido de
aplicaciones
Los
789
de programacin de base
de datos
Generador de interfaz
Enlace con aplicaciones para oficina
Generador de informes
12/05/16
790
Un ambiente DRA
Generadorde
de
Generador
interfaz
interfaz
Sistemasde
de
Sistemas
Oficina
Oficina
Lenguajede
de
Lenguaje
programacinde
de
programacin
BD
BD
Generadorde
de
Generador
informes
informes
Sistemade
degestin
gestinde
debases
basesde
dedatos
datos
Sistema
791
Generacin de interfaz
12/05/16
792
Programacin visual
Los
793
Archivo
Editar
Ver
Configurar
Opciones
12 de enero, 2006
Guin que
Guin que
verificarango
rango
verifica
Ayuda
General
ndice
3.876
Componente
Componente
de aviso al
de aviso al
usuario++
usuario
Guin
Guin
Componente
Componente
dedibujo
dibujo
de
Canvas
Canvas
Componentede
de
Componente
despliegue de rbol
despliegue de rbol
12/05/16
794
Problemas con el
desarrollo visual
Dificultad
12/05/16
795
Reuso de COTS
Un
12/05/16
796
797
Vinculacin de la aplicacin
Documentos del compuesto
Texto
Texto11
Tabla
Tabla11
Tabla
Tabla22
Texto
Texto44
Procesador
Procesadorde
de
textos
textos
12/05/16
Texto
Texto22
Texto
Texto33
Sonido
Sonido22
Hoja
Hojade
de
clculo
clculo
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
Sonido
Sonido11
Texto
Texto 55
Ejecutor
Ejecutorde
de
audio
audio
798
Prototipado de software
12/05/16
799
800
Prototipo
Prototipo
del
delsistema
sistema
Sistema
Sistemade
de
aplicacin
aplicacin
Comparador
Comparador
de
deresultados
resultados
Informe
Informede
de
resultados
resultados
12/05/16
801
El proceso de prototipado
Establecer
Establecerlos
los
objetivos
del
objetivos del
prototipo
prototipo
Definir
Definirlala
funcionalidad
funcionalidad
del
delprototipo
prototipo
Desarrollar
Desarrollar
elel
prototipo
prototipo
Plan
Plandel
del
prototipado
prototipado
Definicin
Definicindel
del
contorno
contorno
Prototipo
Prototipo
ejecutable
ejecutable
12/05/16
Evaluar
Evaluar
elel
prototipo
prototipo
Informe
Informede
de
evaluacin
evaluacin
802
12/05/16
803
Puntos clave
12/05/16
804
Puntos clave
Los ambientes del desarrollo rpido de aplicaciones
incluye lenguajes de programacin de bases de
datos, herramientas de generacin de formularios y
enlaces con aplicacin de oficina.
Un prototipo desechable es usado para explorar los
requerimientos y opciones de diseo.
Cuando se implementa un prototipo desechable,
empieza con los requerimientos que se entienda
menos; en desarrollo incremental; empieza con los
requerimientos bien entendidos.
12/05/16
805
Captulo 18
Reuso del
software
12/05/16
806
Objetivos
Explicar
807
Tpicos cubiertos
El
12/05/16
808
Reuso de software
En
809
Ingeniera de software
basada en el reuso
12/05/16
810
Riesgo
de Si el software existe, hay menos incertidumbre en los
costos de reusar este software que en los costos de
proceso
desarrollo. Este es un factor importante para la gestin
reducido
12/05/16
811
12/05/16
812
Falta
de Los conjuntos de herramientas CASE no pueden dar
soporte
de soporte al desarrollo con reuso. Puede ser difcil o
herramientas imposible de integrar estas herramientas con un sistema
12/05/16
813
Encontrar,
mientras
se
entienden
y
adaptan
los
componentes
reusables
12/05/16
814
El reuso de paisaje
Aunque
815
El reuso de paisaje
Patrones
de diseo
Framework de
componentes
Desarrollo basado
en componentes
Sistemas
orientados a
servicios
12/05/16
Lneas de producto
de aplicacin
La envoltura de
sistemas legados
Desarrollo de
software orientado
a aspectos
Integracin de
COTS
Generacin
de programas
Aplicaciones
verticales
configurables
Librera de
programas
816
Aproximaciones de reuso 1
Patrones de diseo Las abstracciones genricas que ocurren a travs de
Framework
componentes
Envoltura
de Los sistemas legados (ver Captulo 2) que pueden ser
"cubiertos" definiendo un conjunto de interfaces y
sistemas legados
proporcionando el acceso a stos sistemas legados a
travs de estas interfaces.
Sistemas
orientados
servicios
12/05/16
Aproximaciones de reuso 2
Lneas
producto
aplicacin
Integracin
COTS
Aplicaciones
verticales
configuracin
Libreras
programas
Generadores
programas
Desarrollo
software
12/05/16
orientado
aspectos
Factores de planificacin de
reuso
El
819
Reuso de conceptos
12/05/16
820
Patrones de diseo
Un
821
Elementos de un patrn
Nombre
Descripcin
del problema.
Descripcin de la solucin
Consecuencias
12/05/16
822
Mltiples despliegues
Asunto
Observador11
Observador
12/05/16
40
25
15
20
Observador22
Observador
823
El patrn del
observador
12/05/16
Nombre
Observador.
Descripcin
Separa el despliegue de estado de objetos desde el
mismo objeto.
Descripcin del problema
Usado cuando se necesita mltiples despliegues de
estado.
Descripcin de la solucin
Ver la transparencia con una descripcin UML.
Consecuencias
Las optimizaciones para reforzar el desempeo del
despliegue sonIng.impracticables.
Otoniel Silva Delgado - Ing. Ivan Pino Tellera
824
El patrn del
observador
Asunto
Observador
Atar(Observador)
Desatar(Observador)
Notificar()
Actualizar()
AsuntoConcreto
ObservadorConcreto
estadoAsunto
estadoObservador
DarEstado()
Devuelve
estadoAsunto
Actualizar()
estadoObservador =
Asunto -> DarEstado()
12/05/16
825
Reuso basado en
generador
Los generadores de programa involucran el reuso
de patrones estndar y algoritmos.
Estos
son incluidos en el generador y
parametrizados por los comandos del usuario.
Entonces se genera automticamente un
programa.
El reuso basado en generador es posible cuando
pueden identificarse las abstracciones del dominio
y su correspondencia con el cdigo ejecutable.
Un lenguaje de un dominio especfico se usa
componer y controlar estas abstracciones.
12/05/16
826
Tipos de generador de
programa
12/05/16
827
Generador
Generadorde
de
programa
programa
Conocimiento
Conocimientodel
deldominio
dominio
del
delproblema
problema
12/05/16
Programa
Programa
generado
generado
Base
Base de
de
datos
datos
828
Desarrollo orientado a
aspectos
12/05/16
829
El desarrollo orientado a
aspectos
Aspecto
Aspecto11
Aspecto
Aspecto22
Generador de cdigo
Entrelazador
Entrelazador
de
deAspecto
Aspecto
<estamento 1>
Aspecto 1
<estamento 2>
<estamento 2>
punto de unin 2
Aspecto 2
12/05/16
830
Frameworks de aplicacin
Los
831
Clases de frameworks
Frameworks
Frameworks
12/05/16
de integracin de middleware
Frameworks
de infraestructura de sistemas
de aplicacin empresarial
832
Extendiendo de frameworks
12/05/16
833
834
Ediciones del
modelo
Mensajes de
modificacin
de las vistas
Estado de la vista
Mtodos de la vista
Consultas ya
actualizaciones
del modelo
12/05/16
835
Reuso de sistemas de
aplicacin
Involucra
el reuso de sistemas de
aplicacin enteras o por configuracin de
un sistema para un ambiente o por
integracin de dos o ms sistemas para
crear una nueva aplicacin.
Dos aproximaciones cubiertas aqu:
12/05/16
836
12/05/16
837
12/05/16
838
Sistema de E-procuracin
Cliente
Sistemade
deCorreo
Correo
Sistema
Electrnico
Electrnico
Navegador
Navegador
delalaWeb
Web
de
Servidor
Sistemade
de
Sistema
Comercio
Comercio
Electrnico
Electrnico
Adaptador
Adaptador
Sistemade
deCorreo
Correo
Sistema
Electrnico
Electrnico
12/05/16
Sistemade
de
Sistema
Pedidoyy
Pedido
facturacin
facturacin
Adaptador
Adaptador
839
12/05/16
840
Problemas de integracin de
los sistemas COTS
12/05/16
841
Lneas de producto de
software
12/05/16
842
Especializacin de plataforma
Diferentes versiones de la aplicacin son desarrolladas para
diferentes plataformas.
Especializacin del ambiente
Diferentes versiones de la aplicacin son creadas para
manejar diferentes ambientes de operacin, por ejemplo,
diferentes tipos de equipos de comunicacin.
Especializacin funcional
Diferentes versiones de la aplicacin son creadas para clientes
con diferentes requerimientos.
Especializacin de procesos
Diferentes versiones de la aplicacin son creadas para dar
soporte a diferentes procesos de negocios.
12/05/16
843
Configuracin de COTS
Configuracin
Configuracin
12/05/16
844
Base
Basede
dedatos
datosdel
delsistema
sistema
12/05/16
845
Sistemas PRE
12/05/16
846
847
Arquitecturas de lnea de
producto
Las
848
Un sistema de gestin de
recursos
Interfaz
Interfaz de
de usuario
usuario
Autenticacin del
usuario
Gestin de
recursos
Entrega del
recurso
Control de poltica
de recursos
Gestin de
consultas
Asignacin de
recursos
Gestin de la transaccin
Base de datos del recurso
12/05/16
849
Despacho de vehculos
12/05/16
850
Despacho de vehculos
Interfaz de sistema de
comandos
Interfaz de usuario
Autenticacin del
operador
Manejador del
estado del
vehculo
Base de datos
del equipo
12/05/16
Planificador de
mapa y ruta
Registrador del
incidente
Manejador
del evento
Despachador
del vehculo
Gestin de transacciones
Registro de
incidente
Generador de
informes
Base de datos
del vehculo
Generador de
consultas
Localizador
de vehculo
Base de datos
mapas
851
Desarrollo de instancia
del producto
Renegociar
Renegociarlos
los
requerimientos
requerimientos
Elicitar
Elicitarlos
los
requerimientos
requerimientos
de
delos
los
involucrados
involucrados
Elegir
Elegirlos
los
miembros
miembrosde
de
familia
ms
familia ms
adecuados
adecuados
Adaptar
Adaptaralal
sistema
sistema
existente
existente
12/05/16
Entregar
Entregarnueva
nueva
familia
familiade
de
miembros
miembros
852
Desarrollo de instancia
del producto
Elicitar los requerimientos del involucrado (stakeholder)
Usar miembro de la familia como un prototipo.
Elegir el miembro de familia ms adecuado
Hallar
el miembro de familia que mejor reuna los
requerimientos.
Renegociar los requerimientos
Adaptar los requerimientos como necesario para las
capacidades del software.
Adaptar el sistema existente
Desarrollar nuevos mdulos y realizar cambios para el
miembro de la familia.
Entregar el nuevo miembro de la familia
Documentar los rasgos calve para el desarrollo de miebro
extenso.
12/05/16
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
853
Puntos clave
12/05/16
854
Puntos clave
12/05/16
855
Captulo 19
Ingeniera del
software basada
en componentes
12/05/16
856
Objetivos
12/05/16
857
Tpicos cubiertos
Componentes
modelos
de
componentes
El proceso de ISBC
Composicin de componentes
12/05/16
858
Desarrollo basado en
componentes
La Ingeniera de software basada en componentes
(ISBC) es una aproximacin para el desarrollo de
software que confa en el reuso de software.
Emerge del fracaso del desarrollo orientado a
objetos para soportar el reuso efectivo. Las clases
de objetos singulares son tambin detallados y
especificados.
Los componentes son ms abstractos que las clases
de objetos y pueden considerarse que son los
proveedores de servicios autosuficientes.
12/05/16
859
Lo esencial de ISBC
Componentes
independientes especificados
por sus interfaces.
Estndares de componentes para facilitar la
integracin de componentes.
Middleware que provee de soporte para la
interoperatividad de componentes.
Un proceso de desarrollo que es engranado
para el reuso.
12/05/16
860
ISBC y principios de
diseo
Aparte
12/05/16
861
Problemas de la ISBC
Fidelidad
862
Componentes
12/05/16
863
Definiciones de componente
Councill y Heinmann:
Un componente de software es un elemento del
software que conforma un modelo del componente y
puede
ser
desplegada
independientemente
y
compuesta sin la modificacin segn un estndar de
composicin.
Szyperski:
Un componente de software slo es una unidad de
composicin con las interfaces especificadas
contractualmente y las dependencias del contexto
explcitas. Un componente del software puede ser
desplegada independientemente y est sujeto a la
composicin de terceras partes.
12/05/16
864
El componente como
proveedor de servicio
El
865
Caractersticas de
componente 1
Estandarizado
Independiente
Componible
12/05/16
866
Caractersticas de
componente 2
Desplegable
Documentado Los
componentes
tienen
que
ser
documentados totalmente para que los
usuarios potenciales del componente puedan
decidir si
ellos satisfacen o no sus
necesidades. La sintaxis e, idealmente, la
semntica de todas las interfaces del
componente tienen que ser especificadas.
12/05/16
867
Interfaces de componente
Proporcionar
interfaz
Definir
los
servicios
que
son
proporcionados por el componente a otros
componentes.
Requerir interfaz
Definir los servicios que especifican que
servicios pueden estar disponibles para el
componente a ejecutar como especificado.
12/05/16
868
Interfaces de componente
Requiere interfaz
Proporciona interfaz
Componente
12/05/16
Define los
servicios que son
proporcionados
por el
componente a
otros
componentes.
869
Un componente de
recolector de datos
Requiere interfaz
Proporciona interfaz
agregarSensor
quitarSensor
iniciarSensor
pararSensor
gestinSensor
datosSensor
Recolector de
datos
probarSensor
inicializar
informe
listarTodo
12/05/16
870
Componentes y objetos
Los
871
Modelos de componentes
Un modelo de componente es una definicin de
estndares
para
la
implementacin
de
componentes, documentos y despliegue.
Ejemplos de modelos de componentes
Modelo EJB (Enterprise Java Beans)
Modelo COM+ ( modelo .NET)
Modelo se componente Corba
El modelo del componente especifica cmo deben
definirse las interfaces y los elementos que deben
ser incluidos en una definicin de la interfaz.
12/05/16
872
Elementos de un modelo
de componente
Adaptacin
Convencin de
nominacin
Documentacin
Composicin
Definicin
de interfaz
Especificar
la interfaz
Interfaces
Acceso a
metadatos
Embalaje
Informacin
de uso
Soporte de
evolucin
Despliegue
y uso
Modelo de componentes
12/05/16
873
Soporte middleware
12/05/16
874
Gestin de
transacciones
Concurrencia
Persistencia
Gestin de
recursos
Seguridad
Servicios de plataforma
Direccionamiento
12/05/16
Definicin de
interfaz
Gestin de
excepcin
Comunicacin
de componentes
875
Desarrollo de
componentes para reuso
Los
876
Desarrollo de
componentes para reuso
12/05/16
877
878
Componentes de un
sistema legado
Los
879
Componentes reusables
El
880
El proceso de ISBC
12/05/16
881
El proceso de ISBC
Requerimientos
Requerimientos
deentorno
entornodel
del
de
sistema
sistema
Diseo
Diseo
arquitectnico
arquitectnico
12/05/16
Identificar
Identificar
componentes
componentes
candidatos
candidatos
Modificarlos
los
Modificar
requerimientos
requerimientos
deacuerdo
acuerdoaa
de
componentes
componentes
descubiertos
descubiertos
Identificar
Identificar
componentes
componentes
candidatos
candidatos
Componer
Componer
componentes
componentes
paracrear
crearelel
para
sistema
sistema
882
El proceso de identificacin
de componentes
Bsquedade
de
Bsqueda
componentes
componentes
12/05/16
Seleccinde
de
Seleccin
componentes
componentes
Validacinde
de
Validacin
componentes
componentes
883
Problemas de identificacin
de componentes
12/05/16
884
12/05/16
885
Composicin de
componentes
El
886
Tipos de composicin
Composicin secuencial donde la composicin de
componentes son ejecutados en secuencia. Esto
involucra la composicin para proporcionar interfaces
para cada componente.
Composicin jerrquica donde un componente
llama los servicios de otro. El proporciona una interfaz
de un componente y esta requiere la interfaz de otro.
Composicin aditiva donde las interfaces de dos
componentes se ponen juntas a crear un nuevo
componente.
12/05/16
887
Tipos de composicin
A
A
A
B
(a)
12/05/16
(b)
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
(c)
888
Incompatibilidad de interfaz
Incompatibilidad
889
Componentes
incompatibles
fonoBaseDatos(comando de cadena)
Ubicacin de cadena (cadena pn)
Propietario de cadena (cadena pn)
halladorDireccin
mapaBD(comando de cadena)
despliegaMapa (cadena cdigo
postal, escala)
mapeador
12/05/16
890
Componentes de adaptador
Dirigir
891
Composicin a travs de
un adaptador
El
componente cdigoPostalDespojador es el
adaptador que facilita la composicin secuencial
de halladorDireccin
y componentes del
mapeador.
12/05/16
892
Adaptador para el
recolector de datos
iniciar
Sensor
parar
gestinSensor
agregarSensor
quitarSensor
iniciarSensor
pararSensor
Adaptador
Recolector
de datos
obtenerD
ato
datosSensor
12/05/16
probarSensor
inicializar
informe
listarTodo
893
Semnticas de la interfaz
12/05/16
894
Composicin de librera
de Fotos
obtenerImagen
agregarItem
Adaptador
recuperar
Librera de
Fotos
Gestor de
Imagen
obtenerEntradaCatlogo
entCata
Interfaz de
usuario
12/05/16
895
Documentacin de
librera de fotos
Este mtodo agrega una fotografa a la librera y
asocia el identificador de la fotografa y el
descriptor del catlogo con la fotografa.
qu pasa si el identificador de la fotografa ya
est asociado con una fotografa en la librera?
est el descriptor de la fotografa asociado con
la entrada del catlogo adems de la fotografa, es
decir si yo anulo la fotografa, tambin anulo la
informacin del catlogo?
12/05/16
896
El lenguaje de restriccin
de objetos
El
897
Descripcin formal de la
librera de fotos
--La palabra clave del contexto nombra el componente a la que las condiciones aplican el
addItem del contexto
--Las pre condiciones especifican lo que debe ser verdad antes de la ejecucin de
addItem
pre: PhotoLibrary.libSize ()> 0
PhotoLibrary.retrieve(pid) = null
--Los post condiciones especifican lo que es verdad despus de la ejecucin
post: el libSize () = el libSize () @pre + 1
PhotoLibrary.retrieve(pid) = p
PhotoLibrary.catEntry(pid) = el photodesc
context delete
pre: PhotoLibrary.retrieve(pid) <> null;
post: PhotoLibrary.retrieve(pid) = null
PhotoLibrary.catEntry(pid) = PhotoLibrary.catEntry(pid)@pre
PhotoLibrary.libSize () = el libSize () @pre - 1
12/05/16
898
Condiciones de la librera
de fotos
12/05/16
899
12/05/16
900
Recoleccin de datos y
generacin de informe
(a)
(b)
12/05/16
Recoleccin
de datos
Recoleccin
de datos
Generador
de informe
Gestin de
datos
Base de
datos
Informe
Informe
901
Puntos clave
12/05/16
902
Puntos clave
La composicin de componentes es el proceso de
cableado de las componentes reunidos para crear
un sistema.
Cuando se componen componentes reusables,
normalmente se tiene que escribir adaptadores para
reconciliar diferentes interfaces de componentes.
Cuando se escoge composiciones, se tiene que
considerar
la
funcionalidad
requerida,
los
requerimientos no funcionales y la evolucin del
sistema.
12/05/16
903
Captulo 20
Desarrollo de
sistemas crticos
12/05/16
904
Objetivos
Explicar
905
Tpicos cubiertos
Procesos
fidedignos
Programacin fidedigna
Tolerancia de falla
Arquitecturas tolerantes de fallas
12/05/16
906
907
Logro de la confiabilidad
Anulacin de falla
El sistema es desarrollado de manera que el error humano es
evitado, y as se minimizan las fallas del sistema.
El proceso de desarrollo es organizado para que las fallas del
sistema sean detectadas y se reparen antes de la entrega al
cliente.
Deteccin de falla
Las tcnicas verificacin y validacin son usados para descubrir
y remover fallas en un sistema antes que este sea desarrollado.
Tolerancia de falla
El sistema es diseado para que las faltas en el software
entregado no produzcan falla del sistema.
12/05/16
908
Diversidad y redundancia
Redundancia
Guardar ms de un aversin en un componente crtico
disponible de modo que si uno falla, entonces hay uno de
reserva que est disponible.
Diversidad
Proporcionar
la misma funcionalidad de diferentes
maneras de modo que no fallarn de la misma manera.
Sin embargo, agregar diversidad y redundancia agrega
complejidad y esto puede incrementar la posibilidad de error.
Algunos ingenieros defienden simplicidad y extensividad V &
V es una ruta efectiva para la confiabilidad del software.
12/05/16
909
Ejemplos de redundancia
y diversidad
Redundancia.
910
12/05/16
911
Desarrollo de software
libre de falla
Procesos
de software fidedigno
Gestin de la calidad
Especificacin formal
Verificacin esttica
Mecanografa fuerte
Programacin segura
Informacin protegida
12/05/16
912
12/05/16
913
Procesos fidedignos
Para asegurar un mnimo nmero de fallas de
software, es importante tener un bien definido
repetible proceso de software.
Un bien definido y repetible proceso es uno que no
dependa enteramente de habilidades individuales;
ms bien puede ser presentado por diferentes
personas.
Para la deteccin de fallas, est claro que las
actividades del proceso deben incluir el desarrollo de
significativo esfuerzo para la verificacin y validacin.
12/05/16
914
Caractersticas de
procesos fidedignos
Documentable El proceso debe tener un modelo del proceso definido
Auditable
Diverso
Robusto
12/05/16
915
Actividades de validacin
Las
inspecciones de requerimientos.
Gestin de requerimientos.
Chequeo del modelo.
Inspeccin de diseo y cdigo.
Anlisis esttico.
Planificacin de prueba y gestin.
Gestin de configuracin discutido en el Captulo
29, es tambin esencial .
12/05/16
916
Programacin fidedigna
Usar
12/05/16
917
Proteccin de informacin
Slo debe exponerse la informacin a las partes del programa
que se necesita acceder. Esto involucra la creacin de objetos o
tipos abstractos de datos que mantienen el estado y que
proporcionan las operaciones en ese estado.
Esto evita las fallas por tres razones:
la probabilidad de corrupcin accidental de informacin est
reducida;
la informacin est rodeada por "cortafuegos", de modo que
los problemas estn menos probablemente expuestos a
expandirse a otras partes del programa;
como toda la informacin es localizada, es menos probable
cometer errores y los inspectores ms probablemente
encontrarn errores.
12/05/16
918
Una especificacin de
cola en Java
interface Cola {
public void put (Object o) ;
public void remove (Object o) ;
public int tamao () ;
} //Cola
12/05/16
919
Declaracin de seal en
Java
class Seal {
static public final int rojo =
1;
static public final int ambar =
2;
static public final int verde =
3;
public int sealEstado ;
12/05/16
920
Programacin segura
Las
921
Programacin estructurada
Propuesta
922
12/05/16
923
Estructuras propensas a
error
Interrupciones
Las interrupciones pueden causar una operacin crtica para ser
terminada y hacer un programa difcil de entender.
Herencia
El
cdigo no es localizado. Esto puede producir un
comportamiento inesperado cuando son hechos los cambios y
problemas de entendimiento.
Alias
Usando ms de un nombre para referirse a la misma variable de
estado.
Arreglos ilimitados
Fallas de desborde de memoria intermedia pueden ocurrir si no
hay ninguna comprobacin de los lmites en arreglos.
Procesamiento de entradas predefinidas
Una accin de entrada que ocurre independientemente de la
entrada.
12/05/16
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
924
Manejo de excepcin
Una excepcin del programa es un error o algn evento
inesperado tal como una falla de energa.
Las estructuras de manejo de excepcin permiten que
tales eventos sean manejados sin la necesidad para la
revisin continua del estado para detectar excepciones.
El uso de las estructuras de control para detectar
excepciones necesita de muchos estamentos
adicionales para ser agregados al programa. Esto
agrega un significativo desborde y una potencial
propensin al error.
12/05/16
925
Excepciones en Java 1
class ExcepcinFallaSensor extends Excepcin {
926
Excepciones en Java 2
class Sensor {
int readVal () throws ExcepcinFallaSensor {
try {
int elValor = DeviceIO.readInteger () ;
if (elValor < 0)
throw new ExcepcinFallaSensor (Falla del Sensor") ;
return elValor ;
}
catch (deviceIOExcepcin e)
{
throw new ExcepcinFallaSensor ( Error de lectura del Sensor ) ;
}
} // readVal
} // Sensor
12/05/16
927
Un controlador de
temperatura
Las excepciones pueden ser usadas como un a
tcnica normal de programacin y no solamente como
una manera de recuperarse de las fallas.
Considerar
un ejemplo de un controlador de
congelador que guarda la temperatura del congelador
dentro de un rango especificado.
Interruptores entre una bomba refrigerante y fura de
ella.
Hacer explosionar una alarma si la mxima
temperatura permitida es excedida.
Usar excepciones como una tcnica
normal de
programacin.
12/05/16
928
Controlador de congelador 1
class ControladorCongeladorr {
Sensor tempSensor = new Sensor () ;
Dial tempDial = new Dial () ;
float freezerTemp = tempSensor.readVal () ;
final float dangerTemp = (float) -18.0 ;
final long coolingTime = (long) 200000.0 ;
public void run ( ) throws InterruptedException {
try { Pump.switchIt (Pump.on) ;
do {
if (freezerTemp > tempDial.setting ())
if (Pump.status == Pump.off)
{ Pump.switchIt (Pump.on) ;
Thread.sleep (coolingTime) ;
}
12/05/16
929
Controlador de congelador 2
if (freezerTemp > dangerTemp)
throw new FreezerTooHotException () ;
freezerTemp = tempSensor.readVal () ;
} while (true) ;
} // try block
catch (FreezerTooHotException f)
{ Alarm.activate ( ) ; }
catch (InterruptedException e)
{
System.out.println (Thread exception) ;
throw new InterruptedException ( ) ;
}
} //Ejecutar
} // ControladorCongelador
12/05/16
930
Tolerancia de fallas
12/05/16
931
Acciones de tolerancia de
fallas
Deteccin de falla
El sistema detectar que una falla (un estado incorrecto del
sistema) ha ocurrido.
Valoracin de falla
Las partes del estado del sistema afectadas por la falla
deben ser detectadas.
Recuperacin de la falla
El sistema debe restaurar su estado a un estado seguro
conocido.
Reparacin de fallas
El sistema puede ser modificado para prevenir la recurrencia
de las fallas. Como las muchas fallas del software son
transitorias, esto es a menudo innecesario.
12/05/16
932
933
Restricciones de estado
de la bomba de insulina
/ / La dosis de insulina a ser entregado siempre debe ser mayor
/ / que cero y menor que algunos definieron como el mximo de una dosis
simple
12/05/16
934
Deteccin de falla
Deteccin
Deteccin
12/05/16
de falla preventiva
de falla retrospectiva
935
Extensin de sistemas
tipo
La
936
EnteroParPositivo 1
class EnteroParPositivo {
int val = 0 ;
EnteroParPositivo (int n) throws ExcepcinNumrica
{
if (n < 0 | n%2 == 1)
throw new ExcepcinNumrica () ;
else
val = n ;
}// EnteroParPositivo
12/05/16
937
EnteroParPositivo 2
public void assign (int n) throws ExcepcinNumrica
{
if (n < 0 | n%2 == 1)
throw new ExcepcinNumrica ();
else
val = n ;
} // Asignar
int paraEntero ()
{
return val ;
} //Para entero
boolean equals (EnteroParPositivo n)
{
return (val == n.val) ;
} // equals
} //ParPositivo
12/05/16
938
Valoracin de dao
Analizar
939
Arreglo robusto 1
class ArregloRobusto {
/ / Revisar que todos los objetos en un arreglo de objetos
/ / conforme a algunas restricciones definidas
boolean [] checkState ;
CheckableObject [] elArregloRobusto ;
12/05/16
940
Arreglo robusto 2
public void assessDamage () throws ArrayDamagedException
{
boolean hasBeenDamaged = false ;
for (int i= 0; i <this.elArregloRobusto.length ; i ++)
{
if (! elArregloRobusto [i].check ())
{
checkState [i] = true ;
hasBeenDamaged = true ;
}
else
checkState [i] = false ;
}
if (hasBeenDamaged)
throw new ArrayDamagedException () ;
} //assessDamage
} // ArregloRobusto
12/05/16
941
Tcnicas de valoracin
de dao
Los
12/05/16
942
Recuperacin de falla y
reparacin
12/05/16
943
Recuperacin hacia
adelante
12/05/16
944
transacciones
son
un
mtodo
frecuentemente usado para la recuperacin hacia
adelante. Los cambios no son aplicados hasta
que la computacin sea completa. Si ocurre un
error, el sistema se va al estado precedente de la
transaccin.
Los puntos de control peridicos permiten al
sistema regresar a la situacin anterior de un
estado correcto.
12/05/16
945
Procedimiento de orden
seguro
Una operacin de orden monitorea su propia
ejecucin y evala si el orden ha sido
correctamente ejecutado.
Mantiene una copia de su entrada, de modo que
si ocurre un error, la entrada no es corrupta.
Basada
en la identificacin y manejo de
excepciones.
Posible en este caso cuando la condicin para un
orden vlido es conocida. Sin embargo en
muchos casos. Sin embargo en muchos casos es
difcil escribir revisiones de validacin.
12/05/16
946
Orden seguro 1
class OrdenSeguro {
static void sort ( int [] intarreglo, int orden ) throws ErrorOrden
{
int [] copy = new int [intarray.length];
// copia del arreglo de entrada
for (int i = 0; i < intarray.length ; i++)
copy [i] = intarray [i] ;
try {
Sort.bubblesort (intarrerglo, intareglo.length, orden) ;
12/05/16
947
Orden seguro 2
if (order == Sort.ascending)
for (int i = 0; i <= intarreglo.length-2 ; i++)
if (intarray [i] > intarreglo [i+1])
throw new ErrorOrden () ;
else
for (int i = 0; i <= intarray.length-2 ; i++)
if (intarray [i+1] > intarray [i])
throw new tErrorOrden () ;
} // try block
catch (SortError e )
{
for (int i = 0; i < intarray.length ; i++)
intarray [i] = copy [i] ;
throw new SortError ("Arreglo no ordenado") ;
} //catch
} // sort
} // OrdenSegurot
12/05/16
948
12/05/16
949
Tolerancia a fallas de
hardware
Depende de la redundancia-modular-triple (RMT).
Hay
tres componentes idnticas replicados que
reciben la misma entrada y cuyas salidas son
comparadas.
Si una salida s diferente, ella es ignorada y la falla
de componente es asumida.
Basada en la mayora de fallas resultantes desde
fallas de componentes, en lugar de las fallas de
diseo
y una baja probabilidad de falla de
componentes simultanea.
12/05/16
950
Comparador
Comparadorde
de
salida
salida
A3
A3
12/05/16
951
Seleccin de salida
El
952
Arquitecturas de software
tolerante a fallas
12/05/16
953
Diversidad de diseo
12/05/16
954
Analogas de software de
RMT
Programacin versin N
La misma especificacin es implementada en varias
versiones diferentes por equipos diferentes. Todas las
versiones computan simultneamente y la salida de la
mayora es seleccionada usando un sistema de votacin.
Esta es la aproximacin ms comnmente usada, por
ejemplo, en muchos modelos del avin comercial Airbus.
Bloques de recuperacin
Un nmero de explcitamente diferentes versiones de la
misma especificacin son escritas y ejecutadas en
secuencia.
Una prueba de aceptacin es usada para seleccionar la
salida a ser transmitida.
12/05/16
955
Programacin versin-N
Versin
Versin11
Entrada
Versin
Versin22
Comparador
Comparadorde
de
salida
salida
Versin
Versin33
Resultado
Resultado
convenido
convenido
N versiones
12/05/16
956
Comparacin de salidas
Como
957
Programacin de la versin N
Las
958
Bloques de recuperacin
Pruebas para
sucesos
Probar el
algoritmo 1
Algoritmo
Algoritmo11
Continua
la
ejecucin si sucede
la
prueba
de
aceptacin. Sealar
excepcin si todos
los algoritmos fallan
Prueba
Pruebade
de
aceptacin
aceptacin
Pruebas de aceptacin
Reintentar fallas
Re-prueba
Re-prueba
Reintentar
Algoritmo
Algoritmo22
Algoritmo
Algoritmo33
Bloques de
recuperacin
12/05/16
959
Bloques de recuperacin
Estos
960
Problemas con la
diversidad del diseo
Los equipos no son culturalmente diversos para que ellos tiendan
a tomar los problemas de la misma manera.
Errores caractersticos
Equipos diferentes cometen los mismos errores. Algunas partes
de una implementacin son ms difciles que otras de modo que
todos los equipos tienden a cometer errores en el mismo lugar;
Errores de especificacin;
Si hay un error en la especificacin, entonces esto se refleja en
todas las implementaciones;
Esto
puede ser dirigida a alguna extensin usando
representaciones de especificacin mltiple.
12/05/16
961
Dependencia de la
especificacin
Ambas aproximaciones para la redundancia de
software son susceptibles a errores en la
especificacin. Si la especificacin es incorrecta el
sistema podra fallar.
Esto es tambin un problema con el hardware,
pero las especificaciones de software normalmente
son ms complejas que las especificaciones del
hardware y ms difcil para validar.
Esto ha sido dirigido en algunos casos por
desarrollo separado de las especificaciones de
software desde las mismas especificaciones del
usuario.
12/05/16
962
Puntos clave
La confiabilidad en un sistema puede ser logrado a
travs de la anulacin de falta, deteccin de falta y
tolerancia de falta.
El uso de redundancia y diversidad es esencial para
el desarrollo de sistemas fidedignos.
El uso de procesos repetibles bien definidos es
importante si las fallas en sistema sern
minimizadas.
Algunas
estructuras de construccin son la
inherentemente propensos a error su uso debe
evitarse dondequiera sea posible.
12/05/16
963
Puntos clave
Las
964
Captulo 21
Evaluacin del
software
12/05/16
965
Objetivos
Explicar porque el cambio es inevitable si los
sistemas de software son para permanecer tiles.
Discutir el mantenimiento del software y factores de
costo del mantenimiento
Describir los procesos involucrados en la evolucin
del software
Discutir
una aproximacin para evaluar las
estrategias de evolucin y las estrategias para
sistemas legados.
12/05/16
966
Tpicos cubiertos
Dinmicas
de
la
evolucin
de
programa
Mantenimiento del software
Procesos de evolucin
Evolucin de procesos legados
12/05/16
967
12/05/16
968
Importancia de la
evolucin
Las
969
Modelo en espiral de la
evolucin
Especificacin
Especificacin
Implementacin
Implementacin
Inicio
Operacin
Operacin
Lanzamiento
1
Lanzamiento
2
Validacin
Validacin
Lanzamiento
3
12/05/16
970
Dinmicas de la evolucin
de programa
Dinmicas
971
Reglas de Lehman
Ley
Descripcin
Cambio continuo
Complejidad creciente
Estabilidad organizacional
Conservacin de familiaridad
Crecimiento continuado
La funcionalidad ofrecida por los sistemas tiene que aumentar para mantener
continuamente la satisfaccin del usuario
Calidad declinante
Sistema de retroalimentacin
12/05/16
972
12/05/16
973
974
El mantenimiento es inevitable
12/05/16
975
Tipos de mantenimiento
12/05/16
976
12/05/16
977
Costos de mantenimiento
Normalmente mayor que los costos de desarrollo
(de 2* a 100* dependiendo en la aplicacin).
Afectado por los factores tcnicos y no tcnicos.
El crecimiento como el software es mantenido. El
mantenimiento corrompe la estructura del software,
lo que hace el mantenimiento ms dificultoso.
El software viejo puede tener altos costos de
soporte
(por
ejemplo,
viejos
lenguajes,
compiladores, etc. ).
12/05/16
978
Costos de
desarrollo/mantenimiento
Sistema 2
Sistema 1
50
100
150
200
150
Costos de desarrollo
12/05/16
200
250
300
350
400
450
500
Costos de mantenimiento
979
Factores de costo de
mantenimiento
Estabilidad del equipo
Los costos de mantenimiento estn reducidos si el mismo
personal est involucrado con ellos por algn tiempo.
Responsabilidad contractual
Los desarrolladores de un sistema pueden no tener
responsabilidad contractual para el mantenimiento, de
modo que no hay incentivo para disear un cambio futuro.
Habilidades del personal
El equipo de mantenimiento son a menudo inexpertos y
tienen conocimiento limitado del dominio.
Edad de programa y estructura
Cuando la edad de los programas, su estructura se
degrada y ellos se ponen ms difciles de entender y
cambiar.
12/05/16
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
980
Prediccin del
mantenimiento
12/05/16
981
Prediccin del
mantenimiento
Qu
Qupartes
partesdel
del
sistema
sern
ms
sistema sern ms
probablemente
probablemente
afectadas
afectadaspor
porlas
las
demandas
de
demandas de
cambio?
cambio?
Cuntas
Cuntasdemandas
demandas
de
cambio
de cambiopueden
pueden
esperarse?
esperarse?
12/05/16
Prediciendo
mantenibilidad
Prediciendo
cambios del
sistema
Prediciendo
costos de
mantenimiento
Qu
Qupartes
partesdel
del
sistema
pueden
sistema puedenser
ser
ms
caras
para
el
ms caras para el
mantenimiento?
mantenimiento?
Cul
Culser
sereleltiempo
tiempo
de
vida
de
los
de vida de los
costos
costosde
de
mantenimiento
mantenimientode
de
este
sistema?
este sistema?
Cules
Culessern
sernlos
loscostos
costos
de
mantenimiento
de mantenimientodel
del
sistema
mantenimiento
sistema mantenimiento
para
paraelelprximo
prximoao?
ao?
982
12/05/16
983
Mtricas de complejidad
Las predicciones de mantenibilidad pueden ser
hechas evaluando la complejidad de componentes
del sistema.
Los estudios han mostrado ms esfuerzo de
mantenimiento est gastando en un nmero
relativamente pequeo de componente de sistemas.
La complejidad depende de
La complejidad de las estructuras de control;
La complejidad de estructuras de datos;
Objeto, mtodo (procedimiento) y tamao de
modulo.
12/05/16
984
12/05/16
985
Proceso de evolucin
El
proceso de evolucin de
El tipo de software que es mantenido;
El proceso de desarrollo usado;
Las habilidades y experiencia de la
gente involucrada.
Las propuestas para el cambio son los
conductores de la evolucin del sistema. Se
identifica el cambio y la evolucin continua
a travs del tiempo de vida del sistema.
12/05/16
986
Nuevo
Nuevo
sistema
sistema
Propuesta
Propuestade
de
cambios
cambios
Proceso
Procesode
de
evolucin
evolucindel
del
software
software
12/05/16
987
El proceso de evolucin
del sistema
Demanda de
Demanda de
cambios
cambios
Anlisis
Anlisisde
de
impacto
impacto
Reparacin
Reparacinde
de
falla
falla
12/05/16
Planificacin
Planificacinde
de
lanzamiento
lanzamiento
Implementacin
Implementacin
del
delcambio
cambio
Adaptacin
Adaptacinde
de
plataforma
plataforma
Perfeccionamiento
Perfeccionamiento
del
delsistema
sistema
Lanzamiento
Lanzamiento
del
delsistema
sistema
988
Cambios
Cambios
propuestos
propuestos
12/05/16
Anlisis
Anlisisde
de
requerimientos
requerimientos
Actualizacin
Actualizacinde
de
requerimientos
requerimientos
Desarrollo
Desarrollode
de
software
software
989
Demandas de cambio
urgente
12/05/16
Los
cambios
urgentes
pueden
ser
implementados sin pasar a travs de todas las
fases del proceso de ingeniera de software
Si una falla de sistema seria tiene que ser
reparada;
Si los cambios en el ambiente del sistema (por
ejemplo, actualizar SO) tienen efectos
inesperados;
Si hay cambios en los negocios que requieren
una respuesta muy rpida (por ejemplo, el
lanzamiento de un producto competitivo).
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
990
Demanda
Demanda
de
decambios
cambios
12/05/16
Analizar
Analizarcdigo
cdigo
fuente
fuente
Modificar
Modificarcdigo
cdigo
fuente
fuente
Entregar
Entregarsistema
sistema
modificado
modificado
991
Reingeniera de
sistemas
Reestructurar
992
Ventajas de la reingeniera
Riesgo
reducido
Hay un riesgo alto en el nuevo desarrollo del
software. Puede haber problemas de desarrollo,
problemas de proveer de personal y problemas
de la especificacin.
Costo reducido
El costo de reingeniera es significativamente
menor que el costo de desarrollar nuevo
software.
12/05/16
993
Adelante y reingeniera
Especificacin
Especificacin
del
delsistema
sistema
Diseo
Diseoee
implementacin
implementacin
Nuevo
Nuevo
sistema
sistema
Entendimiento
Entendimientoyy
transformacin
transformacin
Sistema
Sistemacon
con
reingeniera
reingeniera
12/05/16
994
Los procesos de
reingienera
Documentacin
Documentacin
de
deprograma
programa
Programa
Programa
original
original
Programa
Programa
modularizado
modularizado
Datos
Datos
originales
originales
Ingeniera
Ingeniera
reversa
reversa
Traslacin
Traslacinde
de
cdigo
fuente
cdigo fuente
Modularizacin
Modularizacin
de
deprograma
programa
Reingienera
Reingienerade
de
datos
datos
Programa
Programa
estructurado
estructurado
Datos
Datoscon
con
reingienera
reingienera
Mejora
Mejorade
delala
estructura
estructura
de
deprograma
programa
12/05/16
995
12/05/16
996
Aproximacin de
reingienera
Reestructuracin de
programa automatizado
Conversin de
cdigo fuente
automatizado
Reestructuracin de
datos del programa
Reestructuracin
automatizada con
cambios manuales
Reestructuracin
ms cambios
arquitectnicos
Costo incrementado
12/05/16
997
Factores de costo de la
reingienera
La
998
Evolucin de sistemas
legados
12/05/16
999
Valor comercial
Baja calidad
Alta calidad
6
10
8
7
1000
Categoras de sistemas
legados
12/05/16
1001
Entrevista
12/05/16
1002
Valoracin de la calidad
del sistema
Valoracin
Valoracin
12/05/16
del ambiente
Valoracin
de la aplicacin
1003
12/05/16
1004
Preguntas
del Est todava el proveedor en existencia? El proveedor
Edad
Desempeo
12/05/16
1005
Costos
de Cules son los costos de mantenimiento del
hardware y licencias de software de soporte? El
mantenimiento
hardware ms viejo puede tener el mantenimiento
de costo ms alto que los sistemas modernos. El
software de soporte puede tener los costos de
licencia anuales altos.
Interoperatividad
12/05/16
1006
Valoracin de la aplicacin 1
Factor
Preguntas
Entendibilidad
Documentacin
Datos
Desempeo
12/05/16
1007
Valoracin de la aplicacin 2
Lenguaje de Los compiladores modernos estn disponibles para
programacin el lenguaje de programacin para desarrollar el
sistema? El lenguaje de programacin todava se
usa para el nuevo desarrollo del sistema?
Datos
prueba
Habilidades
personales
12/05/16
1008
12/05/16
1009
Puntos clave
El desarrollo del software y evolucin ser un
simple proceso iterativo.
Las leyes de Lehman describen varias visiones
dentro de la evolucin del sistema.
Tres tipos de mantenimiento son la fijacin de
problema, modificacin del software para un nuevo
ambiente y la implementacin de nuevos
requerimientos.
Para
sistemas de hbitos, los costos de
mantenimiento normalmente usados exceden los
costos de desarrollo.
12/05/16
1010
Puntos clave
Los
1011
Captulo 22
Verificacin y
Validacin
12/05/16
1012
Objetivos
Introducir
12/05/16
1013
Tpicos cubiertos
Planificacin
de
verificacin
validacin
Inspecciones de software
Anlisis esttico automatizado
Desarrollo de software de sala limpia
12/05/16
1014
Verificacin vs validacin
Verificacin:
Somos nosotros construyendo el derecho
del producto.
El
software debe estar conforme a su
especificacin.
Validacin:
Somos nosotros construyendo el
producto correcto.
El software debe hacer lo que el usuario
realmente requiere.
12/05/16
1015
El proceso V & V
Es
1016
Metas de V & V
La
1017
Confianza de V & V
12/05/16
1018
Verificacin esttica y
dinmica
12/05/16
1019
Especificacin
Especificacinde
de
requerimientos
requerimientos
Diseo
Diseode
de
alto
nivel
alto nivel
Especificacin
Especificacin
formal
formal
Prototipado
Prototipado
12/05/16
Diseo
Diseo
detallado
detallado
Programa
Programa
Prueba
Pruebade
de
programa
programa
1020
Prueba de programa
Puede
1021
Tipos de prueba
Prueba por omisin
Las pruebas se disearon para descubrir los defectos del
sistema.
Una prueba por omisin exitosa es uno que revela la
presencia de defectos en un sistema.
Cubierto en el Captulo 23.
Prueba de validacin
Pensado
para mostrar que el software rene sus
requerimientos.
Una prueba exitosa es una que muestra que unos
requerimientos se han implementado propiamente.
12/05/16
1022
Prueba y depuracin
La prueba y depuracin son procesos distintos.
La verificacin y la validacin se preocupan por
establecer la existencia de defectos en un
programa
La depuracin se preocupa por localizar y
reparar estos errores.
La depuracin involucra la formulacin de una
hiptesis sobre el comportamiento del
programa, entonces se prueban estas hiptesis
para encontrar el error del sistema.
12/05/16
1023
El proceso de depuracin
Resultados
Resultados
de
deprueba
prueba
Localizar
Localizar
error
error
12/05/16
Especificacin
Especificacin
Disear
Disear
reparacin
reparacinde
de
error
error
Casos
Casosde
de
prueba
prueba
Reparar
Reparar
error
error
Programa
Programade
de
reprueba
reprueba
1024
Planificacin V & V
La planificacin cuidadosa es requerida para
conseguir lo ms fuera de pruebas y procesos de
inspeccin.
La planificacin debe empezar temprano en el
proceso de desarrollo.
El plan debe identificar el equilibrio entre la
verificacin esttica y prueba.
La planificacin de prueba est
alrededor de
definicin de estndares para el proceso de prueba
en lugar de la descripcin de pruebas del producto.
12/05/16
1025
El modelo V de desarrollo
Especificacin
Especificacinde
de
requerimientos
requerimientos
Plan
Plande
de
prueba
pruebade
de
aceptacin
aceptacin
Servicio
Servicio
12/05/16
Especificacin
Especificacin
del
delsistema
sistema
Diseo
Diseodel
del
sistema
sistema
Plan
Plande
deprueba
prueba
de
integracin
de integracin
del
delsistema
sistema
Prueba
Pruebade
de
aceptacin
aceptacin
Diseo
Diseo
detallado
detallado
Plan
Plande
deprueba
prueba
de
integracin
de integracin
del
delsubsistema
subsistema
Prueba
Pruebade
de
integracin
integracin
del
delsistema
sistema
Mdulo
Mduloyy
unidad
unidadde
de
cdigo
y
cdigo y
prueba
prueba
Prueba
Pruebade
de
integracin
integracindel
del
subsistema
subsistema
1026
La estructura de un plan
de prueba de software
El
proceso de prueba.
Trazabilidad de requerimientos.
Artculos probados.
Programacin de prueba.
Los procedimientos magnetofnicos.
Requerimientos de hardware y software.
Restricciones.
12/05/16
1027
1028
Inspecciones de software
stos involucran a las personas que examinan la
representacin de la fuente con el objetivo de descubrir
anomalas y defectos.
Las inspecciones no requieren la ejecucin de un
sistema, de modo que pueden ser usados antes de la
implementacin.
Ellos pueden aplicarse a cualquier representacin del
sistema
(requerimientos,
diseo,
datos
de
configuracin, datos de prueba, etc.).
Ellos se han mostrado para ser una tcnica efectiva
para el descubrimiento de errores de programa.
12/05/16
1029
El xito de la inspeccin
Muchos
1030
Inspecciones y pruebas
Las
1031
Inspecciones de programa
Aproximacin
formalizada
para
documentar
revisiones.
Propuesto explcitamente para la deteccin de
defectos (no correccin).
Los
defectos pueden ser errores lgicos,
anomalas en el cdigo que podran indicar una
condicin errnea (Por ejemplo, una variable no
inicializada) o incumplimiento de los estndares.
12/05/16
1032
Pre-condiciones de la inspeccin
12/05/16
1033
El proceso de inspeccin
Planificacin
Planificacin
Vista
Vistaglobal
global
Seguir
Seguiraa
Preparacin
Preparacin
individual
individual
Retrabajo
Retrabajo
Reunin
Reuninde
de
inspeccin
inspeccin
12/05/16
1034
Procedimiento de
inspeccin
La vista global del sistema presentada por el
equipo de inspeccin.
El cdigo y los documentos asociados son
distribuidos de antemano al equipo de inspeccin.
La
inspeccin tiene lugar y los errores
descubiertos son anotados.
Las modificaciones son hechas para reparar los
errores descubiertos.
La reinspeccin puede o no ser requerida.
12/05/16
1035
Roles de la inspeccin
Autor
o El programador o diseador responsable para producir el
propietario programa o documento. Responsable por arreglar defectos
descubiertos durante el proceso de inspeccin.
Inspector
Lector
Escriba
1036
Listas de revisin de la
inspeccin
La lista de control de errores comunes debe ser usado
para manejar la inspeccin.
Las listas de revisin de errores son programadas en
un lenguaje dependiente y refleja los errores
caractersticos que son probables de levantarlos en el
lenguaje.
In general, el dbil comprobacin de tipo, el mayor
de la lista de control.
Ejemplos: Inicializacin, denominacin Constante,
terminacin del bucle, lmites de arreglos, etc.
12/05/16
1037
Revisiones de inspeccin 1
Fallas de datos
Todas las variables del programa se inicializan antes de que sus valores
sean usados?
Se han nominado todas las constantes?
Debe el lmite superior de arreglos ser igual al del arreglo o Tamao -1?
Si las cadenas de carcter son usadas, hay un delimitador explcitamente
asignado?
Hay cualquier posibilidad de desborde de memoria intermediaria?
Fallas de control
Fallas
Entrada/Salida
12/05/16
de
1038
Revisiones de inspeccin 2
Fallas de interfaz
1039
Proporcin de inspeccin
500 estamentos /hora durante la vista global.
125
estamentos fuente /hora durante la
preparacin individual.
90-125
estamentos
/hora
pueden
inspeccionados.
La inspeccin, por consiguiente, es un proceso
caro.
Los
costos de inspeccionar 500 lneas
aproximadamente esfuerzo de 40 horas/hombre
aproximadamente 2800 a la proporcin del
Reino Unido.
12/05/16
1040
Anlisis esttico
automatizado
Los
1041
Fallas de control
Fallas
entrada/salida
nunca
usados
entre
Cdigo inalcanzable.
Bifurcaciones sin condicin en los bucles.
Fallas de interfaz
1042
1043
1044
1045
valioso cuando un
lenguaje como C usa comprobacin de
tipos dbil y muchos errores no son
detectados por el compilador.
Menos rentable para lenguajes como
Java que tienen comprobacin fuerte de
tipos y puede, por consiguiente,
detectar muchos errores durante la
compilacin.
12/05/16
1046
1047
1048
1049
Desarrollo de software de
sala limpia
12/05/16
1050
Especificar
Especificarelel
sistema
sistema
formalmente
formalmente
Definir
Definir
incrementos
incrementos
de
desoftware
software
Desarrollo
Desarrollode
de
perfil
perfil
operacional
operacional
12/05/16
Construir
Construir
programas
programas
estructurado
estructurado
Verificar
Verificarelel
cdigo
cdigo
formalmente
formalmente
Disear
Disear
pruebas
pruebas
estadsticas
estadsticas
Incremento
Incremento
integrado
integrado
Probar
Probarsistema
sistema
integrados
integrados
1051
Caractersticas del
proceso de Sala limpia
Especificacin formal usando un modelo de
transicin de estado.
Desarrollo incremental donde el cliente prioriza los
incrementos.
Programacin estructurada control limitado y
estructuras de abstraccin son usados en el
programa.
Verificacin esttica usando inspecciones rigurosas.
La prueba estadstica del sistema (cubierto en el
Cap. 24 ).
12/05/16
1052
Especificacin formal e
inspecciones
El
1053
12/05/16
1054
12/05/16
1055
Puntos clave
La
1056
Puntos clave
Las inspecciones de programa son muy eficaces
descubriendo errores.
El cdigo del programa en las inspecciones se verifica
sistemticamente por un equipo pequeo para localizar
las faltas del software.
Las
herramientas del anlisis estticas pueden
descubrir anomalas del programa que pueden ser una
indicacin de faltas en el cdigo.
El proceso de desarrollo de Sala limpia depende del
desarrollo incremental, comprobacin esttica y
comprobacin estadstica.
12/05/16
1057
Captulo 22
Pruebas del
software
12/05/16
1058
Objetivos
Discutir
1059
Tpicos cubiertos
Prueba
de sistema
Prueba de componente
Diseo de caso de prueba
Automatizacin de prueba
12/05/16
1060
El proceso de prueba
Prueba de componente
Prueba de componentes de programa individuales;
Normalmente
la responsabilidad del desarrollo de
componentes (exceptuando algunas veces para sistemas
crticos);
Las pruebas son derivadas desde la experiencia de los
desarrolladores.
Prueba de sistema
Pruebas de grupos de componentes integrados para crear
un sistema o subsistema;
La responsabilidad de un equipo de prueba independiente;
Las pruebas estn basadas en una especificacin de
sistema.
12/05/16
1061
Fases de prueba
Prueba
Prueba de
de
componente
componente
Desarrollo
de software
12/05/16
Prueba
Prueba de
de
sistema
sistema
Equipo de prueba
independiente
1062
Prueba de defectos
La
1063
12/05/16
1064
Casos
Casosde
de
prueba
prueba
Diseo
Diseode
de
casos
de
casos de
prueba
prueba
12/05/16
Datos
Datosde
de
prueba
prueba
Preparar
Preparar
datos
datos de
de
prueba
prueba
Resultados
Resultados
de
deprueba
prueba
Ejecutar
Ejecutar
programa
programacon
con
datos
de
datos de
prueba
prueba
Informes
Informes
de
deprueba
prueba
Preparar
Preparar
datos
datos de
de
prueba
prueba
1065
Polticas de prueba
12/05/16
1066
Prueba de sistema
Involucra la integracin de componentes para crear un
sistema o subsistema.
Puede involucrar la prueba de un incremento a a ser
entregado al cliente.
Dos fases:
Prueba de integracin el equipo de prueba tiene
acceso para el cdigo fuente del sistema. El sistema es
probado conforme los componentes son integrados.
Prueba de lanzamiento el equipo de prueba, prueba
el sistema completo para ser entregado como una caja
negra.
12/05/16
1067
Prueba de integracin
12/05/16
1068
Prueba de integracin
incremental
AA
BB
TT
11
TT
22
TT
33
12/05/16
AA
BB
CC
TT
11
AA
TT
22
BB
TT
33
CC
TT
44
DD
TT
11
TT
22
TT
33
TT
44
TT
55 1069
Aproximacin de
prueba
Validacin arquitectnica
Las pruebas de integracin de Arriba-abajo son buenas para
descubrir errores en la arquitectura del sistema.
Demostracin de sistema
Las pruebas de integracin de Arriba-abajo permiten una
demostracin limitada en un estado temprano en el
desarrollo.
Implementacin de prueba
A menudo es ms fcil una prueba de integracin de Abajoarriba.
Observacin de prueba
Problemas con ambas aproximaciones. Puede ser requerido
cdigo extra para observar pruebas.
12/05/16
1070
Pruebas de lanzamiento
El
1071
Ie
Sistema
Sistema
Salida de
resultados de
prueba
12/05/16
Oe
1072
Directrices de prueba
12/05/16
1073
Escenario de prueba
Una estudiante en Escocia est estudiando la Historia Americana y se le ha
pedido escribir un documento "La mentalidad de la frontera en el Oeste
Americano de 1840 a 1880 ". Para hacer esto, ella necesita encontrar las
fuentes de un rango de bibliotecas. Ella se registra en el sistema LIBSYS y
usa la facilidad de bsqueda para descubrir si puede acceder los
documentos originales de ese tiempo. Ella descubre las fuentes en varias
bibliotecas universitarias de EE.UU., y descarga copias de algunas de
stas. Sin embargo, para un documento, ella necesita tener la confirmacin
de su universidad que es una estudiante genuina y el uso es para
propsitos no comerciales. La estudiante, entonces, usa la facilidad en
LIBSYS de que puede solicitar tal permiso y registrar. Si es concedido, el
documento se transmitir al servidor registrado de la librera y es impreso
para ella. Ella recibe un mensaje de LIBSYS que le dice que ella recibir un
mensaje del correo electrnico cuando el documento impreso est
disponible para la coleccin.
12/05/16
1074
Pruebas de sistema
1. Probar el mecanismo de registro usando registros correctos e
incorrectos para verificar que los usuarios vlidos se aceptan y
los usuarios invlidos se rechazan
2. Probar la facilidad de bsqueda que usando diferentes consultas a
las fuentes conocidas para verificar que el mecanismo de
bsqueda est realmente encontrando los documentos .
3. Probar la facilidad de presentacin del sistema, para verificar que
que esa informacin sobre los documentos sea desplegada
propiamente.
4. Probar el mecanismo para pedir el permiso para descargar.
5. Probar que la respuesta por correo electrnico que indica que el
documento transmitido est disponible.
12/05/16
1075
Casos de uso
Los
1076
Recolectar el diagrama de
secuencia de datos del tiempo
: Usuario
: ControladorComandos
: EstacinTiempo
: DatosTiempo
1: Demanda (informe)
2: Reconocer()
3: Informe()
4: Resumir()
5:
6: Enviar(informe)
7: Responder(informe)
8: Reconocer
12/05/16
1077
Prueba de desempeo
Parte
1078
Prueba de stress
12/05/16
1079
Prueba de componentes
Las pruebas de componente o unidad es el
proceso de prueba de componentes individuales
en aislamiento.
Es un proceso de pruebas de defecto.
Los componentes pueden ser:
Funciones individuales o mtodos dentro de un
objeto;
Clases de objetos con varios atributos y
mtodos;
Los componentes compuestos con interfaces
definidas se usan para acceder s funcionalidad.
12/05/16
1080
12/05/16
1081
12/05/16
1082
1083
Prueba de interfaz
Los
12/05/16
1084
Prueba de interfaz
Casos
Casosde
de
prueba
prueba
12/05/16
1085
Tipos de interfaz
12/05/16
Interfaces de parmetro
Datos pasados de un procedimiento a otro.
Interfaces de memoria compartida
El
bloque de memoria es compartido entre
procedimientos o funciones.
Interfaces procedimentales
Los
subsistemas
encapsulan
un
conjunto
de
procedimientos para ser llamados por otros subsistemas.
Interfaces de paso de mensajes
Los
subsistemas solicitan servicios desde otros
subsistemas.
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
1086
Errores de interfaz
12/05/16
1087
Directrices de pruebas de
interfaz
Disear pruebas de modo que los parmetros a un
procedimiento llamado estn en los extremos finales de
sus rangos.
Siempre los parmetros de punteros a pruebas con
punteros nulos.
Disear pruebas que causan el componente para fallar.
Usar las pruebas de stress en los sistemas de paso de
mensajes.
En los sistemas de memoria compartida, variar el orden
en que se activan los componentes.
12/05/16
1088
12/05/16
1089
Prueba basada en
requerimientos
Un
1090
Requerimientos de LIBSYS
El usuario podr investigar cualquiera de todo el
conjunto inicial de bases de datos o seleccionar un
subconjunto de l.
El sistema mantendr a los visualizadores
apropiados para que el usuario lea los documentos
en el almacn del documento.
Cada orden se asignar un nico identificador
(ID_PEDIDO) que el usuario podr copiar al rea del
almacenamiento permanente de la cuenta.
12/05/16
1091
Pruebas de LIBSYS
Iniciar la bsqueda de usuario para bsquedas de artculos que se
conocen y estn presentes y otros conocidos que no estn presenten,
dnde el conjunto de bases de datos incluye 1 base de datos.
Iniciar las bsquedas de usuario para artculos que se conocen y estn
presentes y otros conocidos que no estn presentes, dnde el conjunto
de bases de datos incluyen 2 bases de datos.
Iniciar las bsquedas de usuario para artculos que se conocen y estn
presentes y otros conocidos que no estn presentes, donde el conjunto
de bases de datos incluyen ms de 2 bases de datos.
Seleccionar una base de datos del conjunto de bases de datos e iniciar
bsquedas de usuario para artculos que se conocen y estn presentes y
otros conocidos que no estn presentes,
Seleccionar ms de una base de datos del conjunto de bases de datos e
iniciar bsquedas para artculos que se conocen y estn presentes y
otros conocidos que no estn presentes.
12/05/16
1092
Prueba de particin
Los
1093
Particin de equivalencia
Entradas
invlidas
Entradas
vlidas
Sistema
Sistema
Salidas
12/05/16
1094
Particiones de equivalencia
3
Menor que 4
11
10
50000
100000
99999
Entre 10000 y
99999
1095
Especificacin de rutina de
bsqueda
procedure Search (Key : ELEM ; T: SEQ of ELEM;
Found : in out BOOLEAN; L: in out ELEM_INDEX) ;
Pre-condition
-- la sucesin tiene al menos un elemento
TFIRST <= TLAST
Post-condition
-- el elemento es encontrado y es referenciado por
L
( Found and T (L) = Key)
or
-- el elemento no est en el arreglo
( not Found and
12/05/16
Silva Delgado - Ing. Ivan Pino Tellera
not (existsIng.i,Otoniel
TFIRST
>= i <= TLAST, T (i) = Key )) 1096
Rutina de bsqueda
particiones de entrada
Entradas
que
conforman
a
precondiciones.
Entradas donde una precondicin no
lleva a cabo.
Entradas donde el elemento clave es
miembro del arreglo.
Entradas donde el elemento clave no
miembro del arreglo
12/05/16
las
se
un
es
1097
Directivas de prueba
(secuencias)
Probar
1098
Rutina de bsqueda
particiones de entrada
Secuencia
Un slo valor
Un slo valor
Ms de un valor
Ms de un valor
Ms de un valor
Ms de un valor
Elemento
En secuencia
No en secuencia
Primer elemento en la secuencia
ltimo elemento en la secuencia
Elemento central en la secuencia
No en secuencia
Clave(clave)
17
0
17
45
23
25
Salida(Encontrar, L)
Verdadero, 1
Falso, ??
Verdadero, 1
Verdadero, 7
Verdadero, 4
Falso, ??
1099
Prueba estructural
Algunas
1100
Prueba estructural
Datos
Datosde
de
prueba
prueba
Prueba
Deriva
Cdigo
Cdigo de
de
componente
componente
12/05/16
Salida
Salidade
de
prueba
prueba
1101
12/05/16
1102
Bsqueda binaria
particiones de equivalencia
Punto medio
12/05/16
1103
Clave(clave)
Salida(Encontrar, L)
17
0
17
45
23
21
23
25
Verdadero, 1
Falso, ??
Verdadero, 1
Verdadero, 7
Verdadero, 4
Verdadero, 3
Verdadero, 4
Falso, ??
1104
Prueba de camino
El
1105
Grafo de flujo de
bsqueda binaria
1
9
1
1
4
4
12/05/16
elemArreglo[mid] =
clave
elemArreglo[mid] !=
clave
elemArreglo[mid] >
clave
1
1
2
2
1
1
1
1
elemArreglo[mid] <
clave
1
1
3
3
1
1
0
0
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
1106
Caminos independientes
1,
2, 3, 4, 5, 6, 7, 8, 9, 10, 14
1, 2, 3, 4, 5, 14
1, 2, 3, 4, 5, 6, 7, 11, 12, 5,
1, 2, 3, 4, 6, 7, 2, 11, 13, 5,
Los casos de prueba deben ser derivados de
modo que esos caminos sean ejecutados.
Un analizador de programa dinmico puede ser
usado para verificar que los caminos sean bien
ejecutados.
12/05/16
1107
Automatizacin de prueba
La
1108
Generador
Generadorde
de
datos
de
prueba
datos de prueba
Cdigo
Cdigo
fuente
fuente
Analizador
Analizador
dinmico
dinmico
Informe
Informede
de
ejecucin
ejecucin
Manejador
Manejadorde
de
prueba
prueba
Programa
Programa
probado
probado
Simulador
Simulador
Datos
Datosde
de
prueba
prueba
Resultados
Resultados
de
deprueba
prueba
Oracle
Oracle
Precondiciones
Precondiciones
de
deprueba
prueba
Comparado
Comparado
r rde
dearchivo
archivo
Generador
Generadorde
de
informe
informe
12/05/16
Informe
Informede
de
resultados
resultadosde
de
prueba
prueba
1109
Adaptacin de bancos de
trabajo de prueba
Los
12/05/16
1110
Puntos clave
12/05/16
1111
Puntos clave
La prueba de interfaz est diseada para descubrir
defectos en las interfaces de componentes
compuestos.
La particin de equivalencia es una manera de
descubrimiento de casos de prueba debern
comportarse de la misma manera.
El anlisis estructural confa en el anlisis de un
programa y derivar las pruebas a partir de este
anlisis.
La automatizacin de prueba reduce los costos de
prueba, soportando el proceso de prueba con un
rango de herramientas del software.
12/05/16
1112
Captulo 23
Validacin de
Sistemas
Crticos
12/05/16
1113
Objetivos
Explicar
1114
Tpicos cubiertos
Validacin
de la fiabilidad
Certidumbre de seguridad fsica
Valoracin de la seguridad fsica
Seguridad
fsica y casos
confiabilidad
12/05/16
de
1115
Validacin de sistemas
crticos
12/05/16
1116
Costos de validacin
Debido
1117
Validacin de la
fiabilidad
12/05/16
1118
El proceso de medida de
la fiabilidad
Identificar
Identificar
perfiles
perfiles
operacionales
operacionales
12/05/16
Preparar
Preparar
conjunto
conjuntode
de
datos
de
prueba
datos de prueba
Aplicar
Aplicar
pruebas
pruebaspara
para
elelsistema
sistema
calcular
calcularlala
confiabilidad
confiabilidad
observada
observada
1119
Actividades de validacin
de fiabilidad
Establecer
el
perfil
operacional
para
el
sistema.
Construir datos de prueba que reflejan el perfil
operacional.
Probar el sistema y observar el nmero de
fallas y las veces de esas fallas.
calcular la fiabilidad despus de
que un
nmero estadsticamente significativo de
fallas han sido observadas.
12/05/16
1120
Pruebas estadsticas
Probar
1121
Problemas de medida de
fiabilidad
Incertidumbre de perfil operacional
El perfil operacional no puede ser una reflexin
exacta del uso real del sistema.
Altos costos de generacin de datos de prueba
Los costos pueden ser muy altos si los datos de
prueba para el sistema no son generados
automticamente.
Incertidumbre estadstica
Se
necesita un nmero estadsticamente
significativo de fallas para calcular la fiabilidad,
pero los sistemas muy fiables raramente fallarn.
12/05/16
1122
Perfiles operacionales
Un
1123
Un perfil operacional
12/05/16
1124
1125
Prediccin de fiabilidad
12/05/16
1126
El crecimiento de fiabilidad
de paso igual
12/05/16
1127
Crecimiento de fiabilidad
observada
12/05/16
1128
El crecimiento de fiabilidad
de paso aleatorio
Notar diferentes
mejoras de fiabilidad
12/05/16
Reparacin de falla
agregar fallas y
fiabilidad decreciente
(incremento ROCOF)
1129
Seleccin de modelo de
crecimiento
Muchos
1130
Prediccin de fiabilidad
= Medida de
fiabilidad
Curva modelo
de fiabilidad
adecuada
Fiabilidad
requerida
Logro de tiempo
estimado de
fiabilidad
12/05/16
1131
Certidumbre de
seguridad fsica
La
12/05/16
1132
Confianza de seguridad
fsica
La
1133
Revisiones de seguridad
fsica
Revisar
1134
Revisar la gua
Hacer el software tan simple como sea posible.
Usar las tcnicas ms simples de desarrollo de
software que evita las estructuras propensas a error,
tales como los punteros y la recursin.
Usar informacin que oculta la localizacin del efecto
de alguna corrupcin de datos.
Hacer uso apropiado de tcnicas tolerantes a fallas
pero no debe ser seducido a pensar que el software
tolerante a falla es necesariamente segura fsicamente.
12/05/16
1135
12/05/16
1136
Construccin de un argumento
de seguridad fsica
Establecer las condiciones de salida de la seguridad
fsica para un componente o un programa.
Empezando desde el FIN del cdigo, trabajar hasta
que se haya identificado todos los caminos que
llevan a la salida del cdigo.
Asumir que la condicin de salida es falso.
Mostrar que, para cada camino que lleva a la salida,
las asignaciones hicieron que ese camino contradiga
la asuncin de una salida insegura del componente.
12/05/16
1137
Cdigo de entrega de
salida
currentDose = computeInsulin () ;
// Safety check - adjust currentDose if necessary
// if statement 1
if (previousDose == 0)
{
if (currentDose > 16)
currentDose = 16 ;
}
else
if (currentDose > (previousDose * 2) )
currentDose = previousDose * 2 ;
// if statement 2
if ( currentDose < minimumDose )
currentDose = 0 ;
else if ( currentDose > maxDose )
currentDose = maxDose ;
administerInsulin (currentDose) ;
12/05/16
1138
Modelo de argumento de
seguridad fsica
Sobredosis
Sobredosis
administrada
administrada
administrarInsulina
administrarInsulina
dosisActual >
dosisActual
maxDosis >
maxDosis
o
o
Contradiccin
Pre-condicin para un
estado inseguro
Contradiccin
dosisActual > minDosis y
dosisActual > minDosis y
dosisActual <= maxDosis
dosisActual <= maxDosis
Si estamento 2 no es
Si estamento
ejecutado2 no es
ejecutado
Contradiccin
dosisActual =
dosisActual
maxDosis =
maxDosis
dosisActual = 0
dosisActual = 0
Asignar
Asignar
dosisActual = 0
dosisActual = 0
Si estamento 2
Si estamento
entonces
la rama 2es
entonces
la rama es
ejecutada
ejecutada
12/05/16
dosisActual =
dosisActual
maxDosis =
maxDosis
Si estamento 2 otra
Si
estamento
rama
alterna 2esotra
rama
alterna es
ejecutada
ejecutada
1139
Caminos de programa
dosisActual = 0.
dosisActual = maxDosis.
12/05/16
1140
Certidumbre del
proceso
12/05/16
1141
1142
Anlisis de riesgo
El
1143
Entrada de registro de
riesgo
Registro de riesgo
20/02/2003
Pgina 4: Impreso.
Riesgo identificado:
Identificado por:
Jane Williams
Clase crtica:
Riesgo de identificacin
Alto
YES Fecha
YES Fecha
24.01.99
28.01.99
Ubicacin: Registro.Riesgo.Pg 5
Revisin: James Brown.
El sistema incluir software de falt prueba que probar el sistema del sensor, el reloj y el sistema de entrega de
insulina.
2.
La prueba de si mismo del software ejecutar una vez por minuto.
3.
En el evento de prueba de si mismo del software que descubre una falta en cualquiera de los componentes del
sistema, una advertencia audible se emitir y el despliegue de la bomba debe indicar el nombre del componente
dnde la falta se ha descubierto. La entrega de insulina debe suspenderse.
4.
El sistema incorporar un sistema sustituido que permite al usuario del sistema modificar la dosis computada de
insulina que ser entregada por el sistema.
5.
La cantidad de sustitucin debe limitarse para ser no mayor que un valor del prefijado que se fija cuando el
12/05/16 sistema se configura por el personal
Ing. mdico.
Otoniel Silva Delgado - Ing. Ivan Pino Tellera
1144
La comprobacin de seguridad
fsica en tiempo de ejecucin
Durante
1145
Administracin de insulina
con aserciones
static void administerInsulin ( ) throws SafetyException {
int maxIncrements = InsulinPump.maxDose / 8 ;
int increments = InsulinPump.currentDose / 8 ;
// asercin currentDose <= InsulinPump.maxDose
if (InsulinPump.currentDose > InsulinPump.maxDose)
throw new SafetyException (Pump.doseHigh);
else
for (int i=1; i<= increments; i++)
{
generateSignal () ;
if (i > maxIncrements)
throw new SafetyException ( Pump.incorrectIncrements);
} // bucle loop
} //administrador de Insulina
12/05/16
1146
La valoracin de
seguridad contra delitos
12/05/16
1147
Validacin de la
seguridad contra delitos
12/05/16
1148
Lista de control de
seguridad contra delitos
Hacer que todos los archivos que se crean en la aplicacin tengan los
permisos de acceso apropiados? Los permisos de acceso malos pueden
llevar a estos ser accedidos por usuarios desautorizado.
El sistema termina las sesiones de usuario automticamente despus de
un periodo de inactividad? Las sesiones que quedan activas pueden
permitir el acceso desautorizado a travs de una computadora desatendida.
Si el sistema est escrito en un lenguaje de programacin sin control de
lmite de arreglo, hay situaciones dnde el desborde de memoria
intermediaria puede ser explotada? El desborde de memoria intermediaria
puede permitir a los asaltadores enviar las cadenas de cdigo al sistema y
entonces ejecutarlos.
Si las contraseas son fijas, hace que el sistema que controla esa
contrasea sea "fuerte". Las contraseas fuertes consisten en letras
mezcladas, nmeros y puntuacin y no son entradas del diccionario
normales. Ellos son ms difciles de romper que las contraseas simples.
12/05/16
1149
Seguridad y casos de
confiabilidad
La
1150
El caso de seguridad
fsica de sistema
12/05/16
1151
Componentes de un caso
de seguridad fsica
Componente
Descripcin
Descripcin
sistema
del
Una apreciacin global del sistema y una descripcin de sus componentes crticos.
Requerimientos
seguridad fsica
de
Peligro y anlisis de
riesgo
Documentos que describen los peligros y riesgos que se han identificado y las
medidas tomadas para reducir el riesgo.
Anlisis de diseo
Verificacin
validacin
y Una descripcin de los procedimientos V & V usados y, dnde son apropiados, las
pruebas se planean para el sistema. Los resultados de sistema V &V.
Informe
revisiones
de
Competencias
equipo
de
Proceso QA
Procesos de gestin
de cambio
Los registros de todos los cambios propuestos, acciones tomadas y, dnde sea
apropiado, la justificacin de la seguridad fsica de estos cambios.
Casos
de seguridad
12/05/16
fsica asociados
Las referencias
a otros casos de seguridad fsica que pueden impactar en estos
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
1152
casos de seguridad fsica.
Estructura de argumento
EVIDENCIA
EVIDENCIA
EVIDENCIA
EVIDENCIA
<<ARGUMENTO>>
DEMANDA
DEMANDA
EVIDENCIA
EVIDENCIA
12/05/16
1153
Argumento de bomba de
insulina
Demanda: La sola dosis mxima computada por la bomba de insulina no
exceder la maxDosis.
Evidencia: El argumento de seguridad para la bomba de insulina como la
mostrada en la Figura 24.7.
Evidencia: Los conjuntos de juegos de datos de prueba para la bomba de
insulina.
Evidencia: El informe del anlisis esttico para el software de bomba de
insulina
Argumento: El argumento de seguridad presentado las muestras que la dosis
mxima de insulina que puede calcularse es igual a la maxDosis.
En 400 pruebas, el valor de la Dosis fue correctamente computada y
nunca excedi a la maxDose.
El anlisis esttico de control del software no revel ninguna
anomala.
En conjunto, es razonable asumir que la demanda est justificada.
12/05/16
1154
Demandar jerarqua
La
La bomba
bomba de
de insulina
insulina
no
entregar
una
no entregar una dosis
dosis
simple
de
insulina
simple de insulina que
que
es
insegura
es insegura
La
La mxima
mxima simple
simple dosis
dosis
computada
por
elel
computada
por
software
software que
que no
no excede
excede
maxDosis
maxDosis
En
operacin
En
operacin
normal,
la
normal, la mxima
mxima
dosis
computada
dosis computada
no
exceder
no
exceder
maxDosis
maxDosis
12/05/16
maxDosis
maxDosises
espresentada
presentada
cuando
la
bomba
cuando la
bomba de
de
insulina
es
configurada
insulina es configurada
maxDosis
maxDosis es
es una
una dosis
dosis
segura
para
el
usuario
segura para el usuario
de
delala bomba
bombade
deinsulina
insulina
Si
Si elel software
software falla,
falla,
entonces,
la
mxima
entonces, la mxima
dosis
dosis computada
computada
no
exceder
no
exceder
maxDosis
maxDosis
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
1155
Puntos clave
La medida de fiabilidad confa en el ejercicio del
sistema usando un perfil operacional una entrada
simulada que encaja al actual uso del sistema.
El modelo de crecimiento de fiabilidad se preocupa
por el modelamiento de cmo la fiabilidad de un
sistema de software mejora de modo que es probado
y las faltas son removidas.
Los
argumentos
de
seguridad
fsica
o
comprobaciones son una forma de demostracin que
una condicin arriesgada nunca puede ocurrir.
12/05/16
1156
Puntos clave
Es importante tener un proceso fidedigno para el
desarrollo de sistemas de seguridad fsica crticas.
El proceso incluir identificacin del peligro y
actividades de monitoreo.
La validacin de seguridad puede incluir el anlisis
basado en la experiencia, el anlisis basado en
herramientas o el uso de equipos tigre para atacar
el sistema.
Los casos de seguridad fsica recolectan al mismo
tiempo la evidencia que un sistema es seguro.
12/05/16
1157
Captulo 24
Personal de gerencia
Las
personas de
gerencia que trabajan
como individuos y en
grupos
12/05/16
1158
Objetivos
Explicar algunos de los problemas involucrados
seleccionando y reteniendo el personal
Describir factores que influencian en la motivacin
individual
Discutir problemas clave de equipos de trabajo
incluyendo
composicin,
cohesividad
y
comunicaciones
Introducir el modelo de capacidad de madurez del
personal (MCM-P) una armazn para reforzar
capacidades de las personas en una organizacin
12/05/16
1159
Tpicos cubiertos
Seleccin
de personal
Motivacin de personas
Gestin de grupos
El modelo de madurez de capacidad
de personas
12/05/16
1160
1161
Factores de gestin de
personal
12/05/16
Consistencia
Los miembros del equipo deben ser todos tratados de
una manera comparable sin favoritos o discriminacin.
Respeto
Diferentes miembros de equipo tienen habilidades
diferentes y estas diferencias deben ser respetadas.
Inclusin
Involucrar a todos los miembros del equipo y hacer
seguro que las vistas de personas sean consideradas.
Honestidad
Siempre se debe ser honrado alrededor de que esta
yendo bien y lo que esta yendo mal en un proyecto.
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
1162
Seleccin de personal
Una
1163
Estudio de caso de
seleccin de personal 1
Alicia es una gerente de proyecto de software que trabaja en una compaa que
desarrolla sistemas de alarma. Esta compaa desea entrar en el mercado
creciente de tecnologa del asistencia para ayudar al anciano y a las personas
invlidas a vivir independientemente. Alicia ha pedido llevar un equipo de 6
desarrolladores que pueden desarrollar nuevos productos basados alrededor de
la tecnologa de alarma de la compaa. Su primer papel es seleccionar a los
miembros del equipo de ingenieros de software en la compaa o de fuera de ella.
Para ayudar a seleccionar un equipo, Alicia evala las habilidades que ella
necesitar primero: Estas son:
12/05/16
1.
2.
3.
1164
Estudio de caso de
seleccin de personal 2
La prxima fase es intentar y hallar las personas desde dentro de la compaa con las
habilidades necesarias. Sin embargo, la compaa ha extendido significativamente y ha
tenido poco personal disponible. El mejor que Alicia puede negociar es tener la ayuda de
un experto de alarma (Fred) por 2 das/semana. Ella, por consiguiente decide anunciar
para el nuevo personal del proyecto, la lista de atributos que le gustara:
1.
2.
3.
4.
Una personalidad simptica para que ellos puedan relacionarse y puedan trabajar con la
mayora de personas que estn proporcionando los requerimientos y que estn
probando el sistema.
12/05/16
1165
Lecciones
Los gerentes de una compaa no pueden desear
perder a las personas en un nuevo proyecto. La
participacin a tiempo parcial puede ser inevitable.
Las habilidades como el diseo de IU y las
comunicaciones fsicas con el hardware son para
abreviar el suministro.
Los recin graduados pueden no tener habilidades
especficas, pero pueden ser una manera de
introducir nuevas habilidades.
La habilidad tcnica puede ser menos importante
que las habilidades sociales.
12/05/16
1166
Factores de seleccin de
personal 1
Experiencia en Para desarrollar un sistema exitoso, los desarrolladores
el dominio de deben entender el dominio de la aplicacin para un proyecto.
aplicacin
Es esencial que algunos miembros de un equipo de desarrollo
tengan un poco de experiencia del dominio.
Experiencia en Esto puede ser significativo si la programacin de bajo nivel
la plataforma
est involucrada. Por otra parte, no es normalmente un
atributo crtico.
Experiencia en Esto normalmente slo es significativo para proyectos de
lenguajes
de duracin corta dnde no hay bastante tiempo para aprender
programacin un nuevo leguaje. Mientras que el aprendizaje de un lenguaje
no es difcil, toma varios meses para ponerse hbil usando las
libreras asociadas y componentes.
Habilidad
en Esto es muy importante para los ingenieros del software que
la solucin de constantemente tienen que resolver los problemas tcnicos.
problemas
Sin embargo, es casi imposible de juzgar sin saber el trabajo
de un miembro potencial del equipo.
12/05/16
1167
Factores de seleccin de
personal 2
Formacin
educacional
Habilidad
de Esto es importante debido a la necesidad del personal del proyecto
comunicacin para comunicar oralmente y por escrito con otros ingenieros,
gerentes y clientes.
Adaptabilidad
Actitud
Personalidad
12/05/16
1168
Motivando personas
Un rol importante de un gerente es motivar el trabajo
de las personas en un proyecto.
La motivacin es un problema complejo, pero aparecen
diferentes tipos de motivacin basados en:
Necesidades bsicas (por ejemplo, comida, sueo,
etc.);
Necesidades personales (por ejemplo, respeto,
autoestima);
Necesidades sociales (por ejemplo, ser aceptado
como parte de un grupo).
12/05/16
1169
Jerarqua de necesidades
humanas
Necesidades de
realizacin personal
Necesidades
de estima
Necesidades
sociales
Necesidades de
seguridad fsica
Necesidades
psicolgicas
12/05/16
1170
Necesidad de satisfaccin
Social
Proporcionar los recursos comunales;
Permitir la comunicacin informal.
Estima
Reconocimiento de los logros;
Premios apropiados.
Auto-realizacin
Entrenamiento de personas que quieren aprender
ms;
Responsabilidad.
12/05/16
1171
Motivacin individual
El proyecto de tecnologa de asistencia de Alicia empieza bien. Las buenas relaciones
de trabajo se desarrollan dentro del equipo y se desarrollan nuevas ideas creativas. Sin
embargo, algunos meses en el proyecto, Alicia nota que Dorothy, la experta en diseo de
hardware, empieza llegando tarde al trabajo, la calidad de su trabajo deteriora y, cada vez
ms, ella no parece estar comunicndose con otros miembros del equipo. Alicia habla
sobre el problema con los otros miembros del equipo, para intentar averiguar si las
circunstancias personales de Dorothy han cambiado y si esto podra estar afectando su
trabajo. Ellos no conocen nada, para que Alicia decida hablar con Dorothy, para intentar
entender el problema.
Despus de negar que haya un problema, Dorothy admite que ella parece haber perdido
el inters en el trabajo. Ella esper un trabajo dnde desarrollara y usara sus
conocimientos de interfaz con el hardware que aproveche sus habilidades. Sin embargo,
ella est trabajando bsicamente como una programadora de C con otros miembros del
equipo y est preocupada porque o est desarrollando sus habilidades de interfaz lcon
el hardware. Ella est angustiada porque ser difcil de encontrar un trabajo despus de
este proyecto que involucra el interfaz con el hardware uniendo. Porque ella no quiere
perturbar al equipo, revelando lo que ella est pensando sobre el prximo proyecto, ha
decidido que es mejor minimizar la conversacin con ellos.
12/05/16
1172
Tipos de personalidad
La
1173
Tipos de personalidad
Orientadas a la tarea
La motivacin para hacer el trabajo es el propio
trabajo;
Orientadas a si mismas
El trabajo es un medio para un fin que es el logro de
las metas individuales por ejemplo, hacerse rico,
jugar tenis, viajar, etc.;
Orientadas a la interaccin
La principal motivacin es la presencia y acciones de
colaboradores. Las personas van a trabajar porque les
gusta ir a trabajar.
12/05/16
1174
Equilibrio de la motivacin
Las motivaciones individuales son presentados de
elementos de cada clase.
El
equilibrio puede cambiar dependiendo de
circunstancias personales y eventos personales.
Sin embargo, las personas no
estn justamente
motivadas por factores personales pero tambin por
ser parte de un grupo y cultura.
Las personas van a trabajar porque estn motivadas
por las personas con que ellas trabajan.
12/05/16
1175
Gerencia de grupos
12/05/16
1176
del grupo.
Cohesividad del grupo.
Comunicaciones del grupo.
Organizacin del grupo.
12/05/16
1177
12/05/16
1178
1179
1180
12/05/16
1181
Espritu de equipo
Alicia es una gerente del proyecto experimentada y entiende la importancia de crear un
grupo cohesivo. Cuando el desarrollo del producto es nuevo, ella aprovecha la oportunidad
de involucrar a todos los miembros del grupo en la especificacin del producto y disea
hacindoles discutir la posible tecnologa con los mayores miembros de sus familias y trae
a stos al almuerzo de grupo semanal. El almuerzo de grupo es una oportunidad para todos
los miembros del equipo se encuentren informalmente, hablen alrededor de los problemas
que preocupan y, generalmente, consigan conocerse.
El almuerzo es organizado como una sesin de informacin dnde Alicia les dice lo que ella
sabe sobre las noticias de la organizacin a los miembros del grupo, las polticas, las
estrategias, el etc. Cada miembro del equipo resume brevemente lo que ellos han estado
haciendo entonces y el grupo discute algn tema general como las nuevas ideas del
producto de los parientes ms viejos.
Cada ciertos meses, Alicia organiza un "da libre" para el grupo dnde el equipo se pasa
dos das
"actualizacin de tecnologa". Cada miembro del equipo prepara una
actualizacin en un poco de tecnologa pertinente y regalos de l al grupo. Esto es una
reunin fuera del sitio habitual, que se encuentra en un buen hotel y se fija tiempo
suficiente a para la discusin y la interaccin social.
12/05/16
1182
Desarrollo de la cohesividad
La cohesividad esta influenciada por factores tales
como cultura organizacional y las personalidades en el
grupo.
La cohesividad puede animarse a travs de
Eventos sociales
Desarrollando una identidad de grupo y territorio;
Las actividades del grupo de construccin explcitas.
La franqueza con la informacin es una simple manera
de asegurar a todos los miembros del equipo que se
sientan parte del grupo.
12/05/16
1183
Lealtades de grupo
Los
1184
1185
12/05/16
1186
1187
Grupos informales
Los actos de grupo como un todo y vienen para un
consenso en las decisiones que afectan al sistema.
Los servicios del lder del grupo como la interfaz externa
del grupo pero no asigna los artculos de trabajo especfico.
Mas bien, el trabajo es discutido por el grupo en conjunto y
las tareas se asignan de acuerdo a la habilidad y
experiencia.
Esta aproximacin tiene xito para grupos donde todos los
miembros experiencia y competencia.
12/05/16
1188
Grupos de programacin
extrema
Los
12/05/16
1189
Equipos de
programadores principales
Consiste en un ncleo de especialistas ayudados
por otros agregados al proyecto como requeridos.
La motivacin detrs de su desarrollo es la ancha
diferencia
en la habilidad en programadores
diferentes.
Los equipos del programador principales mantienen
un ambiente de apoyo los programadores muy
capaces para ser responsables para la mayora del
desarrollo del sistema.
12/05/16
1190
Problemas
12/05/16
1191
Ambientes de trabajo
La provisin del lugar de trabajo tiene un efecto importante
en la productividad individual y satisfaccin
Confort;
Privacidad;
Recursos.
Salud y consideraciones de seguridad deben tenerse en
cuenta
Alumbrado;
Calefaccin;
Mobiliario.
12/05/16
1192
Factores ambientales
Privacidad
12/05/16
1193
Organizacin de espacios
de trabajo
Los
1194
Diseo de oficina
Sala de
reunin
Oficina
Oficina
rea
comunal
Oficina
Ventana
Oficina
Oficina
Oficina
Documentacin
compartida
Oficina
12/05/16
Oficina
1195
El Modelo de Madurez de
Capacidad del Personal
Pensado
12/05/16
1196
1197
de 5 fases
Inicial. Adecuado para la direccin de personas.
Repetible. Las polticas desarrolladas para la mejora de
capacidad
travs de la organizacin
Manejado. Las metas cuantitativas para la direccin de
las personas en el lugar
Optimizando. El enfoque continuo en mejorar la
competencia individual y motivacin de la mano de obra
12/05/16
1198
El modelo de capacidad
de personas
Continuamente mejora de
mtodos para desarrollo
personal y competencia
organizacional
Optimizando
Optimizando
Manejado
Manejado
Cuantitativamente manejo
organizacional del crecimiento de
las habilidades de mano de obra y
establecimiento de equipos
basados en la competencia
Definido
Definido
Identificacin de competencias
primarias y actividades de
alineacin de mano de obra con
ellas
Cultura participatoria
Cultura participatoria
Prcticas basadas en la competencia
Prcticas basadas en la competencia
Desarrollo de carrera
Desarrollo de carrera
Desarrollo de competencia
Desarrollo de competencia
Planificacin de mano de obra
Planificacin de mano de obra
Anlisis de conocimiento y habilidades
Anlisis de conocimiento y habilidades
Repetible
Repetible
Compensacin
Compensacin
Entrenamiento
Entrenamiento
Gestin de desempeo
Gestin de desempeo
Provisin de personal
Provisin de personal
Comunicacin
Comunicacin
Ambiente de trabajo
Ambiente de trabajo
Inicial
Inicial
12/05/16
1199
Puntos clave
Los
1200
Puntos clave
Las
1201
Captulo 25
Estimation del
costo del
software
12/05/16
1202
Objetivos
Introducir
1203
Tpicos cubiertos
Productividad
del software
Tcnicas de estimacin
Modelo de costo algortmico
Duracin del proyecto y provisin del
personal
12/05/16
1204
Preguntas de la estimacin
fundamentales
Cunto
1205
12/05/16
1206
Costos y precios
Las
1207
Volatilidad
de Si es probable que los requerimientos cambien, una organizacin
puede bajar su precio para ganar un contrato. Despus de que el
requerimientos
contrato se otorga, pueden cobrarse los precios altos por los
cambios a los requerimientos.
Salud financiera
12/05/16
1208
1209
Medidas de productividad
Medidas
1210
Problemas de la
medicin
Estimacin
1211
Lneas de cdigo
Qu es una lnea de cdigo?
La medida fue propuesta primero cuando los programas
eran tipeadas en tarjetas con una lnea por tarjeta;
Cmo hacer que esto corresponda para estamentos en
Java en la cual se puede medir por palmos de varias
lneas o donde puede haber varios estamentos en una
lnea.
Qu programas deben contarse como parte del sistema?
Este modelo asume que hay una relacin lineal entre el
tamao del sistema y el volumen de la documentacin.
12/05/16
1212
Comparacin de
productividad
A nivel ms bajo del lenguaje, ms productivo el
programador
La misma funcionalidad toma ms cdigo para
implementar en un lenguaje de bajo nivel que en un
lenguaje de alto nivel.
A programador ms verboso, ms alta la productividad
Las medidas de productividad basadas en lneas de
cdigo sugiere que los programadores que escriben
cdigo verboso son ms productivos que escriben
cdigo compactado.
12/05/16
1213
Diseo
Codificacin
Prueba
Documentacin
Cdigo
Assembler
10
semanas
Lenguaje de
alto nivel
6 semanas 2 semanas
Tamao
12/05/16
Esfuerzo
2 semanas
Productividad
Cdigo
Assembler
5000 lneas
28 semanas
Lenguaje de
alto nivel
1500 lneas
20 semanas
1214
Puntos de funcin
12/05/16
1215
Puntos de funcin
El punto de funcin La cuenta del punto de funcin es
modificada por la complejidad del proyecto
Los PFs pueden ser usados para estimar la LDC
dependiendo del promedio del nmero de LDC usadas
por PF de un lenguaje dado
LDC = PRC * nmero de puntos de funcin;
PRC es un factor dependiente del lenguaje que vara
desde 200-300 para el lenguaje Assembler hasta 2-40
para un L4G;
Los PFs son muy subjetivos. Ellos dependen del
estimador
El conteo automtico de los puntos de funcin es
imposible.
12/05/16
1216
Puntos objeto
12/05/16
1217
Estimacin de puntos
objeto
Los
1218
Estimacin de productividad
Sistemas
1219
Soporte
tecnolgico
Ambiente
trabajo
12/05/16
1220
Calidad y productividad
Todas las mtricas basadas en volumen /unidad de
tiempo son defectuosas porque no toman en cuenta
la calidad.
La productividad puede generalmente ser creciente a
costo de la calidad.
No
est claro cmo la las mtricas de
productividad /calidad estn relacionadas.
Si
los
requerimientos
estn
cambiando
constantemente entonces una aproximacin basada
en la cuenta de lneas de cdigo no es significativa
como el propio programa no es esttico.
12/05/16
1221
Tcnicas de estimacin
12/05/16
1222
Cambio de tecnologas
12/05/16
1223
Tcnicas de estimacin
Modelo
de costo algortmico.
Juicio experto.
Estimacin por analoga.
Leyes de Parkinson.
Precio para ganar.
12/05/16
1224
Tcnicas de estimacin
Modelo de costo Un modelo basado en informacin histrica del costo que relaciona alguna
algortmico
mtrica del software (normalmente su tamao) al costo del proyecto es usado.
Una estimacin es hecha de esa mtrica y el modelo predice el esfuerzo
requerido.
Juicio experto
Estimacin
analoga
Leyes
Parkinson
de Los estados de la Ley de Parkinson que el trabajo extiende para llenar el tiempo
disponible. El costo es determinado por los recursos disponibles en lugar de
por la valoracin objetiva. Si el software tiene que ser entregado en 12 meses y
5 personas estn disponibles, el esfuerzo requerido se estima para ser 60
persona-meses.
12/05/16
El costo del software se estima para ser cualquiera que el cliente tiene
disponible para gastar en el proyecto. El esfuerzo estimado depende del
presupuesto del cliente y no de la funcionalidad del software.
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
1225
1226
12/05/16
1227
Estimacin de arriba-abajo
Utilizable
sin el conocimiento de la
arquitectura y los componentes que podran
ser parte del sistema.
Toma en cuenta costos como la integracin,
gestin de configuracin y documentacin.
Puede subestimar el costo de resolver
problemas tcnicos de bajo nivel de
dificultad.
12/05/16
1228
Estimacin de abajo-arriba
Utilizable
1229
Mtodos de estimacin
Cada mtodo tiene fortalezas y debilidades.
La estimacin debe estar basada en varios mtodos.
Si estos no devuelven aproximadamente el mismo
resultado, entonces se tiene insuficiente informacin
disponible para hacer una estimacin.
Alguna accin debe ser tomada para buscar ms en
orden para hacer estimaciones ms exactas.
Precio para ganar es a veces el nico mtodo aplicable.
12/05/16
1230
12/05/16
1231
12/05/16
1232
Exactitud de la estimacin
El
1233
Estimar la Incertidumbre
12/05/16
1234
El modelo COCOMO
Un
1235
COCOMO 81
Complejidad
del proyecto
Frmula
Descripcin
Simple
PM = 2.4(KDSI)1.05xM
Aplicaciones
bien
entendidas
desarrolladas por equipos pequeos.
Moderado
PM = 3.0(KDSI)1.12xM
Empotrado
PM = 3.6(KDSI)1.20xM
12/05/16
1236
COCOMO 2
COCOMO
1237
Modelos de COCOMO 2
12/05/16
1238
Uso de modelos de
COCOMO 2
Nmero
Nmerode
de
puntos
de
puntos de
aplicacin
aplicacin
Basado en
Modelo
Modelode
de
composicin
composicinde
de
aplicacin
aplicacin
Usado por
Nmero
Nmerode
de
puntos
de
puntos de
funcin
funcin
Basado en
Modelo
Modelode
de
diseo
diseo
temprano
temprano
Usado por
Basado en
Modelo
Modelode
de
reuso
reuso
Usado por
Nmero
Nmerode
de
lneas
de
cdigo
lneas de cdigo
reusado
reusadooo
generado
generado
Nmero
Nmerode
de
lneas
de
cdigo
lneas de cdigo
fuente
fuente
12/05/16
Basado en
Modelo
ModeloPostPostarquitectnico
arquitectnico
Usado por
Desarrollo
Desarrollo de
desistemas
sistemas
prototipo
usando
prototipo usando
guiones
guionesyy
programacin
programacinde
deBD
BD
Estimacin
Estimacindel
del
esfuerzo
inicial
basado
esfuerzo inicial basado
en
enrequerimientos
requerimientosdel
del
sistema
y
opciones
de
sistema y opciones de
diseo
diseo
Esfuerzo
Esfuerzopara
paraintegrar
integrar
componentes
componentes
reusables
reusablesoocdigo
cdigo
generado
generado
automticamente
automticamente
Desarrollo
Desarrollo de
deesfuerzo
esfuerzo
basado
en
basado enlala
especificacin
especificacinde
de
diseo
de
sistemas
diseo de sistemas
1239
Modelo de composicin
de aplicacin
Soporta proyectos de prototipado y proyectos donde hay
ruso extensivo.
Basado en estimaciones estndares de productividad de
desarrollador en aplicacin (objeto) puntos/mes.
Toma en cuenta el uso de herramienta CASE.
La frmula es
PM = ( NPA (1 - %reuso/100 ) ) / PROD
12/05/16
1240
Baja
Nominal
Alto
Muy alto
Madurez y
Muy
capacidad del alta
ICASE
Baja
Nominal
Alto
Muy alto
PROD
(NPO/mes)
13
25
50
12/05/16
1241
12/05/16
1242
Multiplicadores
12/05/16
1243
El modelo de reuso
Toma en cuenta el cdigo de caja negra que es
reusado sin cambio y cdigo que ha sido adaptado
para integrarlo con el nuevo cdigo.
Hay dos versiones:
El reuso de caja negra donde el cdigo no es
modificado. Una estimacin del esfuerzo (PM) es
computada.
El reuso de caja blanca donde el cdigo es
modificado. Una estimacin de tamao equivalente
para el nmero de lneas de nuevo cdigo fuente es
computada. Esto ajusta, entonces, la estimacin del
tamao para el nuevo cdigo.
12/05/16
1244
12/05/16
el cdigo generado:
PM = (ASLOC * AT/100)/ATPROD
ASLOC es el nmero de lneas de cdigo
generado.
AT
es
el
porcentaje
de
cdigo
automticamente generado.
ATPROD es la productividad de los ingenieros
en la integracin de este cdigo.
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
1245
12/05/16
1246
Nivel post-arquitectnico
Se usa la misma frmula del diseo temprano pero
con 17 en lugar de 7 multiplicadores asociados.
El tamao del cdigo es estimado como:
Nmero de lneas de cdigo a ser desarrollado
Estimar el nmero equivalente de lneas de nuevo
cdigo computado usando el modelo de reuso;
Una estimacin del nmero de lneas de cdigo
que tienen que ser modificados de acuerdo al
cambio de requerimientos.
12/05/16
1247
El trmino exponente
12/05/16
1248
Factores de equilibrio de
exponente
Precedente
Flexibilidad
de desarrollo
Resolucin
arquitectura/
riesgo
Cohesin
equipo
Madurez
proceso
12/05/16
Las medias muy bajos indican interacciones muy difciles. Las medias
extras altas indican un equipo integrado y efectivo sin los problemas de
comunicacin.
valor depende de la encuesta de madurez del MMC, pero una
estimacin puede lograrse substrayendo el proceso de madurez MMC
del nivel 5.
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
1249
Multiplicadores
12/05/16
1250
Efectos de manejadores de
costo
Valor del exponente
1.17
Complejidad
Restricciones de memoria
Uso de herramienta
Planificacin
2306 personas-mes
Confiabilidad
Complejidad
Restricciones de memoria
Ninguna, multiplicador =1
Uso de herramienta
Planificacin
12/05/16
Normal, multiplicador = 1
295 personas-mes
1251
12/05/16
1252
Opciones de gestin
A.
A.Uso
Usode
dehardware
hardware
existente,
desarrollo
existente, desarrollo
del
delsistema
sistemayydesarrollo
desarrollo
del
equipo
del equipo
B.
B.Procesador
Procesadoryymemoria
memoria
actualizada
actualizada
Aumento
Aumentodel
delcosto
costode
dehardware
hardware
Decrece
Decreceexperiencia
experiencia
E.
E.Nuevo
Nuevodesarrollo
desarrollodel
delsistema
sistema
Aumento
Aumentodel
delcosto
costode
dehardware
hardware
B.
B.Memoria
Memoriaactualizada
actualizada
solamente
solamente
Aumento
Aumento del
del costo
costo de
de
hardware
hardware
D.
D.Personal
Personalde
de
mayor
experiencia
mayor experiencia
F.F.Personal
Personalcon
con
experiencia
en
hardware
experiencia en hardware
Decrece
Decreceexperiencia
experiencia
12/05/16
1253
CONF ALMAC
TIEMP
O
HERRA LTEX
Esfuerzo
total
Costo
software
Costo
hardware
Costo
total
1.39
1.06
1.11
0.86
63
949399
100000
1049393
1.39
1.12
1.22
88
1313550
120000
1402025
1.39
1.11
0.86
60
895653
105000
1000635
1.39
1.06
1.11
0.86
0.84
51
769008
100000
897490
1.39
0.72
1.22
56
844425
220000
1044159
1.39
1.12
0.84
57
851180
120000
1002706
12/05/16
1254
Elegir opcin
Opcin D (usar personal ms experimentado)
parece la mejor alternativa
Sin embargo, tiene un alto riesgo asociado puesto
que el personal experimentado puede ser difcil de
encontrar.
Opcin C (memoria actualizada) tiene un bajo costo
que ahorra, pero el riesgo es muy bajo.
En conjunto, el modelo revela la importancia de la
experiencia del personal en el desarrollo del
software.
12/05/16
1255
12/05/16
1256
Requerimientos de
provisin de personal
El personal requerido no puede calcularse
sumergindose en el tiempo de desarrollo de la
planificacin requerida.
El nmero de personas que trabajan en un proyecto
vara dependiendo de la fase de un proyecto.
A ms personas que trabajan en un proyecto, ms
esfuerzo total es normalmente requerido.
Un aumento muy rpido de personas a menudo
pone en relacin con el desprendimiento de la
planificacin.
12/05/16
1257
Puntos clave
No hay una simple relacin entre el precio cobrado
para un sistema y sus costos de desarrollo.
Los factores que afectan la productividad incluyen la
aptitud individual, experiencia en el dominio, el
proyecto de desarrollo, el tamao del proyecto,
soporte de herramientas y el ambiente de
desarrollo.
El software puede ser preciado para ganar un
contrato y la funcionalidad ajustada para el precio.
12/05/16
1258
Puntos clave
Tcnicas diferentes de estimacin del costo sern
usadas cuando se estimen costos.
El modelo COCOMO toma en cuenta el proyecto,
producto, personal y atributos del hardware cuando
predice el esfuerzo requerido.
El modelo de costos algortmico soporta el anlisis de
opcin cuantitativa de modo que permite comparar los
costos de diferentes opciones.
El tiempo para completar un proyecto no es
proporcional para el nmero de personas que trabajan
en el proyecto.
12/05/16
1259
Captulo 26
Gestin de
calidad
12/05/16
1260
Objetivos
Introducir el proceso de gestin y actividades de
gestin de calidad claves
Explicar el rol de los estndares en la gestin de
calidad
Explicar el concepto de mtrica del software,
mtricas de prediccin y mtricas de control
Explicar cmo la medida puede ser usada en la
evaluacin del software y las limitaciones de la
medida del software
12/05/16
1261
Tpicos cubiertos
Calidad
1262
1263
Qu es la calidad?
12/05/16
1264
El compromiso de la
calidad
Nosotros
1265
Alcance de la gestin de
calidad
La
1266
Actividades de gestin de
calidad
La certidumbre de calidad
Establecer procedimientos organizacionales y estndares
para la calidad.
Planificacin de calidad
Seleccionar procedimientos aplicables y estndares para
un proyecto particular y modificar estos como es requerido.
Control de calidad
Asegurar que los procedimientos y estndares sean
seguidas por el equipo de desarrollo de software.
La gestin de calidad debe estar separada de la gestin del
proyecto para asegurar la independencia.
12/05/16
1267
Gestin de calidad y
desarrollo de software
Proceso de
desarrollo del
software
D1
D2
D3
D4
D5
Proceso de
gestin de
calidad
Estndares y
procesos
12/05/16
Plan de
calidad
Informes de revisin
de calidad
1268
1269
12/05/16
1270
Definir
Definirelel
proceso
proceso
Proceso
Procesode
de
mejora
mejora
12/05/16
Acceder
Accederlala
calidad
calidaddel
del
producto
producto
Desarrollar
Desarrollar
elelproducto
producto
No
Calidad
Calidad
OK
OK
Si
Proceso
Procesode
de
estandarizacin
estandarizacin
1271
1272
Certidumbre de la calidad
y estndares
Los
1273
1274
de
lanzamiento
de
del
plan
proceso
1275
1276
Desarrollo de estndares
Involucrar a los practicantes en el desarrollo. Los
ingenieros deben entender la razn que est debajo
de un estndar.
Revisar estndares y su uso regularmente. Los
estndares pueden rpidamente volverse anticuadas
y esto reduce su credibilidad entre los practicantes.
Los estndares detalladas deben tener asociadas
herramientas de soporte. El excesivo trabajo de
oficina es la ms significativa queja contra los
estndares.
12/05/16
1277
ISO 9000
Un
1278
ISO 9001
Responsabilidad de gestin
Control
de
conformes
productos
Sistema de calidad
no Control de diseo
Manejo,
almacenamiento, Compra
empaquetamiento y entrega
Productos proporcionados por Identificacin
el comprador
trazabilidad
del
producto
Inspeccin y prueba
Accin correctiva
Registros de calidad
Entrenamiento
Reparacin
Tcnicas estadsticas
12/05/16
1279
estndares
de
calidad
y
procedimientos deben ser documentados
en un manual de calidad organizacional.
Un cuerpo puede certificar que el manual
de calidad de la organizacional conforme a
los estndares ISO 9000.
Algunos
clientes demandan a los
proveedores
que
sean
ISO
9000
certificados aunque la necesidad de
flexibilidad aqu se reconoce cada vez ms.
12/05/16
1280
Instanciado como
Manual
Manualde
decalidad
calidad
de
la
organizacin
de la organizacin
Documentos
Instanciado como
Es usado para
desarrollo
Plan
Plande
decalidad
calidad
del
Proyecto
del Proyecto11
Plan
Plande
decalidad
calidad
del
Proyecto
del Proyecto22
Proceso
Procesode
de
calidad
de
calidad delala
organizacin
organizacin
Plan
Plande
decalidad
calidad
del
Proyecto
del Proyecto33
Gestin
Gestinde
de
calidad
del
calidad del
proyecto
proyecto
Soportes
12/05/16
1281
Estndares de documentacin
12/05/16
1282
Proceso de documentacin
Crear
Crearboceto
boceto
inicial
inicial
Fase 1:
Creacin
Corregir
Corregirtexto
texto
Fase 1:
Publicacin
Configurar
Configurar
texto
texto
Fase 3:
Produccin
12/05/16
Revisar
Revisar
boceto
boceto
Incorporara
Incorporara
comentarios
comentarios
de
derevisin
revisin
Rebosquejar
Rebosquejar
documento
documento
Documento aprobado
Producir
Producir
boceto
bocetofinal
final
Chequear
Chequear
boceto
bocetofinal
final
Documento aprobado
Revisar
Revisar
esquema
esquema
Producir
Producirde
de
matrices
de
matrices de
impresin
impresin
Imprimir
Imprimir
copias
copias
1283
Estndares de documento
Documentar estndares de identificacin
Como
son singularmente identificados los
documentos.
Documentar estndares de estructuras
Estructura estndar para documentos del proyecto.
Documentar estndares de presentacin
Define fuentes y estilos, use de logotipos, etc.
Documentar estndares de actualizacin
Define cmo cambian las versiones previas y se
reflejan en un documento.
12/05/16
1284
Estndares de intercambio
de documentos
12/05/16
1285
Planificacin de calidad
Un
1286
Planes de calidad
Estructura del plan de calidad
Introduccin del producto;
Planes del producto;
Descripciones del proceso;
Metas de calidad;
Riesgos y gestin de riesgos.
Planes de calidad deben ser documentos cortos,
sucintos
Si ellos son demasiado largos, nadie los leer
12/05/16
1287
Comprensibilidad
Portabilidad
Seguridad contra
delitos
Comprobabilidad
Usabilidad
Fiabilidad
Adaptabilidad
Reusabilidad
Elasticidad
Modularidad
Eficiencia
Robustez
Complejidad
Aprendebilidad
12/05/16
1288
Control de calidad
Esto
1289
Revisiones de calidad
Es el principal mtodo de validacin de calidad de un
proceso o producto.
Un grupo examina parte o todo de un proceso o
sistema y su documentacin para encontrar
problemas potenciales.
Hay diferentes tipos de revisin y con diferentes
objetivos
Inspecciones para remover defectos (producto);
Revisiones
para la valoracin del progreso
(producto y proceso);
Revisiones de calidad (producto y proceso).
12/05/16
1290
Tipos de revisin
Tipos de
revisin
Propsito principal
Revisiones
de calidad
12/05/16
1291
Revisiones de calidad
Un grupo de gente examina cuidadosamente parte o
todo un sistema de software y la documentacin
asociada.
Cdigo, diseos, especificaciones, planes de prueba,
estndares, etc., pueden todos ser revisados.
El software o documentos pueden ser fuera de
contrato en una revisin que significa que ese
progreso para la prxima fase de desarrollo, ha sido
aceptado por la direccin.
12/05/16
1292
Funciones de revisin
Funcin
1293
Revisiones de calidad
El
1294
Resultados de la revisin
12/05/16
1295
12/05/16
1296
12/05/16
1297
Producto
Producto
software
software
Medidas
Medidasde
de
control
control
Medidas
Medidasde
de
prediccin
prediccin
Decisiones
Decisiones
de
degestin
gestin
12/05/16
1298
Asunciones de mtricas
Una
1299
12/05/16
Nmero
Nmerode
deparmetros
parmetros
de
deprocedimiento
procedimiento
Complejidad
Complejidad
ciclomtica
ciclomtica
Tamao
Tamaodel
delprograma
programa
en
enlneas
lneasde
decdigo
cdigo
Nmero
Nmerode
demensajes
mensajes
de
deerror
error
Longitud
Longitudde
demanual
manual
del
delusuario
usuario
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
1300
El proceso de medida
Un
1301
Elegir
Elegirmedidas
medidas
aaser
serhechas
hechas
Seleccionar
Seleccionar
componentes
componentes
ser
serevaluadas
evaluadas
Identificar
Identificar
medidas
medidas
anmalas
anmalas
Medir
Medir
caractersticas
caractersticasde
de
componentes
componentes
12/05/16
1302
Recoleccin de datos
Un
1303
La exactitud de datos
No
1304
12/05/16
1305
Mtricas dinmicas y
estticas
Las mtricas dinmicas estn estrechamente
relacionadas a los atributos de calidad del software
Es relativamente fcil para medir el tempo de
respuesta de un sistema (atributo de desempeo)
o el nmero de fallas (atributo de fiabilidad).
La mtricas dinmicas tienen un relacin indirecta
con los atributos de calidad
Se necesita intentar y derivar una interrelacin
entre estas mtricas y propiedades como la
complejidad, comprensibilidad y mantenibilidad.
12/05/16
1306
Descripcin
Fan-in /Fan-out
Fan-in es una medida del nmero de funciones o mtodos que llaman alguna otra
funcin o mtodo (digamos X). Fan-out es el nmero de funciones que son
llamadas por la funcin X. Un alto valor para fan-in significa que X se acopla
hermticamente al resto del diseo y los cambios para X tendrn extenso golpe
en los efectos. Un alto valor para Fan-out sugiere que la complejidad global de X
puede ser alta debido a la complejidad de la lgica del control necesario para
coordinar los componentes llamados.
sta es una medida del tamao de programa. Es probable que esta sea, la ms
grande de tamaos de cdigo de un componente, ea ms compleja y propensa a
error. La longitud de cdigo ha mostrado ser una de las mtricas ms fiables por
predecir la propensin a error de los componentes.
Complejidad
ciclomtica
Longitud
identificadores
de
Profundidad
de
anidacin condicional
ndices Fog
12/05/16
1307
Mtricas orientadas al
objeto
Mtricas orientadas al
objeto
Descripcin
Profundidad del rbol Esta representa el nmero de niveles discretos en el rbol de la herencia
de herencia
dnde las subclases heredan atributos y operaciones (mtodos) de las
superclases. El ms profundo rbol de herencia, el ms complejo del
diseo. Muchas clases de objetos diferentes pueden tener que ser
entendidas para entenderlas clases de objetos en las hojas del rbol.
Mtodo
out
Fan-in
Mtodos pesados por Esta es el nmero de mtodos que son incluidos en una clase pesada por
la clase
la complejidad de cada mtodo. Por consiguiente, un mtodo simple
puede tener una complejidad de 1 y un mtodo grande y complejo un
valor mucho ms alto. El ms grande el valor para este mtrica, el ms
complejo la clase de objetos. Los objetos complejos son ms
probablemente difciles de entender. Ellos no pueden ser lgicamente
cohesivos de modo que no puede reusarse eficazmente como las
superclases en un rbol de herencia.
Nmero
operaciones
desborde
12/05/16
1308
Anlisis de la medida
No
1309
Sorpresas de la medida
12/05/16
1310
Puntos clave
La gestin de calidad del software se preocupa por
asegurar que ese software rene sus estndares
requeridos.
Los procedimientos de certidumbre de calidad deben
ser documentados en un manual de calidad
organizacional
Los estndares son un encapsulamiento de la mejor
prctica.
Las revisiones son las ms ampliamente usadas
aproximaciones para evaluar la calidad del software
12/05/16
1311
Puntos clave
La
1312
Captulo 27
Mejora del
proceso
12/05/16
1313
Objetivos
Explicar
software
Explicar cmo los factores del proceso de
software influyen en la calidad del software y la
productividad
Explicar cmo desarrollar los modelos simples de
desarrollo de software
Explicar la nocin de capacidad del proceso en el
modelo de mejora del proceso MCMI
12/05/16
1314
Tpicos cubiertos
Calidad
1315
1316
Descripcin
Comprensibilidad
Visibilidad
Soportabilidad
Aceptabilidad
Fiabilidad
Robustez
Mantenibilidad
Rapidez
12/05/16
1317
Anlisis
Anlisis
Cambio
Cambio
12/05/16
1318
12/05/16
1319
12/05/16
1320
Factores de calidad de
producto principales
Tecnologa de
desarrollo
Calidad
del
proceso
Calidad del
producto
Calidad
de la
gente
Costo, tiempo y
calendario
12/05/16
1321
Factores de calidad
Para
1322
12/05/16
Informal
Ningn modelo de proceso detallado. El equipo de desarrollo
elige su propia manera de trabajo.
Manejado
Un modelo de proceso definido que maneja el proceso de
desarrollo.
Metdico
Procesos apoyados por algn mtodo de desarrollo como el
RUP.
Apoyado
Proceso apoyado por herramientas CASE automatizadas.
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
1323
Proceso
Proceso
manejado
manejado
Proceso
Proceso
metdico
metdico
12/05/16
Sistemas
Sistemasde
detiempo
tiempode
devida
vidacortos
cortos
Sistemas
Sistemasde
denegocios
negocios L4G
L4G
Sistemas
Sistemasde
detamao
tamaopequeo/mediano
pequeo/mediano
Sistemas
Sistemasgrandes
grandes
Productos
Productosde
detiempo
tiempode
devida
vidalargo
largo
Dominios
Dominiosde
deaplicacin
aplicacinbien
bien
entendidos
entendidos
Sistemas
Sistemasde
dereingienera
reingienera
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
1324
Elegir proceso
El proceso usado debe depender del tipo de producto que se est
desarrollando
Para grandes sistemas, la gestin es normalmente el principal
problema que se necesita para un proceso estrictamente manejado;
Para pequeos sistemas, ms informalidad es posible.
No hay ningn proceso uniformemente aplicable que pueda ser
estandarizado dentro de una organizacin
Puede incurrirse en altos costos si se fuerza un proceso inapropiado
a un equipo de desarrollo;
Mtodos inapropiados puede tambin incrementar los costos y
pueden llevar a reducir la calidad.
12/05/16
1325
Soporte de herramientas
del proceso
Proceso
Proceso
informal
informal
Herramientas
genricas
12/05/16
Proceso
Proceso
manejado
manejado
Herramientas
de gestin de
configuracin
Proceso
Proceso
metdico
metdico
Herramientas
de gestin de
proyecto
Anlisis y
bancos de
trabajo del
diseo
Proceso
Procesode
de
mejora
mejora
Herramientas
especializadas
1326
12/05/16
1327
1328
Paradigma Meta-PreguntaMtrica
Metas
Qu
est probando la organizacin para
lograr? El objetivo de mejora del proceso es
satisfacer estas metas.
Preguntas
Las preguntas sobre las reas de incertidumbre
relacionadas a las metas. Se necesita el
conocimiento del proceso para derivar stas.
Mtricas
Las medidas a ser recolectadas para responder
las preguntas.
12/05/16
1329
del proceso
El estudio de
procesos existentes para
entender las interrelaciones entre las partes de
un proceso y compararlos con otros procesos.
Modelamiento del proceso
La documentacin de un proceso que registra
las tareas, los roles y las entidades usadas;
Los modelos de proceso pueden presentarse
desde diferentes perspectivas.
12/05/16
1330
12/05/16
1331
12/05/16
1332
Entregable
Un entregable es una salida tangible de una actividad que es
(mostrado como un predecida en un plan del proyecto.
rectngulo con sombra)
Condicin
(mostrada como
paralelogramo)
12/05/16
1333
Comunicacin
Un intercambio de informacin entre las personas o entre
(mostrada como una las personas y los sistemas de computadora de soporte.
Las comunicaciones pueden ser informales o formales. Las
flecha)
comunicaciones formales podran ser la aprobacin de un
entregable por un gerente del proyecto; las comunicaciones
informales podran ser el intercambio de correo electrnico
para resolverse las ambigedades en un documento.
12/05/16
1334
El mdulo de actividad de
prueba
Rol
Ingenier
Ingenier
oode
de
prueba
prueba
Pre-condicin
El
Elmdulo
mdulocompila
compila
sin
errores
sin erroresde
de
sintaxis
sintaxis
Entrada
Especificacin
Especificacin
del
delmdulo
mdulo
12/05/16
Responsable
de
Prueba
Pruebade
de
mdulo
mdulo
Post-condicin
Todas
Todaslas
laspruebas
pruebas
definidas
definidas
ejecutan
ejecutanen
enelel
mdulo
mdulo
Salidas
Firmado
Firmadofuera
fueradel
del
registro
de
prueba
registro de prueba
Proceso
Datos
Datosde
deprueba
prueba
del
mdulo
del mdulo
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
1335
Preparar datos de
prueba de acuerdo
a la especificacin
Someter datos
de prueba a
revisin
Revisar datos
de prueba
Leer y
comprender la
interfaz del
mdulo
Preparar partes
de prueba para el
mdulo
Compilar las
partes de
prueba
EJECUCION DE PRUEBA
Incorporar mdulo
con sus partes de
prueba
Ejecutar las
pruebas
aprobadas del
mdulos
Registrar los
resultados de pruebas
para pruebas de
regresin
INFORME DE PRUEBA
Escribir informe de pruebas
de mdulo incluyendo
detalles de descubrimiento
de problemas
12/05/16
Someter informe a
aprobacin
Someter
resultados de
prueba a CM
1336
12/05/16
1337
12/05/16
1338
Identificar
mejoras
Introducir
cambios de
proceso
Priorizar
mejoras
Afinar
cambios de
proceso
Entrenar
ingenieros
Modelo del
proceso
12/05/16
Plan de
cambio del
proceso
Plan de
entrenamiento
Retroalimentacin
en mejoras
Modelo del
proceso
revisado
1339
de mejora.
Priorizacin de mejora.
Introduccin de cambio de proceso.
Entrenamiento de
cambio de
proceso.
Afinamiento del cambio
12/05/16
1340
La armazn de CMMI
12/05/16
1341
Valoracin de la
capacidad del proceso
Pensado
1342
El modelo de madurez de
capacidad del SEI
12/05/16
Inicial
Esencialmente incontrolado
Repetible
Procedimientos de gestin del producto definidos y usados
Definido
Procedimientos de gestin del proceso y estrategias
definidas y usadas
Manejado
Estrategias ge gestin de calidad definidas y usadas
Optimizado
Estrategias de mejora del proceso definidas y usadas
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
1343
12/05/16
1344
El modelo CMMI
Un
1345
reas de proceso
24 reas de proceso que son relevantes para
capacidad de proceso y mejora han sido identificadas.
Estos son organizados en 4 grupos.
Metas
Las metas son descripciones de estados deseables de
la organizacin. Cada rea de proceso tiene metas
asociada.
Prcticas
Las prcticas son maneras de alcanzar una meta sin
embargo ellos son asesores y otras aproximaciones
para alcanzar las metas pueden ser usadas.
12/05/16
1346
12/05/16
Gestin de procesos
Gestin de proyectos
1347
Gestin de requerimientos
Desarrollo de requerimientos
Solucin tcnica
Integracin del producto
Verificacin
Validacin
Soporte
Gestin de configuracin
Gestin de calidad del proceso y el
producto
Medida y anlisis
Anlisis de decisin y resolucin
Ambiente organizacional para integracin
Anlisis causal y resolucin
12/05/16
1348
Metas de CMMI
Meta
rea de proceso
Las
acciones
correctivas
son Meta especfica en el Proyecto.
manejadas para el cierre cuando la Monitoreo y Control.
actuacin del proyecto o los resultados
se desvan significativamente del plan.
El desempeo real y el progreso del La meta especfica en proyecto que supervisa y
proyecto es supervisado contra el plan controla.
del proyecto.
Los requerimientos son analizados y La meta especfica
validados y una definicin de la requerimientos.
funcionalidad requerida se desarrolla.
en
el
desarrollo
de
1349
Prcticas CMMI
Prctica
Meta asociada
se
un
1350
12/05/16
1351
El modelo CMMI
organizado
Comparable
12/05/16
Gestin de requerimientos;
Planificacin de proyectos;
Monitoreo del proyecto y control;
La gestin de acuerdo al proveedor;
Medida y anlisis;
Certidumbre de calidad del proceso y el producto.
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
1352
12/05/16
1353
Prcticas institucionales
12/05/16
1354
12/05/16
1355
12/05/16
1356
Puntos clave
La mejora del proceso involucra anlisis del
proceso, estandarizacin, medida y cambio.
Los procesos pueden ser clasificados como
informal, manejado, metdico y mejorado. Esta
clasificacin puede usarse para identificar el apoyo
de herramienta de proceso.
El ciclo de mejora de proceso involucra medida del
proceso, anlisis del proceso y cambio del proceso.
La medida del proceso debe ser usado para
contestar las preguntas especficas del proceso ,
basado en las metas de mejora organizacional.
12/05/16
1357
Puntos clave
12/05/16
1358
Captulo 28
Gestin de
configuracin
12/05/16
1359
Objetivos
Explicar
la importancia de la gestin de
configuracin del software (CM)
Describir las actividades clave de CM a saber
planificacin CM, gestin de cambio, gestin
de versin y construccin del sistema
Discutir el uso de herramientas CASE para
dar soporte a los procesos de gestin de
configuracin
12/05/16
1360
Tpicos cubiertos
Planificacin
de
gestin
de
configuracin
Gestin de cambio
Gestin de versin y lanzamiento
Construccin del sistema
Herramientas CASE para gestin de
configuracin
12/05/16
1361
Gestin de configuracin
12/05/16
1362
Gestin de configuracin
Involucra
el desarrollo y aplicacin de
procedimientos y estndares para manejar y
evolucionar un producto de software.
CM puede ser visto como parte un proceso ms
general de gestin de calidad.
Cuando es lanzado para CM, los sistemas de
software son a veces llamadas lneas de base
puesto que ellos son un punto de partida para el
desarrollo extenso.
12/05/16
1363
Familias de sistemas
Versin
Versin
PC
PC
Versin
Versin
HP
HP
Sistema
Sistema
inicial
inicial
Versin
Versin
PC
PC
Versin
Versin
WindowsXP
XP
Windows
Versin
Versin
Servidor
Servidor
VersinLinux
Linux
Versin
Versin
Versin
Sun
Sun
12/05/16
1364
Estndares CM
CM siempre debe estar basado en un conjunto de
estndares que son aplicados dentro de una
organizacin.
Los estndares deben definir cmo se identifican los
artculos y cmo son controlados los cambios y con son
manejadas las nuevas versiones.
Los estndares pueden estar basados en estndares
externos de CM (Por ejemplo, estndares IEEE para
CM).
Algunos estndares existentes estn basados en un
modelo de proceso de cascada los nuevos estndares
CM son necesitados para el desarrollo evolutivo.
12/05/16
1365
Desarrollo concurrente y
prueba
Una
1366
Construccin de un
sistema frecuente
Es
1367
Planificacin de la gestin de
configuracin
Todos
1368
El plan CM
Definir
12/05/16
1369
El plan CM
Describir
1370
12/05/16
PCL-TOOLS/EDIT/FORMS/DISPLAY/AST-INTERFACE/CODE
Ing. Otoniel Silva Delgado - Ing. Ivan Pino Tellera
1371
Jerarqua de configuracin
PCL TOOLS
COMPILE
EDIT
BIND
MAKEGEN
FORM STRUCTURE
DISPLAY
FORM - SPECS
12/05/16
QUERY
AST - INTERFACE
OBJECTS
CODE
HELP
FORM - IO
TESTS
1372
La base de datos de la
configuracin
12/05/16
1373
Implementacin de la
base de datos de CM
Puede
1374
1375
12/05/16
1376
Formulario de demanda
de cambio
La definicin de una forma de demanda de cambio
es parte del proceso de planificacin de CM.
Esta
forma registra el cambio propuesto, el
demandador de cambio, la razn de por qu el
cambio fue sugerido y la urgencia del cambio (desde
el demandador del cambio).
Tambin registra la evaluacin del cambio, el anlisis
del impacto, costo del cambio y recomendaciones
(personal de mantenimiento del cambio).
12/05/16
1377
Formulario de demanda de
cambio
Formulario de demanda del cambio
Proyecto: Proteus /PCL-Tools
Nmero: 23/02
Demandador de cambio: I. Somerville
Fecha: 01/12/06
Demanda de cambio: Cuando el componente es seleccionado desde la estructura,
despliega el nombre del archivo donde est almacenado.
Analizador de cambio: G. Dean
Fecha del anlisis: 10/12/06
Componentes afectados: Display-Icon-Select, Display-Icon-Display
Componente asociado: Tabla Archivo
Valoracin del cambio: Relativamente simple de implementar puesto que una tabal de
nombre archivo esta disponible. Requiere el diseo e implementacin de un campo de
despliegue. No son requeridos cambios para asociar componentes.
Prioridad del cambio: Bajo
Implementacin del cambio:
Esfuerzo estimado: 0.5 das,
Fecha para CCB: 15/02/02
Fecha de demanda de CCB: 01/02/03
Implementador del cambio:
Fecha de cambio:
Fecha sometida a QA:
Decisin QA:
Fecha sometida a CM:
Comentarios
12/05/16
1378
Herramientas de rastreo
de cambio
Un
1379
Tablero de control de
cambio
Los cambios deben ser revisados por un grupo
externo que decide si ellos son o no rentables desde
un punto de vista estratgico y organizacional en
lugar de un punto de vista tcnica.
Debe
ser independiente del responsable del
proyecto para el sistema. El grupo es a veces
llamado tablero de control de cambio.
El CCB puede incluir a representantes del cliente y
del personal del contratista.
12/05/16
1380
Historia de la derivacin
Este
1381
Modificador
/ / 1.0
J. Jones
1/12/2002
Agrega ttulo
Sometido al CM
/ / 1.1
N. Perwaiz
9/4/2003
Nuevo campo
12/05/16
Fecha
Cambio
Razn
1382
Versin y gestin de
lanzamiento
Inventar
1383
Versiones/variantes/
lanzamientos
Versin
es
de
es
no
es
de
1384
Identificacin de la versin
Los
1385
Enumeracin de la versin
El
1386
Estructura de derivacin
de la versin
1.0
VV1.0
1.1b
VV1.1b
1.1.1
VV1.1.1
1.1
VV1.1
1.2
VV1.2
2.0
VV2.0
2.1
VV2.1
2.2
VV2.2
1.1a
VV1.1a
12/05/16
1387
Identificacin basada en
atributo
12/05/16
1388
Consultas basadas en
atributo
Una
1389
Identificacin orientada a
cambio
Integra las versiones y los cambios hechos para crear
esas versiones.
Usados por sistemas en lugar de los componentes.
Cada cambio propuesto tiene un conjunto de cambios que
describen cambios hechos para implementar ese cambio.
Los conjuntos de cambios son aplicados en secuencia
para que, en principio, una versin de un sistema que
incorpora un conjunto arbitrario de cambios pueda ser
creada.
12/05/16
1390
Gestin de lanzamiento
Los
1391
12/05/16
1392
Problemas de lanzamiento
El
1393
Hacer la decisin de
lanzamiento
La
preparacin y la distribucin un
lanzamiento del sistema es un proceso
expansivo.
Los factores como la calidad tcnica del
sistema, competencia, requerimientos de
comercializacin, y demandas de cambio del
usuario tienen todos influencia en la decisin
de cuando emitir un nuevo lanzamiento del
sistema.
12/05/16
1394
Estrategia de lanzamiento
de sistema
Factor
Calidad
sistema
tcnica
Descripcin
del
Si las fallas del sistema serias qu afectan la manera en que muchos clientes
usan el sistema son reportadas, puede ser necesario emitir un lanzamiento de
reparacin de la falla. Sin embargo, las fallas del sistema menores pueden ser
reparadas emitiendo los parches (a menudo distribuidas en Internet) que
pueden aplicarse al lanzamiento actual del sistema.
Cambios de plataforma
Se puede tener que crear una nueva versin de una aplicacin del software
cuando una nueva versin de la plataforma del sistema operativo es lanzada.
Competencia
Requerimientos
comercializacin
de
Para los sistemas personalizados, los clientes pueden haber hecho y pagado
por un conjunto especfico de propuestas de cambio del sistema y ellos
esperan un lanzamiento del sistema en cuanto stos se hayan implementado.
12/05/16
1395
12/05/16
1396
1397
Problemas de
construccin del sistema
Las instrucciones de construccin incluyen todos los componentes
requeridos?
Cuando hay muchos cientos de componentes que constituyen un
sistema, es fcil de encontrar uno afuera. Esto normalmente
debe ser detectado por el enlazador.
Es la versin de componente apropiada especificada?
Un problema ms significativa. Un sistema construido con una
mala versin puede trabajar inicialmente pero falla antes de la
entrega.
Estn todos los archivos de datos disponibles?
La estructuran debe confiar en archivos de datos estndar . Los
estndares varan de lugar a lugar.
12/05/16
1398
Problemas de
construccin del sistema
Son los archivos de datos las referencias dentro de los
componentes correctos?
Los nombres absolutos empotrados en el cdigo casi siempre
causan problemas como las convenciones de denominacin que
difieren de lugar a lugar.
Est construyndose el sistema para la plataforma correcta?
A veces se debe construir para una versin de SO especfico o
una configuracin de hardware.
Estn la versin correcta del compilador y otras herramientas de
software especificadas?
Diferentes versiones de compilador pueden generar ahora
diferente cdigo y los componentes compilados exhibirn diferente
comportamiento.
12/05/16
1399
Constructor
Constructor
delsistema
sistema
del
Construir
Construir
guin
guin
12/05/16
Sistemade
de
Sistema
gestinde
de
gestin
versin
versin
Compiladores
Compiladores
Versionesde
de
Versiones
componentede
de
componente
cdigofuente
fuente
cdigo
Enlazador
Enlazador
Componentes
Componentes
decdigo
cdigo
de
fuente
fuente
Cdigo
Cdigo
ejecutable
ejecutable
1400
12/05/16
1401
Bancos de trabajo CM
Bancos
de trabajo abiertos
Las herramientas de cada estado en el proceso
CM son integradas a travs de procedimientos
organizacionales y guiones. Dan la flexibilidad
en la seleccin de herramientas.
Bancos de trabajo integrados
Proporcionan
procesos
enteros,
soporte
integrado para gestin de configuracin. Ms
herramientas hermticamente
integradas
fciles de usar. Sin embargo, el costo es menos
flexible en las herramientas usadas.
12/05/16
1402
Herramientas de gestin
de cambio
La gestin de cambio es un proceso procedural de modo que
puede ser modelado e integrado con un sistema de gestin de
versin.
Herramientas de gestin de cambio
Editor de formulario para apoyar procesando los formularios
de demanda de cambios;
Sistema de flujo de trabajo para definir quin hace qu y para
automatizar la transferencia de informacin;
Cambian la base de datos que maneja propuestas de cambio
y es ligada para un sistema VM;
Cambian sistemas de reporte que generan informes de
gestin en los estados de demanda de cambio.
12/05/16
1403
Herramientas de gestin
de versin
12/05/16
1404
Versin
Versin
1.1
1.1
DD11
Versin1.3
1.3
Versin
Versin1.2
1.2
Versin
DD22
DD33
Datos de creacin
12/05/16
1405
12/05/16
1406
Dependencia de
componentes
comp
comp
scan.0
scan.0
scan.0
scan.0
syn.0
syn.0
syn.0
syn.0
sem.0
sem.0
sem.0
sem.0
cgen.0
cgen.0
cgen.0
cgen.0
defs.h
defs.h
12/05/16
1407
Puntos clave
La gestin de configuracin es la gestin de cambios
del sistema para productos del software.
Un esquema de denominacin de documento formal
debe ser establecida y los documentos deben ser
manejados en una base de datos.
La base de datos de configuracin debe registrar la
informacin acerca de los cambios y demandas de
cambios.
Un esquema consistente de identificacin de versin
debe ser establecida usando nmeros, atributos o
conjuntos de cambios .
12/05/16
1408
Puntos clave
Los lanzamientos del sistema incluyen cdigo
ejecutable, datos, archivos de configuracin y
documentacin.
La construccin del sistema involucra componentes
ensamblados dentro del sistema ..
Las herramientas CASE estn disponibles para
apoyar todas las actividades CM
Las herramientas CASE pueden ser herramientas
autosuficientes o pueden ser sistemas integrados que
integran apoyo para la gestin de versin,
construccin del sistema y gestin de cambios.
12/05/16
1409
12/05/16
1410