Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

File code: Flight.java package Core; import java.util.Date; import java.util.List; import java.util.Vector; public class Flight { private FlightData flightData; public Flight() { flightData = new FlightData();

File code: Flight.java

package Core;

import java.util.Date; import java.util.List; import java.util.Vector;

public class Flight {

private FlightData flightData;

public Flight() { flightData = new FlightData(); }

public void setPlaneNo(String planeNo) { this.flightData.plane.planeNo = planeNo; }

public String getPlaneNo() { return this.flightData.plane.planeNo; }

public void setPlaneName(String planeName) { this.flightData.plane.planeName = planeName; }

public String getPlaneName() { return this.flightData.plane.planeName; }

public void setCapacity(int capacity) { this.flightData.plane.capacity = capacity; }

public int getCapacity() { return this.flightData.plane.capacity; }

public String getFlightNo() { return flightData.flightNo; }

public void setFlightNo(String flightNo) { this.flightData.flightNo = flightNo; }

public String getDestinationAirport() { return flightData.destinationAirport; }

public void setDestinationAirport(String destinationAirport) { this.flightData.destinationAirport = destinationAirport; }

public String getDepartureAirport() { return flightData.departureAirport; }

public void setDepartureAirport(String departureAirport) { this.flightData.departureAirport = departureAirport; }

public Date getFlightDate() { return flightData.flightDate; }

public void setFlightDate(Date flightDate) { this.flightData.flightDate = flightDate; }

public String getArriveTime() { return flightData.arriveTime; }

public void setArriveTime(String arriveTime) { this.flightData.arriveTime = arriveTime; }

public String getDepartTime() { return flightData.departTime; }

public void setDepartTime(String departTime) { this.flightData.departTime = departTime; }

public List getPassenger() { return this.flightData.passenger; } public void setPassenger(List passenger) { this.flightData.passenger = passenger; }

public void addPassenger(Passenger passenger) { this.flightData.passenger.add(passenger); }

public void removePassenger(Passenger passenger) { this.flightData.passenger.remove(passenger); }

public List getAllFlight() { List result = new Vector(); //process to collect data Flight f1 = new Flight(); f1.setPassenger(new Passenger().getAllPassenger()); f1.setArriveTime("11:20 PM"); f1.setDepartTime("05:25 PM"); f1.setDepartureAirport("SUB"); f1.setDestinationAirport("HKG"); f1.setCapacity(120); f1.setFlightDate(new Date("2017-05-12")); f1.setFlightNo("GA-213"); f1.setPlaneNo("GFP-1009"); f1.setPlaneName("Garuda Airline Boeing 737"); result.add(f1);

Flight f2 = new Flight(); f2.setPassenger(new Passenger().getAllPassenger()); f2.setArriveTime("07:00 AM"); f2.setDepartTime("09:15 PM"); f2.setDepartureAirport("PLW"); f2.setDestinationAirport("CKG"); f2.setCapacity(90); f2.setFlightDate(new Date("2017-06-22")); f2.setFlightNo("LN-719"); f2.setPlaneNo("LFP-1009"); f2.setPlaneName("Lion Airline Boeing 737"); result.add(f2);

Flight f3 = new Flight(); f3.setPassenger(new Passenger().getAllPassenger()); f3.setArriveTime("03:25 AM"); f3.setDepartTime("09:15 AM"); f3.setDepartureAirport("CKG"); f3.setDestinationAirport("PKG"); f3.setCapacity(150); f3.setFlightDate(new Date("2017-08-02")); f3.setFlightNo("GA-715"); f3.setPlaneNo("GFP-1021"); f3.setPlaneName("Garuda Airbus"); result.add(f3);

return result; }

}

File code FlightData.java

package Core;

import java.util.AbstractList; import java.util.Date; import java.util.List; import java.util.Vector;

public class FlightData {

public class PlaneData { public String planeNo; public String planeName; public int capacity; }

public PlaneData plane = new PlaneData(); public String flightNo; public String destinationAirport; public String departureAirport; public Date flightDate; public String arriveTime; public String departTime; public List passenger = new Vector();

File Code Passenger.java

package Core;

import java.util.List; import java.util.Vector;

public class Passenger {

private String passengerName; private String bookingCode; private String identityNumber;

public List getAllPassenger() { List result = new Vector(); Passenger p1 = new Passenger(); p1.setBookingCode("GYIKJN"); p1.setIdentityNumber("18271097020001"); p1.setPassengerName("Andi Muliadi"); result.add(p1);

Passenger p2 = new Passenger(); p2.setBookingCode("ZNJGQK"); p2.setIdentityNumber("79812539720001"); p2.setPassengerName("Budi Dirgantara"); result.add(p2);

Passenger p3 = new Passenger(); p3.setBookingCode("VFZWAQ"); p3.setIdentityNumber("56783128960002"); p3.setPassengerName("Wisnu Dwi Perdana"); result.add(p3);

return result; }

public String getPassengerName() { return passengerName; }

public void setPassengerName(String passengerName) { this.passengerName = passengerName; }

public String getBookingCode() { return bookingCode; }

public void setBookingCode(String bookingCode) { this.bookingCode = bookingCode; }

public String getIdentityNumber() { return identityNumber; }

public void setIdentityNumber(String identityNumber) { this.identityNumber = identityNumber; }

public List getPassengerDetailFlightInformation() { List result = new Vector();

List allFlight = new Flight().getAllFlight();

for(int i=0;i

return result; }

}

Class Diagram

image text in transcribedimage text in transcribedimage text in transcribed

Based on the code and class diagram provided, answer the following questions:

1). What type of design smell did you find in the attached code? Give an explanation!

2). Make refactoring based on the design smell found in the question above!

Flight Flight Data +Flight No : String +plane : Plane Data +flight Date : Date + destination Airport : String +departureAirport : String +arrive Time : String +departTime : String +passenger : List Passenger> -flight Data : Flight Data Plane Data +planeNo : String +planeName : String +capacity : int +EetAllFlight(): List Flights +setPlaneNo(planeNo : String) : void +pctPlaneNot) : String +set PlaneName(plane Name : String): void +getPlaneName(): String +setCapacity(capacity : int) : void +getCapacity(): int +setFlight No(flight No : String) : veid +set Destination Airport(destination Airport : String): vaid +setDestination Airport(): String +setDeparture Airport(departure Airport : Strins) : void +setDeparture Airport(): Strins + et Flight Date(): Date +setFlight Date(flight Date : Date) : void +getArriveTime(): String +setArriveTime(arrive Time : String): void +setDepartTime(departTime : String) : void +getDepartTime(): String +getPassenger() : List) : void +addPassenger(passenger : Passenger): void +removePassenger passenger : Passenger) : void +getAllFlight(): List Flights Passenger +passengerName : String +bookingCode : String +identity Number : String Flight Flight Data +Flight No : String +plane : Plane Data +flight Date : Date + destination Airport : String +departureAirport : String +arrive Time : String +departTime : String +passenger : List Passenger> -flight Data : Flight Data Plane Data +planeNo : String +planeName : String +capacity : int +EetAllFlight(): List Flights +setPlaneNo(planeNo : String) : void +pctPlaneNot) : String +set PlaneName(plane Name : String): void +getPlaneName(): String +setCapacity(capacity : int) : void +getCapacity(): int +setFlight No(flight No : String) : veid +set Destination Airport(destination Airport : String): vaid +setDestination Airport(): String +setDeparture Airport(departure Airport : Strins) : void +setDeparture Airport(): Strins + et Flight Date(): Date +setFlight Date(flight Date : Date) : void +getArriveTime(): String +setArriveTime(arrive Time : String): void +setDepartTime(departTime : String) : void +getDepartTime(): String +getPassenger() : List) : void +addPassenger(passenger : Passenger): void +removePassenger passenger : Passenger) : void +getAllFlight(): List Flights Passenger +passengerName : String +bookingCode : String +identity Number : String Flight Flight Data +Flight No : String +plane : Plane Data +flight Date : Date + destination Airport : String +departureAirport : String +arrive Time : String +departTime : String +passenger : List Passenger> -flight Data : Flight Data Plane Data +planeNo : String +planeName : String +capacity : int +EetAllFlight(): List Flights +setPlaneNo(planeNo : String) : void +pctPlaneNot) : String +set PlaneName(plane Name : String): void +getPlaneName(): String +setCapacity(capacity : int) : void +getCapacity(): int +setFlight No(flight No : String) : veid +set Destination Airport(destination Airport : String): vaid +setDestination Airport(): String +setDeparture Airport(departure Airport : Strins) : void +setDeparture Airport(): Strins + et Flight Date(): Date +setFlight Date(flight Date : Date) : void +getArriveTime(): String +setArriveTime(arrive Time : String): void +setDepartTime(departTime : String) : void +getDepartTime(): String +getPassenger() : List) : void +addPassenger(passenger : Passenger): void +removePassenger passenger : Passenger) : void +getAllFlight(): List Flights Passenger +passengerName : String +bookingCode : String +identity Number : String Flight Flight Data +Flight No : String +plane : Plane Data +flight Date : Date + destination Airport : String +departureAirport : String +arrive Time : String +departTime : String +passenger : List Passenger> -flight Data : Flight Data Plane Data +planeNo : String +planeName : String +capacity : int +EetAllFlight(): List Flights +setPlaneNo(planeNo : String) : void +pctPlaneNot) : String +set PlaneName(plane Name : String): void +getPlaneName(): String +setCapacity(capacity : int) : void +getCapacity(): int +setFlight No(flight No : String) : veid +set Destination Airport(destination Airport : String): vaid +setDestination Airport(): String +setDeparture Airport(departure Airport : Strins) : void +setDeparture Airport(): Strins + et Flight Date(): Date +setFlight Date(flight Date : Date) : void +getArriveTime(): String +setArriveTime(arrive Time : String): void +setDepartTime(departTime : String) : void +getDepartTime(): String +getPassenger() : List) : void +addPassenger(passenger : Passenger): void +removePassenger passenger : Passenger) : void +getAllFlight(): List Flights Passenger +passengerName : String +bookingCode : String +identity Number : String Flight Flight Data +Flight No : String +plane : Plane Data +flight Date : Date + destination Airport : String +departureAirport : String +arrive Time : String +departTime : String +passenger : List Passenger> -flight Data : Flight Data Plane Data +planeNo : String +planeName : String +capacity : int +EetAllFlight(): List Flights +setPlaneNo(planeNo : String) : void +pctPlaneNot) : String +set PlaneName(plane Name : String): void +getPlaneName(): String +setCapacity(capacity : int) : void +getCapacity(): int +setFlight No(flight No : String) : veid +set Destination Airport(destination Airport : String): vaid +setDestination Airport(): String +setDeparture Airport(departure Airport : Strins) : void +setDeparture Airport(): Strins + et Flight Date(): Date +setFlight Date(flight Date : Date) : void +getArriveTime(): String +setArriveTime(arrive Time : String): void +setDepartTime(departTime : String) : void +getDepartTime(): String +getPassenger() : List) : void +addPassenger(passenger : Passenger): void +removePassenger passenger : Passenger) : void +getAllFlight(): List Flights Passenger +passengerName : String +bookingCode : String +identity Number : String Flight Flight Data +Flight No : String +plane : Plane Data +flight Date : Date + destination Airport : String +departureAirport : String +arrive Time : String +departTime : String +passenger : List Passenger> -flight Data : Flight Data Plane Data +planeNo : String +planeName : String +capacity : int +EetAllFlight(): List Flights +setPlaneNo(planeNo : String) : void +pctPlaneNot) : String +set PlaneName(plane Name : String): void +getPlaneName(): String +setCapacity(capacity : int) : void +getCapacity(): int +setFlight No(flight No : String) : veid +set Destination Airport(destination Airport : String): vaid +setDestination Airport(): String +setDeparture Airport(departure Airport : Strins) : void +setDeparture Airport(): Strins + et Flight Date(): Date +setFlight Date(flight Date : Date) : void +getArriveTime(): String +setArriveTime(arrive Time : String): void +setDepartTime(departTime : String) : void +getDepartTime(): String +getPassenger() : List) : void +addPassenger(passenger : Passenger): void +removePassenger passenger : Passenger) : void +getAllFlight(): List Flights Passenger +passengerName : String +bookingCode : String +identity Number : String

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Administration The Complete Guide To Dba Practices And Procedures

Authors: Craig S. Mullins

2nd Edition

0321822943, 978-0321822949

More Books

Students also viewed these Databases questions

Question

Define marketing.

Answered: 1 week ago

Question

What are the traditional marketing concepts? Explain.

Answered: 1 week ago

Question

Define Conventional Marketing.

Answered: 1 week ago

Question

Define Synchro Marketing.

Answered: 1 week ago

Question

What is the most important part of any HCM Project Map and why?

Answered: 1 week ago