Fill This Form To Receive Instant Help

Help in Homework
trustpilot ratings
google ratings


Homework answers / question archive / This is for python assignment ICTPRG430 - Apply introductory object-oriented language skills (1) Project Assessment: Develop an object-oriented application  Assessment overview The objective of this assessment is to assess your knowledge and performance as required to apply introductory object-oriented language skills and use a library or pre-existing components Assessment Event number 1 of 3 Instructions for this  assessment This is a project-based assessment and will be assessing you on your knowledge and performance of the unit

This is for python assignment ICTPRG430 - Apply introductory object-oriented language skills (1) Project Assessment: Develop an object-oriented application  Assessment overview The objective of this assessment is to assess your knowledge and performance as required to apply introductory object-oriented language skills and use a library or pre-existing components Assessment Event number 1 of 3 Instructions for this  assessment This is a project-based assessment and will be assessing you on your knowledge and performance of the unit

Computer Science

This is for python assignment

ICTPRG430 - Apply introductory object-oriented language skills (1)

Project Assessment: Develop an object-oriented application 

Assessment overview

The objective of this assessment is to assess your knowledge and performance as required to apply introductory object-oriented language skills and use a library or pre-existing components

Assessment Event number

1 of 3

Instructions for this  assessment

This is a project-based assessment and will be assessing you on your knowledge and performance of the unit.

This assessment is in six parts:

  1. Review and clarify requirements
  2. Design the application
  3. Develop the application
  4. Test the application
  5. Evaluation
  6. Perform handover.

The assessment also contains:

Observation Checklist 1-2

Assessment Feedback.

Check the Assessment instructions and the Observation

Checklists to ensure that you’ve covered all the required tasks.

 

Assessment details          Instructions

Submission instructions 

On completion of this assessment, you are required to upload it or hand it to your assessor for marking. 

Ensure you have written your name at the bottom of each page of your assessment.

Submit the following documents for each part:

Part 1: Review and clarify requirements

You will be observed by your assessor

Part 2: Design the application

Project design documentation report

Part 3: Develop the application

Completed application incorporating reusable component

Internal documentation

Part 4: Test the application

Test data document

Part 5: Evaluation

Evaluation report

Part 6: Perform handover

You will be observed by your assessor.

It is important that you keep a copy of all electronic and hardcopy assessments submitted to TAFE and complete the assessment declaration when submitting the assessment.

What do I need to do to achieve a satisfactory result?

To achieve a satisfactory result for this assessment all questions must be answered correctly and all items in the Observation Checklists must be marked Satisfactory.

 

Assessment details          Instructions

Assessment conditions

Assessment conditions will be safe and replicate the workplace. Noise levels, production flow, interruptions and time variances must be typical of those experienced in the programming and software field of work. 

Assessment may be undertaken in normal classroom conditions, which is assumed to be noisy and similar to workplace conditions, or within the workplace. This may include phones ringing, people talking and other interruptions.

What do I need to provide?

USB drive or other storage method with enough free space to save work to.

What will the assessor provide?

An integrated software development environment (IDE)

Applications for software development (PyCharm)

User requirements outlined in scenario

Technical requirements outlined in scenario and assessment

Organisational conventions outlined in scenario

User for consultation

Documents in the zipped folder

Dip_Nwk_Programming_AE_Pro_1of3_SR1.zip

Due date and time allowed

Indicative time to complete assessment:

In class: Four hours

Out of class: 16 hours.

Assessment location

Parts 1 and 6 will be completed in the classroom. All other parts will be a combination of in and out of the classroom.

The student may access their referenced text, learning notes and other resources.

Assessment details

Instructions

Supervision

Part of this assessment is an unsupervised, take-home assessment. Your assessor may ask for additional evidence to verify the authenticity of your submission and confirm that the assessment task was completed by you.

Reasonable adjustment

If you have a permanent or temporary condition that may prevent you from successfully completing the assessment event(s) in the way described, you should talk to your assessor about ‘reasonable adjustment’. This is the adjustment of the way you are assessed to take into account your condition, which must be approved BEFORE you attempt the assessment.

Assessment feedback, review or appeals

In accordance with the TAFE NSW policy Manage Assessment Appeals, all students have the right to appeal an assessment decision in relation to how the assessment was conducted and the outcome of the assessment. Appeals must be lodged within 14 working days of the formal notification of the result of the assessment. 

If you would like to request a review of your results or if you have any concerns about your results, contact your Teacher or Head

Teacher. If they are unavailable, contact the Student Administration Officer.

Contact your Head Teacher for the assessment appeals procedures at your college/campus.

 

               

Specific task instructions

Scenario

You have been contracted as a software developer for an IT company to develop an application that calculates payroll data for one of their clients.

User requirements

  • The application needs to import a comma delimited (.csv) file for payroll data and calculate the gross, net and tax amounts for each employee.
  • The comma delimited file contains data for two types of employees:
  • Residents (employees who live in Australia)
  • Working holiday (employees who are visiting Australia and on a working holiday).
  • The method for calculating tax is different for each type of employee; the program must account for this and calculate the tax accurately according to the employee type (see section on calculating tax below).
  • Once the pay amounts have been calculated, the employee ID, gross, net and tax amounts for each employee must be written to: o A comma delimited file (.csv) using the naming convention <timestamp>records.csv
    • For example: 20200601093000-records.csv
    • For more information on getting a datetime in a specific string format, refer to the strftime method. o The console window.
  • The IT company prides itself on providing high-quality software to customers and requires that unit tests be written for testing by: o Importing the data from the comma delimited values file and loading the data into a list of objects

o Checking the correctness of the values calculated for the gross, net and tax amounts of each employee.    

Calculating tax

The TaxCalculator class has two methods, one for calculating resident tax and one for calculating working holiday tax.

Resident tax

A resident’s tax amount is calculated based on the value of gross pay using values in Table 2 - Resident tax scale. For example, if the gross amount is 652 (which is greater than 361 and less than or equal to 932), the coefficient values (A and B) are 0.3477 and 44.2476. These values are then used to calculate the tax amount using the formula Tax = A multiplied by Gross minus B.

In the example of a gross amount of 650, this would be calculated as:

          Tax = 0.3477 * 652 - 44.2476, which results in the tax amount of 182.4528.

Table 2 - Resident tax scale

Gross (>)

Gross (<=)

A

B

-1

72

0.19

0.19

72

361

0.2342

3.213

361

932

0.3477

44.2476

932

1380

0.345

41.7311

1380

3111

0.39

103.8657

3111

999999

0.47

352.7888

Working holiday tax

The tax for a working holiday employee is based on the tax scale as shown in Table 3 - Working holiday tax scale, which is evaluated by using the sum of an employee’s year to date pay (how much they have been paid during the financial year) and the gross pay (for the current pay).

For example, if the total of an employee’s year to date pay is 47,938 and the gross amount is 418, the total gross amount is 47938 + 418 = 48356 (which is greater than 37000 and less than or equal to 90000). This value is then used to determine the tax rate, which would be

0.32 (in this example).

The tax is then calculated by multiplying the gross amount (not the total gross amount) by the tax rate using the formula Tax = gross * rate.

In this example, this would be calculated as:

      Tax = 418 * 0.32, which results in the tax amount of 133.76.

Table 3 - Working holiday tax scale

Gross (>)

Gross (<=)

Rate

-1

37000

0.15

37000

90000

0.32

90000

180000

0.37

180000

9999999

0.45

 

Organisational development principles and practices

  • The IT company uses an iterative approach to software development. Each stage must be checked as it is completed, with issues corrected in previous stages as necessary.
  • All coding must comply with the coding standards as described in the PEP 8 -- Style Guide for Python Code.
  • All modules, classes, functions, and methods must use type hints.  This include hints for basic data types, lists, dictionaries, tuples, and custom classes.
  • All methods must have internal documentation as illustrated below in Figure 1 - Python Internal docstring comments (example); further information is available at PEP 257 -- Docstring Conventions.

 

