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.

Slides:



Advertisements
Similar presentations
Software Design Fundamentals
Advertisements

ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
What is Software Design?. Systems Development Life- Cycle Planning Analysis Design Implementation Design.
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Design Concepts and Principles
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.
Software Design Deriving a solution which satisfies software requirements.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
PROCESS MODELING Transform Description. A model is a representation of reality. Just as a picture is worth a thousand words, most models are pictorial.
©Ian Sommerville 2000Software Engineering, 6/e, Chapter 71 System models l Abstract descriptions of systems whose requirements are being analysed.
IS Terms and Introductory Concepts. Contemplative Questions What is an information system? What is an information system? Why do we care about the difference.
1 Institute for Software Research, International Methods of Software Development Problem Frames 1 (This lecture is largely based on material graciously.
Developing Ideas for Research and Evaluating Theories of Behavior
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
IS Terms and Introductory Concepts. Contemplative Questions What is an information system? What is an information system? What is data, information and.
UW CSE 503 ▪ Software Engineering ▪ Spring 2004 ▪ Rob DeLine1 CSE 503 – Software Engineering Lecture 2: Jackson Problem Frames Rob DeLine 31 Mar 2004 Thanks.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Software Engineering 8. System Models.
Model-Driven User Requirements Specification using SysML Authors: Michel dos Santos Soares, Jos Vrancken Source: Journal of Software(JSW), Vol. 3, No.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 1 Chapter 2 Computer-Based System Engineering As modified by Randy Smith.
October 2002J. B. Wordsworth: J2ISDPPS1 Information Systems Development Problem Frames: Problems and Subproblems.
Problem Analysis and Structure Models and Frames.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
Functional Modeling – Requirement Patterns (Problem Frames)
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
SOFTWARE DESIGN.
Software Engineering Chapter 7 Fall Capturing the Requirements as Use Cases Capturing the Requirements as Use Cases By using use cases analysts.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Software Design Deriving a solution which satisfies software requirements.
1 Institute for Software Research, International Methods of Software Development Problem Frames 2 (This lecture is largely based on material graciously.
Chapter 7 System models.
System models l Abstract descriptions of systems whose requirements are being analysed.
CS 4310: Software Engineering Lecture 4 System Modeling The Analysis Stage.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
CS212: Object Oriented Analysis and Design Lecture 13: Relationship between Classes.
Design Concepts By Deepika Chaudhary.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
OOAD Unit – I OBJECT-ORIENTED ANALYSIS AND DESIGN With applications
System Engineering: Analysis And Design Chapter - 8.
Learners Support Publications Object Oriented Programming.
© 2005 Prentice Hall1-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Requirements specification Why is this the first major stage of software development? –Need to understand what customer wants first Goal of requirements.
Interacting with consumer Software Engineering. So far… What is Software Engineering? Different software process models waterfall, incremental, spiral.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
Problems and Frames IV Heuristics. Heuristics? Serving or helping to find out or discover; Guidelines; But connotations of trial and error.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
OBJECT-ORIENTED TESTING. TESTING OOA AND OOD MODELS Analysis and design models cannot be tested in the conventional sense. However, formal technical reviews.
SOFTWARE DESIGN & SOFTWARE ENGINEERING Software design is a process in which data, program structure, interface and their details are represented by well.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
1 Ivan Marsic Rutgers University LECTURE 13: Problem Frames Part II: Modeling & Recombination.
Engineering, 7th edition. Chapter 8 Slide 1 System models.
Software Engineering Lecture 4 System Modeling The Analysis Stage.
Object-oriented and Structured System Models
Systems Analysis and Design
CV-1: Vision The overall vision for transformational endeavors, which provides a strategic context for the capabilities described and a high-level scope.
Abstract descriptions of systems whose requirements are being analysed
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
RESEARCH BASICS What is research?.
Plan of the talk Basic Specification blocks
Presentation transcript:

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 of its context and the characteristics of its domains, interfaces and requirement. Domain and interface characteristics are based on a classification of phenomena.” –Jackson, M.A., “Problem Frames”, Addison-Wesley, 2000, p.76

Decomposition Software development projects are not all the same. Decomposition = more manageable chunks Good decomposition helps you to: –Solve the problem –Capture the problem –Describe the problem –Understand the problem –Analyse the problem

Dysfunctional Decomposition Why not top-down? TD = arrange functions in a hierarchy. At each level each fn is decomposed into a number of smaller functions until each fn is elementary Takes no explicit account of the problem to be decomposed Not familiar with the problem? -> unlikely to get a good decomposition

Use Case decomposition Whole problem seen as building a machine to support a set of use cases Use case = actor interacts with system and obtains an observable result –Withdraw cash –Open account, etc. But many problems don’t consist of use cases. What are the use cases in a traffic light problem?

Problem decomposition Sub problems are complete. You regard all the other sub problems as already solved. Sub problems fit into a parallel structure not a hierarchical structure Parallelism = some interaction between sub problems Composite frames = standard decomp. into elementary frames (clock radio)

Decomposition Cont. This type of decomposition is: –Heterogeneous: each of the simple problems needs a different problem frame. Few problems are homogeneous structures where all parts are of the same kind –Non-hierarchical: sub problems are parallel and may overlap -> projection vs partition.

Projection/Partition We think of sub problems as projections of the full problem rather than partitions of the full problem Projection is about overlapping Some of the domains and their phenomena will also appear in other sub problems. Eg., the clock in the VCR

Partition

Projection

Five Elementary Frames Required behaviour –Behaviour controlled by machine Controlled behaviour –Operator instructs controlling machine Information display –Obtain info from RW and display it Workpieces –Tool to create & edit objects Transformation –Deriving formatted output from specified input

Domain types Causal domains –Predictable causal relationships amongst phenomena, e.g. between motor and lift Biddable domains –Consists (usually) of people. Lacks predictive internal causality: can’t compel people to initiate an event, such as returning overdue book Lexical domains –Physical representation of data

Descriptions With problem frames we must make three descriptions, one each for: –Requirement –Specification –Domain Success when we make descs. that fit together properly. Needed to convince customer that you have mastered the problem: –Specified m/c behaviour combined with given domain properties achieves required behaviour

Machine Specification Reversing the argument helps us to devise machine specification: –Capture the requirement –Investigate the domain to identify all causal properties, etc. –Devise a machine that exerts the correct control, behaviour, etc.

Frames and Methods Ideally, each frame associated with systematic method known to be effective for analysing and solving any problem that fits the frame Don’t look for general-purpose methods that address all development problems

Frame Misfits When a frame starts to demand a description that doesn’t make much sense, or leaves out some other necessary description E.g. making a sluice gate control problem fit an information display frame

VCR Problem Finish your frame analysis of the VCR control problem