Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Functional Modeling Lecture # 34. 2 Recap We had talked about object-oriented static modeling in quite detail We had developed a OO static model of.

Similar presentations


Presentation on theme: "1 Functional Modeling Lecture # 34. 2 Recap We had talked about object-oriented static modeling in quite detail We had developed a OO static model of."— Presentation transcript:

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


Download ppt "1 Functional Modeling Lecture # 34. 2 Recap We had talked about object-oriented static modeling in quite detail We had developed a OO static model of."

Similar presentations


Ads by Google