Você está na página 1de 31

Clase 1

Introduccin al
software y a la
Ingeniera de software
Luis Alberto Dvila Hurtado
Universidad Nacional Pedro Ruiz Gallo

Ingeniera de software

U.N.P.R.G.

Introduccin

La economa de todas las naciones


desarrolladas son dependientes en software.

Ms y ms sistemas son controlados por


software.

La ingeniera de Software se refiere a


teoras, a mtodos y a herramientas para el
desarrollo profesional del software.

El gasto de la ingeniera de software


representa una fraccin significativa del PBI
en todos los pases desarrollados.

Ingeniera de software

U.N.P.R.G.

Costo del Software


Los costes del software dominan a
menudo los costes del sistema. Los
costes de software son a menudo
mayores que el coste del hardware.
El software cuesta ms mantenerlo
que para desarrollarlo. Para los
sistemas con una vida larga, los
costes de mantenimiento pueden
ser varias veces el coste del
desarrollo.
La ingeniera de Software se refiere
al desarrollo rentable del software.

Ingeniera de software

U.N.P.R.G.

Qu es Software?

Programas de computadora y
documentacin asociada.
Los productos de software se
pueden desarrollar para un cliente
particular o se pueden convertir
para un mercado general.
Los productos de software pueden
ser:
- Genrico.- convertido para ser
vendido a una gama de diversos
clientes.
- Personalizado.- desarrollado
para un solo cliente segn su
especificacin.

Ingeniera de software

U.N.P.R.G.

Software

Definicin:
Conjunto
de
programas,
procedimientos,
datos
y
documentacin asociados a la
operacin de un sistema informtico.

Ingeniera de software

U.N.P.R.G.

Software
Sistema Informtico:
Conjunto formal de procesos que,
operando sobre una coleccin de
datos
estructurada
segn
las
necesidades de la empresa, procesan
la informacin necesaria para realizar
las operaciones diarias y la toma de
decisiones,
para
desarrollar
sus
actividades segn la estrategia de
negocios
Ingeniera de software

U.N.P.R.G.

Software
Problemas de Desarrollo:

Insatisfaccin del cliente con el


producto.

Tiempos y Costos agotados.

Error
en
responsables.

el

desarrollo

sin

Calidad del producto cuestionable.

Dificultad
Software.

Ingeniera de software

de
U.N.P.R.G.

mantenimiento
7

del

Mitos del software:


Mitos de la administracin

Ya se tiene un libro lleno de estndares y


procedimientos para la construccin de software
Esto proporciona a mi gente todo el conocimiento
necesario?
Si se est retrasado en el itinerario es posible
contratar ms programadores para as terminar a
tiempo
Si decido subcontratar el proyecto de software a un
tercero, puedo relajarme y dejar que esa compaa
lo construya

Ingeniera de software

U.N.P.R.G.

Mitos del software:


Mitos del cliente

Un enunciado general de los objetivos es suficiente


para comenzar a escribir programas; los detalles se
pueden afinar despus

Los requerimientos del proyecto cambian de


manera continua, pero el cambio puede ajustarse
con facilidad porque el software es flexible

Ingeniera de software

U.N.P.R.G.

Mitos del software:


Mitos del desarrollador

Una vez que el programa ha sido escrito y puesto a funcionar,


el trabajo est terminado

Mientras el programa no se est ejecutando, no existe forma


de evaluar su calidad

El nico producto del trabajo que puede entregarse para


tener un proyecto exitoso es el programa en funcionamiento

La ingeniera de software obligar a emprender la creacin de


una documentacin voluminosa e innecesaria y de manera
invariable tornar ms lento el proceso

Ingeniera de software

U.N.P.R.G.

10

Qu es Ingeniera de Software?
La ingeniera de software es una
disciplina de la Ingeniera que se
refiere a todos los aspectos de la
produccin del Software.
La ingeniera de software deben
adoptar un acercamiento sistemtico
y organizado a su trabajo y utilizar las
herramientas apropiadas y las
tcnicas dependiendo del problema
que se solucionarn, de las
restricciones del desarrollo y de los
recursos disponibles.

