BON Design Process (The Method) Based on slides by Prof. Paige - - PowerPoint PPT Presentation

bon design process the method
SMART_READER_LITE
LIVE PREVIEW

BON Design Process (The Method) Based on slides by Prof. Paige - - PowerPoint PPT Presentation

BON Design Process (The Method) Based on slides by Prof. Paige Gunnar Gotshalks 17-1 BON Process ( The Method ) Process for analysis and development Idealized In practice it is subject to variation, iteration, reversibility


slide-1
SLIDE 1

17-1

Gunnar Gotshalks

BON Design Process (The Method)

Based on slides by Prof. Paige

slide-2
SLIDE 2

17-2

Gunnar Gotshalks

BON Process ( The Method )

  • Process for analysis and development
  • Idealized

» In practice it is subject to variation, iteration,

reversibility

  • Three phases

» Gathering – collaboration with users » Designing – initial working system » Refining – improve design, refactor

slide-3
SLIDE 3

17-3

Gunnar Gotshalks

BON deliverables & dependencies

Class dictionary Class text Class Interface Class chart Cluster chart System chart Static architecture Event chart Scenario chart Creation chart Object scenario People create Auto (semi) generate Static Model Dynamic Model

slide-4
SLIDE 4

17-4

Gunnar Gotshalks

Gathering Phase Steps 1 & 2

  • Delineate the system boundary

» Determine what the system includes and excludes » Determine user metaphors » Determine the major subsystems

> Charts: system, event, scenario

  • List candidate classes

» Produce first pass list of classes

> Charts: class

slide-5
SLIDE 5

17-5

Gunnar Gotshalks

Gathering Phase Step 3

  • Select classes and groups

» Organize classes into logical groups / clusters

> Charts: cluster, class > class dictionary

» Determine status of classes

> Deferred, effective, reused, …

slide-6
SLIDE 6

17-6

Gunnar Gotshalks

Purpose Conference administration support

Example System Chart

System Conference Management System Cluster Description

ORGANIZATION TECHNICAL_EVENTS REGISTRATION

Handles major events occurring during the conference from initial decisions through to conclusion Responsible for putting together the programme, recording status of contributions, checking in reviews and following a precise timetable of what is to be done Collect registration data, produce lists, print badges, send form letters. Store data relevant to whatever may change the cost/benefit of the conference

Indexing

Part #

One per system

slide-7
SLIDE 7

17-7

Gunnar Gotshalks

Example Cluster Chart

CLUSTER REGISTRATION Purpose: Track conference participants Cluster components Description REGISTRATION Similar to the System Chart Indexing Part # ATTENDEE REFEREE CONTRIBUTOR

Track participant status Track fees and events Track papers and results

Track papers from initial offer to presentation

slide-8
SLIDE 8

17-8

Gunnar Gotshalks

Example Class Chart

CLASS CITIZEN Type of Object Queries Name, Sex, Age, Single, Spouse, Children, Parents Commands Constraints

  • Each citizen has two parents
  • At most one spouse is allowed
  • May not marry children or parents
  • Spouse's spouse must be this person
  • All children, if any, must have this person

as their parent Born or resident in a country Marry, Divorce Indexing Part #

slide-9
SLIDE 9

17-9

Gunnar Gotshalks

Modeling Chart Uses

  • Informal charts are useful for exchanging ideas with

non-technical people

  • Useful for serving as high-level documentation and

as a scratch pad for ideas and thoughts

  • Idea is to provide medium for social communication

and discussing their ideas

slide-10
SLIDE 10

17-10

Gunnar Gotshalks

Modeling Chart Contents

  • System chart

» Exactly one per system » Contains a brief description of each top level

cluster in the system

  • Cluster chart

» Brief description of a cluster, each class and sub-

cluster within it

  • Class chart

» Informally specify class interface.

> What information and services can other

classes ask from the class?

> What rules must be obeyed by the class?

slide-11
SLIDE 11

17-11

Gunnar Gotshalks

Designing Phase

  • Define class interfaces

» Use graphical and/or textual descriptions

  • Develop static architecture
  • Sketch system behaviour – dynamic properties

» Event charts, scenario charts, object scenarios,

creation charts

» Develop dynamic object model

slide-12
SLIDE 12

17-12

Gunnar Gotshalks

Definition of events

  • A system is a black box with behaviour described by

responses to stimuli – system events

  • An external event is triggered by something in the
  • utside world over which the system has no control

» terminal input, interrupts

  • An internal event is triggered by the system itself
slide-13
SLIDE 13

17-13

Gunnar Gotshalks

Dynamic Model Charts

  • Event chart

» Lists selected external events that may trigger

  • bject communication
  • Scenario chart

» Describes a sequence of events for communicating

  • bjects
  • Object creation chart

» Describes which classes create instances of other

classes

slide-14
SLIDE 14

17-14

Gunnar Gotshalks

Event Chart Example

EVENTS CONFERENCE_SUPPORT Comment External Request to register a submitted paper CONFERENCE, PROGRAM_COMMITTEE, PAPER Selected external events triggering representative types of behaviour Involved object types Part # Indexing

slide-15
SLIDE 15

17-15

Gunnar Gotshalks

Scenario Chart Example

SCENARIO DRIVING_SYSTEM Comment Borrow car and go for a drive Part # Indexing Step 1: Driver gets keys from owner DRIVER calls OWNER : send request receive keys Step 2: Driver turns ignition DRIVER calls IGNITION : send turn_on receive NIL Step 3: Engine starts IGNITION calls ENGINE : send turn_on receive NIL

slide-16
SLIDE 16

17-16

Gunnar Gotshalks

Creation Chart Example

CREATION MATRIX_SYSTEM Comment Only those classes dealing with the CIRCUS cluster Part # Indexing Class Creates instances of SPARSE_MATRIX ARRAY, MATRIX_ELEMENT MATRIX_ELEMENT STACK [ ELEPHANT ] MINIMUM_TEST SPARSE_MATRIX, MATRIX_ELEMENT, STRING, ELEPHANT

slide-17
SLIDE 17

17-17

Gunnar Gotshalks

Refining Phase

  • Refine system

» Find new design classes, add new features

> Modify: Class interfaces, static architecture,

class dictionary, event charts, object scenarios

  • Generalize

» Factor out common behaviour

> Modify: class interfaces, static architecture,

class dictionary

  • Complete and review system

» Produce final static architecture with dynamic

system behaviour

> All deliverables complete

slide-18
SLIDE 18

17-18

Gunnar Gotshalks

Software Development Methods

  • Many good ideas and much effort put into producing

recipes for constructing software

» But no sure fire method

  • No easy path to producing quality software

» F.P. Brooks Jr., No Silver Bullet , Computer, Vol.

20, No. 4, April 1987, pp. 10..19.

» Replies in Computer, Vol. 20, No. 7, July 1987, pp

7..9.

  • As our knowledge and experience have increased so

has our reach

slide-19
SLIDE 19

17-19

Gunnar Gotshalks

Understand Limitations and Benefits

  • General principles for constructing software can be

taught

» But no teaching can guarantee success

  • This is not to say methods are worthless

» If you restrict their domain of applicability, you can

have success

  • Many method creators are unwilling to do this

» They want to sell their method – and its tools

  • All relies on invention, creativity and expertise of the

individual developers