Documentos de Académico
Documentos de Profesional
Documentos de Cultura
El papel de la Ingeniería de
Software en el desarrollo de
aplicaciones
The role of software engineering in application
development
Jenny Carolina Bayona Zubieta1, Olga Lucía Pineda Samacá2, Oscar Daniel
Pardo Mahecha3
Para citar este artículo: Bayona, J. C.; Pineda, O. L.; Pardo, O. D. (2016). El papel de la Ingeniería de
Software en el desarrollo de aplicaciones, 4(1), 3-14.
Artículo
de investigación
responsible for creating and maintaining software applications using technologies, practices,
methods and techniques for quality software development, relying on tools and procedures
that provides computing for its application.
Keywords: software development, metrics, management, control, organization, planning,
design, testing.
1
Ingeniera en Telemática. Correo electrónico: jennycarob@gmail.com
2
Ingeniera de Sistemas, Universidad Católica de Colombia. Correo electrónico: opineda11259@hotmail.com
3
Ingeniero en Telemática. Correo electrónico: oscar_dpm@hotmail.com
4
ISSN: 2344-8288 • Vol. 4 No. 1 • Enero - Junio 2016 • Bogotá-Colombia
Para la creación de software, el “Ingeniero para alcanzar un objetivo, mejorar los resultados
del software” genera modelos sistémicos o completar una actividad.
aplicando métodos, herramientas y técnicas
computacionales que le permiten construir Proyectos
paquetes informáticos de acuerdo con los Es la integración de una serie de procesos y
requerimientos y las necesidades de los clientes en actividades haciendo uso de una metodología
los diferentes contextos nacional e internacional.4 con el fin de lograr objetivos y metas de la manera
más eficiente y efectiva. En cualquier tipo de
II. Gestión de proyectos proyecto se debe realizar gestión (planificación
y seguimiento durante la duración del proyecto)
La gestión del proyecto de software es el primer de los recursos que se tienen disponibles como
nivel del proceso de ingeniería de software, son dinero, tiempo, personas, herramientas, entre
porque cubre todo el proceso de desarrollo. otros.
Para conseguir que un proyecto de software sea
fructífero se deben tener en cuenta: A. Control
El objetivo de aplicar control en la gestión de
• El ámbito del trabajo a realizar. proyectos es mantener alineado el proyecto con
• Los riesgos en los que se puede incurrir. los objetivos establecidos en su inicio. El control
• Los recursos requeridos. del proyecto se debe realizar en tiempo, recursos,
• Las tareas a llevar a cabo. costes, alcances y demás procesos que pueden
• El esfuerzo (costo) a consumir. impactar positiva o negativamente el proyecto.
• El plan a seguir. La importancia de tener control es que quien
está a cargo de liderar el proyecto puede saber el
El objetivo de la gestión de proyectos es estado actual del mismo y, en caso de que algo
canalizar el trabajo de los desarrolladores de ande mal, puede tomar las acciones correctivas
forma eficiente y productiva, de tal manera pertinentes.
que conduzca al éxito del proyecto. El éxito de
los proyectos incluye la gestión activa de los B. Dirección
El papel de la Ingeniería de Software en el desarrollo de aplicaciones
Son todas las actividades y tareas ejecutadas • Supervisar el cumplimiento de las actividades o
por una o más personas con el propósito de tareas asignadas.
administrar (planificar y controlar) las actividades • Adoptar medidas para la corrección de
desviaciones.
• Programar las actividades a desarrollar y asignar
los recursos necesarios.
4 http://www.eam.edu.co/site/presentacioningenieria- • Gestionar información y comunicación
software.php necesarias para el proyecto.
5
ISSN: 2344-8288 • Vol. 4 No. 1 • Enero - Junio 2016 • Bogotá-Colombia
6
ISSN: 2344-8288 • Vol. 4 No. 1 • Enero - Junio 2016 • Bogotá-Colombia
Una de las características fundamentales de los software; por ejemplo, en cuanto a la tecnología
requisitos de software es que sean verificables y esto a usar.
hace que en algunas ocasiones esta verificación • Requerimientos funcionales y no funcionales.
sea costosa. Funcionales son los que describen lo que el
Los requisitos de software también tienen otros sistema debe realizar, también conocidos como
atributos, adicionales a los de comportamiento, y capacidades del sistema, y no funcionales son
El papel de la Ingeniería de Software en el desarrollo de aplicaciones
que permiten una clasificación, por ejemplo para su los que están dados para limitar la solución y por
atención por áreas de desarrollo. En muchos casos las restricciones o atributos de calidad como:
estos atributos permiten realizar una priorización usabilidad, seguridad, desempeño, integridad,
de acuerdo a los que tengan mayor valor para el interoperabilidad, fiabilidad, entre otros.
usuario o sean mandatorios. Otro ítem importante • Propiedades emergentes. Hace referencia a
dentro de los requerimientos es la relación o requerimientos que no pueden ser abordados por
dependencia de unos con otros indicando además un solo componente del sistema pero que para
la secuencia de implementación. satisfacción del usuario dependen de cómo inter-
Bayona, J.; Pineda, O.; Pardo, O.
A continuación se relacionan los aspectos más operan todos los componentes de software; por
relevantes en cuanto a requerimientos de software: ejemplo, una respuesta a una solicitud ingresada
por un usuario. Las propiedades emergentes
• Parámetros de producto y parámetros de proceso. dependen totalmente de la arquitectura del
Los parámetros del producto son requisitos a sistema.
desarrollar; por ejemplo, una funcionalidad o • Requerimientos cuantificables. Este aspecto
validación del sistema, y los parámetros del indica que el requerimiento debe expresarse lo
proceso son restricciones sobre el desarrollo del más claro posible, de tal manera que no refleje
7
ISSN: 2344-8288 • Vol. 4 No. 1 • Enero - Junio 2016 • Bogotá-Colombia
8
ISSN: 2344-8288 • Vol. 4 No. 1 • Enero - Junio 2016 • Bogotá-Colombia
9
ISSN: 2344-8288 • Vol. 4 No. 1 • Enero - Junio 2016 • Bogotá-Colombia
10
ISSN: 2344-8288 • Vol. 4 No. 1 • Enero - Junio 2016 • Bogotá-Colombia
de errores encontrados por persona y hora en un sistema para resistir ataques (accidentales o
revisiones)[2]. planeados) contra su seguridad. El ataque puede
Es importante mencionar el estándar ISO ir dirigido a programas, datos o documentos.
9126 que se usa para la evaluación de software. Para este atributo se tiene una medida definida
Dentro de dicho estándar se encuentran dos de la siguiente manera:
tipos de métricas, a saber: internas y externas.
Las internas son las que no dependen de la
ejecución del software (medidas estáticas),
Bayona, J.; Pineda, O.; Pardo, O.
mientras que las externas son las que se aplican Figura 4. Definición de Integridad
al software en ejecución[3]. Es importante
implementar métricas, pues lo que se busca es
evaluar la calidad y ello puede hacerse de una Amenaza se define como la probabilidad de
mejor manera a través de mediciones objetivas. que un ataque de un determinado tipo ocurra
En un contexto como el colombiano, en el en un determinado tiempo. La seguridad es la
cual todavía en algunos escenarios se vislumbra probabilidad de que se pueda repeler el ataque
el desarrollo de software como una actividad de un determinado tipo.
11
ISSN: 2344-8288 • Vol. 4 No. 1 • Enero - Junio 2016 • Bogotá-Colombia
• Facilidad de uso: es un intento de cuantificar qué empresas del suroccidente del país no se conoce
tan ‘amigable’ puede ser el producto de software sobre métricas de software, y quienes conocen el
con el usuario. Se puede medir en función de concepto no utilizan las métricas para evaluar la
cuatro características, a saber: (1) habilidad calidad ni para ningún otro fin.
intelectual o física requerida para aprender el Este resultado muestra una tendencia
sistema; (2) tiempo requerido para llegar a ser preocupante, más aún si se complementa con
moderadamente eficiente en el uso del sistema; una investigación enfocada en empresas de
(3) aumento neto en productividad (sobre el Bogotá[10], pues se encontró que en un 85% de
enfoque que el sistema reemplaza), medida estas empresas encuestadas no existe un grupo de
cuando alguien utiliza el sistema moderada aseguramiento de la calidad.
y eficientemente; y (4) valoración subjetiva (a Estas investigaciones han mostrado de manera
veces obtenida mediante un cuestionario). evidente que hay mucho por avanzar en los
temas de calidad del software, y que si bien en
Estos elementos a evaluar permiten mejorar muchas ocasiones se puede llegar a ver en el
ostensiblemente la calidad del software; es entorno laboral que se habla de calidad y de su
importante que se pueda evaluar calidad importancia, este concepto no puede quedar
por cuanto no se puede percibir la calidad solamente en retórica sino que debe ser llevado a
simplemente a través de elementos de subjetividad la organización de manera real.
de los usuarios, sino que se debe buscar que sean La pregunta que surge es: ¿cómo pueden
las mediciones las que arrojen los resultados implementarse realmente controles de calidad? La
pertinentes de forma objetiva. respuesta va de la mano de una implementación
de metodologías de desarrollo de software
V. Métricas en el contexto colombiano en las organizaciones. Por tomar un ejemplo,
en Microsoft Solution Framework uno de los
Hay un mercado creciente, apoyado en gran principios es invertir en calidad[11], en principio
medida por políticas gubernamentales que se establece así de acuerdo a Microsoft Consulting
buscan potencializar el acceso a las TIC en Services:
ámbitos como el educativo o la conectividad para
El papel de la Ingeniería de Software en el desarrollo de aplicaciones
regiones apartadas, entre otros[5]. Si bien en este Muchas organizaciones defienden la calidad,
contexto de oportunidades para el crecimiento a menudo un término vagamente definido, pero
tecnológico surgen grandes oportunidades para carecen de los conocimientos para cuantificar la
los profesionales en diversos roles de la ingeniería calidad. La calidad es algo que se debe incorporar
de software, también se generan grandes retos y proactivamente en el ciclo de vida de la entrega
una responsabilidad que consiste en que el avance de la solución, simplemente no sucede de forma
tecnológico sea de calidad, que la tecnología que espontánea.
llegue a cada uno de los ámbitos de la sociedad
Bayona, J.; Pineda, O.; Pardo, O.
colombiana sea de gran valor y utilidad. Así pues, se tiene que la calidad no se genera de
En el caso concreto de la industria del software la noche a la mañana ni puede concebirse como
se ha visto que muchas veces se desarrolla con un concepto abstracto, las organizaciones deben
poco manejo conceptual de calidad y dando invertir en ella para lograrla y, de ser posible,
mayor prelación a los tiempos de entrega. En siempre debe desarrollarse bajo una metodología.
un estudio publicado por la Revista Lasallista de No es conveniente ‘casarse’ con x o y metodología,
Investigación[6] se pudo constatar (al menos a pues no todos los casos son iguales, pero sí es
nivel preliminar) que en la mayoría de casos en fundamental contar con alguna metodología.
12
ISSN: 2344-8288 • Vol. 4 No. 1 • Enero - Junio 2016 • Bogotá-Colombia
detallada el procedimiento para alcanzar los [4] Pressman, R. (2002). Ingeniería del software. Un
objetivos. En esta fase se crea la disposición, las enfoque práctico. México: Mc GrawHill. (p. 63).
relaciones de trabajo y se asigna la persona que [5] Ministerio de Tecnologías de la Información y las
liderará la actividad. Comunicaciones de Colombia. Proyecto Nacional
• El control implica revisar si la planificación de Fibra Óptica. Recuperado de: http://www.min-
realizada al inicio del proyecto está siendo tic.gov.co/portal/vivedigital/612/w3-propertyva-
llevada a cabo y además si los objetivos lue-647.html
propuestos se han cumplido. En esta etapa, el [6] Moreno, J. J.; Bolaños, L. P.; Navia M. A. (2010). Un
Bayona, J.; Pineda, O.; Pardo, O.
líder del proyecto debe ser capaz de realizar las acercamiento a las prácticas de calidad de software
correcciones respectivas. en las MiPyMESPS del suroccidente colombiano.
• El plan de un proyecto se debe adaptar y Revista Lasallista de Investigación, 7(1). Recupe-
actualizar conforme avance el proyecto, con el rado de: http://www.scielo.org.co/scielo.php?pi-
fin de tener una visión clara del estado de este. d=S1794-44492010000100003&script=sci_arttext
• Las metodologías de desarrollo de software [7] Dahiya, D.; Jain, P. (2010). Enterprise Systems De-
han sido construidas o generadas mediante el velopment: Impact of Various Software Develop-
mejoramiento continuo, no solo demandado por ment Methodologies.
13
ISSN: 2344-8288 • Vol. 4 No. 1 • Enero - Junio 2016 • Bogotá-Colombia
[8] IEEE Computer Society. (2004). Guide to the Sof- MinPyme y pymes de Bogotá. Revista Científica,
tware Engineering Body of Knowledge, A project 15. Recuperado de: http://revistas.udistrital.edu.co/
of the IEEE Computer Society Professional Practices ojs/index.php/revcie/article/view/3949
Committee. Recuperado de: http://www.math.uni- [11] Microsoft (2013). Descripción general de Microsoft
pd.it/~tullio/IS-1/2007/Approfondimenti/SWEBOK. Solution Framework. Recuperado de: http://msdn.
pdf microsoft.com/es-es/library/jj161047.aspx
[9] Heikkilä, V.; Paasivaara, M.; Lassenius, C. (2013). [12] Pérez-Torres, J. A.; Mejía, M. (2005). Software De-
ScrumBut, But Does it Matter? A Mixed-Method velopment Using Agile Methodologies: An Airline
Study of the Planning Process of a Multi-team Case.
Scrum Organization. [13] Rasmin, R.; Paige, R. F. (2010). Iterative Criteria-Ba-
[10] Abuchar, A.; Cárdenas, B.; Alfonso, D. (2012). Ob- sed Approach to Engineering the Requirements of
servatorio de prácticas de desarrollo de software en Software Development Methodologies.
El papel de la Ingeniería de Software en el desarrollo de aplicaciones
Bayona, J.; Pineda, O.; Pardo, O.
TIA 14