Object-Oriented and Classical Software Engineering

Size: px
Start display at page:

Download "Object-Oriented and Classical Software Engineering"

Transcription

1 Slide 11.1 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach

2 CHAPTER 11 Slide 11.2 SPECIFICATION PHASE

3 Overview Slide 11.3 The specification document Informal specifications Structured systems analysis Other semiformal techniques Entity-relationship modeling Finite state machines Petri nets Other formal techniques

4 Overview (contd) Slide 11.4 Comparison of specification techniques Testing during the specification phase CASE tools for the specification phase Metrics for the specification phase Air Gourmet Case Study: structured systems analysis Air Gourmet Case Study: software project management plan Challenges of the specifications phase

5 Specification Phase Slide 11.5 Specification document must be Informal enough for client Formal enough for developers Free of omissions, contradictions, ambiguities

6 Specification Document Slide 11.6 Constraints Cost Time Parallel running Portability Reliability Rapid response time

7 Specification Document (contd) Slide 11.7 Acceptance criteria Vital to spell out series of tests If the product passes the tests, it is deemed have satisfied its specifications Some acceptance criteria are restatements of constraints

8 Solution Strategy Slide 11.8 A general approach to building the product Find strategies without worrying about constraints Modify strategies in the light of constraints, if necessary Keep a written record of all discarded strategies, and why they were discarded To protect the specification team To prevent unwise new solutions during the maintenance phase

9 Informal Specifications Slide 11.9 Example If the sales for the current month are below the target sales, then a report is to be printed, unless the difference between target sales and actual sales is less than half of the difference between target sales and actual sales in the previous month, or if the difference between target sales and actual sales for the current month is under 5%

10 Meaning of Specification Slide Sales target for January was $100,000, actual sales were only $64,000 (36% below target) Print report Sales target for February was $120,000, actual sales were only $100,000 (16.7% below target) Percentage difference for February (16.7%) is less than half of the previous month s percentage difference (36%), so do not print report Sales target for March was $100,000, actual sales were $98,000 (2% below target) Percentage difference is under 5%, so do not print report

11 But Specifications Do Not Say This Slide [D]ifference between target sales and actual sales There is no mention of percentage difference Difference in January was $36,000, difference in February was $20,000 Not less than half of $36,000, so the report is printed [D]ifference [of] 5% Again, no mention of percentage Ambiguity should the last clause read percentage difference [of] 5% or difference [of] $5,000 or something else entirely? The style is poor

12 Informal Specifications (contd) Slide Claim This cannot arise with professional specifications writers Refutation Text Processing case study

13 Episode 1 Slide Naur Paper Given a text consisting of words separated by blank or by newline characters, convert it to line-by-line form in accordance with the following rules: (1) line breaks must be made only where the given text contains a blank or newline; (2) each line is filled as far as possible, as long as (3) no line will contain more than maxpos characters Naur constructed a procedure (25 lines of Algol 60), and informally proved its correctness

14 Episode 2 Slide Reviewer in Computing Reviews The first word of the first line is preceded by a blank unless the first word is exactly maxpos characters long

15 Episode 3 Slide London found 3 more faults Including: procedure does not terminate unless a word longer than maxpos characters is encountered

16 Episode 4 Slide Goodenough and Gerhart found 3 further faults Including last word will not be output unless it is followed by blank or newline Goodenough and Gerhart then produced new set of specifications, about four times longer than Naur s

17 Case Study (contd) Slide Meyer detected 12 faults in Goodenough and Gerhart s specifications Goodenough and Gerhart s specifications Were constructed with the greatest of care Were constructed to correct Naur s specifications Went through two versions, carefully refereed Were written by experts in specifications With as much time as they needed For a product about 30 lines long What chance do we have of writing fault-free specifications for a real product?

18 Episode 5 Slide Schach found a fault in Meyer s specifications Item (2) of Naur s original requirement ( each line is filled as far as possible ) is not satisfied

19 Informal Specifications Slide Conclusion Natural language is not a good way to specify product Fact Many organizations still use natural language, especially for commercial products Reasons Uninformed management Undertrained computer professionals Management gives in to client pressure Management is unwilling to invest in training

20 Structured Systems Analysis Slide Three popular graphical specification methods of 70s DeMarco Gane and Sarsen Yourdon All are equivalent All are equally good Many U.S. corporations use them for commercial products Gane and Sarsen s method is taught here because it is so widely used.

21 Structured Systems Analysis Case Study Slide Sally s Software Shop buys software from various suppliers and sells it to the public. Popular software packages are kept in stock, but the rest must be ordered as required. Institutions and corporations are given credit facilities, as are some members of the public. Sally s Software Shop is doing well, with a monthly turnover of 300 packages at an average retail cost of $250 each. Despite her business success, Sally has been advised to computerize. Should she? Better question What sections? Still better How? Batch, or online? In-house or out-service?

22 Case Study (contd) Slide Fundamental issue What is Sally s objective in computerizing her business? Because she sells software? She needs an in-house system with sound and light effects Because she uses her business to launder hot money? She needs a product that keeps five different sets of books, and has no audit trail

23 Case Study (contd) Slide We assume: Sally wishes to computerize in order to make more money We need to perform cost/benefit analysis for each section of her business

24 Case Study (contd) Slide The danger of many standard approaches First produce the solution, then find out what the problem is! Gane and Sarsen s method Nine-step method Stepwise refinement is used in many steps

25 Case Study (contd) Slide Data flow diagram (DFD) shows the logical data flow what happens, not how it happens Notation:

26 Step 1. Draw the DFD Slide First refinement Infinite number of possible interpretations

27 Step 1 (contd) Slide Second refinement PENDING ORDERS is scanned daily

28 Step 1 (contd) Slide Portion of third refinement

29 Step 1 (contd) Slide Final DFD Larger, but it is easily understood by the client Larger DFDs Hierarchy A box becomes a DFD at a lower level Frequent problem A process P at level L is expanded at level L+1 The correct place for sources and destinations of data for process P is level L+1 Clients cannot understand the DFD sources and destinations of data for P are missing Solution Draw the correct DFD, modify it by moving sources and destinations of data one or more levels up

30 Step 2. Decide What Parts to Computerize Slide Depends on how much client is prepared to spend Large volumes, tight controls Batch Small volumes, in-house microcomputer Online Cost/benefit analysis

31 Step 3. Refine Data Flows Slide Data items for each data flow Refine each flow stepwise Refine further Need a data dictionary

32 Step 3. Refine Data Flows (contd) Slide Sample data dictionary entries

33 Step 4. Refine Logic of Processes Slide Have process give educational discount Sally must explain discount for educational institutions 10% on up to 4 packages, 15% on 5 or more Translate into decision tree

