Report detailing any code smells present in the code

Assignment Help C/C++ Programming
Reference no: EM131042430

Assignment:

Overview- You are required to document, test and refactor an existing application. You will be given a copy of an existing C# 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.

Learning Outcomes-

Knowledge:

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;

Discriminate between software engineering and programming, and thus the distinction between a software configuration and a program;

Skills:

Analyse source code and develop comprehensive unit test suites

Operate CASE software to document the design of a piece of software

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 C# 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.

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.

Attachment:- Assignment.zip

Reference no: EM131042430

Questions Cloud

Who does protectionism protect : Who does protectionism protect? What does it protect them from?
Calculate benchmarks return on equity for 2007 : Calculate Benchmarks return on equity for 2007 as reported and calculate the breakeven points using both machines and Which alternative is superior on financial grounds?
Which internal -external environments influence hrm practice : Across Australia and globally, the nature and practice of Human Resource Management (HRM) is in a constant state of evolution as organisational forms, management standards, labour markets and whole economies shift, adapt and change. These changes ..
Mean difference in weights of the melons : a) What's the mean difference in weights of the melons? b) What's the standard deviation of the difference in weights?
Report detailing any code smells present in the code : Report detailing any "code smells" present in the code and how you intend to refactor them out of the code and A refactored version of the system eliminating all identified code smells
How have leaders of nation or region responded to the issue : How have leaders of the nation or region responded to the issue? What are the potential advantages and disadvantages of the actions or proposed solutions?
Discuss ethical dilemmas and business dilemmas : Discuss the ethical dilemmas, business dilemmas and potential solutions when the homeless people use the public library for their sleeping, shower or staying.
Why do nations not just eliminate their trade barriers : why do nations not just eliminate their trade barriers, and not bother with international trade negotiations?
Machine emergency shutoff device : Problem: Safety engineers must determine whether industrial workers can operate a machine's emergency shutoff device. Among a group of test subjects, 66% were successful with their left hands, 85% with their right hands, and 51% with both hands.

Reviews

Write a Review

C/C++ Programming Questions & Answers

  Adjacency matrix and shortest path

Construct a graph based on the adjacency matrix that appears below. Label all nodes with indices consistent with the placement of numbers within the matrix.

  Design an algorithm to find the selling price

To make a profit, the prices of the items sold in a furniture store are marked up by 60%. Design an algorithm to find the selling price of an item sold at the furniture store. What information do you need to find the selling price?

  Write down a program which will calculate and displays min

write down a program which will calculate and displays the min temperature and the maximum temperature for seven days of a week.

  Definition of two queues

Write a code in C lenguage for the definition of two queues, one to hold the process in ready state and one to hold the process in waiting state. The queue should be designed to manage a process structure. Please comment the code.

  A c++ program using the concept of function overloading

write a c++ program using the concept of function overloading for the following options : select the options from [1-3], 1- Area of rectangle 2- Area of square 3- Exit ,

  Write program that stores the numbers in array

Write a c++ program that stores the following numbers in the array named miles: 15,22,16,18,27,23, and 20. have your program copy the data stored in miles to another array.

  Write a program to read only one integer number

Write a program to read ONLY one integer number (your input must be one 3 digit number from 100 to 999), and to think of a number as being ABC (where A, B, and C are the 3 digits of a number)

  Create and utilize compound conditions

Eliminate redundancy within a program by applying loops and functions - Create structure charts for a given problem

  Different types of relationships that exist between tables

What are the different types of relationships that exist between tables?

  Definition of the function template moventhfront

Write the definition of the function template moveNthFront that takes as a parameter a queue and a positive integer, n.

  Program that declares three variables minnum

Write a C++ program that declares three variables minNum, midNum and maxNum to receive three integers read from the keyboard.

  Maintenance personnel of flyhigh airlines

Create a new class named view Maintenance that allows the maintenance personnel of FlyHigh Airlines to view the maintenance details of aircrafts. Write the code snippet that the development team should use to accomplish each of the preceding tasks..

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