100% found this document useful (1 vote)
2K views

SE Lab Manual R18

The document describes a proposed Passport Automation System with the following key points: 1. It aims to streamline the passport application process by allowing online registration, verification of applicant details, and communication between applicants and administrators. 2. The system architecture includes modules for administrators, applicants, and police verification. 3. Requirements include making the interface simple yet secure, with basic computer and English skills required for users. Data security and constant monitoring of the system are also priorities.

Uploaded by

Sai Krishna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
2K views

SE Lab Manual R18

The document describes a proposed Passport Automation System with the following key points: 1. It aims to streamline the passport application process by allowing online registration, verification of applicant details, and communication between applicants and administrators. 2. The system architecture includes modules for administrators, applicants, and police verification. 3. Requirements include making the interface simple yet secure, with basic computer and English skills required for users. Data security and constant monitoring of the system are also priorities.

Uploaded by

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

MAHATMA GANDHI INSTITUTE OF TECHNOLOGY

GANDIPET, HYDERABAD-500075

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

SOFTWARE ENGINEERING LAB MANUAL (R18)

Mr. D Koteswar Rao

Mr. R Sravan

Ms. Vijayalaxmi C Handaragall

\
CS505PC: SOFTWARE ENGINEERING LAB

III Year B. Tech. CSE I- Sem LT P C


Course Code: CS505PC 0 0 3 1.5

Course Objectives
1. To have hands on experience in developing a software project by using various software
Engineering principles and methods in each of the phases of software development.
Course Outcomes
1. Ability to translate end-user requirements into system and software requirements
2. Ability to generate a high-level design of the system using CASE tool from the software
requirements.
3. Ability to prepare software requirements specification (SRS) document
4. Will have experience and/or awareness of testing problems and will be able to develop a simple
Testing report
5. Ability to prepare of Risk Management documents.
List of Experiments
Do the following 6 exercises for any two projects given in the list of sample projects or any other
Projects:
1) Development of problem statement.
2) Preparation of Software Requirement Specification Document, Design Documents and Testing
Phase related documents.
3) Preparation of Software Configuration Management and Risk Management related documents.
4) Study and usage of any Design phase CASE tool
5) Performing the Design by using any Design phase CASE tools.
6) Develop test cases (Any testing approach).
Sample Projects:
1. Passport automation System
2. Book Bank.
3. Online Exam Registration
4. Easy leave Management System.
5. Online course reservation system
6. E-ticketing
7. E-Bidding.
8. Credit Card Processing
9. Software Personnel Management.
10. Recruitment system.
TEXT BOOKS:
1. Software Engineering, A practitioner’s Approach- Roger S. Pressman, 6th edition, Mc Graw Hill
International Edition.
2. Software Engineering- Sommerville, 7th edition, Pearson Education.
3. The unified modeling language user guide Grady Booch, James Rambaugh, Ivar Jacobson,
Pearson Education.
Software Engineering Lab 2020

INDEX

S. No. Name of the Experiment Page


no.
1. Passport Automation System 3-21

2. Book Bank 22-40

3. Online course Reservation System 41-46

4. Recruitment System 47-52

5. Online Exam registration System 53-59

Content Beyond syllabus

S. No. Name of the Experiment Page


no.
1. ATM System

Dept. of CSE, MGIT Page 2


Software Engineering Lab 2020

1-PASSPORT AUTOMATION SYSTEM


Chapter-1
Problem Statement:
Passport Automation System is used in the effective dispatch of passport to all of the applicants.
This system adopts a comprehensive approach to minimize the manual work and schedule
resources, time in a cogent manner. The core of the system is to get the online registration form
(with details such as name, address etc.,) filled by the applicant whose testament is verified for its
genuineness by the Passport Automation System with respect to the already existing information
in the database. This forms the first and foremost step in the processing of passport application.
After the first round of verification done by the system, the information is in turn forwarded to
the regional administrator's (Ministry of External Affairs) office. The application is then
processed manually based on the report given by the system, and any forfeiting identified can
make the applicant liable to penalty as per the law. The system also provides the applicant the list
of available dates for appointment to 'document verification' in the administrator's office, from
which they can select one. The system forwards the necessary details to the police for its separate
verification whose report is then presented to the administrator. The administrator will be
provided with an option to display the current status of application to the applicant, which they
can view in their online interface. After all the necessary criteria have been met, the original
information is added to the database and the passport is sent to the applicant.

Dept. of CSE, MGIT Page 3


Software Engineering Lab 2020

Chapter-2
Software requirement specification:

Preface:
The existing system is not providing secure registration and profile management of all the users
properly. This manual system gives us very less security for saving data and some data may be
lost due to mismanagement .In the previous management system all the details required were
taken manually in the form of documents .In this system every individual had to stand in a queue
which involved individuals in huge numbers and maintaining of documents submitted for
passport registration was a tedious work as many number of individuals apply for registration.
If the entire process of 'Issue of Passport' is done in a manual manner then it would takes several
months for the passport to reach the applicant. Considering the fact that the number of applicants
for passport is increasing every year, an Automated System becomes essential to meet the
demand. So this system uses several programming and database techniques to elucidate the work
involved in this process. As this is a matter of National Security, the system has been carefully
verified and validated in order to satisfy it.

Introduction:
Passport Automation System is an interface between the Applicant and the Authority responsible
for the Issue of Passport. It aims at improving the efficiency in the Issue of Passport and reduces
the complexities involved in it to the maximum possible extent.

