Вы находитесь на странице: 1из 11

Fase 3 - Modelamiento proceso de software

Ingeniería de Software
Andrés Alfonso Pérez Garrido
C.C 1.129.569.419
Programa: Ingeniería de Sistemas
Tutor: Pilar Alexandra Moreno
Grupo: 301404_4

Escuela de Ciencias Básicas, Tecnología e Ingeniería – ECBTI, Bogotá abril 03 del 2.021
1. Resumen de la propuesta de software

Medical Software S.A.S ha decidido implementar el desarrollo de un sitio web que permita
implementar los conceptos de la telemedicina para generar una relación entre médicos y pacientes.
Medical Software S.A.S busca convertir el sitio web propuesto en un gran banco de datos con
información real, verídica y certificada en el área de la salud enfocada en el público de habla hispana.

El sitio web propuesto por Medical Software S.A.S es un software tipo Gestión porque está enfocado
en ser un gran repositorio de información verídica y respaldada por cientos de profesionales de habla
hispana. A futuro la dinámica de consultas y respuestas de inquietudes en diversas áreas de la salud
como: medicina general, dermatología, pediatría, medicina interna, ginecología y obstetricia,
urología, infectología, planificación, sexología, farmacología, ortopedia, etc. Permitirá generar un
volumen de información muy amplio que debe ser almacenado en grandes bases de datos y debe
contar con los mecanismos tecnológicos necesarios para administrar la información recolectada y
brindar seguridad, integridad, eficiencia y fácil acceso a los datos.

La propuesta de desarrollo del sitio web esta justificada por las siguientes características:

Plataforma: Nuestra propuesta de software considera el desarrollo de un aplicativo web. Los


softwares basados en la web son accesibles a través de la internet por medio de un navegador, esto
brinda una gran ventaja porque no se necesitan medios de instalación o descargas de instaladores y las
actualizaciones no son responsabilidad del usuario no debe descargar actualizaciones.

Accesibilidad: La propuesta de desarrollo de software propone crear un aplicativo web, este tipo de
infraestructura permite que los usuarios puedan acceder al aplicativo desde cualquier parte donde
cuente con una conexión a internet. Es decir, lo único que se necesita es un dispositivo con conexión
a internet sin importar el país o la ciudad donde se encuentren los usuarios.

Infraestructura: El aplicativo web propuesto está basado sobre una arquitectura de tipo
cliente/servidor, esto garantiza que la información se encuentre centralizada en la red de servidores.
2. Modelo de desarrollo de software seleccionado

Como metodología para el modelo de desarrollo se ha seleccionado RUP.

3. Explicación y justificación del modelo seleccionado

La selección de la metodología RUP se justifica por los siguientes factores:

 El proyecto inicia desde cero, es decir, no hay antecedentes de que el cliente o Medical
Software S.AS posean o hayan implementado otro software con iguales características.

 El tamaño del proyecto es considerablemente grande.

 Es necesario delimitar el alcance del desarrollo.

 Se visualiza una gran cantidad de usuarios dentro de la plataforma teniendo en cuenta que el
sitio web estará disponible para la mayoría de los países de habla hispana.

 Se deben generar diagramas y diseños que garanticen que la arquitectura del software soporte
los requerimientos de infraestructura e implementación.

 Es necesario documentar los casos de usos e historias de usuario a desarrollar.

 El proyecto debe garantizar unos niveles de calidad mínimo en el desarrollo, teniendo en


cuenta que se va a manejar información sensible y de carácter privado.

 El sitio web debe garantizar unos niveles de servicio que permitan una operación 7 X 24.
Dentro de las ventajas de la metodología RUP encontramos las siguientes:

 Es una metodología madura y probada en distintos proyectos y/o fábricas de software.

 El desarrollo del software está soportado con el diseño de diagramas y documentación.

 La mayoría roles involucrados en el proyecto conocen la metodología, principalmente,


aquellos quienes tienen más años de experiencia.

 Permite cambios en los requerimientos del proyecto.

 Permite generar ciclos de implementación de carácter repetitivos.

 Genera productos mínimos viables con altos estándares de calidad.

 Permite el trabajo en paralelo de los distintos roles participantes del proyecto.

 Asegura la calidad desde el primer ciclo de implementación.

Por último se sugiere combinar algunas características de scrum dentro de la metodología RUP a
utilizar, por ejemplo:

 Incluir los daily meeting para mejorar la comunicación del equipo de desarrollo, resaltando las
cosas que se están haciendo bien y detectar y/o mitigar posibles riesgos en el proceso de
implementación.

 Involucrar a los stakeholders de negocio en la fase de desarrollo y certificación.

 Realizar las estimaciones de esfuerzo de las historias de usuario basados en el esquema


planning poker.

 Utilizar tableros Kanban para controlar el estado de la implementación de las historias de


usuario.
4. Ciclo de vida y su aplicación en la propuesta de desarrollo

A continuación encontrará cada una de las tareas a realizar por cada una de las etapas del ciclo de
vida correspondiente al desarrollo del sitio web propuesto:
5. Descripción del equipo de trabajo

Medical Software S.A.S ha dispuesto un grupo de profesionales altamente capacitados para atender
todas y cada una de las necesidades en las distintas etapas del proyecto, nuestro equipo se encuentra
conformado por colaboradores proactivos dispuestos a responder en forma oportuna a los desafíos del
proyecto. A continuación se describen los equipos que harán parte del proyecto de implementación
del sitio web propuesto.

