System Modelling in Software Engineering: Types, Weaknesses, and Tools, Papers of Software Engineering

An overview of system modelling in software engineering, including different types of models, the benefits and weaknesses of structured methods, and various model types such as data processing, context, behavioural, and object models. The document also discusses the use of case tools and workbenches for system modelling.

Typology: Papers

Pre 2010

Uploaded on 08/19/2009

koofers-user-del
koofers-user-del šŸ‡ŗšŸ‡ø

9 documents

1 / 13

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
©Ian Sommerville1995/2000 (Modified b y Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1
System models
zAbstract descriptions of
systems whose requirements
are being analysed
©Ian Sommerville1995/2000 (Modified b y Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 2
System modelling
zSystem modelling helps the analyst to understand
the functionality of the system and models are
used to communicate with customers
zDifferent 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
©Ian Sommerville1995/2000 (Modified b y Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 3
Structured methods
zStructured methods incorporate system modelling
as an inherent part of the method
zMethods define a set of models, a process for
deriving these models and rules and guidelines
that should apply to the models
zCASE tools support system modelling as part of a
structured method
pf3
pf4
pf5
pf8
pf9
pfa
pfd

Partial preview of the text

Download System Modelling in Software Engineering: Types, Weaknesses, and Tools and more Papers Software Engineering in PDF only on Docsity!

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1

System models

z Abstract descriptions of

systems whose requirements

are being analysed

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 2

System modelling

z System modelling helps the analyst to understand

the functionality of the system and models are

used to communicate with customers

z 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

Structured methods

z Structured methods incorporate system modelling

as an inherent part of the method

z Methods define a set of models, a process for

deriving these models and rules and guidelines

that should apply to the models

z CASE tools support system modelling as part of a

structured method

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 4

Method weaknesses

z They do not model non-functional system

requirements

z They do not usually include information about

whether a method is appropriate for a given

problem

z They may produce too much documentation

z The system models are sometimes too detailed

and difficult for users to understand

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 5

Model types

z Data processing model showing how the data is processed

at different stages

z Composition model showing how entities are composed

of other entities

z Architectural model showing principal sub-systems

z Classification model showing how entities have common

characteristics

z Stimulus/response model showing the system’s reaction

to events

Context models

z Context models are used to illustrate the

boundaries of a system

z Social and organisational concerns may affect the

decision on where to position system boundaries

z Architectural models show the a system and its

relationship with other systems

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 10

Behavioural models

z Behavioural models are used to describe the

overall behaviour of a system

z 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

z Both of these models are required for a

description of the system’s behaviour

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 11

Data-processing models

z Data flow diagrams are used to model the

system’s data processing

z These show the processing steps as data flows

through a system

z Intrinsic part of many analysis methods

z Simple and intuitive notation that customers can

understand

z Show end-to-end processing of data

Order processing DFD

Complete

order form

Order

details +

blank

order form

Validate

order

Record

order

Send to

supplier

Adjust

available

budget

Budget

file

Orders

file

Completed

order form

Signed

order form

Signed

order form

Checked and

signed order

+ order

notification

Order

amount

+ account

details

Signed

order form

Order

details

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 13

Data flow diagrams

z DFDs model the system from a functional

perspective

z Tracking and documenting how the data

associated with a process is helpful to develop an

overall understanding of the system

z Data flow diagrams may also be used in showing

the data exchange between a system and other

systems in its environment

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 14

CASE toolset DFD

Design

editor

Design

cross checker

Design

analyser

Report

generator

Design

database

Code skeleton

generator

Design

database

Input

design

Valid

design

Checked

design

Design

analysis

User

report

and

Referenced

designs

Checked

design Output

code

State machine models

z These model the behaviour of the system in

response to external and internal events

z They show the system’s responses to stimuli so

are often used for modelling real-time systems

z 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

z Statecharts are an integral part of the UML

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 19

Statecharts

z Allow the decomposition of a model into sub-

models (see following slide)

z A brief description of the actions is included

following the ā€˜do’ in each state

z Can be complemented by tables describing the

states and the stimuli

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 20

Microwave oven operation

Cook

do: run

generator

Done

do: buzzer on

for 5 secs.

Waiting

Alarm

do: display

event

do: check

status

Checking

Turntable

fault

Emitter

fault

Disabled

OK

Timeout

Time

Operation

Door

open

Cancel

Semantic data models

z Used to describe the logical structure of data

processed by the system

z Entity-relation-attribute model sets out the

entities in the system, the relationships between

these entities and the entity attributes

z Widely used in database design. Can readily be

implemented using relational databases

z No specific notation provided in the UML but

objects and associations can be used

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 22

Software design semantic model

Design

name description C-date M-date

Link

name type

Node

name type links

has-links

1 n

Label

name text icon

has-labels has-labels

n

n

has-nodes is-a has-links

n

n 1

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 23

Object models

z Object models describe the system in terms of

object classes

z An object class is an abstraction over a set of

objects with common attributes and the services

(operations) provided by each object

z Various object models may be produced

  • Inheritance models
  • Aggregation models
  • Interaction models

Object models

z Natural ways of reflecting the real-world entities

manipulated by the system

z More abstract entities are more difficult to model

using this approach

z Object class identification is recognised as a

difficult process requiring a deep understanding

of the application domain

z Object classes reflecting domain entities are

reusable across systems

User class hierarchy

Name

Address

Phone

Registration

Library user

Register ()

De-register ()

Affiliation

Reader

Items on loan

Max. loans

Borrower

Department

Department phone

Staff

Major subject

Home address

Student

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 29

Multiple inheritance

z Rather than inheriting the attributes and services

from a single parent class, a system which

supports multiple inheritance allows object

classes to inherit from several super-classes

z Can lead to semantic conflicts where

attributes/services with the same name in

different super-classes have different semantics

z Makes class hierarchy reorganisation more

complex

Multiple inheritance

# Tapes

Talking book

Author

Edition

Publication date

ISBN

Book

Speaker

Duration

Recording date

Voice recording

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 31

Object aggregation

z Aggregation model shows how classes which are

collections are composed of other classes

z Similar to the part-of relationship in semantic

data models

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 32

Object aggregation

Videotape

Tape ids.

Lecture

notes

Text

OHP slides

Slides

Assignment

Credits

Solutions

Text

Diagrams

Exercises

#Problems

Description

Course title

Number

Year

Instructor

Study pack

Object behaviour modelling

z A behavioural model shows the interactions

between objects to produce some particular

system behaviour that is specified as a use-case

z Sequence diagrams (or collaboration diagrams) in

the UML are used to model interaction between

objects

Analysis workbench components

z Diagram editors

z Model analysis and checking tools

z Repository and associated query language

z Data dictionary

z Report definition and generation tools

z Forms definition tools

z Import/export translators

z Code generation tools