0% found this document useful (0 votes)
95 views65 pages

Project Acknowledgement & Overview

Black Book For Sama Youth Project - This is an app for a community to update there day to day life events, birthday, news, etc on one platform.

Uploaded by

shreeya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
95 views65 pages

Project Acknowledgement & Overview

Black Book For Sama Youth Project - This is an app for a community to update there day to day life events, birthday, news, etc on one platform.

Uploaded by

shreeya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 65

ACKNOWLEDGEMENT

Project development requires commitment from all the people who are involved
in it. And also, I would like to share the credit for the success of my project with all the
people who extended their valuable support to me.

I am grateful to my project guide Dr. Pooja Mehta who helped me to schedule


my project and taught me practically systematic way of developing a project. I am
immensely thankful for the patience with which she stood by me till the end of my
project.

My special thanks to Mr. Saurav Panda (CEO) and Mr. Mihir Lodhavia
(COO) for his support and guidance. Both helped me during the analysis phase and
provided me with in-depth information about the working of Samaj Youth Website,
Admin Panel and Mobile Application.

I should also like to express my sincere gratitude to our honorable Director Dr.
Swati Padoshi Mam for the encouragement & facilities provided to me. At last but not
the least, I would like to thank my friends who have helped directly or indirectly in
completing my Project.

-Shreya M Shirke

4
TABLE OF CONTENTS
Sr. No Name of the Topic Page No.
1 Introduction 8

1.1 Abstract

1.1.1 About the Organization

1.1.2 About the Project

1.2 Scope and Objective of the Project

1.2.1 Scope of the Project

1.2.2 Objective of the Project

1.3 Theoretical Background

1.3.1 Overview of Front End

1.3.2 Overview of Back End

2 System Analysis
16
2.1 Existing System

2.2 Proposed System

2.3 Gantt Chart

2.4 Feasibility Study

2.4.1 Operational

2.4.2 Technical

2.4.3 Economic

2.5 Development Model

3 Software Requirement Specification 24

3.1 SRS

3.1.1 Introduction

3.1.2 Selection of Technology

3.1.2.1 Hardware to be Used

3.1.2.2 Software to be Used

5
3.1.2.3 Tools to be used

3.2 Modules

4 System Design 27

4.1 Functional Specification

4.2 Use Case Diagram

4.3 Activity Diagram

4.4 E-R Diagram

4.5 Data Flow Diagram (DFD)

4.6 Sequence Diagram

5 Database Design 37

6 Screen Layout 66

7 Testing 81

7.1 Introduction

7.2 Types of Testing

7.2.1 Manual Testing

7.2.2 Automation Testing

7.3 Methods of Testing

7.3.1 White Box Testing

7.3.2 Black Box Testing

7.4 Level of Testing

7.4.1 Functional Testing

7.4.2 Non-Functional Testing

7.5 Test Cases

8 System Maintenance & Evaluation 92

8.1 System Maintenance

8.2 System Evaluation

9 Limitations 95

6
10 Conclusion 97

11 Future Enhancement 99

12 Bibliography 101

7
1. INTRODUCTION

1.1 ABSTRACT

1.1.1 About the Organization


“ScrapeNext Technologies” is a full stack software development company. We
build and deliver best-in-class customized web and mobile applications. Our bespoke IT
solutions have helped enterprises streamline their business processes and have helped
startups create their unique products.
We explore, experiment and deliver solutions on the coolest and the most cutting
edge technologies such as HTML, Bootstrap, Android native, Javascript, Python,
Django, Ionic framework, Flutter Framework, Wordpress.

8
We act as true tech partners for our clients and help them in their journey of
digital transformation. We empathize our clients by understanding their business model,
vision, processes and challenges. Hence our apps create a deeper impact to their
business.

Established in 2018, ScrapeNext Technologies. is the outcome of young


enthusiastic business minds with a mission ‘to deliver innovative business solutions and
provide clients with maximum online visibility based on cutting edge technology. We
provide a wide range of solutions such as: web applications, mobile application
development, ecommerce solutions and internet marketing. It is prominent internet
marketing and business solutions firm in India. It has come a long way since its
inception serving a wide stratum of clients.
We are experts in design and website development in enterprise solutions, web and
mobile applications for startups as well as established companies. Each of our
application is the combination of most modern technologies with domain expertise.

