Está en la página 1de 38

Un poco de historia

Contexto y actualidad
Un poco de historia
Ingenierı́a de software Actual

Introducción a la Ingenierı́a de Software


Curso: Análisis y Diseño Orientado a Objetos

Prof. Ulises Vélez Saldaña

Escuela Superior de Computo I.P.N.


ulises.velez.ipn@gmail.com

24 de agosto de 2022

U. Vélez Ing. Soft – Introducción


Un poco de historia
Contexto y actualidad
Un poco de historia
Ingenierı́a de software Actual

1 Un poco de historia

2 Contexto y actualidad

3 Un poco de historia

4 Ingenierı́a de software Actual

U. Vélez Ing. Soft – Introducción


Un poco de historia
Contexto y actualidad
Un poco de historia
Ingenierı́a de software Actual

“The best programs are written so that computing machines


can perform them quickly and so that human beings can unders-
tand them clearly. A programmer is ideally an essayist who works
with traditional aesthetic and literary forms as well as mathema-
tical concepts, to communicate the way that an algorithm works
and to convince a reader that the results will be correct.”
– Donald E. Knuth, Selected Papers on Computer Science

U. Vélez Ing. Soft – Introducción


Un poco de historia
Contexto y actualidad
Un poco de historia
Ingenierı́a de software Actual

“Los mejores programas están escritos para que las compu-


tadoras puedan ejecutarlos rápidamente y los seres humanos en-
tenderlos claramente. Un programador es idealmente un ensayista
que trabaja con formas estéticas y literarias tradicionales, ası́ co-
mo con conceptos matemáticos, para comunicar la manera en
que un algoritmo trabaja y para convencer al lector de que el
resultado será correcto.”
– Donald E. Knuth, Selected Papers on Computer Science

U. Vélez Ing. Soft – Introducción


Un poco de historia
El origen de las demás ingenierı́as
Contexto y actualidad
La industria del software
Un poco de historia
Impacto del software en la sociedad
Ingenierı́a de software Actual

1 Un poco de historia

2 Contexto y actualidad
El origen de las demás ingenierı́as
La industria del software
Impacto del software en la sociedad

3 Un poco de historia

4 Ingenierı́a de software Actual

U. Vélez Ing. Soft – Introducción


Un poco de historia
El origen de las demás ingenierı́as
Contexto y actualidad
La industria del software
Un poco de historia
Impacto del software en la sociedad
Ingenierı́a de software Actual

Hace 2.8 millones de años

¿Cuándo inició la Ingenierı́a Textil?


Confección de vestimentas de pieles y uso de lino ası́ como cultivo
del algodón hacia el 1500 AC.

¿Y la ingenierı́a de Software?

U. Vélez Ing. Soft – Introducción


Un poco de historia
El origen de las demás ingenierı́as
Contexto y actualidad
La industria del software
Un poco de historia
Impacto del software en la sociedad
Ingenierı́a de software Actual

Hace 2.8 millones de años

¿Cuándo inició la Ingenierı́a Civil?


Construcción de puentes, caminos y señalamientos, ası́ como
adaptación de viviendas hacia el 4000 AC.

¿Y la ingenierı́a de Software?

U. Vélez Ing. Soft – Introducción


Un poco de historia
El origen de las demás ingenierı́as
Contexto y actualidad
La industria del software
Un poco de historia
Impacto del software en la sociedad
Ingenierı́a de software Actual

Hace 2.8 millones de años

¿Cuándo inició la Ingenierı́a Quı́mica?


Uso del fuego y otras técnicas para transformar la estructura
molecular de sus alimentos, medicinas, tintes, etc. desde hace 1.6
millones de años atrás.

¿Y la ingenierı́a de Software?

U. Vélez Ing. Soft – Introducción


Un poco de historia
El origen de las demás ingenierı́as
Contexto y actualidad
La industria del software
Un poco de historia
Impacto del software en la sociedad
Ingenierı́a de software Actual

¿Y el software?

El software no habı́a sido conceptualizado, utilizado, identificado o