34 Step 4 (contd) Slide Advantage of a decision tree Missing items are quickly apparent Can also use decision tables CASE tools for automatic translation

35 Step 5. Refine Data Stores Slide Define exact contents and representation (format) COBOL: specify to pic level Ada: specify digits or delta Specify where immediate access is required Data immediate access diagram (DIAD)

36 Step 6. Define Physical Resources Slide For each file, specify File name Organization (sequential, indexed, etc.) Storage medium Blocking factor Records (to field level)

37 Step 7. Determine Input/Output Specs Slide Specify input forms, input screens, printed output

38 Step 8. Perform Sizing Slide Numerical data for Step 9 to determine hardware requirements Volume of input (daily or hourly) Size, frequency, deadline of each printed report Size, number of records passing between CPU and mass storage Size of each file

39 Step 9. Hardware Requirements Slide DASD requirements Mass storage for back-up Input needs Output devices Is existing hardware adequate? If not, recommend buy/lease

40 However Slide Response times cannot be determined Number of I/O channels can only be guessed CPU size and timing can only be guessed Nevertheless, no other method provides these data for arbitrary products The method of Gane and Sarsen/De Marco/Yourdon has resulted in major improvements in the software industry

41 Entity-Relationship Diagrams Slide Semi-formal technique Widely used for specifying databases Used for object-oriented analysis

42 Entity-Relationship Diagrams (contd) Slide Many-to-many relationship More complex entity-relationship diagrams

43 Formality versus Informality Slide Informal method English (or other natural language) Semiformal methods Gane & Sarsen/DeMarco/Yourdon Entity-Relationship Diagrams Jackson/Orr/Warnier, SADT, PSL/PSA, SREM, etc. Formal methods Finite State Machines Petri Nets Z ANNA, VDM, CSP, etc.

44 Finite State Machines Slide Case study A safe has a combination lock that can be in one of three positions, labeled 1, 2, and 3. The dial can be turned left or right (L or R). Thus there are six possible dial movements, namely 1L, 1R, 2L, 2R, 3L, and 3R. The combination to the safe is 1L, 3R, 2L; any other dial movement will cause the alarm to go off

45 Finite State Machines (contd) Slide Transition table

46 Extended Finite State Machines Slide Extend FSM with global predicates Transition rules have form state and event and predicate new state

47 Elevator Problem Slide A product is to be installed to control n elevators in a building with m floors. The problem concerns the logic required to move elevators between floors according to the following constraints: 1. Each elevator has a set of m buttons, one for each floor. These illuminate when pressed and cause the elevator to visit the corresponding floor. The illumination is canceled when the corresponding floor is visited by the elevator 2. Each floor, except the first and the top floor, has two buttons, one to request an up-elevator, one to request a down-elevator. These buttons illuminate when pressed. The illumination is canceled when an elevator visits the floor, then moves in the desired direction 3. If an elevator has no requests, it remains at its current floor with its doors closed

48 Elevator Problem: FSM Slide Two sets of buttons Elevator buttons in each elevator, one for each floor Floor buttons two on each floor, one for up-elevator, one for down-elevator EB(e, f): Elevator Button in elevator e pressed to request floor f

49 Elevator Buttons (contd) Slide Two states EBON(e, f): EBOFF(e,f): Elevator Button (e,f) ON Elevator Button (e,f) OFF If an elevator button is on and the elevator arrives at floor f, then the elevator button is turned off If the elevator button is off and the elevator button is pressed, then the elevator button comes on

50 Elevator Buttons (contd) Slide Two events EBP(e,f): Elevator Button (e,f) Pressed EAF(e,f): Elevator e Arrives at Floor f Global predicate V(e,f): Elevator e is Visiting (stopped at) floor f Transition Rules EBOFF(e,f) and EBP(e,f) and not V(e,f) EBON(e,f) EBON(e,f) and EAF(e,f) EBOFF(e,f)

51 Floor Buttons Slide Floor buttons FB(d, f): Floor Button on floor f that requests elevator traveling in direction d States FBON(d, f): FBOFF(d, f): Floor Button (d, f) ON Floor Button (d, f) OFF If the floor button is on and an elevator arrives at floor f, traveling in the correct direction d, then the floor button is turned off If the floor button is off and the floor button is pressed, then the floor button comes on

52 Floor Buttons (contd) Slide Events FBP(d, f): Floor Button (d, f) Pressed EAF(1..n, f): Elevator 1 or or n Arrives at Floor f Predicate S(d, e, f): Transition rules Elevator e is visiting floor f Direction of motion is up (d = U), down (d = D), or no requests are pending (d = N) FBOFF(d, f) and FBP(d, f) and not S(d, 1..n, f) FBON(d, f) FBON(d, f) and EAF(1..n, f) and S(d, 1..n, f) FBOFF(d, f), d = U or D

53 Elevator Problem: FSM (contd) Slide State of elevator consists of component substates, including: Elevator slowing Elevator stopping Door opening Door open with timer running Door closing after a timeout

54 Elevator Problem: FSM (contd) Slide Assume elevator controller moves elevator through substates Three elevator states M(d, e, f): S(d, e, f): W(e,f): Moving in direction d (floor f is next) Stopped (d-bound) at floor f Waiting at floor f (door closed) For simplicity, three stopped states S(U, e, f), S(N, e, f), and S(D, e, f) are grouped into one larger state

55 Elevator Problem: FSM (contd) Slide 11.55

56 Elevator Problem: FSM (contd) Slide Events DC(e,f): ST(e,f): Door Closed for elevator e, floor f Sensor Triggered as elevator e nears floor f RL: Transition Rules Request Logged (button pressed) If elevator e is in state S(d, e, f) (stopped, d-bound, at floor f), and doors close, then elevator e will move up, down, or go into wait state DC(e,f) and S(U, e, f) M(U, e, f+1) DC(e,f) and S(D, e, f) M(D, e, f-1) DC(e,f) and S(N, e, f) W(e,f)

57 Power of FSM to Specify Complex Systems Slide No need for complex preconditions and postconditions Specifications take the simple form current state and event and predicate next state

58 Power of FSM to Specify Complex Systems Slide Using an FSM, a specification is Easy to write down Easy to validate Easy to convert into design Easy to generate code automatically More precise than graphical methods Almost as easy to understand Easy to maintain However Timing considerations are not handled

59 FSMs and Real-Time Systems Slide Statecharts are a real-time extension of FSMs CASE tool: Rhapsody

60 Petri Nets Slide A major difficulty with specifying real-time systems is timing Synchronization problems Race conditions Deadlock Often a consequence of poor specifications

