technical document – task 2€¦  · web viewunit 12 - software development. technical document...

57
TECHNICAL DOCUMENT – TASK 2 Unit 12 - Software Development

Upload: others

Post on 01-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

Technical Document – Task 2

Unit 12 - Software Development

Page 2: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

ContentsIntroduction...........................................................................................................................................3

Part A: Purpose of the Program.............................................................................................................3

Part B: Problem Definition.....................................................................................................................3

Requirements........................................................................................................................................3

Functional Requirement....................................................................................................................4

Business Requirements (Non-Functional Requirements)..................................................................4

Input Requirements...............................................................................................................................4

Output Requirements............................................................................................................................4

Process Requirements...........................................................................................................................4

Solution.................................................................................................................................................5

Bespoke Software..............................................................................................................................5

Advantages....................................................................................................................................5

Disadvantages................................................................................................................................5

Off the Shelf Software.......................................................................................................................5

Advantages....................................................................................................................................5

Disadvantages................................................................................................................................5

Customized Software.........................................................................................................................5

Advantages....................................................................................................................................5

Disadvantages................................................................................................................................5

What is the best software for the travel agents?..............................................................................5

Designs..................................................................................................................................................6

GUI Design.........................................................................................................................................7

Navigation Section.........................................................................................................................8

Implemented Requirements Section.............................................................................................8

Mobile Design....................................................................................................................................8

Navigation Section.......................................................................................................................10

Implemented Requirements Section...........................................................................................10

Data Validation....................................................................................................................................10

Data Dictionary....................................................................................................................................11

Flow Chart...........................................................................................................................................11

Test Plan..............................................................................................................................................12

Process................................................................................................................................................14

Store User Data...............................................................................................................................14

Update Exchange Rate.....................................................................................................................14

1 | P a g e

Page 3: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

Find Current Exchange Rate............................................................................................................14

Calculate Exchange Amount............................................................................................................14

Display Result:.................................................................................................................................14

Reset/Clear......................................................................................................................................14

Justification..........................................................................................................................................14

Original Code before Testing...............................................................................................................15

Complete Test Plan..............................................................................................................................19

Updated Code......................................................................................................................................23

Error 1..............................................................................................................................................27

Error 2..............................................................................................................................................27

Before..........................................................................................................................................28

After.............................................................................................................................................28

Error 3..............................................................................................................................................28

Before..........................................................................................................................................28

After.............................................................................................................................................29

Error 4..............................................................................................................................................29

Before..........................................................................................................................................29

After.............................................................................................................................................30

Error 5..............................................................................................................................................30

Before..........................................................................................................................................30

After.............................................................................................................................................30

Witness Statement..............................................................................................................................30

Feedback.............................................................................................................................................31

Feedback 1.......................................................................................................................................31

Feedback 2.......................................................................................................................................33

Review.................................................................................................................................................35

Review Original Requirements........................................................................................................35

Original Requirements.................................................................................................................35

Extent of Suitability.........................................................................................................................38

Evaluation........................................................................................................................................39

Readability.......................................................................................................................................40

Usability...........................................................................................................................................41

Reliability.........................................................................................................................................41

Robustness......................................................................................................................................41

Improvements.....................................................................................................................................42

2 | P a g e

Page 4: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

0

IntroductionComplete at the end

Part A: Purpose of the ProgramThe purpose of the program is for a local travel agent. The main aim of the program is to input the amount in the required currency for example British Pound (£) and the user will be allowed to calculate the corresponding amount they are wishing to exchange into a foreign currency (for example Euro €).

The user should be allowed to reverse the conversion rate from Euro (€) to British Pound (£) allowing them to convert the corresponding amount into different currencies. The user will be able to change the exchange rates for the relevant currency that they wish to check or exchange.

The program will also display the user what the exchange rate of the desired currency will be to give reference to the user on what is being exchanged and the current rate, so no errors are made for the customers.

Part B: Problem Definition

The problems faced with having to work out the exchange rate manually using pen and paper this can be extremely slow and very confusing for the agent who is working out the exchange rate and the customers as it could show the agent is not competent in their job.

Other problems faced with manually figuring out the exchange rate and solutions are the staff could forget the formula that is used to work out the exchange of GBP to Euros; this will cause issues because the agent will have to find and figure the formula out and this is time consuming.

The customers could be unhappy with eh service they have received from the travel agents because for the customers they want to be in and out as quick as possible and not waiting around for the agents to work everything out manually. This will also give the travel agents a bad reputation and the downfall for this would be a loss in customers and business.

Not all the staff will be good at maths, which could cause massive issues within the business because if you are not good at maths you are going to struggle in the working out of the exchange rates and how much of the required currency needs to be given to the customers.

RequirementsA requirement is a rule or an instruction that needs to be either followed or included within their work.

3 | P a g e

Page 5: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

Functional RequirementThis is something that is a working rule – an action or something that is needed to be done and is required to be input in to the program for them to work for example clicking the calculate button for the sum of the currency exchange to be given to the customers.

Business Requirements (Non-Functional Requirements)The business requirements for the application are:

The application will speed up the exchange process up for better effectiveness and better customer service.

It will help keep customers and gain new customers. No mistakes or errors made by the agents, so the customers aren’t short changed or

given too much currency Quotes can be given to the customers before the transaction is completed. Exchange rate can be found instantly and kept updated on a regular basis so not only

do the customers know what they are getting for their money but also the employees will also know the updated exchange rates.

Input RequirementsThe inputs for the exchange rate would be:

The amount of currency the customer would like to exchange into the desired currency.

What the exchange rate is at the time. The currency the customer would like to exchange (from) The currency the customer is wishing to have (to).

Output RequirementsThe outputs for the exchange rate would be:

The amount of new currency the customer will get after the exchange. Exchange demand. Exchange rate used.

Process RequirementsThe outputs for the exchange rate would be:

The calculation of the currency exchange. Error Logging – detecting invalid inputs of the calculation.

4 | P a g e

Page 6: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

SolutionBespoke SoftwareThis software is designed from scratch for what the user needs and requires their desired software to do. This can only be used then for the intended purpose of the software. The client will give the developer the requirements they need for the software.

AdvantagesTailored to your requirements.

One off piece of software for just you and your company

DisadvantagesCost effectiveness

Time consuming

Off the Shelf SoftwareThis software can be bought off a shelf within a retail outlet with all the added bits on that you may not require. This cannot be altered or minimal amendments.

AdvantagesYou can buy it straight away from a local store

Can be used straight away once installed on your system.

DisadvantagesMay not have all the requirements you need

May have more then what you need, and this will be surplus to your needs and will take resources you may need for something else.

Customized SoftwareThis software you can do a minimal amount of customization for the software.

AdvantagesCheaper

Only be available to you and your company

DisadvantagesMay not have everything you need

What is the best software for the travel agents? I think the best software to use for the company is the customized software. I believe that this is a good software for the company to use because you already have the basic software that you need but also you are able to change it to what you need without it costing lots of extra money for what you need. This means that the company can use it so that they can work at a better pace so this will mean that they can start getting more business and customers leading to more money being made.

5 | P a g e

Page 7: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

Designs The designs that I am going to be making are for the exchange calculator that is going too programmed so that you are able to work out the exchange rate from pounds into any foreign currency for a travel agency and vice versa if you would like to exchange foreign currency to British Pounds.

One of the designs will be for the desktop application and another design will be for a mobile device.

There will also be a table of components that are going to be used in the GUI designs.

Number Component type

Component name Text type Font type

Font colour

Font size

Background colour

1 Label Lbltitle Character Calibri Black 12 Default2 Label lblexchange Character Calibri Black 12 Default3 Textbox txtexchange Number Calibri Black 12 Default4 Label Lblfrom Character Calibri Black 12 Default5 listbox lstfrom Symbols Calibri Black 12 Default6 Label lblto Character Calibri Black 12 Default7 Listbox lsttto Symbols Calibri Black 12 Default8 Button Btncalculate Character Calibri Black 12 Default9 Label Lblrate Number Calibri Black 12 Default10 Label lblexchangedamoun

tNumber Calibri Black 12 Default

11 Message box mgberror Character Calibri Black 12 Default

6 | P a g e

Page 8: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

GUI Design

7 | P a g e

Title Exchange Rate Calculator (Label) - 1

Calculate (Button) - 8

Exchange Rate Amount (Label) - 10Rate Used (Label) - 9

Exchange 1.20 (TextBox) - 3

Exchange Currency Amount To (Label) – 6 Exchange Currency To (List) - 7

Exchange Currency Amount From (Label) – 4 Exchange Currency From (List) - 5

Error Message box - 11

Exchange Rate (Label) - 2

Page 9: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

Navigation SectionFor the user to work the program they would need to input the Rate of exchange via the text box provided.

They can then select what currency they would like to exchange from by clicking on the list (dropdown menu) and clicking on the required currency. The user would then enter in the amount the customer would like to exchange.

From here, the user will select the currency the customer would like to exchange too.

The user would then click the Calculate button, doing this will give the user the amount the customer will receive, and the exchange rate used.

If the user makes a mistake, they can just click on the section that is wrong and a message will show up in the top left corner of the screen on what is wrong.

Implemented Requirements SectionThis example would work as it has all the requirements that are needed to have a functioning Exchange Rate Calculator on someone’s desktop computer.

For the user to enter the TxtExchange rate. I have used a text box with a label to inform the user on what to do with the text box.

For the user to enter TxtAmount I have used a text box. I have used a text box with a label to inform the user on what to do with the text box.

For the user to enter the TxtExchangeto I have used a text box. I have used a text box with a label to inform the user on what to do with the text box.

For the user to enter the TxtExchangefrom I have used a text box. I have used a text box with a label to inform the user on what to do with the text box.

Number Component type

Component name Text type Font type

Font colour

Font size

Background colour

1 Label Lbltitle Character Calibri Black 12 Default2 Label lblexchange Character Calibri Black 12 Default3 Textbox txtexchange Number Calibri Black 12 Default4 listbox lstfrom Character Calibri Black 12 Default5 Label Lblfrom Character Calibri Black 12 Default6 Label Lblto Character Calibri Black 12 Default7 Listbox Lstto Character Calibri Black 12 Default8 Button Btncalculate Symbols Calibri Black 12 Default9 Label Lblrate Character Calibri Black 12 Default

10 Label lblexchangedamount Character Calibri Black 12 Default11 Message box mgberror Character Calibri Black 12 Default

Mobile Design

8 | P a g e

Page 10: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

9 | P a g e

12:38

Error Message box - 11

Exchange Rate Calculator 1

Exchange Rate: 1.20 Text 3

Exchange rate label 2

Currency From £ $List 4

Amount Label 5

Currency From € $List 6

Amount Label 7

Exchanged amount10 Label

Rate used9 Label

Calculate button 8

Page 11: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

