20
www.ddss.arch.tue.nl 7M822 Software Engineering: System Models 14 September 2009

Www.ddss.arch.tue.nl 7M822 Software Engineering: System Models 14 September 2009

  • View
    219

  • Download
    2

Embed Size (px)

Citation preview

www.ddss.arch.tue.nl

7M822

Software Engineering: System Models

Software Engineering: System Models

14 September 2009

www.ddss.arch.tue.nl

7M822

System modellingSystem modelling

• System modelling helps the analyst to understand the functionality of the system and models are used to communicate with customers

• Different models present the system from different perspectives

2

www.ddss.arch.tue.nl

7M822

Model typesModel types

• Data processing model showing how the data is processed at different stages

• Composition model showing how entities are composed of other entities

• Architectural model showing principal sub-systems• Classification model showing how entities have common

characteristics

3

www.ddss.arch.tue.nl

7M822

Analyses and design of ISAnalyses and design of IS

Basic techniques– Process orientation (processes, activities, functions)– Data orientation (data, entities, objects)

4

www.ddss.arch.tue.nl

7M822

Semantic data modelsSemantic 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

5

www.ddss.arch.tue.nl

7M822

Software design semantic modelSoftware design semantic model

Design

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

6

www.ddss.arch.tue.nl

7M822

Data dictionariesData 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

7

www.ddss.arch.tue.nl

7M822

Data dictionary entriesData dictionary entries

8

www.ddss.arch.tue.nl

7M822

Object models 1 of 2Object models 1 of 2

• 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

9

www.ddss.arch.tue.nl

7M822

Object models 2 of 2Object models 2 of 2

• 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

10

www.ddss.arch.tue.nl

7M822

Catalogue 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

Library class hierarchyLibrary class hierarchy

11

www.ddss.arch.tue.nl

7M822

Inheritance modelsInheritance 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

12

www.ddss.arch.tue.nl

7M822

NameAddressPhoneRegistration #

Library user

Register ()De-register ()

Affiliation

Reader

Items on loanMax. loans

Borrower

DepartmentDepartment phone

Staff

Major subjectHome address

Student

User class hierarchy

13

www.ddss.arch.tue.nl

7M822

NameAddressPhoneRegistration #

Library user

Register ()De-register ()

Affiliation

Reader

Items on loanMax. loans

Borrower

DepartmentDepartment phone

Staff

Major subjectHome address

Student

User class hierarchy

14

www.ddss.arch.tue.nl

7M822

Multiple inheritanceMultiple inheritance

• 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

• Can lead to semantic conflicts where attributes/services with the same name in different super-classes have different semantics

• Makes class hierarchy reorganisation more complex

15

www.ddss.arch.tue.nl

7M822

# Tapes

Talking book

AuthorEditionPublication dateISBN

Book

SpeakerDurationRecording date

Voice recording

16

www.ddss.arch.tue.nl

7M822

Object aggregationObject aggregation

• Aggregation model shows how classes which are collections are composed of other classes

• Similar to the part-of relationship in semantic data models

17

www.ddss.arch.tue.nl

7M822

Videotape

Tape ids.

Lecturenotes

Text

OHP slides

Slides

Assignment

Credits

Solutions

TextDiagrams

Exercises

#Problems Description

Course titleNumberYearInstructor

Study pack

What’s wrong?

18

www.ddss.arch.tue.nl

7M822

SummarySummary

• Semantic data models describe the logical structure of the data; these models show system entities, their attributes and the relationships in which they participate.

• Object models describe the logical system entities and their classification and aggregation.

19

www.ddss.arch.tue.nl

7M822

ReferencesReferences

Sommerville, Ian (2001)

Software Engineering, 6th edition

http://www.software-engin.com

20