61 Petri Nets (contd) Slide Petri nets Powerful technique for specifying systems that have potential problems with interrelations A Petri net consists of four parts: Set of places P Set of transitions T Input function I Output function O

62 Petri Nets (contd) Slide Set of places P is {p 1, p 2, p 3, p 4 } Set of transitions T is {t 1, t 2 } Input functions: I(t 1 ) = {p 2, p 4 } I(t 2 ) = {p 2 } Output functions: O(t 1 ) = {p 1 } O(t 2 ) = {p 3, p 3 }

63 Petri Nets (contd) Slide More formally, a Petri net is a 4-tuple C = (P, T, I, O) P = {p 1, p 2,,p n } is a finite set of places, n 0 T = {t 1, t 2,,t m } is a finite set of transitions, m 0, with P and T disjoint I : T P is input function, mapping from transitions to bags of places O : T P is output function, mapping from transitions to bags of places (A bag is a generalization of sets which allows for multiple instances of element in bag, as in example above) Marking of a Petri net is an assignment of tokens to that Petri net

64 Petri Nets (contd) Slide Four tokens, one in p 1, two in p 2, none in p 3, and one in p 4 Represented by vector (1,2,0,1) Transition is enabled if each of its input places has as many tokens in it as there arcs from the place to that transition

65 Petri Nets (contd) Slide Transition t 1 is enabled (ready to fire) If t 1 fires, one token is removed from p 2 and one from p 4, and one new token is placed in p 1 Important: Number of tokens is not conserved Transition t 2 is also enabled

66 Petri Nets (contd) Slide Petri nets are indeterminate Suppose t 1 fires Resulting marking is (2,1,0,0)

67 Petri Nets (contd) Slide Now only t 2 is enabled It fires Marking is now (2,0,2,0)

68 Petri Nets (contd) Slide More formally, a marking M of a Petri net C = (P, T, I, O) is a function from the set of places P to the non-negative integers N M : P N A marked Petri net is then a 5-tuple (P, T, I, O, M )

69 Petri Nets (contd) Slide Inhibitor arcs An inhibitor arc is marked by a small circle, not an arrowhead Transition t 1 is enabled In general, a transition is enabled if there is at least one token on each (normal) input arc, and no tokens on any inhibitor input arcs

70 Elevator Problem: Petri Net Slide A product is to be installed to control n elevators in a building with m floors Each floor represented by place F f, 1 f m Elevator represented by token Token in F f denotes that an elevator is at floor F f

71 Elevator Problem: Petri Net (contd) Slide First constraint 1. Each elevator has a set of m buttons, one for each floor. These illuminate when pressed and cause the elevator to visit the corresponding floor. The illumination is canceled when the corresponding floor is visited by an elevator Elevator button for floor f is represented by place EB f, 1 f m A token in EB f denotes that the elevator button for floor f is illuminated

72 Elevator Problem: Petri Net (contd) Slide A button must be illuminated the first time button is pressed and subsequent button presses must be ignored If button EB f is not illuminated, no token in place and transition EB f pressed is enabled Transition fires, a new token is placed in EB f Now, no matter how many times the button is pressed, transition EB f pressed cannot be enabled

73 Elevator Problem: Petri Net (contd) Slide When elevator reaches floor g, token is in place F g, transition Elevator in action is enabled, and then fires Tokens in EB f and F g removed This turns off light in button EB f New token appears in F f This brings elevator from floor g to floor f

74 Elevator Problem: Petri Net (contd) Slide Motion from floor g to floor f cannot take place instantaneously Timed Petri nets

75 Elevator Problem: Petri Net (contd) Slide Second constraint 2. Each floor, except the first and the top floor, has two buttons, one to request an up-elevator, one to request a down-elevator. These buttons illuminate when pressed. The illumination is canceled when the elevator visits the floor, and then moves in desired direction Floor buttons represented by places FB u f and FB d f

76 Elevator Problem: Petri Net (contd) Slide 11.76

77 Elevator Problem: Petri Net (contd) Slide The situation when an elevator reaches floor f from floor g with one or both buttons illuminated If both buttons are illuminated, only one is turned off (A more complex model is needed to ensure that the correct light is turned off)

78 Elevator Problem: Petri Net (contd) Slide Third constraint C 3. If an elevator has no requests, it remains at its current floor with its doors closed If there are no requests, no Elevator in action transition is enabled

79 Petri Nets (contd) Slide Petri nets can also be used for design Petri nets possess the expressive power necessary for specifying synchronization aspects of real-time systems

80 Z ( zed ) Slide Formal specification language High squiggle factor Z specification consists of four sections: 1. Given sets, data types, and constants 2. State definition 3. Initial state 4. Operations

81 Elevator Problem: Z Slide Given sets Sets that need not be defined in detail Names appear in brackets Here we need the set of all buttons The specification begins [Button]

82 Elevator Problem: Z (contd) Slide State Definition Z specification consists of a number of schemata A schema consists of group of variable declarations, plus A list of predicates that constrain values of variables

83 Elevator Problem: Z (contd) Slide Four subsets of Button The floor buttons The elevator buttons buttons (the set of all buttons in the elevator problem) pushed (the set of buttons that have been pushed)

84 Elevator Problem: Z (contd) Slide Schema Button_State

85 Elevator Problem: Z (contd) Slide Initial State State when the system is first turned on Button_Init [Button_State' pushed' = ] (In the above equation, the should be a = with a ^ on top. Unfortunately, this is hard to type in PowerPoint!)

86 Elevator Problem: Z (contd) Slide Operations A button pushed for the first time is turned on, and added to set pushed Without the third precondition, the results would be unspecified

87 Elevator Problem: Z (contd) Slide If an elevator arrives at a floor, the corresponding button(s) must be turned off The solution does not distinguish between up and down floor buttons

88 Analysis of Z Slide Most widely used formal specification language CICS (part) Oscilloscope CASE tool Large-scale projects (esp. Europe)

89 Analysis of Z (contd) Slide Difficulties Symbols Mathematics Reasons for great success Easy to find faults in Z specification Specifier must be extremely precise Can prove correctness Only high-school math needed to read Z Decreases development time A translation is clearer than informal specification

90 Other Formal Methods Slide Anna Ada Gist, Refine Knowledge-based VDM Denotational semantics CSP Sequence of events Executable specifications High squiggle factor

91 Comparison of Specification Techniques Slide We must always choose the appropriate specification method Formal methods Powerful Difficult to learn and use Informal methods Little power Easy to learn and use Trade-off Ease of use versus power

92 Comparison of Specification Techniques (contd) Slide 11.92

93 Newer Methods Slide Many are untested in practice Risks Training costs Adjustment from classroom to actual project CASE tools may not work properly However, possible gains may be huge

