Find Refactoring Assignment Help And Assessment Help Service To Score Well!

Home   Course  
Previous << || >> Next

SAVE YOUR HIGHER GRADE WITH ACQUIRING REFACTORING ASSIGNMENT HELP & QUALITY HOMEWORK WRITING SERVICES OF EXPERTSMINDS.COM

ITECH2309 Software Engineering - Federation University

Refactoring Assignment

Learning Outcome 1: Apply software engineering principles to design and implement software applications.

Learning Outcome 2: Operate CASE software to develop appropriate models of software systems.

Learning Outcome 3: Develop comprehensive unit test suites.

Learning Outcome 4: Write integrated reports, using appropriate models, providing detailed analysis of given textual scenarios.

Learning Outcome 5: Implement software applications, using appropriate software engineering techniques, from a given textual scenario.

DO WANT TO HIRE TUTOR FOR ORIGINAL REFACTORING ASSIGNMENT SOLUTION? AVAIL QUALITY REFACTORING ASSIGNMENT WRITING SERVICE AT BEST RATES!

Clinic Management System

Smells in the Code
1. Duplicated Code in Animal.java - Refactored using Extract Method. Separate methods were written for the repetitive codes in the method assignVeterinarian() in the class.

intvets = listOfVeterinarians.size();

                                                mvToANewVet (this.animalType);

                                                for (intii = 0; ii<vets; ii++){// choose which vet to allocate - find a vet with room left in list of registered animals

                                                       Veterinarian temp2 = (Veterinarian)(listOfVeterinarians.get(ii));

                                                       if (temp2.listOfAnimals.size() <temp2.maxNumOfAnimals){

                                                              temp2.listOfAnimals.add(this);

                                                              System.out.println("Allocating "+ this.getName() + " to " + temp2.name + "\n");

                                                              this.assignedVeterinarian = temp2;

                                                              returntrue;

                                                              }

                                                }

 

intvets = listOfVeterinarians.size();

 

                           for (inti = 0; i<vets; i++){// choose which vet to allocate - search for a vet at this clinic with room left in list of registered animals

                                  Veterinarian temp = (Veterinarian)(listOfVeterinarians.get(i));

                                  if (temp.listOfAnimals.size() <temp.maxNumOfAnimals){

                                         temp.listOfAnimals.add(this);

                                         this.assignedVeterinarian = temp;

                                         returntrue;

                                         }

                           }

2. Long Method - Animal.Java :Refactored using Extract Method. The method assignVeterinarian() had separate functions in if-else condition. These were grouped together in appropriate methods.

public final boolean assign Veterinarian(ArrayList<Veterinarian>listOfVeterinarians)

ENROL WITH REFACTORING ASSIGNMENT HELP AND HOMEWORK WRITING SERVICES OF EXPERTSMINDS.COM AND GET BETTER RESULTS IN REFACTORING ASSIGNMENTS!

3. Long Method - Clinic.java :Refactored using Extract Method and Decompose Conditional.The method run() had separate functions in if-else condition. These were grouped together in appropriate methods. Besides there was a lot of processing at the end for forming the output string. These were also written into appropriate methods.

public final String run()

4. Large Class -Animal.java : Implemented using Extract Subclass. The class had a lot of attributes. So a separate subclass animalInsuredUninsured is created to distinguish between insured and uninsured animals.

              public Veterinarian assignedVeterinarian=null; // Veterinarian assigned to Animal

              privatestaticintpIdNo = 100000; // No get and set methods - internal use only

              private String name;

              privateint age;

              private String identifier; // Animal identifier - unique for each animal in the system

              public String animalType="Uninsured"; // can be "Insured" or "Uninsured" - Uninsured should be "default"

              private String preferredVeterinarian=null; // Only useful for "Insured" - null for Uninsured animal

              private String insuredHealthFundNo; // Fund number for animals with insured health

              privateinthoursTreated; // No of hours animal treated by Veterinarian

              private String animalBreed;

5. Large class - Veterinarian.java. Implemented using Extract Subclass.There were a lot of attributes in the class. A subclass specialiseVet is created to distinguish vets on the basis of their speciality.

       private String specialisation; // Veterinarian's special skill

              publicArrayList<Animal>listOfAnimals; // Veterinarian's personal list of animals responsible for care

              publicintmaxNumOfAnimals; // Maximum no. of animals a Veterinarian can have at one time

              privatedoublehourlyRate; // Hourly rate of pay

              privatestaticintvetIdNo = 1000; // Internal use only - no get/set methods

              public String name;  // Name of Veterinarian

              privateintage;  // Age of Veterinarian

              private String identifier; // Veterinarian's staff id

24/7 AVAILABILITY OF TRUSTED REFACTORING ASSIGNMENT WRITERS! ORDER ASSIGNMENTS FOR BETTER RESULTS!

6. Data clumps - Implemented using Extract Class. The identifier variable along with vetIdNo was moved to a new class VetIdentifier.This class acts as a type class.

Public final void setIdentifier(){

                     this.identifier = "V" + String.valueOf(vetIdNo++);

7. Data clumps - Implemented using Extract Class. The identifier variable along with vetIdNo was moved to a new class animalIdentifier.This class acts as a type class.

Public final void SetIdentifier(){

                     this.identifier = "P" + pIdNo++;

Class Diagram : Old Code Class Diagram : Refactored Code

HELPING STUDENTS TO WRITE QUALITY REFACTORING ASSIGNMENT AT LOW COST!

Hire Expertsminds and get best assignment help for other courses and units such as -

  • ITECH2000 MOBILE DEVELOPMENT FUNDAMENTALS ASSIGNMENT HELP
  • ITECH1101 IT PROBLEM SOLVING ASSIGNMENT HELP
  • ITECH2003 WEB DESIGN ASSIGNMENT HELP
  • ITECH1102 NETWORKING AND SECURITY ASSIGNMENT HELP
  • ITECH2001 GAME DEVELOPMENT FUNDAMENTALS ASSIGNMENT HELP
  • ITECH1400 FOUNDATIONS OF PROGRAMMING ASSIGNMENT HELP
  • ITECH1104 CLOUD AND ENTERPRISE COMPUTING ASSIGNMENT HELP
  • ITECH2002 SYSTEMS MODELLING ASSIGNMENT HELP
  • ITECH1300 MOBILE COMPUTING PLATFORMS AND DEVELOPMENT FUNDAMENTALS ASSIGNMENT HELP
  • ITECH1103 BIG DATA AND ANALYTICS ASSIGNMENT HELP

Tag This :- Refactoring Assignment Help, TG96NIS829SOF

get assignment Quote

Assignment Samples

Get Academic Excellence with Best Skilled Tutor! Order Assignment Now! Submit Assignment