1. PASO 6 – AVANCE DE LA PROPUESTA
Presentado por:
JORGE ALBERTO REYES VARGAS
MARIA ANGÉLICA REYES ORTIZ
CRISTIAM HUMBERTO GOMEZ
JEAN CARLOS VEGA
JHON FREDDY MALDONADO
Presentado a:
DIANA CARDONA ROMAN
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
INGENIERÍA DE SISTEMAS
OCTUBRE 2019
2. TABLA DE CONTENIDO
1. Plantear el problema................................................................................................................. 3
2. Justificación ............................................................................................................................... 4
3. Objetivo General. ...................................................................................................................... 4
3.1 Objetivos específicos........................................................................................................... 4
4. Titulo para la Investigación...................................................................................................... 5
5. Preguntas de Investigación....................................................................................................... 5
6. Glosario o terminología a utilizar............................................................................................ 5
7. Describir la tecnología moderna o de alto impacto según las preguntas de la guía. ........... 7
8. Describir la Planeación............................................................................................................. 8
Conclusiones ...................................................................................................................................... 9
Bibliografía ...................................................................................................................................... 10
3. DESARROLLO
1. Plantear el problema
Hoy en día vivimos en un mundo donde las tecnologías de la información y la comunicación
(TIC) impregnan todo. Por tanto, la mayoría de las empresas han visto la necesidad de
implementar herramientas o programas informáticos que hagan más eficaz una labor, de ahí
que las empresas desarrolladoras de software hallan avanzado en la satisfacción de las
necesidades del cliente. Sin embargo, hay un punto que aun hoy día sigue siendo preocupante
en el ciclo de desarrollo de desarrollo de software y es el gran número de amenazas que
presenta y las pruebas que se realizan para mitigarlas son mínimas y en su mayoría son
realizadas al finalizar el ciclo “si los tiempos de entrega lo permiten”, lo cual podría tiempo
acarrear costos adicionales en solucionar los problemas que se presenten, tal como lo muestra
la siguiente imagen
Si bien es cierto que ciertas fallas solo son detectadas cuando está en funcionamiento el
programa, hay otras que se pueden evitar mediante pruebas o auditorias en fases tempranas,
de esta manera se evitaría afectar la integridad de la información del cliente, recordar que un
sistema seguro indica calidad del producto.
En un balance entregado por Comparitech, una plataforma de investigación tecnológica
indica que Colombia se encuentra en un rango medio en lo que se refiere a ciberseguridad.
4. Adicionalmente en lo que respecta a la legislación que maneja el país en cuanto a ofrecer
garantías en cuanto al tema anterior su puntaje fue de 4 sobre 10.
2. Justificación
La presente investigación busca definir un proceso dentro del ciclo de desarrollo de software
teniendo en cuenta conceptos y buenas prácticas de ingeniería de software para incluir
procesos que garanticen y controlen el aseguramiento de la calidad de los productos de
software desde el punto de vista de la seguridad informática, lo anterior con el fin de
identificar incidentes de seguridad desde etapas tempranas del ciclo de vida, integrar personal
encargado de la seguridad con el personal de desarrollo logrando un equipo
multidisciplinario, mejorando la comunicación entre desarrolladores de software, personal
de seguridad y personal de infraestructura, adicionalmente tener en cuenta en estos procesos
la innovación y mejora continua de las pruebas de seguridad en las aplicaciones desarrolladas
y la automatización de las mismas, con el fin de reducir costos a la vez que se mejora un
aspecto relevante en la actualidad como lo es la seguridad informática y de la información.
3. Objetivo General.
Automatizar las pruebas de seguridad a través del uso de las buenas prácticas en el ciclo de
vida de desarrollo de software en Colombia.
3.1 Objetivos específicos
Estudiar modelos de desarrollo de software que integren fases de verificación y
validación desde fases tempranas.
Estudiar herramientas para gestionar la calidad del producto desde el punto de vista de
la seguridad a partir del análisis y diseño de requisitos.
Diseñar plan de análisis, diseño, construcción y ejecución de pruebas de seguridad de
software y la automatización de las mismas.
5. 4. Titulo para la Investigación.
Buenas prácticas de seguridad al ciclo de vida de desarrollo del software.
5. Preguntas de Investigación.
¿Por qué es importante integrar las pruebas de seguridad desde fases tempranas del ciclo de
vida de desarrollo de software?
¿Qué importancia tiene la automatización de pruebas de seguridad del producto software
para la calidad del producto?
¿Por qué se considera necesario la mejora continua constante de las pruebas de seguridad?
¿cuál es el impacto en las empresas el no uso de buenas prácticas de seguridad en el desarrollo
de programas o aplicaciones software?
6. Glosario o terminología a utilizar.
Caso de Testeo: (test case) conjunto de entradas, precondiciones para la ejecución y salidas
esperadas desarrolladas con el objetivo de testear algo concreto del software (ejecutar un
camino del programa en particular, verificar la conformidad de un requisito concreto, detectar
tipos de errores específicos).
Desarrollador Software: Se encarga de la creación y diseño de nuevos sistemas, partiendo
de la planificación inicial, estableciendo parámetros, diseño, escritura, código, encriptar y
probar.
Error: Una acción humana que puede producir resultados incorrectos.
Fallo: Una desviación del funcionamiento esperado
Fase: Estado, diferenciado de otro, por el que pasa una cosa o una persona que cambia o se
desarrolla.
Funcionalidad: Grado en que las necesidades asumidas o descritas se satisfacen. Se divide
en las subcaracteríticas idoneidad, precisión, interoperabilidad, seguridad
Pruebas de software: Proceso que permite verificar y revelar la calidad de un producto
software.
Seguridad: subcaracterística de funcionalidad, que indica el grado en que un acceso no
autorizado (accidental o deliberado) se prevenga y se permita un acceso autorizado.
6. Software: Conjunto de programas y rutinas que permiten a la computadora realizar
determinadas tareas.
7. 7. Describir la tecnología moderna o de alto impacto según las preguntas de la guía.
8. 8. Describir la Planeación de la solución. Para realizar esta actividad, se sugiere utilizar el
Decálogo de Bernal. Se debe diligenciar un cuadro que debe responder a los siguientes
interrogantes: ¿Cuándo?, ¿Quién?, ¿Cómo?, ¿qué?, ¿Con qué?, ¿Para qué?, ¿Dónde?,
¿Contra qué?, ¿Por qué?, ¿Cuánto?
CONCEPTO DESCRIPCION
Cronología ( Cuándo ¿)
Desde sus inicios en la década de 1940, escribir software ha evolucionado
hasta convertirse en una profesión que se ocupa de cómo crear software y
maximizar su calidad. La calidad puede referirse a cuán mantenible es el
software, su estabilidad, velocidad, usabilidad, comprobabilidad,
legibilidad, tamaño, costo, seguridad y número de fallas o "bugs", así como,
entre muchos otros atributos, a cualidades menos medibles como elegancia,
concisión y satisfacción del cliente. La mejor manera de crear software de
alta calidad es un problema separado y controvertido cubriendo el diseño de
software, principios para escribir código, llamados "mejores prácticas", así
como cuestiones más amplias de gestión como tamaño óptimo del equipo
de trabajo, el proceso, la mejor manera de entregar el software a tiempo y
tan rápidamente como sea posible, la "cultura" del lugar de trabajo, prácticas
de contratación y así sucesivamente
Axiomas (Quíen? )
Estudiantes del grupo proyecto de Grado (ING. DE SISTEMAS) -
(201014A_614)
Método ( Cómo ¿)
Se procederá a utilizar el método deductivo con el cual y a partir de unos
datos ya recopilados se procederá a crear una hipótesis para explicar los
fenómenos alrededor del proceso a seguir para la creación de la solución
informática. Posteriormente se generará la estructura teórica que le facilitará
al grupo de investigación poder generar una hipótesis respecto al
funcionamiento de la implementación de pruebas durante las diferentes
etapas del desarrollo de software.
Ontología ( ¿Qué?)
Se pretende mejorar las pruebas de software, realizadas durante las etapas
del desarrollo.
Tecnología (Con que ¿)
En cuanto a las herramientas se dispone de una VPS montada en AWS con
sistema operativo windows server. Este servidor ya tiene los servicios
montados de Apache, MySQL y PHP.
En cuanto a los lenguajes de desarrollo para avanzar en el proyecto se tiene
como lenguaje PHP, lenguaje de marcas de hipertexto HTML, bases de
datos MySQL.
Teleología (Para qué ?)
Se quiere realizar pruebas durante las diferentes etapas del desarrollo del
software de esta forma poder detectarlas antes de entregar el producto.
Topografía (Dónde ?) El proyecto es desarrollado en la UNAD, en la ciudad de Bucaramanga.
Ecología (¿ Contra qué ¿) Se realizará la prueba con el desarrollo de un software Web.
Etiología (¿ Por qué ?)
Con el fin permitir la ejecución de un sistema con el objetivo principal de
encontrar errores presentes en el mismo; así conseguimos reducirlos y
mejorar la calidad del sistema, haciéndolo más robusto frente a fallos
Experiencia (¿Cuánto?)
Este proyecto está basado en una investigación bajo un software de
desarrollo ágil
9. Conclusiones
Con el desarrollo de esta actividad se aprendió a detectar los errores más comunes al elaborar proyectos
de investigación y a formular una propuesta de investigación.
La elaboración de cada uno de los puntos desarrollados, en este trabajo colaborativo, cumplieron
perfectamente con el objetivo de hacernos pensar e indagar para poder finalizarlos.
10. Bibliografía
Ferreyro, A., & Longhi, A. D. (2014). ¿Cómo comenzar una investigación educativa? ¿Qué preguntas la
orientan?, ¿Qué aspectos la condicionan? Metodología de la investigación (pp. 69–90). Córdoba,
Argentina: Encuentro Grupo Editor. Metodología de la Investigación. Recuperado de
http://bibliotecavirtual.unad.edu.co:2051/login.aspx?direct=true&db=e000xww&AN=847673&lang=es&site=e
hostlive&ebv=EB&ppid=pp_69
Ferreyro, A., & Longhi, A. D. (2014). ¿Qué significa investigar? ¿Cómo puede caracterizarse la
investigación científica? Metodología de la investigación (pp. 13-46). Córdoba, Argentina: Encuentro
Grupo Editor. Recuperado de
http://bibliotecavirtual.unad.edu.co:2051/login.aspx?direct=true&db=nlebk&AN=847673&lang=es&sit
e=ehostlive&ebv=EB&ppid=pp_13
Saavedra, F. (2018). Seguridad en SDLC. Ciclo de Vida de Desarrollo de Software. [Figura Seguridad
en el desarrollo de Software]. Recuperado de https://www.gestiopolis.com/seguridad-en-sdlc-ciclo-de-
vida-de-desarrollo-de-software/