siquiera pensado sino hasta hace poco más de cien años.
El término Software se le atribuye a John W. Tukey quien lo utilizó
en 1957 por primera vez.
El desarrollo de la primer computadora (ENIAC) y su consecuente
impacto económico abarca el periodo de 1943 a 1955.
El “Software” como un ente separado del “Hardware” no fue posible
si no hasta la introducción de la Arquitectura de Von Newmann en
1949.
Ls fundamentos teóricos para dicha arquitectura están basados en
las investigaciones de Alan Turing (1936) y las contribuciones de
Charles Babbage (1847–1849).

U. Vélez Ing. Soft – Introducción


Un poco de historia
El origen de las demás ingenierı́as
Contexto y actualidad
La industria del software
Un poco de historia
Impacto del software en la sociedad
Ingenierı́a de software Actual

¿Cómo surgió la industria del software?

El surgimiento de un mercado de
consumo, profesionistas dedicados a
esta ingenierı́a, la materialización del
software como producto y su
consecuente puesta al servicio de la
sociedad surge a partir de 1949.
Esto ha provocado una revolución sin
igual que ha estado cambiando la vida
de las personas de manera vertiginosa.
La humanidad se encuentra ahora
mismo jugando con un artefacto
sumamente nuevo, altamente flexible y
muy poderoso.

U. Vélez Ing. Soft – Introducción


Un poco de historia
El origen de las demás ingenierı́as
Contexto y actualidad
La industria del software
Un poco de historia
Impacto del software en la sociedad
Ingenierı́a de software Actual

Caracterı́sticas de la Industria del software

La industria del software y la Ingenierı́a de


software no cuentan con el respaldo de miles
de años de práctica como las otras industrias e
ingenierı́as.
Los fundamentos teóricos que la soportan y
las disciplinas que se practican tiene en la
industria numerosos fracasos que han causado
daños cuantiosos.
La humanidad tiene la frenética tarea de crear
esa experiencia en una sociedad que en pocas
décadas ha puesto su vida en manos del
software.

U. Vélez Ing. Soft – Introducción


Un poco de historia
El origen de las demás ingenierı́as
Contexto y actualidad
La industria del software
Un poco de historia
Impacto del software en la sociedad
Ingenierı́a de software Actual

Impacto del software en la sociedad (2019)

53 % de la población mundial tiene acceso a internet (67 % en


latinoamerica).
Paı́ses europeos realizan hasta el 85 % de sus compras vı́a internet.
De todos los internautas los idiomas más hablados son Inglés, Chino,
Español y Árabe, cubriendo poco más de la mitad, siendo el resto de
los usuarios de más de 1000 idiomas diferentes.
Europa tiene una penetración de usuarios de internet de más del
90 % de su población mientras en ciertas regiones de África es de
apenas el 12 %.
55 % de la población vive en zonas urbanas y el 53 % tiene acceso a
internet.
En México hay una penetración de 65 % de internet en la población
(apenas por encima del promedio mundial).

U. Vélez Ing. Soft – Introducción


Un poco de historia
El origen de las demás ingenierı́as
Contexto y actualidad
La industria del software
Un poco de historia
Impacto del software en la sociedad
Ingenierı́a de software Actual

Otros datos importantes

La penetración de internet y del software ha crecido mucho en muy


poco tiempo, habiendo paı́ses en donde prácticamente toda su
economı́a se lleva a cabo en lı́nea.
La penetración de las tecnologı́as hace más difı́cil que los paı́ses con
más desventaja económica alcance a los paı́ses más avanzados.
Que la mitad de la población mundial viva al margen de todo este
progreso es bastante injusto.
La diversidad de idiomas hace que quienes hagan software deban
pensar en esta diversidad de idiomas y de todos los aspectos
socioculturales involucrados.

U. Vélez Ing. Soft – Introducción


Un poco de historia
El origen de las demás ingenierı́as
Contexto y actualidad
La industria del software
Un poco de historia
Impacto del software en la sociedad
Ingenierı́a de software Actual

Actividades humanas afectadas por el software

Prácticamente todas las actividades humanas usan software o dependen


de él de alguna forma u otra.

U. Vélez Ing. Soft – Introducción


Un poco de historia
El origen de las demás ingenierı́as
Contexto y actualidad
La industria del software
Un poco de historia
Impacto del software en la sociedad
Ingenierı́a de software Actual

Actividades humanas afectadas por el software


