Está en la página 1de 11

Ingeniería en Sistemas Curso: Mantenimiento de

Software
de Computación
Prof: Laura Saborío Oviedo
Nivel: Licenciatura
I Prueba parcial Código curso: SC-950

Nombre del estudiante: Anthony Chévez Lopez Carnet: 701660117

Fecha: 2 Julio 2020

Porcentaje: 20% Puntos obtenidos: _____ puntos


Puntaje total: 35 puntos Porcentaje: _____ %
Tiempo disponible: 2:30 horas Nota: _____

Instrucciones generales

El envío de mensajes de texto, uso de Internet, chat o cualquier otra forma de comunicación ya
sea escrita u oral, está prohibido durante el examen. Si debe contestar una llamada de
emergencia sírvase comunicarlo al profesor y con la autorización previa, proceda a seguir las
instrucciones del caso.

Lea cuidadosamente la prueba antes de iniciar, dispone de 15 minutos para formular sus
preguntas antes de comenzar el examen.

Si se le presenta alguna situación que requiere desconectase de la sesión sírvase pedir


autorización al profesor.

Trabaje de forma ordenada, cuidando la ortografía y la redacción, aquellas respuestas que no


sean comprensibles no serán evaluadas por el docente.

Debe resolver la prueba en este documento, sírvase anotar su nombre completo e


identificación.

Cualquier intento de fraude durante la prueba autoriza al docente a la anulación del examen y
la reprobación del curso.

1
Ingeniería en Sistemas Curso: Mantenimiento de
Software
de Computación
Prof: Laura Saborío Oviedo
Nivel: Licenciatura
I Prueba parcial Código curso: SC-950

UNICA PARTE. Resolución de casos (30 puntos)

Caso No. 1 (15 puntos)

En 2001, McDonald’s Restaurants emprendió un proyecto llamado Innovate para crear una
intranet que conectara las oficinas generales con sus 30 000 restaurantes en 120 países, con el fin
de proveer información operacional detallada en tiempo real. Fue planeado para ser un sistema en
todo el mundo digital de la red y la planificación de recursos empresariales para los datos
financieros, recursos humanos, y aplicaciones de gestión de la cadena de suministro.

Por ejemplo, el nuevo sistema informaría de inmediato a un gerente en las oficinas generales de la
compañía en Oak Brook, Illinois, si las ventas disminuyeran en una franquicia en Londres, o si la
temperatura de la parrilla en un restaurante de Rochester, Minnesota no fuera la adecuada.

La idea era crear una aplicación ERP global que tuviera contacto con todos los aspectos
funcionales de cada uno de los restaurantes McDonald’s. Algunos de estos restaurantes estaban
en países que carecían de infraestructuras de red.

McDonald planeó un costo de $ 1 mil millones en cinco años para atar todas sus operaciones a una
red digital en tiempo real, pero el proyecto fracasó antes de que incluso empezara.

Después de invertir cerca de $1 mil millones durante varios años, incluyendo $170 millones en
consultores y en la planificación inicial de la implementación, McDonald’s dio fin al proyecto.

QUE SE PENSABA HACER

 Red Privada Global McDonald


 Cada restaurante de datos de alimentación a lo global la sede (Oak Brook, Illinois)
o Supervisar todos los restaurantes.
o Calcular el volumen de ventas diarias.
o Ajustar las temperaturas de los productos / equipos.
o La cantidad de tiempo para hacer la hamburguesa perfecta. o Inventarios.
o Información en todo momento.

PROBLEMAS DEL PROYECTO

Gestión del alcance

En la etapa de análisis inicial, la administración del proyecto no consideró cuidadosamente si el


proyecto tenía el alcance correcto y si el proyecto podía abordar los problemas actuales.

Establecer una red global en tiempo real para cubrir todas las ubicaciones fue imposible desde el
principio, porque cada país tenía diferentes infraestructuras de TI.

2
Ingeniería en Sistemas Curso: Mantenimiento de
Software
de Computación
Prof: Laura Saborío Oviedo
Nivel: Licenciatura
I Prueba parcial Código curso: SC-950

El alcance del proyecto debería haberse definido con más detalle para identificar la viabilidad del
proyecto.

Participación de las partes interesadas