Scope:
The System provides an online interface to the user where they can fill in their personal details
and submit the necessary documents (may be by scanning). The authority concerned with the
issue of passport can use this system to reduce his workload and process the application in a
speedy manner. Provide a communication platform between the applicant and the administrator.
Transfer of data between the Passport Issuing Authority and the Local Police for verification of
applicant's information. Users/Applicants will come to know their status of application and the
date in which they must subject themselves for manual document verification.

Glossary:
• Administrator Refers to the super user who is the Central Authority with the privilege to
manage the entire system. It can be any higher official in the Regional Passport Office of
Ministry of External Affairs.

Dept. of CSE, MGIT Page 4


Software Engineering Lab 2020

• Applicant One who wishes to obtain the Passport.


• PAS Refers to this Passport Automation System.
• HTML Markup Language used for creating web pages.
• J2EE Java 2 Enterprise Edition is a programming platform java platform for developing
and running distributed java applications.
• HTTP Hyper Text Transfer Protocol.
• TCP/IP Transmission Control Protocol/Internet Protocol is the communication protocol
used to connect hosts on the Internet.

System Architecture:
• Admin module- This module provides administrator related functionalities.Administrator
can view all the applicant requirements the admin also sends the notifications and
updates the applicant’s status.
• Applicant module -This module is about users of this portal. By using this module user
can lodge any complaint about process.Applicant must be registered with the system the
applicant also gets notified about the the processing of the passport.
• Police module- police verify the applicants details and report the same to the regional
administrator, if the applicant is eligible for the passport or not.

System Requirements:
Non Functional Requirements:
• The PAS acts as an interface between the 'applicant' and the 'administrator'. This system tries
to make the interface as simple as possible and at the same time not risking the security of
data stored in. This minimizes the time duration in which the user receives the passport.
• The applicants require a computer to submit their information. Although the security is given
high importance, there is always a chance of intrusion in the web world which requires
constant monitoring. The user has to be careful while submitting the information. Much care
is required.
• The Applicants and Administrator must have basic knowledge of computers and English
Language. The applicants may be required to scan the documents and send.

Functional Requirements:
• The system should provide login credentials and an application form to fill the details.
• Secure registration of information by the applicants.
• System should generate Applicant’s ID.
• The system should support efficient storage and fetching of the applicant’s details.
• Schedule the applicants, an appointment for manual verification of original documents.
• The system should verify the details provided by the applicants.
• The system should co-ordinate with the police and also with the applicants.
• Panel for passport application status display by the administrator.

Dept. of CSE, MGIT Page 5


Software Engineering Lab 2020

• Sending SMS and Mail updates to the applicants by the administrator.


• Administrator can generate reports from the information and is the only authorized personnel
to add the eligible application information to the database.
• System should also issue the passport.

System Models:

Refer chapter 4 for system modelling.

Index:
S.No. Name Of The Uml Diagram

1) Use case Diagram

2) Class Diagram

3) Sequence diagram for registration

4) Sequence Diagram for Issue Passport

5) Sequence Diagram for checking status

6) Communication Diagram

7) Component Diagram

Dept. of CSE, MGIT Page 6


Software Engineering Lab 2020

Chapter-3

Study of Design Phase Case Tool:

• StarUML

StarUML is an open source software modeling tool. It provides eleven types of diagram.
StartUML 2 is compatible with UML 2.x versions. It provides a platform to carry out your
modeling. It was an open source tool, but now it is acquired by a company and being upgraded.
So you need to purchase. It supports both forward engineering and reverse engineering. It
supports different languages such as Java, C++, C#.

Features:

• Allows you to create Obje3ct, Use case, Deployment, Seque3nce, Communication, Activity,
and profile Diagram.
• Allows you to discover and install third-party extensions.
• Work with same UX in multiple platforms including macOS, Windows, and Linux.
• No limit for using this commercial software for evaluation.

Download link :http://staruml.io/

Installation of StarUML:

You can easily make setup in windows platform. Just search in Google with keywords star UML,
you will find the first link taking you to the website for StarUML 4.0. Then download and do
setup.

Dept. of CSE, MGIT Page 7


Software Engineering Lab 2020

Chapter-4
System Design:

Class Diagram:
The class diagram is referred as object modeling in the static analysis diagram. The main task of
object modeling is to graphically show what each object will do in the problem domain. The problem
domain describes the structure and the relationships among objects. The Passport Automation system
class diagram consists of five classes
1) Login class
2) Appointment class
3) Registration class
4) Authority class
5) Verification class

1) LOGIN CLASS: It consists of two attributes and two operations. The attributes are user name, and
password. The operations of this class are creating login ( ), sign in ( ).

2) APPOINMENT CLASS: The attributes of this class are appointmentid, applicantid, date, time,
and description. The operation of this class are get appointment ( ), get appointmentstatus ( ), Modify
( ), cancel ( ).

3) REGISTRATION CLASS: The attributes are applicantid, name, dob, gender, birthplace, father
name, addr1, addr2, district, state, country, pin code, mobile, emailid, qualification. The operation
are add ( ), modify ( ), view ( ).

4) AUTHORITY CLASS: The attributes of this class are officered, name, designation, and
password. The operations are search ( ).

5) VERIFICATION CLASS:The attributes of this class are verification id, appointmentid,


applicantid, officer id, statusid, description. The operation are verify ( ).

Dept. of CSE, MGIT Page 8


Software Engineering Lab 2020

Class Diagram:

Figure 4.1: Class Diagram for Passport Automation System

Dept. of CSE, MGIT Page 9


Software Engineering Lab 2020

Use-Case Diagram:
The administrator check or process the application which are submitted by applicant .Process the
application means the data which are given by the applicant is processed to create a passport for the
applicant and finally dispatches the passport to the applicant.

Figure 4.2: Use Case Diagram for Passport Automation System

Dept. of CSE, MGIT Page 10


Software Engineering Lab 2020

Sequence Diagram:

• A sequence diagram represents the sequence and interactions of a given use-case or scenario.
Sequence diagrams can capture most of the information about the system. 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.
• An event also is considered to be any action by an object that sends information.
• The event line represents a message sent from one object to another, in which the object
performs the operation using a method that the class contains.
• It is also represented by the order in which things occur and how the objects in the system
send message to one another. The sequence diagram for each use-case that exists when a user
administrator, check status and new registration about passport automation system are given.

Figure 4.3.1: Sequence Diagram for Passport Automation System

Dept. of CSE, MGIT Page 11


Software Engineering Lab 2020

Figure 4.3.2 : Sequence Diagram for Issuing passport in Passport Automation System

Dept. of CSE, MGIT Page 12


Software Engineering Lab 2020

Figure 4.3.3: Sequence Diagram for Checking status in Passport Automation System

Dept. of CSE, MGIT Page 13


Software Engineering Lab 2020

Communication Diagram:

The diagrams show the process done by the Passport Authority to the Passport Automation
system. The applicant has to enter his details. The details entered are verified by the Passport
Authority and the applicant is approved if the details match then the passport is dispatch,
otherwise an appropriate error message is displayed.

Figure 4.4: Collaboration diagram for Passport Automation System

Dept. of CSE, MGIT Page 14


Software Engineering Lab 2020

Component Diagram:
Component diagrams are used to visualize the organization and relationships among
components in a system.

Figure 4.5: Component Diagram for Passport Automation System

Dept. of CSE, MGIT Page 15


Software Engineering Lab 2020

Chapter-5
Test Cases:
Login
TS1 Summary Depen Pre-condition Post - Execution steps Expected
dency Condition output
TC1 Verify that user Employee ID User is 1. Type in "Home" page
already registered 149405 is a logged in employee for the user is
with the PAS is able registered user ID as displayed
to login with correct of LIS; user's 149405
user ID and password password is 2. Type in
this_is_passwor password
d this_is_pass
word
3. Click on the
'Login'
button

TC2 Verify that an Employee ID User is not 1. Type in The "Login"


unregistered user of 149405xx is not logged in employee dialog is
PAS is unable to a registered user ID as shown with a
login of PAS 149405xx "Login failed!
2. Type in Check your
password user ID and
whatever password"
3. Click on the message
'Login'
button

TC3 Verify that user Employee ID User is not 1. Type in The "Login"
already registered 149405 is a logged in employee dialog is
with the PAS is registered user ID as shown with a
unable to login with of pas; user's 149405 "Login failed!
incorrect password password is 2. Type in Check your
this_is_passwor password user ID and
d whatever password"
3. Click on the message
'Login'
button

TC4 Verify that a This test case is Email sent 1. Type in the Login dialog is
registered user can executed after containing answer as displayed; an
login after three execution of new my_answer email
consecutive failures TC6 before password. 2. Click on the containing the
by correctly executing any The email is 'Email new password

Dept. of CSE, MGIT Page 16


Software Engineering Lab 2020

answering the other test case. expected to Password' is received


security question Answer to the be received button
security question within 2
is my_answer. minute
TC5 Verify that a Execute the test User account 1. Type in the The message
registered user's cases TC3, TC4, has been answer as "Your account
account is blocked and TC5 once blocked not_my_ans has been
after three again (in order) wer blocked!
consecutive failures before executing 2. Click on the Please contact
and answering the this test case 'Email the
security question Password' administrator.
incorrectly button " appears

Dept. of CSE, MGIT Page 17


Software Engineering Lab 2020

Issuing Passport:

TS1 Summary Depe Pre-condition Post - Execution steps Expected


nden Condition output
cy
TC1 Verify that Verifying the Issue 1.Login Issuing the
passport is details of the passport 2.Fill the passport
issued, provided applicant application
that all details Details
are properly 3.Details
verified. verification

TC2 Verify that Verifying the Passport is 1.Login Terminate


passport is not details of the not Issued 2.Fill the the
issued, provided applicant application application
that the applicant Details
has a criminal 3.Details
record. verification

TC3 Verify that Verifying the Passport is 1.Login Terminate


passport is not details of the not Issued 2.Fill the the
issued, provided applicant application application
that the Details
applicants 3.Details
documents are verification
incomplete.
TC4 Verify that Verifying the Passport is 1.Login Terminate
passport is not details of the not Issued 2.Fill the the
issued, provided applicant application application
that the Details
applicant’s 3.Details
TC5 Verify that Verifying the Passport is 1.Login Terminate
passport is not details of the not Issued 2.Fill the the
issued, provided applicant application application
that the applicant Details
is not available 3.Details
at the time of verification
verification.

Dept. of CSE, MGIT Page 18


Software Engineering Lab 2020

