Design system architecture and components

Assignment Help Software Engineering
Reference no: EM133508496

Software Engineering

Assignment: Objectives

The purpose of this assessment item is to assess your skills attributable to the following learning outcomes and achieving the expected graduate attributes of advanced level knowledge, communication, cognitive, technical, and creative skills, and self-management.

• Design system architecture and components using design patterns and object-oriented design.
• Develop three-tiered software applications using agile and plan-driven methods.
• Plan and conduct test-driven development, validation, and verification testing.

Assessment task

Your task in this assessment is to review the requirements specification developed as part of your Assignment One and correct any errors. You create the class designs and database design following the requirements specification. You also develop a test plan to test your system following the functional and non- functional requirements. You implement the design developing a software application which is a Java desktop application with a front-end GUI, middle layer implementing the business logic and backend database. Test your application using the test plan developed. You will document the detailed design, test plan and evidence of testing.

Problem (Case Study from Assignment One)

"Get It Now (GIN)" is a mid-size e-commerce company that requires a payroll system that would encompass various processes and features to efficiently manage employee compensation (pay, supper and tax ...). The system comprised of the following sub-systems:

Employee Information Management: The payroll system would maintain a comprehensive database of employee information, including personal details, employment contracts, tax withholding allowances, and banking information for salary deposits.

Time and Attendance Tracking: The system would integrate with a time and attendance management module to record employee work hours accurately. This can be done through biometric scanners, web-based clock-ins, or other methods. It would also handle leaves, vacations, and other types of time-off requests.

Payroll Calculation: The system would automatically calculate employee salaries, considering factors such as hours worked, overtime, leave deductions, and any applicable bonuses or commissions. It would also consider tax deductions, social security contributions, and other statutory requirements based on the employee's location.

Taxation and Superannuation: The payroll system would generate and maintain tax and superannuation. Superannuation is calculated before tax on 11%, and fortnightly tax is calculated based on this table.

Payment Processing: It would generate pay stubs or electronic payslips, providing employees with detailed information about their earnings, deductions, and taxes.

Employee Self-Service Portal: The payroll system would provide an employee self- service portal where employees can access their payroll information, view pay stubs, update personal.

Security and Data Privacy: Given the sensitive nature of payroll data, the system would prioritize robust security measures to protect employee information. This includes implementing encryption, access controls, and regular data backups to prevent unauthorized access or data loss.

Scalability and Flexibility: The payroll system should be designed to accommodate the growth of the e-commerce company. It should be scalable, capable of handling an increasing number of employees, and flexible enough to adapt to changing payroll policies, benefits, or regulatory requirements.

Implementing a payroll system tailored to the specific needs of a mid-size e- commerce company can greatly streamline payroll processes, enhance accuracy, and ensure compliance with legal and financial obligations. The company data is stored in a MySQL database; Privacy and security of data are important so only authorized person/s should be allowed to access the information. There should be two levels of access rights, view, and update.

The GIN-Payroll users are ordinary people with different levels of information technology skills. Hence, ease of use, user friendly interface, and low maintenance are important.

An initial prototype of the GIN-Payroll should be developed as a Java desktop application with a front-end GUI, and a backend database. You start with a context diagram to understand the information flow, then follow MVC pattern to develop the system architecture.
(End case study)

You have completed requirements engineering identifying functional and non- functional requirements, developed use case diagrams, system architecture, and use cases as part of Assignment One. You may have received some feedback on aspects to be reviewed and corrected.

In this Assignment you must:
1. Revise your requirements engineering specification incorporating necessary corrections as described below:
a. Make the corrections on your design from the assessment 1 and mark it clearly as "Correction", if any.
b. Identify the Object classes. You can use your use case diagrams, use cases, and functional requirements to correctly identify the classes.

c. Understand the collaboration between classes "class association" and develop the correct UML class diagrams with attributes and methods.d. Correlate the context diagram, use case diagrams, and the attributes of classes to identify the user input and data storage requirements.e. Identify the entities for the database and create an entity relationship diagram (ERD).2. You will follow the revised design specification and develop only 2 modules of the system.a. Module 1: Employee Self-Service Portal:i. Employee Login.ii. Enter hours worked for one week at a time.iii. View their details and edit some that is allowed (i.e., address, phone, etc.)iv. Search and view employee's payslip by date.b. Module 2: Staff Payment Processingi. Staff Loginii. Register a new employee.iii. Search and view a new employee.iv. Edit a new employee information.v. Create reports on the total payroll information for week, or month, or year to date (including total net pay, tax, supper, etc.).

3. Create Test classes for the implemented classes only, using JUnit testing.

4. Develop UI design for module 1 and 2 only, using SceneBuilder. Follow MVC pattern.5. Use PreparedStatements to generate reports from the program.

6. The non-functional requirements from your first assignment gets mapped to quality aspects of your software. Choose two of the quality aspects as focus of your design and implementation, for example maintainability.

7. Conduct unit testing - automated and application testing.

Note: Privacy and security of data are important as these belong to the company and individual employees. Only authorized person/s should be allowed to access the information. There should be two levels of access rights, view and modify. The GIN- Payroll users are people with different levels of information technology skills. Therefore, ease of use, and user-friendly interface, low maintenance is important.

