Develops algorithms for problem solving

Assignment Help JAVA Programming
Reference no: EM13214861

Algorithm Design and Development - The graduate designs and develops algorithms for problem solving and implements those algorithms using appropriate program code. Competency Use of Data Structures - The graduate develops working programs that use appropriate data structures for problem solving. Competency

Modeling Systems Using Unified Modeling Language (UML) - The graduate develops and interprets Unified Modeling Language (UML) diagrams which model object-oriented designs. Competency Object-Oriented Concepts - The graduate applies object-oriented concepts, develops object-oriented designs, and uses object-oriented programming techniques. Competency

Software Testing and Troubleshooting - The graduate applies software testing and troubleshooting strategies to determine programming errors and recommend appropriate solutions.

Introduction: As a competent programmer, your ability to design and develop algorithms, your proficient use of data structures, and your ability to use the Unified Modeling Language (UML 2.0) to communicate and develop object-oriented designs will help you design and develop applications to meet customer requirements.

A solid understanding of object-oriented concepts will help you develop applications that are maintainable and extensible. Strong competence in software testing and troubleshooting will allow you to validate and verify your applications to ensure you are delivering a quality product that meets all requirements. You will need to develop a Java application to meet the requirements of this assignment. It is recommended that you use NetBeans as your integrated development environment. Note: You will submit all .java and .class files in one zipped folder.

If you developed this application using NetBeans, it is recommended that you zip and submit the entire NetBeans project folder. All documents such as the SDS and Test Plan will be submitted in MS Word 2003 or 2007 format. Your client has hired you to design a client/server application with a MySQL backend database.

The database will hold employee records. Each record will contain the employee's first name, last name, social security number, and department, along with other information specific to an employee type. There are four types of employees: director, manager, salaried, and hourly.

Since your client has planned on adopting this application long term, the application must be easy to maintain and easy to extend. For these reasons, your application must be developed using an object-oriented design. Your application should provide functionality to update, add, and delete employees from the database.

The application should also query the database to print out a selected employee's information or all employees' information. The functional and design requirements of the system are outlined in part A of the task. Task: Note: For this task, you will submit a working employee record managing system application, a Software Requirement Specification (SRS) document, a Software Design Specification (SDS) document, and a test plan with test cases.

A. Build an employee record management system application by doing the following: 1. Create an Employee inheritance hierarchy. This should include the following requirements: . Create the Employee class. Employee will be the super class and will be an abstract class. At least one method on Employee will be abstract. .

Employee class holds attributes first name, last name, social security, and department. All attributes will be inherited by the subclasses.

. Create appropriate overloaded constructors for super class, Employee.

. Employee has an abstract method, calculateWeeklyPay(), which will be implemented in the subclasses Director, Manager, Salaried, and Hourly, making use of the polymorphism principle.

. Create the subclasses Director, Manager, Salaried, and Hourly, which inherit from the Employee class.

Each subclass will encapsulate a specialization of Employee.

. Create an abstract method, update(). When this method is called, the database entry for the employee is updated.

. Create an abstract method, add() method. When this method is called, the database entry for the employee is created.

. Create an abstract method, delete(). When this method is called, the database entry for the employee is deleted.

. Create an abstract method, query(). When this method is called, a query is made to the database to retrieve the information and then it is printed to the screen. 2. Create subclasses. This should include the following requirements:

. Create the subclass Salaried, which inherits from Employee. Salaried has additional attributes "salary" and "overtimeHours", which is the number of hours above 40 worked for a given week.

. Create subclass Hourly, which inherits from Employee. Hourly has additional attributes, "hourlyWage" and "numberHours". . Create the subclass Manager, which inherits from Employee. Manager Employees have attributes "salary" and "department", which is the name of department they manage.

. Create the subclass Director, which inherits from Employee. Director Employees have attributes "salary", "organization", and "bonus." . Incorporate the technique of information hiding by making appropriate attributes private and creating getters and setters to access and modify each private attribute.

. Create overloaded constructors for each Employee type. The super class's constructor should be used by the subclass's constructors to set those attributes found in the super class.

Create enough constructors for each class to initialize the instance variables (attributes) of an object, either by initial values passed into the constructor or default values used if none passed in. All values passed in should be verified for validity. 3. Implement methods. This should include the following requirements:

. Using polymorphism, implement calcuate WeeklyPay() method as follows: - Salaried: Weekly pay = annualPay /52 + overtimeHours × (annualPay/52)/40; - Hourly: Weekly pay = numberHours × hourlyWages; - Manager: Weekly pay = annualPay/52; - Director: Weekly pay = (annualPay/52) + bonus;

. Employee objects should know how to display the information. Override the toString() method on each subclass. Use inheritance to display attributes provided by super class by calling super.toString() method.

. For each subclass, implement method query(). When this method is called, a query is made to the database to retrieve the information and then the information is printed to the screen.

If appropriate, use toString() within the print() method.

. For each subclass, implement method update(). When this method is called, the database entry for the employee is updated.

. For each subclass, implement method add() method. When this method is called, the database entry for the employee is created.

. For each subclass, implement method delete().

When this method is called, the database entry for the employee is deleted. 4. Create Department class. This should include the following requirements:

. Each employee has a department. Each department has several employees.

. Departments have a name and manager.

. Create appropriate constructor(s) for Department class.

. Override toString() method to print out a department's information (name and manager, along with all employees assigned).

. Create method listEmployees(), which lists employees for the department.

. Create method addEmployee(), which inserts an employee into the list of employees for the department. Associated employee should be updated when added to a department's list.

