Slide 11C.104 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.

Slides:



Advertisements
Similar presentations
Software Engineering - Specifications 1 Specifications Specification document must be clear, complete and correct.
Advertisements

Slide 15.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach.
Classic Analysis CS524 – Software Engineering I Azusa Pacific University Professor Dr. Sheldon X. Liang.
10 Software Engineering Foundations of Computer Science ã Cengage Learning.
Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
Slide 7A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
Slide 11.1 CHAPTER 11 SPECIFICATION PHASE. Slide 11.2 Overview l The specification document l Informal specifications l Structured systems analysis l.
Slide 11.1 CHAPTER 11 SPECIFICATION PHASE. Slide 11.2 Overview l The specification document l Informal specifications l Structured systems analysis l.
Design. Overview Design and abstraction Action-oriented design Data flow analysis Transaction analysis Data-oriented design Object-oriented design Challenges.
Slide 6B.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Slide 11D.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Slide 11.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach.
Slide 9.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Slide 1.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Slide 10.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach.
Slide 6A.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Describing Syntax and Semantics
Slide 14.1 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented and Classical Software Engineering Eighth Edition,
UHD-CMS-CH101 Specification Phase Chapter Ten. UHD-CMS-CH102 SPECIFICATION DOCUMENT The specification document must be Informal enough for client Formal.
Slide 12C.50 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005.
Slide 10C.52 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers:
Slide 12E.121 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
Slide 6.1 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill,
Lecture 9 & 10: Finite Machines Anita S. Malik Adapted from Schach (2004) Chapter 11.
Chapter 24 - Quality Management Lecture 1 1Chapter 24 Quality management.
Slide 12.1 © The McGraw-Hill Companies, CS 4310: Software Engineering Lecture 7 Systems Analysis Object-Oriented Design.
Slide 6.1 CHAPTER 6 TESTING. Slide 6.2 Overview l Quality issues l Nonexecution-based testing l Execution-based testing l What should be tested? l Testing.
Chapter 3: The Project Management Process Groups: A Case Study
Slide 12.1 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen.
CS540 Software Design Lecture 8 1 Lecture 8: Structured Design Anita S. Malik Adapted from Schach (2004) Chapter 13 and Appendix.
Chapter 13: Implementation Phase 13.3 Good Programming Practice 13.6 Module Test Case Selection 13.7 Black-Box Module-Testing Techniques 13.8 Glass-Box.
Slide 10A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005.
Slide 10.1 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented and Classical Software Engineering Eighth Edition,
Formal Methods Formal Methods. Why formal methods?  Informal methods are open to interpretation and ambiguity, and often incomplete and inconsistent.
Slide 6.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Slide 11.1 © The McGraw-Hill Companies, 2007 CHAPTER 11 CLASSICAL ANALYSIS.
Slide 13B.22 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
UHD::3320::CH121 DESIGN PHASE Chapter 12. UHD::3320::CH122 Design Phase Two Aspects –Actions which operate on data –Data on which actions operate Two.
Slide 12.1 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented and Classical Software Engineering Eighth Edition,
Slide 12A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
Petri Nets Invented by Carl Adam Petri in 1962 Concurrent systems with timing problems  Synchronization, race problem, deadlock A petri net consists of.
Slide 13.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach.
Slide 13.1 © The McGraw-Hill Companies, 2007 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach.
Software Engineering 2 -Prakash Shrestha.
Slide 12D.88 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
Slide 10.1 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen.
CS451 Software Implementation and Integration Yugi Lee STB #555 (816) Note: This lecture was designed.
CS451 Software Maintenance Yugi Lee STB #555 (816) Note: This lecture was designed based on Stephen Schach’s.
Slide 12F.135 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
Workflows Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach.
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill Stephen R. Schach 1.
Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2010 Stephen R. Schach
Slide 7B.31 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
Slide 13A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach 1.
Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R
About the Presentations
Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach
Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach.
CHAPTER 12 CLASSICAL ANALYSIS.
Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach
Tools of Software Development
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach.
Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach
WALKTHROUGH and INSPECTION
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers:
Presentation transcript:

Slide 11C.104 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach

Slide 11C.105 © The McGraw-Hill Companies, 2005 CHAPTER 11 — Unit C CLASSICAL ANALYSIS

Slide 11C.106 © The McGraw-Hill Companies, 2005 Continued from Unit 11B

Slide 11C.107 © The McGraw-Hill Companies, Z l Z (pronounced “zed”) is a formal specification language l There is a high squiggle factor

Slide 11C.108 © The McGraw-Hill Companies, Z: The Elevator Problem Case Study l A Z specification consists of four sections:  1.Given sets, data types, and constants  2.State definition  3.Initial state  4.Operations

Slide 11C.109 © The McGraw-Hill Companies, Given sets l Given sets are sets that need not be defined in detail l Names appear in brackets l Here we need the set of all buttons l The specification therefore begins [Button]

Slide 11C.110 © The McGraw-Hill Companies, State Definition l Z specification consists of a number of schemata  A schema consists of a group of variable declarations, plus  A list of predicates that constrain the values of variables Figure 11.25

Slide 11C.111 © The McGraw-Hill Companies, 2005 Z: The Elevator Problem Case Study (contd) l In this problem there are 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)

Slide 11C.112 © The McGraw-Hill Companies, 2005 Schema Button_State Figure 11.26

Slide 11C.113 © The McGraw-Hill Companies, Initial State l The state when the system is first turned on Button_Init ^= [Button_State' | pushed' =  ] (The caret ^ should be on top of the first equals sign =. Unfortunately, this is hard to type in PowerPoint!)

Slide 11C.114 © The McGraw-Hill Companies, Operations l A button pushed for the first time is turned on, and added to set pushed l Without the third precondition, the results would be unspecified Figure 11.27

Slide 11C.115 © The McGraw-Hill Companies, 2005 Z: The Elevator Problem Case Study (contd) l If an elevator arrives at a floor, the corresponding button(s) must be turned off l The solution does not distinguish between up and down floor buttons Figure 11.28

Slide 11C.116 © The McGraw-Hill Companies, Analysis of Z l Z is the most widely used formal specification language l It has been used to specify  CICS (part)  An oscilloscope  A CASE tool  Many large-scale projects (especially in Europe)

Slide 11C.117 © The McGraw-Hill Companies, 2005 Analysis of Z (contd) l Difficulties in using Z  The large and complex set of symbols  Training in mathematics is needed

Slide 11C.118 © The McGraw-Hill Companies, 2005 Analysis of Z (contd) l Reasons for the great success of Z  It is easy to find faults in Z specifications  The specifier must be extremely precise  We can prove correctness (we do not have to)  Only high-school math needed to read Z  Z decreases development time  A “translation” of a Z specification into English (or another natural language) is clearer than an informal specification

Slide 11C.119 © The McGraw-Hill Companies, Other Formal Techniques l Anna  For Ada l Gist, Refine  Knowledge-based l VDM  Uses denotational semantics  l CSP  CSP specifications are executable  Like Z, CSP has a high squiggle factor

Slide 11C.120 © The McGraw-Hill Companies, Comparison of Classical Analysis Techniques l Formal methods are  Powerful, but  Difficult to learn and use l Informal methods have  Little power, but are  Easy to learn and use l There is therefore a trade-off  Ease of use versus power

Slide 11C.121 © The McGraw-Hill Companies, 2005 Comparison of Classical Analysis Techniques (contd) Figure 11.29

Slide 11C.122 © The McGraw-Hill Companies, 2005 Newer Methods l Many are untested in practice l There are risks involved  Training costs  Adjustment from the classroom to an actual project  CASE tools may not work properly l However, possible gains may be huge

Slide 11C.123 © The McGraw-Hill Companies, 2005 Which Analysis Technique Should Be Used? l It depends on the  Project  Development team  Management team  Myriad other factors l It is unwise to ignore the latest developments

Slide 11C.124 © The McGraw-Hill Companies, Testing during Classical Analysis l Specification inspection  Aided by fault checklist l Results of Doolan [1992]  2 million lines of FORTRAN  1 hour of inspecting saved 30 hours of execution-based testing

Slide 11C.125 © The McGraw-Hill Companies, CASE Tools for Classical Analysis l A graphical tool is exceedingly useful l So is a data dictionary  Integrate them l An analysis technique without CASE tools to support it will fail  The SREM experience

Slide 11C.126 © The McGraw-Hill Companies, 2005 CASE Tools for Classical Analysis (contd) l Typical tools  Analyst/Designer  Software through Pictures  System Architect

Slide 11C.127 © The McGraw-Hill Companies, Metrics for CASE Tools l Five fundamental metrics l Quality  Fault statistics  The number, type of each fault  The rate of fault detection l Metrics for “predicting” the size of a target product  Total number of items in the data dictionary  The number of items of each type  Processes vs. modules

Slide 11C.128 © The McGraw-Hill Companies, Software Project Management Plan: The Osbert Oglesby Case Study l The Software Project Management Plan is given in Appendix F

Slide 11C.129 © The McGraw-Hill Companies, Challenges of Classical Analysis l A specification document must be  Informal enough for the client; but  Formal enough for the development team l Analysis (“what”) should not cross the boundary into design (“how”) l Do not try to assign modules to process boxes of DFDs until the classical design phase