Data Structures
You should have three or more classes for the domain models other than the Database Utility class, Controller, and main. You should use inheritance to improve code re-usability, and include parameterised, default, and copy constructors.

Database
You can name your database "payroll_db". Create your database and tables using your Java Program when it is running for the first time if not exist. Run search queries and extraction of records for displaying reports using prepared statements.

Note: The primary keys are generated during the programmatic creation of the tables and used for other database operations. The primary keys can be auto- incremented integer values. Create an ERD to understand the relationship between tables.
You can use a SQL query to initialise the auto-incremented primary key value to a specific number.
Example: TABLE_SET_FIRST_EMPLOYEE_ID = "ALTER TABLE EMPLOYEE AUTO_INCREMENT = 1001";
Execute the query as shown below after executing the query to create Table. statement.executeUpdate(TABLE_SET_FIRST_EMPLOYEE_ID);

3. Coding
Include necessary accessor, mutator methods, constructors, and toString() method for each class. Also, follow good coding practices, using meaningful names, camel case notation for naming, constants as necessary, and include meaningful comments. You can use NetBeans or another IDE to develop your application.

Follow the coding standards given in the Unit website. Once you have created your UML class diagrams with correct attributes, you can use your IDE to generate most of the methods such as constructors, getters, and setters. The auto-generated toString() method will not give correct display format. Write your own toString() method.

4. Report
You should submit a document file (.doc or .docx) containing the following details.
1. Use case Diagrams.
2. UML class diagrams for the classes
This should show the attributes, methods, and data types, and association with other classes.

3. ERDs
4. Test plan showing input data, expected results, and actual results.
5. Evidence of testing including some screen shots.
6. Write a brief description of the quality aspects you have chosen and how they are followed in your design and implementation.

Reference no: EM133508496

Questions Cloud

Are any actions taken directly related to core operations : Are any actions taken directly related to core operations for Canada goose? Does the company seek to understand and respond to the needs of their stakeholders
Discuss culture and how it varies within a country : discuss culture and how it varies within a country or between the different countries. With that in mind choose a country and respond to the following:
What role does culture play in the formation of ethics : What role does culture play in the formation of ethics? - How do organizations attempt to manage ethical behavior across borders?
To what does the invested amount grow to : If the interest rate l expressed in the Actual/360 convention is 4% and the one-month horizon has 31 days in it, to what does the invested amount grow to?
Design system architecture and components : COIT20258 Software Engineering, Central Queensland University - Design system architecture and components using design patterns and object-oriented design
Option to expedite deliverables : If you had the option to expedite deliverables by having project team members work longer hours, or paying the costs of additional staff, which would you choose
Discuss the various influences for the adoption : discuss the various influences for the adoption of financial technology and some of the blockers. It will also look at what lies ahead for the future
Explain why your product or service is valuable : BUS 599- Explain why your product or service is valuable by describing the benefits it delivers, beginning with the words so that.
Cost-reimbursement contract over fixed price contracts : List 2 Pros and 2 Cons of selecting a Cost-reimbursable contract. Give 2 reasons of using cost-reimbursement contract over fixed price contracts.

Reviews

len3508496

9/1/2023 12:01:49 AM

It's based on assignment 1 so sending assignment 1 Need higher marks no less than 70+ You need to check rubrics carefully and follow everything You did assignment 1 , It's continues part Use same programing language used in assignment 1 Must see this programming file

Write a Review

Software Engineering Questions & Answers

  Develop package bodies consistent with the specifications

F21RS Rigorous Methods for Software Engineering, Heriot-Watt University - A SPARK High Integrity Software Development Exercise

  Identify the products of the sdlc phases

Identify the products of the SDLC phases. Identify most common criteria for choosing off-the-shelf software. Which two criteria would be among most important?

  Explain what is meant by a monad in a programming language

Explain what is meant by a monad in a programming language, giving the two fundamental operations of a monad along with their types.

  Designed a graphic user interface

You have designed a graphic user interface (GUI), which now needs to be white-box tested. You need to create a document that specifies

  Analyse and critically evaluate software requirements

Analyse and critically evaluate software requirements and proposed solutions - Apply complex decision making to select appropriate testing techniques

  Highlights of project development activities

Assume you have just been asked to take over an existing assignment and asked to make a few changes for new features.

  Q1 use the following method printprimes for questions a-f

q1 use the following method printprimes for questions a-f below.1. 2. finds and prints n prime integers4. 5. private

  Presentation on an academic paper on software quality

MITS5501 Software Quality, Change Management and Testing - Victorian institute of technology - you will be required to do Presentation and Research Report

  Identify the appropriate software tools needed for project

Explain how you would identify the appropriate software tools needed for a project. What aspect would you need to take into consideration before making.

  Use case diagram with activity diagram

This is UML project. You need to do two different projects - Use case diagram with activity diagram for each use-case

  Task no1 cultural differencecultural comparisonsselect one

task no.1 cultural differencecultural comparisonsselect one other country and make a comparison with your own

  Describe what actions you would take and in what sequence

Describe what actions you would take and in what sequence. How would your adjustment actions differ if the person were the lead tester?

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