Está en la página 1de 8

Departamento de Ingeniería de Software

y Sistemas Informáticos
ETSII de Informática
UNED

Introducción a la Ingeniería de Software.


Prácticas curso 2022-2023.

Introducción

Se presenta el enunciado de las prácticas de la asignatura Introducción a la Ingeniería del


Software del Grado de Ingeniería Informática y Grado de Tecnologías de la Información.
También se presentará las condiciones de entrega de los trabajos enunciados a los tutores, las
condiciones de corrección y posterior entrega de calificaciones.

El contenido de estas prácticas integra dos partes progresivas que el alumno irá realizando y
entregando a su tutor para su corrección.

Objetivos

El objetivo de esta práctica es la consolidación de los conocimientos adquiridos con el estudio


de la asignatura mediante un ejercicio que abarca los contenidos del curso. Es importante haber
estudiado con anterioridad los diferentes temas que integran el curso y haber realizado alguno
de los ejercicios propuestos. La práctica está estructurada de tal forma que se puede ir realizando
a medida que se van estudiando los temas y permite al alumno comprobar hasta qué punto ha
asimilado los conocimientos.
Un objetivo secundario de esta práctica es comparar como se aborda la realización de un
proyecto software desde la óptica de la ingeniería frente al ya conocido y realizado desde la
óptica del desarrollador o el programador.

Página 1|8
Departamento de Ingeniería de Software
y Sistemas Informáticos
ETSII de Informática
UNED

Enunciado

Se desea realizar la formalización del proceso de desarrollo de una aplicación a partir de su


especificación. Como especificación utilizaremos una práctica propuesta en Fundamentos de
Programación a vuestros compañeros y que pretende elaborar una aplicación para gestionar la
movilidad de una flota de buques petroleros (GesFlota), para el transporte de distintos productos
(crudo, fuel, gasoil, gasolina, vacío) entre distintos puertos.

La descripción pormenorizada de la aplicación en el apéndice A.

Adicionalmente habrá que programar la aplicación, pero siguiendo el diseño de uno de nuestros
compañeros, no el nuestro. NO se puede cambiar el diseño que nos han dado. El objetivo es
programar con un diseño que nos faciliten. En caso de que haya errores o inconsistencias en el
diseño, habrá que elaborar un documento explicándolas, solucionándolos para elaborar el
programa.

Particularmente se pide

Práctica 1: Elaborar el documento de diseño del proyecto especificado en el apéndice A. El


documento debe seguir el formato establecido en el libro de texto recomendado para la
asignatura, si bien debe utilizar los diagramas de UML: casos de uso, clases, secuencia,
colaboración, estado y actividad. Para la representación de los diagramas UML que se piden se
deberá utilizar alguna herramienta software. Se recomienda utilizar Argo, que es de libre
distribución, y puede descargarse en:

https://argouml.uptodown.com/

Práctica 2: Programar C+/- la aplicación de gestión de envíos siguiendo los documentos de


diseño que nos facilite nuestro tutor del centro asociado. Puede implentarse en otro lenguaje
de programación previa consulta y autorización por parte del tutor que va a evaluarlo.

Condiciones de presentación

1°. La solución a la práctica 1 se entregará a nuestro tutor antes del 30 de abril. A partir de esa
fecha el tutor repartirá las prácticas entregadas entre los alumnos que las hayan entregado,
lógicamente una diferente a la propia.

2°. La solución a la práctica 2 se entregará a nuestro tutor antes de la primera semana de


exámenes.

Página 2|8
Departamento de Ingeniería de Software
y Sistemas Informáticos
ETSII de Informática
UNED

APÉNDICE A

Enunciado Cuarta Práctica


Fundamentos de Programación
Universidad
Nacional de Departamento de
Educación a Curso 2022-2023 Ingeniería de Software y
Distancia Sistemas Informáticos

Realizar un programa en C+/- para gestionar la movilidad de una flota de buques


petroleros (GesFlota), para el transporte de distintos productos (crudo, fuel, gasoil, gasolina,
vacío) entre distintos puertos. Cada puerto puede estar ubicado en un Yacimiento, una Refinería o
un Depósito. En un Yacimiento sólo se puede cargar crudo y no se puede descargar nada. En una
Refinería sólo se puede descargar crudo, pero se pueden cargar productos refinados: fuel, gasoil y
gasolina. En un Depósito se pueden cargar y descargar productos refinados.

El sistema GesFlota deberá tener las siguientes capacidades mínimas:

- Hasta 10 puertos

- Hasta 5 buques

Las operaciones del programa serán las siguientes:


• Editar Puerto
• Editar Buque
• Estado Buques
• Operar Buque
• Resumen Mensual Buque

Se trata de realizar el programa principal para la gestión de los movimientos de los buques
y las correspondientes funciones, procedimientos y los TADs que el alumno crea conveniente. En
la realización de esta práctica se debe reutilizar, en la medida de lo posible, el código fuente ya
realizado para la tercera, que se redefinirá como un TAD “CalendarioMes”, incorporando las
operaciones nuevas necesarias para cumplir las necesidades de esta cuarta práctica.

Página 3|8
Departamento de Ingeniería de Software
y Sistemas Informáticos
ETSII de Informática
UNED

El programa principal deberá presentar las siguientes opciones:

GesFlota: Gestión de Movimientos de una Flota

Editar Puerto (Pulsar P)


Editar Buque (Pulsar B) Estado
Buques (Pulsar E)
Operar Buque (Pulsar O) Resumen
Mensual Buque (Pulsar R)
Salir (Pulsar S)
Teclear una opción válida (P|B|E|O|R|S)?

1.- La opción “Editar Puerto” permite editar los datos de uno de los 10 puertos. Esta opción debe
avisar del previo borrado de todos los datos del puerto con ese mismo identificador.

Editar Puerto:

Identificador (número entre 1 y 10)? 3


Nombre (entre 1 y 20 caracteres)? Pozo Grande
Tipo (Y-Yacimiento, R-Refinería, D-Deposito)?Y

IMPORTANTE: Esta opción borra los datos anteriores. Son


correctos los nuevos datos (S/N)? S

2.- La opción “Editar Buque” permite editar los datos de uno de los 5 buques. Esta opción debe
avisar del borrado previo de todos los datos del buque con ese identificador.

Página 4|8
Departamento de Ingeniería de Software
y Sistemas Informáticos
ETSII de Informática
UNED

Editar Buque:

Identificador (letra entre A y E)? B


Nombre (entre 1 y 20 caracteres)? Mar Egeo
Fecha inicio: Día? 2
Fecha inicio: Mes? 3
Fecha inicio: Año? 2023
Puertos posibles para la ubicación inicial del buque:
1 - Refinos Finos Tipo: Refinería
2 - Almacén Reservas Tipo: Depósito
3 - Pozo Grande Tipo: Yacimiento
4 – Reservas Estratégicas Tipo: Depósito Identificador
de puerto inicio?3

IMPORTANTE: Esta opción borra los datos anteriores.


Son correctos los nuevos datos (S/N)? S

En el ejemplo, el buque Mar Egeo se incorporará al sistema con fecha 2 de marzo de 2023 y se
ubicará inicialmente en el puerto Pozo Grande listo para una primera operación.

3.- La opción “Estado Buques” permite conocer cuál es el último estado registrado de todos los
buques de la flota. Esta opción tendrá el siguiente formato:

Estado Buques
Id
Nombre Puerto Última Fecha Carga

A Insignia Refinos Finos 12/02/2023 Crudo


B Mar Egeo Pozo Grande 02/03/2023 Vacío
C Alondra Almacén Reservas 15/03/2023 Fuel
D Rápido Reservas Estratégicas 24/04/2023 Vacío

Según se muestra en el ejemplo, la flota disponible sólo tiene cuatro buques y cada uno tiene
programadas sus operaciones hasta una fecha distinta. El buque Mar Egeo está vacío porque no
ha sido programada ninguna operación desde su incorporación al sistema. El buque Rápido puede
estar vacío porque se ha realizado su descarga o bien porque ha llegado vacío y está esperando a
ser cargado. El buque Insignia ha sido cargado en el puerto y está esperando el traslado. Respecto
al buque Alondra está cargado y habrá que consultar la operación anterior para saber si debe ser
descargado o bien se debe programar su traslado.

Página 5|8
Departamento de Ingeniería de Software
y Sistemas Informáticos
ETSII de Informática
UNED

4.- La opción “Operar Buque” permite programar la operación completa de un buque desde la
carga en el puerto de origen, cuando está vacío, el traslado al puerto de destino y la descarga en
el puerto de destino. Todas estas fases: carga, traslado y descarga se podrán programar de
manera consecutiva. En este caso, se tendrá el siguiente formato:

Operar Buque:

Fecha comienzo operación: Día?5


Fecha comienzo operación: Mes?3
Fecha comienzo operación: Año?2023
Identificador del Buque (letra entre A y E)? B