94 Which Specification Method to Use? Slide Depends on the Project Development team Management team Myriad other factors It is unwise to ignore the latest developments

95 Testing during the Specification Phase Slide Specification inspection Checklist Doolan [1992] 2 million lines of FORTRAN 1 hour of inspecting saved 30 hours of execution-based testing

96 CASE Tools for the Specification Phase Slide Graphical tool Data dictionary Integrate them Specification method without CASE tools fails SREM

97 CASE Tools for the Specification Phase Slide Typical tools Analyst/Designer Software through Pictures System Architect

98 Metrics for the Specification Phase Slide Five fundamental metrics Quality Fault statistics Number, type of each fault Rate of detection Metrics for predicting size of target product Total number of items in data dictionary Number of items of each type Processes vs. modules

99 Air Gourmet Case Study: Structured Sys. Anal. Slide Data flow diagram reflects the centrality of SPECIAL MEAL DATA See Appendix E for the remainder of the structured systems analysis

100 Air Gourmet Case Study: SPMP Slide The Software Project Management Plan is given in Appendix F

101 Challenges of the Specification Phase Slide A specification document must be Informal enough for the client; and Formal enough for the development team The specification phase ( what ) should not cross the boundary into the design phase ( how ) Do not try to assign modules to process boxes of DFDs until the design phase

Slide Hard real-time constraints must be satisfied Copyright 2011 by The McGraw-Hill Companies, Inc. All rights reserved.

Slide Hard real-time constraints must be satisfied Copyright 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Slide 12.1 CHAPTER 12 Slide 12.2 Object-Oriented and Classical Software Engineering CLASSICAL ANALYSIS Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach Overview Slide 12.3 Overview (contd) Slide

More information

Requirements Engineering process

Requirements Engineering process Requirements Engineering process Used to discover, analyze, validate and manage requirements Varies depending on the application domain, the people involved and the organization developing the requirements

More information

Administrivia. Wednesday: Requirements and Specification. CS169 Lecture 4. We assign teams and you start on Monday. Determining Stakeholders and Needs

Administrivia. Wednesday: Requirements and Specification. CS169 Lecture 4. We assign teams and you start on Monday. Determining Stakeholders and Needs Administrivia Requirements and Specification CS169 Lecture 4 Wednesday: Groups and one-sentence idea(s) due at class One per group If you have a small group, still submit so that you will be kept together.

More information

Object-Oriented and Classical Software Engineering

Object-Oriented and Classical Software Engineering Slide 6.1 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach srs@vuse.vanderbilt.edu CHAPTER 6 Slide 6.2 TESTING 1 Overview Slide 6.3 Quality issues

More information

Object-Oriented and Classical Software Engineering

Object-Oriented and Classical Software Engineering Slide 6.1 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach srs@vuse.vanderbilt.edu CHAPTER 6 Slide 6.2 TESTING Overview Slide 6.3 Quality issues

More information

TESTING. Overview Slide 6.2. Testing (contd) Slide 6.4. Testing Slide 6.3. Quality issues Non-execution-based testing

TESTING. Overview Slide 6.2. Testing (contd) Slide 6.4. Testing Slide 6.3. Quality issues Non-execution-based testing Slide 6.1 Overview Slide 6.2 Quality issues Non-execution-based testing TESTING Execution-based testing What should be tested? Testing versus correctness proofs Who should perform execution-based testing?

More information

Object-Oriented and Classical Software Engineering DESIGN 11/12/2017. CET/CSC490 Software Engineering Design CHAPTER 14. Stephen R. Schach.

Object-Oriented and Classical Software Engineering DESIGN 11/12/2017. CET/CSC490 Software Engineering Design CHAPTER 14. Stephen R. Schach. Slide 14.1 CHAPTER 14 Slide 14.2 Object-Oriented and Classical Software Engineering DESIGN Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach Overview Slide 14.3 Overview (contd) Slide 14.4 and abstraction

More information

Object-Oriented and Classical Software Engineering

Object-Oriented and Classical Software Engineering Slide 16.1 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach srs@vuse.vanderbilt.edu CHAPTER 16 Slide 16.2 MORE ON UML 1 Chapter Overview Slide

More information

CSC 330 Object Oriented Software Design. Software Design Phase

CSC 330 Object Oriented Software Design. Software Design Phase CSC 330 Object Oriented Software Design Software Design Phase 1 Overview Overview Design and abstraction Action-oriented design Data flow analysis Transaction analysis Data-oriented design Object-oriented

More information

We move from a general information system to a Computer Based Information System

We move from a general information system to a Computer Based Information System Introduction to Information Systems: In this section of the course we start to think of the computer as just being a component in a system which may contain one or many computers linked together. An Information

More information

Correctness of specifications. Correctness. Correctness of specifications (2) Example of a Correctness Proof. Testing versus Correctness Proofs

