Facebook now want to expand their software to include extra


Overview:

Facebook now want to expand their software to include extra features. They need the software to be able to maintain large numbers of Friends and Stories. It must also include the ability to add Events and to classify Friends as best friends or close friends. In addition, a menu system is now required to manage user interaction with the software.

Getting Started:

1. Create a new project in BlueJ called Assignment2. It is possible to use the published solution to Assignment Part 1 or your own solution as the basis for this assignment. The published solution will be made available in UTSOnline if you wish to use it.

2. Create the required classes for the project – all classes from Part 1 should be included, however they may be modified. You can have any number of additional classes you think are required.

3. Basic Functionality:

Fasebook – a FasebookUser has an array of Friends (max 200, you must setup at least 5) and an array of Events (max 100). Friends now have a best friend status (true or false). A Newsfeed has an array of Stories (max 300, you must setup at least 5). Stories now must have an ID as an attribute.

An Event has a type, month, date in the month, and title. It must be possible to add Friends and Events, up to the maximum number specified. It must be possible to add Stories to a Newsfeed, up to the maximum number specified.

4. Menu System: a menu must be provided that asks the user of the software what task they would like to perform; it then activates the required task. The menu should loop until the user requests to exit. The menu must offer these tasks:

- Add a Friend

- Search for a Friend by name

- Add an Event

- View a list of Events

- Add a Story

- Comment on a Story

- Like a Story

- Share a Story

- Create a best Friend

- View a list of best Friends

- View a list of close Friends

5. Constructors: all classes must have at least 1 constructor that accepts any required input parameters used to initialise the class attributes (done in the body of the constructor).

6. Standard methods & visibility: all classes must provide accessor and mutator methods for all class attributes. A toString() method must also be implemented for each class. All classes must use the appropriate visibility modifiers for methods and attributes.

7. Comments: all methods in each class must have a brief comment that describes what the method is doing.

NOTE: All functionality from Assignment Part 1 must also be available – do not remove methods offering Part 1 functionality.

Detailed Functionality:

1. Add a Friend

Adding a Friend follows the rules set out in Part 1 of the Assignment, but is now done using arrays. A new Friend can be created in the system by entering all the Friend details: name,login, city, best friend status, and a message (this should be empty when the Friend isadded).

2. Search for a Friend by name

Allow the user to enter the name of the Friend they are searching for, if found display all details of the Friend. If not found, display an appropriate error message. Allow name matches that do not consider the case of the letter e.g. Janine would match the name janine or JANine etc.

3. Add an Event

A new Event can be created in the system by entering all the Event details: type, month,date in the month, and title. When the new Event is created it is added to the array of Events.

4. View a list of Events of a certain type

Display a list of all Events for a FasebookUser that matches the type entered by the user. Display all details about the matching Events, or an error is no matching Events are found.

5. Add a Story

Adding a Story follows the rules set out in Part 1 of the Assignment, but is now done using arrays. A new Story can be created in the system by entering all the Story details: ID, headline, description, comments (as a String array – empty when the story is created), a is public status (true or false), number of likes counter (zero when the story is created) and number of comments counter (zero when the story is created).

6. Comment on a Story

Commenting on a Story follows the rules set out in Part 1 of the Assignment, but is now done using arrays. When commenting on a story, the user must enter the story ID, and the method must find this story in the array of stories. The new comment is then added to the array of comments for that story if found. If no story is found with a matching ID, display an error message.

7. Like a Story

Liking on a Story follows the rules set out in Part 1 of the Assignment, but is now done using arrays. When liking a story, the user must enter the story ID, and the method must find this story in the array of stories. If the story is found, add a Like to the story. If no story is found with a matching ID, display an error message.

8. Share a Story

Sharing a Story follows the rules set out in Part 1 of the Assignment, but is now done using arrays. When sharing a story, the user must enter the story ID, and the method must find this story in the array of stories. If the story is found, change the status of the story to public. If no story is found with a matching ID, display an error message.

9. Create a Best Friend

A Friend that is already in the system can become a best Friend. When creating a best Friend, the user must enter the name of the Friend, and the method must find this Friend in the array of friends. If the Friend is found, change the status of the Friend to Best. If no Friend is found with a matching name, display an error message.

10. View a list of best Friends

Allow the user to view a list of their best Friends. Display all details of the best friends found. If no best friends are found, display an appropriate message to the user.

11. View a list of close Friends

Allow the user to view a list of their close Friends. Close friends are those friends who live in the same city. Display all details of the close friends found. If no close friends are found, display an appropriate message to the user.

NOTE: It is expected that if an error occurs e.g. if the Club is full and no more Players can register, then the system will display an appropriate error message. This applies for all common errors.

Program Flow:

The menu system must be activated first that accepts user choices as to what task they want to perform. Relevant objects such as the FasebookUser must be created to achieve this.

NOTE : All methods created in earlier parts of the assignment MUST be called somewhere in the code to avoid a loss in marks.

Solution Preview :

Prepared by a verified Expert
Computer Engineering: Facebook now want to expand their software to include extra
Reference No:- TGS01473420

Now Priced at $30 (50% Discount)

Recommended (98%)

Rated (4.3/5)