Chapter-6
Risk Management:
Introduction:
A risk is a potential problem—it might happen, it might not. But, regardless of the outcome, it’s a
really good idea to identify it, assess its probability of occurrence, estimate its impact, and establish a
contingency plan should the problem actually occur.

Software Risks:
Although there has been considerable debate about the proper definition for software risk, there is
general agreement that risk always involves two characteristics:
• Uncertainty—the risk may or may not happen; that is, there are no 100 percent probable
risks
• Loss—if the risk becomes a reality, unwanted consequences or losses will occur.
• Project risks: threaten the project plan. That is, if project risks become real, it is likely that
the project schedule will slip and that costs will increase. Project risks identify potential
budgetary, schedule, personnel (staffing and organization), resource, stakeholder, and
requirements problems and their impact on a software project.
• Technical risks: threaten the quality and timeliness of the software to be produced. If a
technical risk becomes a reality, implementation may become difficult or impossible.
Technical risks identify potential design, implementation, interface, verification, and
maintenance problems.
• Business risks: threaten the viability of the software to be built and often jeopardize the
project or the product. Candidates for the top five business risks are (1) building an excellent
product or system that no one really wants (market risk), (2) building a product that no longer
fits into the overall business strategy for the company (strategic risk), (3) building a product
that the sales force doesn’t understand how to sell (sales risk), (4) losing the support of senior
management due to a change in focus or a change in people (management risk), and (5)
losing budgetary or personnel commitment (budget risks). Known risks: are those that can
be uncovered after careful evaluation of the project plan, the business and technical
environment in which the project is being developed, and other reliable information sources
(e.g., unrealistic delivery date, lack of documented requirements or software scope, poor
development environment).
• Predictable risks: are extrapolated from past project experience (e.g., staff turnover, poor
communication with the customer, dilution of staff effort as ongoing maintenance requests
are serviced).
• Unpredictable risks: They can and do occur, but they are extremely difficult to identify in
advance.

Dept. of CSE, MGIT Page 19


Software Engineering Lab 2020

Risk Projection:
Risk projection, also called risk estimation, attempts to rate each risks in two ways —
(1) The likelihood or probability that the risk is real and
(2) The consequences of the problems associated with the risk, should it occur.
You work along with other managers and technical staff to perform four risk projection steps:
1. Establish a scale that reflects the perceived likelihood of a risk.
2. Delineate the consequences of the risk.
3. Estimate the impact of the risk on the project and the product.
4. Assess the overall accuracy of the risk projection so that there will be no misunderstandings.

6.3.1 Risk Table:


A risk table provides you with a simple technique for risk projection. A sample risk table is
illustrated in Figure 6.1. You begin by listing all risks (no matter how remote) in the first column of
the table. Each risk is categorized in the second column (e.g., PS implies a project size risk, BU
implies a business risk).
Risks Categor y Probability Impact

PS 60% 2
Size estimate may be significantly low.

Larger number of users than planned. PS 30% 3

Less reuse than planned. PS 70% 2

End users resist system. BU 40% 3

Delivery deadline will be tightened. BU 50% 2

Funding will be lost . CU 40% 1

Customer will change requirements. PS 80% 2

Technology will not meet expectations. TE 30% 1

Lack of training on tools. DE 80% 3

Staff inexperienced. ST 30% 2

Staff turnover will be high. ST 60% 2

Dept. of CSE, MGIT Page 20


Software Engineering Lab 2020

The probability of occurrence of each risk is entered in the next column of the table. The probability
value for each risk can be estimated by team members individually. One way to accomplish this is to
poll individual team members in round-robin fashion until their collective assessment of risk
probability begins to converge.
Next, the impact of each risk is assessed. The categories for each of the four risk components—
performance, support, cost, and schedule—are averaged to determine an overall impact value. Once
the first four columns of the risk table have been completed, the table is sorted by probability and by
impact. High-probability, high-impact risks percolate to the top of the table, and low-probability
risks drop to the bottom. This accomplishes first-order risk prioritization.

Dept. of CSE, MGIT Page 21


Software Engineering Lab 2020

2- BOOK BANK
Chapter-1
Problem Statement:
A Book Bank lends books and magazines to member, who is registered in the system. Also it handles
the purchase of new titles for the Book Bank. Popular titles are brought into multiple copies. Old
books and magazines are removed when they are out or date or poor in condition. A member can
reserve a book or magazine that is not currently available in the book bank, so that when it is
returned or purchased by the book bank, that person is notified. The book bank can easily create,
replace and delete information about the tiles, members, loans and reservations from the system.As
the size and capacity of the institute is increasing with the time, it has been proposed to develop a
Book Bank for the benefit of professors, students and employees of the institute. A Book Bank will
enable the members to borrow a book (or return it) with ease while sitting at his desk/chamber. The
system also enables a member to extend the date of his borrowing if no other booking for that
particular book has been made. Any non-member is free to use this system to browse/search books
online. However, issuing or returning books is restricted to valid users (members) of the Book Bank
only.

Dept. of CSE, MGIT Page 22


Software Engineering Lab 2020

Chapter-2

Software Requirement Specification:


Preface:
If the entire process of 'Issue of Books or Magazines' is done in a manual manner then it would take
several months for the books or magazines to reach the applicant. Considering the fact that the
number of students for Book Bank is increasing every year, an Automated System becomes
essential to meet the demand. So this system uses several programming and database techniques to
elucidate the work involved in this process. The system has been carefully verified and validated in
order to satisfy it.

