Académique Documents
Professionnel Documents
Culture Documents
Software
"Me puse a programar y me sali una contabilidad" Algunas aplicaciones da la impresin de que... Recordar que la probabilidad de que un mono teclee en una maquina de escribir y salga el quijote no es cero
EL GRADO DE PRECISIN CON QUE SE LLEVE A CABO CADA PASO INFLUIR EN EL RESULTADO
Me podras indicar, por favor, hacia dnde tengo que ir?
Eso depende de adnde quieras llegar, contesto el gato. A m no me importa demasiado adnde...empez a explicar Alicia. En ese caso, da igual cualquier direccin interrumpi el Gato. ...Siempre que llegue a alguna parte termin Alicia a modo de explicacin.
Basta que empieces a andar - le aseguro el Gato-, dando un paso tras otro. Alicia en el pas de las maravillas
Con Problemas, tendremos que disponer de: Tcnicas de desarrollo que minimicen la complejidad de un sistema software. Mtodos y conceptos que permitan al productor y al cliente explorar la naturaleza del sistema software lo antes posible. Tcnicas que minimicen los efectos devastadores de las modificaciones durante el desarrollo y la explotacin.
Construir artefactos dentro de unas limitaciones de coste, utilizando el conocimiento y las teoras de la ciencia sobre la cual se basa el artefacto.
10
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
3. EL PROCESO DE DESARROLLO DE SOFTWARE
12
13
14
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
Implica dividir el desarrollo del artefacto por fases. Normalmente se habla de especificacin, diseo y fabricacin.
Que ?
Como?
Realizacin
Pruebas
17
18
19
Se han propuesto muchos ciclos de vida para el desarrollo del software, pero estos son los ms representativos: Poner la cola al burro. Ciclo de vida clsico o en cascada. Construccin rpida de Prototipos Desechables Incremental Evolucin de prototipos Reutilizacin de Software Sntesis automtica de software En espiral.
20
Se coge a uno o varios informticos, Se les muestra ms o menos el problema, Se les deja solos en un cuarto a oscuras, Transcurrido un tiempo se abre la puerta.
3. EL PROCESO DE DESARROLLO DE SOFTWARE
21
22
LA VERSIN IDEAL
A alguien se le ha ocurrido la Brillante idea de Informatizar ? Investigacin Inicial, Identificacin de Necesidades, Encuesta, etc.
Estudio de Viabilidad Anlisis Especificacin Diseo
Especificacin de diseo
Aplicacin
Codificacin y Depuracin
Test y pruebas previas a la OPERACIN
Codificacin
OPERACIN Y MANTENIMIENTO
23
EL MODELO EN V
Explotacin
Validacin
Empaquetado
Diseo
Integracin
Codificacin
3. EL PROCESO DE DESARROLLO DE SOFTWARE
24
EL HELADO DE CUCURUCHO
Identificacin de Necesidades
Especificacin Esencial Especificacin Fsica
Codificacin
3. EL PROCESO DE DESARROLLO DE SOFTWARE
25
EL MODELO REAL
Identificacin de Necesidades
Especificacin Esencial
Explotacin
Validacin
Especificacin Fsica
Empaquetado
Diseo
Integracin
Codificacin
3. EL PROCESO DE DESARROLLO DE SOFTWARE
26
PROPUESTA DE YOURDON
Anlisis
Subsistemas Probados Prueba de subsistema Mdulos Probados Prueba de Unidad Mdulos Codificados
Estudio del HW
Configuracin Especificacin Final Diseo del Sistema Detallado Especificacin de los Programas
Codificacin
27
28
Obtencin Especificacin
NO Aceptado
29
De INTERFACE. Usualmente un modelo de papel o sobre PC en el que se muestran pantallas y listados. 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
Bloque N
Requeri mientos
Diseo
o
Requerimientos
Requerimientos
Diseo
Bloque 1
Diseo
Bloque N
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
3. EL PROCESO DE
32
REUTILIZACIN DE SOFTWARE
Tiene como objetivos: reducir el coste del software. Producir sistemas de mayor calidad. Se basa en reutilizar Diseos, programas, mdulos y datos. Es compatible con el prototipo evolutivo.
33
Requerimientos Informales
Optimizacin Mecnica
34
EN ESPIRAL.
Acuerdo REVISIN
Desarrollar, verificar
3. EL PROCESO DE DESARROLLO DE SOFTWARE
35
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
38
MTODOS ESTRUCTURADOS
Mtodos Orientados a la Estructura de los Datos Mtodos de flujo de datos
PROCESOS
DATOS
3. EL PROCESO DE DESARROLLO DE SOFTWARE
39
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
43
44
Optimizacin
Gestionado
Definido
Repetible
3. EL PROCESO DE DESARROLLO DE SOFTWARE
Inicial
45
46
NIVEL INICIAL.
Segn las circunstancias utilizamos un proceso distinto. (algunos caticos) A medida, Poco formalizado, Uso de herramientas informales.
47
NIVEL DE REPETICIN.
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: Como trabajan los ingenieros, Definiciones de ingeniera del software, El ciclo de vida del software, Metodolgicas de desarrollo Madurez del proceso de desarrollo.
52