El buque Mar Egeo está vacío en Pozo Grande


Se puede cargar: Crudo
Quiere realizar la carga (S/N)?S
Duración de la carga en días?2

Quiere realizar el traslado (S/N)?S


Puertos de posible destino del buque:
1 - Refinos Finos Tipo: Refinería
2 - Almacén Reservas Tipo: Deposito
4 – Reservas Estratégicas Tipo: Deposito
Identificador del puerto destino?1
Duración del traslado en días? 10

Quiere realizar la descarga (S/N)?S


Duración de la descarga en días?1

Resumen de la operación:
Fecha comienzo: 5/3/2023
Puerto origen: Pozo Grande.
Tipo de carga: Crudo.
Duración carga: 2 días
Puerto destino: Refinos Finos
Duración del traslado: 10 días
Duración de la descarga: 1 día

Es correcta la operación (S/N)? S

Cuando sólo se quiera realizar la carga de un buque vacío, se tendrá el siguiente formato:

Página 6|8
Departamento de Ingeniería de Software
y Sistemas Informáticos
ETSII de Informática
UNED

Operar Buque:

Fecha comienzo operación: Día?26


Fecha comienzo operación: Mes?4
Fecha comienzo operación: Año?2023
Identificador del Buque (letra entre A y E)? D

El buque Rápido está vacío en Reservas Estratégicas


Se puede cargar: Fuel, Gasoil o Gasolina
Quiere realizar la carga (S/N)?S
Producto a cargar (1 – Fuel, 2 – Gasoil, 3 – Gasolina)?1
Duración de la carga en días?2

Quiere realizar el traslado (S/N)?N

Resumen de la operación:
Fecha comienzo: 26/4/2023
Puerto origen: Reservas Estratégicas
Tipo de carga: Fuel
Duración carga: 2 días

Es correcta la operación (S/N)? S

Del mismo modo con esta opción se podrá programar sólo el traslado cuando el buque ya esté
cargado y no fue trasladado inmediatamente después de la carga. También se podrá realizar la
carga y el traslado, pero no la descarga. Igualmente se podrá realizar el traslado de un buque sin
necesidad de realizar una carga cuando se quiere trasladar vacío o bien ya fue cargado en una
operación anterior. Por otro lado, cuando se programe sólo la descarga se tendrá que comprobar
que no se realiza en el mismo puerto que fue cargado. En todos los casos habrá que comprobar
que la fecha de comienzo de la operación es compatible con la operación propuesta. Por ejemplo,
el buque no puede estar en mitad de otro traslado.

Además, en esta opción se deben realizar todas las comprobaciones necesarias para no permitir
una operación imposible. Por ejemplo, sólo se podrá cargar crudo en un yacimiento, no se podrá
descargar nada en un yacimiento, en una refinería sólo se podrá descargar crudo, pero se podrá
cargar el resto de productos, en un depósito se podrán cargar o descargar cualquier producto
menos crudo. Respecto a los trayectos, habrá que impedir que el origen y el destino sean el
mismo, así como los trayectos que por el tipo de carga no tengan sentido, por ejemplo, no llevar
crudo a un yacimiento, etc.

5.- La opción de “Resumen mensual Buque” solicita el identificador del buque, el mes y el año del
que se quiere el resumen y tendrá el siguiente formato:

Página 7|8
Departamento de Ingeniería de Software
y Sistemas Informáticos
ETSII de Informática
UNED

Resumen mensual Buque:


Identificador Buque? B
Selección Mes? 3
Selección Año? 2023

Resumen Buque: Mar Egeo

Marzo 2023

L M X J VS D

04 C
01 02 03
C T1 T1 T1 T1 T1 T1
T1 T1 T1 T1 D 18 19
20 C C 23 24 T2 T2
T2 T2 T2 30 D

Tiempo de cargas (C): 4 días


Tiempo de traslados (T#): 15 días
Traslado T1: desde Pozo Grande a Refinos Finos con Crudo
Traslado T2: desde Refinos Finos a Almacén Reservas con Gasolina
Tiempo de descargas (D): 2 días
Tiempo de parada: 10 días

Mostrar otro mes (S/N)? N

En el resumen se aportará toda la información del buque solicitado. Los traslados se deben
enumerar correlativamente con la notación: T1, T2, T3, … y se detallará el origen, el destino y la
carga de cada trayecto. El número de días totales de carga, traslado, descarga y parada deberá
coincidir con el número de días de mes solicitado.

Página 8|8

También podría gustarte