Navigation SectionFor the user to work the program they would need to input the Rate of exchange via the text box provided.

They can then select what currency they would like to exchange from by clicking on the list (dropdown menu) and clicking on the required currency. The user would then enter in the amount the customer would like to exchange.

From here, the user will select the currency the customer would like to exchange too.

The user would then click the Calculate button, doing this will give the user the amount the customer will receive, and the exchange rate used.

If the user makes a mistake, they can just click on the section that is wrong and a message will show up in the top left corner of the screen on what is wrong.

Implemented Requirements SectionThis example would work as it has all the requirements that are needed to have a functioning Exchange Rate Calculator on someone’s desktop computer.

For the user to enter the TxtExchangerate. I have used a text box with a label to inform the user on what to do with the text box.

For the user to enter TxtAmount I have used a text box. I have used a text box with a label to inform the user on what to do with the text box.

For the user to enter the TxtExchangeto I have used a text box. I have used a text box with a label to inform the user on what to do with the text box.

For the user to enter the TxtExchangefrom I have used a text box. I have used a text box with a label to inform the user on what to do with the text box.

Data ValidationI will be using a list box/drop down box, this will force the user to select the country to and from for the required currency.

If the user was to accidently input, a wrong character the program will use the try/catch method to help prevent the program from crashing and display an error

The try will validate the input from the text box for example the amount, if the input is invalid it will cause an error and the catch statement within the program code will capture the error and display an error message and what was wrong so the user can rectify the error.

Both data validations will be used in both the desktop and mobile software programs

10 | P a g e

Page 12: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

Data DictionaryA data dictionary is a table that will include the variables within the program. It also contains the data type, use and size of each variable.

Variable Data Type Use Size

Amount Decimal The exchange amount 16 bytesExchange Rate Decimal This will show the

current exchange rate16 bytes

Currency From String To pick the currency your exchanging from

1 byte per character

Currency To String To pick the currency your exchanging to

1 byte per character

Result Decimal Gives the user the result of how much of the new currency is to

be paid out

16 bytes

Flow ChartAn algorithm is a systematic solution to a problem. There are two variations of an algorithm, analogue, which is human, based and digital algorithms, are technology based.

A flowchart is a diagram of how a program will function.

A flowchart will show the flow of data through a program and represents an algorithm.

A flowchart chart is important in programming because they allow the users to see how the program will function and easy to understand and does not allow any misinterpretations.

11 | P a g e

Page 13: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

Test PlanTesting is a process of checking how well a program works. It can be tested under a range of conditions to check how well the program deals within the conditions.

A test plan is a way of keeping track of what test can be done and completed you can use a test plan and complete this during the tests. A test plan outlines test strategies’, testing objectives and resources required for the tests.

There are many things that can be tested within the program for instance, you can test the functionality, performance and how the layout of the program is.

These are a few of the tests that can be done:

White box - This where the source code can be seen. Usually carried out by the programmer. This includes unit, integration and system testing.

Unit testing is where individual elements of the program are tested as the program is developed.

Integration testing is when individual units are brought together to test the overall system.

System testing will test the whole system.

Black box - This is where the program is tested but the tester will have no idea of the source code and will not have access to it. The idea is to test the program in usual ways

12 | P a g e

Page 14: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

A test plan is done for companies to check if the software could fail with ease, tis alone could result in major consequences if it was not rigorously tested. Company testers purposely try to break the software allowing the strength and resilience of the software to be tested

Test Number

Test Description

Test Data Expected Outcome

Actual Outcome

Screen shot with comments

1 Loads screen None Loads2 Check you can

select CountryGermany (Euro) To select

Germany3 Check

exchange Rate works

GBP to USDAmount 1010*1.52=15.20

15.20 as amount (example)

4 Check exchange rates work within

USD to GBP Amount 1010*1.52=15.20

15.20 as amount (example)

5 Check all exchange Rate works

Euro to GBPAmount 1010*1.52=15.20

15.20 as amount (example)

6 Check exchange rates work within

GBP to EuroAmount 1010*1.52=15.20

15.20 as amount (example)

7 Exchange Rate manually update

Can you input the exchange rate manually?

Can manually input the exchange rate.

8 Check the calculate button works

Click the Calculate button

Button can be clicked to give a calculation answer

9 Correct calculation answer is given

Double check the calculation is the same every time you want to do the calculation times

The answer given is correct and corresponding to the exchange rate and amount to be exchanged

10 Input amount is a number not a character

The letter A should give an error message in the Error Message text box.

An error message is displayed stating there has been an error and possibly, what the error is.

13 | P a g e

Page 15: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

ProcessA process is known as a method in programming. It is way of completing task. In programming, a method will contain instructions on how to complete a certain task. Individual methods will come together to form a program

Store User DataWill take what the user inputs and stores it in the program in variables to be used later.

Update Exchange RateUpdate the exchanges rate that has been stored in program

Find Current Exchange RateFinds the exchange rate by using the currency from and currency to entered by the user

Calculate Exchange AmountCalculates the exchange rate

Display Result:Displays the result of the calculation

Reset/ClearClears the data inputted by the user so they can check another currency exchange rate.

JustificationAfter designing a GUI and mobile device design for the exchange rate calculator, I have noticed a few differences within each of the program designs.

The accessibility of both programs isn’t very different to each other has I have used a Calibri font style with a font size of 12 to allow the user(s) to see the text etc. clearly and without having to struggle or strain their eyesight.

