ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Desarrollo de Software Seguro


Enviado por   •  29 de Enero de 2023  •  Informe  •  2.059 Palabras (9 Páginas)  •  58 Visitas

Página 1 de 9

Universidad Autonoma de Occidente. Duque Varela Juan José. Desarrollo de Software Seguro.

[1] 

Desarrollo de Software Seguro
(mayo de 2022)

Duque Varela Juan José
juan_jose.duque@uao.edu.co

Universidad Autónoma de Occidente
Cali, Colombia

Resumen – En el presente trabajo se va a tratar el tema de la metodología/implementación del desarrollo de software seguro en las empresas y su respectiva importancia hoy en día, y de qué manera debe o puede adoptarse en las empresas, esto con el fin de dar a conocer los diferentes métodos de desarrollo de software.

Índice de Términos – Metodología, Implementación, Estándar,

  1. Qué son las metodologías de Desarrollo de Software

 Las metodologías de desarrollo de software “imponen un proceso disciplinado sobre el desarrollo de software con el fin de hacerlo más predecible y eficiente. Tienen como principal objetivo aumentar la calidad del software que se produce en todas y cada una de sus fases de desarrollo. No existe una metodología de software universal, ya que toda metodología debe ser adaptada a las características de cada proyecto (equipo de desarrollo, recursos, etc.) exigiéndose así que el proceso sea configurable. Las metodologías de desarrollo se pueden dividir en dos grupos de acuerdo con sus características y los objetivos que persiguen: ágiles y robustas.”1

Estas metodologías nacieron hace
ya algunas décadas. En los 90’s se adoptó el primer modelo moderno de desarrollo de software conocido como “Cascada” en el que, de manera resumida, es una metodología en el cual se establecen un conjunto de pasos a seguir para poder llevar a cabo un proyecto de desarrollo de software, esto se hace a través de instrucciones, etapas, ciclos, etc. Cada metodología tiene sus reglas y/o sus etapas o pasos a seguir para implementar o desarrollar un proyecto.
En la metodología de cascada, se utilizan etapas tales como:

  1. Análisis: Fase en la cual se estudia tanto la viabilidad (Costos, factibilidad, rentabilidad) como la definición detallada de los requisitos del proyecto.
  2. Diseño: Se formula una solución con base a los requisitos y exigencias detalladas en la fase anterior.
  3. Implementación: Teniendo en cuenta la fase anterior, la arquitectura del software propuesto se pone en práctica en esta fase, incluyendo la programación, pruebas unitarias, etc.
  4. Prueba: Por lo general se libera una versión beta al usuario final, con el fin de detectar posibles mejoras, corrección de errores y se detallan las pruebas de aceptación.
  5. Servicio/Mantenimiento: Es la última fase de esta metodología en la cual se saca a producción (al mercado) el software desarrollado garantizando la entrega, mejoras y el mantenimiento del mismo.

La anterior metodología es tan solo un ejemplo debido a que existen diferentes variaciones de esa misma metodología y no es la única existente, de hecho, las metodologías de desarrollo de software han evolucionado con el pasar del tiempo y actualmente se pueden encontrar ya definidas metodologías como:

  • Agile Software Development
  • DevOps
  • Prototype
  • Rapid Application Development (RAD)
  • Scrum Development
  1. Descripción de diferentes metodologías de desarrollo de software

  1. Agile Software Development


“El desarrollo ágil de software envuelve un enfoque para la toma de decisiones en los proyectos de software, que se refiere a métodos de ingeniería del software basados en el desarrollo iterativo e incremental, donde los requisitos y soluciones evolucionan con el tiempo según la necesidad del proyecto.”
2

  1.  DevOps


“DevOps es un marco de trabajo y una filosofía en constante evolución que promueve un mejor desarrollo de aplicaciones en menos tiempo y la rápida publicación de nuevas o revisadas funciones de software o productos para los clientes.”
3

  1. Prototype

“Un modelo prototipo o modelo de desarrollo evolutivo es utilizado principalmente en el desarrollo de software para ofrecer al usuario una visión previa de cómo será el programa o sistema. Se le dice de desarrollo evolutivo al modelo de prototipo porque evoluciona hasta convertirse en el producto final.”4

  1. Rapid Application Development (RAD)


“Es un modelo de desarrollo que prioriza la creación rápida de prototipos y la retroalimentación rápida sobre ciclos prolongados de desarrollo y prueba. Con el desarrollo rápido de aplicaciones, los desarrolladores pueden realizar múltiples iteraciones y actualizaciones de un software rápidamente sin tener que empezar desde cero cada vez. Esto ayuda a garantizar que el resultado final se centre más en la calidad y esté alineado con los requisitos de los usuarios finales.”
5

  1. Scrum Development

“Scrum es una metodología ágil y flexible para gestionar el desarrollo de software, cuyo principal objetivo es maximizar el retorno de la inversión para su empresa (ROI). Se basa en construir primero la funcionalidad de mayor valor para el cliente y en los principios de inspección continua, adaptación, autogestión e innovación.”6

Teniendo en cuenta cada una de las definiciones anteriores, podemos aplicarías cualquiera de ellas dependiendo de los requerimientos, circunstancias y fluidez que necesite cada proyecto, esto con el fin de evitar corregir errores en fases/etapas futuras, ya que al corregir los errores lo mas tempranamente posible, puede tener menos costo y tener una fácil solución, de lo contrario, corregir errores en una fase/etapa avanzada como por ejemplo la etapa de desarrollo e implementación puede salir costoso y con una dificultad grande para resolverlos, tal como se muestra en la Fig. 1 a continuación.

[pic 1]

Fig. 1 Costo de corrección de errores en las diferentes fases de un proyecto de desarrollo de software.

  1. Breve introducción a la ISO 27034

La finalidad de dicha norma es asegurar que las aplicaciones informáticas conceden el nivel necesario o deseado de la seguridad en apoyo del Sistema de Gestión de Seguridad de la Información de las empresas. La ISO-27034 proporciona orientación sobre el diseño, selección, especificación y aplicación de los controles de seguridad de la información mediante un conjunto de procesos que están integrados a través del Desarrollo de Sistemas de Ciclo de una organización (SDLC). Además, dicha norma trata todos los aspectos de la determinación de los requisitos de seguridad de la información, así como de la prevención del uso o accidentes de una aplicación que no es autorizada.

...

Descargar como (para miembros actualizados) txt (14 Kb) pdf (1 Mb) docx (1 Mb)
Leer 8 páginas más »
Disponible sólo en Clubensayos.com