Introduction:
Book Bank is the interface between the students and Librarian. It aims at improving the efficiency in
the Issue of books or magazines and reduces the complexities involved in it to the maximum possible
extent.

Scope :
The System provides an online interface to the user where they can fill in their personal details and
submit the necessary documents (may be by scanning). The authority concerned with the issue of
books can use this system to reduce his workload and process the application in a speedy manner.

Glossary:
• Admin -Refers to the super user who is the Central Authority who has been vested with the
privilege to manage the entire system.
• Student -One who wishes to obtain the Books or Magazines.
• HTML -Markup Language used for creating web pages.
• J2EE -Java 2 Enterprise Edition is a programming platform and it is the part of the java
platform for developing and running distributed java applications.
• HTTP -Hyper Text Transfer Protocol
• TCP/IP -Transmission Control Protocol/Internet Protocol is the communication protocol used
to connect hosts on the Internet.

System Architecture:
• Admin module- This module provides administrator related functionalities.
Administrator can view all the borrower’s details and can update the borrower’s status.
• Borrower module -This module is about users of the Book bank. Borrower must be
registered with the system the applicant also gets notified about the dues & status.

Dept. of CSE, MGIT Page 23


Software Engineering Lab 2020

System Requirements:
Non Functional Requirements:
• These include performance requirements, security requirements, software quality attributes,
database requirements and design constraints such as:
• Performance Requirements:
o This system should remain accessible 24x7
o At least 50 users should be able to access the system altogether at any given time
• Security requirements:
o This system should be accessible only within the institute LAN
o The database of LIS should not store any password in plain text -- a hashed value has
to be stored
• Design constraints:
o The LIS has to be developed as a web application, which should work with Firefox 5,
Internet Explorer 8, Google Chrome 12, Opera 10
o The system should be developed using HTML 5
• The Students require a computer to submit their information. Although the security is given
high importance, there is always a chance of intrusion in the web world which requires
constant monitoring. The Students has to be careful while submitting the information.

Functional Requirements:
• Secure Registration of information by the Students.
• Admin can generate reports from the information and is the only authorized personnel to add
the eligible application information to the database.

• New user registration: Any member of the institute who wishes to avail the facilities of the
library has to register himself with the Library Information System. On successful
registration, a user ID and password would be provided to the member. He has to use this
credentials for any future transaction in the Book Bank.
• Search book: Any member of Book bank can avail this facility to check whether any
particular book is present in the institute's library. A book could be searched by its:
o Title
o Authors name
• User login: A registered user of book bank can login to the system by providing his
employee ID and password as set by him while registering. After successful login, "Home"
page for the user is shown from where he can access the different functionalities of book

Dept. of CSE, MGIT Page 24


Software Engineering Lab 2020

bank: search book, issue book, return book, reissue book. Any employee ID not registered
with book bank cannot access the "Home" page -- a login failure message would be shown to
him, and the login dialog would appear again. This same thing happens when any registered
user types in his password wrong. However, if incorrect password has been provided for three
time consecutively, the security question for the user (specified while registering) with an
input box to answer it are also shown. If the user can answer the security question correctly, a
new password would be sent to his email address. In case the user fails to answer the security
question correctly, his book bank account would be blocked. He needs to contact with the
administrator to make it active again.
• Issue book: Any member of book bank can issue a book against his account provided that:
o The book is available in the library i.e. could be found by searching for it in book
bank
o No other member has currently issued the book
o Current user has not issued the maximum number of books that can
• If the above conditions are met, the book is issued to the member.
Note that this functional requirement would remain incomplete if the "maximum number of
books that can be issued to a member" is not defined. We assume that this number has been
set to four for students and research scholars, and to ten for professors.
Once a book has been successfully issued, the user account is updated to reflect the same.
• Return book: A book is issued for a finite time, which we assume to be a period of 20 days.
That is, a book once issued should be returned within the next 20 days by the corresponding
member of book bank. After successful return of a book, the user account is updated to reflect
the same.
• Reissue book: Any member who has issued a book might find that his requirement is not
over by 20 days. In that case, he might choose to reissue the book, and get the permission to
keep it for another 20 days. However, a member can reissue any book at most twice, after
which he has to return it. Once a book has been successfully reissued, the user account is
updated to reflect the information.
• In a similar way we can Book Bank other functionality offered by the system as well.
However, certain features might not be evident directly from the problem system, but which,
nevertheless, are required. One such functionality is "User Verification". The book bank
should be able to judge between a registered and non-registered member. Most of the
functionality would be available to a registered member. The "New User Registration"

Dept. of CSE, MGIT Page 25


Software Engineering Lab 2020

would, however, be available to non-members. Moreover, an already registered user shouldn't


be allowed to register himself once again.
System Models:
Refer chapter 4 for system modelling.

Index:
S.No. Name of The Uml Diagram

1) Use case Diagram

2) Class Diagram

3) Sequence diagram for registration

4) Sequence Diagram for Issue Passport

5) Sequence Diagram for checking status

6) Communication Diagram

7) Component Diagram

Dept. of CSE, MGIT Page 26


Software Engineering Lab 2020

Chapter-3

Study of Design Phase Case Tool:

StarUML

StarUML is an open source software modeling tool. It provides eleven types of diagram.
StartUML 2 is compatible with UML 2.x versions. It provides a platform to carry out your
modelling. It was an open source tool, but now it is acquired by a company and being upgraded.
So you need to purchase. It supports both forward engineering and reverse engineering. It
supports different languages such as Java, C++, C#.