Prácticamente todas las actividades humanas usan software o dependen
de él de alguna forma u otra.

U. Vélez Ing. Soft – Introducción


Un poco de historia
El origen de las demás ingenierı́as
Contexto y actualidad
La industria del software
Un poco de historia
Impacto del software en la sociedad
Ingenierı́a de software Actual

Actividades humanas afectadas por el software


Prácticamente todas las actividades humanas usan software o dependen
de él de alguna forma u otra.

U. Vélez Ing. Soft – Introducción


Un poco de historia
El origen de las demás ingenierı́as
Contexto y actualidad
La industria del software
Un poco de historia
Impacto del software en la sociedad
Ingenierı́a de software Actual

Actividades humanas afectadas por el software


Prácticamente todas las actividades humanas usan software o dependen
de él de alguna forma u otra.

U. Vélez Ing. Soft – Introducción


El origen de la Ingenierı́a de Software
Un poco de historia
El desarrollo de la Ingenierı́a de Software
Contexto y actualidad
La crisis del software
Un poco de historia
Casos
Ingenierı́a de software Actual
El desarrollo de la Ingenierı́a de Software

1 Un poco de historia

2 Contexto y actualidad

3 Un poco de historia
El origen de la Ingenierı́a de Software
El desarrollo de la Ingenierı́a de Software
La crisis del software
Casos
El desarrollo de la Ingenierı́a de Software

4 Ingenierı́a de software Actual

U. Vélez Ing. Soft – Introducción


El origen de la Ingenierı́a de Software
Un poco de historia
El desarrollo de la Ingenierı́a de Software
Contexto y actualidad
La crisis del software
Un poco de historia
Casos
Ingenierı́a de software Actual
El desarrollo de la Ingenierı́a de Software

Origen de la Ingenierı́a de Software


El término fue utilizado por primera vez por Anthony Oettinger una carta
escrita como presindente de la ACM1 .
Software Engineering
Disciplina destinada a solventar la necesidad de que el software sea
manufacturado con base en fundamentos teóricos y disciplinas prácticas.

Anthony Oettinger, 1965

1 Association for Computing Machinery


U. Vélez Ing. Soft – Introducción
El origen de la Ingenierı́a de Software
Un poco de historia
El desarrollo de la Ingenierı́a de Software
Contexto y actualidad
La crisis del software
Un poco de historia
Casos
Ingenierı́a de software Actual
El desarrollo de la Ingenierı́a de Software

Ingenierı́a de software
Es la aplicación sistemática de conocimiento cientı́fico y tecnológico,
métodos y experiencia para diseñar, implementar, probar y
documentar software. — The Bureau of Labor Statistics–IEEE
Systems and software engineering - Vocabulary.
Es la aplicación de formas sistemáticas, disciplinadas y cuantificables
para desarrollar operar y mantener el software. — IEEE Standard
Glossary of Software Engineering Terminology.
Una disciplina enfocada a todos los aspectos de la producción de
software. — Ian Sommerville.
El establecimiento y uso de principios para obtener software que
económicamente sea rentable y trabaje eficientemente en una
máquina real — Fritz L. Bauer
Una rama de las ciencias computacionales que se enfoca en el
diseño, implementación y mantenimiento de programas de
computadora complejos — Merriam Webster.
U. Vélez Ing. Soft – Introducción
El origen de la Ingenierı́a de Software
Un poco de historia
El desarrollo de la Ingenierı́a de Software
Contexto y actualidad
La crisis del software
Un poco de historia
Casos
Ingenierı́a de software Actual
El desarrollo de la Ingenierı́a de Software

Campo de la Ingenierı́a de Software, 1969

Entre 1968 y 1969 se llevaron a cabo las Conferencias NATO2 de


Ingenierı́a de Software en las cuales expertos internacionales discutieron
sobre la aplicación del software como ingenierı́a. Como resultado de las
conferencias se planteó lo siguiente.
El problema de alcanzar la suficiente confiabilidad en el sistema de
datos que ha estado creciendo en su integración con las actividades
de la sociedad moderna.
Las dificultades para lograr especificaciones y planeaciones
adecuadas para proyectos grandes.
La formación de profesionistas de software o sistemas de datos.
La pregunta altamente controversial en su época de si el software
debe ser cotizado de manera separada del Hardware.

