SRS Library Managment
SRS Library Managment
)
VINAYNAGARCOLONY,SAIDABAD,HYDERABAD-59
CERTIFICATE
Recordsubmittedforthepracticalexaminationheldon BatchNo.
InternalExaminer ExternalExaminer
BHOJREDDYENGINEERINGCOLLEGEFORWOMEN
ApprovedbyAICTE, AffiliatedJNTU,VinayNagarColony,Saidabad,Hyderabad.
INDEX
Pag Exp
e t Date NameoftheExperiment Signature
no. no.
1-9 1 IntroductiontoSDLC&CaseStudies
10-15 2 IntroductiontoUML
Digital Library Management System
1-2 1 ProblemStatement&Software
RequirementSpecification
3-14 2 DesignModel
15 3 TestingConfiguration
16 4 SoftwareConfigurationManagement
16-17 5 RiskManagement
18-27 6 Screenshots
28 7 Testcases
Eligibility Assistant
29-30 1 ProblemStatement&Software
RequirementSpecification
31-39 2 DesignModel
40 3 TestingConfiguration
41 4 SoftwareConfigurationManagement
41-42 5 RiskManagement
43-48 6 Screenshots
49 7 Testcases
Digital Library Management System
1.PROBLEM STATEMENT
The current library management process lacks an automated notification system to keep
users informed about the status of their borrowed items. This results in delays in
renewal and penalty payments, leading to user dissatisfaction and inefficient library
operations.
1 SOFTWAREREQUIREMENTSPECIFICATION
1.1 FUNCTIONALREQUIREMENTS
1.1 Users can register, log in, and manage their profiles securely.
1.2 The system provides role-based access (User/Admin).
1.3 Search and Browse
1.4 Users can search books by title, author, genre, and availability.
1.5 Display real-time availability for each book.
2 Digital Borrowing and Returning
2.1 Users can borrow available books and update their status in real-time.
2.2 Users can return books digitally, updating inventory instantly.
3 Reservation System
3.1 Users can reserve unavailable books and receive notifications when they
become available.
4 Notifications and Reminders
4.1 Automatic notifications for due dates, overdue penalties, and new book arrivals.
5 Penalty Management
5.1 Automatic calculation of penalties for overdue books.
5.2 Users can view and clear penalties through their account.
6 Admin Dashboard
6.1 Manage book inventory (add, update, remove books).
6.2 View analytics on borrowing trends and overdue records.
7
- 1-
(21321A1279)
7 Loan History Tracking
Non-Functional Requirements:
1. Performance
2. Security
3. Scalability
4. Usability
5. Availability
Processor:Intelcor
RAM: 8GB
RAM
Hard-Disk:1TB
7.3 SOFTWAREREQUIREMENTS
The following are the software requirements with minimum configuration to get
better performance of our application.
OperatingSystem:Windows11
Web servers : Apache Tomcat 9.0
Database:MySQL 5.5 or higher
Connectivity:MySQLDriver
- 2-
(21321A1279)
- 3-
(21321A1279)
8 DESIGNMODEL
8.1USECASEDIAGRAM
The purpose of Usecase diagram is to gather the requirements of a system,
• Use cases
• Actors
- 4-
(21321A1279)
- 5-
(21321A1279)
7.4 CLASSDIAGRAM
A class diagram in the Unified Modelling Language (UML) is a type of static
structure diagramthat describes the structure of a system by showing the
system's classes, their attributes, operations (or methods), and the relationships
among objects.
In the diagram, classes are represented with boxes that contain three compartments:
ClassName
Attributes
Operations
The top compartment contains the name of the class.The middle compartment
contains the attributes oftheclass.Thebottomcompartmentcontainstheoperations
theclasscanexecute.
ModelingClassdiagram
1. Identifythosethingsthat usersusetodescribetheproblem.
2. Providetheattributesandoperationsthatareneededtocarryouttheseresponsibilitie
sforeach class.
3. Identifyasetofclassesthatworktogethertocarryoutsomebehavior.
4. Identifytheattributesandoperationsthatarecommontotwoormoreclasses.
5. Elevatethesecommonresponsibilities,attributes,andoperationstoamore generalclass.
- 6- (21321A1279)
- 7- (21321A1279)
7.5 INTERACTIONDIAGRAM
SEQUENCEDIAGRAM
UML sequence diagrams are used to represent the model that the time ordering
of messages,events (or)actions between the objects andcomponents of
system.Sequence diagrams provides dynamic view of the system.
1. Set the content for the interaction, whether it is a system, subsystem, class, or one of
the scenarios of the use cases.
2. Set the stage for interaction by identifying which objects are involved in the
interaction.
3. Draw the sequence diagram from left to right; placing the more important objects to the
left and their neighboring objects on the right.
4. If you need to visualize the nesting of messages or the points in time when actual
computation is taking place, mention each object's lifeline with focus control.
S R
S R
- 8- (21321A1279)
Fig:SEQUENCEDIAGRAM
- 9- (21321A1279)
- (21321A1279)
10-
7.6 COLLABORATIONDIAGRAM:
A Collaboration Diagram (also called a Communication Diagram) is a type of
interaction diagram used in Unified Modeling Language (UML) to show the
interactions between objects in a system. It emphasizes the roles and relationships of
objects as well as the flow of messages between them, focusing on how objects
collaborate to accomplish a particular task.
Purpose of a Collaboration Diagram
Fig:COLLABORATIONDIAGRAM
- (21321A1279)
11-
7.7ACTIVITYDIAGRAM
It comes under behavioral aspects/dynamic aspects .An activity diagram in
UML is used to describe the dynamic aspects of the system .It is basically a flow
chart representation and the flow of control from one activity to another .The
activity can be described as operations of the system .The control flow is drawn
from one activity to another and the flow of control can be sequential branching
or concurrent .The notations used are
1. Branching-
2. Start-
3. Stop-
4. Activity-
5. Flow control-
6. Join
Fork
- 12 (21321A1279)
Fig : ACTIVITY DIAGRAM
- 13 (21321A1279)
Modeling a State Chart Diagram:
1. States: Identify the different states that an object or system can be in. States represent
specific conditions or situations.
2. Transitions: Define the transitions between states. Transitions describe the events or
conditions that cause the system to move from one state to another.
3. Initial state: Specify the initial state of the system when it starts.
4. Final state: Indicate the final state or states that the system reaches when it completes
its operation.
5. Events: Identify the events or conditions that trigger transitions between states. Events
can be external inputs, internal conditions, or time-based triggers.
- 14- (21321A1279)
7.8 COMPONENTDIAGRAM
Component diagrams are used to model the physical aspects of a system.
Physical aspects are the elements such as executable, libraries, files, documents,
etc. which reside in a node. Component diagrams are used to visualize the
organization and relationships among components in a system. Component
diagram commonly contain: Components, Interfaces and Relationships
Common Uses:
To model Source Code
To model an executable
release To model a
physical database
ModelingaComponentdiagram
1. Begin by identifying the primary components within your system, delineating
high-level entities that encapsulate distinct functionality.
2.Define interfaces for each component, specifying the externally accessible
methods, attributes, or services that enable interaction with other components.
3. Establish relationships between components using appropriate symbols like
arrows, lines, or connectors, representing dependencies, associations,
aggregations, or compositions.
4. Employ ports or connectors to depict the interfaces of each component,
illustrating how they connect and interact within the system.
5. Regularly review and refine the component diagram to ensure it accurately
reflects the evolving architecture of the system.
6. Document your component diagram comprehensively, providing a key or
legend to explain symbols and notations, and share it with stakeholders to
communicate the high-level structure and relationships within the system.
- 15- (21321A1279)
7.9 DEPLOYMENT DIAGRAM
A deployment diagram shows the configuration of runtime processing nodes and the
components that live on them.
Deployment diagrams address the static deployment view of an attribute.
They are related to the component diagram in that a node typically encloses one or
more components.
- 16- (21321A1279)
8 TESTING DOCUMENT
8.8 OVERVIEWOFTESTING
The purpose of testing is to discover errors. Testing is the process of trying to
discover every conceivable fault or weakness in a work product. It provides a
way to check the functionality of components, sub-assemblies, assemblies
and/or a finished product It is the process of exercising software with the intent
of ensuring that the Software system meets its requirements and user
expectations and does not fail in an unacceptable manner. There are various
types of tests. Each test type addresses a specific testing requirement.
8.8.1 STAGESOFTESTING
UNITTESTING
Unit testinginvolves the design of testcases that validate that the internal
programlogic is functioning properly, and that program inputs produce valid
outputs. All decision branches and internal code flow should be validated. It is
the testing of individual software units of the application it is done after the
completion of an individual unit before integration. This is a structural testing,
that relieson knowledge of its construction and is invasive. Unit tests perform
basic tests at component level and test a specific business process, application,
and/or system configuration. Unit tests ensure that each unique path of a
business process performs accurately to the documented specifications and
contains clearly defined inputs and expected results.
INTEGRATIONTESTING
Integration tests are designed to test integrated software components to
determine if they actually run as one program. Testing is event driven and is
more concerned with the basic outcome of screens or fields. Integration tests
demonstrate that although the components were individually satisfaction, as
shown by successfully unit testing, the combination of components is correct
and consistent. Integration testing is specifically aimed at exposing the problems
that arise from the combination of components.
8.8.2 TYPESOFTESTING
WHITE-BOXTESTING
White-boxtesting, sometimes called glass-obstesting, is a testcase design method
that uses the control structure of the procedural design to derive test cases.
The test cases :
8.8.2.1 Guaranteethatallindependentpaths within a module have been exercise
datleastonce
8.8.2.2 Exercise all logical decisions on their true and false sides
8.8.2.3 Execute all loops at their boundaries and within their operational bounds
8.8.2.4 Exercise internal datastructures to ensure their validity
-15 -
- 15 -
BLACK-BOXTESTING
Also called behavioral testing, focuses on the functional requirements of the
software. It enables the software engineer to derive sets of input conditions that
will fully exercise all functional requirements for a program. Black-box testing
is notan alternative towhite-box techniques, but it is complementary approach.
8.8.2.5 Blackboxtestingattemptstofinderrorsinthefollowingcategories
8.8.2.6 Incorrectormissingfunctions
8.8.2.7 Interfaceerrors
8.8.2.8 ErrorsindatastructuresorexternaldatabaseaccessBehaviourorperformanceerror
s
8.8.2.9 Initialization and terminationerrors
-15 -
- 15 -
9 SOFTWARECONFIGURATIONMANAGEMENT
Software Configuration Management is defined as a process to systematically
manage, organize, and control the changes in the documents, codes,and other
entities during the Software Development Life Cycle. It is abbreviated as the
SCM process in software engineering. The primary goal is to increase
productivity with minimal mistakes .The primary reasons for Implementing
Software Configuration Management System are:
-There are multiple people working on software which is continually updating It
may be a casewhere multiple versions,branches,authors are involved in a
software project,and the team is geographically distributed and works
concurrently
-Changes in user requirement, policy, budget, schedule need to be
accommodated. Softwareshould be able to run on various machines and
Operating Systems
-Helpstodevelopcoordinationamongstakeholders
-SCMprocessisalsobeneficialtocontrolthecostsinvolvedinmakingchangestoasystem
10 RISKMANAGEMENT
Risk management assists a project tears in identifying risks, using their impact
and profitability and tracking risks throughout a software project.
Categoriesofrisks:
-Projectrisks
-Technicalrisks
-Businessrisks
RiskComponents:
Performancerisk
Supportrisk
Schedulerisk
RiskTable:
- 16-
(21321A1279)
RISKMANAGEMENTPLAN
RISK TRIGGER OWNER RESPONSER RESOURCEREQUI
RED
RISKSWITHRESPECTTOTHEPROJECTTEAM
-Illness or -Illness/other -Project - -Backupresources
suddenabsenc emergencies/r manager Projectmanag -Properschedule plans
eof the project esign er take
team responsibilitie
s
RISKSWITHRESPECTTOTHECUSTOMER/USER
-The customer -User change -Senior -Quality -
changes initial request technician assurance/contr Qualitycontrolchecklist
requirements - -Senior ol -Changerequestform
-The customer Incomple manager -Change -Userrequirementdue
is not te request/forms -Projectschedule
availablewhen descripti -Scheduling
needed on -Letter of
and customer acknowledgement to
during “booking”
requirem customer
ent phase
-
Targetuseruna
ble to attend
testing/
assessments
- 17-
(21321A1279)
11 SCREENSHOTS :
HOMEPAGE
Code:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial- scale=1.0">
<title>Library Management System - Login</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="login-container">
<h2>Library Management System Login</h2>
<form action="login.php" method="POST">
<label for="username">Username:</label>
<input type="text" id="username" name="username" required>
<label for="password">Password:</label>
<input type="password" id="password" name="passwordrequired> <button
type="submit" class="login-btn">Login</button>
- 18-
(21321A1279)
</form>
<p>Don't have an account? <a href="register.html">Register Here</a></p>
</div>
</body>
</html>
Css:
body {
font-family: Arial, sans-serif;
background-color: #f4f4f4;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
}
.login-container {
background-color: #fff;
padding: 20px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
width: 300px;
border-radius: 8px;
}
h2 {
text-align: center;
margin-bottom: 20px;
}
label {
display: block;
margin-bottom: 5px;
}
input {
width: 100%;
padding: 10px;
margin-bottom: 20px;
border: 1px solid #ccc;
border-radius: 5px;
}
button {
width: 100%;
padding: 10px;
background-color: #4CAF50;
color: white;
- 19-
(21321A1279)
border: none;
border-radius: 5px;
font-size: 16px;
cursor: pointer;
}
button:hover {
background-color: #45a049;
}
p{
text-align: center;
}
a{
color: #007bff;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
- 20-
(21321A1279)
12 TestCases:
SNo Test-Case Test-Case ExpectedOutput ActualOutput Result
Name Input
1 Login If username Loginsuccessful Loginsuccessful Pass
and password
is correct
If username InvalidCredentials InvalidCredenti Pass
als
or password is
incorrect
2 Registratio Ifallthedetailsi Successfully Successfully Pass
n
n the form are registered registered
correct
If any of the Pleasecheckyo Pleasecheck Pass
detailsinthe ur details your details
form are
incorrect/
inappropriate
- 21-
(21321A1279)
- 22-
(21321A1279)
LOGINPAGE
- 23-
(21321A1279)
<html>
<head>
<title>Login</title>
<style>body
{
justify-content:center;
display:flex;
font-family:'Roboto',Arialblack;
}
</style>
</head>
<body>
<divclass="main">
<h1><center>LOGIN</center></h1>
<formaction="">
<labelfor="first">FirstName:</label><br>
<inputtype="text"id="first"placeholder="Enteryourfirstname"required><br>
<labelfor="last">Last Name:</label><br>
<inputtype="text"id="last"
placeholder="Enteryourlastname"required><br>
<labelfor="email">Email:</label><br>
<inputtype="email"id="email" name="email"
placeholder="Enteryouremail"required><br>
<labelfor="dob">DateofBirth:</label><br>
<input type="date"
id="dob"name="dob"
placeholder="EnteryourDOB"required><br>
<labelfor="password">Password:</label><br>
<inputtype="password"id="password"
name="password"
placeholder="Enteryourpassword"
<labelfor="repassword">Confirmpassword:</label><br>
<inputtype="password"id="repassword"
name="repassword"
placeholder="confirmyourpassword"required>
<spanid="pass"></span><br>
<labelfor="mobile">Contact:</label><br>
<inputtype="text"id="mobile"
name="mobile"
placeholder="Enter yourMobileNumber"required
maxlength="10"><br>
<labelfor="gender">Gender:</label><br>
<selectid="gender"name="gender"required>
<optionvalue="male">Male</option>
<optionvalue="female">Female</option>
<optionvalue="other">Other</option>
</select><br>
</body>
</html>
- 24-
(21321A1279)
PASSPORTVERIFICATION
- 25-
(21321A1279)
<!DOCTYPEhtml>
<htmllang="en">
<head>
<metacharset="UTF-8">
<metaname="viewport"content="width=device-width,initial-scale=1.0">
<title>VerificationSystem</title>
</head>
<body>
<bodystyle="background-color:#9DF9EF;"><center>
<h1>PassportVerification</h1>
<formaction="verification.php"method="post">
<labelfor="aadharNumber">AadharNumber:</label>
<inputtype="text"id="aadharNumber"name="aadharNumber" required>
<br><br>
<labelfor="panNumber">PANNumber:</label>
<inputtype="text"id="panNumber"name="panNumber"required>
<br><br>
<labelfor="passportNumber">PassportNumber:</label>
<inputtype="text"id="passportNumber"name="passportNumber"required>
<br><br>
<labelfor="policeVerification">PoliceVerification:</label>
<inputtype="checkbox"id="policeVerification"name="policeVerification">
<br><br>
<inputtype="submit"value="Submit">
</form>
</center>
</body>
</html>
- 26-
(21321A1279)
DOCUMENTVERIFICATION
- 27-
(21321A1279)
</html>
Documentupload.html
<!DOCTYPEhtml>
<htmllang="en">
<head>
<metacharset="UTF-8">
<metaname="viewport"content="width=device-width,initial-scale=1.0">
<title>DocumentUpload</title>
</head>
<body>
<div class="upload-form">
<h2>DOCUMENTVERIFICATION</h2>
<formaction="upload.php"method="post"enctype="multipart/form-data">
<divclass="form-group">
<labelfor="proof_identity">ProofofIdentity:</label>
<inputtype="file" name="proof_identity"id="proof_identity"accept=".pdf,.jpg,.jpeg,
.png"required>
</div>
<divclass="form-group">
<labelfor="Student_identity">ProofofStudentIdentity:</label>
<inputtype="file"name="Student_identity"id="Student_identity"accept=".pdf,.jpg,
.jpeg,.png"required>
</div>
<divclass="form-group">
<labelfor="proof_address">ProofofAddress:</label>
<inputtype="file"name="proof_address"id="proof_address"accept=".pdf,.jpg,.jpeg,
.png"required>
</div>
<divclass="form-group">
<labelfor="dob_proof">DateofBirthProof:</label>
<inputtype="file" name="dob_proof" id="dob_proof"accept=".pdf, .jpg, .jpeg,.png" required>
</div>
<divclass="form-group">
<labelfor="passport_photos">PassportSizePhotos:</label>
<inputtype="file"name="passport_photos"id="passport_photos"accept=".jpg,.jpeg,
.png"multiplerequired>
</div>
<buttontype="submit">UploadDocuments</button>
</form>
</div>
</body>
</html>
- 28-
(21321A1279)
PAYMENTPAGE
- 29-
(21321A1279)
<!DOCTYPEhtml>
<htmllang="en">
<head>
<metacharset="UTF-8">
<metaname="viewport"content="width=device-width,initial-scale=1.0">
<title>PassportPaymentProcessing</title>
<bodystyle="background-color:#9DF9EF;">
<style>
body{
font-family:Arial,sans-serif;margin:
0;
padding:0;
background-color:#f4f4f4;
}
.container{
max-width: 800px;
margin: 20px auto;
padding: 20px;
background-color:#fff;
border-radius: 8px;
box-shadow:0010pxrgba(0,0,0,0.1);
}
a{
display:block;
padding:10px;
background-color:#007bff;
color: #fff;
text-decoration:none;
border-radius: 5px;
text-align:center;
}
a:hover{
background-color:#0056b3;
}
</style>
</head>
<body>
<divclass="container">
<h1>PaymentProcess</h1>
<ul>
<li><ahref="#">PaythroughCreditCard</a></li>
<li><ahref="#">PaythroughDebitCard</a></li>
<li><ahref="#">PaythroughNetBanking</a></li>
<li><ahref="#">PaythroughUPI</a></li>
</ul>
</div>
</body>
</html>
- 30-
(21321A1279)
12 TESTCASES
SNo Test-Case Test-Case ExpectedOutput ActualOutput Result
Name Input
1 Login If username and Loginsuccessful Loginsuccessful Pass
password is
correct
- 31-
(21321A1279)
ONLINEEXAM-REGISTRATION
1. PROBLEMSTATEMENT
Online Exam Registration system is used in delivering the registration form to all the
students.Thecoreofthesystemistogettheonlineregistrationformfilledbythe
studentwhosedetailsid areverifiedforitscorrectnesswithrespecttothealready existing
information in the data base.
2. SOFTWAREREQUIREMENTSPECIFICATION
2.1. FUNCTIONALREQUIREMENTS
2.1.1. Login
Authenticationmustbeperformedattheuser level.
Systemwillallowtheadministratorandcandidatetologin.
Systemwillverify theuser-nameandpassword.
2.1.2. Registrationor creatingaccount
Systemwillallowstudenttocreateaccountandadministrator toacceptregistration of
candidates.
2.1.3. Applicationverification
Theapplicationforexaminationfilledbythecandidateisverifiedbytheadministrator.
2.1.4. Payment
Thecandidatewillpaythefeeamountthroughtheonlinepaymentgateway.
2.1.5. Authentication
Thismoduleisusedtocheckthevaliduserornot
2.1.6. Statusverification andfeedbackcomplaints
Thismoduleisusedtocheckthestatusofverificationprocessanddeliveryof
registration form
2.2. NON-FUNCTIONAL REQUIREMENTS
Non-functional requirements describe aspects of the system that are not directly related to
the functional behavior of the system. Non-functional requirements include a broad variety
of requirements as mentioned.
2.1.7. Usability
Itis theeasewithwhichauser canlearntooperate,prepare inputsfor,and interpret
outputs of a system or component
2.1.8. Reliability
Itistheabilityofasystemorcomponenttoperformits requiredfunctionsunderstated
conditions for a specified period of time.
2.1.9. Performance
Performancerequirementsareconcernedwiththequantifiableattributesofthe
system such as response time, throughput, availability and accuracy
2.1.10. Supportability
Supportabilityrequirementsareconcernedwiththe caseofchangestothesystem after
deployment, including adaptability and maintainability.
- 32-
(21321A1279)
2.1.11. Integrity
Integritymeansdoingtherightthinginareliableway.Dataintegrityisafundamental
component of security.
Dataintegrityreferstotheaccuracyandconsistencyofdatastoredinadatabase,
dataintegrity is the overall completeness, accuracy andconsistency of data.
2.1.12. Consistency
Ensureuniformprocessingofinformation,maintainingaconsistentstandard.
2.3. HARDWAREREQUIREMENTS
Thefollowing are the hardwarerequirements withminimumconfigurationtogetbetter
performance of our application.
Processor:IntelcoreI5
RAM:8GBRAM
Hard-disk:1TB
InputandOutputDevices:KeyboardandMonitor.
HTML,CSS
- 33-
(21321A1279)
3. DESIGNMODEL
UMLstandsforUnifiedModelingLanguagewhichisusedtovisualize,specifydocuments
STARUML:
StarUMLisanopensourcesoftwaremodellingtoolthat supportstheUML(UnifiedModeling
Language)frameworkforsystemandsoftwaremodeling.itisbasedonUMLversionThereare
following types of diagrams:
UseCaseDiagrams ClassDiagrams
SequenceDiagram CollaborationDiagrams
StateChartDiagrams ActivityDiagrams
ComponentDiagrams DeploymentDiagrams CompositeDiagrams
3.1. USECASEDIAGRAM
ThepurposeofUsecasediagramistogathertherequirementsofasystem
Itisusedtogetanoutsideviewofasystemandtoshowtheinteractionsbetweenthe
requirements and actors,it shows set of use cases and their relationships.
Usecasediagramcontain
Usecases,actors,
Dependency,generalization,andassociationrelationships
ModelingaUseCaseDiagram
Establishthe context ofthesystemby identifyingtheactorsthatsurround it.
Foreachactor,considerthebehaviorthateachexpectsorrequiresthe systemto
provide,name these common behaviors as use cases
Organizeactorsthataresimilartooneanotherinageneralization/specialization
hierarchy.
TheExamOnlineRegistrationsystemcontainsthefollowingusecases:
1.Login 2.Viewexamdetails
3. Viewfeesdetails 4.Payfee
5.Displaydetails 6. Logout
- 34-
(21321A1279)
3.2 CLASSDIAGRAM
AclassdiagramintheUnifiedModellingLanguage(UML)isatypeofstaticstructurediagramthat
describes the structure of a system by showing thesystem's classes, their attributes, operations
(or) methods, and the relationships among objects.
classes are represented with three compartments
Thetopcompartmentcontainsthenameoftheclass.
Themiddlecompartmentcontainstheattributesoftheclass.
Thebottomcompartmentcontainstheoperationsthe classcanexecute.
ModelingClassdiagram
Identifythosethingsthatusersusetodescribetheproblem.
Provide the attributes andoperations that are neededto carryout these
responsibilities for each class.
Identify theattributesandoperationsthat arecommontotwoormoreclasses.
Specify that the more-specific classes inherit from the more-general class by placinga
generalization relationship that is drawn from each specialized class to its more-
generalparent.
Theclassesidentifiedforonlineexamregistrationsystemare–
1. student-Attributes:
Id,Password,Name,Age,Sex,course
Methods:
Login(),Logout(),Conformation(),Register(),Newfeesdetails(),Student()
2. exam controllerAttributes:
Userid,Password,Examfees,Feesdue
Methods:
Login(),Logout(),Feesdetails(),Displayfees(),Conformation(), Examcontroller()
- 35-
(21321A1279)
3.3 INTERACTIONDIAGRAM
SEQUENCEDIAGRAM-UMLsequencediagramsareusedtorepresentthemodelthatthe time
ordering of messages,events (or)actions between the objects and components of
system.Sequence diagrams provides dynamic view of the system.
ModelingSequencediagram
Setthecontentfortheinteractionwhetheritisasystem,subsystem,classorone scenarios
of the use cases.
Setthestageforinteractionbyidentifying whichobjectsareinvolvedinthe
interaction.
Drawthesequence diagramfrom lengthtoright;placingthe more importantobjects to
left and their neighbouring object on the right.
Setthelifelineforeachobject.
For those objects,starting with the message that initiates this interactions,draw
subsequentmessagefromtoptobottombetweenthelifelines,showingeachmessage
properties that are necessary to explain the interaction.
Some objects are created and destroyed during the interaction, set their lifelines as
appropriate and explicitly indicate them with messages.
If you need to visualize the nesting of messages, or the points in time when actual
computationis taking place, mentioneach objects lifeline with focus control.
a) Sequencediagram
b) Collaboration/communicationdiagram
*Objects:thatareinvolvedinthesescenarios
2. ActivationBar:Itindicatesthetimeatwhichtheobjectisactive
3. Message:I)synchronous messages:
S R
II) Asynchronousmessages:
S R
A sequence diagram represents the sequence and interactions of a given USE-CASE or
scenario.Sequencediagramscancapturemostoftheinformationaboutthesystem.Most object to
object interactions and operations are considered events and events include signals, inputs,
decisions,interrupts, transitions and actions to or from users or external devices.
- 36-
(21321A1279)
COLLABORATIONDIAGRAM
Acollaborationdiagramisaninteractiondiagramthatemphasizesthestructuredorganisationof
objects that send and receive messages.
Itcontains:I)objects/lifeline
II)links
III) messages
ModelingCollaborationdiagram
Setthestageforinteractionbyidentifyingtheobjectsthatplayaroleinthe
interaction.
Laythemoutonthecollaborationdiagramasverticesinagraphplacingthemore
importantobjectsinthecentreofdiagramandtheirneighbouringobjectsoutside.
Specifythelinkamongtheseobjectsalongwhichmessagesmaypass
Layouttheassociationlinksfirstbecausetheyrepresentstructuredconnections
Layouttheotherlinkstospecifyhowtheseobjectsinteractwitheachother
Startingwithmessagesthatinitiatetheinteractionattacheachsubsequentmessage to
the appropriate link setting it’s sequence number.
Wecanalsospecifytheflowofcontrolby attachinganypre/postconditions.
- 37-
(21321A1279)
3.4 ACTIVITYDIAGRAM
It comes under behavioral aspects/dynamic aspects.An activity diagram in UML is used to
describethe dynamicaspectsofthesystem.Itisbasicallyaflowchart representationandthe
flowofcontrolfromoneactivitytoanother.Theactivitycanbedescribedasoperationsofthe
system.Thecontrolflowisdrawnfrom oneactivityto anotherand theflow ofcontrol canbe
sequential branching or concurrent .The notations used are:-
1. Branching-
2. Start-
3. Stop-
4. Activity-
5. Flow control
6.join
7. fork
- 38-
(21321A1279)
ModelingActivitydiagram
Establishthe contextfortheworkflow.
Selecttheobjectsthathavehigh responsibilityfortheworkflow.
Identifythepreconditionandpost-conditions, thestartand finalstatefor the
workflow.
Beginningwithworkflows,initialstatespecifytheactivities andactions thattakeplace
over time and draw activity diagram.
Drawthetransitionthat connecttheseactivitiesandactionstates.
Startwithsequentialflow,nextconsiderbranching andthenconcurrent flow by using
fork and join operations.
3.5 STATECHARTDIAGRAM
Statechartdiagramareusedtodescribevariousstatesofanentitywithinthe
applicationsystem.
statechartdiagramisusedtocapturethedynamicaspectofasystem.
Statemachinediagramsareusedtorepresentthebehaviorofan
application.Anobjectgoesthroughvariousstatesduringitslifespan.
Thelifespanofanobjectremainsuntiltheprogramisterminated.
- 39-
(21321A1279)
Theobjectgoesfrommultiplestatesdependingupontheeventthatoccurs.
Eachstaterepresentssomeuniqueinformationabouttheobject.
Itcapturesthebehaviorofanentitypresentinthesystem.
ModelingStatechartdiagram
States:Identifythedifferentstatesthatanobjectorsystemcanbein.Statesrepresent
specific conditions or situations.
Transitions:Definethetransitionsbetweenstates.Transitionsdescribetheeventsor
conditions that cause the system tomove from one state toanother.
Initialstate:Specifytheinitialstateofthesystemwhenitstarts.
Finalstate:Indicatethefinalstateorstatesthatthesystemreacheswhenitcompletes its
operation.
- 40-
(21321A1279)
3.6.COMPONENTDIAGRAM
Componentdiagramsareusedtomodelthephysicalaspectsofasystem.Physicalaspectsare the
elements such as executable, libraries, files, documents, etc. which reside in a node.
Component diagrams are used to visualize the organization and relationships among
componentsinasystem.Componentdiagramcommonlycontain:Components,Interfacesand
Relationships
CommonUses:
TomodelSource Code
Tomodelanexecutablerelease
To model a physical database
ModelingaComponentdiagram
Begin by identifying the primary components within your system, delineating high-
level entities that encapsulate distinct functionality.
Define interfaces for each component, specifying the externally accessible methods,
attributes, or services that enable interaction with other components.
Establish relationships between components using appropriate symbols like arrows,
lines, or connectors, representing dependencies, associations, aggregations, or
compositions.
Employ ports or connectors to depict the interfaces of each component, illustrating
how they connect and interact within the system.
- 41-
(21321A1279)
3.7DEPLOYMENTDIAGRAM
Adeploymentdiagramshowstheconfigurationofruntimeprocessingnodesandthecomponentsthatlive on
them.
Deploymentdiagramaddressthestaticdeploymentviewofanattribute.
Theyarerelatedtothecomponentdiagraminthatanodetypicallyenclosesoneormore
components.
- 42-
(21321A1279)
4. TESTINGDOCUMENT
4.1 OVERVIEWOFTESTING
The purpose of testing is todiscover errors. Testingis the process of trying todiscover every
conceivable fault or weaknessin awork product. Itprovides a wayto check thefunctionality of
components, sub assemblies, assemblies and/or a finished product It is the process of
exercising software with the intent of ensuring that the Software system meets its
requirements and user expectations and does not fail in an unacceptable manner. There are
various types of tests. Eachtest type addresses aspecific testing requirement.
4.1.1 STAGESOFTESTING
UNIT TESTING: Unit testing involves the design of test cases that validate that the internal
program logic is functioning properly, and that program inputs produce valid outputs. All
decision branches and internal code flow should be validated. It is the testing of individual
software units of the application it is done after the completion of an individual unit before
integration. This is a structural testing, that relies on knowledge of its construction and is
invasive.Unittests performbasictestsatcomponentlevelandtestaspecificbusiness process,
application, and/or system configuration. Unit tests ensure that each unique path of a
business process performs accurately to the Integration Testing.
Integration tests are designed to test integrated software components to determine if they
actually run as one program. Testing is event driven and is more concerned with the basic
outcome of screens or fields. Integration tests demonstrate that although the components
were individually satisfaction, as shown by successfully unit testing, the combination of
componentsiscorrectandconsistent.Integrationtestingisspecificallyaimedatexposingthe
problems that arise from the combination of components.
4.1.2 TYPESOFTESTING
WHITEBOX TESTING
White-boxtesting,sometimescalledglass-obstesting,isatestcasedesignmethodthatuses the
controlstructure of the proceduraldesign to derive test cases.These test cases
Guaranteethatallindependentpathswithinamodulehavebeenexercisedatleast once.
Exercisealllogicaldecisionsontheirtrueandfalsesides
Executeallloopsattheirboundariesandwithintheiroperationalbounds.
Exerciseinternaldatastructures toensuretheirvalidity
BLACKBOXTESTING
Also called behavioral testing, focuses on the functional requirements of the software. It
enables the software engineer to derive sets of input conditions that will fully exercise all
functional requirements for a program. Black-box testing is not an alternative to white-box
techniques, but it is complementary approach.
Blackboxtestingattemptstofinderrorsinthefollowingcategories
Incorrectormissingfunctions
ErrorsindatastructuresorexternaldatabaseaccessBehaviourorperformanceerrors
- 43-
(21321A1279)
5. SOFTWARECONFIGURATIONMANAGEMENT
Software Configuration Management is defined as a process to systematically manage, organize,
and control the changes in the documents, codes, and other entities during the Software
DevelopmentLifeCycle.ItisabbreviatedastheSCMprocessinsoftwareengineering.Theprimary goal is to
increase productivity with minimal mistakes .The primary reasons for Implementing Software
Configuration Management System are:
-TherearemultiplepeopleworkingonsoftwarewhichiscontinuallyupdatingItmaybeacase where
multiple versions, branches, authors are involved in a software project, and the team is
geographically distributed and works concurrently
-Changes inuserrequirement,policy,budget,scheduleneedtobeaccommodated. Software
should be able to run on various machines and Operating Systems
-Helpstodevelopcoordinationamongstakeholders
-SCMprocessisalsobeneficialtocontrolthecostsinvolvedinmakingchangestoasystem
6. RISKMANAGEMENT
Riskmanagementassistsaprojecttearsinidentifyingrisks,usingtheirimpactandprofitability and
tracking risks throughout a software project.
Categoriesofrid:
-Projectrisks -Technicalrisks
-Businessrisk -RinkComponents:
-Performancerisk -Costrisk
-Supportrisk -Schedulerick
-WankDrivers -Negligible
-Marginal -Critical
-Catastrophic
RiskTable
Sizeestimatemaybesignificantlylow PS 60 2
Deliverydeadline willbe tightened BU 50 2
Customerwill changerequirements PS 80 2
Technology willnotmeetexpectations TE 30 1
Lackoftrainingontools DE 80 3
Inexperiencedstaff ST 30 2
- 44-
(21321A1279)
ST-Staffsizeandexperiencerisk
BU - Business risk
PS-Projectsizerisk
TE-Technologyrisk
Catastrophic
Critical
Marginal
Negligible
RISKMANAGEMENTPLAN
RISK TRIGGER OWNER RESPONSER RESOURCE
REQUIRED
RISKSWITHRESPECTTOTHEPROJECTTEAM
-Illness or -Illness/other -Projectmanager -Project -Backupresources
suddenabsence emergencies/resign manage -Proper
oftheproject r schedul
team takeresponsibilities eplans
RISKSWITHRESPECTTOTHECUSTOMER/USER
-The customer -Userchangerequest -Senior -Quality -Quality
changes initial -Incomplete technician assurance/control contro
requirements description during -Seniormanager -Change lchecklist
-The customeris requirementphase request/forms -Change
not -Target userunable -Scheduling reques
availabl to attend an tform
e when needed testing/assessments d customer -User
“booking” requirementdue
-Projectschedule
-Letter of
acknowledgement
tocutomer
- 45-
(21321A1279)
7. SCREENSHOTS
HOMEPAGE
LOGIN
- 46-
(21321A1279)
<html>
<head>
<style>
<body>
<center>
<h2style="color:PURPLE;font-size:45px">ONLINEREGISTRATIONSYSTEM</h2>
<imgsrc="C:\Users\Desktop\register.jpg"height=350width=350><br><br>
<ahref="login.html"style="color:000000"><fontsize="6">Signin</font></a>
</body>
</html>
<!DOCTYPE html>
<head>
<title>LoginPage</title>
</head>
<body>
<form>
<labelfor="username">Username:</label><br>
<inputtype="text"id="username"name="username"required><br>
<labelfor="password">Password:</label><br>
<inputtype="password"id="password"name="password"required><br><br>
<inputtype="submit"value="Login"><form></body></html>
- 47-
(21321A1279)
REGISTRATION
- 48-
(21321A1279)
<!DOCTYPE html>
<htmllang="en">
<head>
<metacharset="UTF-8">
<metaname="viewport"content="width=device-width, initial-scale=1.0">
<title>ExamRegistration</title>
</head>
<body>
<formaction="#"method="post">
<inputtype="text"name="firstname"placeholder="FirstName"><br>
<inputtype="text"name="middlename"placeholder="MiddleName"><br>
<inputtype="text"name="lastname"placeholder="LastName"><br>
<inputtype="email"name="email"placeholder="Email"><br>
<inputtype="tel"name="phone"placeholder="PhoneNumber"><br>
<inputtype="text"name="dept"placeholder="StudentDepartment"><br>
<inputtype="text"name="student"placeholder="StudentID"><br>
<inputtype="submit"value="Register">
</form>
</body>
</html>
- 49-
(21321A1279)
SUCCESSFULREGISTRATION
- 50-
(21321A1279)
<!DOCTYPE html>
<htmllang="en">
<head>
<metacharset="UTF-8">
<metaname="viewport"content="width=device-width, initial-scale=1.0">
<title>RegistrationCompleted</title>
<style>
body{font-family:Arial,sans-serif;text-align:center;margin-top:100px;background-
color:lavender}
</style>
</head>
<body>
<divclass="message">Registrationsuccessfullycompleted</div>
<divclass="info">Pleasecheckyourregisteredemailforverification.</div>
<button class="button"onclick="okButtonClicked()">OK</button>
<script>
functionokButtonClicked(){
alert('OKbuttonclicked!');
}
</script>
</body>
</html>
- 51-
(21321A1279)
8. TESTCASES
SNo Test-Case Test-Case ExpectedOutput ActualOutput Result
Name Input
1 Login If username and Loginsuccessful Loginsuccessful Pass
password is
correct
If username or InvalidCredentials InvalidCredentials Pass
password is
incorrect
- 52-
(21321A1279)
- 53-
(21321A1279)