Figure 1 - Python Internal docstring comments (example)

  • All tests must be documented using the Software testing documentation template (Software testing documentation.docx).

You must follow the listed Organisational development principles and practices in the appropriate stages of the project.

Download and unzip the resource folder (Dip_Nwk_Programming_AE_Pro_1of3_SR1.zip) for files referred to within the assessment.             

Part 1: Review and clarify requirements

Meet with the client in a role play (10-15 minutes) to review and clarify the user requirements.

Your assessor will observe the role play and complete Observation Checklist 1.

Role play participants:

  • Client – Your assessor will arrange for another person to participate as the client.
  • Software Developer (this is you).

Ensure that you include the following in your role play:

1. Review and clarify the user requirements with the client, asking questions if necessary to ensure that you have correctly understood what is needed.

 

               

Part 2: Design the application

Using the information you have gathered through research and discussion with the client, create the project design documentation by including the following tasks in a wordprocessed report.

Task 1

Table 4 - Modules, Functions, and Classes contains the information needed to plan and determine the application design. Create a class diagram of this information using software, MS Paint or even pen and paper. Ensure that the classes, relationships, methods and properties are captured in the diagram.

For more information on class diagrams read the web page UML Class Diagram Tutorial with Examples.

Table 4 - Modules, Functions, and Classes 

#

Functions and Classes

 

progam

 

 

Functions main() o Parameters:

o Return Type: None

 

tax_calculator

 

 

Functions

  • calc_res_tax() o Parameters:
    • gross: float o Return Type: float
  • cal_wh_tax() o Parameters:
    • gross: float
    • year_to_date: float o Return Type: float

 

#

Functions and Classes

 

csv_importer

 

 

Functions

  • import_pay_records o Parameters:
    • file: str o Return Type: List[PayRecord]
  • _create_pay_record o Parameters:
    • id: int
    • hours: List[float]
    • rates: List[float]
    • visa: str
    • year_to_date: str o Return Type: PayRecord

 

 

pay_record

 

 

Class: PayRecord

The pay record class is abstract, and contains the following attributes, properties, and methods.

Attributes

  • _id: int
  • _hours: List[float]
  • _rates: List[float]

Initializer Parameters

  • id: int
  • hours: List[float]
  • rates: List[float]

Properties

  • id: int (getter, no setter)
  • gross: float (getter, no setter, calculated)
  • tax: float (getter, no setter, abstract method)
  • net: float (getter, no setter, calculated)

Methods

  • get_details() o Parameters:

o Return Type: str

Class: ResidentPayRecord

The working holiday pay record class derives from the PayRecord class, and contains the following attributes, properties, and methods.

Initializer Parameters

  • id: int
  • hours: List[float]
  • rates: List[float]

Properties

 

#

Functions and Classes

 

  • tax: float (getter, no setter, overrides abstract method, calls appropriate tax calculator function)

Methods

  • get_details o Parameters:
    • Return Type: str

Class: WorkingHolidayPayRecord

The working holiday pay record class derives from the PayRecord class, and contains the following attributes, properties, and methods.

Attributes

  • _visa: str
  • _year_to_date: float

Initializer Parameters

  • id: int
  • hours: List[float]
  • rates: List[float]
  • visa: str
  • year_to_date: float

Properties

  • visa: str (getter, no setter)
  • year_to_date: float (getter, no setter)
  • tax: float (getter, no setter, overrides abstract method, calls appropriate tax calculator function)

Methods

  • get_details o Parameters:
    • Return Type: str

#

Functions and Classes

 

p

ay_record

_writer

 

 

Functions

write_summary Parameters:

  • file: str o records: List[PayRecord]
  • to_console: bool (optional parameter, default value is false)

