Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INGENIERIA DE SOFTWARE
Obtención de requisitos:
Se debe identificar sobre qué se está trabajando, es decir, el tema principal que motiva el inicio del
estudio y creación del nuevo software o modificación de uno ya existente. A su
vez identificar los recursos que se tienen, en esto entra el conocer los recursos humanos y
materiales que participan en el desarrollo de las actividades.
Se tiene que tener dominio de la información de un problema, lo cual incluye los datos fuera del
software (usuarios finales, otros sistemas o dispositivos externos), los datos que salen del
sistema (por la interfaz de usuario, interfaces de red, reportes, gráficas y otros medios) y
los almacenamientos de datos que recaban y organizan objetos persistentes de datos (por
ejemplo, aquellos que se conservan de manera permanente).
También hay que ver los puntos críticos, lo que significa tener de una manera clara los aspectos
que entorpecen y limitan el buen funcionamiento de los procedimientos actuales, los problemas
más comunes y relevantes que se presentan, los motivos que crean insatisfacción y aquellos que
deben ser cubiertos a plenitud. Por ejemplo: ¿El contenido de los reportes generados, satisface
realmente las necesidades del usuario? ¿Los tiempos de respuesta ofrecidos, son oportunos?, etc.
Hay que definir las funciones que realizará el software ya que estas ayudan al usuario final y al
funcionamiento del mismo programa.
Se tiene que tener en cuenta cómo será el comportamiento del software ante situaciones
inesperadas como lo son por ejemplo una gran cantidad de usuarios usando el software o una
gran cantidad de datos entre otros.
Extraer los requisitos de un producto software es la primera etapa para crearlo. Durante la fase de
análisis, el cliente plantea las necesidades que se presenta e intenta explicar lo que debería hacer
el software o producto final para satisfacer dicha necesidad mientras que el desarrollador actúa
como interrogador, como la persona que resuelve problemas. Con este análisis, el ingeniero de
sistemas puede elegir la función que debe realizar el software y establecer o indicar cuál es la
interfaz más adecuada para el mismo.
El análisis de requisitos puede parecer una tarea sencilla, pero no lo es debido a que muchas veces
los clientes piensan que saben todo lo que el software necesita para su buen funcionamiento, sin
embargo, se requiere la habilidad y experiencia de algún especialista para reconocer requisitos
incompletos, ambiguos o contradictorios. Estos requisitos se determinan tomando en cuenta las
necesidades del usuario final, introduciendo técnicas que nos permitan mejorar la calidad de los
sistemas sobre los que se trabaja.
El resultado del análisis de requisitos con el cliente se plasma en el documento ERS (especificación
de requisitos del sistema), cuya estructura puede venir definida por varios estándares, tales como
CMMI. Asimismo, se define un diagrama de entidad/relación, en el que se plasman las principales
entidades que participarán en el desarrollo del software.
La captura, análisis y especificación de requisitos (incluso pruebas de ellos), es una parte crucial; de
esta etapa depende en gran medida el logro de los objetivos finales. Se han ideado modelos y
diversos procesos metódicos de trabajo para estos fines. Aunque aún no está formalizada, ya se
habla de la ingeniería de requisitos.
Brindar al usuario todo lo necesario para que pueda trabajar en conjunto con el software
desarrollado obteniendo los mejores resultados posibles.
Tener un control más completo en la etapa creación del software, en cuanto a tiempo de
desarrollo y costos.
Limitaciones:
Otro aspecto limitante de los softwares proviene del proceso totalmente mecánico que requiere
de un mayor esfuerzo y tiempos elevados de ejecución lo que lleva a tener que implementar el
software en una máquina de mayor capacidad.
Especificación:
Caso de uso
Historias de usuario
Siendo los primeros más rigurosas y formales, los segundas más ágiles e informales.
Diseño y arquitectura:
Se refiere a determinar cómo funcionará de forma general sin entrar en detalles. Consiste en
incorporar consideraciones de la implementación tecnológica, como el hardware, la red, etc. Se
definen los Casos de Uso para cubrir las funciones que realizará el sistema, y se transforman las
entidades definidas en el análisis de requisitos en clases de diseño, obteniendo un modelo cercano
a la programación orientada a objetos.
Diagrama de clases
Diagrama de despliegue
Diagrama de secuencia
Los diagramas de clases y de base de datos son los mínimos necesarios para describir la
arquitectura de un proyecto que iniciará a ser codificado. Dependiendo del alcance del proyecto,
complejidad y necesidades, el arquitecto elegirá cuales de los diagramas se requiere elaborar.
Las herramientas para el diseño y modelado de software se denominan CASE (Computer Aided
Software Engineering) entre las cuales se encuentran:
Enterprise Architect
Programación:
Reducir un diseño a código puede ser la parte más obvia del trabajo de ingeniería de software,
pero no es necesariamente la porción más larga. La complejidad y la duración de esta etapa está
íntimamente ligada al o a los lenguajes de programación utilizados.
Desarrollo de la aplicación:
Para el desarrollo de la aplicación es necesario considerar cinco fases para tener una aplicación o
programa eficiente, estas son:
Desarrollo de unidades de diseño batch: En esta fase se utilizan una serie de combinación
de técnicas, como diagrama de flujo, diagramas de estructuras, tablas de decisiones, etc.
Cualquiera a utilizar será beneficioso para plasmar de manera clara y objetiva las
especificaciones y que así el programador tenga mayor comprensión a la hora de
programar y probar los programas que le corresponden.
Pruebas de software:
Implementación:
Documentación:
Todo lo concerniente a la documentación del propio desarrollo del software y de la gestión del
proyecto, pasando por modelaciones (UML), diagramas, pruebas, manuales de usuario, manuales
técnicos, etc; todo con el propósito de eventuales correcciones, usabilidad, mantenimiento futuro
y ampliaciones al sistema.
Mantenimiento:
https://www.bing.com/ck/a?!
&&p=6af71421c0081c33JmltdHM9MTY5MjgzNTIwMCZpZ3VpZD0yMjIwZjU0OC02OTFlLTYxYTUtMT
EzYi1lNjFhNjg3ZDYwODEmaW5zaWQ9NTE5Nw&ptn=3&hsh=3&fclid=2220f548-691e-61a5-113b-
e61a687d6081&psq=fases+de+la+ingenier
%c3%ada+en+software&u=a1aHR0cHM6Ly96aW1icm9uYXBwcy5jb20vZWR1Y2FjaW9uL3Npc3Rlb
WFzLWNvbXB1dGFjaW9uYWxlcy9pbmdlbmllcmlhLWRlLXNvZnR3YXJlL2Zhc2VzLWxhLWluZ2VuaWV
yaWEtc29mdHdhcmUv&ntb=1
Las metodologías de desarrollo de software se utilizan en el ámbito, entre otros, con el objetivo
de trabajar en equipo de manera organizada. Estas metodologías han ido evolucionando a lo largo
del tiempo, pasando de ser un mero trámite de organización a ser una base importantísima.
En las últimas décadas, las metodologías ágiles de desarrollo de software se han impuesto sobre
las demás, que señala que el 71 % de las empresas de ingeniería de software utiliza estas
metodologías. Por lo tanto, si quieres dedicar tu carrera profesional al desarrollo de software,
deberás aprender cómo funcionan las metodologías ágiles.
El desarrollo de software puede ser un sector especialmente complejo, sobre todo cuando se trata
de grandes aplicativos y equipos de trabajo. Ponerse a desarrollar un producto sin una
metodología clara desembocará en un proceso aún más complejo, que conducirá a problemas,
retrasos, errores y, en definitiva, un mal resultado final.
El trabajo con una metodología de desarrollo de software permite reducir el nivel de dificultad,
organizar las tareas, agilizar el proceso y mejorar el resultado final de las aplicaciones a
desarrollar.
La organización del trabajo de las metodologías tradicionales es lineal, es decir, las etapas se
suceden una tras otra y no se puede empezar la siguiente sin terminar la anterior. Tampoco se
puede volver hacia atrás una vez se ha cambiado de etapa. Estas metodologías, no se adaptan
nada bien a los cambios, y el mundo actual cambia constantemente. Las principales metodologías
tradicionales o clasicas son:
Espiral: es una combinación de los dos modelos anteriores, que añade el concepto de
análisis de riesgo. Se divide en cuatro etapas: planificación, análisis de riesgo, desarrollo de
prototipo y evaluación del cliente. El nombre de esta metodología da nombre a su
funcionamiento, ya que se van procesando las etapas en forma de espiral. Cuanto más
cerca del centro se está, más avanzado está el proyecto.
Como hemos dicho al principio del artículo, las metodologías ágiles de desarrollo de software son
las más utilizadas hoy en día debido a su alta flexibilidad y agilidad. Los equipos de trabajo que
las utilizan son mucho más productivos y eficientes, ya que saben lo que tienen que hacer en cada
momento. Además, la metodología permite adaptar el software a las necesidades que van
surgiendo por el camino, lo que facilita construir aplicaciones más funcionales.
Scrum: es también una metodología incremental que divide los requisitos y tareas de
forma similar a Kanban. Se itera sobre bloques de tiempos cortos y fijos (entre dos y cuatro
semanas) para conseguir un resultado completo en cada iteración. Las etapas son:
planificación de la iteración (planning sprint), ejecución (sprint), reunión diaria (daily
meeting) y demostración de resultados (sprint review). Cada iteración por estas etapas se
denomina también sprint.
Lean: está configurado para que pequeños equipos de desarrollo muy capacitados
elaboren cualquier tarea en poco tiempo. Los activos más importantes son las personas y
su compromiso, relegando así a un segundo plano el tiempo y los costes. El aprendizaje, las
reacciones rápidas y potenciar el equipo son fundamentales.
https://www.bing.com/ck/a?!
&&p=980ec1806536a747JmltdHM9MTY5MjgzNTIwMCZpZ3VpZD0yMjIwZjU0OC02OTFlLTYxYTUtM
TEzYi1lNjFhNjg3ZDYwODEmaW5zaWQ9NTc1OQ&ptn=3&hsh=3&fclid=2220f548-691e-61a5-113b-
e61a687d6081&psq=metodolog
%c3%ada+de+desarrollo+de+software+clasica&u=a1aHR0cHM6Ly93d3cuYmVjYXMtc2FudGFuZGVy
LmNvbS9lcy9ibG9nL21ldG9kb2xvZ2lhcy1kZXNhcnJvbGxvLXNvZnR3YXJlLmh0bWw&ntb=1
Herramientas CASE (Computer Aided Software Engineering, Ingeniería de Software Asistida por
Computadoras). Son diversas Aplicaciones informáticas destinadas a aumentar la productividad en
el Desarrollo de software reduciendo el coste de las mismas en términos de tiempo y de dinero.
Estas herramientas nos pueden ayudar en todos los aspectos del ciclo de vida de desarrollo del
software en tareas como el diseño de proyectos, cálculo de costes, implementación de parte del
código automáticamente con el diseño dado, Compilación automática, documentación o detección
de errores entre otras.
Es un sistema de software que intenta proporcionar ayuda automatizada a las actividades del
proceso de desarrollo de software. Los sistemas CASE a menudo se utilizan como apoyo al método.
La primera herramienta CASE como hoy la conocemos fue Excelerator en 1984, era para PC.
Actualmente la oferta de herramientas CASE es muy amplia y tenemos por ejemplo el EASYCASE o
WINPROJECT .
https://www.ecured.cu/Herramienta_CASE
2.DEFINICION
Ingeniería de software:
Es un enfoque sistemático y disciplinado para el diseño, desarrollo, implementación y
mantenimiento de software de alta calidad.
3.GLOSARIO
1. Ingeniería de Software: El proceso sistemático de diseño, desarrollo, prueba y
mantenimiento de software de alta calidad siguiendo estándares y principios.
https://www.bing.com/ck/a?!
&&p=1b6c49e6d7d5ef4dJmltdHM9MTY5MjgzNTIwMCZpZ3VpZD0yMjIwZjU0OC02OTFlLTY
xYTUtMTEzYi1lNjFhNjg3ZDYwODEmaW5zaWQ9NTg3OA&ptn=3&hsh=3&fclid=2220f548-
691e-61a5-113b-e61a687d6081&psq=fases+de+la+ingenier
%c3%ada+en+software&u=a1aHR0cHM6Ly9oaXN0aW5mLmJsb2dzLnVwdi5lcy8yMDEwLzE
yLzI4L2luZ2VuaWVyaWEtZGVsLXNvZnR3YXJlLw&ntb=1
https://www.bing.com/ck/a?!
&&p=6af71421c0081c33JmltdHM9MTY5MjgzNTIwMCZpZ3VpZD0yMjIwZjU0OC02OTFlLTYx
YTUtMTEzYi1lNjFhNjg3ZDYwODEmaW5zaWQ9NTE5Nw&ptn=3&hsh=3&fclid=2220f548-
691e-61a5-113b-e61a687d6081&psq=fases+de+la+ingenier
%c3%ada+en+software&u=a1aHR0cHM6Ly96aW1icm9uYXBwcy5jb20vZWR1Y2FjaW9uL3N
pc3RlbWFzLWNvbXB1dGFjaW9uYWxlcy9pbmdlbmllcmlhLWRlLXNvZnR3YXJlL2Zhc2VzLWxh
LWluZ2VuaWVyaWEtc29mdHdhcmUv&ntb=1
3. Ciclo de Vida del Software: El conjunto de fases por las que pasa el software, como
planificación, análisis, diseño, implementación, pruebas y mantenimiento.
https://www.bing.com/ck/a?!
&&p=2f86b5cb4c37f7d2JmltdHM9MTY5MjgzNTIwMCZpZ3VpZD0yMjIwZjU0OC02OTFlLTYx
YTUtMTEzYi1lNjFhNjg3ZDYwODEmaW5zaWQ9NTU2Mg&ptn=3&hsh=3&fclid=2220f548-
691e-61a5-113b-e61a687d6081&psq=ingenier
%c3%ada+en+software+concepto&u=a1aHR0cHM6Ly9lcy53aWtpcGVkaWEub3JnL3dpa2kv
SW5nZW5pZXIlQzMlQURhX2RlX3NvZnR3YXJlIzp-
OnRleHQ9U2UlMjBjaXRhbiUyMGxhcyUyMGRlZmluaWNpb25lcyUyMG0lQzMlQTFzJTIwcm
Vjb25vY2lkYXMlMkMlMjBmb3JtdWxhZGFzJTIwcG9yLHBhcmElMjBkZXNhcnJvbGxhciUyQyU
yMG9wZXJhciUyMHklMjBtYW50ZW5lcmxvcy4lMjAuLi4lMjBNJUMzJUExcyUyMGVsZW1lbn
Rvcw&ntb=1
4. Diseño Arquitectónico: La creación de la estructura general del software, incluyendo
componentes, módulos y sus interacciones.
https://www.bing.com/ck/a?!
&&p=78438a7cccd0f893JmltdHM9MTY5MjgzNTIwMCZpZ3VpZD0yMjIwZjU0OC02OTFlLTYx
YTUtMTEzYi1lNjFhNjg3ZDYwODEmaW5zaWQ9NTIxOA&ptn=3&hsh=3&fclid=2220f548-
691e-61a5-113b-e61a687d6081&psq=ingenier
%c3%ada+en+software+concepto&u=a1aHR0cHM6Ly9tZXhpY28udW5pci5uZXQvaW5nZW
5pZXJpYS9ub3RpY2lhcy9pbmdlbmllcmlhLWRlLXNvZnR3YXJlLXF1ZS1lcy1vYmpldGl2b3Mv&
ntb=1
5. Prototipado: Crear una versión preliminar y simplificada del software para validar y refinar
requisitos y diseño.
https://www.bing.com/ck/a?!
&&p=78438a7cccd0f893JmltdHM9MTY5MjgzNTIwMCZpZ3VpZD0yMjIwZjU0OC02OTFlLTYx
YTUtMTEzYi1lNjFhNjg3ZDYwODEmaW5zaWQ9NTIxOA&ptn=3&hsh=3&fclid=2220f548-
691e-61a5-113b-e61a687d6081&psq=ingenier
%c3%ada+en+software+concepto&u=a1aHR0cHM6Ly9tZXhpY28udW5pci5uZXQvaW5nZW
5pZXJpYS9ub3RpY2lhcy9pbmdlbmllcmlhLWRlLXNvZnR3YXJlLXF1ZS1lcy1vYmpldGl2b3Mv&
ntb=1
https://www.bing.com/ck/a?!
&&p=78438a7cccd0f893JmltdHM9MTY5MjgzNTIwMCZpZ3VpZD0yMjIwZjU0OC02OTFlLTYx
YTUtMTEzYi1lNjFhNjg3ZDYwODEmaW5zaWQ9NTIxOA&ptn=3&hsh=3&fclid=2220f548-
691e-61a5-113b-e61a687d6081&psq=ingenier
%c3%ada+en+software+concepto&u=a1aHR0cHM6Ly9tZXhpY28udW5pci5uZXQvaW5nZW
5pZXJpYS9ub3RpY2lhcy9pbmdlbmllcmlhLWRlLXNvZnR3YXJlLXF1ZS1lcy1vYmpldGl2b3Mv&
ntb=1
7. Pruebas de Software: Proceso de verificación y validación del software para asegurar que
cumpla con los requisitos y funcione correctamente.
https://www.bing.com/ck/a?!
&&p=78438a7cccd0f893JmltdHM9MTY5MjgzNTIwMCZpZ3VpZD0yMjIwZjU0OC02OTFlLTYx
YTUtMTEzYi1lNjFhNjg3ZDYwODEmaW5zaWQ9NTIxOA&ptn=3&hsh=3&fclid=2220f548-
691e-61a5-113b-e61a687d6081&psq=ingenier
%c3%ada+en+software+concepto&u=a1aHR0cHM6Ly9tZXhpY28udW5pci5uZXQvaW5nZW
5pZXJpYS9ub3RpY2lhcy9pbmdlbmllcmlhLWRlLXNvZnR3YXJlLXF1ZS1lcy1vYmpldGl2b3Mv&
ntb=1
https://www.bing.com/ck/a?!
&&p=78438a7cccd0f893JmltdHM9MTY5MjgzNTIwMCZpZ3VpZD0yMjIwZjU0OC02OTFlLTYx
YTUtMTEzYi1lNjFhNjg3ZDYwODEmaW5zaWQ9NTIxOA&ptn=3&hsh=3&fclid=2220f548-
691e-61a5-113b-e61a687d6081&psq=ingenier
%c3%ada+en+software+concepto&u=a1aHR0cHM6Ly9tZXhpY28udW5pci5uZXQvaW5nZW
5pZXJpYS9ub3RpY2lhcy9pbmdlbmllcmlhLWRlLXNvZnR3YXJlLXF1ZS1lcy1vYmpldGl2b3Mv&
ntb=1
https://www.bing.com/ck/a?!
&&p=78438a7cccd0f893JmltdHM9MTY5MjgzNTIwMCZpZ3VpZD0yMjIwZjU0OC02OTFlLTYx
YTUtMTEzYi1lNjFhNjg3ZDYwODEmaW5zaWQ9NTIxOA&ptn=3&hsh=3&fclid=2220f548-
691e-61a5-113b-e61a687d6081&psq=ingenier
%c3%ada+en+software+concepto&u=a1aHR0cHM6Ly9tZXhpY28udW5pci5uZXQvaW5nZW
5pZXJpYS9ub3RpY2lhcy9pbmdlbmllcmlhLWRlLXNvZnR3YXJlLXF1ZS1lcy1vYmpldGl2b3Mv&
ntb=1
10. Despliegue: Poner el software en un entorno de producción para que los usuarios finales
lo utilicen.
https://www.bing.com/ck/a?!
&&p=78438a7cccd0f893JmltdHM9MTY5MjgzNTIwMCZpZ3VpZD0yMjIwZjU0OC02OTFlLTYx
YTUtMTEzYi1lNjFhNjg3ZDYwODEmaW5zaWQ9NTIxOA&ptn=3&hsh=3&fclid=2220f548-
691e-61a5-113b-e61a687d6081&psq=ingenier
%c3%ada+en+software+concepto&u=a1aHR0cHM6Ly9tZXhpY28udW5pci5uZXQvaW5nZW
5pZXJpYS9ub3RpY2lhcy9pbmdlbmllcmlhLWRlLXNvZnR3YXJlLXF1ZS1lcy1vYmpldGl2b3Mv&
ntb=1
11. Ciclo de Deming (PDCA): Un ciclo de mejora continua que consiste en Planificar, Hacer,
Verificar y Actuar, utilizado para mejorar los procesos de desarrollo y mantenimiento del
software.
https://www.bing.com/ck/a?!
&&p=78438a7cccd0f893JmltdHM9MTY5MjgzNTIwMCZpZ3VpZD0yMjIwZjU0OC02OTFlLTYx
YTUtMTEzYi1lNjFhNjg3ZDYwODEmaW5zaWQ9NTIxOA&ptn=3&hsh=3&fclid=2220f548-
691e-61a5-113b-e61a687d6081&psq=ingenier
%c3%ada+en+software+concepto&u=a1aHR0cHM6Ly9tZXhpY28udW5pci5uZXQvaW5nZW
5pZXJpYS9ub3RpY2lhcy9pbmdlbmllcmlhLWRlLXNvZnR3YXJlLXF1ZS1lcy1vYmpldGl2b3Mv&
ntb=1
12. Diagrama de Flujo de Datos: Una representación gráfica de los procesos y flujos de datos
dentro de un sistema de software.
https://www.bing.com/ck/a?!
&&p=78438a7cccd0f893JmltdHM9MTY5MjgzNTIwMCZpZ3VpZD0yMjIwZjU0OC02OTFlLTYx
YTUtMTEzYi1lNjFhNjg3ZDYwODEmaW5zaWQ9NTIxOA&ptn=3&hsh=3&fclid=2220f548-
691e-61a5-113b-e61a687d6081&psq=ingenier
%c3%ada+en+software+concepto&u=a1aHR0cHM6Ly9tZXhpY28udW5pci5uZXQvaW5nZW
5pZXJpYS9ub3RpY2lhcy9pbmdlbmllcmlhLWRlLXNvZnR3YXJlLXF1ZS1lcy1vYmpldGl2b3Mv&
ntb=1
13. Diagrama de Clases: Una representación visual de las clases en un sistema, junto con sus
atributos y relaciones.
https://www.bing.com/ck/a?!
&&p=78438a7cccd0f893JmltdHM9MTY5MjgzNTIwMCZpZ3VpZD0yMjIwZjU0OC02OTFlLTYx
YTUtMTEzYi1lNjFhNjg3ZDYwODEmaW5zaWQ9NTIxOA&ptn=3&hsh=3&fclid=2220f548-
691e-61a5-113b-e61a687d6081&psq=ingenier
%c3%ada+en+software+concepto&u=a1aHR0cHM6Ly9tZXhpY28udW5pci5uZXQvaW5nZW
5pZXJpYS9ub3RpY2lhcy9pbmdlbmllcmlhLWRlLXNvZnR3YXJlLXF1ZS1lcy1vYmpldGl2b3Mv&
ntb=1
https://www.bing.com/ck/a?!
&&p=78438a7cccd0f893JmltdHM9MTY5MjgzNTIwMCZpZ3VpZD0yMjIwZjU0OC02OTFlLTYx
YTUtMTEzYi1lNjFhNjg3ZDYwODEmaW5zaWQ9NTIxOA&ptn=3&hsh=3&fclid=2220f548-
691e-61a5-113b-e61a687d6081&psq=ingenier
%c3%ada+en+software+concepto&u=a1aHR0cHM6Ly9tZXhpY28udW5pci5uZXQvaW5nZW
5pZXJpYS9ub3RpY2lhcy9pbmdlbmllcmlhLWRlLXNvZnR3YXJlLXF1ZS1lcy1vYmpldGl2b3Mv&
ntb=1
15. UML (Lenguaje de Modelado Unificado): Un lenguaje estándar utilizado para modelar y
visualizar los aspectos de diseño y arquitectura del software.
https://www.bing.com/ck/a?!
&&p=78438a7cccd0f893JmltdHM9MTY5MjgzNTIwMCZpZ3VpZD0yMjIwZjU0OC02OTFlLTYx
YTUtMTEzYi1lNjFhNjg3ZDYwODEmaW5zaWQ9NTIxOA&ptn=3&hsh=3&fclid=2220f548-
691e-61a5-113b-e61a687d6081&psq=ingenier
%c3%ada+en+software+concepto&u=a1aHR0cHM6Ly9tZXhpY28udW5pci5uZXQvaW5nZW
5pZXJpYS9ub3RpY2lhcy9pbmdlbmllcmlhLWRlLXNvZnR3YXJlLXF1ZS1lcy1vYmpldGl2b3Mv&
ntb=1
4.INF. FASES
5.INF. METODOLOGIAS
6. M.M. CASE
7. FODA INTEGRANTES
8. CASO PRACTICO
Casos prácticos
1. Sistema de Gestión de Biblioteca:
a. Contexto: Una biblioteca universitaria necesita un sistema de gestión de biblioteca
eficiente para administrar sus libros, revistas y recursos digitales. El objetivo es
facilitar la búsqueda y el préstamo de materiales a estudiantes y profesores.
b. Desarrollo: Los ingenieros de software diseñan un sistema que permite a los
usuarios buscar libros por título, autor o tema, realizar reservas en línea y recibir
notificaciones por correo electrónico cuando los libros estén disponibles. También
desarrollan una interfaz de administración para que el personal de la biblioteca
pueda realizar un seguimiento de los préstamos y la disponibilidad de los
materiales.
c. Implementación: Se implementa el sistema utilizando tecnologías web y una base
de datos para el almacenamiento de información. Se integra con el sistema de
autenticación de la universidad para la identificación de usuarios.
d. Pruebas y Mantenimiento: Se realizan pruebas exhaustivas para garantizar que el
sistema funcione correctamente. Se brinda mantenimiento regular para corregir
errores, actualizar la base de datos y agregar nuevas funciones según sea
necesario.
2. Sistema de Reservas de Vuelos en Línea:
a. Contexto: Una aerolínea internacional desea desarrollar un sistema de reservas en
línea para sus clientes. El objetivo es permitir a los usuarios buscar vuelos,
seleccionar asientos, hacer reservas y gestionar sus itinerarios de manera
eficiente.
b. Desarrollo: Un equipo de ingenieros de software diseña una plataforma de
reservas que se integra con los sistemas de información de vuelos de la aerolínea.
Los clientes pueden buscar vuelos por fecha, destino y preferencias de asientos.
También pueden ver información sobre tarifas y horarios.
c. Implementación: El sistema se implementa como una aplicación web y una
aplicación móvil para múltiples plataformas. Se utilizan servicios de pago en línea
para procesar las transacciones y se implementa una base de datos para el
seguimiento de reservas y datos de clientes.
d. Pruebas y Mantenimiento: Se realizan pruebas exhaustivas de carga, rendimiento y
seguridad. El sistema se somete a pruebas de estrés antes de su lanzamiento. Se
proporciona mantenimiento continuo para garantizar que la información de vuelos
y las tarifas estén actualizadas y que el sistema siga funcionando sin problemas.
3. Aplicación de Gestión de Proyectos:
a. Contexto: Una empresa de desarrollo de software necesita una aplicación de
gestión de proyectos para organizar y supervisar las tareas y los recursos en sus
proyectos. El objetivo es mejorar la colaboración entre los miembros del equipo y
garantizar que los proyectos se completen a tiempo y dentro del presupuesto.
b. Desarrollo: Un equipo de ingenieros de software desarrolla una aplicación que
permite a los miembros del equipo crear proyectos, asignar tareas, establecer
plazos y realizar un seguimiento del progreso. La aplicación también incluye
herramientas para la gestión de recursos y la generación de informes.
c. Implementación: La aplicación se implementa como una plataforma basada en la
nube para facilitar el acceso desde cualquier ubicación. Se utiliza autenticación de
usuarios y se establecen permisos de acceso para garantizar la seguridad de los
datos.
d. Pruebas y Mantenimiento: Se realizan pruebas exhaustivas de funcionalidad y
seguridad. Los usuarios prueban la aplicación y se recopilan sus comentarios para
realizar mejoras. El mantenimiento continuo incluye la corrección de errores y la
adición de nuevas características según las necesidades del equipo.
Sistema de gestión de biblioteca: La mejor manera de solucionar los casos prácticos del sistema de
gestión de la biblioteca sería utilizando un enfoque basado en las necesidades de los usuarios. En
primer lugar, es necesario realizar una investigación exhaustiva para comprender las necesidades
de los usuarios, tanto estudiantes como profesores. Esto incluye comprender sus hábitos de
búsqueda, sus preferencias de préstamo y sus necesidades de acceso a los materiales. Además de
las funciones básicas, el sistema también debe ofrecer funciones avanzadas, como la posibilidad de
crear listas de lectura, guardar notas y comentarios sobre los materiales y acceder a recursos
digitales. Estas funciones pueden ayudar a los usuarios a aprovechar al máximo los recursos de la
biblioteca.
Por último, es importante realizar pruebas exhaustivas del sistema para garantizar que funcione
correctamente. Estas pruebas deben incluir pruebas de usabilidad, pruebas de rendimiento y
pruebas de seguridad.
Sistema de reserva de vuelo en línea: El sistema de reservas de vuelos en línea descrito en los
casos prácticos parece ser un sistema bien diseñado y ejecutado. El sistema cumple con los
objetivos de la aerolínea de permitir a los usuarios buscar vuelos, seleccionar asientos, hacer
reservas y gestionar sus itinerarios de manera eficiente. El sistema se implementó utilizando
tecnologías web y móviles. Esto permite a los usuarios acceder al sistema desde cualquier
dispositivo. También se utilizaron servicios de pago en línea para procesar las transacciones, lo que
facilita y agiliza el proceso de reserva.
En general, el sistema de reservas de vuelos en línea descrito en los casos prácticos parece ser un
sistema bien diseñado y ejecutado que cumple con los objetivos de la aerolínea.
Aplicación de Gestión de Proyectos: El sistema de gestión de proyectos descrito en los casos
prácticos parece ser un sistema bien diseñado y ejecutado. El sistema cumple con los objetivos de
la empresa de desarrollo de software de mejorar la colaboración entre los miembros del equipo y
garantizar que los proyectos se completen a tiempo y dentro del presupuesto.
El sistema se desarrolló utilizando un enfoque basado en las necesidades del usuario. Los
ingenieros de software realizaron una investigación exhaustiva para comprender las necesidades
de los usuarios, tanto de los miembros del equipo como de la empresa. Esto ayudó a asegurar que
el sistema ofreciera una experiencia de usuario positiva y que fuera capaz de satisfacer las
necesidades comerciales de la empresa.
En general, el sistema de gestión de proyectos descrito en los casos prácticos parece ser un sistema
bien diseñado y ejecutado que cumple con los objetivos de la empresa de desarrollo de software.
9. PREOYECTO
Descripción; Crear una aplicación web que permita a em presas y profesionales ofrecer
Características clave: Calendario de citas, disponibilidad en tiempo real, notificaciones por correo
electrónico o SMS, gestión de clientes y pagos.