0% found this document useful (0 votes)
341 views22 pages

Logan Sharpe - Ass 2 Guidance Notes

The document describes design requirements for a currency conversion application being developed for Wrexham Travel. The business needs a customized app to replace manually copying conversion rates from online sources into a spreadsheet, which introduces human error. The app will allow users to easily enter amounts, select currencies, perform conversions, and save/export results to reduce errors and improve productivity. The designer aims to make the app simple enough for all user experience levels while including shortcuts for advanced users. Thorough validation and error handling will be implemented to prevent crashes or incorrect conversions that could negatively impact the business.

Uploaded by

api-399251611
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
341 views22 pages

Logan Sharpe - Ass 2 Guidance Notes

The document describes design requirements for a currency conversion application being developed for Wrexham Travel. The business needs a customized app to replace manually copying conversion rates from online sources into a spreadsheet, which introduces human error. The app will allow users to easily enter amounts, select currencies, perform conversions, and save/export results to reduce errors and improve productivity. The designer aims to make the app simple enough for all user experience levels while including shortcuts for advanced users. Thorough validation and error handling will be implemented to prevent crashes or incorrect conversions that could negatively impact the business.

Uploaded by

api-399251611
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

Logan Sharpe

Unit 12 - Assignment 2  

Produce detailed design documents for the program including the following: 
• A description of the user requirements and the intended purpose of the 
program. 
First of all read the scenario of this assignment. That should give you some 
ideas. 
Think about the IT experience of the users in this scenario. 
 
What problems are this business trying to solve? Why have they hired you to 
create this for them? 

I have been hired by Wrexham Travel because they are not happy with the 
way they currently do their currency conversions or the way they save them. 
At the moment they are using online currency converters then copy and 
pasting the results into a spreadsheet, this results in a human error which costs 
the company money and time. They want me to make them a bespoke app 
that fits their needs and hopefully reduces or even eliminates human error, 
which in turn will help the company become more productive.

Problems the company is trying to solve 


What is this new system going to do that is better than what they have been 
doing? 
The new app will eliminate the need for them to rely on Google to do their 
conversions, it will also eliminate the need to manually copy and paste the 
result into a spreadsheet. Hopefully, this app will increase the company's 
productivity because they will have a much quicker way of saving the 
conversion cutting out human error. This will be more efficient than the  
current way of doing things. I have been asked to make a windows only 
application, this will limit the portability of the program. 
 
Think about the computer experience levels of the users required for this 
program. 
I will make an app that fulfils the client's needs keeping in mind to make it 
simple to use, giving clear instructions on how to use the program so that 
people with little computer ability can use it with confidence. I will also add 
some shortcuts for people with more computer experience to use these 
should make the process quicker.  
 
Logan Sharpe

What would be the impact to the business if a currency conversion was 


incorrect, what about if the system crashed? think about any potential lost 
business hours to the company if somebody always needed help to use the 
system. 
It would be devastating to the company if the conversion was somehow 
wrong, we need to ensure as much as possible this situation cannot happen 
because even a small mistake can cost the company a lot of money. 
Crashes can also affect the business, if I don’t add validation to the app and 
it crashes without warning whilst serving a customer, the customer might not 
go back to the company which means I will have lost the business custom 
and money. If the app crashes without them knowing why they would need 
to bring in somebody to fix it, this will also cost the business not only money 
but time that can affect the business. To reduce these problems as much as 
possible I will have validation to explain what they have done wrong in every 
possible situation. 
 
 

Inputs, Processes and Outputs 


 
o the program inputs 
 
what kind of numbers do they want the system to use?  
They want mixed numbers with the conversion rate allowing as many 
numbers after decimal place as needed and the answer to rounded to two 
decimal places. 
 
Which currencies are they concerned about converting? 
Their main focus is on Pound, Euro, American Dollar and Japanese Yen. They 
only want to convert either from pound or to pound so no other conversions 
should be allowed. 
 