2 North Atlantic Treaty Organization


U. Vélez Ing. Soft – Introducción
El origen de la Ingenierı́a de Software
Un poco de historia
El desarrollo de la Ingenierı́a de Software
Contexto y actualidad
La crisis del software
Un poco de historia
Casos
Ingenierı́a de software Actual
El desarrollo de la Ingenierı́a de Software

La crisis del software

Durante los 60’s, 70’s y finalmente los 80’s se presentaron grandes


problemas provocados por proyectos de software.
Existen varios casos bien documentados que describen lo sucedido y
muestran las caracterı́sticas que rodean a dichos proyectos
Se presentaron:
Problemas en el desarrollo.
Proyectos que consumieron más presupuesto y tiempo de los
proyectados.
Daños a la propiedad privada.
Pérdida de vidas humanas.

U. Vélez Ing. Soft – Introducción


El origen de la Ingenierı́a de Software
Un poco de historia
El desarrollo de la Ingenierı́a de Software
Contexto y actualidad
La crisis del software
Un poco de historia
Casos
Ingenierı́a de software Actual
El desarrollo de la Ingenierı́a de Software

Caso: Stretch Project

Livermore solicita a IBM.


Una computadora capaz de hacer Cálculos Hidrodinámicos
Tridimensionales 2MIPS.
2.5 millones de dólares y tres años.
Tras un año de trabajo el lı́der cambió el diseño a Transistores de
Difusión, despidió al equipo de trabajo y renegoció el contrato.
10 MIPS, un millón más y un año más.
El proyecto se efectuó al final para otro cliente teniendo cono
resultado: 13.5 millones de dólares, y cumpliendo con de 2 a 4 MIPS
(1.2 según Benchmarks).
Proyecto fuera de presupuesto y tiempo.

U. Vélez Ing. Soft – Introducción


El origen de la Ingenierı́a de Software
Un poco de historia
El desarrollo de la Ingenierı́a de Software
Contexto y actualidad
La crisis del software
Un poco de historia
Casos
Ingenierı́a de software Actual
El desarrollo de la Ingenierı́a de Software

Caso: Mariner 1 (1962)

Nave espacial para realizar un vuelo planetario a Venus.


Costo de 18.5 millones de dolares.
Lanzada a bordo del cohete Atlas-Agena en julio 22 del mismo año.
El Mariner 1 comenzó a responder inapropiadamente a los comandos
(fallo en el sistema de navegación atribuido al software).
Un oficial de seguridad ordenó su auto destrucción y abortando la
misión tras 294.5 segundos del lanzamiento.
Daño a la propiedad.

U. Vélez Ing. Soft – Introducción


El origen de la Ingenierı́a de Software
Un poco de historia
El desarrollo de la Ingenierı́a de Software
Contexto y actualidad
La crisis del software
Un poco de historia
Casos
Ingenierı́a de software Actual
El desarrollo de la Ingenierı́a de Software

Caso: Therac 25, vidas humanas


Máquina de radio terapia controlada por computadora
Atom Energy of Canada Limited en 1982
Al menos seis accidentes entre 1985 y 1987 en los cuales los
pacientes obtuvieron sobredosis masivas de radiación.
Errores de programación concurrente, haciendo que se dieran dosis
de radiación que fueron miles de veces mayores a lo indicado,
resultando en muertes y severos daños a la salud.
Excesiva confianza de los ingenieros y la poca diligencia con que se
resolvı́an los errores reportados.
Dos errores simultáneos: 1 Cuando el operador incorrectamente
seleccionaba el modo de Rayos-X y rápidamente corregı́a a modo
Electrón, el haz emitı́a Rayos-X incluso sin el objetivo colocado.
Se activaba la emisión de electrones en modo haz de luz, incluso
cuando no estaba colocado ni el escanear ni el objetivo.
Los bloqueadores fı́sicos fueron reemplazados por controles por
software.
U. Vélez Ing. Soft – Introducción
El origen de la Ingenierı́a de Software
Un poco de historia
El desarrollo de la Ingenierı́a de Software
Contexto y actualidad
La crisis del software
Un poco de historia
Casos
Ingenierı́a de software Actual
El desarrollo de la Ingenierı́a de Software

