Develop object-oriented programs

Assignment Help Other Subject
Reference no: EM132760421

ITECH2306 Agile Coding - Federation University

S1. Develop object-oriented programs involving several interacting classes.

S2. Develop, compile and debug code using an appropriate IDE

S3. Manage multiple versions of source code.

S4. Select appropriate ways to represent data.

S5. Incorporate pre-written classes including those from an API into a software solution

Application of Knowledge and Skills

A1. Design, develop, test, debug and release programs from supplied program specifications

Purpose and Expectations
By completing this assignment students will:

• Practice skills in reading a specification and developing functional requirements to inform your object oriented code design and development.

• Develop a multi-class system to meet functional specifications applying object oriented design principles.

• Use a GitHub repository to maintain code. This repository will be shared with their partner.

• Participate in a development and design process involving the creation of UML class diagrams.

• Develop an understanding of and application of object-oriented programming techniques, in particular those relating to inheritance and abstract classes.

• Test code using thoughtful test cases and write some JUnit tests that can be run to test code.

It is expected that students will creatively design and update a system based on appropriate design choices. These choices should address the requirements and be consistent with the design of the starting system. Before submission, students should read over the entire assignment and understand all the tasks.

All code must conform to stylistic conventions including proper commenting, appropriate choice of identifier names (including case), proper indentation and other readability issues. If the code does not follow consistent style and formatting standards, marks will be deducted. For examples of coding style guides, students should consult:

• Item 68, p. 262 of Bloch, J. (2018). Effective Java. 3rd edn. Boston, MA: Addison-Wesley (item 68, p. 262)

• Chapter 7 of Evans, B. J. & Flanagan, D. (2015). Java in a Nutshell (6th ed.). Sebastopol, CA: O'Reilly Media Inc

Assessment Details

This assignment will be assessed by the student's lecturer/tutor.

The assignment has both group work and individual work components. Each student must make an individual submission in Moodle.

The submission must follow the format of a professional report.

All developed code should also be committed into the pair's GitHub repository in the GitHub Classroom.

It is important there is evidence of each student contributing to the assignment and pushing to GitHub. If there is no evidence of each student committing code regularly to GitHub, that student will be given zero marks.

Generally, students must demonstrate the ability to (more details specified in next section):

1. Author Junit test cases;

2. Write code to demonstrate their understanding of the requirements and the starter system by correctly implementing four property classes and the code associated with their use. In this coding students should be able to demonstrate:

a. appropriate understanding of the classes modified/changed by including their name/s and a description under the author tag at the top of the class

b. correct use of control structures i.e. decisions and iteration/looping

c. correct and appropriate use of abstraction, inheritance, encapsulation and polymorphism

d. appropriate use of naming and coding conventions

3. Create UML class diagrams to represent the system design at the beginning and end of their changes

4. Provide sufficient demonstration of updates to their GitHub repository

5. Using examples from their code, answer some general questions about OO concepts.

This exercise also requires students to:

• access the GitHub Classroom

• download some starter code

• import that code into their eclipse local workspace linked to their own GitHub repository

• review, comment and extend that code and

• make multiple commits and pushes to save changes into an online source code repository in GitHub.

Students should use the handouts provided in the resources section of Moodle to help with how to use Eclipse and

GitHub.

The following description outlines the user requirements that are to be addressed in the computer system that students develop.

Where there is not enough information provided, students may make assumptions as long as these are documented. Further information is given in the Detailed Requirements and Marking Criteria sections of this document.
System Specification
"A city council is looking for a new computer system in which to keep a register of all rate payers that pay rates on properties within the council boundary. Each rate payer will be one person or legal entity identified at Australian law
e.g. public or private company, trust, partnership or other incorporated body e.g. sport club. For each ratepayer, the system will store their name and postal address. The address will be stored in one text field containing the postal address e.g. "75 Boundary Street, SomeSuburb, City". Their postcode will be stored in a separate field. There will be an optional field for the rate payer's telephone number. Their type as identified e.g. individual or public company etc. above will also be stored.
The council also has a record of each ratepayer's property. Each ratepayer has only one property. Properties can be of seven types: residential, commercial, vacant land, hospital, industrial, school, community and other. Each type has additional attributes. These details are displayed in the following table:

 

Property Type

 

Additional Attributes

residential

Type e.g. townhouse, house

Architectural style e.g. Victorian, Federation

commercial

business name

ABN

