Analysis, Design and Implementation
Important notes
Please refer to the Assignment Presentation Requirements for advice on how
to set out your assignment. These can be found on the NCC Education
Campus. Click on Policies and Advice in the left-hand menu and look under
the Advice section.
You must read the NCC Education documents ‘What is Academic
Misconduct? Guidance for Candidates’ and ‘Avoiding Plagiarism and
Collusion: Guidance for Candidates’ and ensure that you acknowledge all the
sources that you use in your work. These documents are available on
Campus. Click on Policies and Advice in the left-hand menu and look under
the Policies section.
You must complete the ‘Statement and Confirmation of Own Work’. The
form. is available on Campus. Click on Policies and Advice in the left-hand
menu and look under the Policies section.
Please make a note of the recommended word count. You could lose marks
if you write 10% more or less than this.
You must submit a paper copy and digital copy (on disk or similarly
acceptable medium). Media containing viruses, or media that cannot be run
directly, will result in a fail grade being awarded for this assessment.
All electronic media will be checked for plagiarism.
Scenario
Social media tools are very popular, offering opportunities for people to communicate with
each other in a hassle-free manner and in a way that permits them to keep up to date with
developments in the lives of their friends. You’ve been tasked with putting together a plan
for an implementation of a simple social network – the expectation is that your prototype
will work on an individual computer to begin with, and will be expanded into a web-based
application in the fullness of time once the basic architecture is in place.
Users of the system will need to register, and will be able to post ‘updates’ that are
displayed in the ‘feed’ of each of their friends. This feed should be ordered chronologically,
showing status updates interleaved from friends on the basis of recency.
Updates can have likes and dislikes applied from friends (one or the other, and only one
from each friend), and friends can comment on the status updates of each other. Users
can choose to ‘friend’ other users, and if the user they friend approves the request they
become connected to each other. They will be able to see the user details of each other,
as well as all the status updates that have been posted. They will be able to see the
friends lists of each other, and be permitted to send direct messages privately.
For this, it’s going to be especially important to get the connection between the various
classes of the application to communicate correctly. Class composition and roles are going
to be very important.
Your application then needs to provide the following functionality:
Allows users to register themselves, edit their profile, and delete if desired.
Allows new status updates to be posted.
Allows users to see the status updates of their friends.
Permits users to lodge a like or dislike on a status update.
Permits users to comment on a status update of a friend.
List friends, and make a request to add new users to a friend list.
Permits the browsing of other users’ profiles.
Permits the sending and receiving of private direct messages.
When users delete themselves, it should update the friend lists of all connected
user accounts.
Your solution will consist of a class diagram, a use-case diagram, and an activity diagram
for the process of generating a chronological news-feed for a user. You should also submit
the completed program code in Java.
Task 1 – 26 Marks
Candidate class list and Diagrams
26 Marks are available for providing an appropriate list of candidate classes, along with
the supporting diagrams. The candidate class list should incorporate justifications and
discussion as to why each class was selected for inclusion, and how its relationship to
other classes was derived. The class diagram should show attributes, operations, scope
and relationship of classes to each other.
The marks for the task are broken down as follows: (1) 10 marks for the Candidate class
list; (2) 6 marks for additional classes; and (3) 10 marks the Class diagram.
Page 3 of 4
Analysis, Design and Implementation © NCC Education Limited 2015
Task 2 – 25 Marks
Activity diagram
25 Marks are available for the creation of the appropriate activity diagram. The activity
diagram should incorporate the classes involved in a user generating a list of candidate
time slots based on user availability. Here, neatness of the flow of logic is important.
The marks for the task are broken down as follows: (1) 20 marks for functionality; and (2) 5
marks for Class ownership.
Task 3 – 8 Marks
Use case diagrams
8 Marks are available for the provision of suitable use-case diagrams. The use case
diagrams should incorporate each of the user activities indicated in the brief.
Task 4 – 15 Marks
Code architecture
15 marks are available for a code architecture that shows an appropriate level of coupling
and cohesion, along with the necessary amount of inheritance and encapsulation to
express the system.
The marks for the task are broken down as follows: (1) 5 marks for handling the
requirements via inheritance and polymorphism; (2) 5 marks for handling user input; and 5
marks for handling output.
Task 5 – 26 Marks
System implementations
26 marks are available for implementing the system as described in the brief and providing
the completed Java code.
Submission requirements
Your program must be submitted as a zip file of the full project.
o Whatever IDE you use, it should be possible to open and run the project directly
from the extracted archive.
Diagrams and materials associated with the tasks above should be presented in a
word-processed document.
All references and citations must use the Harvard Style.
Candidate checklist
Please use the following checklist to ensure that your work is ready for submission.
Have you read the NCC Education documents ‘What is Academic
Misconduct? Guidance for Candidates’ and ‘Avoiding Plagiarism
and Collusion: Guidance for Candidates’ and ensured that you have
acknowledged all the sources that you have used in your work?
Have you completed the ‘Statement and Confirmation of Own Work’
form. and attached it to your assignment? You must do this.
Have you ensured that your work has not gone over or under the
recommended word count by more than 10%?
Have you ensured that your work does not contain viruses and can
be run directly?