Primera Entrega Proyecto ingeniería de software
Intranet CIE
Integrantes
José Miguel Londoño Vásquez
Evelyn Carolina Rúa Vélez
Docente
Martha Murillo
Fecha
17 de febrero 2024
Institución Educativa De Envigado
Envigado
2024
Tema: Intranet CIE
Caso de Negocio:
Una intranet es un sitio web privado de una organización a la que los usuarios pueden
acceder mediante un navegador de internet y posee múltiples funcionalidades destinadas a
mejorar la eficiencia de la organización en la que se ejecuta.
CIE es consciente de la importancia de las redes internas o intranets como una herramienta
tecnológica y cuenta con la infraestructura necesaria para la construcción de un portal web
para compartir información de la empresa a los empleados con mayor facilidad, para que
todos se mantengan informados con las novedades y datos de la compañía.
Por esto, el área de informática propuso El diseño e implementación de un portal web con
objetivo de manejo de la intranet corporativa de CIE.
Solución propuesta
Se diseñará y construirá una intranet que tendrá como objetivo, centralizar la divulgación
de la información de la empresa, así mismo permitirá una mejora en la comunicación
interna de la empresa para esta web se tienen los siguientes requisitos:
Requisitos Funcionales
1. El software debe contar con una interfaz intuitiva que permita interactuar tanto con
usuarios como con administradores.
2. El software debe contar con el Login y registro donde este solo se encontrará
disponible para los administradores del programa.
3. El software debe restringir las funcionalidades e información para regular las
acciones de los usuarios, dependiendo el rol que ocupe en la empresa, solo los
administradores del software concederán dichos permisos.
4. El software debe que contar con la función de validar la identidad del usuario y
permitir solo 3 intentos para acceder a la cuenta como mecanismo de seguridad.
5. El software debe tener la base de datos de los empleados y así mismo actualizarse
automáticamente si se hace algún cambio en esta, especificando, rol en la empresa,
contacto, nombre, etc.
6. El software debe tener un repositorio de documentos de la empresa y así mismo
actualizarse si este es sometido a cambios.
7. El software debe tener la función de comunicación en tiempo real mediante chat con
los usuarios existentes en la intranet.
8. EL software debe tener la funcionalidad para programar reuniones, compartir
eventos importantes y coordinar horarios entre empleados.
9. El software debe permitir a los perfiles administrativos ingresar, consultar,
modificar y eliminar información, así mismo tener el historial de cambios.
10. El software debe tener una interfaz que contengan los módulos de noticias,
anuncios, eventos y actualizaciones importantes de la empresa.
11. El software debe permitir ingresar, consultar, modificar y eliminar información que
se muestra en los módulos de la interfaz a quienes tengan dicho acceso en la
intranet.
Requisitos no Funcionales
1. El software debe ser compatible con la última versión de los diferentes navegadores
web (Chrome, Opera, Brave, Edge, etc.) y sistemas operativos (Windows, Linux,
MacOS, etc.).
2. El caso de tener algún error, el software debe advertir a todos los usuarios con
mensajes claros y concisos que faciliten el entendimiento.
3. Se tendrá un Manual de usuario y de administradores para ser una guía en caso de
algún inconveniente, así mismo se contará con el soporte técnico regular del
software.
Paradigmas: Tenidos en cuenta los procesos que fueron solicitados por la empresa CIE, el
equipo de desarrollo decidió utilizar el paradigma de construcción por prototipos. Esto
permitirá implementar pruebas constantes para identificar y corregir posibles errores.
También es de gran utilidad, si alguno de los requisitos necesarios para el producto no se
definió bien o se le debe realizar algún cambio. Con esto se puede lograr un enfoque más
sólido y a través de la retroalimentación proporcionada, será posible refinar los requisitos
para finalmente llegar a nuestro objetivo.
Método
1. Recolectar los requisitos
2. Modelación de diseño rápido
3. Construir prototipo
3.1. Construir y revisar la maqueta
3.2. El cliente realiza pruebas
3.3. El cliente hace comentarios acerca de lo que observó
4. Implementar, entregar y retroalimentar
5. Comunicación constante, tanto dentro del equipo de trabajo, como con el cliente
Equipo de desarrollo
1. Gerente de Proyecto:
• Responsable de coordinar y supervisar todo el proyecto, asegurando que se
cumplan los plazos, presupuestos y requisitos del cliente.
• Debe tener habilidades de liderazgo, gestión de recursos y comunicación
efectiva.
2. Arquitecto de Software:
• Encargado de diseñar la arquitectura de la aplicación, incluyendo la
infraestructura en la nube, la estructura de la base de datos y la integración
de servicios.
• Debe tener experiencia en diseño de sistemas escalables, seguridad
informática y tecnologías en la nube.
3. Desarrolladores de Backend:
• Responsables de desarrollar la lógica de negocio y la funcionalidad principal
de la aplicación.
• Deben tener experiencia en lenguajes de programación como Python, Java,
Node.js, o PHP, y en el desarrollo de APIs y servicios web.
4. Desarrolladores de Frontend:
• Encargados de diseñar y desarrollar la interfaz de usuario de la aplicación,
asegurando una experiencia de usuario intuitiva y atractiva.
• Deben tener experiencia en tecnologías frontend como HTML, CSS,
JavaScript, y frameworks como React.js, Angular, o Vue.js.
5. Diseñadores de UX/UI:
• Responsables de diseñar la experiencia de usuario y la interfaz gráfica de la
aplicación, asegurando la usabilidad y accesibilidad.
• Deben tener experiencia en diseño de interacción, prototipado y
herramientas de diseño como Sketch, Adobe XD, o Figma.
6. Especialista en Seguridad Informática:
• Encargado de garantizar la seguridad de la aplicación y los datos, realizando
pruebas de penetración, análisis de vulnerabilidades y cumplimiento de
normativas de seguridad.
• Debe tener experiencia en seguridad informática, criptografía y normativas
de protección de datos como GDPR o HIPAA.
7. Especialista en Bases de Datos:
• Responsable de diseñar y gestionar la estructura de la base de datos,
asegurando la integridad, disponibilidad y rendimiento de los datos.
• Debe tener experiencia en bases de datos relacionales y no relacionales,
como MySQL, PostgreSQL, MongoDB, etc.
8. Especialista en Infraestructura en la Nube:
• Encargado de configurar y gestionar la infraestructura en la nube,
incluyendo servidores, redes y servicios de almacenamiento.
• Debe tener experiencia en plataformas de nube como AWS, Google Cloud,
Azure, y en herramientas de automatización como Terraform o Ansible.
Herramientas:
1. Plataforma de Nube:
• Amazon Web Services (AWS): AWS ofrece una amplia gama de servicios
en la nube que son altamente escalables, seguros y confiables. Es
especialmente adecuado para aplicaciones empresariales debido a su
flexibilidad y robustez.
2. Servidores Web y Almacenamiento:
• Amazon S3: Es un servicio de almacenamiento en la nube altamente
escalable y seguro que puede alojar datos estáticos y dinámicos de la
aplicación de manera confiable.
3. Servicios de Base de Datos:
• Amazon RDS (Relational Database Service): Proporciona bases de datos
relacionales gestionadas como MySQL, PostgreSQL, SQL Server, etc., lo
que facilita la administración y escalabilidad de la base de datos.
4. Servicios de Desarrollo de Aplicaciones:
• AWS Elastic Beanstalk: Facilita el despliegue y la gestión de aplicaciones
web escalables utilizando contenedores Docker o entornos preconfigurados.
5. Herramientas de Desarrollo y Gestión de Proyectos:
• GitHub: Ofrece control de versiones robusto y colaboración en el desarrollo
de software, lo que facilita la colaboración entre los miembros del equipo.
6. Servicios de Mensajería y Colaboración:
• Slack: Facilita la comunicación en equipo y la colaboración mediante la
organización de conversaciones en canales temáticos y la integración con
otras herramientas.
7. Herramientas de Seguridad y Gestión de Identidad:
• AWS Identity and Access Management (IAM): Proporciona un control
granular sobre el acceso a los recursos de AWS, lo que garantiza una
seguridad sólida para la aplicación.
8. Lenguajes de Programación
• HTML/CSS: Básicos para la creación de la estructura y diseño visual
• JavaScript: Se usa para agregar dinámica e interactividad a la intranet.
• PHP: Lenguaje usado del lado del servidor, para manejo de bases de datos,
autenticación de usuarios y generación de contenido dinámico
• Python: Otro lenguaje del lado del servidor, con el uso de frameworks
como Django, para fomentar el desarrollo rápido y limpio de la web.
• Ruby: Framework utilizado para el desarrollo rápido de la web
• ASP.NET: Para el desarrollo orientado a objetos
• Node.js: Entorno de ejecución para JavaScript, para que sea construida en
tiempo real.
Normativa
• ISO 9001 – Gestión de calidad
• ISO/IEC 27001 – Seguridad de la información
• ISO/IEC – Calidad del producto de software
Costos del proyecto
Costos del desarrollo de software
Herramientas de desarrollo $ 38.000.000
Diseño de Interfaz de Usuario $ 32.000.000
Costos de Prueba $ 35.000.000
Costo de soporte
Personal de soporte técnico $ 30.000.000
Publicidad y marketing
Costos de Publicidad $ 12.000.000
Capacitaciones
Horas presenciales $ 4.000.000
Horas Virtuales $ 400.000
Equipo de desarrollo
Gerente de Proyecto $ 45.000.000
Analista de Negocios $ 32.000.000
Diseñador de interfaz de usuario $ 26.000.000
Desarrolladores (Front- Back) $ 52.000.000
Ingeniero de software $ 38.000.000
Testers $ 20.000.000
Especialista en seguridad $ 32.000.000
Especialista en base de datos $ 32.000.000
Especialista en infraestructura (Cloud Computing) $ 35.000.000
Total $ 463.400.000
Cibergrafía
• (S/f). Recuperado el 23 de febrero de 2024, de http://chrome-
extension://efaidnbmnnnibpcajpcglclefindmkaj/https://repository.libertadores.edu.co
/bitstream/handle/11371/464/VanegasRomeroAlfonso.pdf?sequence=2&isAllowed=
• (S/f-b). Recuperado el 24 de febrero de 2024, de http://chrome-
extension://efaidnbmnnnibpcajpcglclefindmkaj/https://ddd.uab.cat/pub/tfg/202
0/tfg_284386/ArtculoFinal.pdf