vacant land

Overlay/s

 

hospital

Public or private status

Facilities

Number of floors

 

industrial

Hazard status

Heavy vehicle status

school

Classification - public, private or independent

community

Category e.g. cultural, sporting, health

 

Property Type

 

Additional Attributes

other

Special description

For all property types there will be a description (lot number and portfolio according to state government registration index), location (address format as defined above), an area in square metres, site value, capital improved value (CIV), net annual value and valuation date. The capital improved value is a separate valuation performed at the same time as the site (land) valuation and is greater than the land value for all cases except vacant land where it is the same value. The valuation date is stored in the format DD MMM YYYY.

The total rates charged for a property depends on the CIV of the property and the type of property. The amount charged is calculated by multiplying the CIV by the CIV rate for that type of property and then adding relevant extra service levies designated for that property type. The table below indicates the 2021 rates.

 

Property Type

CIV

Rate

 

Extra Services

Extra Services Rate

 

 

residential

 

 

0.40%

Waste Management

1 x $400

Green Waste Management

1 x $90

 

Fire Services Levy

$110 + (0.007% of CIV)

 

commercial

 

0.60%

Waste Management

2 x $400

 

Fire Services Levy

$200 + (0.007% of CIV)

 

vacant land

 

0.10%

 

Fire Services Levy

$50 + (0.007% of CIV)

 

 

hospital

 

 

0.36%

Industrial Waste Disposal

4 x $600

 

Fire Services Levy

$200 + (0.007% of CIV)

industrial

0.65%

Industrial Waste Disposal

4 x $600

 

Property Type

CIV

Rate

 

Extra Services

Extra Services Rate

 

 

 

Fire Services Levy

$200 + (0.007% of CIV)

 

 

 

 

 

 

school

 

 

 

 

 

 

0.30%

Industrial Waste Disposal

2 x $600

 

Fire Services Levy

$200 + (0.007% of CIV)

 

 

 

Traffic Management Levy

$200 + ($60

for small or

$80 for medium or

$100 for large organisation category)

 

 

 

 

 

community

 

 

 

 

 

0.25%

Waste Management

1 x $400

Green Waste Management

1 x $90

 

Fire Services Levy

$100 + (0.007% of CIV)

Traffic Management Levy

Number of events x

$200

 

other

 

0.25%

 

Fire Services Levy

$150 + (0.007% of CIV)

A school address is given a categorisation based on student and staff/member numbers: small (1-50 members);
medium (51-500); and

large (501 upwards).

A number of events is allowed (maximum of 10) and attributed to a community type property. This number is then

used in the calculation of the Traffic Management Levy. For simplicity here we assume that a community property does not exceed this number.

If the ratepayer has a charitable status, a discount is applied to the total rate amount. The discount is 20% off the total rate calculation.

As an example a property classified as a residential property having a CIV value of $350,000 would have a rate charged for a calendar year of:

$400,000 x 0.4% = $1600.00 +

Waste Management service (1 x $400) = $400.00 + Green Waste Management service (1 x $90) = $90.00 +
Fire Services Levy ($110 + 0.007% of $400,000) = $138.00 Total rate charge = $2228.00
As the ratepayer has no charitable status no discount is applied. If they had a charitable status, then the $2228 would be reduced to $1921 x 80% = $1782.40.

At this stage a proof of concept system has been developed. It runs in the Eclipse console and although three menu items are listed only item 3 is implemented:

After the calculation is displayed, the user has the opportunity to generate another rate notice for another type of property or return to the main menu and exit the system.

The code for the system is present in a GitHub repository. You are asked to continue the coding of that system so that it provides sufficient functionality that can demonstrate at least six property types (including the two you are already given) and their total yearly rate costs. You may also need to improve the formatting of some of the output.

Detailed Requirements
Students should create a document named surnameStudentIDAssignment1.doc/pdf. This document is to be completed independently by each student. The document should be presented as a business or management style report which adheres to academic writing presentation standards. As well as a title page, table of contents and details of the two students in the team it should contain headings and sections for:

• Link to GitHub repository;

• Answers to questions.

Students must form their team in the GitHub Classroom by going to the assignment link identified in Moodle. They must download the starter code from the GitHub classroom.
They should then import the code into Enterprise Architect and produce a UML document of the system. They should save the image in the project images folder in Eclipse.
Together they should create at least two JUnit test case files with sufficient methods for testing two classes that will be modified.