Features:

• Allows you to create Obje3ct, Use case, Deployment, Seque3nce, Communication, Activity,
and profile Diagram.
• Allows you to discover and install third-party extensions.
• Work with same UX in multiple platforms including macOS, Windows, and Linux.
• No limit for using this commercial software for evaluation.

Download link :http://staruml.io/

Installation of StarUML:

You can easily make setup in windows platform. Just search in Google with keywords star UML,
you will find the first link taking you to the website for StarUML 4.0. Then download and do
setup.

Dept. of CSE, MGIT Page 27


Software Engineering Lab 2020

Chapter-4

System Design:
Class Diagram:

Figure 4.1: Class Diagram for Book Bank

Dept. of CSE, MGIT Page 28


Software Engineering Lab 2020

Use-Case Diagram:

Figure 4.2: Use Case Diagram for Book Bank

Dept. of CSE, MGIT Page 29


Software Engineering Lab 2020

Sequence Diagram:

Dept. of CSE, MGIT Page 30


Software Engineering Lab 2020

Figure 4.3: Sequence Diagram for Book Bank

Dept. of CSE, MGIT Page 31


Software Engineering Lab 2020

Communication Diagram:

Dept. of CSE, MGIT Page 32


Software Engineering Lab 2020

Figure 4.4: Communication Diagram for Book Bank

Component Diagram:

Figure 4.5: Component Diagram for Book Bank

Dept. of CSE, MGIT Page 33


Software Engineering Lab 2020

Chapter-5
Test Cases:
Login:

TS1 Summary Depen Pre-condition Post - Execution steps Expected


dency Condition output
TC1 Verify that user Employee ID User is 4. Type in "Home" page
already registered 149405 is a logged in employee for the user is
with the book bank is registered user ID as displayed
able to login with of book bank; 149405
correct user ID and user's password 5. Type in
password is password
this_is_passwor this_is_pass
d word
6. Click on the
'Login'
button

TC2 Verify that an Employee ID User is not 4. Type in The "Login"


unregistered user of 149405xx is not logged in employee dialog is
book bank is unable a registered user ID as shown with a
to login of book bank 149405xx "Login failed!
5. Type in Check your
password user ID and
whatever password"
6. Click on the message
'Login'
button

TC3 Verify that user Employee ID User is not 4. Type in The "Login"
already registered 149405 is a logged in employee dialog is
with the book bank is registered user ID as shown with a
unable to login with of book bank; 149405 "Login failed!
incorrect password user's password 5. Type in Check your
is password user ID and
this_is_passwor whatever password"
d 6. Click on the message
'Login'
button

Dept. of CSE, MGIT Page 34


Software Engineering Lab 2020

TC4 Verify that a TC5 This test case is Email sent 3. Type in the Login dialog is
registered user can executed after containing answer as displayed; an
login after three execution of new my_answer email
consecutive failures TC6 before password. 4. Click on the containing the
by correctly executing any The email is 'Email new password
answering the other test case. expected to Password' is received
security question Answer to the be received button
security within 2
question is minute
my_answer.
TC5 Verify that a Execute the test User account 3. Type in the The message
registered user's cases TC3, TC4, has been answer as "Your account
account is blocked and TC5 once blocked not_my_ans has been
after three again (in order) wer blocked!
consecutive failures before executing 4. Click on the Please contact
and answering the this test case 'Email the
security question Password' administrator.
incorrectly button " appears

Dept. of CSE, MGIT Page 35


Software Engineering Lab 2020

Issue book:
TS1 Summary Depen Pre-condition Post - Execution steps Expected
dency Condition output

TC Verify that the Checking the Issued the 1. Enter the Book is Issued
1 borrower is issued a borrower status book book Id.
book, without any ,i.e; no. of books 2. Check status
dues. borrowed. 3. Issue the
book.
TC Verify that the Checking the Book is not 1. Enter the Fine to be paid
2 borrower is not issued borrower status Issued book Id. is notified
a book, with dues. ,i.e; no. of books 2. Check status
borrowed. 3. Notify the
amount to
be paid

TC Verify that the book Checking the Book is not 1. Enter the
3 is not issued to the borrower status Issued book Id. Book is not
borrower, if the ,i.e; no. of books 2. Check status Issued
requested book is not borrowed and 3. Notify the if
available in the stock the availability the book is
at the moment. of the book. being to be
issued or
not.

TC Verify that the book Checking the Book is not 1. Enter the Book is not
4 is not issued to the borrower status Issued book Id. Issued
borrower, if the ,i.e; no. of books 2. Check status
borrower has borrowed and 3. Notify the if
exceeded his limit the availability the book is
,but without any dues of the book. being to be
to be cleared. issued or
not.

TC Verify that the book Checking the Book is not 1. Enter the Book is not
5 is not issued to the borrower status Issued book Id. Issued
borrower, if the ,i.e; no. of books 2. Check status
requested book does borrowed and 3. Notify the if
not exist in the book the availability the book is
bank. of the book. being to be
issued or
not.

Dept. of CSE, MGIT Page 36


Software Engineering Lab 2020

Chapter-6
Risk Management:
Introduction:
A risk is a potential problem—it might happen, it might not. But, regardless of the outcome, it’s a
really good idea to identify it, assess its probability of occurrence, estimate its impact, and establish a
contingency plan should the problem actually occur.

