Department of Computer Sciences and Information Technology
Department of Computer Sciences and Information Technology
Technology
University of Sargodha
Project Title:
Session:
Submitted By:
Acknowledgment
This project consumed huge amount of work, research and dedication. We have taken efforts in this
project. However, it would not have been possible without the kind support and help of many
individuals. We would like to extend our sincere thanks to all of them.
We are highly indebted to Mr. Hassan Rauf for their guidance and constant supervision as well as for
providing necessary information regarding the project & also for their support in completing the
project. We are thankful for his aspiring guidance, invaluably constructive criticism and friendly
advice during the project work. We are sincerely grateful to him for sharing his truthful and
illuminating views on a number of issues related to the project.
We would like to express our gratitude towards our HOD “Mr. Umer Shahzad” for their kind co-
operation and encouragement which help us in completion of this project.
TABLE OF CONTENTS
CHAPTER 1: FINAL PROJECT PROPOSAL
Contents
CHAPTER 1: FINAL PROJECT PROPOSAL ......................................................................... 6
1.1: INTRODUCTION: ................................................................................................................ 6
1.2: PROJECT TITLE: ..............................................................Error! Bookmark not defined.
News aggregator application Error! Bookmark not defined.
1.3. Project Overview statement: ...............................................Error! Bookmark not defined.
Project Overview Statement Template Error! Bookmark not defined.
1.4. Project Goals & Objectives:................................................Error! Bookmark not defined.
1.5. High-level system components: ..........................................Error! Bookmark not defined.
1.6. List of optional functional units: .........................................Error! Bookmark not defined.
1.7. Application Architecture:....................................................Error! Bookmark not defined.
1.8. Gantt chart:..........................................................................Error! Bookmark not defined.
1.9. Hardware and Software Specification: ...............................Error! Bookmark not defined.
1.9.1: Hardware Requirements Error! Bookmark not defined.
1.9.2: Software Requirements Error! Bookmark not defined.
1.10. Tools and technologies used with reasoning: ...................Error! Bookmark not defined.
1.11. Exclusion: .........................................................................Error! Bookmark not defined.
CHAPTER 2: COST AND RISK ASSESSMENT .... ERROR! BOOKMARK NOT DEFINED.
2.1. Introduction .........................................................................Error! Bookmark not defined.
2.2: Project Feasibility Report ...................................................Error! Bookmark not defined.
2.2.1: Technical Feasibility Error! Bookmark not defined.
2.2.2: Operational Feasibility Error! Bookmark not defined.
2.2.3: Economic Feasibility Error! Bookmark not defined.
2.2.4: Schedule Feasibility Error! Bookmark not defined.
2.2.5: Specification Feasibility Error! Bookmark not defined.
2.2.6: Information Feasibility Error! Bookmark not defined.
2.2.7: Motivational Feasibility Error! Bookmark not defined.
2.2.8: Legal & Ethical Feasibility Error! Bookmark not defined.
2.3: Project Scope ......................................................................Error! Bookmark not defined.
2.4: Extended Features ...............................................................Error! Bookmark not defined.
2.5: Project Costing....................................................................Error! Bookmark not defined.
Project Cost Estimation by Function Point Analysis ................................................................ 13
2.6: Project Cost Estimation by using COCOMO (Constructive Cost Model)Error! Bookmark not define
2.7: Task Dependency Table......................................................Error! Bookmark not defined.
2.8: CPM - Critical Path Method ...............................................Error! Bookmark not defined.
2.9: Introduction to Team member and their skill set: ...............Error! Bookmark not defined.
2.10: Tools and Technology with reasoning ..............................Error! Bookmark not defined.
2.10.1: Reasoning Error! Bookmark not defined.
2.11: Gantt Chart:.......................................................................Error! Bookmark not defined.
2.12: Vision Document ..............................................................Error! Bookmark not defined.
2.13: Risk List ............................................................................Error! Bookmark not defined.
2.13.1: Requirement Risks Error! Bookmark not defined.
2.13.2: Construction Risks Error! Bookmark not defined.
2.13.3: Design Risks 16
2.13.4: Business Risks 16
2.13.5: Technical Risks 16
2.13.6: Operational Risks 17
2.13.7: Project Management Risks 17
2.13.8: Product Features/ Product Decomposition: 17
CHAPTER 3: SECOND DELIVERABLE FOR OBJECT ORIENTED APPROACH ...... 18
3.1: Introduction ........................................................................................................................ 18
3.2: Systems Specifications ...................................................................................................... 18
3.2.1: Introduction 18
3.2.2: Existing System 19
3.2.3: Scope of the System 19
3.3: Identifying External Entities: ............................................................................................. 19
3.4: Capture Shall Statements and Requirement Allocation :................................................... 19
FUNCTIONALITY...................................................... ERROR! BOOKMARK NOT DEFINED.
3.4.1: Functional Requirements Error! Bookmark not defined.
3.5: Use Cases ............................................................................Error! Bookmark not defined.
3.5.1: Login Error! Bookmark not defined.
3.5.2: Login via Facebook Error! Bookmark not defined.
3.5.3: Sign up 22
3.5.4: Sign up Via Facebook Error! Bookmark not defined.
3.5.5: Logout Error! Bookmark not defined.
3.5.6: ViewError! Bookmark not defined.
3.5.7: Follow a topic Error! Bookmark not defined.
3.5.8: News Article Error! Bookmark not defined.
3.5.9: Comment on a News Article Error! Bookmark not defined.
3.5.10: Modify Notifications Error! Bookmark not defined.
3.5.11: Search Error! Bookmark not defined.
3.5.12: Share Error! Bookmark not defined.
3.5.13: Edit Error! Bookmark not defined.
3.5.14: Change Picture Error! Bookmark not defined.
3.6: Admin Tasks .......................................................................Error! Bookmark not defined.
3.6.1: Add news sources to a topic Error! Bookmark not defined.
3.6.2: Remove a user Error! Bookmark not defined.
CHAPTER 4: OBJECT ORIENTED APPROACH . ERROR! BOOKMARK NOT DEFINED.
4.1: Sequence Diagram ..............................................................Error! Bookmark not defined.
4.2: Activity Diagram: ...............................................................Error! Bookmark not defined.
4.3: Collaboration Diagram .......................................................Error! Bookmark not defined.
4.4: Class Diagram: ....................................................................Error! Bookmark not defined.
CHAPTER 5: ................................................................ ERROR! BOOKMARK NOT DEFINED.
5.1. Introduction: ........................................................................Error! Bookmark not defined.
5.2Entity Relationship Diagram: ...............................................Error! Bookmark not defined.
5.3. Data flow diagram (Functional Model) ..............................Error! Bookmark not defined.
5.4: State Transition Diagram ....................................................Error! Bookmark not defined.
CHAPTER 6: (USER INTERFACE DESIGN) ........ ERROR! BOOKMARK NOT DEFINED.
6.1. Introduction .........................................................................Error! Bookmark not defined.
6.2: Logo ....................................................................................Error! Bookmark not defined.
6.3: Splash ..................................................................................Error! Bookmark not defined.
6.4: Home...................................................................................Error! Bookmark not defined.
6.5: Login ...................................................................................Error! Bookmark not defined.
6.6: Sign up ................................................................................Error! Bookmark not defined.
6.7: Successful Sign up ..............................................................Error! Bookmark not defined.
6.8: Profile..................................................................................Error! Bookmark not defined.
6.9: Drawer ................................................................................Error! Bookmark not defined.
6.10: Categories .........................................................................Error! Bookmark not defined.
6.11: News Details .....................................................................Error! Bookmark not defined.
CHAPTER 7: (SOFTWARE TESTING) .................. ERROR! BOOKMARK NOT DEFINED.
7.1 Introduction: .........................................................................Error! Bookmark not defined.
7.2 Purpose of Testing ...............................................................Error! Bookmark not defined.
7.3 Product Testing ....................................................................Error! Bookmark not defined.
7.4 Process of Testing ................................................................Error! Bookmark not defined.
7.5 Testing Techniques ..............................................................Error! Bookmark not defined.
7.5.1 Black box testing Error! Bookmark not defined.
7.5.2 White box testing Error! Bookmark not defined.
7.6 Implementation of Testing ...................................................Error! Bookmark not defined.
7.6.1 User Login Error! Bookmark not defined.
7.6.2 User Registration Error! Bookmark not defined.
7.6.3Sign Up Error! Bookmark not defined.
7.6.4Categories Selection Error! Bookmark not defined.
7.6.5 Edit Profile Error! Bookmark not defined.
Chapter 1: Final Project Proposal
1.1: INTRODUCTION:
It's the way the 21st century communicates now. Social networking is the grouping of
individuals into specific groups, like small rural communities or a neighbourhood
subdivision.
In this project, we are going to build a social media app with a purpose to enable users to
create and share content or to participate in social networking. Social media is the collective
of online communications channels dedicated to community-based input, interaction, content-
sharing and collaboration. We are making an app that will allow user to share their content
with other user using a network. This app will improve the user experience of the connecting
with other users and share their content.
It have different features like user will be able to post their pictures with other user, user
aggregate their thoughts with other with posting their status, user can like and comment on
other users post, user can find and send friend request to other users and chat with them and
user and maintain their profile with singing up with the app.
Profile Management:
This module maintains the profile of a user like name, like, dislikes, username, password,
pictures and status.
Friends Organization:
This module maintains the friend list, handles requests, sends request to the other user,
handles request acceptance and request decline.
Chat Box:
This Module allows users to chat with other users and also maintain the chats of the users.
Posting:
This module allows users to post their pictures and status and share with other users. It also
maintains the like and comments of the different users on a particular post.
Project Manager:
Project Members:
Name Registration # Email Address Signature
Project Goal: Our ultimate goal is to come up with an optimal social media app for mobile phone that help
user to find new friends and share their content with different people and have chat with them.
Objectives:
1 Allow users to sing up with the app
2 Allow users to make their profile
3 Allow users to maintain their profile
4 Posting
5 Friends list organization
6 Allow user to send friend request
7 Allow users to chat with friends
8 Allow users to see posts of other users
Project Success criteria:
1. Content Posting
2. Friend Request send
3. Friend Request Received
4. Chat
5. Profile Editing
Type of project:
1. Development
Target End users:
2. Android Users
3. Developers.
4. Evaluation Panel.
5. Supervisors.
Development Technology:
1. Object Oriented
Platform:
1. Distributed
2. Android
Approved By:
Date:
2.1. Introduction
In this chapter we will discuss Project Feasibility report of final project. We will discuss
Project Feasibility, Project Scope, Project Costing, Task Dependency Table, Critical Path
Method Analysis (CPM Analysis), Gantt chart, Introduction to team members, Tasks and
member assignment table, Tools and Technologies, Vision Document, Risk List and Product
Features.
2.2.1.1: Technology
1. We are using JAVA technology for developing the back-end of the app because
JAVA is an open source technology and we have technical expertise to work on it
2. We are using SQL to manipulate data in database because it is easy to handle and
understand.
3. We are using XML for developing the front-end of the application because it provides
better GUI components and give better User interface experience.
2.2.1.2: Tools
1. We are using android studio for coding purpose because it is open source and easily
available and also provide better integration with JAVA.
2. We are using Google Firebase to store data of the application because it is an online
database so data sharing among different copies of the application comes handy.
3. We are using Adobe Photoshop CC2014 for designing purpose.
4. Gennymotion for debugging
2. We are proposing a social media network based system which allows it’s user to
communicate with different people and post their content on it so other user can see it,
like it, and make comments on it.
1. It will allow users to sing up with app and create their profile. It will allow users to
upload their display picture (DP) and allow them to pick their usernames.
2. Sing in will be password protected and only profile owner can know it. Password will
be stored in Google Firebase’s auth. After password verification users will be
navigate to main/home screen.
3. After login to the app users can post their content, user can post a picture and text as
well.
4. User can view his/her posts.
5. User can like the post.
6. User unlike his/her post.
7. User can make comment on his/her post (Images and text).
8. Other user can view the post.
9. Other users can like the post.
10. Other users can unlike the post.
11. Other Users can make comments on any post (Images and text).
12. Users can view the list of all the users.
13. Users can send friend request to any other user.
14. Users can view all pending friend requests.
15. Users can accept the friend request.
16. User can decline friend request.
17. Users can view all the posts of his/her friends.
18. Users can chat with his friends only.
19. App will provide a chat box in which both text and pictures can be sent or received.
20. App will keep the previous chat conversations.
21. Users can view other user’s profiles.
22. Users can edit their profile (DP and users).
23. App will automatically update the friend list.
24. App will keep current user logged in.
1 Proposal T1
2 Project overview T2
4 Requirements gathering T4
5 Feasibility report T5
6 Project scope T6
20 ERD T20
21 Prototype T21
T1 T4 T11 T10
T3 T4 T13 None
T5 T4,T3 T15 T4
T9 T4 T19 T20
T10 T9 T20 T15
2.10.1: Reasoning
Our Project is a android based project. For designing the design of application we are
using Adobe Photoshop. For coding we like to use android studio. For testing we use
GennyMotion. Android application is basically based on JAVA programming. We are
using MS Project for making Gantt chart. For documentation we are using MS Office and
Notepad++ is being used as code editor.
2. Do not start the project without incomplete requirements. All requirements must be
complete at the beginning of the project if any requirement is missed, it will affect the
system later.
3. All members are inexperienced so requirement phase may take more time that will
disturb overall project.
2. Requirement may change during design or development that will affect the
construction phase and hence disturb the overall scheduling.
3. Use of unfamiliar tools and tactics will affect the system.
3.1: Introduction
In this chapter we will discuss about requirement specification regarding our project. We will
discuss capture shall statement use cases, development of requirement traceability matrix,
allocation of requirements, and data flow diagram.
3.2.1: Introduction
This project centers on building of a social media app for mobile devices. In this project we
are proposing a system that allows individuals to construct a public profile within a bounded
system, articulate a list of other users with whom they share a connection, and view and
traverse their list of connections and those made by others within the system. It isn't just a
social media site used to socialize with your friends but also, represents a huge pool of
information from day to day living. A social networking service is an online service,
platform, or site that focuses on facilitating the building of social networks or social relations
among people who, for example, share interests, activities, backgrounds, or real-life
connections.
3.2.2: Existing System
Many apps have appeared that provide a social network which allow user to share and post
their content on it and chat with other users but usually they required a Gmail or other
mailing server’s authentication but Socio will provide them its own login and authentication,
so everyone can easy create his/her profile easily.
1. When user click on float button of the main activity’s first tab posting activity should
open.
2. A button shall allow user to add picture in the post.
3. A text field shall allow user to enter text about the post.
4. A posting button shall allow user to post the content on the home screen.
1. When user click on the post picture it will open in new activity and user can zoom in
it.
1. When user click on the like icon there should be a increment in the likes count.
1. When user clicks again on the like icon it should decrease the likes count.
3.4.1.7 User can make comment on his/her post (Images and text).
1. When user clicks on the comment button a new commenting activity should be
opened.
2. There should be a text field where user writes the comments.
3. There should be button to allow user to add picture in the comment.
4. There should be button to post the comment.
1. There should be tab of the users in which all the users of the application are viewable.
2. When user clicks any other user image or username it should open its profile.
1. When user opens other user profile page there should be a button to send friend
request.
1. There should be floating button on the Users tab to open pending requests activity
screen.
2. When user clicks on the pending requests button (floating button in users tab) list of
all pending request should open.
3. When user clicks on a request a new activity should open.
4. There should be a button of accept the request.
1. When user clicks on the pending requests button (floating button in users tab) list of
all pending request should open.
2. When user clicks on a request a new activity should open.
3. There should be a button of decline the request.
1. When user clicks on the profile of its friends there should be a button to see all his/her
posts.
1. Users shall be able to view the other users profile by clicking on their picture or
username.
1. When a new user signs up with the app its profile should be placed in the users list
automatically.
1. There should be button in profile tab to logout from the current profile.
3.5.1: Sign up
Name: Sign up
Actors: User
Summary: The user will sign up with username or email id and password to use
the product
Pre-Conditions Application start up
4 User will tap sign up button 4 System will create the profile
of the user and redirect the
user to main/home activity
screen.
A-2 User left password field System shall display a error alert.
empty.
A-3 User left profile picture box System shall prompt to a error.
empty.
3.5.2: Login
Name: Login
Actors: User
Summary: The user will login with user name or email id and password to use
the product
Pre-Conditions User must sign up
A-2 User enters invalid System shall prompt if the password is incorrect
password
A-2 User clicks forgot password System shall prompt to enter email
3.5.3: Posting
Name: Posting
Actors: User
Summary: The user will post the content by clicking on posting button.
Pre-Conditions User must logged in.
2 User add picture to post by click the add picture section Opens dialog box to add
picture
3 User selects the image from gallery or camera System set the image on the
picture section on the posting
activity.
4 User enter the post title or text in the text field on the
posting activity
5 User will tap submit post button 4 System done posting on the
home activity screen.
Actors: User
Summary: The user sees the post in full view.
Successful Post- User will successfully view the post in full view.
Conditions
Typical Course of Events
Actors: User
Summary: The user will like the posts of the other users.
Actors: User
Summary: The user will unlike the Post that he/she liked before
3.5.7: Commenting
Name: Commenting
Actors: User
3 User clicks the plus icon in lower right corner System opens a dialog box to
add picture in the comment
4 User select the picture from camera or gallery System make the comment
3.5.8:
Actors: User
Summary: The user will view the list of all the users who signed up with the app.
Pre-Conditions User must logged in
Successful Post- User will successfully view the list of the users
Conditions
Typical Course of Events
Actors: User
Summary: The user Will send the friend request to other users
2 User clicks the send request button System sends the request to
particular user and change
the button to cancel
request.
Actors: User
Summary: The user will view the pending request he received or sent.
- -
Actors: User
Summary: The user will decline the request of the other user
Pre-Conditions Friend request sent
3 User tap the decline button 4 System will delete the friend
request
Actors: User
Summary: The user will accept the request of the other user
Actors: User
Summary: The user will see all the post made by the particular friend
Successful Post- User will successfully view the particular friend posts
Conditions
Typical Course of Events
Name: Chat
Actors: User
Friend
Summary: The user will have chat with his/her friends
2 User clicks the new chat floating button System opens friends list
5 User clicks the “+” button to send the image System opens image selecting
dialog box
6 User select the image from the camera or gallery System sends the image
Actors: User
Actors: User
Summary: The user will see the other user’s profiles either he/she is friend or
not.
Pre-Conditions User must logged in
Successful Post- User will successfully view the other users profiles
Conditions
Typical Course of Events
2 User taps the users tab and clicks the user image or System opens particular user
username profile
Actors: User
2 User taps the edit profile button System opens profile editing
dialog box
3.5.19: Logout
Name: Logout
Actors: User
Summary: The user will logged out from the app’s current profile.
2 User taps logout button in upper right corner System will logout the user
Alternative Course System Response
- -