Caso: Therac 25, (continuación)

Los pacientes recibieran hasta 100 veces más radiación


(potencialmente letales).
Rax Cox describió la sensación como estar recibiendo choques
eléctricos, lo cual lo hacia gritar y salir corriendo del cuarto de
tratamiento.
Los pacientes empezaron a aparecer quemaduras por radiación y
sı́ntomas caracterı́sticos de envenenamiento radiactivo, en tres de los
casos presentados.
Los pacientes lesionados murieron a causa de la sobredosis.

U. Vélez Ing. Soft – Introducción


El origen de la Ingenierı́a de Software
Un poco de historia
El desarrollo de la Ingenierı́a de Software
Contexto y actualidad
La crisis del software
Un poco de historia
Casos
Ingenierı́a de software Actual
El desarrollo de la Ingenierı́a de Software

Caso: Therac 25, (continuación)


La ausencia de una revisión independiente del código.
La ausencia de un diseño, no considerar los efectos de la máquina
sobre el sistema ni identificar los modos posibles de fallo.
Cuando el sistema detectaba una falla o calentamiento del haz de
Rayos-X, solamente arrojaba el mensaje “MALFUNCTION” y un
numero del 1 al 64, el cual se borraba con la letra P y el manual no
explicaba que hacer ante ese error.
el Hardware y Software nunca fueron probados juntos.
Secuencias de caracteres que daban resultados inesperados.
Ausencia de bloqueos por hardware.
Código heredado de otros proyectos que no se revisaron.
El hardware no permitı́a saber si los sensores funcionaban.
La ausencia de sincronización de procesos y que se incrementaban
variables bandera en lugar de asignar valores precisos provocando a
la larga desbordamiento de las variables.
U. Vélez Ing. Soft – Introducción
El origen de la Ingenierı́a de Software
Un poco de historia
El desarrollo de la Ingenierı́a de Software
Contexto y actualidad
La crisis del software
Un poco de historia
Casos
Ingenierı́a de software Actual
El desarrollo de la Ingenierı́a de Software

Avances posteriores a la crisis del software

A partir de la crisis del Software surgieron varios de avances


significativos:
Evolución de herramientas tales como IDE’s, Software CASE,
validadores, analizadores, etc.
Procesos de desarrollo cada vez más flexibles y eficaces, enfocados
en alcanzar los objetivos de manera rápida.
Técnicas y herramientas de especificación de software y de diseño.
Existen estándares y reglas que ayudan a organizar y facilitar la
comunicación de ideas desde los usuarios y clientes hasta los
desarrolladores y testers.
Teorı́as y técnicas que permiten definir y alcanzar de una manera
eficaz y efectiva métricas de calidad para el software.

U. Vélez Ing. Soft – Introducción


El estado actual (año 2019) de la Ingenierı́a de Software
Un poco de historia
En el campo de las herramientas
Contexto y actualidad
En el campo de la teorı́a
Un poco de historia
En el campo de los procesos
Ingenierı́a de software Actual
Definición de Ingenierı́a de Software

1 Un poco de historia

2 Contexto y actualidad

3 Un poco de historia

4 Ingenierı́a de software Actual


El estado actual (año 2019) de la Ingenierı́a de Software
En el campo de las herramientas
En el campo de la teorı́a
En el campo de los procesos
Definición de Ingenierı́a de Software

U. Vélez Ing. Soft – Introducción


El estado actual (año 2019) de la Ingenierı́a de Software
Un poco de historia
En el campo de las herramientas
Contexto y actualidad
En el campo de la teorı́a
Un poco de historia
En el campo de los procesos
Ingenierı́a de software Actual
Definición de Ingenierı́a de Software

Situación actual (reciente)

Es importante señalar que ninguna solución es permanente:


No Silver Bullet – Essence and Accident in Software Engineering por
Fren Brooks.
Un simple desarrollo, tecnologı́a o técnica no puede por sı́
misma prometer una mejora en una orden de magnitud (diez
veces) dentro de una década en productividad, confiabilidad o
simplicidad.
Quiere decir que: Cada que aparece una nueva técnica,
procedimiento o método se cree que se ha dado con la solución a
todos nuestros problemas o hay quienes pretenden aplicar la solución
en todos lados: SOA, Agile, UML, Scrum, Responsive, etc.