Para identificar la viabilidad del proyecto y definir su alcance, se debería haber proporcionado
suficiente información y comentarios de los gerentes de las tiendas en cada país. El equipo del
proyecto debería haber identificado si se podían o no abordar los desafíos actuales a través de los
requerimientos.

Gerente de proyecto

Es muy importante tener un gerente de proyecto calificado y experimentado en el proyecto como


este. Si la empresa hubiera tenido un gerente de proyecto calificado, el gerente de proyecto les
habría dicho a los ejecutivos que Innovate Project era imposible, lo que ilustra la necesidad de
examinar la viabilidad del proyecto a fondo desde el principio.

Entendimiento de ejecutivos

Entendieron la importancia de Innovate Project para mejorar la gestión diaria de las operaciones,
pero no tenían una comprensión suficiente de la tecnología de TI y tenían expectativas poco
realistas ...

RESULTADOS

 Prototipos para ser implementados en Canadá y Francia


 $ 170 millones de pérdidas y pocas ganancias

LECCIONES APRENDIDAS

 No muerda demasiado
 Contar con más conocimiento en TI
 Recuperar los costos perdidos
 Conseguir la aceptación de los ejecutivos
 Cumplir con el cronograma de actividades

De acuerdo con lo aprendido en clase respecto de Gestión de Configuración del Software,


indique:

1. Dado que: ““La Gestión de la Configuración del Software es el conjunto de actividades y


procesos necesarios para identificar y definir los elementos de la configuración de un
sistema.” (5 ptos)

3
Ingeniería en Sistemas Curso: Mantenimiento de
Software
de Computación
Prof: Laura Saborío Oviedo
Nivel: Licenciatura
I Prueba parcial Código curso: SC-950

a. Hasta el punto que logró llegar el desarrollo del proyecto ¿cuáles de los elementos
de la configuración del software se vieron implicados?
Según lo que explica el texto anterior se vieron implicados, la especificación del
sistema, plan del proyecto software, especificación, un prototipo medio hecho,
prácticamente estos fueron estos, porque, aunque hubo una mala gestión de los
puntos mencionados, en buena instancia se trató de abarcar esa primera parte.
b. Clasifique los errores que se cometieron dentro de estos elementos.
Especificación del sistema:
una mala gestión de principio a fin, no existió nunca una visión clara de total del
alcance que se quería obtener.
Plan del proyecto software:
no existió un gerente bueno para guiar este proyecto y llevarlo al éxito, no
tenían una comprensión suficiente de la tecnología de TI y tenían expectativas
pocas realistas.
Especificación de requerimientos y el prototipo: se debería haber proporcionado
suficiente información y comentarios de los gerentes de las tiendas en cada país
para así lograr un mayor entendimiento de los requerimientos a desarrollar,
obviamente, parece ser que el prototipo no generó la cobertura total de lo
deseado o lo plantearon mal también.

c. Indique ¿qué es una línea base? ¿qué tiene que ver con los elementos de la
configuración del software y ¿Cómo pudo afectar esto en este proyecto?

Según la definición de línea base “es una especificación o producto que se ha


revisado formalmente y sobre los que se ha llegado a un acuerdo, y
que de ahí en adelante sirve como base para un desarrollo posterior y que puede
cambiarse solamente a través de procedimientos formales de control de
cambios. (IEEE, 1990)” en este proyecto no se llegó a tal punto de obtener ni
siquiera una línea base del mismo, porque no se terminó, porque fue un gran
fracaso de inicio a fin, nunca se obtuvo un producto final probado con
procedimientos finales deseados.
También al no trabajar bajo una línea base de proyectos exitosos anteriores,
generó que hubiera mucho desorden a la hora de desarrollar el proyecto, no
tenían ideas claras del siguiente paso en cada proceso y como llevarlo a cabo de
la mejor forma. Este proyecto si hubiese tenido una línea base en su desarrollo
posiblemente hubiese agilizado más las mejores prácticas evitando “el prueba y
error” que casi siempre es muy riesgoso para estas magnitudes de inversiones.
Aunque una implementación de una LB no garantiza el éxito de un proyecto, si
ayuda un montón para el desarrollo del mismo.

4
Ingeniería en Sistemas Curso: Mantenimiento de
Software
de Computación
Prof: Laura Saborío Oviedo
Nivel: Licenciatura
I Prueba parcial Código curso: SC-950

