Está en la página 1de 6

El Software y la ingeniería detras del mismo

Buen día Ingenieros del futuro, artesanos del Byte y arquitectos


del sistema neuronal productor de nuestra querida Honduras,
les doy la bienvenida al tema introductorio de esta asignatura
tan importante como lo es la ingeniería de software, que como
su nombre lo indica es añadir a los software una buena dosis de
lo que a los ingenieros nos diferencia de un mortal técnico y es:
buenas prácticas, estándares, documentación y mejora continua. En estos dorados tiempos,
en los que el mundo se volvió tan complejo y lleno de información por todas es importante
saber que aquellas personas que logren interpretar todo este flujo continuo de datos
tendrá siempre la ventaja contra otras, asimismo las empresas que dominen su información
y logren ponerla de forma oportuna a los tomadores de decisiones serán las que reinen en
este competitivo y cada vez más variado mundo de oferta y demanda.
Pero, ¿por dónde comenzamos?, nuestro punto de partida será un término que estoy
seguro están aburridos de escuchar: El Software.

El Software
Son los programas y la documentación de estos, así como sus requisitos y modelos de
diseño. El software en este milenio es el diferenciador entre un negocio grande y uno
pequeño.
Los programas no son los únicos componentes del software, ya que
por si solos los programas pueden llegar a ser inútiles.

Material facilitado por Ing. Gerardo Josué Portillo (gerardo.portillo@uth.hn)


Antes Después
El software es un importante aliado de negocios

Atributos de un buen software


Los atributos son aquellas características que distinguen a algo, un buen software debe
cumplir como mínimo con lo siguiente:

 Mantenibilidad: el software debe tener capacidad de poder darle mantenimiento, o


sea, este debe permitir personalizarse para evolucionar y poder cambiar las reglas del
negocio para que este no quede atado a una sola forma de trabajo.
 Fiabilidad: La información proporcionada por el software debe ser confiable para no
fomentar una mala toma de decisiones, por ejemplo un reporte de ventas debe
mostrar las ventas tal y como sucedieron y no valores que no cuadren o que no sean
verdaderos.
 Eficiencia: un software no debe derrochar los recursos de las computadoras en las
cuales este va a funcionar, así como los servidores y la red de información sobre la
cual este trabaja.
 Aceptabilidad: el éxito de un software se basa en su ergonomía, la facilidad con que
este es entendible y usable. Si un software es aceptable por los usuarios entonces sin
lugar a dudas será un excelente aliado en sus quehaceres.
 Compatibilidad: un software que tiene un tiempo de vida prolongado es aquel que
fue diseñado para ejecutarse sin problemas en plataformas que evolucionan, por
ejemplo un software WEB puede usarse en un navegador de Internet sin necesidad
de tener instalados componentes especiales en el sistema operativo.

Material facilitado por Ing. Gerardo Josué Portillo (gerardo.portillo@uth.hn)


Componentes del Software
Hay tres componentes importantes en el software, estos son:

1. Programas: son los juegos de


instrucciones que realizan una tarea
determinada, estas instrucciones se
escriben en lenguajes de programación.
2. Datos: son las estructuras de información
que son manipuladas por los programas.
A menudo suelen almacenarse en
repositorios permanentes conocidos como bases de datos en otras ocasiones solo
forman parte de variables que solo son utilizadas por los programas mientras estos se
ejecutan.
3. Documentos: son aquellos que describen el uso del programa, estos son muy
necesarios ya que de ellos depende la longevidad (tiempo de vida) de un software, si
no documentamos nuestros proyectos estos tienden a morir cuando dejamos de
prestarles la atención necesaria, los documentos más generalmente adoptados son:
a. Manuales de usuario
b. Diagramas de flujo
c. Diccionarios de Datos

Ingeniería de Software
Según el Instituto de Ingenieros en Electrónica y Electricidad (IEEE) la ingeniería de software
es aplicar un enfoque sistemático basado en disciplina (cumplir reglas) y también basado en
eventos que se pueden medir (cuantificables) el cual se aplica al desarrollo, mantenimiento
y operación del software.

La Ingeniería de Software es aquella disciplina que se encarga de