What inputs do you think might be entered in error and how will you prevent 
this? 
There are many errors that can be occurred by the user, like entering text 
instead of numbers or not entering an amount in the box, or if they do not 
select the currency they want to convert. They may also close the program 
without saving their work. These can be prevented by making sure there are 
visual warning explaining what they have done wrong or not done properly 
so that they can fix their mistakes. I will not allow the keyboard to enter 
certain characters in specific boxes. They will export their currency conversion 
Logan Sharpe

to a text file but this will not be done automatically, they will have the choice 
of what to call it and where to save it. I will make it so if they try and close the 
program without saving their text a message will appear to ask if they still 
want to close. Doing these will hopefully make the application as robust as 
possible so that it does not crash if the user does something they shouldn’t.  
 
o the program outputs 
 
How precise do they want the answers to be? 
They want the conversion rate to be really precise with no rounding but the 
answer will be rounded to two decimal places. Making sure the answer is as 
precise as possible will make the application reliable.  
 
What will you communicate to the user if they have made a mistake or need 
help? 
If the user needs help there will be a help button which will take them to 
another form with visual guides showing how to use the program, if they have 
made a mistake there will be a pop-up box explaining what they have done 
wrong so they can correct it. 
 
Can users the user find out the conversion rates themselves easily? 
Yes the user will have a link in the app that will open up a browser with the 
latest conversion rates. 
 
Will it have good maintainability? 
I intend to make sure my code has good code comments and good variable 
names that make the code clear as to what it is doing to other people who 
are reading it. 
 
Built in functions 
These are some of the functions I will use: 
 
Catch​ ex ​As​ ​Exception 
This is to stop the application crashing if something goes wrong 
 
Form​.Show() 
This is to make a form appear 
 
Double​.Parse 
This converts what is entered in certain boxes into numbers. 
 
 
Logan Sharpe

MessageBox​.Show 
This is for the message box to appear 
 
RoundedAnswer = Math.Round(answer, 2) 
This rounds an answer to a certain amount of decimal places, in this case 2. 
 
Create a table for all your inputs processes and outputs 
 
See Assignment 2 - Worked example 
Enter your work for “Inputs, Processes and Outputs” below this line
 
 

Input  Process  Output 

Currency Converter 

Conversion Boxes 1-6   These are the currency   


conversion boxes, they 
are waiting for currency 
rates to be entered. 

Enter Amount =  Checks to see if  Messagebox “Please Fill 


Amountbx  everything needed has  Out All Fields” 
been selected/entered 

Total = Totalbx  Checks to see if  Messagebox “Please 


something has been  Enter An Amount” 
entered in the amount 
box 

“Currency From” Drop  Checks to see if the  Messagebox “Please 


Down  currencies have been  Choose Your 
selected from the drop  Currencies. 
down menu.   
 

“Currency To” Drop  Checks to see if the  Messagebox “Please 


Down  currencies have been  Choose Both 
selected from the drop  Currencies” 
down menu. 

Currencies  Pound ​has​ to be in  Messagebox “I’m Sorry, 


either​ box  You Cannot Do That 
Conversion” 

“Convert” Button Click   Convert - If an amount  Totalbx = “answer” 


is in Amountbx and GBP 
Logan Sharpe

and USD are the 


selected currencies, 
GBP-USD conversion 
rate must be filled out, 
then 
Answer = Amount 
*GbpUsd 

“Clear” Button Click  Clear - If anything has   


been entered or 
selected it will clear. 

“XE logo” Button Click  Links to a web page  www.xe.com 

“? - Help” Button Click  Takes you to Help form  Help form loads 

“Go To Export” Button  Takes you to the export  Export page 


Click  page 

Help 

Input  Process  Output 

“Click For Export  Takes you to the export  Export guide 


Guide” Button Click  guide 

Export  

Input  Process  Output 

“Back To Converter”  Takes you back to the  Currency converter 


Button Click  converter  

“Display Conversion”    Displays the conversion 


Button Click 

“Save” Button Click  Takes you to save form  Save form loads 

Screen Design   
Converter 
Logan Sharpe

 
 

