Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccin a la Ingeniera de
Software
Agenda
1- Generalidades de la Ingeniera de
Software.
2- Problemas con la Ejecucin de Proyectos
Grandes.
3- Qu se Requiere?.
4- Caractersticas de la Ingeniera de
Software.
5- Conclusiones.
Ingeniera de Software
Software
El software se forma con:
1.
2.
3.
Las instrucciones.
Las estructuras de datos.
Los documentos que describen la operacin.
Software de sistemas.
Software de aplicacin.
Software cientfico y de ingeniera.
Software empotrado.
Software de lnea de productos.
Aplicaciones basadas en web.
Software se I.A.
Software heredado
Es el software viejo pero que sigue
operando: es costoso en mantenimiento y
riesgoso en su evolucin.
Poca calidad: diseos imposibles de
extender, cdigo complicado,
documentacin escasa.
No obstante, estos sistemas son el soporte
de las funciones centrales de los negocios
y son indispensables para la empresa
corrigen errores.
adapta a nuevos cambios.
cliente solicita nuevas caractersticas.
reingeniera.
Ingeniera de Software
Qu es la Ingeniera de Software?
La Ingeniera de Software es el rea de
las ciencias de la computacin que trata
con la construccin de sistemas de
software, los cuales son tan grandes y
complejos que se construyen con
equipos de ingenieros [Ghezzi 91].
Construccin
multi-persona
de
software multi-versiones [Parnas
87].
Proceso de Software
Es un proceso definido paso a paso, que facilita la
especificacin, el diseo, la implementacin y las
pruebas de una solucin de software, para un
conjunto de requisitos explcitos, de modo
eficiente y eficaz
Esto requiere que al empezar el proceso se tengan:
-
Objetivos claros.
Planes para lograr los objetivos.
Procedimientos que implementan los planes.
Procedimientos de monitoreo y control de los planes.
Un ambiente conducente al logro de los objetivos.
Agenda
1- Generalidades de la Ingeniera de
Software.
2- Problemas con la Ejecucin de
Proyectos Grandes.
3- Qu se Requiere?.
4- Caractersticas de la Ingeniera de
Software.
5- Conclusiones.
Cul es el Problema ?
A pesar de que la industria del software es hoy en da uno
de los motores de la economa mundial, numerosos
problemas an persisten...
El desarrollo del hardware siempre aventaja al software
asociado a l.
La demanda por nuevos productos y soluciones no puede ser
satisfecha (diversidad de escenarios donde deben proveer
servicio).
El software no es confiable por naturaleza (y somos cada vez
ms dependientes de l).
Los proyectos raramente terminan en las fechas previstas.
Los proyectos raramente terminan costando lo previsto.
Proyectos terminados que jams se usan.
Proyectos que se usan pero usuarios altamente insatisfechos.
Costo exorbitante de mantenimiento.
Historias de Horror....
Particularidades de Sistemas
Grandes
Escala: una sola persona no puede entenderlo todo.
Complejidad:
Requiere trabajo de equipo.
Problemas de manejo de gente, coordinacin, egos,
motivacin, recambios de personal (en ambos
lados), cambios de expectativas (en ambos lados),
etc.
Cambio: durante y despus del desarrollo inicial.
Agenda
1- Generalidades de la Ingeniera de
Software.
2- Problemas con la Ejecucin de Proyectos
Grandes.
3- Qu se Requiere?.
4- Caractersticas de la Ingeniera de
Software.
5- Conclusiones.
Qu se requiere ?
Burocracia (til y efectiva, tedioso pero
vital)
Manejo formal del proceso de desarrollo.
Documentacin formal detallada tanto interna
como externa:
puede pensarse en trminos de contratos
cliente/productor, etc.
Trazabilidad.
de quin es este cdigo?
cundo se agreg esta parte?
Qu se requiere ? (cont...)
Anlisis cuidadoso del problema
interactuando con el usuario
Implementacin cuidadosa
Pruebas rigurosas
procedimientos bien definidos de antemano
Qu se Requiere ? (cont...)
Ms que cdigo: En un proyecto de software
se genera, adems del cdigo, muchos otros
documentos ...
Requisitos formales
Diseo de alto nivel
Diseo detallado
Plan y bateras de pruebas (tests)
Documentacin de usuario
Documentacin de desarrolladores
Estudios de factibilidad
Informes de marketing
Planes de mantenimiento
Informes de errores y correcciones
etc.
Qu se Requiere? (cont...)
Ingeniero de Procesos
Ingeniero de Calidad
Analista de Requisitos
Diseador de Software
Programador
Verificador-Tster
Gerente de Proyecto
Gestor de Configuracin del Software
Agenda
1- Generalidades de la Ingeniera de
Software.
2- Problemas con la Ejecucin de Proyectos
Grandes.
3- Qu se Requiere?.
4- Caractersticas de la Ingeniera de
Software.
5- Conclusiones.
Caractersticas de la Ingeniera
Ataca problemas prcticos reales
La gente realmente quiere o necesita resolver
estos problemas.
Caracterst. de la Ingeniera
(cont...)
Codifica el conocimiento
La experiencia de generaciones se escribe en
enormes manuales y se organiza para ser
reutilizada.
tica profesional.
Acreditacin y monitoreo por parte de una
sociedad profesional.
Principios de la I.S.
Herramientas
Metodologas
Mtodos y Tcnicas
Principios
Principio: Proposiciones o verdades que rigen el desarrollo.
Mtodo: Gua general que gobierna la ejecucin de una actividad.
Tcnica: Mecanismos y recursos del desarrollo.
Metodologa: Conjunto de mtodos y tcnicas.
Herramientas: Soportan la aplicacin de metodologas.
Evolucin de la I.S.
OS 360 IBM : Sistema grande , se crea
el trmino INGENIERIA DE SOFTWARE
70
Futuro
Desarrollo terico,
Mtodos, Tcnicas,
Herramientas
70: Crisis del Software. Se buscan
soluciones a los problemas de la I.S.
50-60: Creacin de los lenguajes de alto nivel
Conclusiones ....
Proceso de desarrollo de software
Para mejorar la situacin es necesario mejorar el
proceso.
Para mejorar el proceso es necesario hacerlo
visible, definirlo y medirlo.
- . La IS tiene mucho que decir ac.
Diseo de software
- Queremos diseos que respeten los requisitos.
- Queremos diseos realistas.
Verificacin y validacin
Queremos productos confiables.
Queremos productos que satisfagan las
especificaciones.