Está en la página 1de 34

Ingeniería del Software I

Profesor: Ing. Alfonso López Palacio


Tema 1. Introducción a la Ingeniería del Software
I Semestre - 2016
Temas a tratar
 Introducción
 Conceptos generales
 ¿Qué es Ingeniería? ¿Qué es Sistemas?
 ¿Qué es la Ingeniería de Sistemas?
 ¿Qué es Software?
 ¿Qué es Ingeniería del Software?
 Motivo del surgimiento de la Ingeniería de Software
 Crisis del Software
 Lo que busca la Ingeniería del Software
 Mitos del Software
 Malas prácticas del desarrollo de software
 Complejidad del software
 Principios de la Ingeniería del Software
 Ética en la Ingeniería de software
 La esencia de la práctica
 Tipos de Software
 SWEBOK
Ing. Alfonso López Palacio – Docente de Ingeniería del Software I
04/02/2016 2
Introducción a la Ingeniería del Software
Introducción(I)
 Actualmente las economías de todos los países
desarrollados dependen del software.

 Más y más sistemas se controla a través del


software.

 Los gastos de software representa una parte


importante del producto nacional bruto (PNB) en
todos los países desarrollados.

Ing. Alfonso López Palacio – Docente de Ingeniería del Software I


04/02/2016 3
Introducción a la Ingeniería del Software
Introducción(II)
 Los costos del Software a menudo son mayores que
el total de los costos sistema.

 Los costos de software en un PC con frecuencia son


mayores que los costos de hardware.

 Los costos del Software para mantener una


aplicación son más altos que los costos del
desarrollo al principio.

Ing. Alfonso López Palacio – Docente de Ingeniería del Software I


04/02/2016 4
Introducción a la Ingeniería del Software
Introducción(III)
 La cadena de valor del software:
Ranking Empresa Cap. Bursátil País
1 Apple Inc. 650.05 U.S.A.
2 Microsoft Corp. 346.11 U.S.A.
3 Google Inc. 324.59 U.S.A.
4 Exxon Mobil Corp. 320.78 U.S.A.
5 Berkshire Hathaway Inc. 314.07 U.S.A.
6 Petrochina Co-H 308.57 China
Industrial & Commercial bank of China
7 259.95 China
(ICBC)
8 Wells Fargo & Co 253.00 U.S.A.
9 Johnson & Johnson 246.67 U.S.A.
10 China Mobile 244.23 China
Tomado de http://economipedia.com/ranking/empresas-mas-grandes-del-mundo-2015.html

Ing. Alfonso López Palacio – Docente de Ingeniería del Software I


04/02/2016 5
Introducción a la Ingeniería del Software
Introducción(IV)
 La cadena de valor del software:
Ranking Empresa Cap. Bursátil País

19 Facebook Inc-A 198.70 U.S.A.


25 Verizon Communic 179.50 U.S.A.
27 Amazon.Com Inc 176.16 U.S.A.
30 Oracle Corp 169.29 U.S.A.
34 Samsung Electron 159.15 Corea
37 At&T Inc 155.50 U.S.A.
39 IBM 150.47 U.S.A.
45 Intel Corp 137.26 U.S.A.
46 Cisco Systems 131.85 U.S.A.
67 Qualcomm Inc 100.50 U.S.A.
78 United Tech Corp 92.93 U.S.A.
89 Siemens 84.47 Alemania
91 Sap Ag 82.41 Alemania
Tomado de http://economipedia.com/ranking/empresas-mas-grandes-del-mundo-2015.html
Ing. Alfonso López Palacio – Docente de Ingeniería del Software I
04/02/2016 6
Introducción a la Ingeniería del Software
Introducción(V)
 Empleos generados a partir del software:

Ing. Alfonso López Palacio – Docente de Ingeniería del Software I


04/02/2016 7
Introducción a la Ingeniería del Software
Introducción(VI)
 Exportaciones de servicios de T.I y Software:

