Vous êtes sur la page 1sur 11

TEMA 3.

EL PROCESO DE DESARROLLO DE SOFTWARE


Introduccin al proceso de desarrollo.
En general, cuando las personas abordan el desarrollo de cualquier proyecto evolucionan desde
ideas abstractas hacia concreciones realizables
Normalmente el planteamiento es:
Vamos a desarrollar una contabilidad,
Hacer la especificacin.
en Java y My-SQL,
Realizar el diseo.
y se codifica la aplicacin
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
Ingeniera e Ingeniera del Software:
Donde nos encontramos?
Que hace un Ingeniero?
Definiciones de Ingeniera del software
Tcnicas bsicas utilizadas histricamente
Donde nos encontramos?
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.
Que hace un Ingeniero?
Construir artefactos dentro de unas limitaciones de coste, utilizando el conocimiento y las
teoras de la ciencia sobre la cual se basa el artefacto.
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.
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.
Caractersticas de la ingeniera del software (Van Vliet 1993)
Construccin de programas grandes
Controlar la complejidad
Cooperacin entre las personas implicadas
Evolucin del software
Eficiencia en el desarrollo
Soporte real a los usuarios
Modelo de la Ingeniera del software (Thayer 1988)







Tcnicas bsicas usadas en las ingenieras
Analisis
Diseo
Codificacin
Pruebas
Desarrollo
de Software
Planificacin
Organizacin
Reclutamiento
Direccin
Control
Gestin de
proyectos
Fiabilidad
Usabilidad
Flexibilidad
Mantenibilidad
Reusabilidad
Etc.
Metricas
del software
Correccin de Errores
Modificaciones
Mantenimiento
de software
Ingeniera
del software


Histricamente se han utilizado tcnicas como:*El modelado*Divisin del Producto*Divisin
del Proceso
En principio se deberan utilizar estas tcnicas, tambin en informtica .
1. 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.
2. Divisin del Producto: Se fracciona el producto de modo que cada fragmento lo puede
realizar un miembro del grupo de desarrollo.
3. Divisin del Proceso: Implica dividir el desarrollo del artefacto por fases. Normalmente se
habla de especificacin, diseo y fabricacin.
En el desarrollo de software nos encontramos con la siguiente situacin
Ciclos de Vida del SOFTWARE
Metodologas de Desarrollo del SOFTWARE
Madurez del Proceso del SOFTWARE

Ciclo de Vida del Software: Consiste en determinar:
las fases productivas de un proyecto,
los objetivos de cada fase productiva, y
los productos obtenidos en cada una de estas fases as como sus caractersticas.
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.
Poner la cola al burro
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.


Ciclo de vida clsico o en cascada.
La Versin Ideal (Perfecta)
El Modelo en V
El Helado de Cucurucho
El Modelo Real
Propuesta de Yourdon
La Versin Ideal



El Modelo en V:

El Helado de Cucurucho:







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
El ciclo de vida de Prototipos Desechables es el siguiente:

Existen dos clases de prototipos:
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.





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.




Metodologas de Desarrollo del Software: Mtodos informales, Mtodos Semiformales, Mtodos
Formales
Mtodos informales:
Joaqun Lucio-Villegas los clasifica como:
Quick & Dirty (USA)
Match stick box (Europa)
Balones p'alante y maricn el ltimo
Mtodos Semiformales.
Mtodos Estructurados
SA/SD (structured analysis & structured design)
Mtrica
Mtodos Orientados a Objetos
OMT
UML
Mtodos Estructurados:


Mtodos Orientados a la Estructura de los Datos
Mtodos de flujo de datos
*PROCESOS * DATOS
Mtodos Orientados a Objetos: Los mtodos orientados a objeto describen e
implementan los sistemas de informacin desde un punto de vista ontolgico.
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

Madurez del proceso en la organizacin de desarrollo:
La misma industria, diferentes niveles de madurez.
Hay factores que no quedan claramente reflejados en el ciclo de vida ni en las tcnicas de
desarrollo.
Los factores no estudiados son:
El cumplimiento de los plazos de entrega.
La calidad (nmero de errores en el Software).
El coste del proyecto.
CMM (Capability Maturity Model):
Proporciona una Gua sobre como
controlar los procesos:
de desarrollo del software.
de mantenimiento.
Hacer evolucionar hacia una cultura de:
Ingeniera del software.


Gestin eficiente


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.
Nivel de Repeticin.
Se tiene procesos estables de desarrollo, con control estadstico.
Uso de datos historicos
Establecimiento de procesos de gestin de proyecto, para hacer seguimiento de:


Coste.
Planificacin.
Funcionalidad
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.
Nivel de Gestin.
Mejoras de calidad sustanciales.
Control cuantitativo de productos y proceso a travs de
Mediciones del proceso comprensibles.
Mediciones de la calidad
Nivel de Optimizacin:A travs de mediciones del proceso utilizando ideas y tecnologas
innovadoras obtenemos:
Mejoras en calidad y cantidad.
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.

Vous aimerez peut-être aussi