U. Vélez Ing. Soft – Introducción


El estado actual (año 2019) de la Ingenierı́a de Software
Un poco de historia
En el campo de las herramientas
Contexto y actualidad
En el campo de la teorı́a
Un poco de historia
En el campo de los procesos
Ingenierı́a de software Actual
Definición de Ingenierı́a de Software

Complejidad Accidental y Complejidad Esencial

Complejidad Esencial
Es aquella inherente al problema que se desea resolver y es inevitable
para los involucrados en el proyecto.

Es imposible reducir el esfuerzo y recursos que se requieren para


afrontar esta complejidad.
Ejemplo: Un sistema capaz de codificar y descodificar la
información en una tarjeta de tecnologı́a especı́fica; la complejidad
inherente a la codificación y al dispositivo no puede ser abatida,
como tampoco el tiempo y esfuerzo necesario para comprenderla,
entenderla y diseñar una solución.
De hecho, la complejidad crece de la misma manera si el desarrollo
consiste en decodificar y utilizar dispositivos de dos o tres tarjetas de
fabricación y codificación muy diferente entre si.

U. Vélez Ing. Soft – Introducción


El estado actual (año 2019) de la Ingenierı́a de Software
Un poco de historia
En el campo de las herramientas
Contexto y actualidad
En el campo de la teorı́a
Un poco de historia
En el campo de los procesos
Ingenierı́a de software Actual
Definición de Ingenierı́a de Software

Complejidad Accidental y Complejidad Esencial


Complejidad Accidental
Es aquella inherente a las herramientas, procesos y decisiones que
tomamos mientras resolvemos el problema, esta se puede atacar y reducir.

Ejemplo: supongamos que tenemos la elección de desarrollar un


módulo en ensamblador o usar un lenguaje avanzado como Java o
Python.
Dependiendo de las caracterı́sticas del módulo una tecnologı́a u otra
podrı́a hacer que la complejidad del desarrollo sea muy alta o muy
baja.
De la misma forma sucede con los procesos, métodos y herramientas.
Cada uno de ellos, incorpora un cierto grado de complejidad que
resulta accidental cuando no es la idónea para construir la solución.
Brooks establece que una tecnologı́a o técnica puede abatir la
Complejidad Accidental, pero no podrı́a abatir la Complejidad
Esencial.
U. Vélez Ing. Soft – Introducción
El estado actual (año 2019) de la Ingenierı́a de Software
Un poco de historia
En el campo de las herramientas
Contexto y actualidad
En el campo de la teorı́a
Un poco de historia
En el campo de los procesos
Ingenierı́a de software Actual
Definición de Ingenierı́a de Software

Herramientas resultados de avances en la Ingenierı́a de


software

Entornos de Desarrollo Integrado Incluyen analizadores, compiladores,


depuradores, enlazadores y herramientas para pruebas y
despliegue ası́ como métricas especializadas.
Sistemas de control de versiones como Git, SVN, CVS, etc.
Gestión de defectos y del conocimiento Sistemas para organizar y
comunicar los activos del análisis y las pruebas.
Pruebas automatizadas Repetición automática de pruebas programables
y configurables.
Herramientas CASE Para analizar, diseñar y generar código.

U. Vélez Ing. Soft – Introducción


El estado actual (año 2019) de la Ingenierı́a de Software
Un poco de historia
En el campo de las herramientas
Contexto y actualidad
En el campo de la teorı́a
Un poco de historia
En el campo de los procesos
Ingenierı́a de software Actual
Definición de Ingenierı́a de Software

Teorı́a de Ingenierı́a de software

Especificación de requerimientos UseCases, User histories, CRC’s, UML,


OCL, BPMN, etc.
Diseño de software: Lineamientos, principios, patrones de diseño, diseño
de lenguajes y bibliotecas, elementos arquitectónicos y
refactorización.
Propiedades de software Clasificación, métricas, enfoques y técnicas
especializadas.
Fundamentos de la calidad Calidad definida para software, unificación de
prácticas y construcción de herramientas.

U. Vélez Ing. Soft – Introducción