Correctness of specifications. Correctness. Correctness of specifications (2) Example of a Correctness Proof. Testing versus Correctness Proofs CS 390 Lecture 17 Correctness A product is correct if it satisfies its output specifications when operated under permitted conditions Correctness of specifications Incorrect specification for a sort (Figure

More information

CHAPTER 6. Slide 6.1 TESTING

CHAPTER 6. Slide 6.1 TESTING CHAPTER 6 Slide 6.1 TESTING Overview Slide 6.2 Quality issues Nonexecution-based testing Execution-based testing What should be tested? Testing versus correctness proofs Who should perform execution-based

More information

Introduction to Formal Methods

Introduction to Formal Methods 2008 Spring Software Special Development 1 Introduction to Formal Methods Part I : Formal Specification i JUNBEOM YOO jbyoo@knokuk.ac.kr Reference AS Specifier s Introduction to Formal lmethods Jeannette

More information

Object-Oriented and Classical Software Engineering

Object-Oriented and Classical Software Engineering Slide 5.1 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach srs@vuse.vanderbilt.edu CHAPTER 5 Slide 5.2 THE TOOLS OF THE TRADE 1 Overview Slide

More information

Introduction to Software Engineering p. 1 The Scope of Software Engineering p. 3 Historical Aspects p. 4 Economic Aspects p. 7 Maintenance Aspects p.

Introduction to Software Engineering p. 1 The Scope of Software Engineering p. 3 Historical Aspects p. 4 Economic Aspects p. 7 Maintenance Aspects p. Preface p. xv Introduction to Software Engineering p. 1 The Scope of Software Engineering p. 3 Historical Aspects p. 4 Economic Aspects p. 7 Maintenance Aspects p. 8 Specification and Design Aspects p.

More information

SOFTWARE ENGINEERING. Lecture 6. By: Latifa ALrashed. Networks and Communication Department

SOFTWARE ENGINEERING. Lecture 6. By: Latifa ALrashed. Networks and Communication Department 1 SOFTWARE ENGINEERING Networks and Communication Department Lecture 6 By: Latifa ALrashed Outline q q q q q q q q Define the concept of the software life cycle in software engineering. Identify the system

More information

WEEK 5 - APPLICATION OF PETRI NETS. 4.4 Producers-consumers problem with priority

WEEK 5 - APPLICATION OF PETRI NETS. 4.4 Producers-consumers problem with priority 4.4 Producers-consumers problem with priority The net shown in Fig. 27 represents a producers-consumers system with priority, i.e., consumer A has priority over consumer B in the sense that A can consume

More information

System Analysis & design

System Analysis & design Assiut University Faculty of Computers and Information System Analysis & design Year 2 Academic Year 2014/ 2015 Term (2) 5 A PICTURE IS WORTH A 1,000 WORDS A process model is a graphical way of representing

More information

Object-Oriented Analysis Phase

Object-Oriented Analysis Phase Object-Oriented Analysis Phase Specification phase for Object-Oriented paradigm Semiformal Technique Natural part of OOA is the graphical notation associated with the technique Learning to use OOA has

More information

Object-Oriented Analysis Phase

Object-Oriented Analysis Phase Object-Oriented Analysis Phase Specification phase for Object-Oriented paradigm Semiformal Technique Natural part of OOA is the graphical notation associated with the technique Learning to use OOA has

More information

CHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL

CHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL CHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL 5.1 INTRODUCTION The survey presented in Chapter 1 has shown that Model based testing approach for automatic generation of test

More information

EE414 Embedded Systems Ch 9. State Machines

EE414 Embedded Systems Ch 9. State Machines EE414 Embedded Systems Ch 9. State Machines Byung Kook Kim School of Electrical Engineering Korea Advanced Institute of Science and Technology Outline State Machine Model 9.1 Introduction 9.2 Models vs.

More information

Programming Languages Third Edition

Programming Languages Third Edition Programming Languages Third Edition Chapter 12 Formal Semantics Objectives Become familiar with a sample small language for the purpose of semantic specification Understand operational semantics Understand

More information

Principles of Program Analysis. Lecture 1 Harry Xu Spring 2013

Principles of Program Analysis. Lecture 1 Harry Xu Spring 2013 Principles of Program Analysis Lecture 1 Harry Xu Spring 2013 An Imperfect World Software has bugs The northeast blackout of 2003, affected 10 million people in Ontario and 45 million in eight U.S. states

More information

By: Chaitanya Settaluri Devendra Kalia

By: Chaitanya Settaluri Devendra Kalia By: Chaitanya Settaluri Devendra Kalia What is an embedded system? An embedded system Uses a controller to perform some function Is not perceived as a computer Software is used for features and flexibility

More information

Recall from previous lecture

Recall from previous lecture Recall from previous lecture Understanding customer requirements is critical to success of any software development effort Major process tasks: Requirements elicitation/analysis Drafting a requirements

More information

Object-Oriented and Classical Software Engineering

Object-Oriented and Classical Software Engineering Object-Oriented and Classical Software Engineering Slide 1.1 Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach srs@vuse.vanderbilt.edu CHAPTER 1 Slide 1.2 THE SCOPE OF SOFTWARE ENGINEERING 1 Outline

More information

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee Chapter 4 Capturing the Requirements Shari L. Pfleeger Joanne M. Atlee 4th Edition It is important to have standard notations for modeling, documenting, and communicating decisions Modeling helps us to

More information

Object-Oriented and Classical Software Engineering THE TOOLS OF THE TRADE 9/22/2017. CHAPTER 5 Slide 5.2. Stephen R. Schach. Overview Slide 5.

Object-Oriented and Classical Software Engineering THE TOOLS OF THE TRADE 9/22/2017. CHAPTER 5 Slide 5.2. Stephen R. Schach. Overview Slide 5. Slide 5.1 CHAPTER 5 Slide 5.2 Object-Oriented and Classical Software Engineering THE TOOLS OF THE TRADE Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach Overview Slide 5.3 Overview (contd) Slide

More information

Lecture 6B Hierarchical/Concurrent State Machine Models (HCFSM)

Lecture 6B Hierarchical/Concurrent State Machine Models (HCFSM) ECE 474A/57A Computer-Aided Logic Design Outline Models vs. Languages Lecture 6B Hierarchical/Concurrent State Machine Models (HCFSM) State Machine Model FSM/FSMD HCFSM and Statecharts Language Program-State

More information

CITS5501 Software Testing and Quality Assurance Formal methods

CITS5501 Software Testing and Quality Assurance Formal methods CITS5501 Software Testing and Quality Assurance Formal methods Unit coordinator: Arran Stewart May 1, 2018 1 / 49 Sources Pressman, R., Software Engineering: A Practitioner s Approach, McGraw-Hill, 2005

More information

CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae

CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae CS350 Lecture 2 Requirements Engineering Doo-Hwan Bae bae@se.kaist.ac.kr Contents Overview of Requirements Engineering OO Analysis: Domain modeling, Use-case, sequence, class Structured Analysis: Dataflow

More information

Introduction to Software Specifications and Data Flow Diagrams. Neelam Gupta The University of Arizona

Introduction to Software Specifications and Data Flow Diagrams. Neelam Gupta The University of Arizona Introduction to Software Specifications and Data Flow Diagrams Neelam Gupta The University of Arizona Specification A broad term that means definition Used at different stages of software development for

More information

Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code (contd)

Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code (contd) Feasibility of Testing to Code (contd) Feasibility of Testing to Code (contd) An incorrect code fragment for determining if three integers are equal, together with two test cases Flowchart has over 10

More information

Consider a description of arithmetic. It includes two equations that define the structural types of digit and operator:

Consider a description of arithmetic. It includes two equations that define the structural types of digit and operator: Syntax A programming language consists of syntax, semantics, and pragmatics. We formalize syntax first, because only syntactically correct programs have semantics. A syntax definition of a language lists

More information

Specifications and Modeling

Specifications and Modeling 12 Specifications and Modeling Peter Marwedel TU Dortmund, Informatik 12 Springer, 2010 2012 年 10 月 17 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. Hypothetical design

More information

Interaction Testing. Chapter 15

Interaction Testing. Chapter 15 Interaction Testing Chapter 15 Interaction faults and failures Subtle Difficult to detect with testing Usually seen after systems have been delivered In low probability threads Occur after a long time

More information

Methods for requirements engineering

Methods for requirements engineering Methods for requirements engineering Objectives To explain the role of methods and techniques in requirements engineering To introduce data-flow modelling To introduce semantic data modelling To introduce

More information

Specifications Part 1

Specifications Part 1 pm3 12 Specifications Part 1 Embedded System Design Kluwer Academic Publisher by Peter Marwedel TU Dortmund 2008/11/15 ine Marwedel, 2003 Graphics: Alexandra Nolte, Ges Introduction 12, 2008-2 - 1 Specification

More information

Bruce Silver Associates Independent Expertise in BPM

Bruce Silver Associates Independent Expertise in BPM Bruce Silver Associates Independent Expertise in BPM BPMN and the Business Process Expert, Part 4: Mastering BPMN Events Summary: The ability to describe event-triggered behavior directly in the diagram

More information

Q Body of techniques supported by. R precise mathematics. R powerful analysis tools. Q Rigorous, effective mechanisms for system.

Q Body of techniques supported by. R precise mathematics. R powerful analysis tools. Q Rigorous, effective mechanisms for system. Introduction to Formal Methods 1 Introduction to Formal Methods 2 Formal Specification Requirements specification R notational statement of system services Software specification R formal abstract depiction

More information

FSMs & message passing: SDL

FSMs & message passing: SDL 12 FSMs & message passing: SDL Peter Marwedel TU Dortmund, Informatik 12 Springer, 2010 2012 年 10 月 30 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. Models of computation

More information

Object-Oriented and Classical Software Engineering

Object-Oriented and Classical Software Engineering Slide 1.1 CHAPTER 1 Slide 1.2 Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill, 2011 THE SCOPE OF SOFTWARE ENGINEERING Stephen R. Schach Outline Slide 1.3 Outline (contd)

More information

Modeling Hybrid Systems with Petri Nets

Modeling Hybrid Systems with Petri Nets Modeling Hybrid Systems with Petri Nets Debjyoti Bera, Kees van Hee and Henk Nijmeijer Abstract The behavior of a hybrid system is a mixture of continuous behavior and discrete event behavior. The Simulink/Stateflow

More information

SDL. Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund, Informatik 年 10 月 18 日. technische universität dortmund

SDL. Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund, Informatik 年 10 月 18 日. technische universität dortmund 12 SDL Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund, Informatik 12 2017 年 10 月 18 日 Springer, 2010 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. Models

More information

SE351a: Software Project & Process Management. 11 Oct., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa

SE351a: Software Project & Process Management. 11 Oct., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa SE351a: Software Project & Process Management W4.1: Requirements Engineering 11 Oct., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa SE351 Roadmap Introduction to Software Project Management Project Management

More information

Thirty one Problems in the Semantics of UML 1.3 Dynamics

Thirty one Problems in the Semantics of UML 1.3 Dynamics Thirty one Problems in the Semantics of UML 1.3 Dynamics G. Reggio R.J. Wieringa September 14, 1999 1 Introduction In this discussion paper we list a number of problems we found with the current dynamic

More information

Module 4: Stochastic Activity Networks

Module 4: Stochastic Activity Networks Module 4: Stochastic Activity Networks Module 4, Slide 1 Stochastic Petri nets Session Outline Places, tokens, input / output arcs, transitions Readers / Writers example Stochastic activity networks Input

More information

Students interpret the meaning of the point of intersection of two graphs and use analytic tools to find its coordinates.

Students interpret the meaning of the point of intersection of two graphs and use analytic tools to find its coordinates. Student Outcomes Students interpret the meaning of the point of intersection of two graphs and use analytic tools to find its coordinates. Classwork Example 1 (7 minutes) Have students read the situation

More information

MONIKA HEINER.

MONIKA HEINER. LESSON 1 testing, intro 1 / 25 SOFTWARE TESTING - STATE OF THE ART, METHODS, AND LIMITATIONS MONIKA HEINER monika.heiner@b-tu.de http://www.informatik.tu-cottbus.de PRELIMINARIES testing, intro 2 / 25

More information

Vragen. Intra-modular complexity measures. The uses relation. System structure: inter-module complexity

Vragen. Intra-modular complexity measures. The uses relation. System structure: inter-module complexity Vragen Intra-modular complexity measures Wat wordt bedoeld met het ontwerpsprincipe: Anticipate obsolence? Wat is het voordeel van strong cohesion en weak coupling? Wat is het gevolg van hoge complexiteit

More information

On the Structure and Sizes of Infinitely Large Sets of Numbers

On the Structure and Sizes of Infinitely Large Sets of Numbers 1 On the Structure and Sizes of Infinitely Large Sets of Numbers Introduction: This paper introduces The Axiom for the existence of finite integers. The Axiom shows that sets of integers having only finite

More information

Chapter : Analysis Modeling

Chapter : Analysis Modeling Chapter : Analysis Modeling Requirements Analysis Requirements analysis Specifies software s operational characteristics Indicates software's interface with other system elements Establishes constraints

More information

Structured Analysis and Structured Design

Structured Analysis and Structured Design Structured Analysis and Structured Design - Introduction to SASD - Structured Analysis - Structured Design Ver. 1.5 Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr References Modern

More information

Reasoning About Imperative Programs. COS 441 Slides 10

Reasoning About Imperative Programs. COS 441 Slides 10 Reasoning About Imperative Programs COS 441 Slides 10 The last few weeks Agenda reasoning about functional programming It s very simple and very uniform: substitution of equal expressions for equal expressions

More information

Petri Nets. Robert A. McGuigan, Department of Mathematics, Westfield State

Petri Nets. Robert A. McGuigan, Department of Mathematics, Westfield State 24 Petri Nets Author: College. Robert A. McGuigan, Department of Mathematics, Westfield State Prerequisites: The prerequisites for this chapter are graphs and digraphs. See Sections 9.1, 9.2, and 10.1

More information

Petri Nets ee249 Fall 2000

Petri Nets ee249 Fall 2000 Petri Nets ee249 Fall 2000 Marco Sgroi Most slides borrowed from Luciano Lavagno s lecture ee249 (1998) 1 Models Of Computation for reactive systems Main MOCs: Communicating Finite State Machines Dataflow

More information

Statecharts 1.- INTRODUCTION 1.- INTRODUCTION

Statecharts 1.- INTRODUCTION 1.- INTRODUCTION Statecharts INDEX 1.- Introduction 2.- When to use Statecharts 3.- Basic components 4.- Connectors and compound transitions Mª Ángeles Martínez Ibáñez University of Bergen Selected topics in programming

More information

STX & ios Devices. Setting up and using STX iphone, ipad, ipod touch

STX & ios Devices. Setting up and using STX iphone, ipad, ipod touch STX & ios Devices Setting up and using STX iphone, ipad, ipod touch STX for ios provides more flexibility and efficiency for you and your staff. With all the most often used features of STX desktop built-in,

More information

Joint Entity Resolution

Joint Entity Resolution Joint Entity Resolution Steven Euijong Whang, Hector Garcia-Molina Computer Science Department, Stanford University 353 Serra Mall, Stanford, CA 94305, USA {swhang, hector}@cs.stanford.edu No Institute

More information

(Murlidhar Group of Institutions,Bhavnagar Road, Rajkot) by:-assit. Prof. Vijay Vora (SOOADM) MCA-III

(Murlidhar Group of Institutions,Bhavnagar Road, Rajkot) by:-assit. Prof. Vijay Vora (SOOADM) MCA-III Analysis Modeling What is Analysis Modeling? Analysis modeling uses a combination of text and diagrammatic forms to depict(represent) requirements for data, function, and behavior These text and diagrammatic

More information

ASSIGNMENT- I Topic: Functional Modeling, System Design, Object Design. Submitted by, Roll Numbers:-49-70

ASSIGNMENT- I Topic: Functional Modeling, System Design, Object Design. Submitted by, Roll Numbers:-49-70 ASSIGNMENT- I Topic: Functional Modeling, System Design, Object Design Submitted by, Roll Numbers:-49-70 Functional Models The functional model specifies the results of a computation without specifying

More information

Behavioral Requirements

Behavioral Requirements Functional Requirements: Behavioral Requirements Overview Decision-oriented Behavioral Models State-oriented Behavioral Models Finite State Machines (Protocol Validation & Verification) Statecharts SCR

More information

Object-Oriented and Classical Software Engineering

Object-Oriented and Classical Software Engineering Slide 8.1 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach srs@vuse.vanderbilt.edu CHAPTER 8 Slide 8.2 REUSABILITY AND PORTABILITY Overview Slide

More information

1. The narratives, diagrams, charts, and other written materials that explain how a system works are collectively called

1. The narratives, diagrams, charts, and other written materials that explain how a system works are collectively called CH 3 MULTIPLE CHOICE 1. The narratives, diagrams, charts, and other written materials that explain how a system works are collectively called a) documentation. b) data flows. c) flowcharts. d) schema.

More information

Saturday Morning Math Group Austin Math Circle Austin Area Problem Solving Challenge

Saturday Morning Math Group Austin Math Circle Austin Area Problem Solving Challenge Saturday Morning Math Group Austin Math Circle Austin Area Problem Solving Challenge Rules 1. The Austin Area Problem Solving Challenge (AAPSC) is a competition for teams of up to five students each. Any

More information

1. true / false By a compiler we mean a program that translates to code that will run natively on some machine.

1. true / false By a compiler we mean a program that translates to code that will run natively on some machine. 1. true / false By a compiler we mean a program that translates to code that will run natively on some machine. 2. true / false ML can be compiled. 3. true / false FORTRAN can reasonably be considered

More information

Requirements Engineering. Contents. Functional requirements. What is a requirement?

Requirements Engineering. Contents. Functional requirements. What is a requirement? Contents Ø Introduction 4 Ø Engineering Ø Project Management Ø Software Design Ø Detailed Design and Coding Ø Quality Assurance Engineering Ø What is a Requirement? Ø RE Activities Ø Documentation Ø RE

More information

Business Services Panel Discussion Q&A s Finance Campus Briefings 2017

Business Services Panel Discussion Q&A s Finance Campus Briefings 2017 Business Services Panel Discussion Q&A s Finance Campus Briefings 2017 GriffithPAY Questions My clients want to use one email address for multiple user accounts in GriffithPay, but this doesn t work. Why

