You can make use of the Time library. It has functions to convert date/time to a standardised unix timestamp (seconds since 1970/1/1) and back
So you can set a date/time and alarm times and compare the values to check if it's an alarm time. Once an alarm was triggered, you can increment the alarm time by one day.
Next you can use a millis() based timing to increment the unix timestamp every second. Be aware that Arduino timing is usually not 100% accurate. If you really need accurate time, you're better of using a RTC module; additional advantage is that it will not loose the time after a power loss.
If your shield is a shield with 4 or 5 buttons, you can use two buttons. Setting date, time and alarm times is a matter of incrementing variables that contain e.g. the year or the hour using one button till you have the correct value. Next you can use the second button to go to the next field (e.g. month or minutes) and repeat.
If your shield has e.g a 3x4 keypad, you can enter and display the year, hours etc directly and store them in an array and use e.g. the '#' key to accept the displayed value and store the numeric value that it represents in a variable.
I suggest that you start simple and get familiar with your shield first; how to display things, how to read buttons etc.
It all might sound complicated but it's reasonably simple.