Ingeniera de software

U.N.P.R.G.

11

Ingeniera de Software
Definicin:
La
aplicacin
prctica
del
conocimiento cientfico en el diseo
de programas para computadoras y
la
documentacin
asociada
requerida
para
desarrollarlos,
operarlos y mantenerlos BOEHM
1976
Ingeniera de software

U.N.P.R.G.

12

Ingeniera de Software
Definicin:
El enfoque sistemtico para el
desarrollo,
operacin,
mantenimiento y eliminacin del
software IEEE 1983

Ingeniera de software

U.N.P.R.G.

13

Ingeniera de Software
Definicin:
El
uso
de
metodologas,
herramientas
y
tcnicas
para
resolver los problemas prcticos que
se levantan en la construccin,
despliegue, apoyo y evolucin de
Software IIT 1990

Ingeniera de software

U.N.P.R.G.

14

Ingeniera de Software
Metas:
1.

Mejorar
productos.

la

calidad

de

los

2. Aumentar la productividad.
3.

Aumentar
personal.

Ingeniera de software

U.N.P.R.G.

la

satisfaccin

15

Ingeniera de Software
Bases:
1. Conductas individuales.
2. Conductas de equipo.
3. Conductas de administracin.
4. Conductas organizacionales.

Ingeniera de software

U.N.P.R.G.

16

Cul es la diferencia entre la Ingeniera de Software


y Ciencia de la Computacin?

La ciencia de la Computacin
se refiere a teora y a
fundamentos; la ingeniera de
software se refiere a las
formas prcticas de
desarrollar y de entregar
software til.
Las teoras de la informtica
son actualmente insuficientes
de actuar como apoyo
completo para la Ingeniera
de Software.
Ingeniera de software

U.N.P.R.G.

17

Cul es la diferencia entre la Ingeniera de


Software y la Ingeniera de Sistemas?
La Ingeniera de sistemas se refiere a todos los
aspectos del desarrollo computarizado de los
sistemas incluyendo el hardware, el software y
la ingeniera de procesos. La ingeniera de
software es parte de este proceso.
Los ingenieros de sistemas estn implicados en
la especificacin de sistema, el diseo
arquitectnico, la integracin y el despliegue.

Ingeniera de software

U.N.P.R.G.

18

Qu es un Proceso de Software?

Un conjunto de actividades cuyo objetivo


es el desarrollo o la evolucin del
software.
Las actividades genricas en todos los
procesos del software son:

Especificacin.- que el sistema debe hacer


y sus restricciones de desarrollo.
Desarrollo.- produccin del sistema de
software.
Validacin.- comprobando que el software
sea lo que desea el cliente.
Evolucin.- cambiar el software en
respuesta a demandas que cambian.

Ingeniera de software

U.N.P.R.G.

19

Qu es un Modelo de Proceso de Software?

Una representacin simplificada de un proceso del


software, presentada desde una perspectiva especfica.
Los ejemplos de perspectivas de procesos son:

Perspectiva del workflow.- secuencia de actividades.


Perspectiva de flujo de datos.- flujo de informacin.
Perspectiva de Role/action.- quien hace que.

Modelos de proceso genricos:


-

Cascada
Desarrollo evolutivo
Transformacin formal
Integracin de componentes reutilizables

Ingeniera de software

U.N.P.R.G.

20

Cules son los costos de la Ingeniera de Software?

Aproximadamente el 60% de costes son los


costos del desarrollo, el 40% son costos de
prueba. Para el software encargado (a
pedido), los costos de la evolucin exceden a
menudo los costos del desarrollo.
Los costos varan dependiendo del tipo de
sistema que es desarrollado y de las
caractersticas de los requisitos del sistema
tales como desempeo y confiabilidad del
sistema.
La distribucin de costes depende del
modelo del desarrollo que se utiliza.

Ingeniera de software

U.N.P.R.G.

21

Product development costs

