Software Engineering Lab: HMR Institute of Technology & Management Hamidpur, Delhi-110036
Software Engineering Lab: HMR Institute of Technology & Management Hamidpur, Delhi-110036
Hamidpur, Delhi-110036
(An iso 9001:2008 certified, AICTE approved & GGSIP university affiliated institute)
Affiliated to
EXPERIMENT – 1
AIM:-
REQUIREMENTS:-
THEORY:-
The software proposes to manage and enable smooth functioning of an ATM which would
include the standard ATM transaction type such as withdrawals, balance, enquiry, pin change,
mini statement, cash deposit and funds transfer. It may also include some value added services
like bill payment or mobile top-ups etc.
The ATM system will provide the following services to the user:
• Better ATM transaction operations.
• Minimum balance maintenance for account.
• Routine checkup of ATM.
• If under theft circumstances, we can block the ATM card from further transactions
by reversing the pin.
• Frequent fraudulent transactions and fund transfers to particular account should be
reported to bank manager.
• Reward points also given for value added services as per the bank criteria.
• Easier interactive system for usage.
• Ability to send request for cheque book.
CONCLUSION:-
1
EXPERIMENT – 2
AIM:-
To do the requirement analysis and develop Software Requirement Specification Sheet for ATM
MANAGEMENT SYSTEM.
REQUIREMENTS:-
THEORY:-
1. Introduction
The ATM management software is to be developed for Automated Teller Machines (ATM). An
automated teller machine (ATM) is computerized telecommunications device that provides a
financial institution's customers a secure method of performing financial transactions, in a public
space without the need for a human bank teller. Through ATM, customers interact with a user-
friendly interface that enables them to access their bank accounts and perform various
transactions.
1.1 Purpose
The ATM management system (AMS) maintains the records of account holder transactions by
interacting with the bank servers to keep them up to date. The ATM management system
provides the user to perform bank related operations without going in the bank.
1.2 Scope
1.4 References
The rest of the SRS document describes various system requirements, interfaces, features and
functionalities.
2. Overall Description
AMS facilitates the customer to perform various transactions in his/her account without going to
bank. This software offers benefits such cash withdrawals, balance transfers, deposits, inquiries
and other banking related operations for customers. It also allows the maintainer to fix the issues
of ATM and update its software.
The software takes card number and pin as input and the bank account number of the customer is
retrieved for further purposes. The outputs then comprise of an interactive display that lets the
customer select the desirable function that he/she wants to perform.
● The AMS shall be developed using client-server architecture and be compatible with
Linux and UNIX based Operation System. The front-end of the system will be
developed using PHP, HTML, CSS and the back-end will be developed using
PostgreSQL 12.
● The ATM is a single functional unit consisting of various sub- components.
● AMS allows the user to access their bank accounts remotely through an ATM without
any aid of human bank teller.
● AMS also allows to perform various other functions apart from just accessing his
bank account such as mobile bill clearings etc.
● Some of its hardware components are cassettes, memory, drives, dispensers i.e. for
receipts and cash, a card reader, printer, switches, a console, a telephone dialer port,
a networking port and disks.
● The ATM communicates with the bank’s central server through a dial-up communication
link.
None
At least 256 MB RAM and 100 MB space hard disk will be required to run software.
2.1.7 Operations
None
The terminal at ATM will have support for the hardware and software interfaces specified in
sections 2.1.3 and 2.1.4 respectively.
● One major dependency that the project might face is the changes that need to be
incorporated with the changes in the bank policies regarding different services. As the
policies changes the system needs to be updated with the same immediately. A delay
in doing the same will result to tremendous loss to the bank. So this should be changed
as and when required by the developer.
● Another constraint relating to the operating environment is that we are specific to
PostgreSQL database.
● The project could be largely affected if some amount is withdrawn from the user’s
account from the bank at the same time when someone is accessing that account
through the ATM machine. Such a condition shall be taken care of.
● At this stage no quantitative measures are imposed on the software in terms of speed
and memory although it is implied that all functions will be optimized with respect to
speed and memory.
● The account and card are added by the bank to the bank server.
3. Specific Requirements
This section contains the software requirements in detail along with various forms to be
developed.
The following user interfaces (or forms) will be provided by the system.
i. Login Screen
This will be the first form, which will be displayed. It will allow the user to access the different
forms based on his/her account.
Various fields available on this form will be:
● Card No. : 12 digit numeric values that is displayed by card reader after reading the
card. Special characters and spaces are not allowed.
● Pin: A 4 digit numeric value associated with the card inserted in the card reader.
Special characters and spaces are not allowed.
ii. Customer Home
The system provides the customer with variety of options to choose for further operations on
ATM.
iii. Cash Withdrawal
This form facilitates the customer to enter amount to money that he/she needs to get from ATM
system.
The field available on this form will be:
● Cash Amount: A numeric value (multiple of 100) ranging from minimum of ₹ 100
to maximum of ₹ 10000. Special characters and spaces are not allowed.
iv. Fund Transfer
This form facilitates the customer to transfer fund from his/her account to another
account holder’s account.
Various fields available on this form will be:
● Account Number: A 12 digit number representing the account number of beneficiary.
Special characters and spaces are not allowed.
● Amount: A numeric value ranging with minimum of ₹ 100. Special characters and
spaces are not allowed.
v. Check Balance
The system facilitates the customer to check his/her account balance.
vi. Change Pin
This form facilitates the customer to change his/her ATM card pin.
Various fields available on this form will be:
● Old Pin: A 4 digit numeric value associated with the card inserted in the card
reader. Special characters and spaces are not allowed.
● New Pin: A 4 digit numeric value that customer wants to use as pin with the card inserted
in the card reader. Special characters and spaces are not allowed.
vii. Request Cheque Book
This form facilitates the customer to send request for a new cheque book to the bank.
The field available on this form will be:
● Account Number: A 12 digit number representing the account number of customer.
Special characters and spaces are not allowed.
viii. View Mini Statement
The system facilitates the customer to see summary of past transactions.
ix. Value Added Services
The system provides the customer with various additional services apart from basic banking
services.
a. Check Reward Points
The system facilitates the customer to check his/her reward points earned using ATM card
services.
b. Mobile Recharge
This form facilitates the customer to recharge his/her mobile number using his/her account
balance.
Various fields available on this form are:
● Choose Operator: A limited set of mobile service operators
supported by ATM provided to customer to choose his/her mobile number operator.
● Mobile Number: A 10 digit numeric value representing the mobile number that is needed
to be recharged. Special characters and spaces are not allowed.
● Recharge Amount: A numeric value ranging from ₹ 10 to ₹ 2000 and representing the
amount to add to mobile number account. Special characters and spaces are not allowed.
c. Bill Payment
This form facilitates the customer to pay outstanding amount of his/her bills such as
electricity, water and PNG using his/her account balance.
Various fields available on this form are:
● Choose Bill Type: A limited set of type of bill services supported by ATM provided
to customer to choose his/her bill service type.
● CA Number: A 10 digit alphanumeric value representing the customer bill service
account number for which bill payment is needed. Special characters and spaces are
not allowed.
● Bill Amount: A numeric value starting from ₹ 10 and representing the amount of
bill. Special characters and spaces are not allowed.
x. Maintainer Home:
The system provides the maintainer with variety of options to choose for further operations on
ATM network.
xi. Start ATM Services
The system facilitates the customer to start services at any ATM where the services are currently
stopped.
The field available on this form is:
● ATM ID: A 10 digit alphanumeric values to uniquely identify an ATM.
Special characters are allowed but spaces are not allowed.
xii. Update ATM Software
The system facilitates the customer to update the current software system of ATM with new
software version.
The field available on this form is:
● ATM ID: A 10 digit alphanumeric values to uniquely identify an ATM.
Special characters are allowed but spaces are not allowed.
xiii. Stop ATM Services
The system facilitates the customer to stop ongoing services at any ATM.
The field available on this form is:
● ATM ID: A 10 digit alphanumeric values to uniquely identify an ATM.
Special characters are allowed but spaces are not allowed.
There are various hardware components with which the machine is required to interact. Various
hardware interface requirements that need to be fulfilled for successful functioning of the
software are as follows:
● The ATM power supply shall have a 10/220 V AC manual switch.
● The ATM card should have the following physical dimensions:
a) Width – 85.47mm-85.72mm
b) Height – 53.92mm-54.03mm
c) Thickness – 0.76mm+0.08mm
● The card reader shall be a magnetic stripe reader
● The card reader shall have Smart card option.
● The slot for a card in the card reader may include an extra indentation for the embossed
area of the card. In effect it acts as a polarization key and may be used to aid the correct
insertion orientation of the card. This is an additional characteristic to the magnetic
field sensor which operates off the magnetic stripe and is used to open a mechanical
gate on devices such as ATMs.
● There shall be a 40 column dot matrix receipt printer.
● There shall be a 40 column dot matrix statement printer.
● The receipt dispenser shall be a maximum of 4" width and 0.5" thickness.
● The statement dispenser shall be a maximum of 5" width and 0.5" thickness.
● The envelope depository shall be a maximum of 4.5" width, 10" length and 0.5"
thickness.
● Screen resolution of at least 800 x 600-required for proper and complete viewing of
screens. Higher resolution would not be a problem.
In order to perform various different functions, this software needs to interact with various
other software. So there are certain software interface requirements that need to be fulfilled
which are listed as follows:
● The transaction management software used to manage the transaction and keep track
of resources shall be BMS version 2.0.
● The card management software used to verify pin no and login shall be CMS version 3.0.
● The database used to keep record of user accounts shall be PostgreSQL 12.0.
None
None
Usability
● The application will be user-friendly and easy to operate and the functions will be easily
understandable.
Reliability
● The application will have non-volatile memory system and have a high degree of
fault tolerance.
Availability
● The system will have a backup power supply in case of power failures.
● Any abnormal operations shall result in shutting down of the system. After abnormal
shutdown of the ATM, the system shall have to be manually restarted by a
maintenance personnel.
● There should be no inconsistency introduced in the account in case of abnormal
system shutdown.
Security
● The application shall be password protected. Users will have to enter correct pin for their
card to access the application.
● User should be provided with only three attempts to enter pin after which card will
be blocked for further use.
● There shall be a security camera installed near the ATM.
● There shall be a secured cash vault with a combination locking system.
● The ATM cabinet cover shall be manufactured using Fibre glass for security purposes.
Maintainability
● The application will be designed in a maintainable manner. It will be easy to
incorporate new requirements in the individual modules.
● The system should have the mechanism of self-monitoring periodically in order to detect
any fault.
● The system should inform the main branch automatically as soon as it detects any
error. The kind of fault and the problem being encountered should also be mentioned
by the system automatically.
CONCLUSION:-
Requirement analysis of ATM MANAGEMENT SYSTEM has been done and its Software
Requirement Specification Sheet has been written successfully.
EXPERIMENT – 3
AIM:-
To perform the function oriented diagram: Data Flow Diagram(DFD) and Structured chart.
REQUIREMENTS:-
THEORY:-
A Data Flow Diagram (DFD) is a traditional visual representation of the information flows
within a system. A neat and clear DFD can depict the right amount of the system requirement
graphically. It can be manual, automated, or a combination of both. It shows how data enters and
leaves the system, what changes the information, and where data is stored.
The objective of a DFD is to show the scope and boundaries of a system as a whole. It may be
used as a communication tool between a system analyst and any person who plays a part in the
order that acts as a starting point for redesigning a system. The DFD is also called as a data
flow graph or bubble chart.
● All names should be unique. This makes it easier to refer to elements in the DFD.
● Remember that DFD is not a flow chart. Arrows is a flow chart that represents the order
of events; arrows in DFD represents flowing data. A DFD does not involve any order
of events.
● Suppress logical decisions. If we ever have the urge to draw a diamond-shaped box in a
DFD, suppress that urge! A diamond-shaped box is used in flow charts to represents
decision points with multiple exists paths of which the only one is taken. This implies an
ordering of events, which makes no sense in a DFD.
● Do not become bogged down with details. Defer error conditions and error handling
until the end of the analysis.
1.2 Standard symbols for DFDs are derived from the electric circuit diagram analysis
and are shown in fig:
● Circle: A circle (bubble) shows a process that transforms data inputs into data outputs.
● Data Flow: A curved line shows the flow of data into or out of a process or data store.
● Data Store: A set of parallel lines shows a place for the collection of data items. A
data store indicates that the data is stored which can be used at a later stage or by the
other processes in a different order. The data store can have an element or group of
elements.
● Source or Sink: Source or Sink is an external entity and acts as a source of system
inputs or sink of system outputs.
It is also known as fundamental system model, or context diagram represents the entire software
requirement as a single bubble with input and output data denoted by incoming and outgoing
arrows. Then the system is decomposed and described as a DFD with multiple bubbles. Parts of
the system represented by each of these bubbles are then decomposed and documented as more
and more detailed DFDs. This process may be repeated at as many levels as necessary until the
program at hand is well understood. It is essential to preserve the number of inputs and outputs
between levels, this concept is called leveling by DeMacro. Thus, if bubble "A" has two inputs
x1 and x2 and one output y, then the expanded DFD, that represents "A" should have exactly
two external inputs and one external output as shown in fig:
The Level-0 DFD, also called context diagram of the result management system is shown in fig.
As the bubbles are decomposed into less and less abstract bubbles, the corresponding data flow
may also be needed to be decomposed.
Structure Chart represents hierarchical structure of modules. It breaks down the entire
system into lowest functional modules, describing functions and sub-functions of each
module of a
system to a greater detail. Structure Chart partitions the system into black boxes (functionality of
the system is known to the users but inner details are unknown). Inputs are given to the black
boxes and appropriate outputs are generated.
Modules at top level called modules at low level. Components are read from top to bottom and
left to right. When a module calls another, it views the called module as black box, passing
required parameters and receiving results.
● Sub Module : Sub Module is a module which is the part (Child) of another module.
● Library Module : Library Module are reusable and invokable from any module.
2. Conditional Call
It represents that the control module can select any of the sub modules on the basis of some
condition as shown in below figure.
3. Loop (Repetitive call of module)
It represents the repetitive execution of a module by the sub module.
A curved arrow represents a loop in the module.
All the sub modules covered by the loop repeat execution of the module.
4. Data Flow
It represents the flow of data between the modules. It is represented by directed arrow with
an empty circle at the end.
5. Control Flow
It represents the flow of control between the modules. It is represented by a directed arrow with
a filled circle at the end.
6. Physical Storage
Physical Storage is where all the information is to be stored.
● Level – 0 and Level – 1 Data Flow Diagram (DFD) for ATM MANAGEMENT
SYSTEM have been drawn successfully.
● Structure Chart for ATM MANAGEMENT SYSTEM have been drawn successfully.
EXPERIMENT – 4
AIM:-
To perform the user’s view analysis for the suggested system: Use case diagram.
REQUIREMENTS:-
THEORY:-
According to the UML specification a use case diagram is “a diagram that shows the relationships
among actors and use cases within a system.” Use case diagrams are often used to:
● Provide an overview of all or part of the usage requirements for a system or organization
in the form of an essential model or a business model
● Communicate the scope of a development project
● Model your analysis of your usage requirements in the form of a system use case model
Use case models should be developed from the point of view of your project stakeholders and
not from the (often technical) point of view of developers. There are guidelines for:
● Use Cases
● Actors
● Relationships
● System Boundary Boxes
1. Use Cases
A use case describes a sequence of actions that provide a measurable value to an actor. A use
case is drawn as a horizontal ellipse on a UML use case diagram.
An actor is a person, organization, or external system that plays a role in one or more interactions
with your system (actors are typically drawn as stick figures on UML Use Case diagrams).
3. Relationships
There are several types of relationships that may appear on a use case diagram:
● An association between an actor and a use case
● An association between two use cases
● A generalization between two actors
● A generalization between two use cases
Associations are depicted as lines connecting two modeling elements with an optional open-
headed arrowhead on one end of the line indicating the direction of the initial invocation of the
relationship. Generalizations are depicted as a close-headed arrow with the arrow pointing
towards the more general modeling element.
The rectangle around the use cases is called the system boundary box and as the name suggests it
indicates the scope of your system – the use cases inside the rectangle represent the functionality
that you intend to implement.
We start by identifying as many actors as possible. You should ask how the actors interact with
the system to identify an initial set of use cases. Then, on the diagram, you connect the actors
with the use cases with which they are involved. If actor supplies information, initiates the use
case, or receives any information as a result of the use case, then there should be an association
between them.
Use case diagram for ATM MANAGEMENT SYSTEM has been drawn successfully.
EXPERIMENT – 5
AIM:-
To draw the structural view diagram for the system: Class diagram, object diagram .
REQUIREMENTS:-
THEORY:-
Class Diagram
A description of a group of objects all with similar roles in the system, which consists of:
2. Behavioral features (operations) define what objects of the class "can do"
● Define the way in which objects may interact
● Operations are descriptions of behavioral or dynamic features of a class
Class Notation
1. Class Name
● The name of the class appears in the first partition.
2. Class Attribute
● Attributes are shown in the second partition
● The attribute type is shown after the colon.
● Attributes map onto member variables (data members) in code.
Class Relationships
A class may be involved in one or more relationships with other classes. A relationship can
be one of the following types: (Refer to the figure on the right for the graphical representation
of relationships).
Simple Association:
Composition:
In object-oriented design, there is a notation of visibility for attributes and operations. UML
identifies four types of visibility: public, protected, private, and package. The +, -, # and ~
symbols before an attribute and operation name in a class denote the visibility of the attribute and
operation.
● + denotes public attributes or operations
● - denotes private attributes or operations
● # denotes protected attributes or operations
● ~ denotes package attributes or operations
Object is an instance of a class in a particular moment in runtime that can have its own state and
data values. Likewise a static UML object diagram is an instance of a class diagram; it shows a
snapshot of the detailed state of a system at a point in time, thus an object diagram encompasses
objects and their relationships which may be considered a special case of a class diagram or a
communication diagram.
The use of object diagrams is fairly limited, mainly to show examples of data structures.
● During the analysis phase of a project, you might create a class diagram to
describe the structure of a system and then create a set of object diagrams as
test cases to verify the accuracy and completeness of the class diagram.
● Before you create a class diagram, you might create an object diagram to
discover facts about specific model elements and their links, or to illustrate
specific examples of the classifiers that are required.
Object Names:
● Every object is actually symbolized like a rectangle, that offers the name from
the object and its class underlined as well as divided with a colon.
Object Attributes:
● Similar to classes, you are able to list object attributes inside a separate
compartment. However, unlike classes, object attributes should have values assigned
for them.
Links:
● Links tend to be instances associated with associations. You can draw a link while
using the lines utilized in class diagrams.
Class diagram and object diagram for ATM MANAGEMENT SYSTEM has been drawn
successfully.
EXPERIMENT – 6
AIM:-
REQUIREMENTS:-
THEORY:-
A state diagram is used to represent the condition of the system or part of the system at finite
instances of time. It’s a behavioral diagram and it represents the behavior using finite state
transitions. State diagrams are also referred to as State machines and State-chart Diagrams. These
terms are often used interchangeably. So simply, a state diagram is used to model the dynamic
behavior of a class in response to time and changing external stimuli. We can say that each and
every class has a state but we don’t model every class using State diagrams. We prefer to model
the states with three or more states.
1. Initial state – We use a black filled circle to represent the initial state of a
System or a class.
initial state notation
2. Transition – We use a solid arrow to represent the transition or change of control
from one state to another. The arrow is labelled with the event which causes the
change in state.
Transition notation
state notation
4. Fork – We use a rounded solid rectangular bar to represent a Fork notation with
incoming arrow from the parent state and outgoing arrows towards the newly
created states. We use the fork notation to represent a state splitting into two or
more concurrent states.
fork notation
5. Join – We use a rounded solid rectangular bar to represent a Join notation with
incoming arrows from the joining states and outgoing arrow towards the common
goal state. We use the join notation when two or more states concurrently
converge into one on the occurrence of an event or events.
join notation
6. Self transition – We use a solid arrow pointing back to the state itself torepresent a
self transition. There might be scenarios when the state of the object does not
change upon the occurrence of an event. We use self transitions to represent such
cases.
8. Final state – We use a filled circle within a circle notation to represent the
final state in a state machine diagram.
We use Activity Diagrams to illustrate the flow of control in a system and refer to the steps
involved in the execution of a use case. We model sequential and concurrent activities using
activity diagrams. So, we basically depict workflows visually using an activity diagram. An
activity diagram focuses on the condition of flow and the sequence in which it happens. We
describe or depict what causes a particular event using an activity diagram.
UML models basically three types of diagrams, namely, structure diagrams, interaction
diagrams, and behavior diagrams. An activity diagram is a behavioral diagram i.e. it depicts the
behavior of a system.
An activity diagram portrays the control flow from a start point to a finish point showing the
various decision paths that exist while the activity is being executed. We can depict both
sequential processing and concurrent processing of activities using an activity diagram. They
are used in business and process modelling where their primary use is to depict the dynamic
aspects of a system.
1. Initial State – The starting state before an activity takes place is depicted using
the initial state.
A process can have only one initial state unless we are depicting nested activities. We use
a black filled circle to depict the initial state of a system. For objects, this is the state
when they are instantiated. The Initial State from the UML Activity Diagram marks the
entry point and the initial Activity State.
3. Action Flow or Control flows – Action flows or Control flows are also referred
to as paths and edges. They are used to show the transition from one activity state
to another.
4. Decision node and Branching – When we need to make a decision before deciding
the flow of control, we use the decision node.
The outgoing arrows from the decision node can be labelled with conditions or guard
expressions.It always includes two or more output arrows.
fork notation
When we use a fork node when both the activities get executed concurrently i.e. no
decision is made before splitting the activity into two parts. Both parts need to be
executed in case of a fork statement.
We use a rounded solid rectangular bar to represent a Fork notation with incoming arrow
from the parent activity state and outgoing arrows towards the newly created activities.
6. Join – Join nodes are used to support concurrent activities converging into one. For
join notations we have two or more incoming edges and one outgoing edge.
join notation
7. Merge or Merge Event – Scenarios arise when activities which are not being
executed concurrently have to be merged. We use the merge notation for such
scenarios. We can merge two or more activities into one if the control proceeds onto
the next activity irrespective of the path chosen.
merge notation
8. Final State or End State – The state which the system reaches when a particular
process or activity ends is known as a Final State or End State. We use a filled
circle within a circle notation to represent the final state in a state machine
diagram. A system or a process can have multiple final states.
State Chart diagram and Activity diagram for ATM MANAGEMENT SYSTEM has been drawn
successfully.
EXPERIMENT – 7
AIM:-
To perform the behavioral view diagram for the suggested system : Sequence
diagram, Collaboration diagram
REQUIREMENTS:-
THEORY:-
A. Sequence Diagrams
A sequence diagram simply depicts interaction between objects in a sequential order i.e. the
order in which these interactions take place. We can also use the terms event diagrams or event
scenarios to refer to a sequence diagram. Sequence diagrams describe how and in what order the
objects in a system function. These diagrams are widely used by businessmen and software
developers to document and understand requirements for new and existing systems.
Figure – lifeline
We display a lifeline in a rectangle called head with its name and type. The head is
located on top of a vertical dashed line (referred to as the stem) as shown above. If we
want to model an unnamed instance, we follow the same pattern except now the portion
of lifeline’s name is left blank.
○ Self Message – Certain scenarios might arise where the object needs
to send a message to itself. Such messages are called Self Messages
and are represented with a U shaped arrow.
Figure – self message
○ Reply Message – Reply messages are used to show the message being
sent from the receiver to the sender. We represent a return/reply
message using an open arrowhead with a dotted line. The interaction
moves forward only when a reply message is sent by the receiver.
4. Guards – To model conditions we use guards in UML. They are used when we
need to restrict the flow of messages on the pretext of a condition being met. Guards
play an important role in letting software developers know the constraints attached
to a system or a particular process.
For example: In order to be able to withdraw cash, having a balance greater than
zero is a condition that must be met as shown below.
● Used to model and visualise the logic behind a sophisticated function, operation or
procedure.
● They are also used to show details of UML use case diagrams.
● Used to understand the detailed functionality of current or future systems.
● Visualise how messages and tasks move between objects or components in a
system.
B. Collaboration Diagram
Collaboration Diagram represents the interaction of the objects to perform the behavior of a
particular use case or a part of use case. The designers use the Sequence diagram and
Collaboration Diagrams to define and clarify the roles of the objects that perform a particular
flow of events of a use case.
• The collaboration diagram is used to show the relationship between the objects in a system.
• Both the sequence and the collaboration diagrams represent the same information
but differently.
• Instead of showing the flow of messages, it depicts the architecture of the object residing in
the system as it is based on object-oriented programming.
• An object consists of several features.
• Multiple objects present in the system are
connected to each other.
• The collaboration diagram, which is also known as a communication diagram, is used to
portray the object's architecture in the system.
● Objects: The representation of an object is done by an object symbol with its name
and class underlined, separated by a colon.
In the collaboration diagram, objects are utilized in the following ways:
– The object is represented by specifying their name and class.
– It is not mandatory for every class to appear.
– A class may constitute more than one object.
– In the collaboration diagram, firstly, the object is created, and then its class is specified.
– To differentiate one object from another object, it is necessary to name them.
● Actors: In the collaboration diagram, the actor plays the main role as it invokes the
interaction. Each actor has its respective role and name. In this, one actor initiates the
use case.
● Links: The link is an instance of association, which associates the objects and actors.
It portrays a relationship between the objects through which the messages are sent. It is
represented by a solid line. The link helps an object to connect with or navigate to
another object, such that the message flows are attached to links.
The collaborations are used when it is essential to depict the relationship between the object.
Both the sequence and collaboration diagrams represent the same information, but the way of
portraying it quite different. The collaboration diagrams are best suited for analyzing use cases.
Sequence diagram and Collaboration diagram for ATM MANAGEMENT SYSTEM has been
drawn successfully.
EXPERIMENT – 8
AIM:-
To perform the implementation view diagram : Component diagram for the System
REQUIREMENTS:-
THEORY:-
Component Diagram
Component diagrams are used to visualize the organization of system components and the
dependency relationships between them. They provide a high-level view of the components
within a system.
The components can be a software component such as a database or user interface; or a hardware
component such as a circuit, microchip or device; or a business unit such as supplier, payroll or
shipping.
Component diagrams
● Are used in Component-Based-Development to describe systems with Service-Oriented-
Architecture
● Show the structure of the code itself
● Can be used to focus on the relationship between components
while hiding specification detail
● Help communicate and explain the functions of the system being built
to stakeholders
We have explained below the common component diagram notations that are used to draw a
component diagram.
● Component
2) Rectangle with the component icon in the top right corner and the name of
the component.
Interfaces in component diagrams show how components are wired together and interact with
each other. The assembly connector allows linking the component’s required interface
(represented with a semi-circle and a solid line) with the provided interface (represented with a
circle and solid line) of another component. This shows that one component is providing the
service that the other is requiring.
● Port
Port (represented by the small square at the end of a required interface or provided interface) is
used when the component delegates the interfaces to an internal class.
● Dependencies
Although you can show more detail about the relationship between two components using
the ball-and-socket notation (provided interface and required interface), you can just as well
use a dependency arrow to show the relationship between two components.
How to Draw a Component Diagram
You can use a component diagram when you want to represent your system as components
and want to show their interrelationships through interfaces. It helps you get an idea of the
implementation of the system. Following are the steps you can follow when drawing a
component diagram.
Step 1: Figure out the purpose of the diagram and identify the artifacts such as the files,
documents etc. in your system or application that you need to represent in your
diagram.
Step 2: As you figure out the relationships between the elements you identified earlier, create
a mental layout of your component diagram
Step 3: As you draw the diagram, add components first, grouping them within other components
as you see fit
Step 4: Next step is to add other elements such as interfaces, classes, objects, dependencies etc.
to your component diagram and complete it.
Step 5: You can attach notes on different parts of your component diagram to clarify
certain details to others.
CONCLUSION:
Component diagram for ATM MANAGEMENT SYSTEM has been drawn successfully.