1. ​Control Type: (Button) Name: (XEPagebtn) Font: (Candara, 15pt, 


style=Bold) Image: (XE Logo) 
2. ​Control Type: (PictureBox) Name: (CompanyLogo) Image: (Company 
logo) 
3. ​Control Type: (TextBox) Name: (Amountbx) Font: (Candara, 14.25pt, 
style=Bold)​ ​Validation Rule: (Can only accept numbers, comma and full stop) 
4. ​Control Type: (TextBox) Name: (PoundDollarbx) Font: (Candara, 15pt, 
style=Bold)​ ​Validation Rule: (Can only accept numbers, comma and full stop) 
All other boxes below have the same rule except their name. 
Names: 
DollarPoundbx 
PoundEurobx 
Logan Sharpe

EuroPoundBx 
PoundYenbx 
YenPoundbx 
5. ​Control Type: (ComboBox) Name: (CurrencyFrom) (CurrencyTo) Font: 
(Candara, 14.25pt, style=Bold)​ ​Validation Rule: (Can only be yes/no, cannot 
be typed in ) 
6. ​Control Type: (TextBox) Name: (Totalbx) Font: (Candara, 14.25pt, 
style=Bold)​ ​Validation Rule: (Cannot be typed in, will only display numbers) 
7. ​Control Type: (Button) Name: (ClearBtn) Font: (Candara, 15pt, style=Bold) 
Text: (Clear) 
8. ​Control Type: (Button) Name: (HelpBtn) Font: (Candara, 15pt, style=Bold) 
Image: (Question mark) 
9. ​Control Type: (Button) Name: (ConvertBtn) Font: (Candara, 15pt, 
style=Bold)​ ​Text: (Convert) 
10. ​Control Type: (Button) Name: (ExportBtn) Font: (Candara, 15pt, 
style=Bold)​ ​Text: (Go To Export) 
11. ​Control Type: (Form) Name: (Form1) Font: (Microsoft Sans Serif, 8.25pt) 
Text: (Currency Converter) 
12. ​Control Type: (Tab Control) Name: (TabPage1) Font: (Candara, 15pt) 
Text: (Currency Converter) 
 
Style rule - size (1191, 735) 
all text colours are ControlText (Black) 
Background colours are: Yellow - 255, 255, 192 and CornFlowerBlue 
 
Logan Sharpe

 
 
Export 

1. Control Type: (Form) Name: (Form1) Font: (Microsoft Sans Serif, 8.25pt) 
Text: (Currency Converter) 
2. Control Type: (PictureBox) Name: (CompanyLogo) Image: (Company 
logo) 
3. Control Type: (RichTextBox) Name: (Outputbx) Font: (Candara, 15pt)  
4. Control Type: (Button) Name: (DisplayBtn) Font: (Candara, 15pt, 
style=Bold)​ ​Text: (Display Conversion) 
5. Control Type: (Button) Name: (BackBtn) Font: (Candara, 15pt, 
style=Bold)​ ​Text: (Back To Converter) 
6. Control Type: (Button) Name: (ClearDisplayBtn) Font: (Candara, 15pt, 
style=Bold)​ ​Text: (Clear Display) 
Logan Sharpe

7. Control Type: (Button) Name: (SaveBtn) Font: (Candara, 15pt, 


style=Bold)​ ​Text: (Save) 
8. Control Type: (Tab Control) Name: (TabPage2) Font: (Candara, 15pt) 
Text: (Export) 
 
Style rule - size (1191, 735) 
all text colours are ControlText (Black) 
Background colours are: Yellow - 255, 255, 192 and CornFlowerBlue 
 
 
Help - 
How to Use Converter 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1. Control Type: (Form) Name: (Form4) Font: (Microsoft Sans Serif, 8.25pt) 
Text: (How To Guide) 
2. Control Type: (PictureBox) Name: (PictureBox) Image: (GIF) 
3. Control Type: (TextBox) Name: (ShortcutBx) Font: (Candara, 15pt, 
style=Bold) Text: (F1 - Pound - Dollar, F2 - Dollar - Pound, F3 - Pound - 
Euro, F4 - Euro - Pound, F5 - Pound - Yen, F6 - Yen - Pound) 
Logan Sharpe