Startup Consulting
1. Mobile Applications Development
A. Android Mobile Applications Development
B. iOS Mobile Applications Development
2. E-Commerce Development
3. Web Applications Development
4. Website Maintenance

Our reputation lies in the success of our clients. We don’t believe in excuses and
take pride to put our name on our work. We’ve expanded our presence globally and won
clients from foreign markets including USA, Europe, Middle East and Australia.

1.1.2. About the Project

The bonding between members of a community is greatly enhanced through


communication. Samaj Youth is a platform for Indian Communities that wish to join
hands through internet.
Samaj Youth is a product of ScrapeNext Technologies for community volunteers
to setup for their community. It is build on the latest Flutter technology and keeps up
with powerful servers. While most applications are tailored to client utility, that itself
becomes a factor for huge financial burden to the administrators. Also, the number of
users don't govern the cost for such one-time built application.
How is Samaj Youth different? Samaj Youth charges on subscription basis. You
pay only as long as you use. And Samaj Youth charges per person. Small community?

9
Worried about higher server and development costs? Don't worry. We have got you
covered.

1.2 SCOPE AND OBJECTIVE OF THE PROJECT


1.2.1 Scope of the Project

● Samaj Youth is to connect people who are in different villages and cities but of
same community, enhance their social communication and empower them with
technology to support each other.
● Samaj Youth provides an Admin Panel that allows posting control, member data
export option, advertisement management with ranking feature and custom
notification dashboard.

10
● It has OTP based login, a separate admin panel for exporting member data,
advertisement management and to send custom notifications to users.
● The Samaj Youth can help you maintain existing relationships with people and
share pictures and messages, and establish new ones by reaching out to people
you've never met before.
● This website enhances Advertisements of products. The main purpose behind this
Advertisement functionality will help people to buy products in trusted circle.
● Today’s world has become global and digital, People or User needs “Quick
Service” at any time anywhere.
● Their is lot of scope for the types of web portals because world 90% people using
internet and they take advantage of the web portals for their daily use.
● We have been able to develop solutions that fit what the peoples need every
single day.
● Any User can access Samaj Youth app at anywhere like home office, car and so
on.

1.2.2 Objective of the Project

Main Objectives of the Projects are:


The main objective in this Mobile app and website app is to provide a reliable and
efficient Communication online so as to assist users to afford it without much trouble.

 To have attractive and Secure Login page to access.


 Make new user account in more user friendly and proper validation of details.
 Search People easily on entire network.
 Creating a public profile having social, professional and personal information.
 Ease of editing of profile anytime.

11
 Upload and Share Images on network.
 Post Advertisement of products.
 Administration page to keep eye on user operation.

1.3 THEORETICAL BACKGROUND

1.3.1 Overview of Front-End

HTML, Bootstrap and jQuery for Website App Front-End

HTML for Website App Front-End

HTML, which stands for HyperText Mark-Up Language, is the language for
describing structured documents as well as the language used to create web pages in the

12
Internet. The language is based on an existing, international formatting standard SGML,
Standard Generalized Mark-Up Language, which is used for text processing.

HTML is a simplified version of SGML.

Significant Language Features:

 HTML files are written in ASCII text, so the user can use any text editor to create
his/her web page, through a browser of one sort or another is necessary to view
the web page.
 HTML is case insensitive with its language commands. The characters within the
document, however, are case sensitive. The language consists of various "tags"
which are known as elements. These allow the browser to understand (and put
into the desired/specified format) the layout, background, headings, titles, lists,
text and/or graphics on the page. The elements are classified according to their
function in the HTML document.
 There are head elements and body elements. The head elements identify
properties of the entire document, while body elements actually mark text as
content and show a change in the appearance in one way or another.
 Most elements have a beginning and an ending which encompass the text the
user wishes to mark with the tag. All HTML documents must begin with the
element and end with the element. Some of the other elements which may be
used are tags to create lists--both ordered lists as well as unordered lists. The user
may also create larger or smaller, bolder, italicized, or underlined text.
 Attributes may be used along with the elements. These perform functions such as
placement of text, an indication of the source files of images, and identification
of links to the document or part of the document.

Bootstrap for Website App Front-End

Bootstrap is a powerful front-end framework for faster and easier web


development. It includes HTML and CSS based design templates for common user
interface components like Typography, Forms, Buttons, Tables, Navigations,
Dropdowns, Alerts, Modals, Tabs, Accordion, Carousel and many other as well as
optional JavaScript extensions.

Bootstrap also gives you ability to create responsive layout with much less effort.

Advantages of Bootstrap

 The biggest advantage of using Bootstrap is that it comes with free set of tools
for creating flexible and responsive web layouts as well as common interface
components.

 Additionally, using the Bootstrap data APIs you can create advanced interface
components like Scrollspy and Typeaheads without writing a single line of
JavaScript.

Here are some more advantages, why one should opt for Bootstrap:

13
 Save lots of time
 Responsive features
 Consistent design
 Easy to use
 Compatible with browsers
 Open Source

jQuery for Website App Front-End

jQuery is opensource concise and fast JavaScript library created by John Resig in
2006. The main purpose of jQuery is to make it easy to use JavaScript. It simplifies the
interaction between JavaScript and HTML Page. The main motto of jQuery is Write less,
Do more means jQuery takes a lot of JavaScript code and wraps it into jQuery functions
that do the same thing in single line of code.

What jQuery can do ?

 jQuery can manipulate HTMl Elements on HTML document, means It can select
any HTML element on the page and manipulate that element.

 It can add events on jQuery elements like what should happen when a user click
on a button, what should happen when user hover mouse on any element etc.

 It can change CSS of any HTML element dynamically.

 It can add effects and animation.

 It simplifies Ajax by the use of easy to use APIs.

 It provides more extensibilities by using plug-ins.

Flutter Framework for Mobile App Front-End

Flutter is a free and open-source mobile UI framework created by Google and


released in May 2017. In a few words, it allows you to create a native mobile application
with only one codebase. This means that you can use one programming language and
one codebase to create two different apps (for iOS and Android).

Flutter consists of two important parts:

14
 An SDK (Software Development Kit): A collection of tools that are going to help
you develop your applications. This includes tools to compile your code into
native machine code (code for iOS and Android).
 A Framework (UI Library based on widgets): A collection of reusable UI
elements (buttons, text inputs, sliders, and so on) that you can personalize for
your own needs.
To develop with Flutter, you will use a programming language called Dart. The language
was created by Google in October 2011, but it has improved a lot over these past years.

1.3.2 Overview of Back-End

Flask with Firestore Database

Flask is a web framework. This means flask provides you with tools, libraries
and technologies that allow you to build a web application. This web application can be
some web pages, a blog, a wiki or go as big as a web-based calendar application or a
commercial website.

15
Flask is part of the categories of the micro-framework. Micro-framework are
normally framework with little to no dependencies to external libraries. This has pros
and cons. Pros would be that the framework is light, there are little dependency to update
and watch for security bugs, cons is that some time you will have to do more work by
yourself or increase yourself the list of dependencies by adding plugins. In the case of
Flask, its dependencies are:

 Werkzeug a WSGI utility library


 jinja2 which is its template engine

features of Flask:

 The documentation and developer tools are excellent, and the OpenShift cloud
has built-in support for it with free accounts
 The Flask "core" is simple, but there are a large number of extensions which
integrate with it very well
 Flask is actively maintained and developed
 It's based on Python, which is an excellent programming language for rapid high-
level application development that offers useful libraries for many other things

16
2. SYSTEM ANALYSIS

2.1 EXISTING SYSTEM


2.1.1 Limitation of Existing System

● In the current system, all the advertising is done directly and records are
maintained by individual distributor software as it has been spread almost
multiple countries and so it was doing manually to maintain a record by the main
owner which was taking so much of time.
● Manual hours that need to be spent in record keeping and generating reports are
more.
● Easy access for hackers to launch spam attacks and commit fraud such as identity
theft.
● Increase the possibility of people being targeted to online scams resulting in data
or records theft.
● Leads to diminished productivity if people are engaged in activities such as
updating profiles and the like.
● Possibilities of photos being uploaded on social media to be misused or altered.
● Issues related to privacy if someone hacks the accounts.

17
2.2 Proposed System

● The bonding between members of a community is greatly enhanced through


communication. Proposed system is a platform for Indian Communities that wish
to join hands through internet.
● This project deals with advertising of products related to their business.
● Basically, the project describes how to manage for records of people, searching
of peoples.
● The main objective of the development of this project are as follows:
i. To provide the information of Families, attribute, admin, Connection and
Compatibility.
ii. To manage records of users.
iii. To manage the particular records of users.
User can easily check the product through the Mobile app with the latest
updating of the product.
● The latest Advertisements will be updated by admin in website, which is
Exclusive panel for handling ad spaces.
● The User can see News Updates, View regional news on the go.

18
● The User can keep overview track of the advertisement which he/she has been
posted.
● The User can upload images, for a variety of events.

2.3 GANTT CHART


● Gantt chart is a type of a bar chart that is used for illustrating project schedules.
Gantt charts can be used in any projects that involve effort, resources, milestones
and deliveries.
● At present, Gantt charts have become the popular choice of project managers in
every field.
● Gantt charts allow project managers to track the progress of the entire project.
● Through Gantt charts, the project manager can keep a track of the individual
tasks as well as of the overall project progression.
● In addition to tracking the progression of the tasks, Gantt charts can also be used
for tracking the utilization of the resources in the project.
● These resources can be human resources as well as materials used.
● Gantt chart was invented by a mechanical engineer named Henry Gantt in 1910.
● Since the invention, Gantt chart has come a long way. By today, it takes different
forms from simple paper based charts to sophisticated software packages.

19
2.4 FEASIBILITY STUDY
A feasibility study is a detailed analysis of a company and its operations that is
conducted in order to predict the results of a specific future course of action. Small
business owners may find it helpful to conduct a feasibility study whenever they
anticipate making an important strategic decision. For example, a company might
perform a feasibility study to evaluate a proposed change in location, the acquisition of
another company, a purchase of major equipment or a new computer system, the
introduction of a new product or service or the hiring of additional employees. In such
situations, a feasibility study can help a small business manager understand the impact of
any major changes they might contemplate.
The feasibility study will help you accurately anticipate what will and will not
work in varied situations. You will be able to determine what resources are essential to
complete varied situations and gain an understanding of how to draw on your strengths.
Various types of Feasibility study we have done are Technical, Operational and
Financial which are equally important.
1. Operational Feasibility
2. Technical Feasibility
3. Economical Feasibility

20
2.4.1 Operational Feasibility
Operational Feasibility is a measure of how well a proposed system solves the
problems and takes advantage of the opportunities identified during scope definition and
how it satisfies the requirements identified in the requirements analysis phase of system
development.
Operational Feasibility is mainly concerned with issues like whether the system
will be used if it is developed and implemented. Whether there will be resistance from
users that will affect the possible application benefits? The essential questions that help
in testing the operational feasibility of a system are following:
● Does management support the project?
● Are the users not happy with current business practices? Will it reduce the
time (operation) considerably? If yes, then they will welcome the change
and the new system.
● Have the users been involved in the planning and development of the
project? Early involvement reduces the probability of resistance towards
the new system.
● Will the proposed system really benefit the organization? Does the overall
response increase? Will accessibility of information be lost? Will the
system affect the customers in considerable way?

2.4.2 Technical Feasibility

In Technical Feasibility the following issues are taken into consideration.


● Whether the required technology is available or not.
● Whether the required resources are available -
➢ Manpower’s
➢ Programmers
➢ Testers & Debuggers
➢ Software and hardware
Once the technical feasibility is established, it is important to consider the
monetary factors also. Since it might happen that developing a particular system may be
technically possible but it may require huge investments and benefits may be less. For
evaluating this, economic feasibility of the proposed system is carried out.This includes:-
➢ Facility to produce outputs in time.
➢ Capacity of holding required data.
➢ Acceptance of upgraded or developed system.
➢ Guarantee of accuracy and reliability.
➢ Easiness of accessing data security.

2.4.3 Economical Feasibility

For any system if the expected benefits equal or exceed the expected costs, the
system can be judged to be economically feasible. In economic feasibility, cost benefit
analysis is done in which expected costs and benefits are evaluated. Economic analysis is
used for evaluating the effectiveness of the proposed system.

In economic feasibility, the most important is cost-benefit analysis. As the name


suggests, it is an analysis of the costs to be incurred in the system and benefits derivable
out of the system. Since the system is developed as part of project work, there is no

21
manual cost to spend or the proposed system. Also all resources are already available, it
give an indication of the system is economically possible for development.

2.5 DEVELOPMENT MODEL


Prototyping Model

Software prototyping refers to the activity of creating prototypes of software


applications i.e., incomplete versions of the software program being developed. A
Prototype typically stimulates only a few aspects of the final product.

The original purpose of a prototype is to allow users of the software to evaluate


developers proposals for the design of the eventual products by actually trying them out,
rather than having to interpret and evaluate the design based on description.

Incremental Prototyping

The final product is built as separate prototypes. At the end the separate
prototypes are merged in an overall design.

22
Process of Prototyping

The process of prototyping involves the following steps:

1. Identify basic requirements

Determine basic requirements including the input and output information


desired. Details, such as security can typically be ignored.

2. Develop Initial Prototype

The initial prototype is developed that includes only user interfaces.


Review the customers, including end-users, examine the prototype and provide
feedback on additions or changes.

3. Revise and Enhance the prototype

Using the feedback both the specifications and the prototype can be
improved. Negotiation about what is within the scope of the contract/product
may be necessary. If changes are introduced, then a repeat of step 3 and 4 may be
needed.

Roles of Prototypes

The roles that prototype play in the product development process are several.
They include the following:
● Experimentation and learning
● Testing and proofing
● Communication and interaction.

23
24
3. SOFTWARE
REQUIREMENT
SPECIFICATION

3.1 SRS(SOFTWARE REQUIREMENT SPECIFICATION)


3.1.1 Introduction

A Software Requirement Specification (SRS) is a description of a software


system to be developed. It lays out functional & non-functional requirements, and may
include a set of use cases that describe user interactions that the software must provide.

Software Requirement Specification establishes the basis for an agreement


between customers and contractors or suppliers ( in market-driven projects these roles
may be played by the marketing and development divisions) on what the software
product is to do as well as what it is not expected to do. Software Requirement
Specification permits a rigorous assessment of requirements before design can begin and
reduces later redesign. It should also provide realistic basis for estimating product costs,
risks and schedules. System design is the process of defining the architecture,
components, modules, interfaces and data for a system to satisfy specified requirements.

25
Types of Requirements

Sr.No Requirements Description


1 Functional Requirements Functional requirements explain what has to be
done by identifying the necessary task, action or
activity that must be accomplished. Functional
requirements analysis will be used as the top-level
functions for functional analysis.

2 Non-Functional In systems engineering and requirements


Requirements engineering, a non-functional requirement is a
requirement that specifies criteria that can be used
to judge \the operation of a system, rather than
specific behaviors.

3 Behavioral Requirements Behavioral requirements of the system are


described using use case view.

4 Performance Requirements The extent to which a mission or function must be


executed generally measured in terms of quantity,
quality, coverage, timeliness or readiness.

5 Design Requirements The “build to”, “code to” and “buy to” requirements
for products and “ how to execute” requirements for
processes expressed in technical data packages and
technical manuals.

3.1.2 Selection of Technology

For Implementing this project, Android Studio and Flutter Framework


and Flask with Firestore Database are used as an software platform.

3.1.2.1 Hardware to be Used


Processor : Intel Core i3 Processor and onwards
RAM : 8GB RAM or more
Hard Disk : 250GB or more

3.1.2.2 Software to be Used

Front-End for Mobile App : Flutter Framework


Front-End for Website App : HTML, Bootstrap, jQuery
Back-End : Flask

26
Operating System : Ubuntu, Mac, Windows any more

3.1.2.3 Tools to be used

● Android Studio
● Firestore

3.2 MODULES

There is mainly two module in Mobile App.

1. Admin Module
In this module user can: -

● Change setting of country and language as per user wish.


● Search Connection, Compatibility
● Manage Account
● Add/Edit/Delete Address

2. User Module
In this module user can: -

● Can search for the Person


● Change setting of contact and language as per user wish.
● Search Connection, Compatibility
● Add/Edit/Delete Posts

27
4. SYSTEM DESIGN

4.1 FUNCTIONAL SPECIFICATION


A functional Specification is a document detailing the client's
requirements for an application. Typically, the client has a high-level view of
what they want the application to do and it is the job of the Functional
Specification to take that high level view and provide the details of what it does,
how it is used, and what it looks like. By creating a blueprint of the application
first, time and productivity are saved during the development stage.

It's much easier to change functionality around in a Word document, or


rework a couple mockups in PhotoShop, than it is to reprogram an entire
application because the client suddenly thought of a critical piece that's very
important to them.

A Functional Specification can also serve as a deliverables document,


thereby managing the expectations of both parties. If the Specification has been

28
written and approved by the client, then the client must renegotiate to have
anything modified or change once it is in production. This saves the developer
from having to "wing it" while under a tight deadline, but also means you will be
responsible for delivering exactly what you agreed to deliver.

4.2 USE CASE DIAGRAM


A use case is a use case diagram is a visual representation of distinct
business Functionality in a system. The key term here is distant business
functionality. To choose a business process as a likely candidate for modeling
as a use case, you need to ensure that the business process is discrete in nature.
As the first step in identifying use cases, you should list the discrete business
functions in your problem statement. Each of these business functions can be
classified as a potential use case.
Use case diagrams are used to gather the requirements of a system
including internal and external influences. These requirements are mostly
design requirements. Hence, when a system is analyzed to gather its
functionalities, use cases are prepared and actors are identified. When the initial
task is complete, use case diagrams are modelled to present the outside view.

4.2.1. User Use Case Diagram for Mobile App

29
4.2.2 Admin Use Case Diagram for Website Portal

30
4.3 ACTIVITY DIAGRAM

31
Activity diagrams illustrate the dynamic nature of a system by modeling
the flow of control from activity to activity. An activity represents an operation
on some class in the system that results in a change in the state of the system.
Typically, activity diagrams are used to model workflow or business processes
and internal operation.

4.3.1 User Login

4.6 SEQUENCE DIAGRAM

32
A sequence diagram shows object interactions arranged in time sequence. It
depicts the objects and classes involved in the scenario and the sequence of messages
exchanged between the objects needed to carry out the functionality of the scenario.
Sequence diagrams are typically associated with use case realizations in the Logical
View of the system under development. Sequence diagrams are sometimes called event
diagrams or event scenarios. A sequence diagram shows, as parallel vertical lines
(lifelines), different processes or objects that live simultaneously, and, as horizontal
arrows, the messages exchanged between them, in the order in which they occur. This
allows the specification of simple runtime scenarios in a graphical manner.

33
5. DATABASE DESIGN

34
5.1 general-posts

35
5.2 Storage

36
5.3 Authentication

37
5.4 Functions

38
6. SCREEN LAYOUT

39
6.1 Phase 1 Samaj Youth Mobile UI Screen

6.1.1 Samaj Youth


6.1.1.1 Screen 1 6.1.1.2 Screen 2

40
6.1.1.2 Screen 3 6.1.1.2 Screen 4

41
6.1.2 Login 6.1.2.1 Login Details

42
6.1.3 Home Page 6.1.4 News

43
6.1.5 Side menu 6.1.6 notification

44
6.1.7 Add profile details 6.1.7.1 Add profile details

45
6.1.7.2 Add profile details 6.1.7.3 Add profile details

46
6.1.7.2 Add profile details 6.1.7.3 Add profile details

47
6.1.8 Notification window 6.1.9 News window

48
6.1.9 Search

49
6.1 Phase 2 Samaj Youth Admin Panel UI Screen

6..2.1 Log in page

6.2.2 Login in

50
6.2.3 Dashboard

6.2.3 Advertisement

51
7. TESTING

52
7.1 INTRODUCTION OF TESTING
Coding: -

Due to company’s policy and IPR i.e. Intellectual Property Rights Code has not
been mentioned in this document.

7.1 Introduction of Testing: -

Testing is the process of evaluating a system or its component(s) with the intent
to find whether it satisfies the specified requirements or not. Testing is executing a
system in order to identify any gaps, errors, or missing requirements in contrary to the
actual requirements.
The Test Members and the Development Members were not formally separated.
The developers worked in pairs, with one person developing the test cases and the other
writing the functionality for the module. There was much more interaction among team
members than there in traditional development model. Project development began with
formal design document.
The testing was primarily based on the tasks for feature development. The
development team got immediate feedback from the test members. Having the test team
create the quick start samples gave the development team a perspective on the real-life
usage of the application block.
After the task passed all of the test cases and was complete, quick start samples
were developed to showcase the functionality. The quick start samples demonstrated the
usage of the application block and were useful for further testing the code in the
traditional way (functional and integration tests)/
Any discrepancies found in this stage were reported immediately and were fixed
on a case-by-case basis. The modified code was tested again with the automated test
suites and then was handed over to be tested again with the quick start samples.

53
7.2 TYPE OF TESTING
1. Manual Testing
2. Automation Testing

7.2.1 Manual Testing

Manual testing includes testing a software manually, i.e., without using any
automated tool or any script. In this type, the tester takes over the role of an end-user and
tests the software to identify any unexpected behavior or bug. There are different stages
for manual testing such as unit testing, integration testing, system testing, and user
acceptance testing.
Testers use test plans, test cases, or test scenarios to test a software to ensure the
completeness of testing. Manual testing also includes exploratory testing, as testers
explore the software to identify errors in it.

7.2.2 Automation Testing

Automation testing, which is also known as Test Automation, is when the tester
writes scripts and uses another software to test the product. This process involves
automation of a manual process. Automation Testing is used to re-run the test scenarios
that were performed manually, quickly, and repeatedly.

Apart from regression testing, automation testing is also used to test the
application from load, performance, and stress point of view. It increases the test
coverage, improves accuracy, and saves time and money in comparison to manual
testing.

54
7.3 METHODS OF TESTING
1. White Box Testing
2. Black Box Testing
7.3.1 White Box Testing

White-box testing is the detailed investigation of internal logic and structure of


the code. White-box testing is also called glass testing or open-box testing. In order to
perform white-box testing on an application, a tester needs to know the internal workings
of the code. The tester needs to have a look inside the source code and find out which
unit/chunk of the code is behaving inappropriately.

Advantages:

● As Knowledge of internal coding structure is prerequisite, it becomes


very easy to find out which type of input/data can help in testing the
application effectively.
● The other advantage of white box testing is that it helps in optimizing the
code.
● It helps in removing the extra lines of code, which can bring in hidden
defects.

7.3.2 Black Box Testing

Black box Testing is used by Test Team, as a testing strategy, which does not
need any knowledge of internal design or code/”Black box” suggests no knowledge of
internal logic or code structure is required.The tester is oblivious to the system
architecture and does not have access to the source code. Typically, while performing a
black-box test, a tester will interact with the system's user interface by providing inputs
and examining outputs without knowing how and where the inputs are worked upon.
The base of the Black Box Testing strategy lies in the selection of appropriate
data as per functionality and testing it against the functional specifications in order to
check for normal and abnormal behavior of the system.
The Implement Black Box testing strategy, the Test Team is through with the
requirement specifications of the system and as a user, should know how the system
should behave in response to the particular action.

Black Box Testing types:

These Testing types are again divided in two groups:


A. Testing in which user/client plays a role of tester and
B. User/Client is not required.

55
7.4 LEVEL OF TESTING
1. Functional Testing
2. Non-functional Testing

7.4.1 Functional Testing

This is a type of black-box testing that is based on the specifications of the


software that is to be tested. The application is tested by providing input and then the
results are examined that need to conform to the functionality it was intended for.
Functional testing of a software is conducted on a complete, integrated system to
evaluate the system's compliance with its specified requirements.

Unit Testing

This type of testing is performed by developers before the setup is handed over to
the testing team to formally execute the test cases. Unit testing is performed by the
respective developers on the individual units of source code assigned areas. The
developers use test data that is different from the test data of the quality assurance team.

Integration Testing

Integration testing is defined as the testing of combined parts of an application to


determine if they function correctly. Integration testing can be done in two ways:
Bottom-up integration testing and Top-down integration testing.

System Testing
System testing tests the system as a whole. Once all the components are
integrated, the application as a whole is tested rigorously to see that it meets the
specified Quality Standards. This type of testing is performed by a specialized testing
team.

Regression Testing

Whenever a change in a software application is made, it is quite possible that


other areas within the application have been affected by this change. Regression testing
is performed to verify that a fixed bug hasn't resulted in another functionality or business
rule violation. The intent of regression testing is to ensure that a change, such as a bug
fix should not result in another fault being uncovered in the application.

Acceptance Testing

This is arguably the most important type of testing, as it is conducted by the


Quality Assurance Team who will gauge whether the application meets the intended

56
specifications and satisfies the client’s requirement. The QA team will have a set of pre-
written scenarios and test cases that will be used to test the application.

Alpha Testing

This test is the first stage of testing and will be performed amongst the teams
(developer and QA teams). Unit testing, integration testing and system testing when
combined together is known as alpha testing.

Beta Testing

This test is performed after alpha testing has been successfully performed. In beta
testing, a sample of the intended audience tests the application. Beta testing is also
known as pre-release testing. Beta test versions of software are ideally distributed to a
wide audience on the Web, partly to give the program a "real-world" test and partly to
provide a preview of the next release.

7.4.2 Non-Functional Testing

Non-functional testing involves testing a software from the requirements which


are nonfunctional in nature but important such as performance, security, user interface,
etc.

Performance Testing

It is mostly used to identify any performance issues rather than finding bugs in a
software.

Load Testing
It is a process of testing the behavior of a software by applying maximum load in
terms of software accessing and manipulating large input data. It can be done at both
normal and peak load conditions. This type of testing identifies the maximum capacity of
software and its behavior at peak time.

Usability Testing

Usability testing is a black-box technique and is used to identify any error(s) and
improvements in the software by observing the users through their usage and operation.

57
8. SYSTEM MAINTENANCE
& EVALUATION

58
8.1 SYSTEM MAINTENANCE
Once the website is successfully uploaded on the web server and Mobile app has
been uploaded successfully in google play store and App Store for iphone device, it may
undergo some changes. This may occur due to change in the requirements, change in the
operational environment or an error in software, which has not been fixed while testing.
The proper follow up of the system and error solving in post implementation phase is
called as system maintenance.
Maintenance is a very important phase. The maintenance of the website and
mobile app require:
● As per the requirement changes, have to make changes into the application
and system.
● The company will have to evaluate the feedbacks of the users and make
necessary changes in website and mobile app.
The maintenance activity consists of following tasks:
I. Backup
II. Diagnostic
III. Integrity Changes
IV. Recovery
V. Design Changes
VI. Performance Testing

59
8.2 System Evaluation
● The evaluation aims at the determination of the degree of desired qualities of a
finished system.
● The evaluation aims to determine the weakness of software such that the result
generates suggestions for further development.

60
9. LIMITATION

61
LIMITATION
1. Multiple photos can not be uploaded at same time.

2. Individual post cannot be share on different platform.

3. In real time, cannot display likes and views.

4. Lack of interactivity if not signed up.

5. Restricted UI/UX .

62
10. CONCLUSION

63
CONCLUSION

After successful implementation of modules of the Samaj Youth project


we conclude the following points:

● The Mobile Application and website has been developed by our team with great
effort and dedication.
● It has been tested for all possible expectations keeping in mind, the primary
requirement of mobile application and website.
● The purpose of this project was to develop a web application and mobile app for
connecting people from mobile app.
● The system has been developed with much care and almost free of error and at
the same time it is efficient less time consuming.
● This experience has enriched our knowledge of developing software and has
proved to be stepping stone in our career, also the project give us a lot of
knowledge about the education field which will help us in our career.

64
11. FUTURE ENHANCEMENT

65
FUTURE ENHANCEMENT

● We think that not a single project is ever considered as complete forever because
our mind is always thinking new and our necessities also are growing.
● Our application also, if you see at the first glance that you find it to be complete
but we want to make it still mature and fully automatic.
● As system is flexible you can view latest posts anytime as and when required.
● The system is modified in future as per the owner requirement.
● In this system we will further launch the mobile app in other countries and
expand our system throughout everywhere.

66
12. BIBLIOGRAPHY

67
BIBLIOGRAPHY

Book Reference:
● The art of a software Testing(3rd Edition)

Author-Glenforth 3 Myers

● Software Engineering - A Practitioner’s Approach 5/e

-Roger R Pressman

● HTML(The Complete Reference)

● CSS(Cascading Style Sheet)

References Sites:

● www.google.com

● www.w3school.com

● www.stackoverflow.com

● www.tutorialpoints.com

● www.wikipedia.com

68

You might also like