Information Technology

ICTPRG532 Apply Object-Oriented Language

07 April 2023 05:54 AM | UPDATED 1 year ago

ICTPRG532 Apply Object-Oriented Language :

For solution: +610482078788

+61482073403

+61482072848

ICTPRG532   Apply  Object-Oriented Language
ICTPRG532 Apply Object-Oriented Language

ICTPRG532 Apply Advanced Object-Oriented Language Skills Assessment Task 02 – Case Study

Please use the Template provided on MOODLE to complete this Assessment Task.

This ICTPRG532 Apply Object-Oriented Language assessment task requires the student to plan, implement, test, and handover one application, using two object-oriented languages such as C++ and Java, including the ability to:

  • implement nested classes
  • design and implement dynamic data structures including a doubly linked list and a binary tree
  • design and implement a data structure utilising a hash function
  • compare three sorting algorithms
  • select and implement a sorting algorithm and a comparator
  • compare three search algorithms
  • select and implement a search algorithm
  • implement two inter-process communication mechanisms
  • select and implement a search algorithm
  • implement a graphical user interface with:
    • drag and drop
    • help files
    • 2D graphics
  • utilise an architectural framework and third-party library
  • implement a client-server application including data transfers
  • create tests and debug an application
  • document code
  • utilise a version control system for code and documentation management.

To do so, you must complete the following activities:

  • Activity 1: Plan application implementation
  • Activity 2: Implement the application design
  • Activity 3: Test the application
  • Activity 4: Hand over the application to the user.

Case study

Problem Statement

Nowadays, every person own automobile and vehicle has become a necessity for every person. It is important to use parking area efficiently so that everyone may park their cars safely and easily. Every parking lot requires a system that records vehicle information to provide the facility. Computerized or non-computerized systems are also possible. The organisation wants to provide an excellent service to their employees, students to park their vehicle using a computerised system. Your organisation wants their student to design an automated vehicle parking management system that can process data at a rapid rate using advanced object-oriented programming skills. The students are required to plan, implement, test, and handover parking application to the organisation. The students must implement the system with the help of nested classes, dynamic data structures such as doubly linked list and binary tree. Every aspect of parking management should be covered by the system

Assumptions to be made before designing the system

  • The parking lot has multiple levels. Each level has multiple rows of spots.
  • The parking lot can park motorcycles, cars, and buses.
  • The parking lot has motorcycle spots, compact spots, and large spots.
  • A motorcycle can park in any spot.
  • A car can park in either a single compact spot or a single large spot.
  • A bus can park in five large spots that are consecutive and within the same row. It cannot park in small spots.

Project requirements:

Before initiating design and implementation process, the student needs to analyse the organisation requirements and assumptions and provide your support in application designing. The student must also fulfill organisational, functional and system requirements mentioned below:

Organisational and Functional Requirements

The basic requirements of the organisation to plan, implement and testthe vehicle parking management system are:

  • The students must implement the system with the help of nested classes named as follows:
    • Abstract class name “vehicle”
    • Three Inherited classes such as “motorcycles”, “cars” and “buses” within abstract class “vehicle”.
    • Use search class. For instance, class named as “binarysearch”
    • Use sort class. For instance, class named as “Bubblesort”.
  • The student must implement the parking system using dynamic data structures such as doubly linked list and binary tree.
  • The student must design and implement a data structure using hash function.
  • Before searching of location, the student needs to compare three searching algorithms and select one algorithm among them.
  • The student must apply selected algorithm to search for the location of vehicle in the park.
  • To sort different vehicles according to their types, the student needs to select and implement best sorting algorithm after comparing three algorithms such as quick sort, bubble sort and merge sort algorithms.
  • The student need to implement two inter-process communication such as shared memory method and message passing method based upon Producer-Consumer problem in the parking system.
  • The student must implement a graphical user interface with the help of following objects:
    • drag and drop
    • help files
    • 2D graphics
  • The student must implement a very basic one-way Client and Server setup application using Java API package where a client connects, sends messages to the server and the server shows them using a socket connection.
  • The student must create test cases to debug the application to ensure proper working of the system.
  • The student must document the entire code for future purpose and submit it to your supervisor/assessor.
  • The student must utilise a version control system for code and documentation management.

System Requirements

