UW CSE 503 ▪ Software Engineering ▪ Spring 2004 ▪ Rob DeLine1 CSE 503 – Software Engineering Lecture 2: Jackson Problem Frames Rob DeLine 31 Mar 2004 Thanks.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
Advertisements

A Context Analysis Method for Embedded Systems --- Exploring a Requirement Boundary between a System and Its Context Naoyasu Ubayashi(Kyushu University,
Methods: Deciding What to Design In-Young Ko iko.AT. icu.ac.kr Information and Communications University (ICU) iko.AT. icu.ac.kr Fall 2005 ICE0575 Lecture.
CSC1016 Coursework Clarification Derek Mortimer March 2010.
Informatics 43 – May 7, Restatement of Goals for Testing Want to verify software’s correctness  Need to test  Need to decide on test cases  No.
Problem Frames 8 - Variant frames. Variants Model Operator Description Connection Control.
The Architecture Design Process
Software Architecture and Specification Derived from Dr. Fawcett’s slides Phil Pratt-Szeliga Fall 2010.
1 Institute for Software Research, International Methods of Software Development Problem Frames 1 (This lecture is largely based on material graciously.
Application architectures
Autonomous Mobile Robots CPE 470/670 Lecture 8 Instructor: Monica Nicolescu.
State Machines Used to Design Sequential Circuits.
Chapter 9 Using Data Flow Diagrams
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Application architectures
Sequencing Miss Regan. Blood Hound  Does anyone know what the Bloodhound project is?  Video 1 Video 1  Video 2 Video 2  Link to website Link to website.
[ §6 : 1 ] 6. Basic Methods II Overview 6.1 Models 6.2 Taxonomy 6.3 Finite State Model 6.4 State Transition Model 6.5 Dataflow Model 6.6 User Manual.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
Open and Closed Loops Standard Grade Computing Studies.
Problem Analysis and Structure II Multi-frame problems.
Tutorial 6 DFDs vs. Use Case Diagrams (Textbook Chapter 7 & Appendix)
Lesson 7 Guide for Software Design Description (SDD)
Data Flow Diagrams.
程建群 博士(Dr. Jason Cheng) 年03月
Chapter 7 Structuring System Process Requirements
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
October 2002J. B. Wordsworth: J2ISDPPS1 Information Systems Development Problem Frames: Problems and Subproblems.
Problem Analysis and Structure Models and Frames.
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
111 Notion of a Project Notes from OOSE Slides – a different textbook used in the past Read/review carefully and understand.
Functional Modeling – Requirement Patterns (Problem Frames)
Chapter 4 – Requirements Engineering Lecture 3 1Chapter 4 Requirements engineering.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
1 Institute for Software Research, International Methods of Software Development Problem Frames 2 (This lecture is largely based on material graciously.
The Complete Medication Safety and Policy Solution for Care Homes.
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Flowcharting A Quality Improvement Tool. Quality = Inspection Statistical methods assisted in prevention of defects – The need for inspection declined.
EGR101-34R "lecture on hardware- software" FB 7/10/2004 Digital Electronics Logic Gates Logic gates work with the voltage level of the signals. They are.
1 CMPT 275 High Level Design Phase Modularization.
Systems Analysis and Design in a Changing World, Fourth Edition
Computer Programming Modeling a Passive Solar Home.
October 2002J. B. Wordsworth: J2ISDPPC1 Information Systems Development Problem Frames: Problems and Contexts.
Problems and Frames III Recap and More Concepts. Definition “A problem frame is a kind of pattern. It define an intuitively identifiable problem in terms.
Prof. Hany H. Ammar, CSEE, WVU, and
CS223: Software Engineering
1 Specification A broad term that means definition Used at different stages of software development for different purposes Generally, a statement of agreement.
Traditionally ladder logic programs have been written by thinking about the process and then beginning to write the program. This always leads to programs.
Problems and Frames IV Heuristics. Heuristics? Serving or helping to find out or discover; Guidelines; But connotations of trial and error.
Maestro AI Vision and Design Overview Definitions Maestro: A naïve Sensorimotor Engine prototype. Sensorimotor Engine: Combining sensory and motor functions.
Computer Control and Monitoring Today we will look at: What we mean by computer control Examples of computer control Sensors – analogue and digital Sampling.
Programming Logic and Design Seventh Edition Chapter 1 An Overview of Computers and Programming.
AS Level Computing 8 CHAPTER: Fundamentals of structured programming The basics of good programming Algorithms System Flow Charts Symbol Conventions Steps.
1 Ivan Marsic Rutgers University LECTURE 13: Problem Frames Part II: Modeling & Recombination.
Application architectures. Objectives l To explain the organisation of two fundamental models of business systems - batch processing and transaction processing.
CompSci 280 S Introduction to Software Development
Welcome to M301 P2 Software Systems & their Development
UML Diagrams: Class Diagrams The Static Analysis Model
Chapter 5 – System Modeling
Architecture Concept Documents
Modelling Concepts Based on Chapter 5 Bennett, McRobb and Farmer
Unified Modeling Language
Structured Analysis and Dataflow Diagrams
Problem Frames A Lecture
Introduction To System Analysis and Design PART 2
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Design and Implementation
Copyright 2007 Oxford Consulting, Ltd
Programming Logic and Design Eighth Edition
Presentation transcript:

UW CSE 503 ▪ Software Engineering ▪ Spring 2004 ▪ Rob DeLine1 CSE 503 – Software Engineering Lecture 2: Jackson Problem Frames Rob DeLine 31 Mar 2004 Thanks to Mary Shaw of CMU for several slides

UW CSE 503 ▪ Software Engineering ▪ Spring 2004 ▪ Rob DeLine2 Getting from customer needs to design

UW CSE 503 ▪ Software Engineering ▪ Spring 2004 ▪ Rob DeLine3 Michael Jackson’s Problem Frames What happens if you just start building right away?  You could build the wrong system  Your decomposition might not simplify the problem  You could discover a critical issue late in development Problem Frames provide a conceptual language for recognizing familiar, tractable problems in the client’s requirements Status as research idea  A proposal with a decade of thought behind it  No tools, no experience reports  Jackson, Problem frames: Analyzing and structuring software development problems, ACM Press, 2001 Not the singer!

UW CSE 503 ▪ Software Engineering ▪ Spring 2004 ▪ Rob DeLine4 Basic method Identify the involved parts of the world (domains)  Given domains – relevant parts of the world  Designed domains – physical representation of information  Machine domain – where you will build the solution Identify the interfaces – shared phenomena Capture relations in a context diagram  Show all domains, including machine  Draw one line among domains for each set of shared phenomena  Despite the boxes and lines, this is not the system architecture! Record what the problem is  Requirement is a condition on one or more domains that the machine must bring about  Add to context diagram to get problem diagram

UW CSE 503 ▪ Software Engineering ▪ Spring 2004 ▪ Rob DeLine5 Domains Machine Domain Causal Domain C Lexical Domain X Biddable Domain B  The system to be built  Behavior might be partial  Behaves predictably  But might fail  Behaves unpredictably  Often a human user  Data repository  Physical embodiment ignored Machine Domain Given Domain Designed Domain Given Domain In problem frame diagrams In problem or context diagrams

UW CSE 503 ▪ Software Engineering ▪ Spring 2004 ▪ Rob DeLine6 Context diagrams Show the relevant domains in the problem Lines show shared phenomena (events, states)  a – states shared only by machine and domain 1  b – states shared only by machine and domain 2  c – states shared only by domains 1 and 2  d – states shared by all three domains Machine Domain Given Domain 1 Given Domain 2 a b c d

UW CSE 503 ▪ Software Engineering ▪ Spring 2004 ▪ Rob DeLine7 Problem diagrams add requirements Requirements are relations that machine must achieve Dashed lines refer to domains involved in requirements Arrow head shows domain is constrained by requirement Machine Domain Given Domain 1 Given Domain 2 a b Requirement

UW CSE 503 ▪ Software Engineering ▪ Spring 2004 ▪ Rob DeLine8 Example: One-way traffic lights The repairers put one unit at each end of the one-way section and connect it to a small computer that controls the sequence of lights. Each unit has a Stop light and a Go light. The computer controls the lights by emitting RPulses and GPulses, to which the units respond by turning the lights on and off. The regime for the lights repeats a fixed cycle of four phases. First, for 50 seconds, both units show Stop; then, for 120 seconds, one unit shows Stop and the other Go; then for 50 seconds, both show Stop again; then for 120 seconds the unit that previously showed Go shows Stop, and the other shows Go. Then the cycle is repeated.

UW CSE 503 ▪ Software Engineering ▪ Spring 2004 ▪ Rob DeLine9 One-way traffic problem diagram a: { RPulse 1, GPulse 1, RPulse 2, GPulse 2 } b: { Stop 1, Go 1, Stop 2, Go 2 } Exclamation point shows which domain controls events  a: LC ! { RPulse 1, GPulse 1, RPulse 2, GPulse 2 }  b: LU ! { Stop 1, Go 1, Stop 2, Go 2 } Notice that we carefully distinguish pulses from lights Lights Controller Light units ab Light cycle

UW CSE 503 ▪ Software Engineering ▪ Spring 2004 ▪ Rob DeLine10 Elementary problem frame A tightly constrained class of idealized problem Examples  Simple behavior / simple control / required behavior  Simple enquiry / simple information answers  Simple information display  Simple workpieces  Commanded behavior (not in papers)  Transformation (not in paper)  others A real problem is projected into frames, not partitioned  Domains appear in multiple frames

UW CSE 503 ▪ Software Engineering ▪ Spring 2004 ▪ Rob DeLine11 Simple behavior The machine CM controls the phenomena C1 and witnesses feedback C2 to achieve requirements C3. Examples? Control Machine CM ! C1 C3 Required Behavior Controlled Domain C CD ! C2

UW CSE 503 ▪ Software Engineering ▪ Spring 2004 ▪ Rob DeLine12 Simple information answers Response Machine RM ! C3 C3 Information Relation Real World C RW ! P1 Responses C Enquirer B E4 E ! E4 P2

UW CSE 503 ▪ Software Engineering ▪ Spring 2004 ▪ Rob DeLine13 Simple information display Display Machine RW ! C3 S4 Display Rules Information Display C DM ! C1 Real World C S2

UW CSE 503 ▪ Software Engineering ▪ Spring 2004 ▪ Rob DeLine14 Simple workpieces Editing Tool ET ! E2 S3 Operation Effects User B U ! E1 Workpieces X E1 WP ! S3

UW CSE 503 ▪ Software Engineering ▪ Spring 2004 ▪ Rob DeLine15 Commanded behavior (Variation on simple behavior, with user in the loop) Control Machine OP ! E4 E4 Commanded Behavior Controlled Domain C CM ! C1 CD ! C2 Operator B C3

UW CSE 503 ▪ Software Engineering ▪ Spring 2004 ▪ Rob DeLine16 Transformation Machine transforms inputs Y1 to outputs Y2 Transform Machine TM ! Y2 Y4 IO Relation Inputs X IN ! Y1 Outputs X Y3

UW CSE 503 ▪ Software Engineering ▪ Spring 2004 ▪ Rob DeLine17 Package router problem Packages travel down conveyor Package destination barcode scanned on entry to pipes Package slides down switchable pipes Sensor at top and bottom of each pipe segment

UW CSE 503 ▪ Software Engineering ▪ Spring 2004 ▪ Rob DeLine18 First cut at a problem diagram : simple behavior Does this show the entire problem? Hint: Can we argue that RC satisfies Correct Routing given only the phenomena it sees? Router Controller arrive(p,b) destination(p,d) bin(d,b) Correct Routing Router & Packages RP ! read(p,id) RP ! hit(i) RP ! posn(i,L|R) RC ! flip(i,L|R)

UW CSE 503 ▪ Software Engineering ▪ Spring 2004 ▪ Rob DeLine19 Missing: Tracking packages at sensors Which packages are at which sensors? Dynamic Modeler Queues R&P Correspondence Layout Model Queues Model Router & Packages

UW CSE 503 ▪ Software Engineering ▪ Spring 2004 ▪ Rob DeLine20 Missing: Knowing the router layout Which switch settings lead to which bins? Static Modeler Layout-Model Correspondence Layout Informant Layout Model Router Layout

UW CSE 503 ▪ Software Engineering ▪ Spring 2004 ▪ Rob DeLine21 Missing: Knowing the destination mapping How does a destination string correspond to a bin? Destination Editor Destination Editing Destination Informant Destination Mapping

UW CSE 503 ▪ Software Engineering ▪ Spring 2004 ▪ Rob DeLine22 Patient monitoring Let’s try a problem together: A patient monitoring program is required for the ICU in a hospital. Each patient is monitored by an analog device which measures factors such as pulse, temperature, blood pressure, and skin resistance. The program reads these factors on a periodic basis (specified for each patient) and stores the factors in a database. For each patient, safe ranges for each factor are also specified by medical staff. If a factor falls outside a patient’s safe range, or if an analog device fails, the nurses’ station is notified.