SE Lab Manual
SE Lab Manual
1. UML INTRODUCTION
GOALS OF UML
A conceptual model is the first step before drawing a UML diagram. It helps
to understand the entities in the real world and how they interact with each
other. Conceptual model of UML can be mastered by learning.
The second phase is object oriented design. During this phase emphasis is
given upon the requirements and their fulfillment. In this stage the objects
are collaborated according to their intended association. After the
association is complete the design is also complete.
BUILDING BLOCKS
1. Things
2. Relationships
3. Diagrams
(1) Things
Things are the most important building blocks of UML. Things can be:
Structural
Behavioral
Grouping
Annotational
Structural things
The Structural things define the static part of the model. They represent
physical and conceptual elements. Following are the brief descriptions of the
structural things.
Class
Interface
Collaboration
Use case
Component
Node
Behavioral things
Interaction
State machine
State machine is useful when the state of an object in its life cycle is
important. It defines the sequence of states an object goes through in
response to events. Events are external factors responsible for state change.
Grouping things
Package
Package is the only one grouping thing available for gathering structural
and behavioral things
Annotational things
Note:
(2) Relationships
Dependency
Association
Generalization.
Realization
Dependency
Association
Generalization
Realization
(3) Diagrams
Each UML diagram is designed to let developers and customers view a software
system from a different perspective and in varying degrees of abstraction. UML
diagrams commonly created in visual modeling tools include
Use Case Diagram displays the relationship among actors and use cases
Class Diagram models class structure and contents using design elements such
as classes, packages and objects. It also displays relationships such as
containment, inheritance, associations and others.
Interaction Diagrams
Activity Diagram displays a special state diagram where most of the states are
action states and most of the transitions are triggered by completion of the actions
in the source states. This diagram focuses on flows driven by internal processing.
Physical Diagrams
Component Diagram displays the high level packaged structure of the code
itself. Dependencies among components are shown, including source code
components, binary code components, and executable components. Some
components exist at compile time, at link time, at run times well as at more
than one time.
A use case is a set of scenarios that describing an interaction between a user and
a system. A use case diagram displays the relationship among actors and use
cases. The two main components of a use case diagram are use cases and actors.
An actor is represents a user or another system that will interact with the system
you are modeling. A use case is an external view of the system that represents
some action the user might perform in order to complete a task.
Use cases are used in almost every project. These are helpful in exposing
requirements and planning the project. During the initial stage of a project most
use cases should be defined, but as the project continues more might become
visible.
1. Draw the lines around the system and actors lie outside the
system.
2. Identify the actors which are interacting with the system.
3. Separate the generalized and specialized actors.
4. Identify the functionality the way of interacting actors with system
and specify the behavior of actor.
Use cases are a relatively easy UML diagram to draw, but this is a very simplified
example. This example is only meant as an introduction to the UML and use
cases. Start by listing a sequence of steps a user might take in order to complete
an action. For example a user placing an order with a sales company might follow
these steps.
This example shows the customer as a actor because the customer is using the
ordering system. The diagram takes the simple steps listed above and shows them
as actions the customer might perform. The salesperson could also be included in
this use case diagram because the salesperson is also interacting with the
ordering system.
From this simple diagram the requirements of the ordering system can easily be
derived. The system will need to be able to perform actions for all of the use cases
listed. As the project progresses other use cases might appear. The customer
might have a need to add an item to an order that has already been placed. This
diagram can easily be expanded until a complete description of the ordering
system is derived capturing all of the requirements that the system will need to
perform.
The <<extends>>Relationship
• Use cases representing exceptional flows can extend more than one use
case.
• The direction of a <<extends>> relationship is to the extended use case
The <<includes>>Relationship
Class Diagrams
Class diagrams are widely used to describe the types of objects in a system and
their relationships. Class diagrams model class structure and contents using
design elements such as classes, packages and objects. Class diagrams describe
three different perspectives when designing a system, conceptual, specification,
and implementation. These perspectives become evident as the diagram is
created and help solidify the design. This example is only meant as an
introduction to the UML and class diagrams. Classes are composed of three
things: a name, attributes, and operations.
A generalization is used when two classes are similar, but have some differences.
In this example the classes Corporate Customer and Personal Customer have
some similarities such as name and address, but each class has some of its own
attributes and operations. The class Customer is a general form of both the
Corporate Customer and Personal Customer classes. This allows the designers to
just use the Customer class for modules and do not require in-depth
representation of each type of customer.
Class diagrams are used in nearly all Object Oriented software designs. Use them
to describe the Classes of the system and their relationships to each other.
Class diagrams are some of the most difficult UML diagrams to draw. To draw
detailed and useful diagrams a person would have to study UML and Object
Oriented principles for a long time. Therefore, this page will give a very high level
overview of the process.
Before drawing a class diagram consider the three different perspectives of the
system the diagram will present; conceptual, specification, and implementation.
Try not to focus on one perspective and try see how they all work together.
When designing classes consider what attributes and operations it will have. Then
try to determine how instances of the classes will interact with each other. These
are the very first steps of many in developing a class diagram. However, using just
these basic techniques one can develop a complete view of the software system.
Interaction Diagrams
Interaction diagrams model the behavior of use cases by describing the way
groups of objects interact to complete the task. The two kinds of interaction
diagrams are sequence and collaboration diagrams. This example is only meant
as an introduction to the UML and interaction diagrams.
Interaction diagrams are used when you want to model the behavior of several
objects in a use case. They demonstrate how the objects collaborate for the
behavior. Interaction diagrams do not give a in depth representation of the
behavior. If you want to see what a specific object is doing for several use cases
use a state diagram. To see a particular behavior over many use cases or threads
use an activity diagrams.
Sequence diagrams:
1. Set the context for the interactions, system, subsystem, classes, object or
use cases.
2. Set the stages for the interactions by identifying objects which are placed
as actions in interaction diagrams.
3. Lay them out along the X-axis by placing the important object at the left
side and others in the next subsequent.
4. Set the lifelines for each and every object by sending create and destroy
messages.
5. Start the message which is initiating interactions and place all other
messages in the increasing order of items.
6. Specify the time and space constraints.
7. Set the pre and post conditions.
Below is a slightly more complex example. The light blue vertical rectangles the
objects activation while the green vertical dashed lines represent the life of the
object. The green vertical rectangles represent when a particular object has
control. The represents when the object is destroyed. This diagrams also shows
conditions for messages to be sent to other object. The condition is listed between
brackets next to the message. For example, a [condition] has to be met before the
The next diagram shows the beginning of a sequence diagram for placing an
order. The object an Order Entry Window is created and sends a message to an
Order object to prepare the order. Notice the the names of the objects are followed
by a colon. The names of the classes the objects belong to do not have to be
listed. However the colon is required to denote that it is the name of an object
following the objectName:className naming system.
Next the Order object checks to see if the item is in stock and if the [InStock]
condition is met it sends a message to create an new Delivery Item object.
The next diagrams adds another conditional message to the Order object. If the
item is [OutOfStock] it sends a message back to the Order Entry Window object
stating that the object is out of stack.
This simple diagram shows the sequence that messages are passed between
objects to complete a use case for ordering an item.
Collaboration diagrams
Collaboration diagrams are also relatively easy to draw. They show the
relationship between objects and the order of messages passed between them.
The objects are listed as icons and arrows indicate the messages being passed
between them. The numbers next to the messages are called sequence numbers.
As the name suggests, they show the sequence of the messages as they are passed
between the objects. There are many acceptable sequence numbering schemes in
UML. A simple 1, 2, 3... format can be used, as the example below shows, or for
more detailed and complex diagrams a 1, 1.1 ,1.2, 1.2.1... scheme can be used.
2. Identify the objects that play a role in the interaction. Lay them as
vertices in graph, placing important objects in centre and neigboring
objects to outside.
3. Set the initial properties of each of these objects. If the attributes or
tagged values of an object changes in significant ways over the
interaction, place a duplicate object, update with these new values and
connect them by a message stereotyped as become or copy.
4. Specify the links among these objects. Lay the association links first
represent structural connection lay out other links and adorn with
stereotypes.
5. Starting with the message that initiates this interaction, attach each
subsequent message to appropriate link, setting sequence number as
appropriate.
The example below shows a simple collaboration diagram for the placing an order
use case. This time the names of the objects appear after the colon, such
as :Order Entry Window following the objectName: className naming convention.
This time the class name is shown to demonstrate that all of objects of that class
will behave the same way.
State diagrams are used to describe the behavior of a system. State diagrams
describe all of the possible states of an object as events occur. Each diagram
usually represents objects of a single class and track the different states of its
objects through the system.
Use state diagrams to demonstrate the behavior of an object through many use
cases of the system. Only use state diagrams for classes where it is necessary to
understand the behavior of the object through the entire system. Not all classes
will require a state diagram and state diagrams are not useful for describing the
collaboration of all objects in a use case. State diagrams are other combined with
other diagrams such as interaction diagrams and activity diagrams.
State diagrams have very few elements. The basic elements are rounded boxes
representing the state of the object and arrows indicting the transition to the next
state. The activity section of the state symbol depicts what activities the object
will be doing while it is in that state.
All state diagrams being with an initial state of the object. This is the state of the
object when it is created. After the initial state the object begins changing states.
Conditions based on the activities can determine what the next state the object
transitions to.
Below is an example of a state diagram might look like for an Order object. When
the object enters the Checking state it performs the activity "check items." After
the activity is completed the object transitions to the next state based on the
conditions [all items available] or [an item is not available]. If an item is not
available the order is canceled. If all items are available then the order is
dispatched. When the object transitions to the Dispatching state the activity
"initiate delivery" is performed. After this activity is complete the object transitions
again to the Delivered state.
State diagrams can also show a super-state for the object. A super-state is used
when many transitions lead to the certain state. Instead of showing all of the
transitions from each state to the redundant state a super-state can be used to
show that all of the states inside of the super-state can transition to the
redundant state. This helps make the state diagram easier to read.
The diagram below shows a super-state. Both the Checking and Dispatching
states can transition into the Canceled state, so a transition is shown from a
super-state named Active to the state Cancel. By contrast, the state Dispatching
can only transition to the Delivered state, so we show an arrow only from the
Dispatching state to the Delivered state.
Activity Diagram
Diagrams are also useful for analyzing a use case by describing what actions need
to take place and when they should occur; describing a complicated sequential
algorithm; and modeling applications with parallel processes.
However, activity diagrams should not take the place of interaction diagrams and
state diagrams. Activity diagrams do not give detail about how objects behave or
how objects collaborate.
Activity diagrams show the flow of activities through the system. Diagrams are
read from top to bottom and have branches and forks to describe conditions and
parallel activities. A fork is used when multiple activities are occurring at the
same time. The diagram below shows a fork after activity1. This indicates that
both activity2 and activity3 are occurring at the same time. After activity2 there is
a branch. The branch describes what activities will take place based on a set of
conditions. All branches at some point are followed by a merge to indicate the end
of the conditional behavior started by that branch. After the merge all of the
parallel activities must be combined by a join before transitioning into the final
activity state.
Below is a possible activity diagram for processing an order. The diagram shows
the flow of actions in the system's workflow. Once the order is received the
activities split into two parallel sets of activities. One side fills and sends the order
while the other handles the billing. On the Fill Order side, the method of delivery
is decided conditionally. Depending on the condition either the Overnight Delivery
activity or the Regular Delivery activity is performed. Finally the parallel activities
combine to close the order.
Physical Diagrams
There are two types of physical diagrams: deployment diagrams and component
diagrams. Deployment diagrams show the physical relationship between
Physical diagrams are used when development of the system is complete. Physical
diagrams are used to give descriptions of the physical information about a
system.
Many times the deployment and component diagrams are combined into one
physical diagram. A combined deployment and component diagram combines the
features of both diagrams into one diagram.
the components show how changes made to one component may affect the other
components in the system. Dependencies in a component diagram are
represented by a dashed line between two or more components. Component
diagrams can also show the interfaces used by the components to communicate to
each other.
The combined deployment and component diagram below gives a high level
physical description of the completed system. The diagram shows two nodes
which represent two machines communicating through TCP/IP. Component2 is
dependent on component1, so changes to component 2 could affect component1.
The diagram also depicts component3 interfacing with component1. This diagram
gives the reader a quick overall view of the entire system.
1. Introduction
1.1. Purpose
1.2. Scope
1.4. References
1.5. Overview
2. Overall description
2.1.Product perspective
2.1.7. Operations
2.4. Constraints
3. Specific Requirements
3.5.1 Reliability
3.5.2 Availability
3.5.3 Security
3.5.4 Maintainability
4. Supporting information
4.2 Appendices
1. Introduction
The following subsections of the SRS should provide an overview of the entire
SRS.
1.1 Purpose
1.2 Scope.
(2) Explain what the software product(s) will, and, if necessary, will not do
(3) Describe the application of the software being specified. As a portion of this,
it should:
1.4 References
In this subsection:
(1) Provide a complete list of all documents referenced elsewhere in the SRS.
(2) Identify each document by title, report number (if applicable), date, and
publishing organization.
(3) Specify the sources from which the references can be obtained.
1.5 Overview
Describe the general factors that affect the product and its requirements. This
section usually consists of the five subsections that follow. This section does not
state specific requirements; each of its subsections makes those requirements
easier to understand; they do not specify design or express specific requirements.
This subsection of the SRS relates the product to other products or projects.
(b) Identify the principal external interfaces of this software product (not a
detailed description)
A block diagram showing the major components of the larger system or project,
interconnections, and external interfaces can be very helpful.
Provide a summary of the functions that the software will perform. Sometimes
the function summary that is necessary for this part can be taken directly from
the section of the higher-level specification (if one exists) that allocates particular
functions to the software product. The functions should be organized in a way
that makes the list of functions understandable to the customer or to anyone else
reading the document for the first time. Block diagrams showing the different
functions and their relationships can be helpful. Such a diagram is not a
requirement on the design of a product itself; it is simply an effective explanatory
tool.
Describe those general characteristics of the eventual users of the product that
will affect the specific requirements.
Many people interact with a system during the operation and maintenance
phase of the software life cycle. Some of these people are users, operators, and
maintenance and systems personnel. Certain characteristics of these people, such
as educational level, experience, and technical expertise impose important
constraints on the system's operating environment.
Step 2: open licensed Agreement, click on accept the agreement and click on next
button
PROJECTS
1.0 INTRODUCTION
1.1 PURPOSE
If the entire process of 'Issue of Hall ticket' is done in a manual manner then
it would takes several days for the hall ticket to reach the student? Considering
the fact that the number of students for hall ticket 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.
1.2 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 controller concerned with the issue of hall ticket can use this system
to reduce his workload and process the application in a speedy manner.
• Students will come to know their status of application and the date in
which they must subject themselves for manual document verification.
• Exam Controller - Refers to the super user who is the Central Authority
who has been vested with the privilege to manage the entire system.
1.4 REFERENCES
• HTML
• JSP
• Javascript
• Java
1.7 OVERVIEW
The ERS acts as an interface between the 'student' and the 'exam controller'.
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 hall ticket.
Front End Client - The exporter online interface is built using JSP and
HTML.
Web Server – Apache Tomcat Server (Oracle Corporation)
Back End - Oracle 11g database
The server is directly connected to the client systems. The client systems
have access to the database in the server.
• Controller can generate reports from the information and is the only
authorized personnel to add the eligible application information to the database.
• Student - They are the people who desire to obtain the hall ticket and
submit the information to the database.
2.6 CONSTRAINTS
• The user has to be careful while submitting the information. Much care is
required.
1. Verify that the application has a portal to add subject wise questions and
their options.
2. Verify that the examiner can set the examination details like ‘Exam Name’,
‘Subject’, ‘Exam Code’ etc.
3. Verify that the examiner can set the total number of questions and based on
the number of questions, the examiner is presented with the window to add
question details.
4. Verify that the examiner can set details for each question – Question,
Options, Marks etc.
5. Verify that the examiner can set or leave the option of negative marking.
6. Verify that the examiner can set the passing marks for clearing the exam.
7. Verify that the examiner can set time duration for the whole exam or for
individual questions if required.
1. Verify the student can choose the examination based on the exam name or
code.
2. Verify that the student should see the options to fill the required details like
name, roll number, etc before starting the exam.
3. Verify that after filling the required details user should see the option to
begin the exam along with instructions.
4. Verify that once the examination begins a timer gets started based on the
test duration.
5. Verify that for each question user is presented with an option for multiple-
choice questions(MCQ) type questions.
8. Verify that once all the questions are answered or passed user can end the
test.
9. Verify that if the time duration for the test gets reached the test
automatically ends.
10. Verify that once the test is submitted, the test evaluation is performed
considering the positive and negative marking.
11. Verify that on evaluation user is presented with Pass/Fail status along
with Marks secured, questions attempted etc.
USECASE DIAGRAM:
1. Login
3. Register
4. Acknowledgement
5. Fee Processing
ACTORS INVOLVED:
1. Student
2. System DB
The student enters his username and password to login and retrieve
the information’.
The student view the details about the exam schedule which contains
Date,time,etc...
The student should notify the fee details that only the student can pay
the correct amount
The exam fees should be paid by the student to get the hall ticket from
the exam controller.
All the details should be viewed by both the student and the controller
to verify whether all the entered details are correct.
USE-CASE DIAGRAM:
CLASS DIAGRAM:
The class diagram, also referred to as object modeling is the main 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 Exam Registration System class diagram consists of four two classes of
registration system.
1. Student_details
2. Exam_details
3. Register
1) STUDENT_DETAILS
It consists of six attributes and six operations. The attributes id, password,
name, age, sex, course. The operations of this class are login(), logout(),
conformation(), register(), newfeesdetails().
2) EXAM_DETAILS
It consists of four attributes and six methods. The attributes are userid,
password, examfees, fees due. The methods are login(),logout(), feesdetails(),
displayfees(), conformation(), examcontroller().
3) REGISTER
This class is used to maintain the registered student information such as,
subject registered, date of registration and etc,.
ACTIVITY DIAGRAM:
INTERACTION DIAGRAM:
It is also represented by the order in which things occur and how the objects in
the system send message to one another.
SEQUENCE DIAGRAM:
The sequence and collaboration diagram represents that the student enter
the information to get the hall ticket and the exam controller issues the hall ticket
after verifying the necessary items and this data are stored in the database.
COLLABORATION DIAGRAM:
DEPLOYMENT DIAGRAM:
• The problem faced is that library users require an efficient method to find a
specific book or keyword(s) within a book given a continuously expanding
library. Efficiency requires that the processing time should stay relatively the
same even as the library contents increases.
1. INTRODUCTION
With the increase in the number of readers, better management of libraries system
is required. The Library management system focuses on improving the
management of libraries in a city or town. “What If you can check whether a book
is available in the library through your phone?” or “what if instead of having
different library cards for different libraries you can just have one ?” or “you can
reserve a book or issue a book from your phone sitting at your home!”. The
Integrated Library Management system provides you the ease of issuing, renewing,
or reserving a book from an library within your town through your phone. The
Integrated Library Management system is developed on the android platform
which basically focuses on issuing, renewing and reserving a book.
1.1 PURPOSE
The purpose of the project is to maintain the details of books and library members
of different libraries. The main purpose of this project is to maintain a easy
circulation system between clients and the libraries, to issue books using single
library card, also to search and reserve any book from different available libraries
and to maintain details about the user (fine, address, phone number).Moreover,
the user can check all these features from their home.
1.2 SCOPE
The ILM System provides information's like details of the books, insertion of
new books, deletion of lost books, limitation on issuing books, fine on
keeping a book more than one month from the issued date.
Also user can provide feedback for adding some new books to the library.
2. OVERALL DESCRIPTION
The proposed Library Management System will take care of the current book detail
at any point of time. The book issue, book return will update the current book
details automatically so that user will get the update current book details.
Product function:
The key goal of this initiative is to minimize the work done manually.
User characteristics:
User Module: The user can verify the availability of the books in the
user module.
Book return
Register user
Book issue
General Constraints:
To have updated & accurate values, any change about the library book must be
registered.
All the details entered will be reliable and up to date. This software package is
built with the assistance of the sun micro framework using java as the front end.
The back end of Microsoft SQL Server 2005, which is supported by Windows 7.
Specific Requirement:
It should be simple and easy for consumers to understand and use. It should also
be an immersive interface. For the user and administrator, the device should
prompt the login to the program and correct feedback parameters.
User Interface:
The program offers a decent graphical interface for the user that can be run on the
device by an administrator, performing the necessary tasks such as designing,
reviewing, displaying the book information.
Allows users to access quick reports in between real hours, such as Book
Issues/Returned, etc.
Hardware interface:
Hard disk:40 GB
RAM: 256 MB
Software interface :
Java language
Communication interface:
Window
R.1:Register
Description : First the user will have to register/sign up. There are two different
type of users.
The library manager/head : The manager have to provide details about the
name of library ,address, phone number, email id.
Regular person/student : The user have to provide details about his/her name
of address, phone number, email id.
R.1.1: Sign up
Processing: All details will be checked and if any error are found then an error
message is displayed else a membership number and password will be generated.
R.1.2 : Login
R.2.2 : Search
Output : conformation for book issue and apology for failure in issue.
Processing : if selected book is available then book will be issued else error will
be displayed.
Processing : If the issued book is already reserved by another user then error
message will be send and if not then conformation message will be displayed.
R.2.5 : Return
Output : The issued list will be updated and the returned book will be listed out.
Description : If a book is issued by someone then the user can reserve it ,so that
later the user can issue it.
R.2.6 Fine
Processing : The fine will be calculated, if it crossed the date of return and the
user did not renewed if then fine will be applied by Rs 10 per day.
Input : Enter the details of the books such as names ,author ,edition, quantity.
• Usability Requirement
The system shall allow the users to access the system from the phone using
android application. The system uses a android application as an interface. Since
all users are familiar with the general usage of mobile app, no special training is
required. The system is user friendly which makes the system easy.
• Availability Requirement
The system is available 100% for the user and is used 24 hrs a day and 365 days
a year. The system shall be operational 24 hours a day and 7 days a week.
• Efficiency Requirement
Mean Time to Repair (MTTR) - Even if the system fails, the system will be
recovered back up within an hour or less.
• Accuracy
The system should accurately provide real time information taking into
consideration various concurrency issues. The system shall provide 100% access
reliability.
• Performance Requirement
• Reliability Requirement
The system has to be 100% reliable due to the importance of data and the
damages that can be caused by incorrect or incomplete data. The system will run
7 days a week, 24 hours a day.
Return book
Fine details
Library module:
Add new book
Remove books
Update details of book
Administration module:
Any update regarding the book from the library is to be recorded to have update &
correct values, and any fine on a member should be notified as soon as possible
and should be correctly calculated.
CLASS DIAGRAM
Department of Computer Science and Engineering Page 60
SOFTWARE ENGINEERING LAB MANUAL
SEQUENTIAL DIAGRAM
COLABARATION DIAGRAM
ACTIVTY DIAGRAM
STATECHART DIAGRAM
COMPONENT DIAGRAM
ADDITIONAL PROJECTS
The project entitled ATM system has a drastic change to that of the older version
of banking system, customer feel inconvenient with the transaction method as it
was in the hands of the bank employees. In our ATM system, the above problem is
overcome here, the transactions are done in person by the customer thus makes
the customers feel safe and secure. Thus the application of our system helps the
customer in checking the balance and transaction of the amount by validating the
pin number therefore ATM system is more user friendly Software
1. Introduction
1.1 Purpose
1.2 Scope
This software facilitates the user to perform various transactions in his account
without going to bank. This software offers benefits such cash withdrawals,
balance transfers, deposits, inquiries, credit card advances and other banking
related operations for customers.
The software takes as input the login Id and the bank account number of
the user for login purposes. The outputs then comprise of an interactive display
that lets the user select the desirable function that he wants to perform.
i. www.google.co.in
ii. www.wikipedia.com
there in the list. The machine displays the list of the companies supported
by that bank to the user.
The interface provided to the user should be a very user-friendly one and it
should provide an optional interactive help for each of the service listed. The
interface provided is a menu driven one and the following screens will be
provided:-
1. A login screen is provided in the beginning for entering the required
username/pin no. and account number. 2. 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 any one. 3. In case of administrator, a screen
will be shown having options to reboot system, shut down system, block
system, disable any service. 4. In case of reboot/ shut down, a screen is
displayed to confirm the user’s will to reboot and also allow the user to take
any backup if needed. 5. In case of blocking system, a screen is provided
asking for the card no. By entering the card no of a particular user, system
access can be blocked for him. 6. Administrator is also provided with a
screen that enables him to block any service provided to the user by entering
the name of the service or by selecting it from the list displayed. 7. After the
login, a screen with a number of options is then shown to the user. It contains
all the options along with their brief description to enable the user to
understand their functioning and select the proper option. 8. A screen will be
provided for user to check his account balance.
9. A screen will be provided that displays the location of all other ATMs of
same bank elsewhere in the city. 10. A screen will be provided for the user to
perform various transactions in his account.
The following reports will be generated after each session dealt with in the
machine:-
1. The login time and logout time along with the user’s pin no and account
number is registered in the bank’s database. 2. The ATM’s branch ID
through which the session is established is also noted down in the bank’s
database. 3. Various changes in the user’s account after the transactions, if
any, are reported in the database. 4. A printed statement is generated for the
user displaying all the transactions he performed.
Functional Requirements:
ATM-FR-X ATM functional requirement
ATM-FR-1 The card reader determines the
account number from entered
card
Non-Functional Requirements:
ATM-NFR-X ATM non-functional
requirements
ATM-NFR-1 The ATM unit consists of a
display, a card reader, a cash
dispenser, an envelope drawer,
an envelope slot, a keypad and a
printer.
ATM-NFR-2 The keypad is a set of buttons
that includes the following: 10
buttons labeled with numbers 0
1. Login
1.1 Brief description: This use case describes how the user logs into the System.
1.2.1 Basic flow: This use case starts with the actor wishes to log in to the ATM
System.
1. The system requests the user to enter the name and PIN.
3. The system validates the name and the PIN and logs the user into the system.
1. If the user enters the wrong name and the PIN then the system displays an
error message.
2. The actor can either return to the basic flow or cancel login at which point use
case ends.
2. Transaction
2.1 Brief description: This describes the transaction that the user is doing.
2.2.1 Basic flow: This use case starts after the user has logged on to the system.
1. The system requests the user to enter the type of transaction of either
withdrawal or deposit and asks for customer information.
2. The actor enters the type of transaction and the customer information.
2.2.2 Alternative flow: If the customer enters any wrong information then the
system displays an error message.
2.4 Post Condition: Based on the transaction he gets the transaction screen.
3.1 Brief description: This describes how administrator takes care of customer
information.
3.2.1 Basic flow: This use case starts after the administrator has logged into the
system.
1. The system asks the administrator whether he wants to add or delete customer
information.
3.3 Pre Condition: The administrator logs on to the system before this use case
begin.
1. This use case starts when the administrator has chosen to add customer’s
information.
3.2.1.1.2 Alternative flow: If the administrator enters any wrong information the
system displays an error message.
1. This use case starts when the administrator has chosen to delete an existing
customer from the system.
3.2.1.2.2 Alternative flow: If the administrator has entered any wrong information
then the system displays administrator error message.
1. This use case starts when the administrator has chosen to update the
customer’s information. 2. The system asks the administrator to enter the
customer information.
3.2.1.3.2 Alternative flow: If the administrator has entered any wrong information
then the system displays administrator error message.
Check in the screen all labels button, links & images are appearing
correctly.
Check the ATM Machine is a full touch screen, or it also supports Keyboard
and Touch screen both the functionality.
After entering the Debit/Credit card in the card, reader users should be able
to select language and operation like withdrawal, language change, mini
statement, and other options.
When an ATM card is entered in the card reader, it should verify the card.
Check during any transaction the ATM Machine accepts card and Pin
details.
Check after successfully enter the pin and complete the process, the user
should be able to take out the money.
After taking out the money, the money receipt should also print.
After successfully withdraw the amount, the user should be log out from the
sessions.
Check if the user wants to print the money receipt (mini statement), it
should be done by following the menu options.
If the user enters more amounts then the account balance, then the user
should get an error message.
The ATM should have a waiting period between user session log out and
active another account.
In the ATM Machine, the user should be able to Use a Master card, Visa
card, and Rupay Card.
Verify after the transaction, the printed slip has the correct information or
not.
Check the ATM Machine can accept the cards and pin or not.
If allowed bank ATM card is entered, then only the user able to do the
operations.
Check is the ATM Machine can find the wrong pin or not.
Check if the card is entered in the wrong way, the machine should find that
and display an error message.
Check if the user three times the wrong password, then the account should
be locked.
If the user has a lack of money, then he should receive a warning message.
If the user inserted an expired card, then the user should not be able to
perform any action.
If the user inserted less then 100 amount, then the amount should not out
from the ATM Machine.
If the ATM Machine has dispatched the money, then the money should not
again enter into the ATM.
The machine does not accept either Visa or MasterCard or both debit/credit
cards.
If the user enters the wrong denominations, then a warning message should
display.
If the user has entered more then the daily limit amount, then the
transaction should be canceled, and a warning message should be displayed
on the screen.
The transaction should be canceled if the user clicks on the Cancel button.
Check an error message is a display or not when the ATM does have the
currency on it.
Check after the money release it is asking or not for the user confirmation to
print the transaction receipt.
Check during the transaction if there is some power failure or network issue
comes then the transaction should be marked as nulled and no amount
should be dispatched.
USECASE DIAGRAM
CLASS DIAGRAM
Department of Computer Science and Engineering Page 79
SOFTWARE ENGINEERING LAB MANUAL
SEQUENCE DIAGRAM
COLLABARATION DIAGRAM
STATECHART DIAGRAM
ACTIVITY DIAGRAM
DEPLOYMENT DIAGRAM