Gerente de proyecto: Se encargará de gestionar, planificar y administrar todos y cada uno de los
recursos del proyecto, ya sea de tipo económico, humano, cronológico o tecnológico. Dentro de sus
funciones está canalizar la comunicación de forma bidireccional entre el cliente y el equipo técnico-
funcional del proyecto.

Arquitecto de software: Será el encargado de gestionar, diseñar y/o delegar el diseño de los
diagramas y componentes de software a construir. Velará por el correcto uso de las tecnologías
seleccionadas, también emitirá los lineamientos de programación que serán implementados por los
desarrolladores.

El arquitecto de software trabaja de la mano con el gerente del proyecto para comunicar los avances y
necesidades del equipo de desarrollo, además, es el líder técnico del proyecto y por lo tanto debe tener
una alta capacidad comunicativa para explicar al cliente los pormenores técnicos en un lenguaje de
negocio que sea de fácil comprensión para el cliente.

Analistas de requerimientos: Este equipo se encargará del levantamiento de información y de


requisitos solicitados por el cliente, estará conformado por 6 personas para avanzar de forma rápida
en cada una de las funciones. Su función consiste en capturar toda la lógica de negocio para luego
transmitirla al arquitecto y al equipo técnico por medio de historias de usuario, casos de uso y demás
artefactos que permitan sentar las bases para el desarrollo del software.

También se encarga de redactar y escribir la documentación del proyecto y manuales utilizando un


lenguaje claro, sencillo, sin ambigüedades y libre de errores ortográficos.
Desarrolladores de software: El equipo estará conformado por 8 desarrolladores, 3 senior, 3
intermedios y 2 junior. Su principal función será codificar la aplicación manteniendo un alto estándar
de calidad, acorde con los lineamientos establecidos por el arquitecto y desarrollando basados en las
historias de usuario elaboradas por los analistas de requerimientos.

Los desarrolladores deberán cumplir otras funciones de suma importancia:

 Estimar en tiempo el esfuerzo para realizar una historia de usuario.


 Asistir a los daily meeting para informar de los avances y dificultades presentadas durante el
día anterior.
 Solucionar los problemas de calidad reportado por el equipo de pruebas.
 Documentar el código y escribir las pruebas unitarias para garantizar la calidad del código.

Equipo de pruebas: Estará conformado por 10 personas. Serán los encargados de garantizar que el
sitio web desarrollado cumpla con un mínimo de calidad y que su interacción con el usuario sea lo
más intuitiva posible. Su principal función es validar que los componentes de software que vayan
siendo liberados por el equipo de desarrolladores no contengan errores bloqueantes y que estén
construidos acorde con las historias de uso.

Deberán trabajar de la mano con el equipo de desarrollo para proporcionarles de forma clara y
oportuna los escenarios que generan error o que no han sido implementados correctamente según las
historias de usuario.

Equipo de devops: Estará conformado por 3 personas. Este equipo actuara de forma transversal a los
demás equipos. Su principal función es garantizar que se generen los instaladores y componentes de
software necesarios para que el sitio web se ejecuté correctamente.

También debe preparar todo lo referente a la infraestructura local para automatizar escenarios de
pruebas funcionales, pruebas de carga a la aplicación, análisis de cobertura de código, control de
versiones, generación automática de instaladores y demás artefactos que sean especificados por el
gerente de proyecto y el arquitecto.
6. Herramientas y métodos de control sugeridos en la propuesta de desarrollo de software

Project: Será utilizado por el gerente de proyecto para gestionar y administrar los distintos recursos
del proyecto: Cronogramas, presupuestos, equipos de trabajos, avance de actividades, etc.

Balsamiq: Esta herramienta se utilizará para modelar de forma rápida interfaces de usuario para que
los distintos integrantes del proyecto incluido el cliente pueda darse una idea de como será el diseño
de las pantallas del sitio web.

Trello: Se utilizará internamente para optimizar y organizar equipos de trabajo a través de la creación
de tarjetas para hacer seguimiento a las actividades realizadas en el día a día por cada uno de los roles
involucrados.

SonarQube: Esta herramienta será utilizada para analizar y detectar el porcentaje de cobertura de
código del proyecto, esto será indispensable para el arquitecto de software por que le permitirá medir
si el equipo de desarrollo esta adoptando los lineamientos especificados para la implementación de
código.

Bugtracker: Se utilizará esta herramienta para la gestión y control de errores y hallazgos encontrados
en el proceso de implementación. Por medio de esta herramienta se obtendrá una trazabilidad en
cuanto a la gestión y solución de los incidentes, así como la documentación de cada uno de los
hallazgos encontrados.

Selenium: Será utilizado para automatizar los escenarios de pruebas de la aplicación. Está
herramienta permitirá grabar los escenarios de pruebas para que posteriormente sean ejecutados de
forma automática sin que el analista de pruebas interactúe directamente con el sitio web.

Con esta herramienta se garantiza el montaje de pruebas regresivas las cuales serán de gran utilidad
porque permitirá monitorear que las funcionalidades previas no se afecten con las nuevas entregas del
desarrollo.

Azure devops services: Utilizaremos este servicio SaaS, para garantizar la integración continua y
generación de los componentes de software en forma automática.

Teams: Esta herramienta será de uso interno y permitirá los distintos equipos de trabajos
comunicarse en forma síncrona y asíncrona a través de chats y video llamadas.

Вам также может понравиться