Ing. Alfonso López Palacio – Docente de Ingeniería del Software I


04/02/2016 8
Introducción a la Ingeniería del Software
Conceptos Generales (I)
 ¿Qué es un Sistema?
 «Colección de componentes organizados para cumplir una función o conjunto de
funciones específicas.» IEEE Standard 610.12-1990
 «Colección de elementos relacionados de forma que puedan realizar un objetivo
tangible.» Pressman 1982
 Conjunto de elementos de hardware, software, personas, procedimientos,
herramientas y otros factores organizativos, organizados para llevar a cabo un
objetivo común.
Sistema de
Entrada Elemento del
Sistema
sistema

Elemento del Elemento del


sistema sistema

Elemento del
sistema Sistema de
Salida

Ing. Alfonso López Palacio – Docente de Ingeniería del Software I


04/02/2016 9
Introducción a la Ingeniería del Software
Conceptos Generales (II)
 ¿Qué es Ingeniería?
“Es la profesión en la que el conocimiento de las
ciencias matemáticas y naturales adquirida por el
estudio, la experiencia y la práctica se aplica con
juicio para desarrollar formas de utilizar,
económicamente los materiales y las fuerzas de la
naturaleza para el beneficio de la humanidad.” ABET

Es el conjunto de conocimientos y técnicas


científicas aplicadas a la invención,
perfeccionamiento y utilización de la técnica
industrial para la resolución u optimización de
problemas.
04/02/2016
Ing. Alfonso López Palacio – Docente de Ingeniería del Software I
10
Introducción a la Ingeniería del Software
Conceptos Generales (III)
 ¿Qué es Ingeniería de Sistemas?
 «Ingeniería de sistemas comprende la función de gestionar todo el esfuerzo de
desarrollo para conseguir un balance óptimo entre todos los elementos del
sistema. Es el proceso que transforma la necesidad operacional en la descripción
de los parámetros del sistema, e integra esos parámetros para mejorar la
eficiencia general del sistema.» Defense Systems Management College, 1989

 «La principal función de la ingeniería de sistemas es garantizar que el sistema


satisface los requisitos durante todo el ciclo de vida. Todas las demás
consideraciones se alinean sobre esta función.» Wymore 1993

 «Los procesos de ingeniería de sistemas integran las secuencias de actividades y


decisiones que transforman la definición de una necesidad en un sistema, que
con un ciclo de vida optimizado, consigue un balance óptimo de todos sus
componentes.» USAF 1993

Ing. Alfonso López Palacio – Docente de Ingeniería del Software I


04/02/2016 11
Introducción a la Ingeniería del Software
Conceptos Generales (IV)
 Ingeniería de Sistemas - Procesos

Definición del
problema

Evaluación de los Análisis de la


procesos solución

INGENIERÍA DE
SISTEMAS

Control de los Planificación de los


procesos procesos

Ing. Alfonso López Palacio – Docente de Ingeniería del Software I


04/02/2016 12
Introducción a la Ingeniería del Software
Conceptos Generales (VI)
 ¿Qué es el Software?
 «Programas, procedimientos, documentación y
estructuras de datos asociadas, relacionados con la
operación de un sistema informático» IEEE Std. 610

DATOS

SOFTWARE

PROGRAMAS DOCUMENTACIÓN

Ing. Alfonso López Palacio – Docente de Ingeniería del Software I


04/02/2016 13
Introducción a la Ingeniería del Software
Conceptos Generales (VIII)
 Características de Software
No tiene forma física
Se desarrolla, no se fabrica
Los costes del SW son de ingeniería. No son de Fabricación
El SW no se rompe, se deteriora
La complejidad del mantenimiento del SW más grande que la
del HW
 Si el HW se rompe se cambia por otro y listo  Muchas
piezas.
 El SW se deteriora, y con cada cambio que se haga se deteriora
aún más  No hay piezas de recambio

Ing. Alfonso López Palacio – Docente de Ingeniería del Software I


04/02/2016 14
Introducción a la Ingeniería del Software
Conceptos Generales (VII)
 ¿Qué es Ingeniería del Software?

 «Disciplina para producir software de calidad desarrollado sobre


las agendas y costes previstos y satisfaciendo los requisitos»
S. Schach 1990, Software Engineering

 «Establecimiento y uso de principios de ingeniería para obtener


software económico que trabaje de forma eficiente en máquinas
reales»
Fritz Baver, 1968 (conferencia NATO)

 «La aplicación de un enfoque sistemático, disciplinado y


cuantificable al desarrollo, operación y mantenimiento de
software; es decir, la aplicación de la ingeniería al software ». IEEE

Ing. Alfonso López Palacio – Docente de Ingeniería del Software I


04/02/2016 15
Introducción a la Ingeniería del Software
Conceptos Generales (IX)
 Capas de la Ingeniería de Software

Apoyo automatizado o semi-automatizado para el


Text
proceso y los métodos (CASE)

Herramientas
Tareas como comunicación y análisis de
Text requerimientos, modelación del diseño,
construcción del programa, pruebas

Métodos
Text Es el fundamento de la ingeniería del software.

Proceso
Toda ingeniería se debe basar en un compromiso
Text
organizacional con la calidad
Compromisos con la calidad

Ing. Alfonso López Palacio – Docente de Ingeniería del Software I


04/02/2016 16
Introducción a la Ingeniería del Software
Conceptos Generales (X)
 Motivo del surgimiento de la Ingeniería de Software
“Crisis del software”
 Se identificó por primera vez en 1968, reunión de la OTAN.
 Primera conferencia sobre desarrollo de software.
 Término para definir a los problemas que surgían en el desarrollo de
sistemas de software.
 Se introduce el término de Ingeniería de Software.
Lo que busca la Ingeniería del Software
 Identificar los factores clave que determinan la calidad del software.
 Identificar los procesos necesarios para producir y mantener
software.
 Acotar, estructurar y desarrollar la base de conocimiento necesaria
para la producción y mantenimiento de software.
 Acabar con las malas prácticas de desarrollo y mantenimiento de
software llevadas a cabo por las empresas.
Ing. Alfonso López Palacio – Docente de Ingeniería del Software I
04/02/2016 17
Introducción a la Ingeniería del Software
¿Por qué la Ing. Del Software?

ESPECIFICACIÓN SOFTWARE
DE NECESIDAD CODIFICACIÓN FINAL

Ing. Alfonso López Palacio – Docente de Ingeniería del Software I


04/02/2016 18
Introducción a la Ingeniería del Software
¿Por qué la Ing. Del Software?

OBTENER
ESPECIFICACIÓN

RECURSO VALIDAR
HUMANO ESPECIFICACIÓN

¿PORQUE LA
INGENIERÍA
DEL SOFTWARE?
ESTRUCTURA DEL
CAMBIOS DE PROGRAMA
NECESIDADES "ARQUITECTURA"

SE CONSTRUYE EL
PROGRAMA
CORRECTO

Ing. Alfonso López Palacio – Docente de Ingeniería del Software I


04/02/2016 19
Introducción a la Ingeniería del Software
Mitos del Software(I)
La empresa ya dispone de unos estándares de
 Mitos del Software trabajo y unos procedimientos de desarrollo
establecidos y son conocidos por todos nuestros
empleados.
El equipo de trabajo dispone de las más
Mitos sobre la modernas herramientas de desarrollo y trabaja con
las máquinas más potentes.
gestión Por qué hacer una planificación exhaustiva, si
cometemos algún error, siempre podemos añadir
gente.

Una declaración general de los objetivos es suficiente


para comenzar a escribir los programas, podemos dar
Mitos del cliente los detalles más adelante.
Los requisitos del proyecto cambian continuamente,
pero los cambios pueden acomodarse fácilmente ya
que el software es flexible.