4. Control Type: (Button) Name: (ExportGuideBtn) Font: (Candara, 15pt, 


style=Bold)​ ​Text: (Click To View Export How To Guide) 
 
Style rule - size (1191, 735) 
all text colours are ControlText (Black) 
Background colours are: Yellow - 255, 255, 192 and CornFlowerBlue 
 
Help - 
How To Use Export 

 
1. Control Type: (Form) Name: (Form4) Font: (Microsoft Sans Serif, 8.25pt) 
Text: (How To Guide) 
2. Control Type: (PictureBox) Name: (PictureBox2) Image: (GIF) 
 
Logan Sharpe

Screen Navigation   
 

 
 
 

Data validation & error reporting 


 
In this currency converter app it will not let you enter anything but numbers, 
comma and full stop in the amount box and all of the conversion boxes, to 
do this is will use keypress in the code so that the keyboard will not work if you 
try and enter anything else. I will also use this in the drop-down menu where 
you choose your currencies, only this time I will not allow any sort of typing. 
There will be validation to cover any chance the user will press calculate 
without filling in all forms needed. First, it will check there is something in at 
least one of the boxes, then if there is something in the amount box if one or 
both of these are empty a message will appear to say “Please Enter An 
Amount And Conversion Rate”. I will put in the code that British Pound should 
be in either, currency to or currency from. This is because they only want to 
convert to and from British Pound, I will put validation in to say you cannot do 
that conversion if any other currencies are selected. To make sure there is 
little human error as possible the conversion will only work if both the currency 
from and to match the same conversion box, this is in case someone puts the 
wrong conversion rate in the wrong box. 
Logan Sharpe

Identification of which controls need to respond to which 


events. 
 
The currency converter tab has five main buttons that each trigger an event, 
the XE logo button takes the user to a web page that has the latest 
conversion rates which they will use to fill out the appropriate conversion box. 
The clear button clears anything that has been typed or selected. The export 
button send the user to the next tab along, this is where they will view and 
edit the text before saving. Finally the convert button first triggers validation 
events where the logic determines first that there is something entered in at 
least one of the required boxes. It then checks, if there is something in the 
amount box, then if a currency has been selected from ​both ​combo boxes. If 
everything is okay it will do the sum - amount box * whichever conversion box 
they have chosen, the answer will then show in the total box, the currency 
symbol will then change to whatever currency is being converted to. The 
question mark button will take you to the help form, this shows you what to 
do. The export tab has four main buttons, the display conversion button 
allows the conversion that was done on the convert page to be displayed in 
the text box, there is a clear button that will clear the text away and a save 
button that will trigger the save form to appear. Finally there is a back to 
converter button which will return you to the previous tab. 
 

Things I would like to do 


I would like to get the conversion rates automatically because getting the 
conversion rates automatically will not only save the user time it will also make 
sure the conversion rate is always up to date, doing it this way may save the 
company money. It would also be nice if we could change the language for 
Welsh speakers and I would like to offer the user a chance to add more 
currencies if they want to in the future. 
 
 
Data Dictionary For the Currency Converter program 
 
 

Variable Name  Variable Type 


GBP1, EUR1, USD1, JPY1  Boolean 
Logan Sharpe

GBP2, EUR2, USD2, JPY2  Boolean 


Amount, Total  Decimal 
GbpUsd, UsdGbp, GbpEur,  Double 
EurGbp, GbpYen, YenGbp 
iSave  TextFile 
strCurrencySymbol  String 

Flowchart for Currency Converter 


 
Logan Sharpe

 
Enter you work for “Algorithm for the program” below this line
 
 
Convert from  Convert to 

Pound  Yen 

Pound  Dollar 

Pound  Euro 

Dollar  Yen 
Logan Sharpe

Dollar  Pound 

Dollar  Euro 

Yen  Pound 

Yen  Euro  

Yen  Dollar  

Euro   Yen 

Euro   Dollar  

Euro   Pound 
 

Not Allowed 

These conversions are not allowed to happen in the program 

Test Plan for the Program 


 
I did this on another sheet in landscape, it is attached to my work in 
classroom 
 

