Logan Sharpe - Ass 2 Guidance Notes
Logan Sharpe - Ass 2 Guidance Notes
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.
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
Currency Converter
“? - Help” Button Click Takes you to Help form Help form loads
Help
Export
“Save” Button Click Takes you to save form Save form loads
Screen Design
Converter
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
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
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
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.