Software Risks:
Although there has been considerable debate about the proper definition for software risk, there is
general agreement that risk always involves two characteristics:
• Uncertainty—the risk may or may not happen; that is, there are no 100 percent probable
risks
• Loss—if the risk becomes a reality, unwanted consequences or losses will occur.
• Project risks: threaten the project plan. That is, if project risks become real, it is likely that
the project schedule will slip and that costs will increase. Project risks identify potential
budgetary, schedule, personnel (staffing and organization), resource, stakeholder, and
requirements problems and their impact on a software project.
• Technical risks: threaten the quality and timeliness of the software to be produced. If a
technical risk becomes a reality, implementation may become difficult or impossible.
Technical risks identify potential design, implementation, interface, verification, and
maintenance problems.
• Business risks: threaten the viability of the software to be built and often jeopardize the
project or the product. Candidates for the top five business risks are (1) building an excellent
product or system that no one really wants (market risk), (2) building a product that no longer
fits into the overall business strategy for the company (strategic risk), (3) building a product
that the sales force doesn’t understand how to sell (sales risk), (4) losing the support of senior
management due to a change in focus or a change in people (management risk), and (5)
losing budgetary or personnel commitment (budget risks). Known risks: are those that can
be uncovered after careful evaluation of the project plan, the business and technical
environment in which the project is being developed, and other reliable information sources
(e.g., unrealistic delivery date, lack of documented requirements or software scope, poor
development environment).
• Predictable risks: are extrapolated from past project experience (e.g., staff turnover, poor
communication with the customer, dilution of staff effort as ongoing maintenance requests
are serviced).
• Unpredictable risks: They can and do occur, but they are extremely difficult to identify in
advance.

Dept. of CSE, MGIT Page 37


Software Engineering Lab 2020

Risk Projection:
Risk projection, also called risk estimation, attempts to rate each risks in two ways —
(1) The likelihood or probability that the risk is real and
(2) The consequences of the problems associated with the risk, should it occur.
You work along with other managers and technical staff to perform four risk projection steps:
1. Establish a scale that reflects the perceived likelihood of a risk.
2. Delineate the consequences of the risk.
3. Estimate the impact of the risk on the project and the product.
4. Assess the overall accuracy of the risk projection so that there will be no misunderstandings.

6.3.1 Risk Table:


A risk table provides you with a simple technique for risk projection. A sample risk table is
illustrated in Figure 6.1. You begin by listing all risks (no matter how remote) in the first column of
the table. Each risk is categorized in the second column (e.g., PS implies a project size risk, BU
implies a business risk).
Risks Categor y Probabil ity Impact

PS 60% 2
Size estimate may be significantly low.

Larger number of users than planned. PS 30% 3

Less reuse than planned. PS 70% 2

End users resist system. BU 40% 3

Delivery deadline will be tightened. BU 50% 2

Funding will be lost . CU 40% 1

Customer will change requirements. PS 80% 2

Technology will not meet expectations. TE 30% 1

Lack of training on tools. DE 80% 3

Staff inexperienced. ST 30% 2

Staff turnover will be high. ST 60% 2

Dept. of CSE, MGIT Page 38


Software Engineering Lab 2020

The probability of occurrence of each risk is entered in the next column of the table. The probability
value for each risk can be estimated by team members individually. One way to accomplish this is to
poll individual team members in round-robin fashion until their collective assessment of risk
probability begins to converge.
Next, the impact of each risk is assessed. The categories for each of the four risk components—
performance, support, cost, and schedule—are averaged to determine an overall impact value. Once
the first four columns of the risk table have been completed, the table is sorted by probability and by
impact. High-probability, high-impact risks percolate to the top of the table, and low-probability
risks drop to the bottom. This accomplishes first-order risk prioritization.

Dept. of CSE, MGIT Page 40


Software Engineering Lab 2020

3-ONLINE RESERVATION SYSTEM

Chapter-1
Problem Statement:
The system is built to be used by students and managed by an administrator. The student and
employee have to login to the system before any processing can be done. The student can see the
courses available to him/her and register to the course he/she wants. The administrator can maintain
the course details and view all the students who have registered to any course.

Dept. of CSE, MGIT Page 41


Software Engineering Lab 2020

Chapter-2
Functional Requirements:
• The Students should be able to register and login and fill their details.
• Students should be able to search for the course required and the desired college.
• List of courses should be displayed.
• The system should also verify the eligibility of the candidate for the course selected.
• The system should check for the availability of seats of the selected course in the opted
college.
• If both availability and eligibility criteria are met, then seat is allocated to the student, if not
then , alternatives are searched for and then seat is allocated to the student.
• The system should also accept the payment done by the student online. Also the fee receipt
should be generated after the payment.
• Security should be provided for the student details.
• Admin should be able to communicate with the student.

Non- Functional Requirements:


• The applicants require a computer to submit their information.
• Although the security is given high importance, there is always a chance of intrusion in the
web world which requires constant monitoring.
• The user has to be careful while submitting the information. Much care is required.
• The Students and Exam Controller must have basic knowledge of computers and English
Language.
• The student may be required to scan the documents and send.

Dept. of CSE, MGIT Page 42


Software Engineering Lab 2020

Chapter-3

System Design:
Use-Case Diagram:

Figure 3.1: Use Case Diagram for Online Reservation System