Merit  
I will explain here how I came up with the design of my currency converter 
and say why I made the changes I did, there are three different versions of 
the currency converter each with different designs and features. I will explain 
all of the designs and talk about how it could be improved to make it better 
or more efficient.  
 
 
 
 
 
 
 
 
 
Logan Sharpe

My first design: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This is the first design I made, everything you see here I decided to keep in my 
new designs. The colour scheme I have chosen works well with the company 
logo which is displayed in the centre of the application, I chose to box off the 
conversion rates and colour them a different colour to the rest of the form 
because this makes it stand out. I think everything is quite simple and easy to 
use with clear labels on everything, the only thing that is not clear is that the 
XE logo is a link to the XE web page. 
 
 
Second design: 
 
 
 
 
 
 
 
 
 
 
 
 
 
Logan Sharpe

 
 
This is the second design I came up with, I changed the first design because 
the export button that saves the conversion did not give the user any control 
over what is in the text file. I added this data display box so that the user can 
click on display and the conversion will appear in the display box, they will 
then be able to either change or add notes to the text before saving. I did 
like this design but felt that it was a bit busy, this might put off people who are 
not great with computers in the first place. In this version I decided to remove 
the help button, I was not happy with the help form being just a load of text 
that did not make it easy to understand so removed it while thinking of how 
to alleviate the problem.  
 
 
Third design: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
In this design I decided it would be much cleaner to have the converter and 
export on different tabs, the first tab looks pretty much like my first design with 
the help button being brought back, I decided to have a GIF that shows you 
how to use the program on a loop in the help form which makes it easier to 
understand how to use the program.  
Logan Sharpe

In the export tab, I have carried on with the colour scheme and included the 
company logo again front and centre. The data display box is now on its own 
with the necessary buttons surrounding it. This look makes the program more 
streamlined and less fussy, I believe this gives it a more professional look 
compared to design two. 

 
After going to help and seeing how to form works, or being shown it, I believe 
anybody will be able to use my form, the buttons and text are of a good size 
and explain what they do which is good for people who have not got the 
best eyesight. The converter is easy to use even for people who are not the 
best at computers, for anyone who is comfortable using shortcut keys there is 
six available which quickly enter the chosen currency in the to and from 
currency boxes.  
 
When navigating around the converter there are some different ways of 
doing certain things, for example, to get to the export tab from the currency 
converter they can either press the button that says go to export or they can 
click the export tab at the top of the page. This is true when going from 
export tab to converter, there is a back to converter button or they can just 
press the converter tab. When it comes to inputting the data I have chosen 
to have separate boxes for each conversion rate, i did this because it will 
reduce the chance of human error because the conversion box they are in 
Logan Sharpe

will need to match the currencies chosen in the combo box, if there was just 
one conversion box there is no way of knowing they have made a mistake. I 
chose the combo box to display the currencies because it looks better than 
having a list box that displays all the currencies at the same time, not only 
does it look better but I feel like it helps the user know exactly what currency 
they have chosen with one currency clearly shown in each box. 
 
There are some features that can improve the converter for the client, I could 
put a ribbon in the form which can offer the client more flexibility like 
changing the size and colour of the font that is used, there can also be a 
save option, an option to move from screen to screen and also a close. By 
inserting the ribbon it will instantly make the application seem familiar to 
anyone using it, using the ribbon is perfect if the client wants to add more 
features. Adding the features they want in the ribbon will be easier than 
adding new buttons to your design because you might have to redesign your 
form to fit that button in.  
 
There are better alternatives to some of the choices I and the client have 
made in the converter, first, it would be better if the conversion rates were 
got automatically. Getting the conversion rates automatically will not only 
save the user time it will also make sure the conversion rate is always up to 
date, doing it this way may save the company money. There could be an 
arrow in between the two combo boxes that quickly reverses the currencies 
selected so that the user does not need to manually select them if they want 
the reverse their option. This application would be much better as an online 
application, having it work on just windows limits its portability. Having it be an 
online application means that if the company ever changed to a Mac or 
decided to go down the tablet route, they would not have any disruption to 
their business or have to wait for a similar application to be made. There are 
some constraints though, the reason I have not made the exchange rate 
automatic is that I do not have the knowledge to implement it  
 