. Department information is not stored in the database at this time. This will be developed for the customer at a later date. 5. Create an application driver. This should include the following requirements:

. Create an application that allows the user to add, update, delete, and query any employee type.

. Application should allow user to create a department and add employees.

. Application should allow user to list all employees assigned for a given department.

. Application should allow user to assign a manager to a department.

B. Create a Software Requirement Specification (SRS) document that captures all functional requirements for this application.

Use the task description in part A to elicit the requirements.

The document should include the following sections:

. Title Page

. Introduction: Overall and brief description of the application

. Data Requirements: Brief overview of data requirements from the user's point of view. Describe where the data will be stored. An overview (suggested length of 1-2 paragraphs) is fine but should be included because this will have a database backend.

. Interfaces: Overview of interfaces required. This will likely include a brief description of the interface required between the application and the database.

. Functional Requirements:

1. Document the functional requirements and provide use case diagrams for each. For each functional requirement, provide the following information:

. Requirement number and title

. Description of the functionality

. Input

. Results of processing or output

. Error handling or recovering requirements outlined

. UML 2.0 use case diagrams (It is very important that your UML use case diagrams are complete and that proper UML 2.0 Modeling notation is used.)

Note: For an example, see the attached "Software Requirements Specification Example."

Note: It will be helpful to complete the test plan while completing the SRS since the test plan will be used to test all functional requirements.

C. Create a Software Design Specification (SDS) document that includes UML class and sequence diagrams. (It is very important that your UML diagrams are complete and that proper UML 2.0 Modeling notation is used.Your design must be an object-oriented design.) Your SDS needs to include at least the following sections: . Title Page . Table of Contents or Outline . Overview or Introduction: Discuss an overview of the system under design, assumptions, dependencies, and constraints. .

Design: UML Diagrams and description of the system architecture. Provide an overview of the subsystems and components.

Reference no: EM13214861

Questions Cloud

Discuss the interrelationships between psychological social : Discuss the interrelationships between psychological social, cultural, and political factors as they impact health care management
Discuss how production based on comparative advantage : Discuss how production based on comparative advantage can increase domestic employment in India.
What is total revenue : Suppose a firm is producing 1,000 units of output (Q). Its average fixed costs are $50. Its average variable costs are $25. What is the total cost (TC) of producing 1,000 units of output (Q)? It the price (P) of the good is $100, what is total rev..
What is the expected value of v over the vacation : The chance of someone in the family getting sick over the relevant time period is 20%. What is the expected value of V over the vacation?
Develops algorithms for problem solving : The graduate designs and develops algorithms for problem solving and implements those algorithms using appropriate program code.
List what word each letter in the acronym blue stands for : The Gauss-Markov theorem states that OLS estimates are BLUE. List what word each letter in the acronym BLUE stands for. Then, give an intuitive definition for each of these words ?
Scientific method that jane goodall used in her experiment : What was the scientific method that Jane goodall used in her experiment. include observe and ask questions, form a hypothisis, plan an experiment, cunduct and experiment, draw conclusions/communicate results
Explain how sensitive is return on capital to the forecast : How sensitive is return on capital to the forecast assumptions in case Exhibit 8? What independent changes in Carrie Galeotafiore's estimates are required to drive the 2002 return-on-capital estimate below Home Depot's cost-of-capital estimate of ..
What benefit do economic models provide : What benefit do economic models provide to decision makers seeking to manipulate economic conditions? In your posts, specifically address the models GDP, GDI, and their major components.

Reviews

Write a Review

JAVA Programming Questions & Answers

  Create bean jsp program which will compute simple interest

Create the bean which will compute Simple Interest. Use bean in JSP program. Accept details of saving like principal amount, rate of interest, period-in years from user and show amount

  Determine the type of moped

Write a driver class called MopedRental. This class should perform the following: asks the user to enter the size of the moped, the day of the week and the number of hours rented, creates the Moped object, based on the size, and displays the input..

  A java program that will prompt the user to input a file

Write a Java program that will prompt the user to input a file (document) in order to count the frequency of each word. This program will display the frequency of each word sorted alphabetically or by frequency (depending on the preference of the use..

  Eclipse or netbeans environments

As recommendation, you can try to use Eclipse or NetBeans environments that are used also for other courses as: Introduction in Java programming and Intermediate programming.

  Give an example of an exception

A. Give an example of an exception that could be generated outside your code but caught within your code

  Using your musicalinstrument class

Finally, create a Java test class that simulates using your MusicalInstrument class.  In your test class you should at a minimum: a) Construct 4 instances of your instrument, b) tune your instruments, c) print the name of your instrument d) print ..

  Java application to generate three-digit random number

Write a Java application that generates a 3-digit random number 100 times. Display the output for each of the generated numbers and the sum of all 100 numbers.

  Allows the user to enter a temperature and whether

Write a program that allows the user to enter a temperature and whether the temperature is stated in Celsius or Fahrenheit...or whethe

  Java program by array

Write a program that reads in a file that contains one integer per line. Each integer represents one location in the image. Assume that there are 64 rows and 64 columns in the image

  Input pairs of natural numbers

Java program to input pairs of natural numbers.

  Simulate a simple multiuser computer system

Prepare a java program to simulate a simple multiuser computer system

  Implement a shopping cart class with user interface

project will be to implement a shopping cart class with user interface (UI) that contains main() in Net Beans. The UI class will be used to perform user input/output and to invoke the appropriate methods of shopping cart class. When your program star..

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