0% found this document useful (0 votes)
28 views19 pages

Functional Modelling

The document discusses functional modeling using Data Flow Diagrams (DFDs) to represent the flow of information in systems. It outlines the components of DFDs, including processes, data flows, external entities, and data stores, along with guidelines for creating them. Additionally, it covers the role of CASE tools in software development, their benefits, challenges, and modern trends.

Uploaded by

ajayrajay790
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views19 pages

Functional Modelling

The document discusses functional modeling using Data Flow Diagrams (DFDs) to represent the flow of information in systems. It outlines the components of DFDs, including processes, data flows, external entities, and data stores, along with guidelines for creating them. Additionally, it covers the role of CASE tools in software development, their benefits, challenges, and modern trends.

Uploaded by

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

Functional Modelling

•Data Flow Diagrams: Function modelling is represented with the help of


DFDs. DFD is the graphically representation of data. It shows the input,
output and processing of the system .
•When we are trying to create our own business, website, system, project
then there is need to find out how information passes from one process to
another so all are done by DFD.
There are number of levels in DFD
External Entity : External entity is the entity that takes information and
gives information to the system. It is represented with rectangle.
Data Flow : The data passes from one place to another is shown by data
flow. Data flow is represented with arrow and some information written
over it.
Process : It is also called function symbol .It is used to process all the
information .If there are calculations so all are done in the process part .It is
represented with circle and name of the process and level of DFD written
inside it.
Data Store : It is used to store the information and retrieve the stored
information .It is represented with double parallel lines.
• :
Contd..
• Some Guidelines for creating a DFD:
• Every process must have meaningful name and number.
• Level 0 DFD must have only one process.
• Every data flow and arrow has given the name.
• DFD should be logical consistent.
• DFD should be organised in such a way that it is easy to understand.
• There should be no loop in the DFD.
• Each DFD should not have more than 6 processes.
• The process can only connected with process, external entity and data
store.
• External entity cannot be directly connected with external entity.
• The direction of DFD is left to right and top to bottom representation.
Features of a DFD

• 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.

• Types of CASE Tools


• CASE tools can be broadly categorized into several types based on their
functionality and the SDLC stage they support:
• Diagramming Tools: These tools help in creating graphical
representations of system components, data flow, and control flow.
Examples include Flow Chart Maker and UML diagram tools
• Analysis Tools: These tools assist in gathering requirements, checking for
inconsistencies, and analyzing data flow. Examples include Accept 360,
Accompa, and CaseComplete.
Contd..
• Design Tools: These tools aid in designing the software architecture and
detailed module design. Examples include Animated Software Design
• Code Generators: These tools automate the generation of code based on
design specifications. Examples include tools integrated into IDEs like Microsoft
Visual Studio
• Documentation Tools: These tools generate technical and user
documentation. Examples include Doxygen, DrExplain, and Adobe RoboHelp.
• Project Management Tools: These tools help in project planning, scheduling,
resource allocation, and tracking. Examples include Microsoft Project, Atlassian
Jira, and Redmine.
• Quality Assurance Tools: These tools ensure that the software meets quality
standards through testing and validation. Examples include SoapTest and
JMeter.
• Maintenance Tools: These tools assist in managing changes and updates to the
software after its release. Examples include Bugzilla and HP Quality Center
Benefits of Using CASE Tools

• Benefits of Using CASE Tools


• CASE tools offer several advantages that make them essential in modern
software development:
• Improved Productivity: Automation of repetitive tasks such as code
generation and documentation creation frees up developers to focus on
more complex aspects of development.
• Enhanced Quality: Consistency and standardization enforced by CASE
tools reduce errors and improve code quality.
• Streamlined Communication: Visual representations and collaboration
features facilitate better communication among team members and
stakeholders.
• Better Project Management: Features like scheduling, resource
allocation, and version control help in managing projects more effectively.
• Cost Reduction: Efficiency gains and early error detection reduce
development costs
Challenges in Using CASE Tools
• Cost: Acquiring and maintaining CASE tools can be
expensive, especially for smaller organizations.
• Learning Curve: Team members may need time and
training to become proficient in using these tools.
• Integration Issues: Integrating CASE tools with
existing development environments and third-party
tools can be complex.
• Over-Reliance on Automation: Excessive reliance
on automation can lead to neglect of critical
thinking and problem-solving skills.
Modern Trends in CASE Tools
• CASE tools continue to evolve with advancements in technology
and software development methodologies:
• Cloud-Based CASE Tools: These tools offer scalability,
accessibility, and cost-efficiency by operating on a subscription
model
• AI and Machine Learning Integration: AI-powered CASE tools can
analyze code, predict project outcomes, and automate testing
• Low-Code/No-Code Platforms: These platforms enable non-
technical users to contribute to application development through
visual interfaces
• DevOps Integration: CASE tools are increasingly integrating with
DevOps tools to facilitate seamless software development
pipelines.
Contd..
• In conclusion, CASE tools are indispensable in
modern software development, offering
numerous benefits while also presenting some
challenges. By addressing these challenges
through careful planning and training,
organizations can leverage CASE tools to
enhance productivity, quality, and project
management.

You might also like