2. En cuanto a modelos de ciclo de vida del software. Si usted estuviera en el equipo de


este proyecto. Cuál sería su recomendación respecto de: (6 ptos)
a. Delimitación del proyecto:
Este punto es crítico cuando se va a desarrollar un proyecto nuevo, se debe de
tener claridad hasta donde se debe de llegar, y en este proyecto nunca se tuvo eso.
Para esto me hubiese buscados un buen proyect manager para poder gestionar de
la mejor forma todo el proyecto, desde un principio que él en conjunto con los
interesados analizaran las delimitaciones para conocer si era viable su ejecución
con respecto a lo que se contaba.
b. Modelo de desarrollo a utilizar:
Me gusta mucho la metodología de scrum, por su agilidad y facilidad de
desarrollo, aunque este es un proyecto bastante grande, considero que es más
llevadero si se van trabajando en tractos o entregables, además se sabe que no se
cuenta con un PM, pero se le puede otorgar un rol importante al scrum master
para un desarrollo más productivo, y que se encargue de guiar mejor al equipo en
todas sus áreas.
c. Proceso de planificación y gestión del proyecto.
Como se trabajaría con SCRUM, El proceso debe de iniciar con una buena
planificación del mismo, como dicen marcando muy bien la cancha, para no tener
problemas posteriormente. Para esto se debe de contar con una colaboración
activa de todos los involucrados, principalmente el cliente, para que ponga sobre
la mesa lo que realmente desea y no omitir ningún detalle para evitar obviar algo
que luego nos lamentemos.
Planificar las tareas de cada iteración, indicando quienes serán sus responsables y
sus fechas de entregas previstas, para evitar atrasos en el proyecto.
3. De todos los errores cometidos, ¿cuál considera usted que fue el que pudo haberse
evitado con una adecuada gestión del proyecto? Justifique su respuesta (4 ptos).
Sin dudarlo pensaría que el alcance y la definición de los requerimientos, estos dos puntos
son vitales en un planteamiento de proyecto, es el primer paso que se debe abordar, si
esto no se realiza bien, “el niño nace muerto” y a partir de ahí todo es un fracaso, genera
atrasos en tiempos de entrega, genera retrocesos y en el peor de los casos provoca que el
cliente por ejemplo pida A y se le entregue B, entonces, genera en el cliente, frustración y
poca credibilidad, simplemente por el hecho de no comprender un requerimiento.
Siempre se recomienda a esta parte dedicarle el suficiente tiempo para que luego no
existan perdidas económicas considerables y lamentables.
Pienso que si estos dos puntos Requerimientos y delimitaciones, se hubiesen planteado de
la mejor forma posiblemente el proyecto hubiese terminado distinto, no de la forma que

5
Ingeniería en Sistemas Curso: Mantenimiento de
Software
de Computación
Prof: Laura Saborío Oviedo
Nivel: Licenciatura
I Prueba parcial Código curso: SC-950

termino, hubieran evitado hacer trabajos innecesarios e inclusive talvez hasta hubiesen
visto que no había forma de desarrollarlo y no hubiera pasado al siguiente paso.

Caso No.2 (10 puntos)

Una empresa financiera requiere mejorar el proceso actual de gestión de cambios para los
sistemas existentes en la organización, entre las principales condiciones actuales a considerar para
implementar este procedimiento están las siguientes:

1. No existe ningún software para llevar el control de este proceso.


2. Las solicitudes de cambios (mejoras o ajustes) se realizan mediante un correo electrónico
dirigido al jefe de soporte. El usuario debe estar llamando constantemente para validar si
ya fue vista por el jefe de soporte.
3. El jefe de soporte analiza la solicitud, realiza la estimación de tiempo-costo, realiza la
aprobación y la asignación del recurso que el ajuste.
4. El programador realiza el ajuste y las pruebas del nuevo cambio. Comunica al usuario de
que el ajuste está en producción, por lo que debe monitorear los resultados.
5. No se deja evidencia documental (externa) del cambio realizado, salvo los correos que
circulan entre el jefe de soporte, el programador y el usuario.
6. En una hoja de Excel que lleva el jefe de soporte, se trata de ir guardando el estado
actualizado de los cambios que gravita entre los siguientes estados: Pendiente-En revisión-
-En Desarrollo-Aprobada.

