RECENT ASSIGNMENT

Tweet Share WhatsApp Share
GET ANSWERS / LIVE CHAT


Software Engineering: Analysis and Design
Assignment 1 Refactoring
Code provided in zip files in C#
Requires Microsoft Visual Studio software
Enterprise Architect Software
Assignment 1
Overview
You are required to document, test and refactor an existing application. You will be given a copy of an existing Java application which is responsible for taking bookings for a cruise ship, this application is badly in need of refactoring and even a casual viewing of the source code reveals many examples of the “code smells” discussed by Fowler.
Timelines and Expectations
Percentage Value of Task: 20%
Due: 16:00 Friday, 29-4-2016 (week 7)
Minimum time expectation: 10-15 hours
Learning Outcomes Assessed
Knowledge:
K1. explain the significance of detailed project planning and control, good communication and documentation and the use of appropriate tools in order to provide a quality product;
K2. discriminate between software engineering and programming, and thus the distinction between a software configuration and a program;
Skills:
S1. apply software design principles to design and document software that utilises design patterns
S2. analyse source code and develop comprehensive unit test suites
S3. operate CASE software to document the design of a piece of software
S4. apply refactoring to identify poor programming practice in existing source code and improve its structure and readability
Assessment Details
You are required to document, test and refactor an existing application. You will be given a copy of an existing Java application which is responsible for taking bookings for a cruise ship, this application is badly in need of refactoring and even a casual viewing of the source code reveals many examples of the “code smells” discussed by Fowler.

Notes about the assignment
There are eight types of cabin which may be booked. Standard costs are as follows:
• Balcony Suite ($5000 per cabin)
• Suite ($4000 per cabin)
• Deck 3 – Outside Twin ($3500 per cabin)
• Deck 2 – Outside Twin ($3400 per cabin)
• Deck 1 – Outside Twin ($3300 per cabin)
• Deck 3 – Inside Twin ($3400 per cabin)
• Deck 2 – Inside Twin ($3300 per cabin)
• Deck 1 – Inside Twin ($3200 per cabin)
Requirements
• Report detailing any “code smells” present in the code and how you intend to refactor them out of the code
• A refactored version of the system eliminating all identified code smells
• A class diagram illustrating the initial code and another class diagram illustrating the final refactored code (including all relevant dependencies)
• A sequence diagram illustrating how the final refactored system processes a new booking
• Extensive NUnit tests for methods SetupShip and BookPassage in the FedUniCruises class
• Add a loyalty rewards system. People who are bronze members of the loyalty rewards program receive a 5% discount on all bookings, people who are silver members receive 7.5% discount, while gold members receive 10% off the cost of their bookings.
• Add a platinum membership to the loyalty rewards program which entitles the holder to 50% off the cost of booking on decks 1, 2 and 3 and 25% off the cost of bookings for all suites.
Submission
You are required to submit to on Moodle before the due date a zip file containing:
• A solution called final which has all of the final refactored code and the project for the unit tests
• The accompanying Enterprise Architect file with model versions of the original (that you started with) and final code projects.
• A word document containing your UML models and a justification of your refactorings.

Marking Criteria/Rubric
Task Marks
Report detailing “code smells” 5
Refactored version of the system 5
Class diagrams 2
Sequence diagram 1
NUnit tests for the refactored system 3
Loyalty rewards system 2
Platinum membership 2
Feedback
Assignments will be marked within 2 weeks. Marks will be made available on FDL Grades. Feedback will be provided in electronic form on Moodle.
Plagiarism:
Plagiarism is the presentation of the expressed thought or work of another person as though it is ones own without properly acknowledging that person. You must not allow other students to copy your work and must take care to safeguard against this happening. More information about the plagiarism policy and procedure for the university can be found at http://federation.edu.au/students/learning-and-study/online-help-with/plagiarism.



GET ANSWERS / LIVE CHAT