More information

Conceptual Data Models for Database Design

Conceptual Data Models for Database Design Conceptual Data Models for Database Design Entity Relationship (ER) Model The most popular high-level conceptual data model is the ER model. It is frequently used for the conceptual design of database

More information

Segregating Data Within Databases for Performance Prepared by Bill Hulsizer

Segregating Data Within Databases for Performance Prepared by Bill Hulsizer Segregating Data Within Databases for Performance Prepared by Bill Hulsizer When designing databases, segregating data within tables is usually important and sometimes very important. The higher the volume

More information

Requirements Elicitation

Requirements Elicitation Requirements Elicitation Introduction into Software Engineering Lecture 4 25. April 2007 Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen 1 Outline Motivation: Software Lifecycle

More information

Development of an interface that allows MDX based data warehouse queries by less experienced users

Development of an interface that allows MDX based data warehouse queries by less experienced users Development of an interface that allows MDX based data warehouse queries by less experienced users Mariana Duprat André Monat Escola Superior de Desenho Industrial 400 Introduction Data analysis is a fundamental

More information

Monday 23 January 2012 Morning

Monday 23 January 2012 Morning Monday 23 January 2012 Morning AS GCE MATHEMATICS 4736 Decision Mathematics 1 QUESTION PAPER *4733020112* Candidates answer on the Printed Answer Book. OCR supplied materials: Printed Answer Book 4736

More information

1.1 - Introduction to Sets

1.1 - Introduction to Sets 1.1 - Introduction to Sets Math 166-502 Blake Boudreaux Department of Mathematics Texas A&M University January 18, 2018 Blake Boudreaux (Texas A&M University) 1.1 - Introduction to Sets January 18, 2018

More information

Interaction Testing! Chapter 15!!

Interaction Testing! Chapter 15!! Interaction Testing Chapter 15 Interaction faults and failures Subtle Difficult to detect with testing Usually seen after systems have been delivered In low probability threads Occur after a long time

More information

Object-Oriented and Classical Software Engineering

Object-Oriented and Classical Software Engineering Slide 1.1 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu CHAPTER 1 Slide 1.2 SCOPE OF SOFTWARE ENGINEERING Outline Slide

More information

Outline. Petri nets. Introduction Examples Properties Analysis techniques. 1 EE249Fall04

Outline. Petri nets. Introduction Examples Properties Analysis techniques. 1 EE249Fall04 Outline Petri nets Introduction Examples Properties Analysis techniques 1 Petri Nets (PNs) Model introduced by C.A. Petri in 1962 Ph.D. Thesis: Communication with Automata Applications: distributed computing,

More information

Measuring algorithm efficiency

Measuring algorithm efficiency CMPT 225 Measuring algorithm efficiency Timing Counting Cost functions Cases Best case Average case Worst case Searching Sorting O Notation O notation's mathematical basis O notation classes and notations

More information

Coding and Unit Testing! The Coding Phase! Coding vs. Code! Coding! Overall Coding Language Trends!

Coding and Unit Testing! The Coding Phase! Coding vs. Code! Coding! Overall Coding Language Trends! Requirements Spec. Design Coding and Unit Testing Characteristics of System to be built must match required characteristics (high level) Architecture consistent views Software Engineering Computer Science

More information

