# BTEC HND in Computing and Systems Development Unit 19

```Programme title BTEC HND in Computing and Systems Development
Unit number and title 19 Object Oriented Programming
Assignment number & title 1 of 1 Object Oriented Programming
ICON College of Technology and Management
```

## Scenario

You are required to design, implement, test and document windows forms application within Microsoft Visual Studio 2017 community edition environment (C#). The application will implement the following app. A carpet company has asked you to write an application that calculates the price of carpeting for rectangular rooms. To calculate the price, you multiply the area of the room (width times length) by the price per square meter of carpet. For example, the area of a room that is 6 meter long and 5 meter wide is 30 square meter. To cover that room with carpet that costs £8 per square meter would cost £240 (6x5x8=240)

First, you should create a class named RoomDimension that has two Fields: one for the length of the room and one for the width. The RoomDimension class should have a method that returns the area of the room (the area of the room is the room's length multiplied by the room's width).

Next, you should create a RoomCarpet class that has a RoomDimension object as a field. It should also have a field for the cost of the carpet per square meter. The RoomCarpet class should have a method that returns the total cost of the carpet.

Once you have written these classes, use them in an application that asks the user to first enter the number of rooms. For each room, the user must enter dimensions, then calculate the area. The next step is to enter the price per square meter of the desired carpeting and calculating the carpeting price per room. This repeats for each room and the application should calculate and display the total cost of the carpeting for all the rooms at the end.

All the values on the forms are required and you need to check the value range for valid inputs. If you entered the values wrong there should be a clear button that clears all the values from the form.

Expected programming output: For fulfilment of task 3 you need implementation of all the functionalities, providing that they are complete and follow OOD and OOP principles, it is possible to achieve full marks.

### LO1 Understand the principles of object oriented programming

1.1 Various programming language are available to design and develop the application. Discuss the principles, characteristics and features of objected oriented programming. [P1.1, M1] Hints: meanings of classes and objects with suitable example, the concepts of abstraction, inheritance, encapsulation and polymorphism in OOP design.

1.2 Explain the advantages of OOP principles in the design of software solution to a problem such as described in the above scenario. Here you may refer to inheritance, modularity and extensibility.

To achieve M1, you must demonstrate a clear understanding of the core principles of object oriented programming and will have met the deadline to submit the tasks and achieve the unit assessment criteria.

### LO2 Be able to design object oriented programming solutions

2.1 You need to produce a full design for the requirements given. Identify the objects and data and file structures for given problem [P2.1] Hint: identify object, class, required data, methods, file structure, user interface etc.

2.2 For the requirement specification given in the above scenarios, identify and list the classes required in your proposed OOP design solution. Show these by drawing a UML class diagram(s) depicting the classes (with their attributes and methods) and their relationships with each other in the design. [P2.2, D1]

To achieve D1, you have to present detailed level in your design using effective approach; you have demonstrate proper use-case diagram. You have to justify your choices of classes, properties and relationship amongst them; also, you have to demonstrate proper use of UML class diagrams.

### LO3 Be able to implement object oriented programming solutions

Within the MS Visual Studio (VS) IDE implement an objected oriented solution to each of the above given problem scenarios. Your code must follow good software design and development conventions some of which are given in the good programming practice section below. You must also demonstrate effective use of the VS IDE, including code and screen templates. To this end, you have to:

Hint: subroutines, branching, iteration, multiple classes, inheritance, encapsulation, abstract class, reuse of code etc.

3.1 Implement your design for the software designed in tasks 2.1 and 2.2. [P3.1, M2]

3.2 Your code must make use of programming standards to define relationships between objects to implement design requirements [P3.2]

3.3 You should state any changes made to the design with reasons by implementing object behaviours and using control structures to meet the designed algorithms.[P3.3, D2]

3.4 Screenshots evidence showing coding and running of the program must also be included. [P3.4]

Important: You need to screenshot all of the source code very visibly and include it in your final report. Please avoid attaching the source code to the final report.

To achieve M2, you have to demonstrate a proper implementation of functional object oriented program using effective approach for the main functionalities and features of the system.

To achieve D2, you have to demonstrate a proper implementation of object behaviours using control structures to meet the designed algorithms

### LO4 Be able to test and document object oriented programming solutions

Hint: testing mechanisms check functionality, various types of testing methods, requirement testing, design testing, implementation testing - range testing, input testing, load testing, testing plan, system compatibility, design help e.g. pop-ups, help menu, technical documentation, user documentation etc.

4.1 Critically review and test an object orientated programming solution you developed for the given scenario. [P4.1, D3]

4.2 Analyses actual test results against expected results to identify discrepancies. You are advised to use a table to show this. [P4.2]

4.3 Evaluate independent feedback on a developed object oriented programme solution and make recommendations for improvements. [P4.3]

4.4 Create onscreen help to assist the users of the computer program you developed. [P4.4]

4.5 As part of the user and design documentation, create brief documentation for the support and maintenance of the program and day-to-day user. [P4.5, M3]

To achieve M3, you have to demonstrate appropriate structure of the application documentation, introducing coherent, consistent user guide for the intended audience and providing technical documentation to support and maintain the system appropriately.

To achieve D3, you have to introduce a proper functional object oriented program, running in stable manner, showing creative thinking in design, implementation and testing, including all the application service s specified in the given scenario. You have to apply various testing methods in requirement analysis phase to system completion phase and critically discuss each of them.

#### 1. Outcomes of the unit and assessment criteria

 Outcomes Assessment criteria for pass To achieve each outcome a learner must demonstrate Questions reflecting the outcome LO1. Understand the principles of object oriented programming 1.1 Discuss the principles, characteristics and features of objected oriented programming LO1 Questions LO2 Be able to design object oriented programming solutions 2.1 Identify the objects and data and file structures required to implement a given design 2.2 Design an object oriented programming solution to a given problem LO2 Questions LO3 Be able to implement object oriented programming solutions 3.1 Implement an objected oriented solution based on a prepared design 3.2 Define relationships between objects to implement design requirements 3.3 Implement object behaviours using control structures to meet the design algorithms 3.4 Make effective use of an Integrated Development Environment (IDE), including code and screen templates LO3 Questions LO4 Be able to test and document object oriented programming solutions 4.1 Critically review and test an object orientated programming solution 4.2 Analyse actual test results against expected results to identify discrepancies 4.3 Evaluate independent feedback on a developed object oriented programme solution and make recommendations for improvements 4.4 Create onscreen help to assist the users of a computer program 4.5 Create documentation for the support and maintenance of a computer program. LO1 Questions

Glossary:

Analyse: Break an issue or topic into smaller parts by looking in depth at each part. Support each part with arguments and evidence for and against (Pros and cons).

Critically Evaluate/Analyse:  When you critically evaluate you look at the arguments for and against an issue. You look at the strengths and weaknesses of the arguments. This could be from an article you read in a journal or from a text book.

Discuss: When you discuss you look at both sides of a discussion. You look at both sides of the arguments. Then you look at the reason why it is important (for) then you look at the reason why it is important (against).

Explain: When you explain you must say why it is important or not important.

Evaluate: When you evaluate you look at the arguments for and against an issue.

Describe: When you give an account or representation of in words.

Identify: When you identify you look at the most important points.

Define: State or describe the nature, scope or meaning.

Implement: Put into action/use/effect

Compare: Identify similarities and differences