Está en la página 1de 27

DESARROLLO DE UN

PROYECTO DE
SOFTWARE
V I C T O R G O D O Y- 2 0 2 3
ETAPAS EN EL DESARROLLO
• Definición del alcance y los objetivos del Proyecto. Lo que implica comprender claramente el VALOR esperado por el negocio
(identificar problemas/oportunidades, las necesidades de los usuarios, funcionalidades requeridas y criterios de éxito(KPI).
• Marco teórico. El marco teórico es una parte esencial de cualquier proyecto de desarrollo de software, ya que proporciona el
fundamento teórico y conceptual sobre el cual se basará el proyecto.
• Planificación y Organización. Desarrollar un plan de proyecto detallado (Acta constitución, tareas, plazos y recursos necesarios, hitos,
Estructura de equipo de trabajo (roles, responsabilidades)
• Análisis de requisitos. Implica recopilar información, realizar entrevistas,, documentar casos de uso. Especificaciones funcionales y No
funcionales.
• Diseño de Arquitectura. Arquitectura general del sistema, diagrama de componentes, , interacción entre ellos, y patrones de diseño
• Desarrollo del Software.
• Pruebas y control de calidad. Pruebas unitarias, de sistemas, de integración, de rendimiento (disponibilidad, capacidad, seguridad y
continuidad) y de aceptación por parte del usuario
• Despliegue e implementación. Preparar entorno de producción y realizar el despliegue (Plan de implementación y gestión del cambio)
• Mantenimiento y mejora continua. Mesa de servicios, gestión de incidentes, gestión de problemas, gestión de solicitudes, etc.
ETAPAS EN EL DESARROLLO ÁGIL
• Definición del alcance y los objetivos del Proyecto. Lo que implica comprender claramente el VALOR esperado por el negocio
(identificar problemas/oportunidades, las necesidades de los usuarios, funcionalidades requeridas y criterios de éxito(KPI).
• Marco teórico. El marco teórico es una parte esencial de cualquier proyecto de desarrollo de software, ya que proporciona el fundamento
teórico y conceptual sobre el cual se basará el proyecto.

• Planificación y Organización. Desarrollar un plan de proyecto detallado (Acta constitución, tareas, plazos y recursos necesarios, hitos,
Estructura de equipo de trabajo (roles, responsabilidades)
• Definición del Backlog del producto o servicio. Se define un blaclog inicial con los requisitos funcionales iniciales
• SPRINT1
• Planificación de sprints. (PMV e incrementos),roles y responsabilidades.
• Desarrollo iterativo e incremental. (reuniones diarias de seguimiento, sprint planing, diseño de arquitectura, programación,
pruebas, despliegue e implementación)
• Revisión de Srint (Sprint review)
• Retrospectiva (Sprint retrospective)
• SPRINT2
• DEFINICIÓN DEL ALCANCE Y
LOS OBJETIVOS DEL PROYECTO.
PROBLEMA /OPORTUNIDAD

uno de los errores comunes


que se puede cometer es
enfocarse o pasar
directamente a la búsqueda
de “la solución”, pasando por
alto entender: “¿qué
realmente es lo que se debe
solucionar?”

“..conocer qué es lo que realmente está pasando o afectando al contexto


sobre el cual se quiere generar una solución incremental o novedosa
HERRAMIENTAS
HERRAMIENTAS
Diseño de Investigación exploratorio
PROPUESTA DE SOLUCIÓN
• Beneficios percibidos
VALOR • Útil
• Importancia
CRITERIOS
DE ÉXITO
PLANIFICACIÓN y ORGANIZACIÓN.
Título de diapositiva 29
ACTA CONSTITUCIÓN
DEL PROYECTO
CARTA GANTT
CARTA GANTT
MARCO TEORICO
MARCO TEÓRICO
INTRODUCCION AL DESARROLLO DE SOFTWARE
Proporciona una visión general del proceso de desarrollo de software, incluyendo las metodologías más comunes (por ejemplo, en cascada, ágil), etapas del
ciclo de vida del software (análisis, diseño, implementación, pruebas, despliegue) y roles de los participantes en el equipo de desarrollo
TECNOLOGIAS RELEVANTES
Describe las tecnologías específicas que se utilizarán en el proyecto, como lenguajes de programación, bases de datos, frameworks, bibliotecas o
herramientas de desarrollo. Explica por qué se seleccionaron estas tecnologías en función de sus características, ventajas y compatibilidad con los
requisitos del proyecto

FUNDAMENTOS DE ARQUITECTURA DE SOFTWARE


Presenta conceptos clave de arquitectura de software, como el estilo arquitectónico (por ejemplo, cliente-servidor, orientado a servicios), patrones de
diseño (por ejemplo, Modelo-Vista-Controlador, Inyección de Dependencias) y principios de diseño (por ejemplo, modularidad, cohesión, acoplamiento).

DISEÑO DE BASES DE DATOS


Menciona el tipo de base de datos que se utilizará (relacional, NoSQL, etc.) y justifica la elección en función de los requisitos del proyecto.

SEGURIDAD
Habla sobre la importancia de la seguridad en el desarrollo de software y menciona las mejores prácticas para asegurar la confidencialidad, integridad y
disponibilidad de los datos. Incluye conceptos como autenticación, autorización, cifrado y prevención de ataques comunes (por ejemplo, inyección SQL,
ataques de denegación de servicio).

CUMPLIMIENTO LEGAL Y ÉTICO


Si tu proyecto involucra datos sensibles o está sujeto a regulaciones específicas, es importante abordar los aspectos legales y éticos del desarrollo de
software. Considera temas como protección de datos, privacidad, propiedad intelectual y responsabilidad lega
ANÁLISIS DE REQUISITOS
ANALISIS DE REQUERIMIENTOS
NO FUNCIONALES
EFICIENCIA
• El sistema debe ser capaz de procesar N transacciones por segundo
• Toda funcionalidad del sistema y transacción de negocio debe responder al usuario en menos de 5 segundos.
• El sistema debe ser capaz de operar adecuadamente con hasta 100.000 usuarios con sesiones concurrentes
SEGURIDAD LOGICA Y DE DATOS
• Todos los sistemas deben respaldarse cada 24 horas. Los respaldos deben ser almacenados en una localidad segura ubicada en
un edificio distinto al que reside el sistema.
• Todas las comunicaciones externas entre servidores de datos, aplicación y cliente del sistema deben estar encriptadas utilizando el
algoritmo RSA
USABILIDAD
• El tiempo de aprendizaje del sistema por un usuario deberá ser menor a 4 horas..
• El sistema debe contar con manuales de usuario estructurados adecuadamente.
• La aplicación web debe poseer un diseño Responsivo, a fin de garantizar la adecuada visualización en múltiples computadores
personales, dispositivos tableta y teléfonos inteligentes
OTROS
• El sistema debe tener una disponibilidad del 99,99% de las veces en que un usuario intente accederlo.
• El tiempo para iniciar o reiniciar el sistema no podrá ser mayor a 5 minutos.
• La tasa de tiempos de falla del sistema no podrá ser mayor al 0,5% del tiempo de operación total.
• El promedio de duración de fallas no podrá ser mayor a 15 minutos
• Debe especificarse un plan de recuperación ante desastres para el sistema a ser desarrollado
• Sistemas de datos médicos: El nuevo sistema y sus procedimientos de mantenimiento de datos deben cumplir con las leyes y
reglamentos de protección de datos médicos
ANALISIS DE REQUERIMIENTOS
FUNCIONALES
• Descripciones de los datos a ser ingresados en el sistema.
• Descripciones de las operaciones a ser realizadas por cada pantalla.
• Descripción de los flujos de trabajo realizados por el sistema.
• Descripción de los reportes del sistema y otras salidas.
• Definición de quien puede ingresar datos en el sistema.
• Como el sistema cumplirá los reglamentos y regulaciones de sector o generales que le sean aplicables.

EJEMPLOS
• El sistema enviará un correo electrónico cuando se registre alguna de las siguientes transacciones: pedido de venta de cliente,
despacho de mercancía al cliente, emisión de factura a cliente y registro de pago de cliente.
• Se permitirá el registro de pedidos de compra con datos obligatorios incompletos, los cuales podrán completarse posteriormente
modificando el pedido. Antes de poder aprobarse los datos del pedido deben estar completos.
• Al aprobar un pedido, la solicitud pasará al siguiente paso del flujo de trabajo (workflow) de aprobación configurado en el sistema.
• El sistema permitirá a los usuarios autorizados el ingresar planes y cronogramas de proyecto.
• El sistema permitirá aprobar, cambiar o actualizar planes y cronogramas de proyecto.
• El sistema permitirá el envío automatizado de cartas de entrega de órdenes directamente al almacén.
• La solución validara automáticamente el cliente asociado a una orden con el sistema de gestión de contactos.
• El campo de monto acepta únicamente valores numéricos con dos decimales.
• El campo fecha de transacción acepta únicamente fechas anteriores al día de hoy (día actual).
• El campo nombre acepta caracteres alfabéticos únicamente.
• El campo dirección acepta caracteres alfabéticos, numéricos y especiales.
MATRIZ DE TRAZABILIDAD DE REQUERIMIENTOS
TÉCNICAS PARA LEVANTAMIENTO DE
REQUERIMIENTOS
MODELAMIENTO DE PROCESOS
TÉCNICAS PARA LEVANTAMIENTO DE
REQUERIMIENTOS
CASOS DE USO
MATRIZ DE TRAZABILIDAD DE REQUERIMIENTOS
PROTOTIPO
BACKLOG – METODOLOGÍA ÁGIL
BACKLOG – METODOLOGÍA ÁGIL
El Product Backlog no es una simple lista de tareas

Características:
• los ítems del Backlog deben agregar siempre valor para el cliente
• los ítems del Backlog deben estar priorizados
• Los de más abajo contendrán menor detalle
• todos los ítems deben estimarse
• el Backlog es un documento vivo, sujeto a cambios, en el que puede entrar o del que puede salir trabajo.
DISEÑO DE
ARQUITECTURA
-

También podría gustarte