Chapter 6 Chapter 6 System Models Learning Objective Abstract - - PDF document

chapter 6
SMART_READER_LITE
LIVE PREVIEW

Chapter 6 Chapter 6 System Models Learning Objective Abstract - - PDF document

Chapter 6 Chapter 6 System Models Learning Objective Abstract presentations of systems whose requirements are being analyzed Frederick T Sheldon Assistant Professor of Computer Science Washington State University CS 422 Software Engineering


slide-1
SLIDE 1

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 1

Chapter 6

Chapter 6 System Models Learning Objective

Abstract presentations of systems

whose requirements are being analyzed

Frederick T Sheldon

Assistant Professor of Computer Science Washington State University

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 2

Objectives

N To explain the role of system models in the

requirements analysis process

N To show how different models can present

complementary system information

N To describe different types of system model N To introduce the notion of a data dictionary as a

supplement to system models

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 3

Topics covered

N Data-flow models N Semantic data models N Object models N Data dictionaries

slide-2
SLIDE 2

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 4

System modeling

N System modeling helps the analyst to understand the

functionality of the system and models are used to communicate with customers

N Models are abstract - they always leave out some

system information

N Method-based analysis relies heavily on system

  • modeling. Methods usually prescribe the models to

be developed

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 5

Different types of system model

N There are several complementary types of system

model

  • Data-processing model
  • Composition model
  • Classification model
  • Stimulus-response model
  • Process model

N This chapter covers data-flow models (data

processing), semantic data models (composition) and

  • bject models (classification and aggregation)

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 6

Data-flow models

N Show the processing steps as data flows through a

system

N Intrinsic part of many analysis methods N Simple and intuitive notation that customers can

understand

N Show end-to-end processing of data

slide-3
SLIDE 3

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 7

Order processing DFD

Complete

  • rder form

Order details + blank

  • rder form

Validate

  • rder

Record

  • rder

Send to supplier Adjust available budget Budget file Orders file Completed

  • rder form

Signed

  • rder form

Signed

  • rder form

Checked and signed order + order notification Order amount + account details Signed

  • rder form

Order details

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 8

Data-flow diagrams

N may be used to show processing at different levels of

abstraction from fairly abstract to fairly detailed

N May also be used for architectural description

showing data interchange between the sub-systems making up the system

N Not a good way to describe system interfaces

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 9

Equipment procurement DFD

Get cost estimates Accept delivery of equipment Check delivered items Validate specification Specify equipment required Choose supplier Place equipment

  • rder

Install equipment Find suppliers Supplier database Accept delivered equipment Equipment database Equipment spec. Checked spec. Delivery note Delivery note Order notification Installation instructions Installation acceptance Equipment details Checked and signed order form Order details + Blank order form

  • Spec. +

supplier + estimate Supplier list Equipment spec.

slide-4
SLIDE 4

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 10

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

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 11

Semantic data models

N Used to describe the logical structure of data

processed by the system

N Entity-relation model sets out the entities in the

system, the relationships between these entities and the entity attributes

N Widely used in database design. Can readily be

implemented using relational databases

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 12

Notation for semantic data models

A relation between entities. The number of input entity instances is the input cardinality. The number

  • f output instances is the output

cardinality. An inheritance relation. An entity inherits the attributes of its related entity. The sub-type is referenced by the arrow. < name > < input cardinality > < output cardinality > An entity < name > An entity or relation attribute < name >

slide-5
SLIDE 5

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 13

Software design semantic model

C-date M-date links Node has nodes name type has labels is_a Design Label name type Link has links name type has labels has links Design Desc. Owner Icon Text label text bitmap N 1 N 1 N 1 N 1 N 1 1 2 1 1

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 14

Object models

N Object models describe the system in terms of object

classes

N An object class is an abstraction over a set of objects

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

N Various object models may be produced

  • Inheritance models
  • Aggregation models
  • Service models

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 15

Object models

N Natural ways of reflecting the real-world entities

manipulated by the system

N More abstract entities are more difficult to model

using this approach

N Object class identification is recognized as a difficult

process requiring a deep understanding of the application domain

N Object classes reflecting domain entities are reusable

across systems

slide-6
SLIDE 6

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 16

Object class notation

< attributes > < services > < class name >

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 17

Inheritance models

N Organize the domain object classes into a hierarchy N Classes at the top of the hierarchy reflect the

common features of all classes

N Object classes inherit their attributes and services

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

N Class hierarchy design is a difficult process if

duplication in different branches is to be avoided

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 18

Library class hierarchy

Library Item Catalog number Acquisition date Cost Type Status Number of copies Acquire Catalog Dispose Issue Return Publisher Item Title Publisher Recorded Item Title Medium Book Author Edition Publication date ISBN Magazine Year Issue Film Director Date of Release Distributor Computer Program Version Platform

slide-7
SLIDE 7

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 19

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

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 20

Multiple inheritance

N 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

N Can lead to semantic conflicts where attributes/services

with the same name in different super-classes have different semantics

N Makes class hierarchy reorganization more complex

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 21

Multiple inheritance

# Tapes Talking book Author Edition Publication date ISBN Book Speaker Duration Recording date Voice recording

slide-8
SLIDE 8

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 22

Object aggregation

N Aggregation model shows how classes which are

collections are composed of other classes

N Similar to the part-of relationship in semantic data

models

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 23

Object aggregation

Videotape Tape ids. Lecture notes Text OHP slides Slides Assignment Credits Solutions Text Problems #Problems #Text Title Number Year Instructor Course

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 24

Service-usage models

N These models show how services provided by one

  • bject are used by other objects

N Must be used sparingly as, obviously, some objects

provide common services which are used by many

  • ther objects in the system
slide-9
SLIDE 9

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 25

Service usage

Issue Return Library user Library item Acquire Catalogue Dispose Library staff Register De-register

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 26

Data dictionaries

N A data dictionary is a list of names and associated

descriptions of entities used in the system

N It represents a shared repository of system

information

N It serves as

  • A mechanism for name management. As a system model may be

developed by different people, there is potential for name clashes

  • A link from analysis to design and implementation

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 27

Data dictionary semantic model

status name Entry used by Entry date desc . N 1 Entry uses N 1 Entry includes N 1 defines Data dictionary type N 1 name

slide-10
SLIDE 10

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 28

Data dictionary entries

N All names used in the system model, design and

implementation should be entered in the data dictionary

N Support software should be used to create, maintain

and query the dictionary

N The data dictionary may be integrated with CASE

tools so that its construction and maintenance may be partially automated

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 29

Data dictionary entries

Name Description Type Date has_labels 1:N relation between entities of type Node or Link and entities of type Label. Relation 5.10.93 Label Holds structured or unstructured information about nodes or links. Labels can be text or can be an icon. Entity 8.12.93 Link Represents a relation between design entities represented as nodes. Links are typed and may be named. Relation 8.12.93 name (label) Each label has a name which identifies the type of label. The name must be unique within the set of label types used in a design. Attribute 8.12.93 name (node) Each node has a name which must be unique within a design. The name maybe up to 64 characters long. Attribute 15.11.93

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 30

Key points

N A model is an abstract system view. Different types

  • f model provide different system information

N Data-flow diagrams may be used to model system

data-processing

N Semantic data models are used to show the logical

structure of the data processed by the system

slide-11
SLIDE 11

CS 422 Software Engineering Principles Chapter 6

From Software Engineering by I. Sommerville, 1996.

Slide 31

Key points

N Object models describe logical system entities, their

classification and aggregation

N Object models are valuable for modeling system

interfaces in an abstract way

N Data dictionaries are used to maintain information

about system entities throughout the lifetime of a project