This document discusses data flow diagrams (DFDs) and class-responsibility-collaborator (CRC) modeling. It defines DFDs as graphical representations of data flow in a system. Key components of DFDs are described, including entities, processes, data storage, and data flow. Different levels of DFDs are explained from level 0 (highest abstraction) to lower levels with more detail. CRC modeling is then introduced as a way to identify classes, responsibilities, and collaborators. Classes represent collections of similar objects, responsibilities are things a class knows or does, and collaborators are other classes a given class interacts with.
4. We will discuss..
• DFD
• Components of DFD
• Levels of DFD
• Class
• How to identify class and responsibility.
• Subclass
• Superclass
• Object
• Responsibility
• Collaboration
5. Data Flow Diagram
• Data flow diagram is graphical representation of flow of data in an information
system. It is capable of depicting incoming data flow, outgoing data flow and
stored data. The DFD does not mention anything about how data flows through
the system.
• There is a prominent difference between DFD and Flowchart. The flowchart
depicts flow of control in program modules. DFDs depict flow of data in the
system at various levels. DFD does not contain any control.
• Types of DFD
• Data Flow Diagrams are either Logical or Physical.
• Logical DFD - This type of DFD concentrates on the system process, and flow of
data in the system. For example in a Banking software system, how data is moved
between different entities.
• Physical DFD - This type of DFD shows how the data flow is actually implemented
in the system. It is more specific and close to the implementation.
6. DFD Components
• DFD can represent Source, destination, storage and flow of data using
the following set of components.
7. DFD Components
• Entities - Entities are source and destination of information data.
Entities are represented by a rectangles with their respective names.
• Process - Activities and action taken on the data are represented by
Circle or Round-edged rectangles.
• Data Storage - There are two variants of data storage - it can either be
represented as a rectangle with absence of both smaller sides or as
an open-sided rectangle with only one side missing.
• Data Flow - Movement of data is shown by pointed arrows. Data
movement is shown from the base of arrow as its source towards
head of the arrow as destination.
8. Level of DFD
• Level 0 - Highest abstraction level DFD is known as Level 0 DFD, which
depicts the entire information system as one diagram concealing all
the underlying details. Level 0 DFDs are also known as context level
DFDs.
9. Level 1
• The Level 0 DFD is broken down into more specific, Level 1 DFD. Level
1 DFD depicts basic modules in the system and flow of data among
various modules. Level 1 DFD also mentions basic processes and
sources of information.
10. Level 2
• At this level, DFD shows how data flows inside the modules
mentioned in Level 1.
• Higher level DFDs can be transformed into more specific lower level
DFDs with deeper level of understanding unless the desired level of
specification is achieved.
11. Class, Responsibility, and Collaborator(CRC)
• A class represents a collection of similar objects.
• A responsibility is anything that a class knows or does.
• Responsibilities are the attributes and operations that are relevant for
the class.
• A collaborator is another class that is used to get information for, or
performs actions for the class at hand.
• Collaborators are those classes that are required to provide a class
with the information needed to complete a responsibility.
12. CRC Modelling
• A CRC model is really a collection of standard index cards that
represent classes. The cards are divided into three sections. Along the
top of the card you write the name of the class. In the body of the
card you list the class responsibilities on the left and the collaborators
on the right.
14. Classes
• Entity classes, also called model or business classes, are extracted
directly from the statement of the problem.
• Boundary classes are used to create the interface (e.g., interactive
screen or printed reports).
• Controller classes manage a “unit of work” from start to finish.
17. Identify responsibility
• Twice a year the company publishes a catalog of products,
which is mailed to customers and other interested people.
• Customers purchase products by submitting a list of products
with payment to the company. The company fills the order and
ships the products to the customer’s address.
• The order processing software will track the order from the
time it is received until the product is shipped.
• The company will provide quick service. They should be able to
ship a customer’s order by the fastest, most efficient means
possible.
Verb phrases lead to responsibilities..
For Example..
Imagine that you are developing order-processing software for a mail-
order company, a reseller of products purchased from various suppliers.
18. Responsibilities
Publishes a catalog
Is mailed to customers
Purchases products;
submitting
Fills the order
Ships the products; is
shipped
Track the order
Is received
Provides quick service
collaborationsResponsibility
19. Summary
• DFD
• Components of DFD
• LEVELs of DFD
• Class: The blueprint for an object.
• Subclass: A class that inherits from one or more classes.
• Superclass: The class from which another class inherits.
• Object: Something that can do things. An object has state, behavior, and identity.
The structure and behavior of similar objects are defined in their common class.
• Responsibility: Some behavior for which an object is held accountable. A
responsibility denotes the obligation of an object to provide a certain behavior.
• Collaboration: The process whereby several objects cooperate to provide some
higher-level behavior.