Intermediate software development, Software Engineering

Provide an abstract superclass called EnergyRecord and subclasses called Contract and Transaction with default constructors (no-arg) and full-arg, overloaded constructors. Collect abstract commonality in the superclass to be inherited into the subclasses.

Provide instance fields, instance accessor and mutator methods for all of the data fields in each record data files. If no value is provided in the FERC data, then set that characteristic to some default value.

Provide a toString() method to format all of the record data in each class.

Provide an interface called TransactionRelatable with four methods:

  • boolean isTransactionChargeSmaller(Object other );
  • double findTransactionChargeDifference(Object other);
  • boolean isTransactionQuantityGreater(Object other);
  • double findTransactionQuantityDifference(Object other);

Implement this interface in the EnergyRecord class.

Provide a driver class that includes the following features:

  • creates an instance of each energy record class for each row in the two files
  • collects all contract objects into an array of EnergyRecord called contracts
  • collects all transaction objects into an array of TransactionRelatable called transactions
  • displays all contract data using the toString() method in a loop
  • displays all contract and transaction data in a tabular format using accessor methods
  • displays the comparisons of the transaction_chargeĀ  of any two transactions
  • displays the comparisons of the transaction_quantity of any two transactions
  • displays the minimum price of all transactions
  • displays the maximum units of all transactions.

Provide a test script called test_mp1.bat in the test folder to execute the project and send its output to a file called test_mp1_out.txt.

Comment your code and provide a detailed README (pdf only) file that includes:

  • project description
  • installation, compile and run-time requirements
  • development and testing insights with expected results
  • screen captures demonstrating all application capabilities
  • generate project javadocs documentation
  • minimize your main() method code by using intuitive functions

Submit a file called mp1.zip (zip format only) of all project code and documentation to the Digital DropBox link on Blackboard by 09/18/11, 23:59/CST. Note that a completed submission requires the use of both the Add File button and the Send File button. A late mini-project will lose more points the later that it is submitted.

Posted Date: 3/19/2013 3:16:15 AM | Location : United States







Related Discussions:- Intermediate software development, Assignment Help, Ask Question on Intermediate software development, Get Answer, Expert's Help, Intermediate software development Discussions

Write discussion on Intermediate software development
Your posts are moderated
Related Questions

What is Change management tools? Change management is a process in which it can be modelled and integrated with a version management system. Change management tools Fo

Question 1 . What are the drawbacks of RAD Model Question 2 . Explain why reliability is more important than efficiency? Question 3 . What are the activities of funct

Q. Define the Product metrics? (i) Product metrics: Explains the characteristics of the product such as complexity, size, design features, performance, efficiency, reliability,

how to choose a software methodology for a software project

what is meant by gantt chart who gave the name who is the founder

Normal 0 false false false EN-IN X-NONE X-NONE MicrosoftInternetExplorer4

Q. What are the advantages of using testing tools? Ans: The merits of testing tools are They improve the productivity and quality of software development. Help in

Explain Basis Path Testing? Ans) Basis path testing is a white-box method. It permits the design and definition of a basis set of execution paths. The test cases created from th

Q. What do you mean by Software Engineering? What is the use of Software Engineering? Ans) Software engineering is engineering for software development. A simple program can be