Software Requirement Engineering Lab Manual
Software Requirement Engineering Lab Manual
LABS: 1-10
LAB NO 01
TASK 1:
Consider in the following grocery list example. Identify requirements error in this list.
1. Milk
2. A loaf of bread
3. Orange juice
4. A box of cereal
5. Butter
Answer:
Requirements errors are:
A dozen egg, rice, milk, vegetables and flour should also be include in the glossary list. Because,
these things are he basic requirements for everyone. Beside it, we can exclude orange juice, loaf
of bread and butter from this list. This is because, not everyone uses these things in their daily
meal. And everyone can buy the above-mentioned glossary even in normal budget excluding
orange juice, loaf of bread and butter.
TASK 2:
🡺 REQ1: On loss of power, the battery backup must support normal operations.
Yes, here is the requirement error because it is not possible for any battery to support normal
operations on the loss of power, as there are many reasons for this but one is, sometimes the
temperature of the room suddenly changes as moisture, hot etc. these environmental changes
affects the battery and battery cannot perform the functions.
🡺 REQ2: The system shall not accept passwords longer than 15 characters.
No, here is no error but this thing can become more useful if we specify that passwords should
include special letters or symbols, it shouldn’t include duplicate letters etc. this thing can make
security more tough and strong.
🡺 REQ3: The system shall have a natural language interface that will understand
commands given in English language.
Yes, here is the error. System can understand only binary language that is not natural and
humans cannot interface through this language. But, humans’ interface with the system through
their natural language and at back end system receive it as binary code. So, it is not possible for
the system to understand natural language of humans.
Yes, here is the error, whenever replacement control system is installed there will be definitely
some disturbance for the production because everything is connected with one another and
depends mostly on one another’s functionality.
TASK 3:
A requirement that says “Users should be able to move more quickly between screens” is
not verifiable. Why?
Answer:
The above statement is not verifiable because it is not possible that user move quickly between
the screens. User can operate one screen at a time only, it is not possible for a user to operate
more than one screen at a time. It consumes some time for user to move between multiple
screens.
TASK 4:
What will you end up with when you are asked “to divide 8 in a half”?
Answer:
To divide 8 in a half, we will divide 8 into two halves of 4.
LAB NO 02
TASK 1:
Write down Functional and Non-Functional Requirements of ATM
(Automated teller Machine)?
ANSWER
ATM (AUTOMATED TELLER MACHINE)
An automated teller machine (ATM) is an electronic telecommunications device that enables
customers of financial institutions to perform financial transactions, such as cash withdrawals,
deposits, funds transfers, or account information inquiries, at any time and without the need for
direct interaction with bank staff.
FUNCTIONAL AND NON-FUNCTIONAL REQUIREMENTS OF ATM:
Functional requirements:
It defines the basic system behavior. It tells the system what to do and how to do.
Non-functional Requirements:
It defines system’s attributes such as security, reliability, performance, maintainability,
scalability, and usability.
Software Requirements
Specification
for
<ATM>
Version 1.0 approved
<15th-Oct-2020>
Copyright © 1999 by Karl E. Wiegers. Permission is granted to use, modify, and distribute this document.
Table of Contents
Table of Contents ......................................................................................................................... vi
Revision History ............................................................................... Error! Bookmark not defined.
1. Introduction ..............................................................................................................................6
1.1 Purpose............................................................................................................................................. 6
1.2 Document Conventions .................................................................................................................... 6
1.3 Intended Audience and Reading Suggestions .................................................................................. 6
1.4 Product Scope .................................................................................................................................. 6
1. Introduction
1.1 Purpose
An automated teller machine (ATM) is an electronic banking outlet that allows customers
to complete basic transactions without the aid of a branch representative or teller. Anyone
with a credit card or debit card can access cash at most ATMs. ATMs are convenient,
allowing consumers to perform quick self-service transactions such as deposits, cash
withdrawals, bill payments, and transfers between accounts.
ATM has its own functionalities. All have their equal importance and priorities. In this
document, I followed that every requirement must have to be documented accordingly to their
importance and priorities.
This document is meant for the readers so they can easily understand our polices and method to
use our project. The document is intended for, developers, project managers, marketing staff,
users, and testers. It is important for the readers to read the whole document very carefully. In
this document, every section is divided and have the information and knowledge about different
parts of our product.
An Atm machine has very high scope in this world of technology. In this fast world, it has saved
the time of people by making their common transactions easily by one click. People can attain
the facilities provided by atm anywhere in the world just by one click. It not only saves the times,
rather it has also paved the way for the world to know more about computers and science.
2. Overall Description
2.1 Product Perspective
The ATM is a single functional unit consisting of various subcomponents. This software allows
the user to access their bank accounts remotely through an ATM without any aid of human bank
teller. This software also allows to perform various other functions apart from just accessing his
bank account such as mobile bill clearings etc. The ATM communicates with the bank’s central
server through a dial-up communication link.
There can be 3 different kinds of users that will interact with the system:
i. New user: A new ATM customer. This user has little or no experience with electronic
means. He can use the product by following the instructions on the screen about ATM.
ii. Experienced user: An experienced customer. This will be the user who has used the
product or system more than one time. He can perform his functions faster and more
accurate as he already used the system.
iii. Banker: A bank employee. This user is familiar with the functioning of the ATM. He
knows more about ATM as he uses the system daily and it is his basic routine of work.
This system depends upon internet. It will operate in the environment where it should be internet.
Mostly it is with any bank and connected with the specific bank that make easy for the users to
solve all accounts problems side by side.
It is important for the users to know about the functionality of the system. So, for this purpose we
will launch a booklet with every product that will hold overall description of our system.
Different websites will also be created that helps the users, testers, managers and customers to
operate with the system.
The requirements stated in the SRS could be affected by the following factors:
i. One major dependency that the project might face is the changes that need to be
incorporated with the changes in the bank policies regarding different services. As the
policies changes the system needs to be updated with the same immediately. A delay in
doing the same will result to tremendous loss to the bank.
ii. The project could be largely affected if some amount is withdrawn from the user’s
account from the bank at the same time when someone is accessing that account through
the ATM machine. Such a condition shall be taken care of.
iii. At this stage no quantitative measures are imposed on the software in terms of speed and
memory although it is implied that all functions will be optimized with respect to speed
and memory.
The interface provided to the user should be a very user-friendly. The interface provided is a
menu driven one and the following screens will be provided:
i. A login screen is provided in the beginning for entering the required username/pin no.
and account number.
ii. An unsuccessful login leads to a reattempt (maximum three) screen for again entering the
same information. The successful login leads to a screen displaying a list of supported
languages from which a user can select anyone.
iii. The screen will show different functions that a user can perform i.e. debit, credit etc.
iv. Then user will choose the function he wants to perform.
v. Another screen will be open regarding selected option by the user.
vi. In case of administrator, a screen will be shown having options to reboot system, shut
down system, block system, disable any service.
In order to perform various different functions, this software needs to interact with various other
software. So, some are listed below:
i. The transaction management software used to manage the transaction and keep track of
resources shall be BMS version 2.0.
ii. The card management software used to verify pin no and login shall be CMS version 3.0.
Yamaha codecs 367/98 for active speakers.
iii. The database used to keep record of user accounts shall be Oracle version7.0.
The machine needs to communicate with the main branch for each session for various functions
such as login verification, account access etc. So, the following are the various communication
interface requirements:
i. The system will employ dial-up POS with the central server for low cost communication.
ii. The communication protocol used shall be TCP/IP.
iii. Protocol used for data transfer shall be File Transfer Protocol (FTP)
4. System Features
Following are the features of the system:
v. After the user is finished with his work, for security purpose, he is required to log
out and then take his card out of the slot.
Validity Checks
In order to gain access to the system, the user is required to enter his/her correct user
id/pin no and account no failing which his card may be blocked. The user can access only
one account at a time and can enter only one account no. Also, if the user is an
administrator, he is required to enter his login id in order to access and change the
facilities provided by the system.
Sequencing Information
The information about the users and their account should be entered into the database
prior to any of the transactions and the backup be maintained for all account information.
Error Handling/ Response to Abnormal Situations
If any of the above validation/sequencing flow does not hold true, appropriate error
messages will be prompted to the user for doing the needful.
6. Other Requirements
None.
7. Appendix A: Glossary
a. ATM An unattended electronic machine in a public place, connected to a data system
and related equipment and activated by a bank customer to obtain cash withdrawals and
other banking services.
b. Dial-Up POS A message format for low cost communications.
c. Internet An interconnected system of networks that connects computers around the
world via the TCP/IP protocol.
LAB NO 04
Task:
Write down the 10 requirements for the order processing module of the Point
of sale and draw interaction matrix.
A POS (Point-Of-Sale) system is a computer system typically used to manage the sales in retail
stores.
Requirements For POS:
1. The system should be in black color only
2. The system should store all the prices of goods
3. The system should store the whole record of customers
4. The system read the barcode, barcode should contain all the information like
manufacturer name, price and quality of good
5. The system should have built-in printer to print the receipt for billing
6. The printer should be changed after 1 year
7. The processor of the system should Deduce stock amount of good
8. The processor of the system should Compute total amount
9. The system should automatically delete the record of customer after 3 months
10. The system should update the amounts of goods stored on barcode automatically
INTERACTION MATRIX
R1 R2 R3 R4 R5 R6 R7 R8 R9 R10
R1 0 0 0 0 0 0 0 0 0 0
R2 0 0 1000 0 0 0 0 0 0 0
R3 0 1000 0 0 0 0 0 0 0 0
R4 0 0 0 0 0 0 0 0 0 1000
R5 0 0 0 0 0 1 0 0 0 0
R6 0 0 0 0 1 0 0 0 0 0
R7 0 0 0 0 0 0 0 1000 0 0
R8 0 0 0 0 0 0 1000 0 0 0
R9 0 0 1 0 0 0 0 0 0 0
R10 0 0 0 1000 0 0 0 0 0 0
LAB NO 05
➢ Task 1:
Patient, software department, mobile phone, school, bus, Rawalpindi express
a. Identify the classes and objects from the list given above.
b. Write at least 3 attributes and 2 operations of each class found in above list.
c. Name the possible class of objects you found in above list.
a.
Classes Objects
Software department Mobile phone
Bus Rawalpindi express
Patient
School
b.
• Software department
Attributes Operations
Department students Find_semesters()
Department teachers no_of_Courses()
Department rooms
• Bus
Attributes Operations
Seat capacity Bus_arrival_timing()
Windows Travel_hours()
Engine
• Patient
Attributes Operations
Name Find_info()
Gender Medical_report()
Age
• School
Attributes Operations
Area Exams()
Classrooms Admission()
Population
c.
Object Name of Class
Rawalpindi express Bus
Mobile phone Electronic appliances
➢ Task 2:
First name, last name ,father name , date of birth, home address, matric marks
,intermediate marks , college name, postal address, age, mother name, eyesight number,
user name, email id ,Facebook id, password, confirm password, security question ,security
code, terms and conditions.
a. From the above list write down the information that you will need to sign up in a
yahoo account.
b. From the list of information you gathered for signup in yahoo account abstract the
information that you will require to login to yahoo account.
a.
• First Name
• Last Name
• Father Name
• Date Of Birth
• Email Id
• Password
• Confirm Password
• Security Question
• Security Code
• Terms And Conditions
b.
user name
email id
password
➢ Task 3:
➢ Task 4:
Car, Student, tree, mango tree, Patient, Person, BMW, things, Honda, human, City,
Vehicle, non-living things, bike, bicycle,animal, mammal,reptile, horse, amphibian, snake ,
lizard, living things, frog, plants
a. From the above list identify inheritance relationship among the given classes. Hint:
Remember that a super class can be sub class of an other class
a.
Child classes
1.1 mango tree
1.2 tree
Child classes
2.1 Car
2.2 BMW
2.3 Honda
2.4 City
2.5 Bicycle
2.6 Bike
Child classes
3.1 Patient
3.2 Student
3.3 Person
Child classes
4.1 mammal
4.2 reptile
4.3 horse
4.4 amphibian
4.5 snake
4.6 lizard
4.7 frog
4.8 animals
Child classes
5.1 things
LAB NO 06
Explanation:
HOSPITAL (parent class):
Attributes Operations
Name Treatment
Address Admit
city Discharge
We have main parent class that is HOSPITAL.
Hospital has an associate and direct associate class that are following:
1. Department
2. Staff
3. Patient (direct association)
4. Ward
Department:
Attributes Operations
department_name no_rooms
add_doctor
assign_rooms
Ward:
Attributes Operations
ward_name register_patient
ward_no patient_care
• Common ward:
Attributes
no_of_beds
assign_beds
• Special ward:
Attributes
no_of_rooms
payment_per_room
Attributes
ac-room
tv
heater
meals
Patient:
Attributes Operations
name payment
age assign_doctor
disease register
• New patient:
Attributes
contact
• Old patient:
Attributes
registration_no
check_condition
Staff:
Attributes Operations
name input_info
gender
age
• Doctors:
Attributes Operations
specialization prescription_given
university_name operation
experience test
• Nurse:
Attributes Operations
duty_department drip_insert
id info
LAB NO 07
Account:
Attributes Operations
acc_id create_acc
password
Teacher:
Attributes Operations
name get_info
qualification check_student
course assign_course
gender course_outline
id_no generate_result
• Teacher_acc:
Attributes Operations
official_email sign_in
data_of_students
course_info
• Student_acc:
Attributes Operations
acc_type show_info
e-mail sign_up
• Graduate:
Attributes Operations
major_program check_info
graduate_gpa select_course
register_student
• Undergraduate:
Attributes Operations
major getinput
inter_marks register
• Course:
Attributes Operations
code create_course
name select_course
credit_hrs
instructor
venue
lab
• Register Course:
Attributes Operations
exam_id register
acc_id drop_course
course_code
ONE-TO-ONE RELATIONSHIPS:
Following has one-to-one relationships:
1. Student and Student_acc because one student can have only unique account
2. Teacher and Teacher-acc because one teacher can have only unique account
ONE-TO-MANY RELATIONSHIPS:
Following has one-to-many relationships:
1. Student and Teacher because many students can have many teachers
2. Student and Register Course because many students can register many courses
3. Student and Course because many students can have many courses
4. Course and Register Course because many courses can be registered
LAB NO 08
Task 01:
Generalization:
3. Issue payment slip and confirm order because payment slip depends on confirm order, it
will generate payment slip only when customer confirms an order
4. Send confirmation message and issue payment slip, because it will send confirmation
message when payment is done
5. Send confirmation message and order placed, because once message is received it means
order is placed
Task 02:
Include and Extend Relationships:
Task 03:
2. Delivery agent
3. Customer
Administrator:
He can access the following use cases:
1. Add DVD
2. Update inventory
Delivery Agent:
He can access the following use cases:
1. Check order
2. Change status of order
Customer:
He can access the following use cases:
1. Login
2. Search DVD by category
3. Add DVD to cart
4. Check shopping cart
5. Review contents of cart
6. Remove DVD from cart
LAB NO 09
TASK 01:
Model a computer as a class and a touchpad as its interface. List the
operations of the touchpad. Also, show some of the operations in the computer
that you access via the touchpad.
Solution:
Touchpad is the interface of computer. Human beings interact with the computer via touchpad.
They can give input through touchpad to the computer. Touchpad performs the following
functions such as:
1. Clicking
2. Dragging
3. Pointing
4. Zooming
5. Light up the screen
6. Editing
7. Move the pointer
8. Select text
9. Erase text
10. Replace text
11. Movement (rightwards, backwards, forward and leftwards) etc.
Similarly, the computer performs different functions through touchpad such as:
1. Open document
2. Close document
3. Select files
4. Scrolling
5. Shut down
6. Input etc.
TASK 02:
To attend seminar student has to get registered for the seminar. Only students
having more than 75% marks in last result can be registered for seminar. For
registration student has to submit their mark sheet and certificate of any
seminar attended before with registration form, to maintain record. On the
bases of student history students are selected to attend the seminar. In
seminar there can be maximum 5 instructors. Draw class diagram.
Solution:
• Registrar:
Registrar can access the following use cases:
1. Enter percentage
2. Attach documents
3. Registration successful
4. Select student
Registrar will check lout the history of student i.e. his/her percentage and valid documents and
then select the student to attend the webinar according to the result and history.
TASK 03:
In a book store a customer can buy book if he has no previous payable dues. A
customer can select book from book list and then can ask salesperson to show
book. Each salesperson gets 10% of total sale he made in a day. When receipt
is created for customer database keep record of salesperson who did this sale
so that at the end of day each salesperson can get his sales-salary.
Solution:
• Salesperson:
Salesperson can access the following use cases:
1. Show booklist
2. Any payable due?
• Customer:
Customer can access the following use cases:
1. Show booklist
2. Select book
• Database:
Database is an actor that will keep the record of every customer who buy the book and at the end
of sale it will give the 10% from the price of every book that will sell out. Database can access
the following use cases:
1. Payment method
2. Customer info
3. Bill
➢ Customer can only buy the book when he has no previous payables
➢ Salesperson will get the 10% from the price of every book that will sell
➢ Database will maintain all the record of every customer and will manage the whole sale
and sales person’s bonus
LAB NO. 10
TASK:
Make a class diagram of online shopping store and make a shopping for you
favorite shoes.
Your diagram must include all steps of shopping from site access to successful
order.
ONLINE SHOPPING STORE
CLASS DIAGRAM:
• Web user can login to the online shopping app through his id or email. If he has
no account then he can make it on the app. After login, he will verify and check the
products which he wants to buy. After selecting the product, he will order it through
his account.
• Account owns customer orders. Customer may have no orders. Customer
orders are sorted and unique. Each order could refer to several payments. Every
payment has unique id and is related to exactly one account.
THE END