Fundamentos de Proyectos y Metodologías de Desarrollo de Software

Enviado por Programa Chuletas y clasificado en Diseño e Ingeniería

Escrito el en español con un tamaño de 5,47 KB

Fundamentos de Proyectos y Estructuras Organizacionales

Definición de Proyecto

Un proyecto es la disposición de un conjunto de recursos y acciones destinados a cumplir uno o más objetivos específicos.

Tipos de Proyectos

  1. Proyectos de Sistemas de Información Administrativa (SIA): Son los proyectos clásicos que corresponden a desarrollos de sistemas de información administrativa.
  2. Proyectos de Desarrollo de Sistemas de Tiempo Real: En estos proyectos, las respuestas deben darse dentro de un margen de tiempo muy estrecho, donde la elección del lenguaje de programación toma un rol protagónico.
  3. Proyectos de Desarrollo de Juegos: Constituyen una industria en tremenda expansión. Los juegos requieren un énfasis particular en la gráfica, el audio y la interacción con el usuario, así como en la definición de componentes 3D, entre otros aspectos.

Definición de Organización

Una organización es la estructura coherente en la que un conjunto de personas se dispone para el cumplimiento de ciertas funciones determinadas. Estas funciones suelen incluir el análisis, el diseño, la codificación y la implementación.

Tipos de Organización

  • Organización Jerárquica Clásica: Partiendo de un líder único, se estructuran grupos de personas que obedecen y responden a ese líder.
  • Organización Descentralizada: Diferentes grupos trabajan de forma separada, sin reportar a un líder común. Requiere un alto profesionalismo de los grupos, que deben estar fuertemente involucrados en el éxito del proyecto.
  • Organización Burocrática: Se basa en una serie de normas y procedimientos que todos los grupos deben respetar rigurosamente.

Definición de Rol

Un rol es una serie de funciones y responsabilidades que deben ser cumplidas para garantizar que un proyecto se desarrolle de manera efectiva.

Los Roles y sus Características Técnicas

  • Líder: Es responsable de verificar el cumplimiento del plan de desarrollo, sus metas y sus entregables.
  • Investigador: Su función es investigar todas las tecnologías que pueden ser incorporadas en beneficio del proyecto y establecer las capacitaciones necesarias en las tecnologías utilizadas.
  • Documentador: Es crucial mantener un registro de todo lo realizado, y particularmente un archivo de todo lo desarrollado y entregado.
  • Normista: Su rol es mantener el registro de las normas establecidas y supervisar su correcta y completa aplicación.

Modelos de Desarrollo de Software

Desarrollo Lineal Clásico (Modelo en Cascada)

Conocido a veces como «ciclo de vida básico» o «modelo en cascada», este enfoque de desarrollo de software comienza a nivel de sistemas y progresa a través de fases secuenciales: análisis, diseño, codificación, pruebas y mantenimiento.

Fases del Modelo en Cascada:

  • Requisitos del Software: El proceso de recolección de requisitos se intensifica y se centra específicamente en el software.
  • Diseño: Se enfoca en cuatro atributos principales: estructura de datos, arquitectura de software, representaciones de interfaz y detalle procedimental. Esto permite evaluar su calidad antes de que comience la codificación.
  • Generación de Código: El diseño se debe traducir en una forma legible por la máquina.
  • Pruebas: Una vez generado el código, comienzan las pruebas del programa para identificar y corregir errores.
  • Mantenimiento: Se producirán cambios porque se han encontrado errores o porque el software debe adaptarse a los cambios de su entorno externo.

Ventajas y Desventajas:

  • Ventajas: Es un modelo de probada efectividad para desarrollos de baja o mediana complejidad.
  • Desventajas: No es apropiado para desarrollos de alta complejidad debido a su naturaleza secuencial y rígida.

Desarrollo por Prototipos

El paradigma de construcción de prototipos comienza con la recolección de requisitos. El desarrollador y el cliente definen los objetivos globales del software, creando rápidamente una versión preliminar.

Ventajas y Desventajas:

  • Ventajas: El cliente rápidamente ve resultados y puede proporcionar retroalimentación temprana.
  • Desventajas: El cliente puede pensar que el prototipo es el producto final funcional, lo que puede generar expectativas irrealistas.

Desarrollo en Espiral

El modelo en espiral, propuesto originalmente por Boehm, se divide en un número de actividades de marco de trabajo, también llamadas regiones de tareas. Generalmente, existen entre tres y seis regiones de tareas que se repiten en ciclos iterativos.

Ventajas y Desventajas:

  • Ventajas: A diferencia de otros modelos, no tiene un punto final fijo, lo que permite su ampliación para cubrir toda la vida del software hasta su desecho, integrando gestión de riesgos.
  • Desventajas: No se adapta bien a proyectos pequeños debido a su complejidad y la necesidad de una gestión de riesgos continua.

Entradas relacionadas: