Functional Modelling
Functional Modelling
• Processes
• Processes are the computational activities that transform data values.
A whole system can be visualized as a high-level process. A process
may be further divided into smaller components. The lowest-level
process may be a simple function.
• Representation in DFD − A process is represented as an ellipse with its
name written inside it and contains a fixed number of input and
output data values.
• Example − The following figure shows a process Compute_HCF_LCM
that accepts two integers as inputs and outputs their HCF (highest
common factor) and LCM (least common multiple).
Contd..
Data Flows
• Data flow represents the flow of data between two processes. It could be
between an actor and a process, or between a data store and a process. A data
flow denotes the value of a data item at some point of the computation. This
value is not changed by the data flow.
• Representation in DFD − A data flow is represented by a directed arc or an arrow,
labelled with the name of the data item that it carries.
• In the above figure, Integer_a and Integer_b represent the input data flows to the
process, while L.C.M. and H.C.F. are the output data flows.
• Actors
• Actors are the active objects that interact with the system by either
producing data and inputting them to the system, or consuming
data produced by the system. In other words, actors serve as the
sources and the sinks of data.
• Representation in DFD − An actor is represented by a rectangle.
Actors are connected to the inputs and outputs and lie on the
boundary of the DFD.
• Example − The following figure shows the actors, namely, Customer and
Sales_Clerk in a counter sales system.
Data Stores
• Data stores are the passive objects that act as a repository of
data. Unlike actors, they cannot perform any operations.
• They are used to store data and retrieve the stored data. They
represent a data structure, a disk file, or a table in a database.
• Representation in DFD − A data store is represented by two
parallel lines containing the name of the data store.
• Each data store is connected to at least one process.
• Input arrows contain information to modify the contents of
the data store, while output arrows contain information
retrieved from the data store.
• When a part of the information is to be retrieved, the output
arrow is labelled. An unlabelled arrow denotes full data
retrieval. A two-way arrow implies both retrieval and update.
Contd..
• Example − The following figure shows a data store, Sales_Record, that
stores the details of all sales. Input to the data store comprises of details
of sales such as item, billing amount, date, etc. To find the average sales,
the process retrieves the sales records and computes the average.
Developing the DFD Model of a System
• In order to develop the DFD model of a system, a hierarchy of DFDs are constructed .
• Example − Let us consider a software system, Wholesaler Software, that automates the
transactions of a wholesale shop.
• The shop sells in bulks and has a clientele comprising of merchants and retail shop
owners.
• Each customer is asked to register with his/her particulars and is given a unique
customer code, C_Code.
• Once a sale is done, the shop registers its details and sends the goods for dispatch.
• Each year, the shop distributes Christmas gifts to its customers, which comprise of a
silver coin or a gold coin depending upon the total sales and the decision of the
proprietor.
• The functional model for the Wholesale Software is given below. The figure below shows
the top-level DFD. It shows the software as a single process and the actors that interact
with it.
• The actors in the system are −
• Customers
• Salesperson
• Proprietor
Contd..
Contd..
• In the next level DFD, as shown in the following figure, the
major processes of the system are identified, the data stores
are defined and the interaction of the processes with the
actors, and the data stores are established.
In the system, three processes can be identified, which are −
• Register Customers
• Process Sales
• Ascertain Gifts
The data stores that will be required are −
• Customer Details
• Sales Details
• Gift Details
Contd..
Contd..
• the following figure shows the details of the process Register Customer.
There are three processes in it, Verify Details, Generate C_Code, and
Update Customer Details. When the details of the customer are entered,
they are verified. If the data is correct, C_Code is generated and the data
store Customer Details is updated.
CASE Tools
• CASE tools are set of software application programs, which are used to
automate SDLC activities. CASE tools are used by software project managers,
analysts and engineers to develop software system.
• There are number of CASE tools available to simplify various stages of Software
Development Life Cycle such as Analysis tools, Design tools, Project
management tools, Database Management tools, Documentation tools are to
name a few.