I have made the backgrounds a blue shade in colour (the mobile design being a lighter shade of blue). I decided on this because if the user(s) is colour blind they could struggle to see on a white or red background. I was contemplating on whether to put a setting box into the program designs to allow the user(s) to change the colour of the background themselves, considering not all users would be able to see writing on a blue background.

The layout of both designs is in an order that allows the users to just move down the screens without having to go top to bottom.

On the GUI design I went for horizontal layout, so the user(s) only had to move the mouse to the right to the corresponding box and then to the left for the next set of boxes. This I feel also gives the user(s) a screen that is simple but efficient feel. The user(s) can would be able to see where they are up to with the exchange transaction or check for the customer.

The Mobile design is a lot more compact due to the nature of the viewing screen available to the user(s) but giving them the ease of using the application program from their mobile phone or other mobile device.

14 | P a g e

Page 16: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

On each design the user(s) have dropdown menus to allow them to choose the relevant currency(s) without any hassle, this will provide the user(s) a simple way for selecting the correct currency without making a mistake.

The Design I feel would suit the Travel Agents would be the GUI design because I feel that not only does the design look aesthetically better, but also the users can physically see where they need to go on the calculator better than the mobile design.

The GUI design is laid out so the user cannot loose where they are or get confused with the layout of the calculator. Each section of the exchange calculator can be clearly read and understood what is needed from the user or for the user to input.

The reason for the flowchart design was to allow me to see the processes required/needed for the exchange calculator to function and give an insight to how it will work and what will happen when an incorrect character or data is input.

Original Code before Testing

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;

