UHD-CMS-CH101 Specification Phase Chapter Ten. UHD-CMS-CH102 SPECIFICATION DOCUMENT The specification document must be Informal enough for client Formal.

Slides:



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

Classic Analysis CS524 – Software Engineering I Azusa Pacific University Professor Dr. Sheldon X. Liang.
1 Information Systems Development (ISD) Systems Development Life Cycle Overview of Analysis Phase Overview of Design Phase CP2236: Information Systems.
Systems Analysis & IT Project Management Pepper. System Life Cycle BirthDeathDevelopmentProduction.
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
Computer Studies Systems Development. Systems investigation Systems analysis Systems design Systems implementation Systems testing Systems evaluation.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Chapter 4 Enterprise Modeling.
Slide 11.1 CHAPTER 11 SPECIFICATION PHASE. Slide 11.2 Overview l The specification document l Informal specifications l Structured systems analysis l.
Functional Specification. Overview The specification document Informal specifications Structured systems analysis Other semiformal techniques Entity-relationship.
Slide 11.1 CHAPTER 11 SPECIFICATION PHASE. Slide 11.2 Overview l The specification document l Informal specifications l Structured systems analysis l.
Chapter 3 Database Management
Chapter 9 Describing Process Specifications and Structured Decisions
CSC 402 Requirements Engineering 1 Requirements Techniques, cont. Formal requirements analysis techniques include: – DFD (covered) – ERD (covered) – Finite.
System Design and Analysis
Chapter 2 Topics –Context-Level DFD –Entity-Relationship Diagrams.
Introduction to Databases Transparencies
Computers: Tools for an Information Age
Requirements Techniques, cont. Brief review Formal Requirements Techniques –Finite State Machines –Petri Nets.
© Copyright 2011 John Wiley & Sons, Inc.
COMP6015 An Introduction to Computer Programming
Chapter 4.
August 1, August 1, 2015August 1, 2015August 1, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,
Lecture 9 & 10: Finite Machines Anita S. Malik Adapted from Schach (2004) Chapter 11.
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
Systems Analysis and Design 10th Edition
System Analysis Overview Document functional requirements by creating models Two concepts help identify functional requirements in the traditional approach.
Copyright © 2003 by Prentice Hall Computers: Tools for an Information Age Chapter 14 Systems Analysis and Design: The Big Picture.
Introduction to Systems Analysis and Design Trisha Cummings.
Chapter 6 The Traditional Approach to Requirements
CS540 Software Design Lecture 6 & 7 1 Lecture 6 & 7: Structured Analysis Anita S. Malik Adapted from Schach (2004) Chapter 11.
Data and Process Modeling
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
INFORMATION SYSTEM APPLICATIONS System Development Life Cycle.
Section 02Systems Documentation1 02 Systems Documentation And Franchise Colleges By MANSHA NAWAZ.
Chapter 9 Describing Process Specifications and Structured Decisions
1 Lecture 3: Introducing Data Flow Diagrams (DFDs) Section 1 - The Concept of Diagrams Why use Diagrams? Diagrams as Working Documents Systems Analysis.
Phase 2: Systems Analysis
Chapter 7 Structuring System Process Requirements
ITEC224 Database Programming
Database Design - Lecture 2
Information Systems: Databases Define the role of general information systems Describe the elements of a database management system (DBMS) Describe the.
Requirements Definition and Specification. Outline Definition and specification Natural language Semi-formal techniques –Program description languages.
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
Chapter 9 Moving to Design
Slide 11C.104 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
CSC 395 – Software Engineering Lecture 28: Classical Analysis -or- Do You Really Want to Do That?
Slide 11.1 © The McGraw-Hill Companies, 2007 CHAPTER 11 CLASSICAL ANALYSIS.
5 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
CHAPTER 3 DATABASES AND DATA WAREHOUSES. 2 OPENING CASE STUDY Chrysler Spins a Competitive Advantage with Supply Chain Management Software Chapter 2 –
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,
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Chapter 4 enterprise modeling
The Software Development Process
Prof. Aiken CS 169 Lecture 31 Requirements and Specification CS169 Lecture 3.
CHAPTER 5 1 DATA AND PROCESS ANALYSIS. Chapter Objectives Describe data and process modeling concepts and tools, including data flow diagrams, a data.
Copyright © 2011 Pearson Education Process Specifications and Structured Decisions Systems Analysis and Design, 8e Kendall & Kendall Global Edition 9.
Systems Analysis and Design in a Changing World, Fourth Edition
Requirements Specification
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach 1.
Requirements Techniques, cont.
SSA(D) vs OOAD M. Pickard CSC 513.
Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach.
CHAPTER 12 CLASSICAL ANALYSIS.
Introduction to Systems Analysis and Design
COSC 4506/ITEC 3506 Software Engineering
Chapter 11 Describing Process Specifications and Structured Decisions
Information Systems Development (ISD) Systems Development Life Cycle
Presentation transcript:

UHD-CMS-CH101 Specification Phase Chapter Ten

UHD-CMS-CH102 SPECIFICATION DOCUMENT The specification document must be Informal enough for client Formal enough for developers Free of omissions, contradictions, ambiguities

UHD-CMS-CH103 SPECIFICATION DOCUMENT Constraints –Cost –Time –Portability –Reliability –Response time Acceptance Criteria –Vital to spell out series of tests –Product passes tests, deemed to satisfy specs. –Some are restatements of constraints

UHD-CMS-CH104 SOLUTION STRATEGY General approach to building the product Find strategies without worrying about constraints Modify/select strategies in light of constraints Keep written record of all discarded strategies and why discarded: –To protect spec team –To prevent unwise new solutions during maintenance phase

UHD-CMS-CH105 SPECIFICATION METHODS Informal Semi-formal formal

UHD-CMS-CH106 INFORMAL SPECIFICATIONS Example: “if sales of current month are below target sales, then report is to be printed, unless difference between target sales and actual sales is less than half of difference between target sales and actual sales in previous month, or if difference between target sales and actual sales for the current month is under 5%”

UHD-CMS-CH107 INFORMAL SPECIFICATIONS Based on Natural Languages Can be ambiguous Claim: –ambiguity can not arise when specs done by professionals Refutation: –Text Processing case (see textbook)

UHD-CMS-CH108 INFORMAL SPECIFICATIONS Conclusion: Natural Language NOT good way to specify product Fact: –Many organizations still use natural language, especially for commercial products Reasons: –Uninformed management –Under-trained computer professionals –Management gives in to client pressure –Management unwilling to invest in training

UHD-CMS-CH109 STRUCTURED SYSTEMS ANALYSIS Three popular graphical specification methods –DeMarco –Gane and Sarsen –Yourdon Equivalent Equally good Many US corporations use them for commercial products Gane and Sarsen used for Object-Oriented design

UHD-CMS-CH1010 SSA: CASE STUDY Sally’s Software Store 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. Institution and corporations are given credit facilities, as are some individuals. Sally’s store is doing well, but despite her business success Sally has been advised to computerize. Should she? Better question: what part?

UHD-CMS-CH1011 CASE STUDY Fundamental issue –What is Sally’s objective in computerizing her business? Assume –Objective is “to make more money” Cost/benefit analysis for each section of business.

UHD-CMS-CH1012 CASE STUDY Gane and Sarsen Technique: A nine step method Stepwise refinement in many steps

UHD-CMS-CH1013 CASE STUDY Data flow diagram (DFD) shows logical data flow (what happens, not how it happens)

UHD-CMS-CH1014 STEP 1: DRAW THE DFD First refinement

UHD-CMS-CH1015 STEP 1- Second Refinement

UHD-CMS-CH1016 STEP 1- Portion of third refinement

UHD-CMS-CH1017 STEP 1 contd Final DFD –Larger, BUT easily understood by client Larger DFDs –Hierarchy of DFDs –Each box becomes DFD at a lower level

UHD-CMS-CH1018 STEP 2: Decide what parts to computerize cost/benefit analysis STEP 3: Refine data flow Data items for each data flow Refine each flow stepwise order: order identifications customer details package details Refine further Need data dictionary

UHD-CMS-CH1019 STEP4: Refine Logic of Processes Example: 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

UHD-CMS-CH1020 STEP 5: Refine Data Stores Define contents and representation (format) Specify where immediate access is required –define type of queries –define Data Immediate Access Diagram (DIAD)

UHD-CMS-CH1021 STEP 6: Define Physical Resources For each file, specify –File name –Organization –Storage medium –Records (to field level) DBMS: –define each table STEP 7: Determine I/O Specs Specify input forms, input screens, printed output

UHD-CMS-CH1022 STEP 8: Perform Sizing Determine data for step 9: –Volume of input (daily or hourly) –Size, frequency. Deadline for each printer report –Size, number of records processed –Size of each file

UHD-CMS-CH1023 STEP 9: Hardware Requirements –Mass Storage requirements –Input needs –Output devices –Is existing hardware adequate? However –Response time can NOT be determined

UHD-CMS-CH1024 ENTITY-RELATIONSHIP DIAGRAMS Semi-Formal technique Data-Oriented Widely used in specifying databases used for Object-Oriented Analysis Example: Author, Biography, Reader

UHD-CMS-CH1025 ENTITY-RELATIONSHIP DIAGRAMS 1-to-many relationships

UHD-CMS-CH1026 ENTITY-RELATIONSHIP DIAGRAMS Many-to-many relationships

UHD-CMS-CH1027 FORMAL TECHNIQUES Finite State Machines Petri Nets Z

UHD-CMS-CH1028 FINITE STATE MACHINES 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 6 possible dial movements: 1L, 1R, 2L, 2R, 3L, and 3R. The combination to the safe is 1L, 3R, 2L. Any other dial movement cause the alarm to go off.

UHD-CMS-CH1029 FINITE STATE MACHINES Set of states: (SafeLocked, A, B, SafeUnlocked, SoundAlarm) Set of inputs:( 1L, 1R, 2L, 2R, 3L, 3R) Transition function: Initial State: SafeLocked Set if final states: (SafeUnlocked, SoundAlarm)

UHD-CMS-CH1030 FSM--State Transition Diagram(STD)

UHD-CMS-CH1031 FSM--State Transition Table

UHD-CMS-CH1032 EXTENDED FSM Extended FSM with global predicates –predicate: condition in terms of global state/event or a combination of them Transition rules have form: –State and Event and Predicate ==> New State

UHD-CMS-CH1033 ELEVATOR PROBLEM

UHD-CMS-CH1034 ELEVATOR PROBLEM

UHD-CMS-CH1035 ELEVATOR PROBLEM

UHD-CMS-CH1036 ELEVATOR PROBLEM

UHD-CMS-CH1037 ELEVATOR PROBLEM

UHD-CMS-CH1038 ELEVATOR PROBLEM

UHD-CMS-CH1039 ELEVATOR PROBLEM

UHD-CMS-CH1040

UHD-CMS-CH1041 POWER OF FSM TO SPEC COMPLEX SYSTEMS Specs take simple form 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 However –Timing considerations not handled

UHD-CMS-CH1042 WHO IS USING FSMS? Commercial Products –Menu driven –Various states/screens –Automatic code generation a major plus System Software –Operating systems –Word processors –Spreadsheets CASE tools –Statemate

UHD-CMS-CH1043 PETRI NETS Powerful technique for specifying systems with potential timing problems –Concurrency and synchronization –Race conditions –Deadlock –originally used by automata theorists –now used in performance evaluation, O/S, and SE fields

UHD-CMS-CH1044 Formal Specifications - Cont. Z –a formal specification language –uses set theory, functions, and discrete math. –Initially difficult to learn –the most widely language

UHD-CMS-CH1045 Testing during Spec. Phase Walkthrough Inspection (more powerful) –team of inspectors checks specs against a checklist If a formal tech. is used other testing tech. such as correctness-proving methods can be applied, simulation of FSM/Petri Nets etc.

UHD-CMS-CH1046 CASE tools Two classes –Graphical tools DFD, FSMs, Petri nets, ER diagrams –Data dictionary the two should be integrated E.g., –Analyst/Designer, Excelerator, software through pictures, system architect, and Teamwork

UHD-CMS-CH1047 Metrics Five fundamental metrics –size number of items in the data dictionary –cost –duration – effort –quality number faults found during inspection This information is tentative at best