Está en la página 1de 3

Efraín Molano.

Ingeniería del software


Laboratorio 1. Modelo de requisitos
El caso práctico elegido para modelado de los requerimientos basado en escenarios es un
software que permita al usuario manejar un cronómetro con la implementación normal de
las funciones básicas de un elemento como este: avanzar, parar, retroceder, resetear el
cronómetro y almacenar memorias de los tiempos tomados.

Los cronómetros y los temporizadores son instrumentos usados para medir intervalo de
tiempo, el cual es definido como el lapso de tiempo entre dos eventos. El cronómetro del
caso práctico debe manejar las siguientes unidades de tiempo:

● Horas.
● Minutos.
● Segundos.

Debe permitir tomar diferentes lapsos de tiempo y almacenarlos en memoria (un máximo de
10 memorias de lapsos de tiempo) en su función de cronómetro, en la de temporizador sólo
debe permitir controlar un lapso predefinido de tiempo.

Ejemplo de la interfaz del cronómetro

Clase cronómetro (métodos)


Una clase para un tipo de "cronómetro".

Una lista de los métodos:

a. StopWatch() (constructor)
b. start()
c. stop()
d. getElapsedTime()
e. isRunning()

Una descripción más precisa de cada método:

El constructor
Operaciones:
Nombre: Cronometro()
- Parámetros de inicialización: ninguno
Devolución: ninguno
Descripción: La inicialización del Cronometro debe tener el estado
del reloj se debe detener y el tiempo transcurrido debe ser 0.
Condición previa: ninguna
Condición posterior: el estado del cronómetro se detiene. Una solicitud de
El tiempo transcurrido justo después de la inicialización es 0.

El método start ()
Nombre: start()
Parámetros: ninguno
Regreso: ninguno
Descripción: Inicia este cronómetro marcando desde 0.
Precondición: El cronómetro no debe estar funcionando cuando se llama a inicio.
Condición posterior: el cronómetro se ejecutará después de que se llame al inicio.
El estado del cronómetro cambia de parado a en funcionamiento.

El método stop ()
Nombre: stop ()
Parámetros: ninguno
Regreso: ninguno
Descripción: Detiene el cronómetro y guarda el tiempo transcurrido desde
Empieza a detenerte.
Precondición: el cronómetro debe estar funcionando cuando se llama a stop.
Condición posterior: el tiempo transcurrido desde la última llamada start ()
hasta que el cronómetro guarde esta llamada a stop (). El estado de la
el cronómetro cambia de correr a parado.

Método getElapsedTime ()
Nombre: getElapsedTime ()
Parámetros: ninguno
Descripción: Si el cronómetro se está ejecutando, el tiempo transcurrido es
desde el start() más reciente hasta la hora actual. Si el cronómetro es
detenido, el tiempo transcurrido es el tiempo de detención, el tiempo de inicio.
Retorno: valor largo igual al tiempo transcurrido en milisegundos desde
start() más reciente.
Precondición: ninguna.
Condición posterior: no se modifica el estado del cronómetro.
Método isRunning ()
Nombre: isRunning ()
Parámetros: ninguno
Devuelve: valor booleano igual a verdadero si el cronómetro se está ejecutando,
de lo contrario falso.
Condición previa: ninguna
Condición posterior: ningún cambio en el estado del cronómetro. Si era
corriendo, todavía lo es. Si se detuvo, todavía lo es.

Cronómetro (datos)
¿Qué miembros de datos se necesitan para poder implementar estas operaciones?

boolean running; verdadero si el cronómetro está funcionando; de lo contrario, falso.


El valor inicial en la creación debe ser falso.
long startTime; Almacena la hora actual (en milisegundos) en la más reciente
llame para start().

long stopTime; Almacena la hora actual (en milisegundos) en la más reciente


llamar para stop();

Diagrama UML
Cronometro

- running: boolean
- startTime: long
- stopTime: long

+ StopWatch()
+ start()
+ stop()
+ getElapsedTime(): long
+ isRunning: boolean

Referencias:
https://condor.depaul.edu/

También podría gustarte