todos los aspectos de la producción de software, desde sus fases
iniciales hasta la el mantenimiento del mismo una vez este se ha
puesto en uso.

En resumen: es la aplicación de los enfoques de la ingeniería a la producción de software.

Material facilitado por Ing. Gerardo Josué Portillo (gerardo.portillo@uth.hn)


La ingeniería de software propone el uso de herramientas y técnicas dependiendo del
problema a solucionar.

Capas de la ingeniería de Software


La IS1 es un enfoque orientado a la calidad, además es multicapa donde no se puede
alcanzar una capa sin haber cubierto la anterior.

No es posible incorporar la IS a una organización que no está


comprometida con la calidad ya que esta es uno de los pilares
fundamentales de cualquier ingeniería.

La IS tiene cuatro capas, el siguiente diagrama las describe de forma resumida:

Herramientas (gestión de proyectos, marco de


trabajo, control, documentación, prototipos)

Métodos (diseño, análisis, requisitos, reglas,


pruebas, mantenimiento)

Procesos (actividades, tareas, áreas clave)

Enfoque de Calidad (compromiso de la


empresa/organización)

Diagrama de las cuatro capas de la ingeniería de software

Enfoque de Calidad
Como se explicó anteriormente si la empresa no tiene un compromiso con la calidad
entonces mejor no insistir en aplicar ingeniería.

Procesos
Esta capa define un marco de trabajo, aquí es donde se identifica las áreas clave de la
operación de la empresa. Es aquí donde estudiamos el paso a paso de cada tarea de la
organización.

1
IS: es la abreviatura de Ingeniería de Software, estas siglas las usaremos mucho durante toda la asignatura.
Material facilitado por Ing. Gerardo Josué Portillo (gerardo.portillo@uth.hn)
Es aquí donde determinamos la tecnología que se usará para automatizar cada una de las
tareas.

Es aquí donde nace la figura del jefe de proyecto, que será la persona encargada de
administrar las actividades relacionadas con la explicación de cada proceso.

Aquí se recopilan documentos, datos, informes y formularios que la organización usa en su


día a día.

Una buena práctica aquí es lograr hacer más predecibles los procesos
y así lograr explicarlos para su posterior automatización.

Métodos
Aquí se realizan tareas de ingeniería tales como:

 Análisis de requisitos (lo que se ocupa para cada tarea)


 Diseño y construcción de los programas del sistema
 Pruebas y mantenimiento de los mismos

Su principal objetivo es definir cómo se van a realizar las actividades técnicas de forma
eficiente, aquí es donde se establecen las reglas del software y la evaluación de la calidad
de la información presentada por el mismo, asimismo es aquí donde se pule la interfaz de
usuario.

Herramientas
Esta capa tiene como objetivo dar soporte a las capas inferiores mediante la
automatización de aquellas actividades que suelen hacerse de forma manual.

Es aquí donde se aplica la ingeniería para hacer más rápido el trabajo, entre algunas
herramientas podemos citar las siguientes:

 Herramientas de gestión de proyectos (Microsoft Project, ProjectLibre)


 Herramientas de control de cambios (Microsoft SourceSafe, CVS, Perforce
 Herramientas de análisis y diseño (SCRUM, herramientas CASE)

• Herramientas de generación de código (Genexus, easyCase

• Herramientas de pruebas (Bugzilla, Selenium, Solex)

• Herramientas de reingeniería (Ichikawa, Seis Sigma, SCRUM)

• Herramientas de documentación (ScreenSteps, Doc-O-Matic)

• Herramientas de prototipos (Balsamiq Mockups, Herramientas CASE)


Material facilitado por Ing. Gerardo Josué Portillo (gerardo.portillo@uth.hn)
En conclusión la ingeniería de software tiene el objetivo de aplicar
ingeniería al diseño de sistemas de software o sea: calidad,
estandarización, eficiencia y eficacia para brindar a las organizaciones
herramientas para la mejora continua de las mismas.

La “ingeniería” de repararlo todo a través de la historia

Material facilitado por Ing. Gerardo Josué Portillo (gerardo.portillo@uth.hn)

También podría gustarte