Mitos del
desarrollador No es necesaria ninguna metodología, cuanto
antes empecemos a programar, antes
acabaremos.
Lo único que realmente importa, cuando se
termina un proyecto, es que la aplicación
funcione. La documentación nadie la utiliza.

Ing. Alfonso López Palacio – Docente de Ingeniería del Software I


04/02/2016 20
Introducción a la Ingeniería del Software
Malas prácticas de desarrollo de
software(I)
 Malas prácticas de desarrollo de software
 Planificación y estimaciones imprecisas
Procesos software improvisados
No se hace planificación de riesgos.
Se sacrifica funcionalidad y calidad del producto para
cumplir plazos
No se realizan pruebas, verificaciones o revisiones del SW
 Consecuencias
Baja calidad del software desarrollado
Alto grado de desconfianza e insatisfacción en el cliente
Empresas inmaduras

Ing. Alfonso López Palacio – Docente de Ingeniería del Software I


04/02/2016 21
Introducción a la Ingeniería del Software
Malas prácticas de desarrollo de
software(II)
 Curva de fallas del hardware

Defectos fabricación Estropea


Índice de fallos

Obsolescencia

Tiempo

Ing. Alfonso López Palacio – Docente de Ingeniería del Software I


04/02/2016 22
Introducción a la Ingeniería del Software
Malas prácticas de desarrollo de
software(III)
 Curva de fallas del software
Índice de fallos

Cambio
Cambio Obsolescencia
Cambio
Curva ideal
Tiempo

Ing. Alfonso López Palacio – Docente de Ingeniería del Software I


04/02/2016 23
Introducción a la Ingeniería del Software
Complejidad del Software (I)
 ¿Por qué es complejo el Software?
 Brooks (1987): “La complejidad del Software es
una propiedad esencial y no accidental”
 Tipos
 Complejidad accidental
 Complejidad esencial
 Tres motivos:
 La complejidad del dominio del problema.
 La dificultad de controlar el proceso de
desarrollo.
 Los problemas para caracterizar sistemas
discretos.
Ing. Alfonso López Palacio – Docente de Ingeniería del Software I
04/02/2016 24
Introducción a la Ingeniería del Software
Complejidad del Software (II)

Ing. Alfonso López Palacio – Docente de Ingeniería del Software I


04/02/2016 25
Introducción a la Ingeniería del Software
Principios del Software (I)-Hooker
La razón de que exista todo
MSE (Mantenlo sencillo, estúpido)
Mantener la visión
Otros consumirán lo que usted produce
Ábrase al futuro
Planee por anticipado la reutilización
¡Piense!
Ing. Alfonso López Palacio – Docente de Ingeniería del Software I
04/02/2016 26
Introducción a la Ingeniería del Software
Ética del Software (I)
 Principios éticos del ingeniero de software
 Responsabilidad más allá de los conocimientos técnicos.
 Honestidad.
 Principios morales.
 Confidencialidad.
 Competencia.
 Problemas de la responsabilidad profesional
 Derechos de propiedad intelectual
 Uso indebido de los computadores
 Dilemas éticos
 Desacuerdo en principio con las políticas de la alta gerencia.
 El empleador actúa de forma poco ética y libera un sistema
crítico de seguridad sin terminar las pruebas del sistema.
 Participación en el desarrollo de sistemas de armamento militar
o sistemas nucleares.
Ing. Alfonso López Palacio – Docente de Ingeniería del Software I
04/02/2016 27
Introducción a la Ingeniería del Software
Tipos de soluciones software(I)
SOFTWARE

PRODUCTOS SERVCIOS DE
SOFTWARE SOFTWARE

Software de Software de
sistema aplicaciones Diseño y desarrollo de
software

Software de
productividad Procesamiento de
Sistemas operativos
datos

Otros Software de mercado


Fábrica de software
vertical

Mesa de ayuda

