Está en la página 1de 22

1.

El Software y la Ingeniería
de Software

Prof. Ramiro Estigarribia Canese


¿Qué es el Software?

➔ Es el producto que construyen los


programadores profesionales y al que después le
dan mantenimiento.
➔ Incluye programas que se ejecutan en una
computadora de cualquier tamaño y arquitectura,
contenido que se presenta a medida de que se
ejecutan los programas de cómputo e
información descriptiva tanto en una copia física,
como en formatos virtuales.
Importancia del Software

➔ Millones de programas de computadora tienen que


ser mejorados a medida que transcurre el tiempo.
➔ La carga de ejecutar actividades de mantenimiento
absorbe más recursos que todo el trabajo aplicado a
la creación de software nuevo.
➔ Conforme ha aumentado la importancia del software,
la comunidad de programadores ha tratado
continuamente de desarrollar tecnologías que hagan
más fácil, rápida y barata la elaboración de
programas de cómputo de alta calidad.
La Naturaleza del Software

➔ El software distribuye el producto más importante de


nuestro tiempo: información.
➔ Transforma los datos (por ejemplo, las transacciones
financieras de un individuo) para que puedan ser más
útiles, administra la información de negocios para
mejorar la competitividad, provee una vía para las
redes mundiales de información (internet) y brinda
los medios para obtener información en todas sus
formas.
Evolución Tecnológica

➔ Las mejoras en el hardware, los cambios en las


arquitecturas, el incremento en memoria y
almacenamiento, y una amplia variedad de opciones de
entradas y salidas exóticas han propiciado la existencia
de sistemas sofisticados y complejos.
➔ Han reemplazado al programador solitario de los
primeros tiempos, por grupos de trabajo.
Preguntas en Sistemas

Las preguntas que se hacía el programador antiguo, son


las mismas que nos hacemos hoy día:
➔ ¿Por qué se requiere tanto tiempo para terminar un
software de calidad?
➔ ¿Por qué no podemos detectar todos los errores antes
de entregar el software a nuestros clientes?
➔ ¿Por qué dedicamos tanto tiempo y esfuerzo a
mantener los programas existentes?
➔ ¿Por qué seguimos con dificultades para medir el
avance mientras se desarrolla el software?
Software vs Hardware

El software se desarrolla con intelecto, no se fabrica en


el sentido clásico.
Similitudes entre el desarrollo de software y la
fabricación de hardware:
➔ En ambas, la alta calidad se logra a través de un buen
diseño y análisis.
➔ Ambas actividades dependen de personas, pero la
relación entre los individuos dedicados y el trabajo
logrado es diferente por completo.
El Software no se Desgasta

1. El hardware presenta una tasa de fallas elevada en


una etapa temprana de su vida (defectos de fábrica);
luego los defectos se corrigen y la tasa de fallas baja
a un nivel estable.
2. Durante su vida, el software sufrirá cambios. Es
probable que cuando éstos se realicen, se
introduzcan errores que ocasionen que la curva de
tasa de fallas tenga aumentos súbitos.
Curva de fallas del hardware
Curvas de falla del software
Dominios de aplicación del software.

Actualmente, hay siete grandes categorías que plantean retos


continuos a los ingenieros de software:

1. Software de sistemas: Manejan a los dispositivos físicos.


2. Software de aplicación: Resuelven una necesidad
específica de negocios.
3. Software de ingeniería y ciencias.
4. Software incrustado: reside dentro de un producto.
5. Software de línea de productos: orientado a consumidores.
6. Aplicaciones web y móvil.
7. Software de inteligencia artificial: robótica, sistemas
expertos, reconocimiento de patrones.
¿Qué son WebApps?

En la ingeniería de software se denomina aplicación


web a aquellas herramientas que los usuarios
pueden utilizar accediendo a un servidor web a
través de Internet.
Los sistemas y aplicaciones basados en Web hacen
posible que una población extensa de usuarios
finales tengan acceso de una gran variedad de
contenido y funcionalidad.
Importancia

Las WebApps han ganado importancia debido:


1. A lo práctico del navegador web como cliente
ligero.
2. La independencia del sistema operativo.
3. La facilidad para actualizar y mantener
aplicaciones web sin distribuir e instalar software a
miles de usuarios potenciales.
¿Qué es Software Heredado?

Son sistemas desarrollados hace varias décadas y que han


sido modificados de manera continua para que satisfagan
los negocios y plataformas actuales.

➔ Es causa de dolores de cabeza para las organizaciones


grandes, a las que resulta costoso mantenerlos y riesgoso
hacerlos evolucionar.

Desafortunadamente, en ocasiones hay otra característica


presente: Mala calidad:
1. Diseños que no son susceptibles de extenderse
2. Código confuso.
3. Documentación mala o inexistente.
¿Qué es la Ingeniería del SW?

La Ingeniería del Software es una nueva área de la


Informática, que ofrece métodos y técnicas para
desarrollar y mantener software de calidad.
El ingeniero del software comienza a ser una profesión
implantada en el mundo laboral internacional, con
derechos, deberes y responsabilidades que cumplir,
junto a una, ya, reconocida consideración
social en el mundo empresarial.
http://www.careercast.com/jobs-rated/2012-ranking-200
-jobs-best-worst
Definiciones

Definición 1
Ingeniería de Software: es el estudio de los principios y
metodologías para desarrollo y mantenimiento de
sistemas de software [Zelkovitz, 1981].
Definición 2
Ingeniería del Software: es la aplicación práctica del
conocimiento científico en el diseño y construcción de
programas de computadora y la documentación
asociada requerida para desarrollar, operar (funcionar) y
mantenerlos. [Bohem, 1976].
Capas de la I.S.

➔ El fundamento en el que se apoya la ingeniería de


software es el compromiso con la calidad.
➔ El proceso define una estructura que debe establecerse
para la obtención eficaz de tecnología.
➔ Los métodos proporcionan la experiencia para desarrollar.
➔ Las herramientas proporcionan un apoyo automatizado.
Mitos del Desarrollo de SW.

Mito: Si nos atrasamos en un proyecto, podemos agregar


más programadores y ponernos al día.
Realidad: El desarrollo del software no es un proceso
mecánico similar a la manufactura.
➔ En palabras del autor Brooks: “agregar personal a un
proyecto de software retrasado lo retrasa más”.
➔ A medida que se agregan personas, las que ya se
encontraban trabajando deben dedicar tiempo para
enseñar a los recién llegados.
Mito de tercerizar el trabajo.

Mito: Si decido subcontratar el proyecto de software a


un tercero, puedo descansar y dejar que esa compañía
lo elabore.
Realidad: Si una organización no comprende cómo
administrar y controlar proyectos de software, de
manera invariable tendrá dificultades cuando
subcontrate proyectos de software.
Mito del trabajo terminado.

Mito: Una vez que escribimos el programa y


hacemos que funcione, nuestro trabajo ha
terminado.
Realidad: Los datos de la industria indican que entre
60 y 80% de todo el esfuerzo dedicado al software
ocurrirá después de entregarlo al cliente por primera
vez.
Resumen y Conclusiones

➔ La Ingeniería del Software es una nueva área de la


Informática, que ofrece métodos y técnicas para
desarrollar y mantener software de calidad.
➔ Los sistemas y aplicaciones basados en Web
hacen posible que una población extensa de
usuarios finales tengan acceso de una gran
variedad de contenido y funcionalidad.

También podría gustarte