Return Type: None

 

               

Task 2

The required application will be run on desktop computers, however the client would like to know what would be required if they wanted to convert it into an app.

Identify some systems (this may include IDEs, operating systems) and devices that have the potential to meet their future needs. You can use a table similar to below.

Systems

Devices

 

 

 

 

 

 

 

 

 

 

 

               

Part 3: Develop the application

Task 1

Implement your application design to develop the application, ensuring that you follow the code and documentation conventions in the organisational requirements. You have been supplied with the payroll data file (employee-payroll-data.csv).

Note: Each row in the file denotes a shift worked, however pay record for an employee can contain many shifts.

  1. Create a new PyCharm project using the following naming convention:
    1. Project name: MyPayProject
  2. Add a folder named import to the root directory of the project and copy the provided file employee-payroll-data.csv into it (see Figure 2 – Import folder)

 

Figure 2 – Import folder

  1. Add each of the modules described in Part 2 to the project.  In each module, define the necessary functions and/or classes
  2. Implement all of the functions and methods, based on the user requirements you obtained in Part 1
  3. In the pay_record_writer module of the project, go to the write_summary function and ensure the following:
    1. The function must accept a list of PayRecord objects and write the Id, Gross,

Net, and Tax amounts of a pay record to a comma delimited values (.csv) file

    1. Use the naming convention ‘<timestamp>-records.csv’
    2. The function must have an optional Boolean parameter named to_console, with a default value of false.  If a true argument is passed in, the write_summary function must also write the values to the console

Task 2

Generate appropriate code metrics for your software to help with its maintenance.

Task 3

Ensure that your code follows the coding standards and is documented according to the Organisational development principles and practices listed in the scenario.

               

Part 4: Test the application

Develop and perform unit test cases to ensure that the application logic and syntax meet the user requirements and the re-use components work correctly within the project.

Task 1

Before creating a test project, you need to create test data to calculate the correct calculated expected values for each employee pay record. The correct values for the first two employees have already been provided. Complete the Total YTD gross, Total gross, Tax and Net amounts for the remaining employees in the Test data document template (Software testing documentation.docx).

Table 5 - Test Data

ID

Hours

Rate

Visa

Ytd

Gross

Total YTD + gross

Total gross

Tax

Net

1

2

25

 

 

50

N/A

652.00 

182.45 

469.55 

1

3

25

 

 

75

1

3

25

 

 

75

 

 

 

 

 

 

1

4

25

 

 

100

 

 

 

 

1

5

32

 

 

160

1

6

32

 

 

192

2

2

25

417

47520

50

47938

418.00 

133.76 

284.24 

2

2

25

417

47520

50

2

2

25

417

47520

50

2

2

25

417

47520

50

 

 

 

 

 

 

2

2

25

417

47520

50

 

 

 

 

2

2

28

417

47520

56

2

2

28

417

47520

56

2

2

28

417

47520

56

3

8

36

 

 

288

 

 

 

 

3

8

36

 

 

288

3

8

36

 

 

288

3

8

36

 

 

288

3

8

37.5

 

 

300

3

8

37.5

 

 

300

3

6

37.5

 

 

225

3

6

37.5

 

 

225

4

5

34.5

462

23000

172.5

 

 

 

 

4

5

34.5

462

23000

172.5

4

5

34.5

462

23000

172.5

4

5

34.5

462

23000

172.5

4

5

34.5

462

23000

172.5

4

5

34.5

462

23000

172.5

4

2

34.5

462

23000

69

 

 

 

 

5

7

42.5

 

 

297.5

 

 

 

 

5

6.5

42.5

 

 

276.25

5

7

42.5

 

 

297.5

5

7

42.5

 

 

297.5

5

7

42.5

 

 

297.5

5

3

55.2

 

 

165.6

5

3

55.2

 

 

165.6

 

