Professional Documents
Culture Documents
SOFTWARE
CLASE I.
CONTENIDO
2.1.
2.2.
2.3.
2.4.
2.5.
2.6.
2.7.
2.8.
Tpica apariencia
del estudiante
promedio cuando le
preguntan acerca de
Ingeniera de
Software
Introduccin
El
hardware
dejo
de
ser
un
impedimento
para
eldesarrollode
lainformtica; redujo loscostosy mejoro
lacalidadyeficienciaen
el
software
producido
Introduccin
(continuacin)
La crisis se caracterizo por los siguientesproblemas:
Imprecisin
en
laplanificacindelproyectoy
estimacin de los costos.
Baja calidad del software.
Dificultad
demantenimientodeprogramascon
undiseopoco estructurado, etc.
Por otra parte se exige que el software sea eficaz y
barato tanto en el desarrollo como en la compra.
Tambin se requiere una serie de caractersticas como
fiabilidad, facilidad de mantenimiento y de uso,
eficiencia, etc.
2.1. DEFINICIN DE IS
Fritz Bauer, 1969: Ms que una disciplina o una
parte del conocimiento, La Ingeniera es un verbo, una
palabra de accin, un modo de enfocar el problema.
DEFINICIN DE IS
Bohem, 1976: Ingeniera del Software es la aplicacin
practica del conocimiento cientfico en el diseo y
construccin de programas de computadora y la
documentacin necesaria requerida para desarrollar,
operar (funcionar) y mantenerlos.
Mills, 1980: La Ingeniera de Software tiene como uno
de sus principales objetivos la produccin de programas
que cumplan las especificaciones, y que se demuestren
correctos, producidos en el plazo y costo adecuado
DEFINICIN DE IS
Meyer, 1988: La Ingeniera de Software es la
produccin de software de calidad.
RESUMIENDO
La ingeniera de software es una aplicacin prctica del
conocimiento cientfico para proveer metodologas y
tcnicas que ayuden a desarrollar sistemas de software a
tiempo, y a su vez que aseguren que el desarrollador
cumpla con las expectativas de calidad y permanezca
dentro del presupuesto.
Historia de la ing de sw
(continuacin)
Su origen se debi a que el entorno de desarrollo
de sistemas software adoleca de:
Retrasos considerables en la planificacin
Poca productividad
Elevadas cargas de mantenimiento
Demandas cada vez ms desfasadas frente a las ofertas
Baja calidad y fiabilidad del producto
Dependencia de los realizadores
Historia de la ing de sw
(continuacin)
Esto es lo que se ha denominado habitualmente "crisis
del software", que histricamente se gener en los
siguientes pasos:
- Primera Fase. Los albores (1945-1955)
Programar no es una tarea diferenciada del diseo de
una mquina
Uso de lenguaje mquina y ensamblador.
- Segunda Fase. El florecimiento (1955-1965)
Aparecen multitud de lenguajes
Se pensaba que era posible hacer casi todo.
Historia de la ing de sw
(continuacin)
- Tercera Fase. La crisis (1965-1970)
Desarrollo inacabable de grandes programas
Ineficiencia, errores, coste impredecible
Nada es posible.
- Cuarta Fase. Innovacin conceptual (1970-1980)
Fundamentos de programacin
Verificacin de programas
Metodologas de diseo.
- Quinta Fase. El diseo es el problema (1980-?)
Entornos de programacin
Especificacin formal
Programacin automtica.
Historia de la ing de sw
(continuacin)
Cmo se define crisis?
La palabra crisis se define en el diccionario como "un
punto decisivo en el curso de algo; momento, etapa, o
evento decisivo o crucial". Sin embargo para el software
no ha habido ningn punto crucial, slo una lenta
evolucin.
La crisis en la industria del software permanece durante
muchos aos, lo cual parece una contradiccin para el
trmino. Lo que si se podra decir es quehay un
problema crnico en el desarrollo de software.
Que ha venido originado por una falta de:
Formalismo y metodologa
Herramientas de soporte
Historia de la ing de sw
(continuacin)
Actualmente est surgiendo una gran expectativa ante
la evolucin de laIngeniera del Software, al ir
apareciendo nuevos mtodos y herramientas formales
que van a permitir en el futuro un planteamiento de
ingeniera en el proceso de elaboracin de software.
Dicho planteamiento permitir dar respuesta a los
problemas de:
- Administracin
- Calidad
- Productividad
- Fcil mantenimiento
Este ltimo es uno de los grandes problemas, pues
puede llegar a suponer un importe superior al 60% del
total del coste del software.
Ingeniera de Software:
Conceptos Basicos
Cul es la diferencia entre un programador y un Ingeniero de
Software?
Cul es la diferencia entre un Ingeniero de Software y un
Ingeniero de Sistemas?
Cul es la diferencia entre la Ingeniera de Software y la
Computacin ?
Que es el software ?
Que es un proceso de software ?
Que es un modelo de software?
Ingeniera de Sistemas e
Ingeniera de Software
La Ingeniera de Sistemas concierne a todos los
aspectos del desarrollo de sistemas basados en
cmputo, que incluyen hardware, software y el
proceso de Ingeniera. La Ingeniera de Software
es solo parte de este proceso.
Que es el Software ?
Programas de cmputo y su documentacin asociada
Productos de Software
Productos genricos.
Productos que son producidos por una organizacin
para ser vendidos cado.
Productos hechos a medida.
Sistemas que son desarrollados bajo pedido a un
desarrollador especfico.
La mayor parte del gasto del software es en productos genricos,
pero hay ms esfuerzo en el desarrollo de los sistemas hechos a
medida.
Funcionales.
Orientados a objetos.
Orientados a listas.
Orientados a componentes.
Por su funcin:
Sistemas embebidos.
Sistemas de computo distribuido.
Sistemas de computo paralelo.
Sistemas de tiempo real.
Sistemas basados en Chips.
Wearable computing systems.
Sistemas de computo ubiquos.
ndice de Fallos
Mortalidad
Infantil
Tiempo
Curva de Baera
Pressman Roger S. Ingeniera del software, Ed. Mc Graw Hill, 5 ed
ndice de fallos
Cambio
Curva real
Tiempo
Pressman Roger S. Ingeniera del software, Ed. Mc Graw Hill, 6 ed
Mito 2.
Los requerimientos del proyecto cambian de
manera continua, pero el cambio puede ajustarse con
facilidad porque el software es flexible.
Capa de Herramientas
Herramientas
Mtodos
Proceso
Un enfoque de calidad
Las herramientas de la Ingeniera de Software proporcionan un
enfoque automtico o semi-automtico para el proceso y para los
mtodos. Cuando se integran herramientas para que la
informacin creada por una herramienta la pueda utilizar otra, se
establece un sistema de soporte para el desarrollo del software
llamado Ingeniera del Software Asistida por Computadora (CASE).