Download presentation
Presentation is loading. Please wait.
Published byMoses Higgins Modified over 8 years ago
1
1 Functional Modeling Lecture # 34
2
2 Recap We had talked about object-oriented static modeling in quite detail We had developed a OO static model of the Banking System to gain understanding
3
3 Modeling Techniques Object-oriented modeling –Static and dynamic modeling Functional modeling Dynamic modeling
4
4 Today’s Topics Today we’ll start our discussion on functional modeling or function- oriented modeling We’ll apply this to our Banking System case study also First, let us review the three principles of modeling
5
5 Principles of Modeling Partitioning Abstraction Projection
6
6 Function-oriented Modeling In function-oriented modeling, a hierarchy of functions (also known as processes, transforms, transactions, bubbles, and activities) is created At the root of the hierarchy is the most abstract function, while the leaf nodes of the hierarchy are least abstract
7
7 Function-oriented Modeling Function-oriented modeling is based on the concept of functions or processes, so they become the most important element in this approach The functional model describes computations within a system, i.e., what happens
8
8 Function-oriented Modeling What is a function or a transform or process? Each function is a sequential activity that potentially may execute concurrently with other functions The functional model specifies the result of a computation without specifying how or when they are computed
9
9 Types of Functions Asynchronous Function Asynchronous State Dependent Function Periodic Function Periodic State-Dependent Function
10
10 Asynchronous Function An asynchronous function can be activated by another object or function to perform some action
11
11 Asynchronous State-Dependent Function An asynchronous state-dependent function is usually a “one-shot” action, which is executed during a transition from one state to another state This function is activated by a control transformation
12
12 Periodic Function A periodic function is activated at regular intervals to perform some action The frequency with which a specific function is activated is application dependent
13
13 Periodic State-Dependent Function A periodic function is activated at regular intervals to perform some action The frequency with which a specific function is activated is application dependent This function is activated by a control transformation
14
14 Functional Modeling Non-interactive programs, such as compilers, usually are used for computations. The functional model is the main model for such programs On the other hand, databases often have a trivial functional model, since their purpose is to store and organize data, not to transform it
15
15 Functional Modeling Fundamental to most of techniques used for functional modeling, is some combination of data flow diagrams and data dictionaries
16
16 Data Flow Diagrams Data flow diagrams are composed of data on the move, transformations of data into other data, sources and destinations of data, and data in static storage Data flow diagrams show the flow of data through a system
17
17 Observations About DFDs All names should be unique A DFD is not a flow chart Suppress logical decisions Do not become bogged down in details
18
18 Data Flow Data flows through a system, beginning as input and be transformed into output. computetrianglearea base height area
19
19 Data Stores Data is often stored for later use. look-upsensordata sensor # report required sensor #, type, location, age sensor data sensor number type, location, age
20
20 Data Flow Diagramming: Guidelines All icons must be labeled with meaningful names The DFD evolves through a number of levels of detail Always begin with a context level diagram (also called level 0)
21
21 Data Flow Diagramming: Guidelines Always show external entities at the context-level or level zero 0 Always label data flow arrows Do not represent procedural logic
22
22 Constructing a DFD—I Determine data objects and associate operations Determine external entities –Producers of data –Consumers of data Create a level 0 DFD
23
23 Level 0 DFD Example user processingrequest videosource NTSC video signal digitalvideoprocessor requestedvideosignal monitor
24
24 Constructing a DFD—II Write a narrative describing the transform Parse to determine next level transforms “Balance” the flow to maintain data flow continuity Develop a level 1 DFD Use a 1:5 (approx.) expansion ratio
25
25 The Data Flow Hierarchy P a b xy p1 p2 p3 p4 p5 a b c d e f g level 0 level 1
26
26 Ward Notations for DFD Extensions transformations data flowsevent flows stores data control discrete data continuous data signal activation deactivation data store buffer Ref: Software Requirements by Alan Davis, PH 1993. Copyright 1986 IEEE
27
27 Description of Ward’s Extensions Discrete data –A single item of data Continuous data –A source of constantly available and perhaps continuously changing data Signal –Reporting an event
28
28 Description of Ward’s Extensions Activation –A direct overt action to initiate another process Deactivation –A direct overt action to stop another process
29
29 Description of Ward’s Extensions Data transformation –This is an example of a process, which is used to transform data values –The lowest-level functions are pure functions without side effects –A process may have side effects if it contains nonfunctional components, such as data stores or external objects
30
30 Description of Ward’s Extensions Control transformation –Control transformations are modeled in the dynamic model, as they deal with sequencing and control issues
31
31 Data Dictionaries Data dictionaries are simply repositories in which to store information about all data items defined in DFDs
32
32 Contents of Data Dictionaries Name of the data item Aliases Description/purpose Related data items Range of values Data flows Data structure definition/form
33
33 Summary Partitioning, abstraction, and projection are three important principals of modeling DFDs are an important Functional modeling technique which describes what the system does in terms of functions
34
34 References ‘Software Requirements: Objects, Functions, and States’ by Al. Davis, 1993 ‘Software Design Methods for Concurrent and Real-Time Systems’ by H. Gomaa, Addison-Wesley, 1993 ‘Software Engineering’ by R. Pressman, Prentice-Hall, 2001
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.