+ All Categories
Home > Documents > ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7: System models...

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7: System models...

Date post: 23-Dec-2015
Category:
Upload: chester-montgomery
View: 214 times
Download: 0 times
Share this document with a friend
23
mmerville 2000 Software Engineering, 6th edition. Chapter 7 Slide Chapter 7: System models Abstract descriptions of systems whose requirements are being analysed Let’s face it .. they are diagrams!
Transcript
Page 1: ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7: System models l Abstract descriptions of systems whose requirements.

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1

Chapter 7: System models

Abstract descriptions of systems whose requirements are being analysed

Let’s face it .. they are diagrams!

Page 2: ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7: System models l Abstract descriptions of systems whose requirements.

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 2

System modelling

Different models present the system from different perspectives• External perspective showing the system’s context or

environment

• Behavioural perspective showing the behaviour of the system

• Structural perspective showing the system or data architecture

Page 3: ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7: System models l Abstract descriptions of systems whose requirements.

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 3

Structured methods Structured methods incorporate system modelling

as an inherent part of the method Methods define a set of models, a process for

deriving these models and rules and guidelines that should apply to the models

CASE tools support system modelling as part of a structured method

Page 4: ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7: System models l Abstract descriptions of systems whose requirements.

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 4

Context models Context models are used to illustrate the

boundaries of a system

Page 5: ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7: System models l Abstract descriptions of systems whose requirements.

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 5

The context of an ATM system

Auto-tellersystem

Securitysystem

Maintenancesystem

Accountdatabase

Usagedatabase

Branchaccounting

system

Branchcountersystem

Page 6: ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7: System models l Abstract descriptions of systems whose requirements.

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 6

Behavioural models Behavioural models are used to describe the

overall behaviour of a system Two types of behavioural model are shown here

• Data processing models that show how data is processed as it moves through the system

• State machine models that show the systems response to events

Page 7: ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7: System models l Abstract descriptions of systems whose requirements.

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 7

Order processing DFD

Completeorder form

Orderdetails +

blankorder form

Valida teorder

Recordorder

Send tosupplier

Adjustavailablebudget

Budgetfile

Ordersfile

Completedorder form

Signedorder form

Signedorder form

Checked andsigned order

+ ordernotification

Orderamount

+ accountdetails

Signedorder form

Orderdetails

Page 8: ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7: System models l Abstract descriptions of systems whose requirements.

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 8

Data Flow Diagrams

Show the processing steps as data flows through a system

Robust:• Analysis: Used to model the system’s data processing

• Design: Used to describe module interaction

Flow of data .. not control Popular and well supported. Tools allow

• hierarchical (7 +/- 2??)

• automatic consistency, completeness checking

Page 9: ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7: System models l Abstract descriptions of systems whose requirements.

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 9

CASE toolset DFD

Designeditor

Designcross checker

Designanalyser

Reportgenerator

Designdatabase

Code skeletongenerator

Designdatabase

Inputdesign

Validdesign

Checkeddesign

Designanalysis

Userreport

and

Referenceddesigns

Checkeddesign Output

code

Page 10: ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7: System models l Abstract descriptions of systems whose requirements.

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 10

State machine models These model the behaviour of the system in

response to external and internal events They show the system’s responses to stimuli so

are often used for modelling real-time systems State machine models show system states as

nodes and events as arcs between these nodes. When an event occurs, the system moves from one state to another

Page 11: ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7: System models l Abstract descriptions of systems whose requirements.

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 11

Microwave oven modelFull power

Enabled

do: operateoven

Fullpower

Halfpower

Halfpower

Fullpower

Number

TimerDooropen

Doorclosed

Doorclosed

Dooropen

Start

do: set power = 600

Half powerdo: set power = 300

Set time

do: get numberexit: set time

Disabled

Operation

Timer

Cancel

Waiting

do: display time

Waiting

do: display time

do: display 'Ready'

do: display 'Waiting'

Page 12: ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7: System models l Abstract descriptions of systems whose requirements.

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 12