namespace WindowsFormsApp4{ public partial class Form1 : Form {

string currencyFrom = ""; string currencyTo = ""; decimal amount = 0; decimal exchangeRate = 0; decimal result = 0;

private string[,] rateArray = { { "GBP", "Dollar", "1.52" } , { "Dollar", "GBP", "0.66" } , { "GBP", "Euro", "1.30" } , { "Euro", "GBP", "0.70" } };

public object EURO { get; private set; }

public Form1() { InitializeComponent(); }

private void label1_Click(object sender, EventArgs e) {

}

15 | P a g e

Page 17: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

private void label2_Click(object sender, EventArgs e) {

}

private void button1_Click(object sender, EventArgs e) {

}

private void label3_Click(object sender, EventArgs e) {

}

private void textBox2_TextChanged(object sender, EventArgs e) {

}

private void label6_Click(object sender, EventArgs e) {

}

private void Form1_Load(object sender, EventArgs e) {

}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) {

}

private void button1_Click_1(object sender, EventArgs e) { storeData(); //the button is used to calculate the overall amount that has been //exchanged and will be given to the customer }

private void label1_Click_1(object sender, EventArgs e) {

}

private void label2_Click_1(object sender, EventArgs e) {

}

private void cmbfrom_SelectedIndexChanged(object sender, EventArgs e) { currencyFrom = (string)cmbfrom.SelectedItem; //An array is a data structure that contains a group of elements. //Typically these elements are all the same data type, such as an integer or string. }

private void label5_Click(object sender, EventArgs e) {

16 | P a g e

Page 18: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

}

private void cmbto_SelectedIndexChanged(object sender, EventArgs e) {

//An array is a data structure that contains a group of elements. //Typically these elements are all the same data type, such as an integer or string. }

private void txtexchangerate_TextChanged(object sender, EventArgs e) {

}

public void storeData() { currencyFrom = (string)cmbfrom.SelectedItem;

currencyTo = (string)cmbto.SelectedItem;

amount = Convert.ToDecimal(txtAmount.Text); chkRate(); //currencyFrom =(string) will take the data from the combo box //currencyTo =(string) will take the data from the combo box //amount = Convert.ToDecimal(txtAmount.Text); will convert the text from the text box in to a decimal numerical value }

private void label1_Click_2(object sender, EventArgs e) {

} public void chkRate() { if (!string.IsNullOrEmpty(txtExchangeRate.Text))

//An if else statement in programming is a conditional statement that runs a different set of statements //depending on whether an expression is true or false.A typical if else statement would appear like the //one below(this example is JavaScript, and would be very similar in other C-style languages) { exchangeRate = Convert.ToDecimal(txtExchangeRate.Text); Update();

} else { findExchangeRate();

} }

private void txtAmount_TextChanged(object sender, EventArgs e) { }

17 | P a g e

Page 19: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

public void findExchangeRate() { // int count = 0; // while (count < rateArray.GetUpperBound(0)) {

if (currencyFrom.Equals(rateArray[count, 0]) && (currencyTo.Equals (rateArray[count, 1]))) { exchangeRate = Convert.ToDecimal(rateArray[count, 2]); //it breaks a loop break; } // count++; } }

public void Calculation() { result = amount * exchangeRate; }

//Compose the method updatRate and add in the while and if statement

public void updateRate() {

int count = 0; //Create a variable called count with a datatype int and an initial value of 0.

while (count < rateArray.GetUpperBound(0)) {

if (currencyFrom.Equals(rateArray[count, 0]) && (currencyTo.Equals (rateArray[count, 1]))) {

(rateArray[count, 2]) = Convert.ToString(exchangeRate);

//1 Line: Store the exchange rate into the array.You will need to use toString with the variable name. //Remember to use[count, ] and put the column number in the brackets to say which column you which to store the rate to. }

break;

} count++;

18 | P a g e

Page 20: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

// Increment count(this means add one to the value in count) }

// Add in the line that will trigger the method calculate() to run.

public void display() {

//1 Line: Change the value in the variable result to a string then display it into a text box using the command .Text.

txtTotal.Text = Convert.ToString(resultexchangeRate); }

//You must add in comments to explain what each line in this method does.

}

}

Complete Test PlanDescription Test Data Expected

OutcomeActual Outcome

Screen shot with comments

1 Loads screen None Loads The program didn’t run correctly due to an of error within the code

2 Check you can select Currency

Euro, Dollar or GBP

To be able to select Euro or other currency

I get the drop-down menu revealing the drop-down options

19 | P a g e

Page 21: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

3 Check exchange Rate works

GBP to USDAmount 1010*1.52=15.20

15.20 as amount (example)

The exchange rate could be entered along with the other relevant information the only problem was the answer was not given. This was due to the Calculate button not working

3a Check exchange Rate works

GBP to USDAmount 1010*1.52=15.20

15.20 as amount (example)

The exchange rate could be entered along with the other relevant information. The Calculate button then would work and I got the answer I required

4 Check exchange rates work within

USD to GBP Amount 1010*1.52=15.20

15.20 as amount (example)

The exchange rate could be entered along with the other relevant information. The Calculate button then would work and I got the answer I required

20 | P a g e

Page 22: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

5 Check all exchange Rate works

Euro to GBPAmount 1010*1.52=15.20

15.20 as amount (example)

The exchange rate could be entered along with the other relevant information. The Calculate button then would work and I got the answer I required

6 Check exchange rates work within

GBP to EuroAmount 1010*1.52=15.20

15.20 as amount (example)

The exchange rate could be entered along with the other relevant information. The Calculate button then would work and I got the answer I required

7 Exchange Rate manually update

Can you input the exchange rate manually?

Manually input the exchange rate.

The exchange rate was entered manually.

21 | P a g e

Page 23: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

8 Check the calculate button works

Click the Calculate button

Button can be clicked to give a calculation answer

I was able to click the Calculate button but unfortunately, it did not work, as I wanted.

Calculate button can be clicked but the answer Is not given.

9 Correct calculation answer is given

Double check the calculation is the same every time you want to do the calculation times

The answer given is correct and corresponding to the exchange rate and amount to be exchanged

There has been no answer given when the calculate button was clicked.

No answer is given to the equation.

22 | P a g e

Page 24: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

10 Input amount is a number not a character

The letter A should give an error message in the Error Message text box.

An error message is displayed stating there has been an error and possibly, what the error is.

There is no error message dialogue box that appears.

No error message appears when aninvalid character is inputted in tothe calculator.

23 | P a g e

Page 25: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

Updated Codeusing System;using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;

namespace WindowsFormsApp4{ public partial class Form1 : Form {

string currencyFrom = ""; string currencyTo = ""; decimal amount = 0; decimal exchangeRate = 0; decimal result = 0;

private string[,] rateArray = { { "GBP", "USD", "1.52" } , { "Dollar", "GBP", "0.66" } , { "GBP", "Euro", "1.30" } , { "Euro", "GBP", "0.70" } };

public object EURO { get; private set; }

public Form1() { InitializeComponent(); }

private void label1_Click(object sender, EventArgs e) {

}

private void label2_Click(object sender, EventArgs e) {

}

private void button1_Click(object sender, EventArgs e) {

}

private void label3_Click(object sender, EventArgs e) {

}

private void textBox2_TextChanged(object sender, EventArgs e) {

}

24 | P a g e

Page 26: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

private void label6_Click(object sender, EventArgs e) {

}

private void Form1_Load(object sender, EventArgs e) {

}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) {

}

private void button1_Click_1(object sender, EventArgs e) { storeData(); //the button is used to calculate the overall amount that has been //exchanged and will be given to the customer }

private void label1_Click_1(object sender, EventArgs e) {

}

private void label2_Click_1(object sender, EventArgs e) {

}

private void cmbfrom_SelectedIndexChanged(object sender, EventArgs e) { currencyFrom = (string)cmbfrom.SelectedItem; //An array is a data structure that contains a group of elements. //Typically these elements are all the same data type, such as an integer or string. }

private void label5_Click(object sender, EventArgs e) {

}

private void cmbto_SelectedIndexChanged(object sender, EventArgs e) {

//An array is a data structure that contains a group of elements. //Typically these elements are all the same data type, such as an integer or string. }

private void txtexchangerate_TextChanged(object sender, EventArgs e) {

}

public void storeData() {

25 | P a g e

Page 27: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

currencyFrom = (string)cmbfrom.SelectedItem;

currencyTo = (string)cmbto.SelectedItem;

amount = Convert.ToDecimal(txtAmount.Text); chkRate(); //currencyFrom =(string) will take the data from the combo box //currencyTo =(string) will take the data from the combo box //amount = Convert.ToDecimal(txtAmount.Text); will convert the text from the text box in to a decimal numerical value }

private void label1_Click_2(object sender, EventArgs e) {

} public void chkRate() { if (!string.IsNullOrEmpty(txtExchangeRate.Text))

//An if else statement in programming is a conditional statement that runs a different set of statements //depending on whether an expression is true or false.A typical if else statement would appear like the //one below(this example is JavaScript, and would be very similar in other C-style languages) { exchangeRate = Convert.ToDecimal(txtExchangeRate.Text); Update();

} else { findExchangeRate();

} }

private void txtAmount_TextChanged(object sender, EventArgs e) { }

public void findExchangeRate() { // int count = 0; // while (count < rateArray.GetUpperBound(0)) {

if (currencyFrom.Equals(rateArray[count, 0]) && (currencyTo.Equals (rateArray[count, 1]))) { exchangeRate = Convert.ToDecimal(rateArray[count, 2]);

//it breaks a loop break; }

26 | P a g e

Page 28: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

// count++; } Calculation(); }

public void Calculation() { result = amount * exchangeRate; display(); }

//Compose the method updatRate and add in the while and if statement

public void updateRate() {

int count = 0; //Create a variable called count with a datatype int and an initial value of 0.

while (count < rateArray.GetUpperBound(0)) {

if (currencyFrom.Equals(rateArray[count, 0]) && (currencyTo.Equals (rateArray[count, 1]))) {

(rateArray[count, 2]) = Convert.ToString(exchangeRate);

//1 Line: Store the exchange rate into the array.You will need to use toString with the variable name. //Remember to use[count, ] and put the column number in the brackets to say which column you which to store the rate to. }

break;

} count++; // Increment count(this means add one to the value in count) Calculation(); }

// Add in the line that will trigger the method calculate() to run.

public void display() {

//1 Line: Change the value in the variable result to a string then display it into a text box using the command .Text.

txtTotal.Text = Convert.ToString(result); }

private void btnCalculate_Click(object sender, EventArgs e) { storeData(); }

27 | P a g e

Page 29: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

//You must add in comments to explain what each line in this method does.

}

}

Error 1The first error within the code was I had txtrate.Text = Convert.ToString(resultexchangeRate); and the (resultexchangeRate) was red lined.

See image below for the code within the program itself.

To fix this issue I made the line of code into a comment to check the program would work. Once I had done this, the program was working to an extent. I reverted the line of code back to normal and tested the program once again to double check it was working and like with the line of code as a comment the program worked to an extent.

Error 2My calculate button was not working and giving me the answer to the sum I required.

To solve this issue I had to input code within the button coding section here. The code that was input it also below storeData();

28 | P a g e

Page 30: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

Beforeprivate void btnCalculate_Click(object sender, EventArgs e) { }

After private void btnCalculate_Click(object sender, EventArgs e) { storeData(); }

Error 3This error was found after I had fixed Error 2. This was due to me not adding the calculation code to say to the program to calculate what was being input for this part of the code/program.

Before public void updateRate() {

int count = 0; //Create a variable called count with a datatype int and an initial value of 0.

while (count < rateArray.GetUpperBound(0)) {

if (currencyFrom.Equals(rateArray[count, 0]) && (currencyTo.Equals (rateArray[count, 1]))) {

29 | P a g e

Page 31: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

(rateArray[count, 2]) = Convert.ToString(exchangeRate);

//1 Line: Store the exchange rate into the array.You will need to use toString with the variable name. //Remember to use[count, ] and put the column number in the brackets to say which column you which to store the rate to. }

break;

} count++; // Increment count(this means add one to the value in count) }

After public void updateRate() {

int count = 0; //Create a variable called count with a datatype int and an initial value of 0.

while (count < rateArray.GetUpperBound(0)) {

if (currencyFrom.Equals(rateArray[count, 0]) && (currencyTo.Equals (rateArray[count, 1]))) {

(rateArray[count, 2]) = Convert.ToString(exchangeRate);

//1 Line: Store the exchange rate into the array.You will need to use toString with the variable name. //Remember to use[count, ] and put the column number in the brackets to say which column you which to store the rate to. }

break;

} count++; // Increment count(this means add one to the value in count) Calculation(); }

Error 4This error was found after I had fixed Error 3. As to Error 1 this error was still red lining. To resolve this issue I removed the exchangeRate within the brackets and the red line disappeared.

Beforepublic void display() {

30 | P a g e

Page 32: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

//1 Line: Change the value in the variable result to a string then display it into a text box using the command .Text.

txtTotal.Text = Convert.ToString(resultexchangeRate); }

After public void display() {

//1 Line: Change the value in the variable result to a string then display it into a text box using the command .Text.

txtTotal.Text = Convert.ToString(result); }

Error 5This error was found after I had fixed Error 4. This error was due to me having different string codes for the US Dollar as the code below shows I had the USD down as Dollar. To solve the error I had to just change the name of the Dollar to USD for the program to recognise what was being converted.

Before private string[,] rateArray = { { "GBP", "Dollar", "1.52" } , { "Dollar", "GBP", "0.66" } , { "GBP", "Euro", "1.30" } , { "Euro", "GBP", "0.70" } };

Afterprivate string[,] rateArray = { { "GBP", "USD", "1.52" } , { "Dollar", "GBP", "0.66" } , { "GBP", "Euro", "1.30" } , { "Euro", "GBP", "0.70" } };

Witness StatementWitness Statement:-Demonstrate program to Teacher who will send you a Witness Statement to Paste into this section. (P5)

31 | P a g e

Page 33: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

Feedback

Feedback 1Interface Reviewer-Good Reviewer-Bad Reviewers-

CommentsProgrammers Comment

Font (Size, Colour, Contrast )

Font type was easy to read.

Font colour was good as it stood out from the background.

Font size was 10pt making it difficult to read.

The font should be increased to 14pt to make

Agree with font size problem will alter font on GUI.

English (Spelling, Grammar, Capitals etc.)

All spelling and Grammar and capitals were all in the right place and easy to read and understand. NW

Maybe change the font to different to make more attractive for the user to use. NW

Increase it to16 font so it stands out more. NW

I agree with the comment of it needing to be increased as people who struggle

Background The background was suitable for the calculator NW

Add different colour NW

N/ANW

Layout (textboxes, labels, buttons, combo boxes

The layout was simple and easy to read NW

Nothing needs to be changed NW

N/ANW

Ease of Use It was easy to use and worked well NW

Nothing to be change NW

N/ANW

Program Structure Quality

It was set out well and all code was in the right placeNW

Nothing to be changedNW

N/ANW

Comments to help read the code

The comments help to with The understanding of the code. NW

Nothing to be changedNW

N/ANW

Indentation N/A Nothing to be changedNW

N/ANW

Method names are meaningful

All methods are representable NW

Nothing needs to be changed NW

N/ANW

32 | P a g e

Page 34: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

Variable names meaningful

All variables are meaningful and represented well NW

Nothing needs to be changedNW

N/ANW

Easy to read code The code is easy to understand no red lines , no errors NW

Nothing needs to be changed.

N/A

Functionality All function of the exchange calculator is good and well represented well with no errors NW

needs slight adjustment to the appearanceNW

N/A

Exchange Rate correctly worked

The exchange rate worked well NW

Nothing needs to be changedNW

N/A

Result of Calculation formatted

The amount is shown well

Nothing needs to be changed NW

N/A

Other N/A N/A N/A

QualityEasy to use The program has

an easy layout and has a free-flowing system.

N/A N/A

Robust (works every time)

Every time a new amount or currency is required the program works without any snags

N/A N/A

Reliable(produces Correct answers)

The calculator works and gives the correct calculations to the required sums

N/A N/A

33 | P a g e

Page 35: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

Feedback 2Interface Reviewer-Good Reviewer-Bad Reviewers-

CommentsProgrammers Comment

Font (Size, Colour, Contrast )

Font type was easy to read.

Font colour was good as it stood out from the background.

Font size was 10pt making it difficult to read.

The font should be increased to 14pt to make

Agree with font size problem will alter font on GUI.

English (Spelling, Grammar, Capitals etc.)

The spelling is all fine there are no errors

N/A N/A

Background The background is fine and makes it easy to understand the writing.

It could be changed to a different colour, so it is not boring.

Although the background is fine it would be best to have a bit of colour in it.

Layout (textboxes, labels, buttons, combo boxes

The layout is spaced out, so it is easy to understand what text box belongs to the writing

Although it is very spaced out it takes quite a while to get from one box to another

Move the boxes closer than they are now although it is spaced out.

Ease of Use It is easy to use the calculator as it’s easy to know what to do as it is very well labelled

N/A N/A

Program Structure QualityComments to help read the code

The comments that have been added in are very detailed.

The comments although very detailed it does not contain a lot of information.

Add more to the comments

Indentation N/A N/A N/A

Method names are meaningful

The method names are detailed, if someone who does not understand code will be able to recognise what

N/A N/A

34 | P a g e

Page 36: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

the methods are for.

Variable names meaningful

The variables names are meaningful as it helps us understand what data will be in them

N/A N/A

Easy to read code Yes as the code is correct it makes it easy to read the code

N/A N/A

FunctionalityExchange Rate correctly worked

The exchange rate worked as I change the amount of money we are using, and it gave the correct answer every time. I checked on an actual calculator to see if it corrects

Result of Calculation formatted

The answer we received came with decimal points and was right every time.

Other N/A N/A N/A

QualityEasy to use The calculator is

very basic which makes it easy to use as I knew what to do from the start.

N/A N/A

Robust (works every time)

The calculator worked every time.

N/A N/A

Reliable(produces Correct answers)

The answer we received was correct all the time I even used a real calculator to check it was

35 | P a g e

Page 37: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

correct.

ReviewReview Original Requirements

Original RequirementsBusiness Requirements (Non-Functional Requirements)The business requirements for the application are:

The application will speed up the exchange process up for better effectiveness and better customer service.

It will help keep customers and gain new customers – the calculator can gain new customers by being quick and effective in busy times without taking much time of the user or customer, it will also keep current customers due to being accurate and the customer can get quotes with a few clicks of a mouse/button.

This image above shows a exchange calculation from Great British Pound (GBP) to United States Dollar (USD) and the calculation and I checked the calculation from the exchange calculator on a different calculator (can be seen above also) and I got the same answer to the answer given on the exchange calculator.

No mistakes or errors made by the agents, so the customers aren’t short changed or given too much currency – the users can’t get the calculation wrong due the user being given the answers they require via the program and not short changing the customer because the customer can always be shown what they are getting for the exchange.

Quotes can be given to the customers before the transaction is completed – the calculator isn’t the final process of a transaction and can be used to gain quotes for the customers before any money is exchanged on both parties.

Exchange rate can be found instantly and kept updated on a regular basis so not only do the customers know what they are getting for their money but also the employees will also know the updated exchange rates – the exchange rates are placed within the code of the program as seen

36 | P a g e

Page 38: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

below. This can be changed automatically or manually depending on the system instruction. The user will be able to input they’re on custom Exchange rate as well within the program on the main screen of the calculator.

private string[,] rateArray = { { "GBP", "USD", "1.52" } , { "Dollar", "GBP", "0.66" } , { "GBP", "Euro", "1.30" } , { "Euro", "GBP", "0.70" } };

Input RequirementsThe inputs for the exchange rate would be:

The amount of currency the customer would like to exchange into the desired currency – this was achieved by placing an Exchange amount box and Currency To within the program, this will allow the user in input the required amount to be exchanged and in to what currency they would like (Euro, USD or GBP)

What the exchange rate is at the time – I did put a Rate used box in to the program but it does not show what rate was used.

The currency the customer would like to exchange (from).

The currency the customer is wishing to have (to).

37 | P a g e

Exchange Amount Input box

Currency To Input box

Page 39: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

Output RequirementsThe outputs for the exchange rate would be:

The amount of new currency the customer will get after the exchange – this was achieved by adding a box within the program to establish what the new amount the customer would receive and how much the user would have to give out of the required currency.

Exchange demand.

Exchange rate used – this was added within the code if the program and was different for each of the currency conversion rates.

{ "GBP", "USD", "1.52" } ,{ "Dollar", "GBP", "0.66" } ,{ "GBP", "Euro", "1.30" } ,{ "Euro", "GBP", "0.70" }

Process RequirementsThe outputs for the exchange rate would be:

38 | P a g e

Currency From Input box

Currency To Input box

Exchange Amount to be received

Page 40: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

The calculation of the currency exchange – this was added and is the same as was mentioned earlier in the Output Requirements.

Error Logging – detecting invalid inputs of the calculation – even though the program will not work when an invalid character is entered there is no error message box that shows up, instead the calculation will not work, and no process is completed. When I input an invalid character I was taken back to the coding of the program and received this message

Extent of SuitabilityThe suitability of the program is how it should be because if the user wanted to select a new Currency there is a drop-down menu allowing this and the user then can select which currency they would like, this is the same for currency to and from. I chose a drop-down menu for the pure reason of if the user wasn’t geographically perfect, they may not be hundred percent sure which country has what currency. I could have improved this by placing all the different countries under each of the respected currency for example Euro = Germany, Italy and Dollar is used in Australia and the US.

The suitability of the Exchange Rate entry box isn’t ideal as I should have given an option of letting the user decide whether they need to enter the rate themselves (potential issue with gaining current rates) and this would require the user to enter the rate manually. I have stated in the improvements section that I would improve this and why.

39 | P a g e

Exchange Amount to be received

Page 41: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

EvaluationMy initial designs were in my opinion very similar to how the final finished developed product. I believe this was the case because the layout of the program is the same as the in both.

See images below:

Design

40 | P a g e

Page 42: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

41 | P a g e

Title Exchange Rate Calculator (Label) - 1

Calculate (Button) - 8

Exchange Rate Amount (Label) - 10Rate Used (Label) - 9

Exchange 1.20 (TextBox) - 3

Exchange Currency To (List) - 7

Exchange Currency Amount From (Label) – 4 Exchange Currency From (List) - 5

Error Message box - 11

Exchange Rate (Label) - 2

Page 43: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

Finished Program

The main difference in the layout of the designs to final finished program is how the boxes are set out because I thought about having the program full screen but there would have been too much whitespace between the different boxes and dropdown menus.

I placed Lists in to the designs whereas in the final product I opted for combo boxes due to I thought it would be the better option and suit the purpose better on the basis of the list may have taken more space up on screen where the combo box is compact and drops down when you click on it and then you can select the required Currency.

ReadabilityThe code at first was a jumbled mess of characters and nonsense due to the fact I never put comments in to the code so I knew where I was up to and what I was doing within the code. Once I started inputting the comments (that I understood) for each section of the code it became clear that I knew what each section was going to do within the program.

public void storeData() { currencyFrom = (string)cmbfrom.SelectedItem;

currencyTo = (string)cmbto.SelectedItem;

42 | P a g e

Page 44: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

amount = Convert.ToDecimal(txtAmount.Text); chkRate(); //currencyFrom =(string) will take the data from the combo box //currencyTo =(string) will take the data from the combo box //amount = Convert.ToDecimal(txtAmount.Text); will convert the text from the text box in to a decimal numerical value }

This piece of code was helpful in the respect of once I put the comments in, I could understand what it was going to do and to an extent how.

This progressed through out the code as seen above in the original code and the updated code sections

UsabilityThe usability of the program is ideal and easy to know what to enter and where. I would of liked to input an option on to whether to the user would like to input the exchange rate themselves or leave the program to find it for them, this was because the user may get confused on whether to enter the exchange rate or not as the program doesn’t require you to input it due to the code having the rates already implemented in to it.

ReliabilityThe program works every time it was test along as the exchange rate wasn’t added in to the text box on the calculator, this I would like to improve on to improve the efficiency of the program and how the users work.

RobustnessWhen I entered an invalid character into the exchange amount textbox the program would not giver an output, but would bring up an error within Visual Studio

43 | P a g e

Page 45: Technical Document – Task 2€¦  · Web viewUnit 12 - Software Development. Technical Document – Task 2. Unit 12 - Software Development. Contents. Introduction3. Part A: Purpose

ImprovementsI would get the Rate Used box working, this would allow the user and customer to see what rate was used and even double check it to make sure the calculation was correct.

Giving an error message box, thus giving the user the reason why something hasn’t worked as they will not have access to the code or a programming application; Visual Studio for example. This being included would give the user a pop-up box (possibly) to state what was wrong with the process.

Another way of an error message is by placing green or red beside each entry box so the user will know instantly if there was an issue with the program and this then allowing them to change the data.

Upon getting the program working I noticed that the Exchange Rate text box wouldn’t work when I entered a new Exchange Rate so getting this to work would be an improvement on the program. This would give the user an option to allow a new rate to be entered.

If this was fixed, then I would also place a drop-down menu box asking if the rate needed to be entered or not. If the user selected YES, then a rate would be entered but if NO was selected then the rate would be taken from the array within the code.

44 | P a g e