Con la información anterior y de acuerdo con lo visto sobre el Control de Cambios

1. Indique ¿por qué es importante que una empresa tenga un adecuado control de cambios
cuando está desarrollando un proyecto? (4 ptos).

En una empresa no es importante, es crucial contar con un control de cambios porque se debe
de saber quién gestionó un cambio, que cambio realizó, cuando lo realizó, con qué fin lo
realizó, etc., todo esto para poder ver muchas necesidades futuras o actuales. Este tipo de

6
Ingeniería en Sistemas Curso: Mantenimiento de
Software
de Computación
Prof: Laura Saborío Oviedo
Nivel: Licenciatura
I Prueba parcial Código curso: SC-950

controles facilita la gestión de todos los cambios ocurridos en versiones determinadas del
sistema.

El control de cambio genera métodos para identificar y solicitar cambios de parte de un cliente
y ayuda a que queden los detalles de los mismos para luego facilitar la gestión del software.

2. Construya un nuevo procedimiento de Control de cambios (6 ptos)


a. Plantee los pasos, para un nuevo procedimiento de la atención del control de
cambios y los responsables de cada uno de los pasos del procedimiento.
Pasos para el control de cambios:
1. Realizar la solicitud: En esta parte es el cliente que debe de generar la
solicitud, en el enunciado anterior, indica que lo hace por medio de
correo electrónico, para mi concepto debería de existir una mesa de
ayuda para que ahí el cliente pueda plantear de manera correcta el
cambio solicitado, la solicitud debería de incluir por lo menos, nombre de
solicitante, la fecha de la solicitud, prioridad, descripción del caso y si el
cliente tiene un superior, entonces un aprobador del cambio.
2. En la mesa de servicio debería el jefe tomar el caso y priorizar su
atención, recordemos que un cliente siempre va a decir que prioridad su
caso, por eso es que el jefe de soporte debería de analizar la realidad de
la prioridad.
3. Analizar el impacto que este cambio pueda generar al funcionamiento
del sistema, ver las posibles fechas de finalización e inicio de los
cambios, cuanto tiempo llevara a cabo ejecutarlos, esfuerzo del personal
requerido, si es necesario sacar una ventana de mantenimiento o si se
puede hacer el cambio en caliente, esto lo realizará los analistas de
sistemas, si no es viable la solicitud, entonces se le indicará al cliente.
4. El jefe de soporte generará un estipulado de tiempos y costos de los
cambios pedidos por el cliente. Se deberá emitir una propuesta de
cambio al cliente, indicando todos los pormenores al cliente, y

7
Ingeniería en Sistemas Curso: Mantenimiento de
Software
de Computación
Prof: Laura Saborío Oviedo
Nivel: Licenciatura
I Prueba parcial Código curso: SC-950

determinará en caso de existir un error como se solventaría, si se


trataría de solucionar o si se realiza un roll back mejor.
5. Una vez de todos estos pasos se hallan dado, se genera una aprobación
y se crea un cronograma de trabajos, aquí el jefe de soporte asigna al
encargado de realizar los cambios solicitados.
6. Todo este proceso mencionado quedará almacenado en una mesa de
ayuda en su respectiva bitácora y se podrá anexar al sistema que se
trabajará.

b. Construya un flujograma donde se reflejen dichos pasos y su orden de ejecución.

8
Ingeniería en Sistemas Curso: Mantenimiento de
Software
de Computación
Prof: Laura Saborío Oviedo
Nivel: Licenciatura
I Prueba parcial Código curso: SC-950

Caso No.3 (10 puntos)

En la compañía de desarrollo Software de Punta S.A., han tenido múltiples problemas con la
administración de fuentes, presentándose entre otras cosas, las siguientes situaciones:

1. No existen un repositorio único de las fuentes de los sistema principal, existen varios
repositorios separados, lo cual ocasiona que haya versiones distintas de un mismo objeto, esto
obliga a los programadores a realizar revisiones exhaustiva del código del objeto, antes de
poderlos modificar, lo que incrementa considerablemente el tiempo de atención de una
avería.
2. Los fuentes de algunos sistemas no son agregados en el repositorio de la empresa, ya que son
custodiados por ciertos funcionarios en particular, lo que afecta el tiempo en la atención de
cualquier incidencia, ya que no se tiene a mano los objetos del producto.
3. La solicitud de un objeto, el tiempo que fue requerido para atender la incidencia, qué se
modificó en el objeto y quién lo modificó, se almacena en una hoja de Excel que es accedida
por todos los funcionarios que hacen la solicitud de atención. Algunas veces esta hoja se daña
y se pierde parte de la información almacenada, lo que obliga a levantar el inventario
nuevamente de los objetos cedidos en préstamo.
4. Normalmente el programador que realiza el ajuste también efectúa las pruebas y coloca el
objeto en producción, lo cual ocasiona trastornos en la operativa y produce ciertos problemas
con los usuarios que desconocen los cambios realizados.
5. No hay ninguna revisión o control de calidad al código programado que garantice la correcta
operación del componente, no queda ninguna evidencia de revisiones post-implementación.

De acuerdo con lo visto respecto de Control de versiones:

1. Si tuviera que recomendar la compra de un software automatizado para el control de


versiones: (5 ptos)

9
Ingeniería en Sistemas Curso: Mantenimiento de
Software
de Computación
Prof: Laura Saborío Oviedo
Nivel: Licenciatura
I Prueba parcial Código curso: SC-950

a. ¿cuál sería?
Se utilizaría el repositorio Git hub para desarrollar estas tareas.
b. ¿cómo defendería esa compra?
Se le presentaría la problemática a la gerencia para hacerlos caer en conciencia
que tan crítico es poder contar un sistema automatizado de control de versiones,
les demostraría con pruebas evidénciales que sucede si no se implementa y
cuáles serían sus consecuencias para el negocio empresarial, recordemos que
casi en toda empresa se hacer ver a TI como un gasto, entonces hay que entrar
por esa parte para cambiar esa mentalidad.

c. ¿cuáles serían sus principales argumentos? Mencione al menos 3 argumentos que


usted le indicaría a la gerencia para promover la compra.
Aunque existe una versión de git hub gratuita, esta no cuenta con todas sus
características necesarias para desarrollar a la perfección esta tarea. Por lo tanto
mis argumentos, serían:
- Cuanta con Seguimiento de errores y esto facilitaría mejor la gestión
de problemas.
- Búsqueda rápida: Con git hub es mucho más fácil desarrollar
búsquedas de repositorios y archivos de versiones.
- Cuenta con una potente comunidad de desarrolladores en todo el
mundo: Esto facilita poder encontrar soporte más sencillamente de la
herramienta.
- Permite descargar como archivo el código fuente.
- Posibilita la importación en Git, SVN o TFS: esto ayuda mucho debido a
que si se cuenta con otros sistemas de control de versiones en un
futuro entonces no existiría problemas de compatibilidad.
- Puedes personalizar cualquier servicio host en la nube: debido a la
tendencia de las soluciones en la nube, este punto es muy importante
para valorarlo.
2. Si no existiera la posibilidad de comprar un software para el manejo de versiones y usted
debe proponer un procedimiento para tener este aspecto bajo control. Describa el
procedimiento que usted propone paso a paso. (5 ptos).
Buscaría un sistema de open source para poder implementarlo de la mejor forma,
debido a la realidad actual, manejar estos controles de forma manual no es
recomendable para mi opinión, porque queda más expuesto al error humano.
Implementaría el sistema Git, que según se dice es gratuito, este sistema es uno de los
mejores al nivel de control de versiones.
El único costo de esto sería el aprendizaje de uso y la implementación, pero utilizaría al
mismo equipo desarrollo para aprovechar los recursos de la empresa.

10
Ingeniería en Sistemas Curso: Mantenimiento de
Software
de Computación
Prof: Laura Saborío Oviedo
Nivel: Licenciatura
I Prueba parcial Código curso: SC-950

Git es un sistema, escalable, software libre y open source, permite el trabajo en equipo,
tiene mayor autonomía debido a que cada desarrollador cuenta con una copia local de
todo el proyecto y de los cambios generados, lo que le permite trabajar de forma
individual y a su propio ritmo, en cualquier momento y lugar.

11

También podría gustarte