Statecharts Statecharts are an integral part of the UML Allow the decomposition of a model into sub-

models (see following slide) A brief description of the actions is included

following the ‘do’ in each state Can be complemented by tables describing the

states and the stimuli

Page 13: ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7: System models l Abstract descriptions of systems whose requirements.

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 13

Microwave oven operation

Cookdo: run generator

Done

do: buzzer on for 5 secs.

Waiting

Alarm

do: display event

do: checkstatus

Checking

Turntablefault

Emitterfault

Disabled

OK

Timeout

TimeOperation

Dooropen

Cancel

Page 14: ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7: System models l Abstract descriptions of systems whose requirements.

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 14

Semantic data models Used to describe the logical structure of data

processed by the system Entity-relation-attribute model sets out the

entities in the system, the relationships between these entities and the entity attributes

Widely used in database design. Can readily be implemented using relational databases

No specific notation provided in the UML but objects and associations can be used

Page 15: ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7: System models l Abstract descriptions of systems whose requirements.

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 15

Software design semantic modelDesign

namedescriptionC-dateM-date

Link

nametype

Node

nametype

links

has-links

12

1 n

Label

nametexticon

has-labelshas-labels

1

n

1

n

has-linkshas-nodes is-a

1

n

1

n1

1

Page 16: ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7: System models l Abstract descriptions of systems whose requirements.

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 16

Data dictionaries Data dictionaries are lists of all of the names used

in the system models. Descriptions of the entities, relationships and attributes are also included

Advantages• Support name management and avoid duplication

• Store of organisational knowledge linking analysis, design and implementation

Many CASE workbenches support data dictionaries

Page 17: ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7: System models l Abstract descriptions of systems whose requirements.

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 17

Data dictionary entries

Page 18: ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7: System models l Abstract descriptions of systems whose requirements.

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 18

Object models Object models describe the system in terms of

object classes An object class is an abstraction over a set of

objects with common attributes and the services (operations) provided by each object

Various object models may be produced• Inheritance models

• Aggregation models

• Interaction models

Page 19: ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7: System models l Abstract descriptions of systems whose requirements.

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 19

Object models Natural ways of reflecting the real-world entities

manipulated by the system More abstract entities are more difficult to model

using this approach Object class identification is recognised as a

difficult process requiring a deep understanding of the application domain

Object classes reflecting domain entities are reusable across systems

Page 20: ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7: System models l Abstract descriptions of systems whose requirements.

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 20

Inheritance models Organise the domain object classes into a

hierarchy Classes at the top of the hierarchy reflect the

common features of all classes Object classes inherit their attributes and services

from one or more super-classes. these may then be specialised as necessary

Class hierarchy design is a difficult process if duplication in different branches is to be avoided

Page 21: ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7: System models l Abstract descriptions of systems whose requirements.

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 21

The Unified Modeling Language Devised by the developers of widely used object-

oriented analysis and design methods Has become an effective standard for object-

oriented modelling Notation

• Object classes are rectangles with the name at the top, attributes in the middle section and operations in the bottom section

• Relationships between object classes (known as associations) are shown as lines linking objects

• Inheritance is referred to as generalisation and is shown ‘upwards’ rather than ‘downwards’ in a hierarchy

Page 22: ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7: System models l Abstract descriptions of systems whose requirements.

Library class hierarchyCatalogue numberAcquisition dateCostTypeStatusNumber of copies

Library item

Acquire ()Catalogue ()Dispose ()Issue ()Return ()

AuthorEditionPublication dateISBN

Book

YearIssue

MagazineDirectorDate of releaseDistributor

Film

VersionPlatform

Computerprogram

TitlePublisher

Published item

TitleMedium

Recorded item

Page 23: ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7: System models l Abstract descriptions of systems whose requirements.

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 23

Object aggregation

Videotape

Tape ids.

Lecturenotes

Text

OHP slides

Slides

Assignment

Credits

Solutions

TextDiagrams

Exercises

#Problems Description

Course titleNumberYearInstructor

Study pack


Recommended