El estado actual (año 2019) de la Ingenierı́a de Software
Un poco de historia
En el campo de las herramientas
Contexto y actualidad
En el campo de la teorı́a
Un poco de historia
En el campo de los procesos
Ingenierı́a de software Actual
Definición de Ingenierı́a de Software

Avances en procesos
Estándares de toma de requerimientos Actualmente existen varios
estándares, certificaciones y buenas prácticas
(ISO/IEC/IEEE 29148:2018, IEEE 830, PMI-PBA,
BABoK, IREB, etc.).
Análisis del negocio En los últimos años, se ha puesto mas énfasis que el
análisis debe tener un campo de atención más amplio.
Estándares de calidad No solamente se ha avanzado en definiciones y
conceptos relativos a la calidad, también en procesos y
herramientas que si se conjugan adecuadamente pueden
generarse muy buenos resultados y cumplir adecuadamente
las exigencias al sistema (ISO, IEEE, iSTQB, etc.).
Metodologı́as ágiles Los procesos de desarrollo han ido en evolución a lo
largo de los años. Aunque algunos han demostrado ser
prácticamente obsoletos en la actualidad, muchos de ellos
son sumamente útiles y tienen la madurez suficiente para
crear otras nuevas prácticas centrados en la eficiencia y
eficacia.
U. Vélez Ing. Soft – Introducción
El estado actual (año 2019) de la Ingenierı́a de Software
Un poco de historia
En el campo de las herramientas
Contexto y actualidad
En el campo de la teorı́a
Un poco de historia
En el campo de los procesos
Ingenierı́a de software Actual
Definición de Ingenierı́a de Software

Ingenierı́a de software
Es el conjunto de fundamentos teóricos y disciplinas prácticas para
desarrollar, operar y mantener el software que la sociedad requiere.

Está organizada y compuesta por Teorı́as y Prácticas.


Las Teorı́as están fundamentadas. Especı́ficamente por las ciencias
computacionales, las matemáticas y la psicologı́a.
Las Prácticas introducen disciplina: orden y constancia.
La disciplina es un método efectivo para desarrollar habilidades o
actitudes.
Abarca todos los procesos de software: desarrollo, operación y
mantenimiento; sin olvidar que el desarrollo incluye proceso de
calidad y de administración de proyectos.
El objetivo principal de esta disciplina es desarrollar el software
que la sociedad requiere.

U. Vélez Ing. Soft – Introducción


El estado actual (año 2019) de la Ingenierı́a de Software
Un poco de historia
En el campo de las herramientas
Contexto y actualidad
En el campo de la teorı́a
Un poco de historia
En el campo de los procesos
Ingenierı́a de software Actual
Definición de Ingenierı́a de Software

Enfoque de la Ingenierı́a de software

No está enfocada solamente a principios económicos, de eficiencia,


seguridad y demás atributos identificables o relevantes.
Está enfocada en alcanzar las propiedades y atributos que la
sociedad requiera.
Incluye a quienes pagan por el software, a quienes lo realizan y dan
mantenimiento, a quienes lo utilizan y a quienes son afectados
indirectamente por el mismo.

U. Vélez Ing. Soft – Introducción


El estado actual (año 2019) de la Ingenierı́a de Software
Un poco de historia
En el campo de las herramientas
Contexto y actualidad
En el campo de la teorı́a
Un poco de historia
En el campo de los procesos
Ingenierı́a de software Actual
Definición de Ingenierı́a de Software

SWEBoK

Actualmente la IEEE Computer Society publica el “Software


Engineering Body of Knowledge”3 (SWEBoK Guide V3.0), la cual
concentra todas las teorı́as y prácticas que conforman la Ingenierı́a
de Software. Como Muchos conceptos y temas están fuertemente
relacionados con los de las ciencias computacionales, la ingenierı́a de
software está alineada con otras disciplinas y está fuertemente
relacionada con esta ciencia.
La ACM4 publicó la forma en que se relacionan las disciplinas más
importantes al rededor de la industria del software.

3 La versión más reciente 3.0, fue publicada en el año 2014.


4 Association for Computing Machinery por sus siglas en inglés.
U. Vélez Ing. Soft – Introducción

También podría gustarte