S pecification

Ingeniera de software

25

50

Development

U.N.P.R.G.

100

75

Sys tem tes ting

22

Distribucin de costo de
actividad
Waterfall model

S pecification

25

Des ign

50

100

75

Development

Integration and tes ting

Iterative development
0

S pecification

25

50

75

Iterative development

100

Sys tem tes ting

Component-bas ed s oftware eng


ineering
0

S pecification

25

50

Development

100

75

Integration and tes ting

Development and evolution cos ts for long-lifetime


ems
s ys t
0

Ingeniera de software

10

U.N.P.R.G.

200

30

23

400

Cules son los mtodos de la Ingeniera de


Software?

Acercamientos estructurados para desarrollo de software que


incluyen modelos de sistema, notaciones, reglas, consejo del
diseo y la direccin del proceso.

Descripciones modelo:
Descripciones de los modelos grficos que deben ser
producidos.

Reglas
Restricciones aplicadas a los modelos de sistema.

Recomendaciones
Consejo sobre buena prctica del diseo.

Direccin de Proceso
Qu actividades a seguir.

Ingeniera de software

U.N.P.R.G.

24

Qu es CASE (Computer-Aided-Software_Engineering)?

Los sistemas de software que se piensan para


proporcionar soporte automatizado para las
actividades del proceso del software.
Upper-CASE
Herramientas para apoyar las actividades de
proceso tempranas de requisitos y de disear.
Lower-CASE
Herramientas para apoyar actividades ms
ltimas tales como programacin, eliminar
errores y prueba.

Ingeniera de software

U.N.P.R.G.

25

Cules son los atributos del buen


software?

El Software debe entregar la funcionalidad y desempeo


requeridos por el usuario y debe ser fcil de mantener.

Mantenibilidad
- Software debe permitir los cambios necesarios.

Fiabilidad
- Software debe ser confiable.

Eficiencia
- Software debe realizar sus funciones optimizando
recursos.

Usabilidad
- Software debera ser usado por los usuarios para los que
ha sido diseado.

Ingeniera de software

U.N.P.R.G.

26

Cules son los desafos dominantes que hacen frente a la


Ingeniera de Software?
Hacer frente a sistemas heredados con una diversidad creciente y
con tiempos entrega reducidos.
Sistemas Heredados
- Antiguos y valiosos sistemas deben ser mantenidos y
actualizados.
Heterogeneidad
- Sistemas estn distribuidos e incluidos en una mezcla de
hardware y software.
Entrega
- Existe una creciente presin para una entrega rpida de software.

Ingeniera de software

U.N.P.R.G.

27

Puntos clave

La ingeniera de software lgica es una disciplina


de la ingeniera que se refiere a todos los aspectos
de la produccin del software.
Los productos de software consisten en programas
desarrollados y la documentacin asociada. Las
cualidades de producto esenciales son capacidad
de mantenimiento, formalidad, eficacia y utilidad
El proceso del software consiste en las actividades
que estn implicadas en el desarrollo de productos
de software. Las actividades bsicas son
especificacin, desarrollo, validacin y evolucin
del software

Ingeniera de software

U.N.P.R.G.

28

Puntos clave

Los mtodos son maneras organizadas de producir


software. Incluyen las sugerencias para el proceso
que se seguirn, las notaciones que se utilizarn,
las reglas que gobiernan las descripciones de
sistema se producen que y disean pautas.
Las herramientas CASE son los sistemas de
software que se disean para apoyar actividades
rutinarias en el proceso del software
Los ingenieros de software tienen
responsabilidades a la profesin y a la sociedad de
la ingeniera. No deben ser referidas simplemente
a las ediciones tcnicas.

Ingeniera de software

U.N.P.R.G.

29

Ingeniera de software

U.N.P.R.G.

30

Bibliografa

Ingeniera de Software - Roger


Pressman Cap. 1
Ingeniera de Software Ian
Sommerville Cap. 1

Ingeniera de software

U.N.P.R.G.

31

Você também pode gostar