Ing. Alfonso López Palacio – Docente de Ingeniería del Software I


04/02/2016 28
Introducción a la Ingeniería del Software
Tipos de soluciones software(I)
Tipos de producto software No Software Paquetes de Software embebido Software como
software servicio

Clasificación del producto

Comida
Productos de consumo

Mueble

Hogar

Cemento
Productos Industriales

Fábrica

Consultoría de
gestión

Tomado Kotler, Armstrong 2010

Ing. Alfonso López Palacio – Docente de Ingeniería del Software I


04/02/2016 29
Introducción a la Ingeniería del Software
La esencia de la práctica(I)
Enteder el
problema
¿Quiénes tienen que ver con la Planear la
solución del problema?
¿Cuáles datos, funciones y solución
características se requieren para
resolver el problema en forma ¿Ha visto antes problemas
apropiada? similares?
¿Puede fraccionarse el ¿Ha resuelto un problema
problema? similar?
¿Es posible representar ¿son reutilizables los
gráficamente el problema? elementos de la solución?
¿Es capaz de representar una
solución en una forma que
lleve a su implementación
LA ESENCIA eficaz?
¿Es posible crear un modelo
DE LA del diseño?

PRÁCTICA

Examinar la
exactitud del Ejecutar el plan
resultado ¿Se ajusta la solución al plan?
¿Es probable que cada parte
¿Puede probarse cada parte componente de la solución sea
componente de la solución? correcta?
¿La solución produce resultados ¿El diseño y código se
que se apegan a los datos, han revisado?
funciones y características que
se requieren?
¿El software se ha validado
contra todos los requerimientos
de los participantes?

Ing. Alfonso López Palacio – Docente de Ingeniería del Software I


04/02/2016 30
Introducción a la Ingeniería del Software
SWEBOK (I)
 Objetivos
 Identificar el contenido de la disciplina de la Ingeniería de
Software.
 Proveer acceso al cuerpo de conocimientos de la
ingeniería de Software.
 Promover una visión uniforme y consistente de la
Ingeniería de Software a nivel mundial.
 Aclarar el lugar de la Ingeniería de Software con respecto
a otras disciplinas tales como, ciencias de la computación,
gestión de proyectos, matemáticas, etc.
 Proveer una fundamentación para el desarrollo del
currículum (programas universitarios) y material de
certificación individual.
Ing. Alfonso López Palacio – Docente de Ingeniería del Software I
04/02/2016 31
Introducción a la Ingeniería del Software
SWEBOK (II)
 Áreas del Conocimiento y disciplinas relacionadas

ÁREAS DEL
CONOCIMIENTO
ING_SOFT

Pruebas del
Software

Modelos y metododologías de la
Ingeniería del Software

Fundamento de
Matemáticas

Ing. Alfonso López Palacio – Docente de Ingeniería del Software I


04/02/2016 32
Introducción a la Ingeniería del Software
SWEBOK (III)
 Disciplinas relacionadas

Ingeniería de
Computación 1

Administración de
5 Proyectos
Ciencia de la
computación 2 DISCIPLINAS
RELACIONADAS
Gestión de la
CON LA 6 calidad
INGENIERÍA DEL
Administración 3
SOFTWARE
Ingeniería de
7 Sistemas

Matemáticas 4

Ing. Alfonso López Palacio – Docente de Ingeniería del Software I


04/02/2016 33
Introducción a la Ingeniería del Software
Bibliografía y webgrafía
LIBRO AUTOR CAPÍTULOS

Ingeniería Del Software: Un Enfoque Práctico Roger S. Pressman 1

Ingeniería del software Ian Sommerville 1

The Mythical Man-month Frederick P. Brooks 16


http://www.computer.org/web/education/code-of-ethics

http://www.computer.org/web/swebok

Ing. Alfonso López Palacio – Docente de Ingeniería del Software I


04/02/2016 34
Introducción a la Ingeniería del Software

También podría gustarte