Petri Nets: Properties, Applications, and Variations. Matthew O'Brien University of Pittsburgh

Petri Nets: Properties, Applications, and Variations. Matthew O'Brien University of Pittsburgh Petri Nets: Properties, Applications, and Variations Matthew O'Brien University of Pittsburgh Introduction A Petri Net is a graphical and mathematical modeling tool used to describe and study information

More information

CS 4400 Introduction to Database Systems 2002 Spring Term Project (Section A)

CS 4400 Introduction to Database Systems 2002 Spring Term Project (Section A) CS 4400 Introduction to Database Systems 2002 Spring Term Project (Section A) Last updated 1/15/2002, 9:30pm In this term project, you are asked to design a small database system, create and populate this

More information

Chapter 3. Describing Syntax and Semantics

Chapter 3. Describing Syntax and Semantics Chapter 3 Describing Syntax and Semantics Chapter 3 Topics Introduction The General Problem of Describing Syntax Formal Methods of Describing Syntax Attribute Grammars Describing the Meanings of Programs:

More information

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD Slides by: Shree Jaswal What is UML? 2 It is a standard graphical language for modeling object oriented software. It was developed in mid 90 s by collaborative

More information

Petri Nets. Petri Nets. Petri Net Example. Systems are specified as a directed bipartite graph. The two kinds of nodes in the graph:

Petri Nets. Petri Nets. Petri Net Example. Systems are specified as a directed bipartite graph. The two kinds of nodes in the graph: System Design&Methodologies Fö - 1 System Design&Methodologies Fö - 2 Petri Nets 1. Basic Petri Net Model 2. Properties and Analysis of Petri Nets 3. Extended Petri Net Models Petri Nets Systems are specified

More information

Module 3. Requirements Analysis and Specification. Version 2 CSE IIT, Kharagpur

Module 3. Requirements Analysis and Specification. Version 2 CSE IIT, Kharagpur Module 3 Requirements Analysis and Specification Lesson 6 Formal Requirements Specification Specific Instructional Objectives At the end of this lesson the student will be able to: Explain what a formal

More information

TERMINOLOGY MANAGEMENT DURING TRANSLATION PROJECTS: PROFESSIONAL TESTIMONY

TERMINOLOGY MANAGEMENT DURING TRANSLATION PROJECTS: PROFESSIONAL TESTIMONY LINGUACULTURE, 1, 2010 TERMINOLOGY MANAGEMENT DURING TRANSLATION PROJECTS: PROFESSIONAL TESTIMONY Nancy Matis Abstract This article briefly presents an overview of the author's experience regarding the

More information

SOFTWARE ENGINEERING DESIGN I

SOFTWARE ENGINEERING DESIGN I 2 SOFTWARE ENGINEERING DESIGN I 3. Schemas and Theories The aim of this course is to learn how to write formal specifications of computer systems, using classical logic. The key descriptional technique

More information

Software Engineering Prof.N.L.Sarda IIT Bombay. Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II)

Software Engineering Prof.N.L.Sarda IIT Bombay. Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II) Software Engineering Prof.N.L.Sarda IIT Bombay Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II) We will continue our discussion on process modeling. In the previous lecture

More information

06. Analysis Modeling

06. Analysis Modeling 06. Analysis Modeling Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 Overview of Analysis Modeling 1 Requirement Analysis 2 Analysis Modeling Approaches

More information

EXAMINATIONS 2011 END-OF-YEAR. SWEN 102 Introduction to Software Modelling. Question Topic Marks. 1. Use Case Descriptions 30

EXAMINATIONS 2011 END-OF-YEAR. SWEN 102 Introduction to Software Modelling. Question Topic Marks. 1. Use Case Descriptions 30 T E W H A R E W Ā N A N G A O T E Ū P O K O O T E I K A A M Ā U I VUW V I C T O R I A UNIVERSITY OF WELLINGTON EXAMINATIONS 2011 END-OF-YEAR SWEN 102 Introduction to Software Modelling Time Allowed: 3

More information

Directed Graph for Finite-State Machine

Directed Graph for Finite-State Machine Directed Graph for Finite-State Machine Tito D. Kesumo Siregar (13511018) 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,

More information

Quality Assurance in Software Development

Quality Assurance in Software Development Quality Assurance in Software Development Qualitätssicherung in der Softwareentwicklung A.o.Univ.-Prof. Dipl.-Ing. Dr. Bernhard Aichernig Graz University of Technology Austria Summer Term 2017 1 / 47 Agenda

More information

CHAPTER 19: Building a Preliminary Behavioral Model

CHAPTER 19: Building a Preliminary Behavioral Model 1 z 7 CHAPTER 19: Building a Preliminary Behavioral Model Things are always at their best in their beginning. Blaise Pascal Lettres Provinciales, 1656-1657, no. 4 IN THIS CHAPTER, YOU WILL LEARN: Why a

More information

6.001 Notes: Section 17.5

6.001 Notes: Section 17.5 6.001 Notes: Section 17.5 Slide 17.5.1 Now, let's look at one example in which changing the evaluation model allows us to explore a very different kind of computational problem. Our goal is to show how

More information

Modelling as a Communication Tool: Introduction to Process Modelling. Modelling. Simplification in modelling. Representation in modelling

Modelling as a Communication Tool: Introduction to Process Modelling. Modelling. Simplification in modelling. Representation in modelling CSE104 - Information Systems 1 Modelling as a Communication Tool: Introduction to Process Modelling The requirements specification document Must be communicated to key stakeholders Should contain: Functions

More information

Real Numbers finite subset real numbers floating point numbers Scientific Notation fixed point numbers

Real Numbers finite subset real numbers floating point numbers Scientific Notation fixed point numbers Real Numbers We have been studying integer arithmetic up to this point. We have discovered that a standard computer can represent a finite subset of the infinite set of integers. The range is determined

More information

IC3-2. IC3 Key Applications Exam Exam.

IC3-2. IC3 Key Applications Exam Exam. Certiport IC3-2 IC3 Key Applications Exam Exam TYPE: DEMO http://www.examskey.com/ic3-2.html Examskey Certiport IC3-2 exam demo product is here for you to test the quality of the product. This Certiport

More information

FSA data review stock take. Dean Buckner Financial Services Authority March 2012

FSA data review stock take. Dean Buckner Financial Services Authority March 2012 FSA data review stock take Dean Buckner Financial Services Authority March 2012 Agenda FSA data review process Common themes Next steps FSA data review In three acts Act 1 Review of approx. 25 firms Objective:

More information

EES Program Overview

EES Program Overview EES Program Overview EES (pronounced 'ease') is an acronym for Engineering Equation Solver. The basic function provided by EES is the numerical solution of a set of algebraic equations. EES can also be

More information