EEC 521: Software Engineering Data Flow Diagrams DFD: A Basic ...
Recommend Documents
diagram (Level 0) underlain by cascading lower level diagrams (Level 1, Level 2
…) that represent different parts of the system. Before There Were DFDs…
word-level data structure, Taylor Expansion Diagram (TED), is used as a vehicle to effect this transformation. The problem is formulated as that of applying a ...
Ames, Iowa 50011 1040, USA ...... The authors wish to thank Herbert T. David and. Kenneth J. ... Science, 226 Atanasoff Hall, Ames, Iowa 50011, March 1994.
Data Flow Diagrams. CSE1204 - Information Systems 1. Process Modelling.
Process modelling aims to graphically represent the processes which capture,.
CS 521/621. Paper Selection and Idea Proposal. Due: Sept 30, 2013, 9:00 AM
EDT via Moodle. Late assignments will not be accepted without prior permission.
Apr 9, 1993 - To Change. Consult. Guru for. Advice. New Req., Bug Fix. âHow does a change in one source code entity pr
4. Data Flow Diagram. (DFD). Graphical representation of functional modeling. In
analysis, provide representation of information flow in existing and required.
An adequacy criterion is a predicate which is used to determine whether a program has been tested âenough. â Several software test data adequacy cri- teria are ...
BJ82, Jon90]; we provide a brief introduction to SA, but we refer to text books .... into a network of data transformers, the total network providing the same func- ..... create the input parameter list, the possible output pair and the externals for
DFD. Decomposition is the process of representing the system in a hierarchy of
DFD diagrams. Child diagrams show a portion of the parent diagram in greater ...
In this report we will look at an analysis technique, adapted from ... O nce in the data base, we can plot these as raw data weekly ... the long term average (i.e., using a large value of N ) is ... Connect the set of pivot points into a segmented li
data science for software engineering (SE). Content: In the age of big data, data science (the knowledge of deriving meaningful outcomes from data) is an ...
[email protected]. Leandro L. Minku. CERCIA School of Computer Science,. The University of Birmingham,. Birmingham, UK. [email protected].
One of the major âdisruptsâ to the prac ce and theory of software engineering is the recent widespread availability
Abstract: Programming may involve a fair amount of complexity. Accordingly ..... [17] Butler, T. PHP: Annotations are an abomination [blog posting]. Retrieved ...
Keywords: Software Engineering, Data Mining, Program Interface, Netminer, ... than developing similar code right from the beginning, ... object oriented languages PI is used to represent a set of ... For e.g., C# library provides around 9000 PI.
Program controls and keyboard shortcuts . .... When I insert a gate, the program
lists only the default gate symbol to select and I have not found a way how to ....
How to draw electrical diagrams . ..... Import from AutoCAD (DXF and DWG) .
A yellow frame, which is much larger than the circuit symbol itself, appears ....
How to draw electrical diagrams . ..... Import from AutoCAD (DXF and DWG) .
parallel functional language Sisal functions based on token propagation over the diagram and loop collapsing into a system of (mutually) recursive functions.
data-processing problems, and a variety of software-development methodologies and ...... Microsoft Windows Development Toolkit Version 2.0327. 3. Informix ...
N.J. Calkin and M. López de Prado / Stochastic flow diagrams. â[W]hat have economists ... and cycles in a financial network, the points of most likely congestion ...
Aug 10, 2009 - to 'Approval letter and loan offer', where an offer for a loan is made. ..... The process diagram can be used to document, predict, optimize, and ...
Sep 29, 2006 ... Threat modeling analyzes how an adversary might attack a system by ... spoofing
, tampering, information disclosure, denial of service ... Second, DFDs are initially
produced by application experts who have little ... Pushing each i
Jan 25, 2010 ... Data Flow Diagrams. Mechanics. Outline. DFD symbols. External entities (
sources and sinks). Data Stores. Data Flows. Processes. Types of ...
EEC 521: Software Engineering Data Flow Diagrams DFD: A Basic ...
A data flow diagram describes information flow among a set of processes and
actors. A process narrative describes how a single process transforms input data
...
DFD: A Basic Example display information
Control panel
EEC 521: Software Engineering
alarm type
Home Security software
Sensors
sensor status telephone tones
Analysis Modeling - 2 External entities (squares)
Panel display
commands and data
Data flows (directed edges)
Alarm
Telephone line
Processes (circles)
Notice that the system is represented as a single bubble This is known as a level 0 DFD, or a context diagram EEC 521 Software Engineering
Data Flow Diagrams Structured Analysis • Models data elements – Attributes – Relationships
modeled using
Modeling Tools • Data object diagrams • ERD diagrams
• Data flow diagram • Models processes that modeled • Process narrative transform data
EEC 521 Software Engineering
DFDs and Progressive Refinement Each DFD reveals progressively more detail than the DFD that preceded it Level 1 DFD: Control panel
commands and data
Interact with user
using
A data flow diagram describes information flow among a set of processes and actors. 1
*
A process narrative describes how a single process transforms input data to output data. EEC 521 Software Engineering
Configure request
Configure system
…
Activate / deactivate system
…
Process password
…
Start/stop request
password
Refinement continues until each bubble can be (easily) implemented as a program module EEC 521 Software Engineering
Process Narrative …
password
Process password
…
Some Guidelines
A process specification describes all of the flow processes in the final (most detailed) DFD.
“The process password transform performs password validation at the control panel for the SafeHome security function. Process password receives a four-digit password from the interact with user function. The password is first compared to the master password stored within the system …”
A process specification can be represented as a collection of process narratives. EEC 521 Software Engineering
EEC 521 Software Engineering
DFD Construction Scope document
Grammatical parse
• Level 0 DFD should contain only a single bubble • All arrows and bubbles should be meaningfully labeled • Refinement begins by isolating next level processes, data objects, and data stores • Refine only one bubble at a time • Data flow continuity must be maintained between levels
Level 0 DFD
Exercise: Data Flow Diagrams Create a level 0 data flow diagram for a basic automated teller machine (ATM).
Develop process narratives
Grammatical parse
Next level DFD
You can ignore administrative scenarios. What would the level 1 data flow diagram look like?
(nouns = external entities, data/control objects, data stores) (verbs = processes) Note that nouns and verbs are associated with one another EEC 521 Software Engineering
EEC 521 Software Engineering
A Different View Object-Oriented Analysis • Models analysis classes – Data – Processes
Object-oriented analysis results in an analysis model that describes a system of collaborating objects Every object encapsulates a set of data elements, and exports a set of operations for working with those elements
• Attributes and Methods can be declared at three levels of accessibility – Public (+) • Visible everywhere
– Private (-) • Visible only from inside the declaring class
– Protected (#) • Visible only from within the declaring class and any of its subclasses
• We will all now swear never to declare public attributes
EEC 521 Software Engineering
EEC 521 Software Engineering
Classes and Objects
Inheritance
• A class consists of a set of attributes and methods. A class diagram is used to show the static structure of a class
• Inheritance allows a subclass to inherit the attributes and methods of a superclass
• Each class is like a template that defines how instances of the class – objects – should be created objects
classes
EEC 521 Software Engineering
AnsweringMachineWithTime -time
“Inherits from” or “Specializes”
+setTime()
• A subclass begins with everything provided by its superclass (or base class) – Can add additional attributes and methods – Can override existing public/protected methods EEC 521 Software Engineering
Inheritance Hierarchy
Other Relationships
• An inheritance hierarchy (or class hierarchy) refers to all of the classes in a system, and the inheritance relations among them • Depending on the type of system being developed, the class hierarchy can be complex!
Operations that manipulate data Operations that perform a computation Operations that inquire about state Operations that check for a control event
multiplicity EEC 521 Software Engineering
EEC 521 Software Engineering
Building the OOA Model • Use the initial set of analysis classes as the basis for building the OOA model • Identify class responsibilities – What are its primary jobs?
• Identify class relationships and collaborations – What other classes does it need to interact with? – How will they interact?
• Identify class commonalities and variabilities – Which attributes/methods do they have in common? – Which attributes/methods vary?
This will be an iterative process! EEC 521 Software Engineering
Distribution, Cohesion, and Encapsulation • Some additional model desiderata – Responsibility distribution • Intelligence should be distributed across classes • Avoid monolithic classes
– Class cohesion • Classes should be single minded • Avoid classes with unrelated members
– Encapsulation • The class with the data should do the work • Avoid passing state to other classes EEC 521 Software Engineering
Some Rules of Thumb
Categorization
• Focus on the problem
• Categorization is one of the most important tools in our intellectual toolbox • How do we manage (intellectually) a large number of related items?
• Focus on core classes – Eliminate procedural classes – Avoid data classes – Avoid classes with only a single attribute
• Use (don’t overuse) inheritance intelligently – Move commonalities up the hierarchy – Move variabilities down the hierarchy – Avoid deep hierarchies EEC 521 Software Engineering
– We group the items into categories of items that share common characteristics or satisfy common goals
• In object-oriented analysis, we categorize classes using analysis packages EEC 521 Software Engineering
Analysis Packages • An analysis package is a collection of related analysis classes grouped under a representative name package name
UML notation
classes
accessibility modifiers
Java, C#, and VB .NET use a similar notion for categorizing implementation classes EEC 521 Software Engineering