When it comes to validation, at the moment the user has to click convert 
before any error message appears to explain to them what they have done 
wrong, this could be changed so that some of the errors can appear as soon 
as the user has made the mistake. This can be done when choosing 
currencies if they choose a currency combination that is not allowed they will 
be aware of it straight away instead of waiting until they press convert. This 
will save the user time and in turn make them more productive which is only 
good news for the company. 
 
Logan Sharpe

Other online converters have many features like a graph of what the rates 
have been doing over the past few weeks, they also give you information on 
a percentage change in the rate over a period of time. For the currency 
converter, the company wants I do not think anything like this would be 
necessary. What would be good is more currencies, the online versions have 
all the currencies in the world with ours just having four. If the company wants 
to attract more business they should think about expanding the number of 
currencies they offer. Another thing I really like on the online converters is they 
use an image of the countries flag in the combo box, this gives them not only 
a clear indicator of the currency they have chosen but also makes the form 
look more pleasing. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Logan Sharpe

Distinction 
 
In my meeting with the client, I asked multiple questions about the type of program 
they want and what exactly they want it to do. They also gave me a brief that 
explains the type of people who will be using the program with their needs and 
requirements. I will explain how I feel I have met the brief to the best of my ability. 
 
The client wanted the converter colour scheme to fit in with their company logo, the 
logo is yellow and blue which I have incorporated into the program. I have a soft 
yellow background with blue sections and buttons that stand out against the yellow, 
the company logo is in the top centre of the screen and I feel it goes well with the 
colours I have chosen.  
 
The client only converts from and to Pounds with a few currencies so they did not 
want a whole list of currencies they never use, I have done what they have asked by 
allowing only four currencies to be shown in the combo box, however, I can add 
more if the client changes their mind. Because they only convert to and from Pounds 
they want an error message to let the user know they have to have Pound selected 
in at least one combo box. I have done exactly that, there is an error to say i am 
sorry you cannot do that conversion. This could be better where the error appears as 
soon as they have selected a currency that is not allowed. 
 
It is very important to the client that the exchange rate is really accurate, because 
of this he wants it to accept as many decimals without any rounding. On the other 
hand, he wants the answer to be rounded to two decimal places, I have achieved 
these by using the data type double in all the conversion rate boxes, this is because 
it holds more numbers than say a decimal. I have used the data type decimal in the 
total box with the instruction to round the answer to two decimal places. 
 
The customer would like a help button that explains to people how to use the 
program, I have included a help button that takes you to another form where a 
moving picture is playing on a loop. I used a moving picture because it gives the 
user a visual guide of how to use the program 
 
The company was losing time and money by manually copy and pasting their 
conversion result into a spreadsheet, I have included a save option in this program 
they can save the conversion they make to a text file with just the press of a button. I 
have also included a display box for the user to see what they are saving first, the 
customer did not ask for this but I feel it gives them more options like adding notes to 
the file before saving. The company wanted to increase the speed of doing this and 
therefore increase productivity, I think what I have done does this. 
 
There are many users with different skill level when it comes to computers, there are 
users who are really savvy when it comes to using programs so for these I have 
Logan Sharpe

added keyboard shortcuts for them to quickly have a certain currency combination 
in the combo box (there are six in total). For the non-savvy users, I have included a 
help button that clearly shows you how to use the program, I have also made the 
converter clear with large text, labels and buttons this is to help the users who don’t 
have the best eyesight.  
 
Constraints 
There are constraints to this project like budget and time, there could be not enough 
time to get what I need done or not enough money, they have a very limited and 
set budget so everything I want to do in the program I need to plan to make sure I 
can do it within the time restraints. Another constraint is my ability, there are many 
things I would do differently to this converter if I knew how. I would make the 
conversion rates automatic and add little touches like images of the countries flag 
alongside the currency that is selected. If I knew how to and the client wanted it I 
could add a percentage to show the change of the rate over the past few days.  
 
 

You might also like