Architectural Design

For our project we proposed 3 tier MVC architecture. The reason for proposing MVC is that gives data the ability to change independently and allows presentation of the same data in different ways (Pressman, 2010). With 3-layered architecture gives more secure accessing to data and authentication can be enabled in each layer (Sommerville, 2010). We believe that merging MVC with 3 Layered architecture gives more secure and enhance reuse functionality.

Architucture

References:

Sommerville, I. (2010) Software Engineering >INTERNATIONAL EDITION <. 9th edn. Harlow: Pearson Education (US)

Pressman (2000) Software Engineering: A Practitioner’s Approach (McGraw-Hill International Editions: Compute… 5th edn. United States: McGraw Hill Higher Education

Requirements Gathering Survey

A study of what Small.World should include was planned using one of the fact finding techniques which is a questionnaire. Survey is the most common technique for gathering user requirements. Please find the survey the team designed for this purpose here.

Screen Shot 2015-04-30 at 22.01.59The survey was planned to be distributed online using Google Forms and to a population sample of 50 people. Due to certain complications with Ergo which is the Ethical Committee in Southampton, the survey didn’t get the approval to be distributed. The team is recommending to use the survey as a future step to gather user requirements.

System Requirements

In order to determine what is needed from our online social network, we conducted requirements gathering and elicitation which are the vital parts of every software analysis process. The requirements usually refer to what software does (functional) and what are its qualities (non-functional). They usually have their unique IDs, are prioritised and in more detailed approach – have appropriate metrics.

Two tables below present some of the functional and non-functional requirements for Small World. Each one is assigned a priority level indicated by colour scheme.

Selected System Requirements

For full and detailed requirements list, refer to the Full Requirements Document.

Background reading

Pressman, R. (2010). Software engineering. Boston, Mass.: McGraw-Hill.

Sommerville, l. (2011). Software Engineering. 9th ed. London: Pearson Education.

Mockups

These mockups show how Small.World would look on a smartphone, with the Nexus 5 used as an example.

After logging in, the user is taken to the ‘Friends’ tab, where they can see the friends that they are connected to (solid black line), as well as the friends of a friend (dotted black line). By tapping on a profile picture, a user can see the public profile of another user (e.g. interests, location)

Small.World_Examples2 Small.World_Examples3

The menu is accessed by tapping the button in the top left of the screen. From there a user can edit their profile, giving as much information as they want to, as well as being able to edit the display of the app. Users are also able to filter their friends by location or interest which would be useful for users with large numbers of friends.

Small.World_Examples4

The map view shows the location of a user and the location of their friends and friends of a friend within a certain radius. In the settings, the radius can be changed and the user can choose whether to see people or events. Again tapping on a user’s dot will bring up the public profile of another user.

Small.World_Examples5

System Modeling

The system requirements that have been collected from team members (since the permission for an ethical approvement got delayed) and feasibility study have been modelled using textual use cases for the most outstanding functions and that make the core of the small.world application. This gives a better understanding of what the system is expected to do and how the user is expected to use it.

 

Recommendation use case

is an example of the developed use cases. for a detailed view, read use cases.

Scenarios

A scenario provides the description of the use’s interaction with the application.
For the Small.World, let us assume the following roles:
Bob -a student who is studying the Master of Science programme in England.
He has a flatmate named Alice comes from Holland in the university.
He also has a good friend named Tess in his class.
Alice -Bob’s flatmate.
She expects to meet her parents in Amsterdam after the end of the second semester.
Tess -Bob’s classmate.
She has a nice plan about traveling to Amsterdam during the easter holiday.
System: The Small.World.

The scenarios take place in the following manner:

1.Bob enters the website of the Small.World.
2.Bob registers by his facebook account at the first time.
3.Bob allows the Small.World to search and add all his friends who use this application.
4.Bob customizes the Small.World’s layout.
5.Alice downloads the mobile app of the Small.World.
6.Alice logs in using her Google+ email account for free.
7.Alice relates her Google+ account to her facebook account.
8.Alice selects keep her personal information secret.
9.Tess receives a recommodation message from Bob about the Small.World.
10.Tess downloads the Small.World app into her phone following the link in the text message.
11.Tess logins in with her facebook account.
12.Tess puts her first review about movies by her phone.
13.The Small.World tracks Alice’s movement when she comes back to Amsterdam.
14.Tess checks-in at her new location when she travels to Amsterdam.
15.The Small.World displays Tess’s current location in a multi-layered map.
16.Bob receives a push notification-”Your friends Alice and Tess are both in Amsterdam,would you like to reccommand them to be friends?” from the Small.World.
17.Bob shares the basic information about Alice and Tess in the Small.World.
18.Bob reccommands Alice and Tess to add each other through the Small.World.
19.Alice adds Tess into her friends’ list.
20.Alice says Hello to Tess in the chat section.
21.Alice reviews Tess’s past posts.
22.Bob hosts a three-people’s video conference to discuss Tess’s travel plan in Amsterdam.
23.Tess adds more personal information in the Small.World app, such as personal hobbies and preference on food and places.
24.Alice finds a video about Anne Frank Huis and shares with Tess to recommend tess
to travel together.
25.Tess receives a sound notification from Small.World.
26.Tess accepts Alice’s recommendation.
27.Tess posts a review of locations and events.
28.Alice shares Tess’s review.
29.Alice makes an appointment with Tess in the comment area of the review to travel
together at 7th, April.
30.Bob tags Alice and Tess on a same map.
31.Tess turns on the GPS tracking.
32.The Small.World displays the current location of Tess in both online and offline mode.
33.The Small.World tracks Tess’s location in real time by GPS.
34. Tess receives an alert on presence of Alice within 5 miles proximity.
35.Alice selects a restaurant from the advertisements in Small.World app.
36.Tess gives a good feedback for the restaurant through the app.

Class Diagram

The Class is the static structure of the system. The diagram illustrates the system classes, attributes, operations and interrelationship between them (Ambler, 2014). The class diagram is divided into two main sections, class name with blue background, attributes beginning with a minus sign (-) indicate a private attribute.The arrows show the associations between classes with labels indicating the nature of the relations. For example, User class is associated with Profile class, it means each user has it is own profile.For simplicity, only the main operations are included in these classes. As in requirements mentioned, the User class has Chat, Post, and Message class. To make the class diagram clearer and easily understood, some operations have been eliminated from the figure.

 

SmallWorld_Class Diagram1

Small.World Prototype

Here is a glance of the system functions put into action, the prototype was used to gather the team members feedback to enhance it. Mockups were built based on the feedback given on the prototype below.

Click on the video link below for the prototype

 

Small_World_prototype_720

Tool used: http://www.justinmind.com

Use Case Diagram for Small.World

This is the use case diagram for Small.World.

The Use case diagram below represents the main possible interactions of actors/stakeholders of Small.World. This is inline with the functional requiremnt of the application. The user first need to create account through multiple options such as google+, facebook or create account in Small.World. When the user login they can do different types of activity as shown in the diagram.
The Application, has many options that allows user to do videio conferencing, tag user on map and store past activity log, GPS tracking and pay per click advertisements are some of them.

*Visio Professional by microsoft is used to draw use case diagram because it has significant generralised drawing tools that allows you to produce any diagram very quickly. Asmallworld - Copy