SELab Manual
SELab Manual
NAME: ___________________________________________________________________
ROLL NO:__________________________________________________________________
BRANCH:__________________ SEM:______________________________________
DEPARTMENT OF COMPUTER
SCIENCE & ENGINEERNG-AIE
LABORATORY MANUAL
Prepared
By
Dr.K.Venkatraman,
Visiting Faculty,
VISION
MISSION
- - - - 3 - 20 2
Course Objectives
I. FORWARD ENGINEERING
Students have to form a team with a batch size of two or three and take up a
case study based project to analyze, plan, design UML models and create a
prototypical model (identifying deliverables) by coding the developed designs
and finally documenting considering any one example of the following
domains:-
II. REVERSE ENGINEERING: Students have to refer any project repository: GitLab
/GitHub,execute the code in order to observe its functionalities/features/requirements and
by the help of any tool derive the designs from the code for understanding the relationships
among various subsystems/classes/components and if the tool partially generates models
then identify by associating elements to judge/mark the appropriate relationships.
III. TESTING: Prepare Test Plan and develop Test Case Hierarchy to
monitor or uncover/report errors using manual/automated testing tools
SEMESTER : VI
Creating
Develop components through architectural modeling.
PC531CS.6
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING-
AIE
GENERAL LABORATORY INSTRUCTIONS
1. Students are advised to come to the laboratory at least 5 minutes before (to starting
time), those who come after 5 minutes will not be allowed into the lab.
2. Plan your task properly much before to the commencement, come prepared to the lab
with the program / experiment details.
3. Student should enter into the laboratory with:
a. Laboratory observation notes with all the details (Problem statement, Aim,
Algorithm, Procedure, Program, Expected Output, etc.,) filled in for the lab
session.
b. Laboratory Record updated up to the last session experiments.
c. Formal dress code and Identity card.
4. Sign in the laboratory login register, write the TIME-IN, and occupy the computer
system allotted to you by the faculty.
5. Execute your task in the laboratory, and record the results / output in the lab observation
note book, and get certified by the concerned faculty.
6. All the students should be polite and cooperative with the laboratory staff, must maintain
the discipline and decency in the laboratory.
7. Computer labs are established with sophisticated and high end branded systems, which
should be utilized properly.
8. Students / Faculty must keep their mobile phones in SWITCHED OFF mode during the
lab sessions. Misuse of the equipment, misbehaviours with the staff and systems etc.,
will attract severe punishment.
9. Students must take the permission of the faculty in case of any urgency to go out. If
anybody found loitering outside the lab / class without permission during working hours
will be treated seriously and punished appropriately.
10. Students should SHUT DOWN the computer system before he/she leaves the lab after
completing the task (experiment) in all aspects. He/she must ensure the system / seat is
kept properly.
All students must observe the dress code while in the laboratory
Footwear is NOT allowed
Foods, drinks and smoking are NOT allowed
All bags must be left at the indicated place
The lab timetable must be strictly followed
Be PUNCTUAL for your laboratory session
All programs must be completed within the given time
Noise must be kept to a minimum
Workspace must be kept clean and tidy at all time
All students are liable for any damage to system due to their own negligence
Students are strictly PROHIBITED from taking out any items from the laboratory
Report immediately to the lab programmer if any damages to equipment
Lab In – charge
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
LIST OF EXPERIMENTS
3. Finance (Banking: 35
ATM/NetBanking, UPI: PayTM/
PhonePay,Stocks: Zerodha)
6. Hospitality(Tourism Management 57
: Telangana Tourism /Incredible
India Event Management:
MeraEvents BookMyShow
/Explara/EventBrite
9. Booking/Ticketing(Food : 72
Zomato/
Swiggy/BigBasket/Grofers/JioMa
rt, Hotel:OYO/Trivago or
Travel:{Cars:Uber/OLA/Zoom,
Railways:IRCTC,
Buses:OnlineTSRTC/RedBus/Ab
hiBus,
Flights:MakeMyTrip/Goibibo,
Ships:Lakport}) Travel
{Cars:Uber/OLA/Zoom,
10. REVERSE ENGINEERING 88
11. TESTING 91
ADDITIONAL EXPERIMENTS
online eaAVVC
examination case study
13. 103
Applying for online
passport system back
end verification process
14. 108
Govt. Services:
applying certificates
1.Birth certificate
2.caste certificate
3.migration certificate
4.Death certificate
AVVC SOFTWARE ENGINEERING LAB MANUAL
THEORY :
SDLC, or Software Development Life Cycle, is a set of steps used to create software
applications. These steps divide the development process into tasks that can then be assigned,
completed, and measured.
What is the Software Development Life Cycle?
Software Development Life Cycle is the application of standard business practices to building
software applications. It’s typically divided into six to eight steps: Planning, Requirements,
Design, Build, Document, Test, Deploy, and Maintain. Some project managers will combine, split,
or omit steps, depending on the project’s scope. These are the core components recommended for
all software development projects.
SDLC is a way to measure and improve the development process. It allows a fine-grain analysis
of each step of the process. This, in turn, helps companies maximize efficiency at each stage. As
computing power increases, it places a higher demand on software and developers. Companies
must reduce costs, deliver software faster, and meet or exceed their customers’ needs. SDLC helps
achieve these goals by identifying inefficiencies and higher costs and fixing them to run smoothly.
How the Software Development Life Cycle Works?
The Software Development Life Cycle simply outlines each task required to put together a
software application. This helps to reduce waste and increase the efficiency of the development
process. Monitoring also ensures the project stays on track, and continues to be a feasible
investment for the company.
Many companies will subdivide these steps into smaller units. Planning might be broken into
technology research, marketing research, and a cost-benefit analysis. Other steps can merge with
each other. The Testing phase can run concurrently with the Development phase, since
developers need to fix errors that occur during testing.
Page 1
AVVC SOFTWARE ENGINEERING LAB MANUAL
Planning should clearly define the scope and purpose of the application. It plots the course
and provisions the team to effectively create the software. It also sets boundaries to help keep
the project from expanding or shifting from its original purpose.
2. Define Requirements
Defining requirements is considered part of planning to determine what the application is
supposed to do and its requirements. For example, a social media application would require the
ability to connect with a friend. An inventory program might require a search feature.
Requirements also include defining the resources needed to build the project. For example, a team
might develop software to control a custom manufacturing machine. The machine is a
requirement in the process.
3. Design and Prototyping
The Design phase models the way a software application will work. Some aspects of the
design include:
Architecture – Specifies programming language, industry practices, overall design, and
use of any templates or boilerplate
User Interface – Defines the ways customers interact with the software, and how the
software responds to input
Platforms – Defines the platforms on which the software will run, such as Apple,
Android, Windows version, Linux, or even gaming consoles
Programming – Not just the programming language, but including methods of
solving problems and performing tasks in the application
Communications – Defines the methods that the application can communicate with
other assets, such as a central server or other instances of the application\
Security – Defines the measures taken to secure the application, and may include SSL
traffic encryption, password protection, and secure storage of user credentials Prototyping
can be a part of the Design phase. A prototype is like one of the early versions of software in the
Iterative software development model. It demonstrates a basic idea of how the application looks
and works. This “hands-on” design can be shown to stakeholders. Use feedback o improve the
application. It’s less expensive to change the Prototype phase than to rewrite code to make a
change in the Development phase.
4. Software development
This is the actual writing of the program. A small project might be written by a single developer,
while a large project might be broken up and worked by several teams. Use an Access Control or
Source Code Management application in this phase. These systems help developers track
changes to the code. They also help ensure compatibility between different team projects and to
make sure target goals are being met.
Page 2
AVVC SOFTWARE ENGINEERING LAB MANUAL
The coding process includes many other tasks. Many developers need to brush up on skills or
work as a team. Finding and fixing errors and glitches is critical. Tasks often hold up the
development process, such as waiting for test results or compiling code so an application can run.
SDLC can anticipate these delays so that developers can be tasked with other duties.
Software developers appreciate instructions and explanations. Documentation can be a formal
process, including wiring a user guide for the application. It can also be informal, like comments
in the source code that explain why a developer used a certain procedure. Even companies that
strive to create software that’s easy and intuitive benefit from the documentation.
Documentation can be a quick guided tour of the application’s basic features that display on the
first launch. It can be video tutorials for complex tasks. Written documentation like user
guides, troubleshooting guides, and FAQ’s help users solve problems or technical questions.
5. Testing
It’s critical to test an application before making it available to users. Much of the testing can be
automated, like security testing. Other testing can only be done in a specific environment –
consider creating a simulated production environment for complex deployments. Testing should
ensure that each function works correctly. Different parts of the application should also be tested to
work seamlessly together—performance test, to reduce any hangs or lags in processing. The testing
phase helps reduce the number of bugs and glitches that users encounter. This leads to a higher
user satisfaction and a better usage rate.
6. Deployment
In the deployment phase, the application is made available to users. Many companies prefer to
automate the deployment phase. This can be as simple as a payment portal and download link on
the company website. It could also be downloading an application on a smartphone. Deployment
can also be complex. Upgrading a company-wide database to a newly-developed application is
one example. Because there are several other systems used by the database, integrating the
upgrade can take more time and effort.
7. Operations and Maintenance
At this point, the development cycle is almost finished. The application is done and being used in
the field. The Operation and Maintenance phase is still important, though. In this phase, users
discover bugs that weren’t found during testing. These errors need to be resolved, which can
spawn new development cycles.
In addition to bug fixes, models like Iterative development plan additional features in
future releases. For each new release, a new Development Cycle can be launch
Unified Modeling Language (UML) :
Unified Modeling Language (UML) is a standardized (ISO/IEC 19501:2005), general-purpose
modeling language in the field of Software Engineering. The Unified Modeling Language includes
Page 3
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 4
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 5
AVVC SOFTWARE ENGINEERING LAB MANUAL
the diagrams are not a new concept but it is used widely in different form in different industries.
We prepare UML diagrams to understand a system in better and simple way. A single diagram is
not enough to cover all aspects of the system. So UML defines various kinds of diagrams to
cover most of the aspects of a system.
You can also create your own set of diagrams to meet your requirements. There are two
broad categories of diagrams and then are again divided into sub-categories, 3.1.Structural
Diagrams
3.2.Behavioural Diagrams
Class diagram
Object diagram
Component diagram
Deployment diagram
Page 6
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 7
AVVC SOFTWARE ENGINEERING LAB MANUAL
execution perspective.
Note: Dynamic nature of a system is very difficult to capture. So UML has provided features to
capture the dynamics of a system from different angles. Sequence diagrams and collaboration
diagrams are isomorphic so they can be converted from one another without losing any
information. This is also true for state-chart and activity diagram.
Page 8
AVVC SOFTWARE ENGINEERING LAB MANUAL
1.PROBLEM STATEMENT:
The software which displays the list of courses available for the mark that the student get
and the student can able to allocate best course from the choice available. It displays and allocates
courses based on student ranking. The student ranking is based on marks, caste and community.
Based on caste and community the ranking may varied. This software allows the student to
choose the best college for the available courses.
2.OVERALL DESCRIPTIONS:
2.1MODULES:
1.Login
2.student_info
3.course_details
4.course_registration
5.confirmation
2.2MODULE DELIVARABLES:
Login:
Basicflow:To authenticate the user,the student has to enter username and password
Alternateflow:If the password is wrong,it will ask the student to answer security question
and retrieve the password
Precondition:The system asks the student to enter the password
Postcondition:On success,the student displays the student information
Student_info:
Basicflow:The system displays the basic information about the student.It should be verified by the
user.
Alternateflow:If there is any error in displayed information ,the student can do changes.
Precondition:The student checks the basic details displayed.
Postcondition:After verifying all the details,it should be updated and moves on to the next state.
Course_details:
Basicflow:The courses that are available for the student are displayed and the student should
select one.
Alternateflow:If the student finds that the courses available for him are not displayed,he can
report it.
Precondition:The details of the corses available for his mark should be known by the user.
Page 9
AVVC SOFTWARE ENGINEERING LAB MANUAL
3.UML DIAGRAMS:
3.1.UseCase Diagram:
Page 10
AVVC SOFTWARE ENGINEERING LAB MANUAL
3.2.Class Diagram:
3.3.ActivityDiagram:
Page 11
AVVC SOFTWARE ENGINEERING LAB MANUAL
3.4.Component Diagram:
course
reservation
3.5.Deployment Diagram:
user admin
database
3.6.Sequence Diagram:
login
enter password
password entered
accepted
details verified
course available
select course
colleges available
select college
update info
confirmation
Page 12
AVVC SOFTWARE ENGINEERING LAB MANUAL
3.7.Collaboration Diagram:
1: login 4:
3: password entered
8: details verified
10: select course
12: select college 13: update info
user admin database
4. DATABASE DESIGN
Page 13
AVVC SOFTWARE ENGINEERING LAB MANUAL
5. IMPLEMENTATION:
Form1(student login)
Coding:
Private Sub Command1_Click()
If Text1.Text = "student" and Text2.Text = "password"
Then form2.Show
else
msgBox ("incorrect username or password")
End If
End Sub
Private Sub Command2_Click()
End
End Sub
Form2(Student details)
Page 14
AVVC SOFTWARE ENGINEERING LAB MANUAL
Coding:
Private Sub Command1_Click()
form2.Show
Data1.Recordset.AddNew
Data1.Recordset.Fields("NAME") = Text5.Text
Data1.Recordset.Fields("dob") = Text4.Text
Data1.Recordset.Fields("MARK") = Text3.Text
Data1.Recordset.Fields("caste") = Combo1.Text
Data1.Recordset.Fields("ADDRESS") = Text2.Text
Data1.Recordset.Fields("email") = Text1.Text
Data1.Recordset.Fields("gender") = Combo2.Text
MsgBox ("DETAILS ARE VERIFIED")
Form3.Show
Data1.Recordset.Update
End Sub
Private Sub Command2_Click()
Form1.Show
End Sub
Private Sub Form_Load()
Combo1.AddItem ("BC")
Combo1.AddItem ("SC")
Combo2.AddItem ("male")
Combo2.AddItem ("female")
Combo2.AddItem ("other")
End Sub
Form3(Course details)
Coding:
Private Sub Command1_Click()
Form3.Show
Data1.Recordset.AddNew
Data1.Recordset.Fields("courseavailable") = Combo1.Text
If Option1.Value = True Then
Data1.Recordset.Fields("timeperiod") = "9am-12pm"
Else
Page 15
AVVC SOFTWARE ENGINEERING LAB MANUAL
Data1.Recordset.Fields("timeperiod") = "1am-4pm"
End If
Data1.Recordset.Fields("basicmark") = Val(Text1.Text)
MsgBox ("course is selected")
Form4.Show
Data1.Recordset.Update
End Sub
Coding:
Private Sub Command1_Click()
Form4.Show
Data1.Recordset.AddNew
Data1.Recordset.Fields("availablecolleges") = Combo1.Text
Data1.Recordset.Fields("paymentmethod") = Combo2.Text
MsgBox (" your confirmation is registered")
Form1.Show
End Sub
Private Sub Command2_Click()
Form3.Show
End Sub
Private Sub Form_Load()
Combo1.AddItem ("jerusalem college of engineering")
Combo1.AddItem ("prathushya engineering college")
Page 16
AVVC SOFTWARE ENGINEERING LAB MANUAL
6.TESTING:
Test case ID: Test_01
Test priority
(Low/Medium/High):Medium
Module name: login
Test title :verify login with valid username and password
Precondition: user has invalid username and password
S.NO TEST EXPECTED ACTUAL STATUS NOTES
STEPS RESULTS RESULTS
1 Provide User should The user is able to Success -
valid Be able to move to next
User name login Entry
2 Provide User should be The user is able Success In case of
valid Able to To login wrong
password Login Successfully Password was
given an error
Message box
was
displayed
3 Click login User should be User name and Success Incase user
able to navigate password is gives wrong
to next page validated and next entry the sign
after validation page is displayed in page
remains active
4 Click User should be User navigates to success -
signup able to navigate the signup page
to next page where his user
where user name and
enters his password is
credentials validated
RESULT: The Course registration system was designed and implemented successfully.
Page 17
AVVC SOFTWARE ENGINEERING LAB MANUAL
1.PROBLEM STATEMENT:
Student marks analyzing system has to be developed for analyzing obtained by the students
who scored in Semester Examination The System should provide following functionalities
1. The System obtains following information’s from the faculty generates report Roll No,
Name, Department, Semester, Marks obtained in each subject.
2. The total for each student should be calculated and ranked based on total and pass in all
the subject appeared.
3. The Final report should display rank, percentage, Class, Pass/Fail Status for each student.
2.OVERALL DESCRIPTIONS:
2.1MODULES:
1.Login
2.student_mark
3.View report
2.2MODULE DELIVARABLES:
1. Login
Basic Flow: This use case starts when the Faculty wishes to Login to the Student Marks
Analyzing System.
1. The System requests that the Faculty enter his/her name and password
2. The Faculty enters his/her name and password
3. The System validates the entered name and password and logs the Faculty into the
System Alternative Flows: Invalid Name/Password
If, in the Basic flow, the Faculty enters an invalid name and/or password, the system displays an
error message. The Faculty chooses to either return to the beginning of the Basic flow or cancel the
login, at which point the use case ends.
Pre-Conditions: None
Post-Conditions: If the use case was successful, the Faculty is now logged into the system. If
not, the system State is unchanged.
2. Student_Mark
Basic flow: The Faculty uses this usecase to enter marks for each student. The faculty enters
the following details namely Roll No, Student Name, Department, Marks for each student.
Alternative Flows: If faculty not entered any details or invalid marks then gives error Message
Pre-Conditions: The Faculty must logged into the system
Post-Conditions: If this Use case was successful, Student Mark Analysis Report will be
generated for the Student.
Page 18
AVVC SOFTWARE ENGINEERING LAB MANUAL
3.View Report
Basic flow: The Actor uses this usecase view the Report .The report contains the following details
Namely Roll No, Student Name, Marks in each subject, total, class, Pass/Fail Status, No of
subjects failed, Rank.
Apart from this there is a separate report Overall Pass percentage of class, No of students cleared
in First class, Overall Top 3 persons of the class.
Alternative Flow: If the Marks is not entered for all the students the use case will ask the faculty to
the enter the marks.
Pre-Conditions: The Faculty must entered marks for all the students in a class.
Post-Conditions: None
3.UML DIAGRAMS:
3.1.UseCase Diagram:
No of students
Mark
Staff Total
Student
Average
Grade
Page 19
AVVC SOFTWARE ENGINEERING LAB MANUAL
No of Students
Analyse
marks
Fail Pass
Total Marks
Calculate
Average
Give grade
details entry
entered field
store data
ask message
ask message
ask message
display
display
display
Page 20
AVVC SOFTWARE ENGINEERING LAB MANUAL
1: details entry
7: enter compute marks
server
admin
6: ask message
12: display
5: ask message
11: display
2: entered field
8: submit marks
3: store data
9: store
databas
gui
e
4: ask message
10: display
stud info
system
vb db
result cheking
details entry
marksheet entry
application
server
printer db
pc gui
Page 21
AVVC SOFTWARE ENGINEERING LAB MANUAL
4. DATABASE DESIGN
Database name: student
Table name:marks
Fields Data type
student name Text
register number Integer
Pqt Integer
Daa Integer
Mup Integer
Se Integer
Os Integer
Total Integer
Percentage Double
Result Text
5. IMPLEMENTATION:
FORM1 (Login form)
Coding:
Private Sub Command1_Click()
if text1.text=”student” and text2.text=”itdept”
then form2.Show
Else
msgbox|(“Please enter correct user name and password”)
end if
End Sub
Page 22
AVVC SOFTWARE ENGINEERING LAB MANUAL
Coding:
Private Sub Command1_Click()
Dim total, per, result
Data1.Recordset.AddNew
Data1.Recordset.Fields("sname") = Text1.Text
Data1.Recordset.Fields("regno") = Text2.Text
Data1.Recordset.Fields("m1") = Text3.Text
Data1.Recordset.Fields("m2") = Text4.Text
Data1.Recordset.Fields("m3") = Text5.Text
Data1.Recordset.Fields("m4") = Text6.Text
Data1.Recordset.Fields("m5") = Text7.Text
total = Text3.Text + Text4.Text + Text5.Text + Text6.Text +
Text7.Text Data1.Recordset.Fields("total") = total
per = (total / 5) * 100
Data1.Recordset.Fields("per") = per
If (Text3.Text > 49 And Text4.Text > 49 And Text5.Text > 49 And Text6.Text > 49
And Text7.Text > 49) Then result = "pass"
Data1.Recordset.Fields("result") = result
Data1.Recordset.Update
MsgBox ("record saved")
Form3.Show
End Sub
Page 23
AVVC SOFTWARE ENGINEERING LAB MANUAL
Coding:
Private Sub Command1_Click()
End
End Sub
Page 24
AVVC SOFTWARE ENGINEERING LAB MANUAL
6.TESTING:
RESULT:The Student marks analyzing system was designed and implemented successfully.
Page 25
AVVC SOFTWARE ENGINEERING LAB MANUAL
1.PROBLEM STATEMENT:
The project is mainly focused on medical field in expert system where the person or patient login
to the system and must select what are the symptoms for him that field information will be given to
expert system. Expert system will diagonise what type of disease using medical database. The
medical database will get all the information about medicine from pharmacy module and generate
the prescription for the right symptoms and it gives to expert system.The medical database gives
types of disease information to expert system.
2.OVERALL DESCRIPTION:
2.1 MODULES:
Symptoms
Expert System
Medical DB
Prescription
Pharmacy
2.2 MODULE DELIVERABLES:
SYMPTOMS:
Basic Flow:
Patient must enter the symptoms that occurs for him. The symptoms must be exact so that it can be
verified.
Alternate Flow:
If there are 4 symptoms then the patient is having big problem disease so,exit. If there are more than
4 then it is a serious problem
Precondition:
All the symptoms related to the disease are entered. Patient must enter the symptoms that occurs
correctly.
Postcondition:
If the symptoms are corresponding to particular disease they are entered in expert system.
PRESCRIPTION:
Basic Flow:
The medicine is prescribed based on the symptoms.Medical prescription is given by expert system.
Alternate Flow:
If medicine is not available then exit. If there is no medicine then it comes under stock unavailable
Page 26
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 27
AVVC SOFTWARE ENGINEERING LAB MANUAL
Postcondition:
If the details which is not present in expert system contained in database then we can extract
information.
3.UML DIAGRAM:
3.1 Usecasediagram:
symptoms
(from usecase)
patient
(from actor)
pharmacy
(from usecase)
Page 28
AVVC SOFTWARE ENGINEERING LAB MANUAL
Connected with
expert system
Invading the
system
connected to the
medicalinformation
Analyze the
symptoms
Disease found
Prescribe the
medicine
information
collected
exit
Maintain
Forward Symptoms
Analysis of Symptoms
Disease identified
Browse Information
Prescription Identified
Prescribe Medicine
Exit
Page 29
AVVC SOFTWARE ENGINEERING LAB MANUAL
7: Prescribe Medicine
8: Exit
2: Forward Symptoms
Actor
Expert
System
patient sympto
ms
Expert
System
4. DATABASE DESIGN
Database Name: Medical
Table Name : Patient
Fields Data type
pid Integer
pname Text
age Integer
gender Text
symptoms Text
drug Text
Page 30
AVVC SOFTWARE ENGINEERING LAB MANUAL
5. IMPLEMENTATION:
Form1 (Login form)
Coding:
Private Sub Command1_Click()
Form2.Show
End Sub
Private Sub Command2_Click()
End
End Sub
Page 31
AVVC SOFTWARE ENGINEERING LAB MANUAL
Coding:
Private Sub Command1_Click()
Form3.Show
End Sub
Coding:
Private Sub Command1_Click()
Data1.Recordset.AddNew
Data1.Recordset.Fields("pID") = Text1.Text
Data1.Recordset.Fields("pName") = Text2.Text
Data1.Recordset.Fields("age") = Text3.Text
If Option1.Value = True Then
Data1.Recordset.Fields("Gender") = "Male"
Else
Data1.Recordset.Fields("Gender") = "Female"
End If
Data1.Recordset.Fields("Symptoms") = Combo2.Text
Data1.Recordset.Update
MsgBox ("Data Added")
End Sub
Page 32
AVVC SOFTWARE ENGINEERING LAB MANUAL
Coding:
Private Sub Command1_Click()
Data1.Recordset.Edit
Data1.Recordset.Fields("Drug") = drug.Text
Data1.Recordset.Update
MsgBox ("Data Added")
End Sub
End If
Data1.Recordset.MoveNext
Loop
MsgBox ("not found")
Page 33
AVVC SOFTWARE ENGINEERING LAB MANUAL
out:
End Sub
6.TESTING:
Test case ID: Test_01
Test priority
(Low/Medium/High):Medium
Module name: login
Test title :verify login with valid username and password
Precondition: user has invalid username and password
S.NO TEST EXPECTED ACTUAL STATUS NOTES
STEPS RESULTS RESULTS
1 Provide User should The user is able to Success -
valid Be able to move to next
User name login Entry
2 Provide User should be The user is able Success Incase of
valid Able to To login wrong
password Login Successfully Password was
given an error
Message box
was
Displayed
3 Click login User should be User name and Success Incase user
able to navigate to password is gives wrong
next page after validated and next entry the sign
validation page is displayed in page
remains active
4 Click signup User should be User navigates to success -
able to navigate to the signup page
next page where where his user
user enters his name and
credentials password is
validated
RESULT:The Expert system to prescribe the medicines for the given symptoms was designed and
implemented successfully.
Page 34
AVVC SOFTWARE ENGINEERING LAB MANUAL
AIM : Banking:ATM/NetBanking
1.PROBLEM STATEMENT:
This project on atm is based on the processing of debit cards in atm.There are two main section and
the administrator section.In withdraw module the requested amount is deducted from the user’s
account if sufficient balance is available.If the balance in the user’s account is insufficient the
service is denied.In deposit module the deposited amount is added to the user’s balance.In balance
enquiry module the amount that is present in the user’s account is displayed. The user must enter his
pin and account number to perform any of the transactions.
2.OVERALL DESCRIPTION:
2.1 MODULES:
Login
Deposit
Withdraw
Changing pin number
Balance enquiry
2.1MODULE DELIVERABLES:
2.1.1 LOGIN:
Basic Flow :
User enters correct pin and logs into the machine
Alternative Flow :
User enters wrong pin and the card gets rejected
Pre-condition :
User must know the correct pin number.
2.1.2DEPOSIT AMOUNT:
Basic Flow:
User enters the amount and feds cash to machine.
Alternative Flow:
User cancels transaction.
Pre condition:
User should know the amount to be deposited.
Post condition:
User balance gets updated in the account.
Page 35
AVVC SOFTWARE ENGINEERING LAB MANUAL
2.1.3WITHDRAWAL:
Basic Flow:
User enters amount and gets cash from machine.
Alternative Flow:
Not enough cash in account and so the card gets rejected.
Pre condition:
User knows the amount to withdraw.
Post condition:
Balance is updated in account.
2.1.4BALANCE ENQUIRY:
Basic Flow:
User enquires about balance and the balance is displayed.
Alternative Flow:
User cancels transaction.
2.1.5 DELETE ACCOUNT:
Basic Flow:
User confirms deletion and account gets deleted.
Alternative Flow:
User doesn’t confirm and resumes transaction.
3. DESIGN
3.1 USECASE DIAGRAM
Page 36
AVVC SOFTWARE ENGINEERING LAB MANUAL
Insert Card
Valid
Display Options
View
Balance
Page 37
AVVC SOFTWARE ENGINEERING LAB MANUAL
1: welcome
2: insert card
3: enter pin no
9: withdraw
11: amount entered
16: deposit
18: amount entered
22: balance enquiry
25: change pin no
CUSTOM MACHINE
ER
7: select acc type
8: display options
5: accept pin no
13: enough balance
20: balance updated
26: pin no entered and changed
4: verify pin no
12: verify balance
19: update balance
23: check balance
SERVER
3.5COMPONENT DIAGRAM
Page 38
AVVC SOFTWARE ENGINEERING LAB MANUAL
ATM
Machine
Customer Administat
or
Page 39
AVVC SOFTWARE ENGINEERING LAB MANUAL
4. DATABASE DESIGN
Database Name: ATM
Table Name : Infor atm
Fields Data type
ACC NO Text
USER NAME Text
PIN NO Integer
ACCOUNT BALANCE Double(8)
Table data:
ACC NO PIN NO USER NAME ACCOUNT BALANCE
a6666 9999 Magdalene Rs.19000
b7777 7777 hhhh Rs.35000
5. IMPLEMENTATION:
Form1 (Login form)
Coding:
Private Sub Command1_Click()
Data1.Recordset.MoveFirst
While Not Data1.Recordset.EOF
If ((Text1.Text = Data1.Recordset.Fields("AccNO")) And (Text2.Text =
Data1.Recordset.Fields("PIN"))) Then
Welcome.Text1.Text =
Data1.Recordset.Fields("UserName") Welcome.Text2.Text
= Data1.Recordset.Fields("AccNO") Welcome.Show
GoTo out
Page 40
AVVC SOFTWARE ENGINEERING LAB MANUAL
Else
Data1.Recordset.MoveNext
End If
MsgBox ("Enter correct AccNO and PIN")
Wend
out:
End Sub
Coding:
Private Sub Command1_Click()
Data1.Recordset.MoveFirst
While Not Data1.Recordset.EOF
If ((Text1.Text = Data1.Recordset.Fields("UserName")) And (Text2.Text
= Data1.Recordset.Fields("accno"))) Then
MsgBox (Data1.Recordset.Fields("Account Balance"))
Balanceenquiry.Text1.Text = Data1.Recordset.Fields("Account
Balance") Balanceenquiry.Show
GoTo out
Else
Data1.Recordset.MoveNext
End If
MsgBox ("check user name and account number")
Wend
out:
End Sub
Page 41
AVVC SOFTWARE ENGINEERING LAB MANUAL
Form3(Balanceenquiry form)
Coding:
Private Sub Command1_Click()
Welcome.Show
End Sub
Coding:
Private Sub Command1_Click()
Data1.Recordset.MoveFirst
Data1.Recordset.Edit
Page 42
AVVC SOFTWARE ENGINEERING LAB MANUAL
Coding:
Private Sub Command1_Click()
Dim s
Welcome.Data1.Recordset.Edit
If Welcome.Data1.Recordset.Fields("Account Balance") > Text1.text
then s=val(Welcome.Text2.text) – val(Text1.text)
Welcome.Data1.Recordset.Fields("Account Balance") = s
Page 43
AVVC SOFTWARE ENGINEERING LAB MANUAL
Welcome.Data1.Recordset.Update
Else
Msgbox(“Insuficient amount”)
End if
End Sub
6.TESTING:
Page 44
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 45
AVVC SOFTWARE ENGINEERING LAB MANUAL
3. DESIGN
3.1 USECASE DIAGRAM
Page 46
AVVC SOFTWARE ENGINEERING LAB MANUAL
CLASS DIAGRAM
ACTIVITY DIAGRAM
Page 47
AVVC SOFTWARE ENGINEERING LAB MANUAL
SEQUENCE DIAGRAM
COLLABORATION DIAGRAM:
Page 48
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 49
AVVC SOFTWARE ENGINEERING LAB MANUAL
CLASS DIAGRAM
Delivery Person
DeliveryId
Name
Address delivers
TelNo
1
createDelP()
checkStatus() Mediator
assignPacket()
showStatus()
recipient 1..*
Shipment
Order Packet
ShipNo
OrderId
Services DateSent
PacketId
DateArrived
Type provides Price
Ships Status
Price Type
PacketId
CustId 1 1 Weight 1 1
Del_Id
MaxWt Dest
order Reason
MinWt Service Status
Receiver sorrPackets()
createServices() createPacket()
assignPackets()
chkServices() order chkType()
receivePacket()
calcAmt()
createConfirm()
delPacket()
deletePacket()
order 1..* has
generator 1
Order Transaction
New Order
OrderId
Customer OrderId
initiates BillNo
date
Name Date
Total
CustId generator Amount
CustId
Address
Telephone
orders NoOfPackets
prepBill()
Status
Pincode 1 0..* 1 1..* generateBillNo()
AddOrderChrgs()
initiator createOrder() Transa
getCustDetails() calcTotal()
cancelReq() ction
createCust() changeStatus() printBill()
chkStatus() generator
generateBillDetails()
searchOrder()
showBillDetails()
delOrder()
Page 50
AVVC SOFTWARE ENGINEERING LAB MANUAL
getOrder()
chkType(Orderid,Itemid)
chkWt()
calcAmt(type,wt)
createTrans(orderid,Amt)
produceChrgs(trans)
:Order
: Customer : Admin : Head Office :Customer
:Order Packet Transaction
Visits
status=chkStatus(cust_name)
sendParcel()
createOrder(order_info) chkQty(id,qty)
chkPrice()
chkType()
chkService()
orderDetails()
sendConfirmation() sendCourier()
Page 51
AVVC SOFTWARE ENGINEERING LAB MANUAL
Status()
getDetails(id)
getItemDetails(itemid,orderid)
getStatus(itemid)
ShipmentDetails()
cancelItem()
orderStatus()
canTransaction()
cancelConfirm()
getOrderId()
getItem(orderid,itemid)
statusofDel(itemid,orderid)
getStatus()
Page 52
AVVC SOFTWARE ENGINEERING LAB MANUAL
: Head Office
12: sendConfirmation()
11: sendCourier()
:Order
1: Visits
Transaction
: Customer 4: sendParcel()
10: orderDetails()
:Services
:Customer
2: createCust(cust_info)
3: status=chkStatus(cust_name):Admin
9: chkService()
6: chkQty(id,qty)
5: createOrder(order_info)
7: chkPrice()
8: chkType()
:Order :Order
Packet
: Customer
: Admin
6: produceChrgs(trans) :Order
Transaction
1: getOrder()
5: createTrans(orderid,Amt)
:Order
Packet
:Order
2: chkType(Orderid,Itemid)
3: chkWt()
:Services 4: calcAmt(type,wt)
Page 53
AVVC SOFTWARE ENGINEERING LAB MANUAL
7: cancelConfirm()
: Customer : Admin
2: chkOrder(Orderid) 6: canTransaction()
5: orderStatus()
:Order :Order
Transaction
3: chkStatus()
4: cancelItem()
:Order
Packet
: Customer : Admin
3: getItemDetails(itemid,orderid)
5: ShipmentDetails()
:Shipment :Order
Packet
4: getStatus(itemid)
1: getOrderId()
: Admin
2: getItem(orderid,itemid)
4: getStatus() 3: statusofDel(itemid,orderid)
:Order
Packet :Shipment
Page 54
AVVC SOFTWARE ENGINEERING LAB MANUAL
Statechart Diagram
AddToOrder(Order_id,Desc,Qty)
CreateOrderPacket()
sendPacket()
addToBill(OrderId)
Shipped Closed
<<GUI>> <<INFRASTRUCTURE>>
Application
SYSTEM COURIER
MANAGEMENT
Data base
Page 55
AVVC SOFTWARE ENGINEERING LAB MANUAL
Application
Database server
Page 56
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 57
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 58
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 59
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 60
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 61
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 62
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 63
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 64
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 65
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 66
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 67
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 68
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 69
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 70
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 71
AVVC SOFTWARE ENGINEERING LAB MANUAL
PROGRAM 9 : Booking/Ticketing(Food:Zomato/Swiggy/BigBasket/Grofers/JioMart,
Hotel:OYO/Trivago or Travel:{Cars:Uber/OLA/Zoom, Railways:IRCTC,
Buses:OnlineTSRTC/RedBus/AbhiBus,Flights:MakeMyTrip/Goibibo, Ships:Lakport})
AIM : Booking/Ticketing(Food:Zomato/Swiggy/BigBasket/Grofers/JioMart,
Hotel:OYO/Trivago or Travel:{Cars:Uber/OLA/Zoom, Railways:IRCTC,
Buses:OnlineTSRTC/RedBus/AbhiBus,Flights:MakeMyTrip/Goibibo, Ships:Lakport})
1. PROBLEM STATEMENT:
This project is about online ticket reservation and consists of two modules. The reservation and the
cancellation module. The reservation module allows the user to reserve tickets for a particular train
on a particular date. If there is a ticket available, the users can know the vacancy details through the
enquiry module. The cancellation module allows user to cancel the tickets for a particular date
through reservation officer (system). This module performs status reveal before tickets are being
reserved and after they get booked. All these modules together prove to be a flexible online
reservation system and it provides complete flexibility to end users and it assumes the desired
performance.
2. OVERALL DESCRIPTION:
2.1 MODULES:
Login
Display train list
Search for train
Reservation
Cancellation
Train Status
2.2 MODULE DELIVERABLES:
1. LOGIN
Basic Flow
This use case starts when the passenger wishes to Login to the Online Ticket Reservation system
1. The System requests that the passenger enter his/her name and password
2. The passenger enters his/her name and password
3. The System validates the entered name and password and logs the passenger into the
System Alternative Flows: Invalid Name/Password
If, in the Basic flow, the passenger enters an invalid name and/or password, the system displays an
error message. The passenger chooses to either return to the beginning of the Basic flow or cancel
the login, at which point the use case ends.
Pre-Conditions: None
Page 72
AVVC SOFTWARE ENGINEERING LAB MANUAL
Post-Conditions: If the use case was successful, the passenger is now logged into the system. If not,
the system State is unchanged.
2. Display Train List
Basic Flow: This use case gives passenger information about each train namely train no, train name,
Stations passes, Arrival Time, Departure Time etc
Alternative Flows: None
Pre-Conditions: None
Post-Conditions: If the use case was successful, the passenger information about each train namely
train no, train name, Stations passes, Arrival Time, Departure Time etc
3. Search for Train
Basic flow
The passenger can obtain train information either by entering train no or Source and Destination
Station
1. If the passenger train no gives the information about train
2. If the passenger enter Source and Destination Station from list gives information about list of
trains passing through station. From the list link will be provided to each train, which contains the
information
Alternate flow: If the passenger enters an invalid train no then it gives error message invalid train
no and asks the passenger to enter a valid train no.
Pre-Conditions: None
Post-Conditions: If the use case was successful, the passenger can able to view the list of trains.
4.Reservation
Basic flow
1. The user reserves the ticket by giving
following a) Passenger name, Sex, Age, Address
b) Credit Card No, Bank Name
c) Class through passenger is going to travel i.e First class or Second class or AC d)
Train no and Train name, Date of Journey and number of tickets to be booked.
2. If the ticket is available in a train then the ticket will be issued with PNR No.else the ticket will
be issued with a waiting list number.
Alternative flow: If the passenger gives an invalid credit card no or specified a bank where does
have any account. Error message will be displayed.
Pre-Conditions: The passenger has to decide about the train he is going to travel.
Post-Conditions: If the use case was successful, the passenger will get the ticket.
5. Cancellation
Basic flow
Page 73
AVVC SOFTWARE ENGINEERING LAB MANUAL
This use case used by passenger to cancel the ticket, which he/she booked earlier by Entering PNR
No. The cancellation has been done reallocating the tickets allotted to the Passenger.
Alternate flow: If the Passenger had entered invalid PNR No then has been asked to enter valid
PNR No.
Pre-Conditions: The Passenger had reserved tickets in a train.
Post-Conditions: If the use case was successful, the passenger can cancel the ticket.
6. Ticket Status
Basic flow
1. The passenger should give PNR No to know the status of ticket, which he/she booked earlier.
2. If the PNR No is valid, the status of the ticket will be displayed.
Alternate flow: If passenger had entered an invalid no or PNR NO, which does not exists then error
Message will be displayed.
Pre-Conditions: The Passenger had reserved tickets in a train.
Post-Conditions: If the use case was successful, the passenger can view status of the ticket.
3. UML DIAGRAMS:
3.1. Usecase Diagram:
list of trains
(from use case)
system controller confirm reservation
(from actor) (from actor) (from use case)
personal details
(from use case)
enter train details
(from use case)
submit
logout (from use case)
Page 74
AVVC SOFTWARE ENGINEERING LAB MANUAL
log in
reservation cancellation
enter user
details enter cancellation
details
check
availability confirm
cancellation
confirm recheck
availability
logout
end
Page 75
AVVC SOFTWARE ENGINEERING LAB MANUAL
eticket
Page 76
AVVC SOFTWARE ENGINEERING LAB MANUAL
system
passenger
controller
4. DATABASE DESIGN
Database name: Rail Table
name :student name
Field name Datatype
Name Text(50)
Place Integer
Mobile number integer
Page 77
AVVC SOFTWARE ENGINEERING LAB MANUAL
Coding:
Private Sub Command1_Click()
Form1.Show
Data1.Recordset.AddNew
Data1.Recordset.Fields("name") = Text1.Text
Data1.Recordset.Fields("place") = Text2.Text
Data1.Recordset.Fields("mobile number") = Text3.Text
Data1.Recordset.Update
End Sub
Page 78
AVVC SOFTWARE ENGINEERING LAB MANUAL
coding
Private Sub Command1_Click()
Form3.Show
End Sub
coding
Private Sub Command1_Click()
Form2.Show
End Sub
Page 79
AVVC SOFTWARE ENGINEERING LAB MANUAL
coding
Private Sub Command1_Click()
Form4.Show
Data1.Recordset.AddNew
Data1.Recordset.Fields("name") = Text1.Text
Data1.Recordset.Fields("age") = Text2.Text
Data1.Recordset.Fields("place") = Text3.Text
Data1.Recordset.Fields("train name and number") = Text8.Text
If Option1.Value = True Then
Data1.Recordset.Fields("seat selection") = "upper"
Else
Data1.Recordset.Fields("seat selection") = "lower"
End If
If Option6.Value = True Then
Data1.Recordset.Fields("sex") = "male"
Else
Data1.Recordset.Fields("sex") = "femal"
End If
If Option10.Value = True Then
Data1.Recordset.Fields("food") = "veg"
Else
Data1.Recordset.Fields("food") = "non-veg"
End If
If Option3.Value = True Then
Data1.Recordset.Fields("class") = "1 class"
Else
Data1.Recordset.Fields("seat selection") = "2 class"
End If
Data1.Recordset.Fields("date") = Text4.Text
Data1.Recordset.Fields("time") = Text5.Text
Data1.Recordset.Fields("from") = Text6.Text
Data1.Recordset.Fields("to") = Text7.Text
Data1.Recordset.Update
End Sub
Page 80
AVVC SOFTWARE ENGINEERING LAB MANUAL
ctr.Text = Empty
End If
Next
End Sub
coding
Private Sub Command2_Click()
Form5.Show
Data1.Recordset.AddNew
Data1.Recordset.Fields("adhar no") = Text1.Text
Data1.Recordset.Fields("pan card number") = Text2.Text
Data1.Recordset.Fields("e-mail ID") = Text3.Text
Data1.Recordset.Fields("mobile number") = Text4.Text
Data1.Recordset.Update
End Sub
Page 81
AVVC SOFTWARE ENGINEERING LAB MANUAL
coding
Private Sub Command1_Click()
train.Show
End Sub
coding
Private Sub Command1_Click()
Form4.Show
Data1.Recordset.AddNew
Data1.Recordset.Fields("name") = Text1.Text
Data1.Recordset.Fields("age") = Text2.Text
Data1.Recordset.Fields("place") = Text3.Text
Data1.Recordset.Fields("train name and number") = Text8.Text
If Option1.Value = True Then
Data1.Recordset.Fields("seat selection") = "upper"
Else
Data1.Recordset.Fields("seat selection") = "lower"
End If
If Option6.Value = True Then
Data1.Recordset.Fields("sex") = "male"
Else
Data1.Recordset.Fields("sex") = "femal"
End If
If Option10.Value = True Then
Data1.Recordset.Fields("food") = "veg"
Else
Data1.Recordset.Fields("food") = "non-veg"
End If
If Option3.Value = True Then
Data1.Recordset.Fields("class") = "1 class"
Else
Data1.Recordset.Fields("seat selection") = "2 class"
End If
Data1.Recordset.Fields("date") = Text4.Text
Data1.Recordset.Fields("time") = Text5.Text
Data1.Recordset.Fields("from") = Text6.Text
Data1.Recordset.Fields("to") = Text7.Text
Data1.Recordset.Update
Page 82
AVVC SOFTWARE ENGINEERING LAB MANUAL
End Sub
coding
Private Sub Command2_Click()
Form5.Show
Data1.Recordset.AddNew
Data1.Recordset.Fields("adhar no") = Text1.Text
Data1.Recordset.Fields("pan card number") = Text2.Text
Data1.Recordset.Fields("e-mail ID") = Text3.Text
Data1.Recordset.Fields("mobile number") = Text4.Text
Data1.Recordset.Update
End Sub
Page 83
AVVC SOFTWARE ENGINEERING LAB MANUAL
coding
Private Sub Command1_Click()
train.Show
End Sub
coding
Private Sub Command1_Click()
Form8.Show
End Sub
coding
Private Sub Command2_Click()
Page 84
AVVC SOFTWARE ENGINEERING LAB MANUAL
Form10.Show
Data1.Recordset.AddNew
Data1.Recordset.Fields("train name & number") =
Text1.Text Data1.Recordset.Fields("name") = Text2.Text
Data1.Recordset.Fields("pnr number") = Text3.Text
Data1.Recordset.Fields("e-mail ID") = Text4.Text
Data1.Recordset.Fields("phone number") = Text5.Text
Data1.Recordset.Update
End Sub
Private Sub Command4_Click()
Dim ctr As Control
For Each ctr In Me.Controls
If TypeOf ctr Is TextBox Then
ctr.Text = Empty
End If
Next
End Sub
coding
Private Sub Command1_Click()
train.Show
End Sub
coding
Private Sub Command2_Click()
Form11.Show
Data1.Recordset.AddNew
Data1.Recordset.Fields("train name & number") = Text1.Text
Data1.Recordset.Fields("name") = Text2.Text
Data1.Recordset.Fields("pnr number") = Text3.Text
Page 85
AVVC SOFTWARE ENGINEERING LAB MANUAL
Coding v bn,..l
Private Sub Command1_Click()
train.Show
End Sub
coding
Private Sub Command1_Click()
train.Show
End Sub
Page 86
AVVC SOFTWARE ENGINEERING LAB MANUAL
6.TESTING:
Test case ID: Test_01
Test priority
(Low/Medium/High):Medium
Module name: login
Test title :verify login with valid username and password
Precondition: user has invalid username and password
Page 87
AVVC SOFTWARE ENGINEERING LAB MANUAL
Collection Information:
This step focuses on collecting all possible information (i.e., source design documents
etc.) about the software.
Examining the information:
The information collected in step-1 as studied so as to get familiar with the system.
Page 88
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 89
AVVC SOFTWARE ENGINEERING LAB MANUAL
Reverse engineering in state chart is theoretically possible, but practically not very useful
Reverse engineering in deployment diagram is a process of producing a logical or physical
model from the executable code.
Identify the target element to reverse engineer.
Walk across the system to discover the h/w structure.
Walk across the system to discover the components.
With the help of modeling techniques, design, a create a deployment diagram.
Page 90
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 91
AVVC SOFTWARE ENGINEERING LAB MANUAL
manual testing. But to check if the web-server can take the load of 1 million users, it is
quite impossible to test manually.
There are software and hardware tools which helps tester in conducting load testing, stress testing,
regression testing.
Testing Approaches
Tests can be conducted based on two approaches –
Functionality testing
Implementation testing
When functionality is being tested without taking the actual implementation in concern it is
known as black-box testing. The other side is known as white-box testing where not only
functionality is tested but the way it is implemented is also analyzed.
Exhaustive tests are the best-desired method for a perfect testing. Every single possible value in the
range of the input and output values is tested. It is not possible to test each and every value in real
world scenario if the range of values is large.
Black-box testing
It is carried out to test functionality of the program. It is also called ‘Behavioral’ testing. The tester
in this case, has a set of input values and respective desired results. On providing input, if the
output matches with the desired results, the program is tested ‘ok’, and problematic otherwise.
In this testing method, the design and structure of the code are not known to the tester, and
testing engineers and end users conduct this test on the software. Black-box testing techniques:
Equivalence class - The input is divided into similar classes. If one element of a class
passes the test, it is assumed that all the class is passed.
Boundary values - The input is divided into higher and lower end values. If these
values pass the test, it is assumed that all values in between may pass too.
Cause-effect graphing - In both previous methods, only one input value at a time is tested.
Cause (input) – Effect (output) is a testing technique where combinations of input values
are tested in a systematic way.
Pair-wise Testing - The behavior of software depends on multiple parameters. In
pairwise testing, the multiple parameters are tested pair-wise for their different values.
State-based testing - The system changes state on provision of input. These systems are
tested based on their states and input.
White-box testing
It is conducted to test program and its implementation, in order to improve code efficiency or
structure. It is also known as ‘Structural’ testing.
Page 92
AVVC SOFTWARE ENGINEERING LAB MANUAL
In this testing method, the design and structure of the code are known to the tester. Programmers
of the code conduct this test on the code.
The below are some White-box testing techniques:
Control-flow testing - The purpose of the control-flow testing to set up test cases which
covers all statements and branch conditions. The branch conditions are tested for both
being true and false, so that all statements can be covered.
Data-flow testing - This testing technique emphasis to cover all the data variables included
in the program. It tests where the variables were declared and defined and where they
were used or changed.
Testing itself may be defined at various levels of SDLC. The testing process runs parallel to
software development. Before jumping on the next stage, a stage is tested, validated and
verified. Testing separately is done just to make sure that there are no hidden bugs or issues left
in the software. Software is tested on various levels -
Unit Testing
While coding, the programmer performs some tests on that unit of program to know if it
is error free. Testing is performed under white-box testing approach. Unit testing helps
developers decide that individual units of the program are working as per requirement and
are error free.
Integration Testing
Even if the units of software are working fine individually, there is a need to find out if the
units if integrated together would also work without errors. For example, argument
passing and data updation etc.
System Testing
The software is compiled as product and then it is tested as a whole. This can
be accomplished using one or more of the following tests:
Functionality testing - Tests all functionalities of the software against the requirement.
Performance testing - This test proves how efficient the software is. It tests the effectiveness
and average time taken by the software to do desired task. Performance testing is done by
means of load testing and stress testing where the software is put under high user and data
Page 93
AVVC SOFTWARE ENGINEERING LAB MANUAL
The following documents may be required while testing is started and is being done:
Test Case document - This document contains list of tests required to be conducted. It
includes Unit test plan, Integration test plan, System test plan and Acceptance test plan.
Page 94
AVVC SOFTWARE ENGINEERING LAB MANUAL
Test description - This document is a detailed description of all test cases and procedures
to execute them.
Test case report - This document contains test case report as a result of the test.
Test logs - This document contains test logs for every test case report.
Test summary - This test summary is collective analysis of all test reports and logs. It
summarizes and concludes if the software is ready to be launched. The software is released
under version control system if it is ready to launch.
Testing vs. Quality Control, Quality Assurance and Audit
We need to understand that software testing is different from software quality assurance,
software quality control and software auditing.
Software quality assurance - These are software development process monitoring means, by
which it is assured that all the measures are taken as per the standards of organization. This
monitoring is done to make sure that proper software development methods were followed.
Software quality control - This is a system to maintain the quality of software product. It
may include functional and non-functional aspects of software product, which enhance the
goodwill of the organization. This system makes sure that the customer is receiving
quality product for their requirement and the product certified as ‘fit for use’.
Software audit - This is a review of procedure used by the organization to develop the
software. A team of auditors, independent of development team examines the software
process, procedure, requirements and other aspects of SDLC. The purpose of software
audit is to check that software and its development process, both conform standards, rules
and regulations.
What is a Test Plan?
Test planning, the most important activity to ensure that there is initially a list of tasks and
milestones in a baseline plan to track the progress of the project. It also defines the size of the
test effort.
It is the main document often called as master test plan or a project test plan and usually
developed during the early phase of the project.
Page 95
AVVC SOFTWARE ENGINEERING LAB MANUAL
3. Test items A test item is a software item that is the application under test.
5. Features not to be Identify the features and the reasons for not including as part of
tested testing.
7. Item pass/fail criteria Documented whether a software item has passed or failed its test.
8. Test deliverables The deliverables that are delivered as part of the testing
process,such as test plans, test specifications and test summary
reports.
9. Testing tasks All tasks for planning and executing the testing.
11. Responsibilities Lists the roles and responsibilities of the team members.
12. Staffing and training Captures the actual staffing requirements and any specific skills
needs and training requirements.
13. Schedule States the important project delivery dates and key milestones.
14. Risks and Mitigation High-level project risks and assumptions and a mitigating plan for
each identified risk.
15. Approvals Captures all approvers of the document, their titles and the sign
off date.
Page 96
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 97
AVVC SOFTWARE ENGINEERING LAB MANUAL
Verify that the input field that Login to Application should be Application
can accept maximum of 10 application and key able to accept all 10 accepts all 10
characters in 10 characters characters. characters.
Verify that the input field that Login to Application should Application
can accept maximum of 11 application and key NOT accept all 11 accepts all 10
characters in 11 characters characters. characters.
If the expected result doesn't match with the actual result, then we log a defect. The defect
goes through the defect life cycle and the testers address the same after fix
Page 98
AVVC SOFTWARE ENGINEERING LAB MANUAL
ADDITIONAL EXPERIMENTS
PROGRAM 12:
AIM: Education system-online eaAVVC examination case study
Page 99
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 100
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 101
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 102
AVVC SOFTWARE ENGINEERING LAB MANUAL
PROGRAM 13
AIM : Applying for online passport system back end verification process
Page 103
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 104
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 105
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 106
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 107
AVVC SOFTWARE ENGINEERING LAB MANUAL
PROGRAM 14:
AIM : Govt. Services: applying certificates
1.Birth certificate
2.caste certificate
3.migration certificate
4.Death certificate
Page 108
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 109
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 110
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 111
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 112
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 113
AVVC SOFTWARE ENGINEERING LAB MANUAL
Viva Questions
Page 114
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 115
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 116
AVVC SOFTWARE ENGINEERING LAB MANUAL
Page 117