The minimum system requirements are:

  • Access to proper internet connection
  • Your system should contain any internet browser either Mozilla Firefox or Google chrome or Safari compatible with HTML5
  • Windows 7 or higher with latest updates should be installed
  • Java IDE and C++ IDE
  • Testim Debugging tools or any other available to you
  • Organisational code and document conventions
  • Access to third party libraries of C++ and Java and related documentation available within Java and C++ IDEs.
  • Access to architectural frameworks and related documentation
  • Access to GitHub version control system

Testim debugging tool to be used

  • The tool is fast and flexible authoring of AI-powered end-to-end tests. The student can start its free trial for his/her project. It can be downloaded using following link:

https://go.testim.io/testim-automate cap?utm_campaign=Capterra&utm_source=ppc&utm_medium=display&utm_term=test% 20automation&utm_content=header

You are working as a Team support member in your organisation preparing ICTPRG532 Apply Object-Oriented Language . The management wants you to plan, implement, test, and handover parking application to the organisation. After providing relevant support, you also need to document the coding details for future use. This includes:

  • Designing of vehicle parking management application for the organisation.
  • Planning and implementation of application for parking management system using two object-oriented languages such as C++ and Java.
  • Testing of designed application using Testim debubbing tool.

Task conditions:

  • The purpose of this assessment task is to design a vehicle parking management application for the organisation.
  • To plan and implement application for parking management system using two object- oriented languages such as C++ and Java.
  • To test designed application using Testim debubbing tool.
  • The assessment task will be completed in your training organisation Advance Computer Lab. Your trainer/assessor will supervise you in performing this assessment task.
  • The student will work as Team support member in this assessment.

Organisation code conventions

File Naming

The organisation uses the following file suffixes:

  File Type  Suffix
  Java source  .java
  Java bytecode  .class

The organisation uses common file naming convention:

  File Name  Use
  GNUmakefile  The preferred name for makefiles. We use gnumake to build our software.
  README  The preferred name for the file that summarizes the contents of a particular directory.

Naming Convention of Identifier

The organisation follows camel-case syntax for naming the class, interface, method, and variable.

If the name is combined with two words, the second word will start with uppercase letter always such as actionPerformed(), firstName, ActionEvent, ActionListener, etc.

File Organisation

A file consists of sections that should be separated by blank lines and an optional comment identifying each section.

Files longer than 2000 lines are cumbersome and should be avoided. Java Source files

Each Java source file contains a single public class or interface. When private classes and interfaces are associated with a public class, you can put them in the same source file as the

public class. The public class should be the first class or interface in the file. Java source files have the following ordering:

  • Beginning comments
  • Package and Import statements
  • Class and interface declarations

Indentation

The organisation uses four spaces as the unit of indentation. The exact construction of the indentation (spaces vs. tabs) is unspecified. Tabs must be set exactly every 8 spaces (not 4).

Line Length

Avoid lines longer than 80 characters, since they’re not handled well by many terminals and tools.

Wrapping Lines

When an expression will not fit on a single line, break it according to these general principles:

  • Break after a comma.
  • Break before an operator.
  • Prefer higher-level breaks to lower-level breaks.
  • Align the new line with the beginning of the expression at the same level on the previous line.
  • If the above rules lead to confusing code or to code that’s squished up against the right margin, just indent 8 spaces instead.

Comments

Java programs can have two kinds of comments: implementation comments and documentation comments. Implementation comments are those found in C++, which are delimited by /*…*/, and

//. Documentation comments (known as “doc comments”) are Java-only, and are delimited by

/**…*/.

Implementation Comment format

Programs can have four styles of implementation comments: block, single-line, trailing, and end- of-line.

The organisation prefer block and trail comments over other two.

Declarations

The organisation uses one declaration per line since it encourages commenting. Here is the example:

Text Box: int level; // indentation level int size; // size of table

is preferred over

Text Box: int level, size;

The organisation does not use different types on the same line. Example:

int foo, fooarray[]; //WRONG! Prefer following format:

Initialization

Try to initialize local variables where they’re declared. The only reason not to initialize a variable where it’s declared is if the initial value depends on some computation occurring first.

Placement

Put declarations only at the beginning of blocks. (A block is any code surrounded by curly braces “{” and “}”.) Don’t wait to declare variables until their first use; it can confuse the unwary programmer and hamper code portability within the scope.

Avoid local declarations that hide declarations at higher levels. For example, do not declare the same variable name in an inner block:

   int count;   …   myMethod() {   if (condition) {   int count = 0;     // AVOID!   …   }   …   } 
  Class and Interface Declarations   When coding Java classes and interfaces, the following formatting rules should be followed:   No space between a method name and the parenthesis “(” starting its parameter listOpen brace “{” appears at the end of the same line as the declaration statementClosing brace “}” starts a line by itself indented to match its corresponding opening statement, except when it is a null statement the “}” should appear immediately after the “{“

Task Environment:

This ICTPRG532 Apply Object-Oriented Language assessment task will be completed in a simulated environment prepared by your training organisation.

The simulated environment will provide you with all the required resources (such as the equipment and participants, etc.) to complete the assessment task. The simulated environment is very much like a learning environment where a student can practice, use and operate appropriate industrial equipment, techniques, practices under realistic workplace conditions.

The roles and responsibilities of the Team support member are:

  • To plan implementation of application according to system specifications
  • To present implementation plan to user and negotiate to reach agreement
  • To prepare version control system according to implementation plan
  • To develop application according to implementation plan, system specifications and organisational code conventions
  • To document application according to organisational documentation conventions
  • To develop tests to determine application logic and syntax satisfies system specifications
  • To perform testing on application to determine application satisfies system specifications and address variances
  • To document tests according to organisational documentation conventions
  • To review application against system specifications and address variances
  • To present the application to the user and obtain user acceptance

Roles and responsibilities of trainer/supervisor are:

  • To provide information about organisational and functional requirements to the student
  • To provide the system with an active internet connection for implementation
  • To provide internet browser and software tools using which application has to be designed

Activity 1: Plan application implementation.

This part of the ICTPRG532 Apply Object-Oriented Language activity requires you to plan the implementation of application based on parking management system according to system specifications and object-oriented programming languages such as C++ and Java.

Description of the activity

This activity requires you to plan the implementation of application based on parking management system according to system specifications and object-oriented programming languages such as C++ and Java. It also requires you to present plan to the supervisor/assessor.

To do so, you need to perform following steps:

Step 1: Research and prepare a plan for implementing application for parking management system for the organisation according to system specifications.

Step 2: Prepare a document containing specifications details of your system and implementation plan using Template 1 and 2 respectively.

Step 3: Present or Submit implementation plan to your supervisor and ask him for negotiation from organisation to reach agreement or begin assignment.

Activity 2: Implement the application design.

This part of the activity requires you to implement the application planned in Activity 1 and prepare a document containing implementation codes using C++ and Java programming languages.

Description of the activity

This activity requires you to implement the application planned in Activity 1 and prepare a document containing implementation codes using C++ and Java programming languages.

To do so, you need to perform following steps:

Step 1: Prepare version control system for parking system using GitHub to see visual code changes according to implementation plan.

Step 2: Develop and implement parking management application using both C++ and Java programming languages according to implementation plan, system specifications and organisational code conventions.

Step 3: Prepare a document containing application code of both programming languages according to organisational documentation conventions using Template 3.

Activity 3: Test the application.

This part of the activity requires you test the application to determine application logic and to check whether code syntax satisfies system specifications or not. It also requires you to document the test details.

Description of the activity

This activity is a continuation of Activity 2.

This activity requires you test the application to determine application logic and to check whether code syntax satisfies system specifications or not. It also requires you to document the test details.

To do so, you need to perform following steps:

Step 1: Develop tests using Testim testing tool to determine application logic and syntax satisfies system specifications or not through following steps.

  • Install the Testim automation tool
  • Access the Java or C++ application code in the tool
  • Configure Testim automated tool or framework
  • Test the main and sub classes of the both codes by writing tests in the Testim tool
  • Run tests and view main results
  • Review the test results and fix errors if any occurred.

Step 2: Perform testing on application using Testim debugging tool to determine application satisfies system specifications and address variances. This step is in continuation with Step 1 of this activity.

Step 3: Prepare a document for detailing tests using Template 4 according to organisational documentation conventions

Activity 4: Hand over the application to the user.

This part of the activity requires you to review application against system specifications to address variances and present the application to your supervisor to obtain acceptance from the supervisor.

Description of the activity

This activity is a continuation of Activity 3.

This activity requires you to review application against system specifications to address variances and present the application to your supervisor to obtain acceptance from the supervisor.

To do so, you need to perform following steps:

Step 1: Review application against system specifications and address variances by comparing test results with actual output or results using Template 5.

Step 2: Prepare a test report using Template 6 and submit it your supervisor

Step 3: Present or submit the application along with test report and review report to your supervisor and obtain acceptance from your supervisor if application has been developed successfully.

Visit:https://auspali.info/

Also visit:https://www.notesnepal.com/archives/767

For solution: +610482078788

+61482073403

+61482072848