Task 2

  1. Before performing the unit tests, you will need to set up the tests as follows:
    1. Add a package named test to the project.
    2. Add a folder named import to the package, and copy in the provided employee-payroll-data.csv file as shown in Figure 3 - Test package folder setup.

 

Figure 3 - Test package folder set-up

    1. Add a folder named export to the test package.
    2. Add a unit testing module to the test package for each of the modules in your project.  Each unit testing module should have the word test at the start.  In each of your unit testing modules, ensure you have a test case class.  Refer to Table 4 - Test Modules and Test Case Classes as a guide.

 

Table 6 - Test Modules and Test Case Classes

Module

Test Case Classes

test_csv_importer

CsvImportTest

test_pay_record

PayRecordTest

test_pay_record_writer

PayRecordWriterTest

 

    1. Add a setUp method to the PayRecordTest and PayRecordWriterTest test case classes that invokes the import_pay_records function and assigns the list of pay records to a protected attribute as shown in Figure 4 - Test class with setup method.

 

 

Figure 4 - Test class with setup method

    1. Add test methods to the appropriate test case classes to test the:
      • importer function returns a list of pay records objects, and the list contains the correct number of pay records
      • gross property of the pay record class returns the correct amount
      • net property of the pay record class returns the correct amount
      • tax property of the pay record class returns the correct amount
      • writer function successfully writes a file to the export folder by checking if the file exists.
  1. Run all the tests to verify they pass. If any of the tests fail, debug the application and correct any errors until all the tests pass.
  2. Document your test results in the Test data document from Part 4 Task 1:
    1. List the results in the Test case tables, including one or more screenshots of the test being run and the debugging tool, as well as any errors and corrections made. Note: To show these are your test results, use Sticky Notes (Windows) or an equivalent tool to record your name and ensure you capture the sticky note in the screen shot.
    2. Explain how you decided on the action to take when debugging your code.
    3. Outline the key principles and concepts of the debugging tools and explain how you applied these when troubleshooting.

 

Part 5: Evaluation

1. Before handing over your application to the client, write an evaluation report for the IT company in a word-processed document, using a style appropriate to the audience and purpose. Include the following in your report:

  1. Evaluate how well you have met the user requirements and specifications.

This may be listed in a table, such as:

Specification

Evaluation

[Specification as listed in the software specifications]

[How well does your application meet this specification?]

 

 

 

 

  1. Using examples from your code, identify different data types, operators and expressions that you used. Explain why you used them compared with other options.

               

Part 6: Perform handover

Meet with the client in a role play (10-15 minutes) to hand over the application.

Your assessor will observe the role play and complete Observation Checklist 2.

Role play participants:

Client – arrange for another person to participate as the client.

Software Developer (this is you).

Ensure that you include the following in your role play:

  1. Present and demonstration the application to the client.
  2. Obtain the client’s acceptance of the application.

               

Observation Checklist 1

The Observation Checklist will be used by your assessor to mark your performance in Part 1. Use this Checklist to understand what skills you need to demonstrate in Part 1. The Checklist lists the assessment criteria used to determine whether you have successfully completed this assessment event. All the criteria must be met. Your demonstration will be used as part of the overall evidence requirements of the unit. The assessor may ask questions while the demonstration is taking place or if appropriate directly after the task/activity has been completed.

Table 7 Observation Checklist

Task

#

Task/Activity

Performed

S

U/S

Assessor Comments

(Describe the student’s ability in demonstrating the required skills and knowledge)

1

Reviews and clarifies the user requirements with the user

 

 

Date of Observation: 

Assessors are to record their observations in sufficient detail to demonstrate their judgement of the student’s performance against the criteria required.

               

 

Assessment Checklist 1

assessment criteria of Part 2. Use this checklist to understand what skills and/or knowledge you need to demonstrate in your submission/presentation. All the criteria described in the Assessment Checklist must be met. The assessor may ask questions while the submission/presentation is taking place or if appropriate directly after the task/activity has been submitted/completed.

Table 8: Assessment Checklist 1

TASK/STEP

#

Instructions

S

U/S

Assessor Comments

1

Applies development methodologies

 

 

Date of Observation:

Assessors are to record their observations in sufficient detail to demonstrate their judgement of the student’s performance against the criteria.

2

Develops a class diagram to plan application design (T1)

 

 

 

3

Identifies systems and devices for future programming needs (T2)

 

 

 

 

Assessment Checklist 2

assessment criteria of Part 3. Use this checklist to understand what skills and/or knowledge you need to demonstrate in your submission/presentation. All the criteria described in the Assessment Checklist must be met. The assessor may ask questions while the submission/presentation is taking place or if appropriate directly after the task/activity has been submitted/completed.

Table 9: Assessment Checklist 2

TASK/STEP

#

Instructions

S

U/S

Assessor Comments

1

Applies development methodologies

 

 

Date of Observation:

Assessors are to record their observations in sufficient detail to demonstrate their judgement of the student’s performance against the criteria.

2

Develops code using correct syntax, data types and mathematical language, as required

 

 

 

3

Develops application following coding conventions and objectoriented methodologies

 

 

 

9

Applies techniques for collecting metrics (T3)

 

 

 

10

Documents application following documentation conventions (T4)

 

 

 

 

               

Assessment Checklist 3

assessment criteria of Part 4. Use this checklist to understand what skills and/or knowledge you need to demonstrate in your submission/presentation. All the criteria described in the Assessment Checklist must be met. The assessor may ask questions while the submission/presentation is taking place or if appropriate directly after the task/activity has been submitted/completed.

Table 10: Assessment Checklist 3

TASK/STEP

#

Instructions

S

U/S

Assessor Comments

1

Applies development methodologies

 

 

Date of Observation:

Assessors are to record their observations in sufficient detail to demonstrate their judgement of the student’s performance against the criteria.

2

Develops tests to meet requirements and specifications, including functionality of re-use components

 

 

 

3

Runs two unit test cases and modifies application 

 

 

 

4

Documents tests following documentation conventions 

 

 

 

5

Uses analytical processes when debugging 

 

 

 

6

Understands key principles and concepts of debugging tools (T2)

 

 

 

 

               

Assessment Checklist 4

assessment criteria of Part 5. Use this checklist to understand what skills and/or knowledge you need to demonstrate in your submission/presentation. All the criteria described in the Assessment Checklist must be met. The assessor may ask questions while the submission/presentation is taking place or if appropriate directly after the task/activity has been submitted/completed.

Table 11: Assessment Checklist 4

TASK/STEP

#

Instructions

S

U/S

Assessor Comments

1

Reviews and ensures application meets user requirements and specifications, evaluating effectiveness of decisions

 

 

Date of Observation:

Assessors are to record their observations in sufficient detail to demonstrate their judgement of the student’s performance against the criteria.

2

Determines and evaluates different data types, operators and expressions

 

 

 

 

               

 

Observation Checklist 2

The Observation Checklist will be used by your assessor to mark your performance in any of the previous three event types. Use this Checklist to understand what skills you need to demonstrate in Part 6. The Checklist lists the assessment criteria used to determine whether you have successfully completed this assessment event. All the criteria must be met. Your demonstration will be used as part of the overall evidence requirements of the unit. The assessor may ask questions while the demonstration is taking place or if appropriate directly after the task/activity has been completed.

Table 12 Observation Checklist

Task

#

Task/Activity

Performed

S

U/S

Assessor Comments

(Describe the student’s ability in demonstrating the required skills and knowledge)

1

Presents and demonstrates the application to the user

 

 

Date of Observation: 

Assessors are to record their observations in sufficient detail to demonstrate their judgement of the student’s performance against the criteria required.

2

Obtains user acceptance

 

 

 

pur-new-sol

Purchase A New Answer

Custom new solution created by our subject matter experts

GET A QUOTE

Related Questions