Sunteți pe pagina 1din 28

Sesin 01:

Introduccin a la Ingeniera de Software


Ingeniera de Software

Ing. Lenin Huayta Flores

Introduccin a la Ingeniera de Software

Objetivos

Tener una nocin general de lo que es la Ingeniera de


Software y de sus objetivos y conceptos bsico relacionados.

Lectura recomendada

Captulo 1 (Software and Software Engineering) del libro


Software Engineering A Practioners Approach (Roger
Pressman).
Captulo 1 (Introduction) del libro Software Engineering (Ian
Sommerville).

Ingeniera de Software

Ingeniera de Software

Las economas de los pases desarrollados dependen


en gran parte del software.
Mas y ms sistemas son actualmente controlados
por software.
El gasto en la Ingeniera de Software, representa un
alto porcentaje del PIB de los pases desarrollados.

Ingeniera de Software

Qu es la Ingeniera de Software?

La Ingeniera de Software es una disciplina de la


Ingeniera que concierne a todos los aspectos de la
produccin de software
Los Ingenieros de Software adoptan un enfoque
sistemtico para llevar a cabo su trabajo y utilizan
las herramientas y tcnicas necesarias para resolver
el problema planteado, de acuerdo a las
restricciones de desarrollo y recursos disponibles.

Ingeniera de Software

Objetivo general

Producir software
industrial

Ingeniera de Software

de

alta

calidad

de

forma

Objetivos especficos

Calidad de software
Productividad en el desarrollo, operacin y
mantenimiento de software
Calidad versus Productividad
Permitir que profesionales tengan control sobre el
desarrollo de software dentro de costos, plazos y
niveles de calidad adecuados

Ingeniera de Software

Diferencia entre Ingeniera de Software y


Computacin

La computacin concierne a la teora y fundamentos


de cualquier sistema de computo, sea de hardware
o de software.
La Ingeniera de software concierne solo al
desarrollo de sistemas o productos de software.
La Ingeniera de Software todava esta lejos de ser
como la Ingeniera Qumica, la Ingeniera Civil o la
Ingeniera Electrnica.

Ingeniera 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.

Ingeniera de Software

Qu es el Software?
Programas y su documentacin asociada
Sistemas o Productos de software grandes
complejos.
Qu contiene el software?
Qu tipos de software hay?
Cul es el costo del software?
Cmo se desarrolla el software?
Cmo saber si un software tiene calidad?

Ingeniera de Software

Productos de Software

Productos genricos

Productos hechos a medida.

Productos que son producidos por una organizacin para


ser vendidos al mercado.

Sistemas que son desarrollados


desarrollador especfico.

bajo

pedido

un

La mayor parte del gasto del software es en


productos genricos, pero hay ms esfuerzo en el
desarrollo de los sistemas hechos a medida.

Ingeniera de Software

10

Caractersticas de los Productos de Software

Mantenibilidad.

Confiabilidad.

El software no debe causar danos fsicos o econmicos en el


caso de fallos.

Eficiencia.

Debe ser posible que el software evolucione y que siga


cumpliendo con sus especificaciones.

El software no debe desperdiciar los recursos del sistema.

Utilizacin adecuada.

El software debe contar con una interfaz de usuario


adecuada y su documentacin.

Ingeniera de Software

11

Importancia de las caractersticas del producto

La importancia relativa de las caractersticas


depende en el tipo de producto y en el ambiente en
el que ser utilizado.
En algunos casos, algunos atributos pueden
dominar.

En sistemas de seguridad crticos de tiempo real, los


atributos clave pueden ser la confiabilidad y la eficiencia.

Los costos tienden a crecer exponencialmente si son


requeridos altos niveles de alguna caracterstica.

Ingeniera de Software

12

Calidad de Software (un ejemplo para una tienda)

Correcto

de

cobrar

por

productos

El consumidor no puede esperar


La
empresa
quiere
invertir
poco
computacionales (CPU, memoria, red)

en

recursos

Robusto y altamente disponible

La tienda no puede dejar


comprados por el consumidor

La tienda no puede parar de vender

Eficiente

Ingeniera de Software

13

Calidad de Software (un ejemplo para una tienda)

Amigable y fcil de usar

Altamente extensible y adaptable

La empresa quiere invertir poco en entrenamiento


La empresa tiene siempre nuevos requisitos (para ayer!)
La empresa quiere el software personalizado (interfase,
teclado, idioma, moneda, etc.)

Reusable

Varias empresas precisan usar partes de un mismo sistema

Ingeniera de Software

14

Calidad de Software (un ejemplo para una tienda)

Abierto, compatible, de fcil integracin con otros


sistemas

Portable e independiente de la plataforma (hardware


y software)

La empresa ya tiene control de stock, fidelizacin, etc.

La empresa opta por una determinada plataforma

Bajo costo de instalacin y actualizacin

La empresa tiene un gran nmero de PDVs

Ingeniera de Software

15

Productividad

Costo de desarrollo reducido

La empresa consumidora quiere invertir poco en software


La empresa productora tiene que ofrecer software barato

Tiempo de desarrollo reducido

Soporte rpido a las necesidades del mercado

Ingeniera de Software

16

Software Barato

No depende tanto el resultado de costos bajos de


desarrollo, mas principalmente de la distribucin de
los costos entre varios clientes.

Reuso, extensibilidad y adaptabilidad son esenciales


para viabilizar tal distribucin.

Ingeniera de Software

17

Relevancia de la Ingeniera de Software

Calidad de software y productividad garantizan:

Disponibilidad de servicios esenciales


Seguridad de personas
Competitividad de las empresas

Ingeniera de Software

Productores
Consumidores

18

Pero, en la realidad, tenemos una Crisis de SW

25% de los proyectos son cancelados


El tiempo de desarrollo es mucho mayor de lo que
se ha estimado
75% de los sistemas no funcionan como planificado
El mantenimiento y reutilizacin son difciles y
costosos
Los problemas son proporcionales a la complejidad
de los sistemas

Ingeniera de Software

19

Causas de la Crisis del Software

Esenciales

Complejidad de los sistemas


Dificultad de formalizacin

Accidentes

Mala calidad de los mtodos, lenguajes, herramientas,


procesos y modelos de ciclo de vida
Falta de calificacin tcnica

Ingeniera de Software

20

Elementos y Actividades de la Ingeniera de


Software

Elementos

Modelos del ciclo de vida del


software
Lenguajes
Mtodos
Herramientas
Procesos

Actividades

Ingeniera de Software

Modelamiento del negocio


Elicitacin de requisitos
Anlisis y Diseo
Implementacin
Pruebas
Distribucin
Planeamiento
Gerenciamiento
Gerencia de Configuracin
y Cambios
Mantenimiento

21

Crticas hechas al software

El software es caro
La capacidad del software es menor de la prometida
y esperada
La entrega del software es hecha generalmente con
mucho retraso
A menudo ocurren sobre costos y generalmente don
debidos a retrasos
La documentacin es inapropiada e inadecuada
Utilizar el software es a menudo difcil y su
interaccin con el usuario es deficiente

Ingeniera de Software

22

Crticas hechas al software

El mantenimiento es caro y lleno de errores


Los productos de software no pueden ser integrados
El desempeo es poco confiable
Los requerimientos pocas veces se adecuan a las
necesidades de los usuarios
El producto no se ejecuta de acuerdo a las
especificaciones

Ingeniera de Software

23

Mtodo

Descripcin sistemtica de como se debe realizar


una determinada actividad o tarea
La descripcin es normalmente hecha a travs de
padrones y guas
Ejemplos: Booch, BON, Pim

Ingeniera de Software

24

Herramienta

Provee soporte computacional a un determinado


mtodo o lenguaje
Ambiente de desarrollo: conjunto de herramientas
integradas (CASE)
Ejemplos:
Rational
Rose,
Inprise
Jbuilder,
Enterprice Architect

Ingeniera de Software

25

Proceso

Conjunto de actividades

bien definidas
con responsables
con artefactos de entrada y salida
con dependencias entre las mismas y orden de ejecucin
con modelo de ciclo de vida

Ingeniera de Software

26

Metodologa

Conjunto de mtodos + proceso

Ingeniera de Software

27

Introduccin a la Ingeniera de Software

Lectura adicional

Daniel M. Berry. Myths and Realities in Software


Development.
W. Wayt Gibbs. Software's chronic crisis. Scientific
American, September 1994.
Alan Joch. How software doesn't work. Byte, December
1995.

Ingeniera de Software

28

S-ar putea să vă placă și