Dept. of CSE, MGIT Page 43


Software Engineering Lab 2020

Class Diagram:

Figure 3.2: Class Diagram for Online Reservation System

Dept. of CSE, MGIT Page 44


Software Engineering Lab 2020

Sequence Diagram:

Figure 3.3: Sequence Diagram for Online Reservation System

Dept. of CSE, MGIT Page 45


Software Engineering Lab 2020

Communication Diagram:

Figure 3.4: Communication Diagram for Online Reservation System

Component Diagram:

Figure 3.5: Component Diagram for Online Reservation System

Dept. of CSE, MGIT Page 46


Software Engineering Lab 2020

4-RECRUITMENT SYSTEM
Chapter-1
Problem Statement:
The recruitment system allows the job seekers to view the job opportunity through Advertisement
and helps to apply for the job. The organization shortlist the applicants for the interview. The
shortlisted applicants undergo through a process of Test and Interview. The HR department selects
the Applicant based on the performance in the Test and Interview. Finally the recruited applicants are
informed. This system makes the task of the job seeker easier rather than waiting in queue for
enrolment. This also reduces the time consumption for both for the job seeker and organization.

Dept. of CSE, MGIT Page 47


Software Engineering Lab 2020

Chapter-2
Functional Requirements:
• The applicant views the jobs through the advertisement posted by the Organisation.
• The system should also allow the applicants to apply for the job.
• Short listing has to be done based on certain criteria.
• Shortlisted candidates are to be informed.
• Test and interview are conducted for the shortlisted candidates.
• Selected or recruited candidates are informed.
• HR manager can generate reports from the information and he or she is the only authorised
personnel to add the eligible application information to the database.

Non- Functional Requirements:


• The applicants require a computer to submit their information.
• Although the security is given high importance, there is always a chance of intrusion in the
web world which requires constant monitoring.
• The user has to be careful while submitting the information. Much care is required.
• The Students and Exam Controller must have basic knowledge of computers and English
Language.
• The student may be required to scan the documents and send.

Dept. of CSE, MGIT Page 48


Software Engineering Lab 2020

Chapter-3
System Design:

Use-Case Diagram:

Figure 3.1: Use Case Diagram for Recruitment System

Dept. of CSE, MGIT Page 49


Software Engineering Lab 2020

Class Diagram:

Figure 3.2: Class Diagram for Recruitment System

Dept. of CSE, MGIT Page 50


Software Engineering Lab 2020

Sequence Diagram:

Figure 3.3: Sequence Diagram for Recruitment System

Dept. of CSE, MGIT Page 51


Software Engineering Lab 2020

Communication Diagram:

Figure 3.4: Communication Diagram for Recruitment System

Component Diagram:

Figure 3.5: Component Diagram for Recruitment System

Dept. of CSE, MGIT Page 52


Software Engineering Lab 2020

5 – ONLINE EXAM REGISTRATION SYSTEM


Chapter-1
Problem Statement:
Exam Registration system .is used in the effective dispatch of registration form to all of the students.
This system adopts a comprehensive approach to minimize the manual work and schedule resources,
time in a cogent manner. The core of the system is to get the online registration form (with details
such as name, reg. no etc.,) filled by the student whose testament is verified for its genuineness by
the Exam Registration System with respect to the already existing information in the database. This
forms the first and foremost step in the processing of exam application. After the first round of
verification done by the system, the information is in turn forwarded to the Exam Controller. The
application is then processed manually based on the report given by the system. The system also
provides the student the list of exam dates. The controller will be provided with fees details to
display the current status of application to the student, which they can view in their online interface.
After all the necessary criteria has been met, the original information is added to the database and the
hall ticket is sent to the student.

Dept. of CSE, MGIT Page 53


Software Engineering Lab 2020

Chapter-2
Functional Requirements:

• Secure Registration of information by the Students.


• SMS and Mail updates to the students by the controller.
• Controller can generate reports from the information and is the only authorized personnel to
add the eligible application information to the database.
• Get registration form from the students.
• Verify the details in the already existing database.
• Information is forwarded to the controller of examination.
• System provides the list of exam dates .
• Controller is provided with the fee details to display the current status of the student
application.

Non- Functional Requirements:


• The applicants require a computer to submit their information.
• Although the security is given high importance, there is always a chance of intrusion in the
web world which requires constant monitoring.
• The user has to be careful while submitting the information. Much care is required.
• The Students and Exam Controller must have basic knowledge of computers and English
Language.
• The student may be required to scan the documents and send.

Dept. of CSE, MGIT Page 54


Software Engineering Lab 2020

Chapter-3

System Models:
Use-Case Diagram:

Figure 3.1: Use Case Diagram for Online Exam Registration System

Dept. of CSE, MGIT Page 55


Software Engineering Lab 2020

Class Diagram:

Figure 3.2: Class Diagram for Online Exam Registration System

Dept. of CSE, MGIT Page 56


Software Engineering Lab 2020

Sequence Diagram:

Figure 3.3: Sequence Diagram for Online Exam Registration System

Dept. of CSE, MGIT Page 57


Software Engineering Lab 2020

Communication Diagram:

Figure 3.4: Communication Diagram for Online Exam Registration System

Dept. of CSE, MGIT Page 58


Software Engineering Lab 2020

Component Diagram:

Figure 3.5: Component Diagram for Online Exam Registration System\

Dept. of CSE, MGIT Page 59

You might also like