Together they must add comments and make changes to the classes that are involved in producing a calculation for

the Industrial and Hospital property types so that they can be selected in a working system and produce an accurate calculation of rate costs.

Individually, one student should add comments and make changes to the School property type and the other student should add comments and make changes to the Community property type so that they can be selected in a working system and produce an accurate calculation of rate costs.

Students must run the JUnit tests and capture screen shots of successful operation and store in the project images folder.
Students must then import the code into Enterprise Architect and produce a UML document of the modified system. They should save an image of the document in the project images folder.

Students must individually answer the following questions:

• With respect to the pair's code:

1. Name a super class and describe its purpose.

2. Name a sub class and describe what inheritance means for that class.

3. Name a method that is overridden in two sub classes.

4. Identify where a super constructor is referred to in the code.

5. Explain the classes and methods involved in a calculation of extra services on a property type of your choice.

• For each concept listed below, provide a description in the document and provide an explanation of the concept using an example from the pair's submitted code.

6. Overloading of a method or constructor

7. Overriding of concrete methods in sub classes

8. Abstract class

9. Abstract method and overriding of an abstract method

10. Information Hiding and Encapsulation

Students should then create a zip file of the Eclipse project (which should be up to date with all work).

Students should complete their individual document with the link to their GitHub repository and their answers to the questions and submit the individual document and the zipped Eclipse project.

Attachment:- Agile Coding.rar

Reference no: EM132760421

Questions Cloud

How did scientists study rem with animals : How did scientists study REM with animals
How psychology can be applied to the nursing field : Define psychology and explain what psychologists do (it's more than just therapy).
Describe the main parts of a neuron : Describe the main parts of a neuron, explain the unique function of each part, and describe how neurons use electrochemical signals for neurotransmission.
Explain infant mortality in the united states : What can you tell your friend about prenatal care in teenage mothers and about infant mortality in the United States that would contradict this statement?
Develop object-oriented programs : Develop object-oriented programs involving several interacting classes - Design, develop, test, debug and release programs from supplied program specifications
Evaluate the effectiveness of the tobacco education : What are 2 program evaluation methods that would be recommended to Cherry Health System leadership to evaluate the effectiveness of the tobacco education
Positive punishment for reducing the significant problem : What are some examples of positive punishment for reducing the significant problem in society of drug use?
Explain piaget six sub-stages : Explain Piaget's six sub-stages of sensorimotor cognitive development.
Difference between rem dreams and non-rem dreams : What is the difference between REM dreams and Non-REM dreams?

Reviews

Write a Review

Other Subject Questions & Answers

  Briefly state the invisible hand theory

Briefly state the "invisible hand" theory in your own words. Two advocates of the "invisible hand" theory who are quoted in the article encourage a "deliberate amorality" in the executive suite. How do they justify this

  How you would conduct your first meeting with jennifer

Explain in a concise professional manner how you would conduct your first meeting with Jennifer. Identify specific steps you would take to understand.

  Find short descriptions of 3 studies

Below, you will find short descriptions of 3 studies. For each one, give all 3

  Why does the author criticize obamas speech

Why does the author criticize Obama's speech about AWOL fathers?What astonishing statistic does the author present about slavery in 1850 and Blacks in the correctional system?Why does the author compare the disfranchisement of Blacks today with disfr..

  Review the huston article listed under reading assign

Which skills described for the Nurse Leader in the year 2020 are important now?

  What is your hypothesis

The relationship between the amount of time couples spend together and their relationship satisfaction.

  Create a sample human resource strategy

Create a sample human resource strategy that aligns with the following business strategy: "A satisfied customer is the best business strategy of all."

  How prepared was the community for the event

What was the event, when and where did it occur, and what were its major impacts? How prepared was the community for the event?

  Tqm benchmarking to help guide

TQM Benchmarking to help guide and drive internal performance has long been a passion of mine and how do you think this approach would change if your business were already the market leader?

  Discuss the importance of reading to young children

As early childhood educators, it is our responsibility to assist parents in encouraging the development of literacy in their children. As mentioned in Section.

  Explain what practical, tactical and legal procedures us

Based upon the readings and upon lessons learned from 9/11, explain what practical, tactical, and legal procedures the US should adopt

  What diversity challenges are encountered in that setting

You will choose a topic related to the challenges of working with diverse populations in forensic settings and create a tri-fold brochure for psychologists.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd