TABLE OF CONTENTS
I. Acknowledgement 01
2. Introduction 02
3. Objectives of the project 02
4, Proposed system
System Development Life Cycle
5, (SDLC) 04
6. Phases of SDLC 05
7. Source Code
8. Output 16
9. Testing
Il. Bibliography 34
ACKNOWLEDGEMENT
Primarily, I would like to express my deep sense Of gratitude to God
for giving me strength for the successful completion of the project
Then I would like to express my special thanks of gratitude to my IP
teacher Mrs. Prajakta Kalgaonkar as well as our principal Mrs. Alka
Awasthi who gave me the golden opportunity to do this wonderful
project on the topic "SOCIAL MEDIA SITE USER
MANAGEMENT SYSTEM", which also helped me in doing a lot of
research and I came to know about so many new things.
Secondly. I would also like to thank my parents and friends who
helped me a lot in finishing this project within the limited time frame,
Debshfi Chatterjee
A social media user management system is a software that is designed to
manage the functions related to user management Of a social media site It
is used to maintain large records of users- It helps the admin or the
database administrator or manager to maintain the database of new and
existing users. any kind of user information. search users. get user insights.
update user information, edit information. retrieve information, user login
and Sign up. accurate data about users. analytics. etc.
The purpose of a social media site user management system is to 'build an
application program to reduce the cumbersome impact of a relatively large
database and to provide instant and accurate data about user. to maintain
large records Of users. account Status user activity, analytics, to get
insights Of users. keep user information. etc. securely, quickly and
efficiently thereby saving a lot of time and effort and ensuring data security
and integrity.
Proposed system is an efficient and fast user management system for
social media sites. Through this software; the admin or the database
administrator or manager of the site can maintain a large data of their
users. Store any kind of user information. search users. get user insights,
update user information. edit information. retrieve information. user login
and Sign up. accurate and minutest details Of their users in quick time.
This proposed system has the following advantages:
user Friendly Interface
Fast access to Database
More Storage Capacity
Less Error
Complete Data Protection
Look and Feel Environ ment
All the difficulties or managing a bulky and complicated user database for
social media Sites have been rectified through various easiest and simplest
database management softwares.
SYSTEM DEVELOPMENT LIFE
CYCLE
The systems development life cycle is a project management technique that
divides complex projects into smaller. more easily managed segments or
phases, Segmenting projects allows managers to verify the successful
completion of project phases before allocating resources to subsequent
Software development projects typically include initiation. planning. design.
development, testing, implementation, and maintenance phases. However,
the phases may be divided differently depending on the organization
involved.
PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE
Initiation Phase
The initiation phase is the beginning of the project- In this phase. the idea
for the project is explored and elaborated. The goal of this phase is to
examine the feasibility Of the project. in addition. decisions are made
concerning who is to carry out the project. which party (or parties) will be
involved and whether the project has an adequate base of support among
those who are involved.
in this phase. the current or prospective project leader writes a proposal,
Which contains a description Of the above-mentioned matters. Examples
Of this type of project proposal include business plans and grant
applications, The prospective sponsors of the project evaluate the proposal
and. upon approval, provide the necessary financing. The project officially
begins at the time of approval.
System Concept Development Phase
The Concept Development Phase may begin after the approval of the
Concept Proi»sal and Project Charter, the completion of the Initiation
project Status review. and the approval to proceed to the Concept
Development Phase.
The focus of the phase is two-fold:
i) evaluate feasibility ofalternatives
2) clearly define and approve project scope, including the system, all
deliverables. and all required activities.
The Concept Development Phase activities are inputs into the
development Of the ITPR, which is a required output of this phase.
Phase
Planning
The planning stage (also called the feasibility stage) the phase in which
developers will plan for the upcoming project. It helps to define the
problem and scope Of any existing systems, as well as determine the
objectives for their new systems. By developing an effective outline for the
upcoming development cycle, they'll theoretically catch problems before
they affect development. And help to secure the funding and resources they
need to make their plan happen.
Perhaps most importantly, the planning stage sets the project schedule,
which can be of key importance if development is for a commercial
product that must be sent to market by a certain time.
Analysis Phase
The analysis stage includes gathering all the specific details required
for a new system as well as determtnjng the first ideas for prototypes.
Developers may:
• Define any prototype system requirements
• Evaluate alternatives to existing prototypes
• Perform research and analysis to determine the needs of end-users
Furthermore. developers will often create a software requirement
specification or SRS document.
This includes all the specifications for software, hardware. and network
requirements for the system they plan to build. This will prevent them from
overdrawing funding or resources When working at the same place as
Other development teams.
Design
The design stage is a necessary precursor to the main developer stage.
Developet•s will first outline the details for the overall application,
alongside specific aspects, such as its:
User interfaces
Phase
System interfaces
Network and network requirements
Databases
They'll typically turn the SRS document they created into a more logical
structure that can later be implemented in a programming language.
Operation, training and maintenance plans will all be drawn up so that
developers know what they need to do throughout every stage of the
cycle forward.
Once complete. development managers Will prepare a design document
to be referenced throughout the next phases of the SDLC.
Development Phase
The development stage is the part where developers actually write code
and build the application according to the earlier design documents and
outlined specifications.
This is where Static Application Security Testing or SAST tools come
into play.
Product program code is built per the design document specifications. In
theory, all Of the prior planning and outlined should make the actual
development phase relatively straightforward.
Developers will follow any coding guidelines as defined by the
organization and utilize different tools such as compilers, and
interpreters.
Programming languages can include staples such as Python, C++, PHP,
and more. Developers Will choose the right programming code to use
based on the nrniøct soecifications and reauirements
Testing
The software must be tested to make sure that there aren't any bugs and
that the end-user experience Will not negatively be affected at any
point. During the testing stage, developers will go over their software
Phase
with a fine• tooth cornb. noting any bugs or defects that need to be
tracked. fixed. and later retested.
It's important that the software overall ends up meeting the quality
standards that were previously defined in the SRS document.
Depending on the skill of the developers. the complexity of the
software. and the requirements for the end-user. testing can either be
an extremely short phase or take a very long time.
Implementation and Integration Phase
After testing the overall design for the software Will come together.
Different modules or designs will be integrated into the primary source
code through developer efforts. usually by leveraging training
environments to detect further errors or defects,
The information system will be integrated into its environment and
eventually installed- After passing this stage, the software is
theoretically ready for market and may be provided to any end-users.
Maintenance Phase
The SDLC doesn't end when software reaches the market, Developers
must now move into a maintenance mode and begin practicing any
activities required to handle issues reported by end-users-
Furthermore, developers are responsible for implementing any changes
that the software might need after deployment.
This can include handling residual bugs that were not able to be
patched before launch or resolving new issues that crop up due to user
reports.
Larger systems may require longer maintenance stages compared to
smaller systems.
Disposition Phase
The Disposition Phase is the end of an information system's life cycle.
The information system is formally retired according to organizational
needs. laws and regulations. and the Disposition Plan. The disposition
activities ensure that the information system is terminated in an orderly
manner and that vital information about the system is preserved
according to applicable records management regulations and policies for
future access.
The decision to proceed with the Disposition Phase is based on
recommendations and approvals from an In-Proeess Review during the
Operations and Maintenance Phase,
SOURCE COPE
import pandas as pd import
matplotlib-pyplot as
import datetime import time
def menu():
print()
print() print(- •> Data s) pnntC t ) Reading file
without index') printC 2) Reading file with new
column printC 3) Sorting the values in
ascending Data printC 4) Line
plon
5) Bar Plot•)
6)
Horizont:ai bar
menu()
#For Option (1)
def
dtzpd.read_
dfl 'latin•
print( " Reading file without irgiex
—.•) time.sleep( ) print(
#For Option
(2)
def new_colnames():
tin-
pdset_optionC displaymax_columns-sone)
pd.set_opuonC display,width-.None)
pd.set_opoonC dil CONTACT NU MBEKI
dl.head() print ('Reading file with new names
—') timesleep(4) print (d:r)
#For Option (3)
del
'lati n• 1
pd.set_optionCdisplay.wid th •Sone)
expand.frame _re«false)
'Mobile NCI — df1Mobi1e NL'1astypeC1nt64')
dihead( ) df.sort_
Name'l.inJAace=Tnw) print( "Sorting the in
ascending Oder0t time-sleep(4) print(df)
#For Option (4)
def
#For Option
(5)
def
Age Groups') pit-ylabel("
No- of users-j print( •Creating bar
chart:) timesl eep( 4) print( •Bar
chart created successfully!") times
leep(l)
#For Option (6)
def
\socia
plcylabel( -Countries") pit. of users
from different countries") print ("Creating
horizontal bar chart—") timesleep(4) print
("Horizontal bar chart created successfully!")
time.sleep(l) PILShOW()
#For Option (7)
dfVMobiIe No:] dfl'Mobile No.•JastypeClnt64 )
def
,encodingz•latin-
di.head() print( *Fetching the middle row from
the file— timesleep(4)
(8)
def
df—pd
pdset_o
pd.set_o
pd.set
dfl•MobiJe df-head() print (• Fetching top 4 row•s from the file:) time
Sleep( 4)
time sleep(l) print C) print ("Fetching last
6 rows from the file—-) timesleept4)
print (df.tail(6))
#For Option (9)
defduplicate():
#For Option
your duplicate file
•latin•
1 c)
pdset_o ption(•expand. fram e_repr•.False) dfI'MobiIe No.•l dfI'Mobile
No.•l.astypeClnt64') print ('Please Wait— Duplicate Vile is being created
timesleep(4) print
("Duplicate file with the
created successfully! time
sleep(Z) print(df)
#For Option (10)
def ng=lati
dll 'Mobile No.' I dfhe.d( ) dfl Mobile
inplace True)
NaN values Of the file:)
time-sleep( 4) print (do print ("Successfully
replxed NaNs with
#For Option (11)
def
prim(users)
print O users.to_csvCC
time sleep( I ) print (• csv
the time-sleep( 4)
CSV 'user-detailscsv' cre*ed succ«stuny")
#For Option (12)
def print (• Reading the previotBly creatai csv file
timesleep( 4) pnnt()
_user.
pnntcread-usetudetads)
#For choosing Options and execution of commands
while True:
Enter your to 12):
rww.colnames()
elif opt—z 3:
OUTPUT
#Menu
# i「op =1 :
#ifopt==2:
#if
#if
-Y Enter your choice (1 to 12): a
•reating line chart. .
Line chart created successfully!
-Y Do you wish to continue? -Y/N
#if
Enter your choice (1 to 12): 6 reating
horizontal bar chart. izontal bar chart
created successfully!
Do you wish to continue? -Y/N y
#ifop
:
1
#if opt—zl 1:
1
c
1 Name Age Country
2 Ada Braun 20 Germany
3 Rakhi Soni 44 India
4 Derek Tyson 29 Australia
5 Anuj
6 Sharma31 India
Lucas Cabello 23 Mexico
#ifopt==12:
#ifopt is invalid (not in 1-12):
Enter your choice (1 to 12): 7900
Invalid input! Please choose a valid option (1 to 12)
Enter your choice (1 to 12):
#ifch is invalid (not Y/y or N/n):
Do you wish to continue? -Y/N jklm
Invalid input! Press Y /y for • Yes t or N/n for • No
t
Do you wish to continue? -Y/N
#ifch is No (N In):
TESTING
Software Testing is an empirical investigation conducted to provide
stakeholders With information about the quality Of the product or
service under test, with respect to the context in which it is intended to
operate Software Testing also provides an objective, independent view
of the software to allow the business to appreciate and understand the
risks at implementation Of the software. Test techniques include, but
are not limited to, the process of executing a program or application
with the intentof finding software bugs.
It can also be stated as the process of validating and verifying that a
software program/application/product meets the business and technical
requirements that guided its design and development. so that it works
as expected and can be implemented With the same characteristics.
Software Testing, depending on the testing method employed, can be
implemented at any time in the development process, however the
most test effort is employed after the requirements have been defined
and coding process hasbeen completed,
TESTING METHODS
Software testing methods are traditionally divided into black box testing
and white box testing. These two approaches are used to describe the
pointof view that a test engineer takes when designing test cases.
Black Box Testing
Black Box Testing is a testing technique where no knowledge Of the
internal functionality and structure Of the system is available, This testing
technique treats the system as a black box or closed box. The tester only
knows the formal inputs and expected outputs. but does not know how the
program actually arrives at those outputs. As a result. all testing must be
based on functional specifications. For this reason black box testing is also
considered to be functional testing and is also a form or behavioral testing
or opaque box testing or simply closed box testing. Although black box
testing is behavioral testing. behavioral test design is slightly different
fromblack box test design because internal knowledge may be available in
behavioral testing. It provides external perspective Of the software under
Black box testing methods include: equivalence partitioning boundary
value analysis, all-pairs testing. fuzz testing. model•based testing.
traceability matrix, exploratory testing and specification-based testing,
Specification Based-Testing
Specification-based testing aims to test the functionality Of software
according to the applicable requirements. Thus, the tester inputs data into, and
only sees the output from. the test object, This level of testing usually requires
thorough test cases to be provided to the tester. who then can simply verify
that for a given input, the output value (or behaviour), either "is" or "is not"
the same as the expected value specified in the test case, Specification-based
testing is necessary. but it is insufficient to guard against certain risks.
Advantages of Black Box Testing
Efficient when used on large systems,
Since the tester and developer are independent of each other. testing iS
balanced and unprejudiced.
Tester be non-technical.
There is no need [Or the tester to have detailed functional knowledge of
Tests will be done from an end user's point of view. because the end user
should accept the system, (This testing technique is sometimes also called
Acceptance testing.)
Testing helps to identify vagueness and contradictions in functional
specifications,
Test cases can be designed as soon as the functional specifications are
complete.
Disadvantages of Black Box Testing
• Test cases are challenging to design without having clear fUnctional
specifications.
• It is difficult to identify tricky inputs if the test cases are not developed based
on specifications.
• It is difficult to identify ail possible inputs in limited testing time, As a result,
writing test cases may be slow and difficult'
• There are chances of having unidentified paths during the testing process.
• There is a high probability of repeating tests already performed by the
programmer.
White-box testing
White-box testing (also known as clear box testing glass box testing.
transparent box testing and structural testing) looks inside the software that
is being tested and uses that knowledge as part of the testing process. If. for
example, exception is thrown under certain conditions. test might want to
reproduce those conditions, White-box testing requires internal knowledge
of the system and programming skills. It provides internal perspective of
the software under test.
Types of white box testing:
The following types Of White box testing exist:
• api testing • Testing Of the application using Public and Private APIS.
• Code coverage • creating tests to satisfy some criteria of code coverage.
For example. the test designer can create tests to cause all statements in
the program to be executed at least once.
• fault injection methods.
• mutation testing methods.
• static testing - White box testing includes all static testing,
Code Completeness Evaluation
White box testing methods can also be used to evaluate the
completeness Of a test suite that created With black box testing
methods. This allows the software team to examine parts of a system
that are rarely tested and ensures that the most important function
points have been tested
Two common forms of code coverage are:
• Function Coverage: Which reports on functions executed
• Statement Coverage: Which reports on the number of lines executed tv
complete the test.
They both return coverage metric, measured as a percentage.
Advantages of White Box Testing
Testing can commence even before the GUI is ready.O
As internal functionality is considered. all the possible conditions are
considered and test cases are generated. Hence all the functionalities are
being tested.
It identifies the specific procedure accuracy within the application,
It minutely verifies whether the program can be successfully executed
with other parts of the application.
It identifies error in the hidden code and thus makes debugging process
swift.
It removes extra lines of code which are not required in the program
thereby optimizing the program and increases the efficiency.
As the internal coding of the application is considered while preparing test
cases, it becomes very easy to identify the input and the expected output
data.
It helps in evaluating all the loops and paths,
It can provide stability and usability of the test eases,
Thoroughness achieved in white box testing is far more than black box
testing
Various hidden defects get unearth while conducting clear box testing.
Disadvantages of White Box testing
AS the internal code Of the application has to be considered While
preparing the test cases. skilled testers are required who have knowledge
of programming also. Hence the cost of the resources is high.
It is not possible for the tester to 100k into every bit Of the code and
identify the hidden errors. This may result in failure of the application.
Sometimes a change in the code may be required and thus all the
scenarios may need to be tested again.
White box testing is an exhaustive method.
It takes time to tester to develop the test cases.
Test cases are a waste if changes in the implementation code are done
frequently.
If the application iS large then complete testing through white box
techniques is not feasible.
BIBLIOGRAPHY
Informatics Practices• Class XI By: Sumita Arora
Informatics Practices with Python- Class Xl By: Preeti Arora
Informatics Practices — NCERT T extbook for Class Xl
Website: