CSC 395 – Software Engineering Lecture 28: Classical Analysis -or- Do You Really Want to Do That?

Slides:



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

Chapter 11 Describing Process Specifications and Structured Decisions
Classic Analysis CS524 – Software Engineering I Azusa Pacific University Professor Dr. Sheldon X. Liang.
Data Flow Diagram (DFD) Review
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
Chapter 7 Structuring System Process Requirements
Chapter 4 Enterprise Modeling.
Functional Specification. Overview The specification document Informal specifications Structured systems analysis Other semiformal techniques Entity-relationship.
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall Process Specifications and Structured Decisions Systems Analysis and Design, 8e Kendall.
Chapter 9 Describing Process Specifications and Structured Decisions
Chapter 9 Describing Process Specifications and Structured Decisions Systems Analysis and Design Kendall & Kendall Sixth Edition © 2005 Pearson Prentice.
Chapter 9 Describing Process Specifications and Structured Decisions
Typical SDLC Feasibility study Feasibility study Plan Plan Analysis Analysis Design Design Development) Development) Testing Testing Validation Validation.
CSC 402 Requirements Engineering 1 Requirements Techniques, cont. Formal requirements analysis techniques include: – DFD (covered) – ERD (covered) – Finite.
System Design and Analysis
Data and Process Modeling
Requirements Techniques, cont. Brief review Formal Requirements Techniques –Finite State Machines –Petri Nets.
Kendall & KendallCopyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 9 Kendall & Kendall Systems Analysis and Design, 9e Process Specifications.
Systems Development Life Cycle
© Copyright 2011 John Wiley & Sons, Inc.
UHD-CMS-CH101 Specification Phase Chapter Ten. UHD-CMS-CH102 SPECIFICATION DOCUMENT The specification document must be Informal enough for client Formal.
Chapter 4.
CSC 395 – Software Engineering Lecture 15: Object-Oriented Design –or– Ask For Whom The Data Tolls.
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,
DATA FLOW DIAGRAMS IT 155.
[ §4 : 1 ] 4. Requirements Processes II Overview 4.1Fundamentals 4.2Elicitation 4.3Specification 4.4Verification 4.5Validation Software Requirements Specification.
Lecture 9 & 10: Finite Machines Anita S. Malik Adapted from Schach (2004) Chapter 11.
Chapter 7 Structuring System Process Requirements
Kendall & KendallCopyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 9 Kendall & Kendall Systems Analysis and Design, 9e Process Specifications.
1.Database plan 2.Information systems plan 3.Technology plan 4.Business strategy plan 5.Enterprise analysis Which of the following serves as a road map.
The Software Development Cycle Defining and understanding the problem.
1 Structured Analysis Techniques. 2 Data Flow Diagrams.
Introduction to Systems Analysis and Design Trisha Cummings.
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
Section 02Systems Documentation1 02 Systems Documentation And Franchise Colleges By MANSHA NAWAZ.
Chapter 9 Describing Process Specifications and Structured Decisions
Data Flow Diagrams.
Phase 2: Systems Analysis
Data Flow Diagram A method used to analyze a system in a structured way Used during: Analysis stage: to describe the current system Design stage: to describe.
Chapter 7 Structuring System Process Requirements
Chapter 11 Describing Process Specifications and Structured Decisions Systems Analysis and Design Kendall and Kendall Fifth Edition.
Design. Stages of Design i.Nature of the solution 1.Agreed set of objectives 2.Output design 3.Input design 4.Data Flow Diagram 5.System Flowchart 6.Data.
Requirements Definition and Specification. Outline Definition and specification Natural language Semi-formal techniques –Program description languages.
CSC 395 – Software Engineering Lecture 12: Reusability –or– Programming was Bjarne Again.
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
SYSTEMS ANALYSIS AND DESIGN LIFE CYCLE
CORE 1: PROJECT MANAGEMENT Designing. This stage is where the actual solution is designed and built. This includes describing information processes and.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
Prof. Aiken CS 169 Lecture 31 Requirements and Specification CS169 Lecture 3.
Submitted To: Rutvi sarang Submitted By: Kushal Bhagat.
Chapter 7 Structuring System Process Requirements Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
CS223: Software Engineering
Data Flow Diagram, Data Dictionary, and Process Specification PART I
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 12 Exploring Information System Development.
© 2005 by Prentice Hall Chapter 7 Structuring System Process Requirements Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Copyright © 2011 Pearson Education Process Specifications and Structured Decisions Systems Analysis and Design, 8e Kendall & Kendall Global Edition 9.
Coupling and Cohesion Schach, S, R. Object-Oriented and Classical Software Engineering. McGraw-Hill, 2002.
Business Process Modeling What is a process model? – A formal way of representing how a business system operates. – Illustrates the activities that are.
Tools Of Structured Analysis
Requirements Techniques, cont.
Business System Development
Business Process Modeling
Unified Modeling Language
Lecture 2 Introduction to Programming
Unit# 9: Computer Program Development
Introduction to Systems Analysis and Design
Requirement Analysis using
Chapter 11 Describing Process Specifications and Structured Decisions
Presentation transcript:

CSC 395 – Software Engineering Lecture 28: Classical Analysis -or- Do You Really Want to Do That?

In This Lecture Discuss analysis workflow for non-OO projects Alternatives to the large variety of UML diagrams Benefits of varying formality working with clients New techniques with which to analyze code

Specification Document Main product at end of the analysis workflow Needs to be understood by the client Need their agreement to move forward Cannot be so formal they cannot comprehend Must communicate results to developers Sole source of information for the designers Should strive for absolute precision in every detail Two requirements are mutually contradictory

Document Details Contract between client and developers Should list important concerns like: Deadlines, Portability, Reliability, Responsiveness Should list any hard real-time constraints Also detail acceptance of final product Usually, tests software will need to passed Will often include restating important constraints Makes sure client happy with end product Also improves odds you get paid in full

Solution Strategy General approach to building the product Find strategies without worrying about constraints Then modify strategies to fit the constraints Keep written record of discarded strategies Include why each strategy was discarded Shows analysis team did not just use first idea Prevents unwise “new” solutions from reappearing

Informal Specifications Written in natural language Easy for client to understand Easy to read and write Already fluent in these language(s) Informal specifications also have problems Hard to be precise & detailed in natural languages Makes finding incomplete or contradictory specifications difficult Watch a lawyer -- precision can be picked apart

Structured Systems Analysis Three graphical specification methods DeMarco Gane and Sarsen Yourdon All are equivalent & equally good Often used for commercial products Discuss Gane and Sarsen’s 9-step method Many parts include stepwise refinement This method among the most commonly used

Data Flow Diagram Shows flow of data Differs from control flow diagram “What happens, not how it happens”

Draw the DFD Process goes through several refinements Slowly drill down to discover all the details Final DFD can be quite large But going through process help client understand If DFDs get to be too large… …set up hierarchy with boxes expanded at lower levels

What To Computerize & How Should consider many details Client’s Process being examined If batch or online processing acceptable Often involves cost/benefit analysis

Determine Data Flow Details Determine data items for each data flow Refine each flow in stepwise manner Good results rarely known immediately “Measure twice, cut once” Large products often require data dictionary

Define Processes Logic Display decisions as decision trees Clearly illustrates process at work Provides insight to necessary data Should highlight items still missing from analysis

Define Data Stores Specify exact contents & representation Perform to level needed to enable coding Begin with ideal system Slowly modify design to fit with constraints placed by customer Again, this is process of stepwise refinement Similar process defines physical resources & I/O handling

Determine the Sizing Obtain numerical data needed to compute hardware requirements Volume of input, both average and peak Size, frequency, deadline of each printed report Size, number of records passing between CPU and mass storage Size of each file

Define Arch. Requirements Storage requirements Back-up needs Input & Output needs Large projects often include designing entire computer systems Is the existing hardware adequate? Lease additional hardware? Purchased it?

Entity-Relationship Modeling Another semi-formal technique Widely used for specifying databases Examples:

Formal Methods: FSM Case study Safe has combination lock with three positions, labeled 1, 2, & 3. Dial can turn left (L) or right (R), making six possible dial movements. Combination is 1L, 3R, 2L ; other dial movement cause the alarm sound

Finite State Machines Set of states J = { Safe Locked, A, B, Safe Unlocked, Sound Alarm } Set of inputs K = { 1L, 1R, 2L, 2R, 3L, 3R } Initial state is Safe Locked Final states are { Safe Unlocked, Sound Alarm }

Extended FSM Extend transitions using global predicates Transition rules now take form of current state and event and predicate  new state Extended FSM have several advantages Easy to write down & validate Easy to convert into design & code Formal method is very precise “Almost as easy to understand” But cannot capture time-dependent behavior

For Next Lecture Finish review of classical analysis methods Look at “petri-nets” to analyze requirements Get chance to play with all of these tools DFD & petri-nets used for other uses, too