Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DESARROLLO DE
SOFTWARE
Deseos,
necesidades,
Especificaciones,
Software
Introduccin al proceso de
desarrollo.
En general, cuando
abordan el desarrollo
proyecto evolucionan
abstractas
hacia
realizables.
las personas
de cualquier
desde ideas
concreciones
Normalmente el
planteamiento es:
Vamos a desarrollar una contabilidad,
Hacer la especificacin.
y se codifica la aplicacin.
Definicin de la ingeniera
del software (NATO 68)
La ingeniera del software es el
establecimiento y uso de principios de
ingeniera razonables con el objetivo
de obtener software econmicamente,
que sea de confianza y trabaje
eficientemente en las maquinas
reales.
10
Definicin
(R.E. Fairley 1985)
Hemos definido la Ingeniera del Software como la
disciplina tecnolgica concerniente a la produccin
y mantenimiento sistemticos de productos
software que son desarrollados y modificados en el
tiempo y con los costes estimados...
Adems, la Ingeniera del software tiene que ver
con cuestiones de gestin que caen fuera del
dominio de la programacin tradicional.
11
n a lis is
is e o
o d if ic a c i n
ru e b a s
G e s t i n d e
p ro y e c to s
P
O
R
D
C
la n ific a c i n
r g a n iz a c i n
e c lu t a m ie n to
ir e c c i n
o n tro l
M e tr ic a s
d e l s o ftw a re
M a n t e n im ie n to
d e s o ftw a re
F ia b ilid a d
U s a b ilid a d
F le x ib ilid a d
M a n te n ib ilid a d
R e u s a b ilid a d
E tc .
C o r r e c c i n d e E r r o r e s
M o d if ic a c io n e s
13
El modelado.
Simplificacin del objeto en el mundo
real, pero que es suficientemente
realista como para dar una idea de lo
que ocurrir en la realidad y usarse
como base del desarrollo.
15
16
Que
?
Como?
Realizacin
Pruebas
17
Metodologas de
Desarrollo del
SOFTWARE
18
19
22
La Versin Ideal
Requerimientos
del Sistema
Requerimientos
del Software
Diseo Preliminar y
Detallado
Codificacin y
Depuracin
Diseo
Especificacin de diseo
Codificacin
Aplicacin
Validacin
Instalacin, Explotacin
OPERACIN Y MANTENIMIENTO
23
El Modelo en V
Identificacin
de Necesidades
Explotacin
Especificacin
Esencial
Validacin
Especificacin
Fsica
Diseo
Empaquetado
Integracin
Codificacin
24
El Helado de Cucurucho
USUARIOS
Identificacin
de Necesidades
Explotacin
Especificacin
Esencial
CLIENTES
Especificacin
Fsica
ANALISTA Empaquetado
Diseo
DISEADORES Y
CODIFICADORES
Validacin
Integracin
Codificacin
25
El Modelo Real
Identificacin
de Necesidades
Explotacin
Especificacin
Esencial
Validacin
Especificacin
Fsica
Diseo
Empaquetado
Integracin
Codificacin
26
Propuesta de Yourdon
Requerimientos del Usuario
Sistema
Probado
Encuesta
Prueba de
Sistema
Subsistemas
Probados
Anlisis
Especificacin
Funcional
Necesidades de
diseo
Rendimiento
Preliminar
Estudio
del HW
Configuracin
Especificacin
Final
Diseo
del Sistema
Detallado
Especificacin
de los
Programas
Prueba de
subsistema
Codificacin
Prueba de
Unidad
Mdulos
Probados
Mdulos
Codificados
27
Construccin Rpida de
Prototipos Desechables
Al igual que otras ingenieras se
utilizan los prototipos para que el
cliente observe, confirme y mejore el
producto
Este enfoque es apropiado cuando:
El cliente no tiene claro lo que quiere,
Al cliente le gustara ver algo similar para
poder hacerse una idea de lo que obtendr
28
Obtencin
Especificacin
Construccin
Prototipo
Aceptado
Evaluacin
Cliente
Mejora de la
Especificacin
NO Aceptado
Ciclo de
Vida
Clsico
29
De COMPORTAMIENTO:
En anchura. Ofrece todos los mens del sistema y
simula dbilmente los procesos.
En profundidad. Cubre funciones que presentan
ambigedades al cliente o a los informticos.
Completo pero de baja calidad y rendimiento.
30
Incremental
Bloque 1
Requeri
mientos
Diseo
Impleme Pruebas
ntacin
Requeri
mientos
Bloque N
Diseo
o
Requerimientos
Bloque 1
Bloque N
Permite el
desarrollo
concurrente
Requerimientos
Diseo
Impleme Pruebas
ntacin
Impleme Pruebas
ntacin
Diseo
Impleme
ntacin
Pruebas
31
Evolucin de Prototipos
Observacin
Requerimientos
Abstraccin
Validacin
Especificacin
Verificacin
Empezamos por los
requerimientos ms claros,
menos complejos y ms
necesarios.
Prototipo rpido
Prototipo
Verificacin
Experimentar
Validacin
32
Reutilizacin de Software
Tiene como objetivos:
reducir el coste del software.
Producir sistemas de mayor calidad.
Sntesis automtica de
software
Requerimientos
Informales
Anlisis de
Requerimientos
Especificacin Formal
(Prototipo)
Validacin
Mantenimiento
Optimizacin
Mecnica
Racionalidad y
Decisiones
Ajuste
(tuning)
Desarrollo
Formal
Programa
Fuete
34
En espiral.
Determinar objetivos,
alternativas, restricciones
Evaluar alternativas,
identificar y resolver
riesgos
Acuerdo
REVISIN
Desarrollar, verificar
35
Metodologas de Desarrollo
del Software
Mtodos informales
Mtodos Semiformales
Mtodos Formales
36
Mtodos informales
Joaqun Lucio-Villegas los clasifica
como:
Quick & Dirty (USA)
Match stick box (Europa)
Balones p'alante y maricn el ltimo
37
Mtodos Semiformales
Mtodos Estructurados
SA/SD (structured analysis & structured
design)
Mtrica
Mtodos Estructurados
Mtodos Orientados a la Estructura
de los Datos
Mtodos de flujo de datos
PROCESOS
DATOS
39
Mtodos Orientados a
Objetos
Los mtodos orientados a objeto describen
e implementan los sistemas de informacin
desde un punto de vista ontolgico.
40
Mtodos Formales
Los mtodos formales permiten al ingeniero de
software especificar, desarrollar y verificar un
sistema informtico mediante la aplicacin de una
notacin matemtica rigurosa.
Utilizando un lenguaje de especificacin formal, un
mtodo formal proporciona los medios de
especificar un sistema de forma que se aseguren, de
forma sistemtica, la consistencia, la completitud y
la correccin.
Se suelen basar en notaciones matemticas
similares a las del lgebra de conjuntos y la lgica
41
42
44
Evolucin de las
organizaciones segn el CMM
Control
del
Proceso
Medicin
del
Proceso
Definicin
del
Proceso
Control
Bsico
Optimizacin
Gestionado
Definido
Repetible
Inicial
45
46
Nivel Inicial.
Segn las circunstancias utilizamos un
proceso distinto. (algunos caticos)
A medida,
Poco formalizado,
Uso de herramientas informales.
Pocos procesos definidos.
El xito depende del esfuerzo individual.
47
Nivel de Repeticin.
Se tiene procesos estables de desarrollo,
con control estadstico.
Uso de datos histricos
Establecimiento de procesos de gestin de
proyecto, para hacer seguimiento de:
Costo.
Planificacin.
Funcionalidad.
48
Nivel de Definicin.
Proceso de desarrollo perfectamente
definido y estandarizado.
Integrado en la organizacin.
Bien documentado.
Todos los proyectos utilizan una
versin documentada y aprobada de
proceso.
49
Nivel de Gestin.
Mejoras de calidad sustanciales.
Control cuantitativo de productos y
proceso a travs de
Mediciones del proceso comprensibles.
Mediciones de la calidad
50
Nivel de Optimizacin.
A travs de mediciones del proceso
utilizando ideas y tecnologas
innovadoras obtenemos:
Mejoras en calidad y cantidad.
51
Resumen
Hemos visto:
52