44
(C) Michael Brückner 2005/2006 Software Engineering (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Course 254 451 Software Software Engineering Engineering Class 10 / Requirements Engineering, Systems Modeling Class 10 / Requirements Engineering, Systems Modeling Michael Brueckner Michael Brueckner phone phone 055-261 000-4 (ext. 3233) 055-261 000-4 (ext. 3233) . . อออออ อออออ email email [email protected] [email protected] office office SC2-417, by appointment SC2-417, by appointment

(C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

Embed Size (px)

Citation preview

Page 1: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering11

Course 254 451 Course 254 451 Software EngineeringSoftware Engineering

Class 10 / Requirements Engineering, Systems ModelingClass 10 / Requirements Engineering, Systems Modeling

Michael BruecknerMichael Brueckner phonephone 055-261 000-4 (ext. 3233)055-261 000-4 (ext. 3233)

ออ..มิ�ช่�ามิ�ช่�า emailemail [email protected]@nu.ac.thofficeoffice SC2-417, by appointmentSC2-417, by appointment

Page 2: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering22

Topics coveredTopics covered System modellingSystem modelling

ContextContext สภาพแวดล้อมสภาพแวดล้อม modelsmodels Behavioural Behavioural เกี่��ยวกี่�บพฤติ�กี่รรมเกี่��ยวกี่�บพฤติ�กี่รรม modelsmodels Data modelsData models Object modelsObject models ToolsTools

Page 3: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering33

ExamplesExamples

Page 4: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering44

ExamplesExamples

Page 5: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering55

Examples – Object ModelExamples – Object Model

Page 6: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering66

What is system modelling?What is system modelling? System modelling helps the analyst System modelling helps the analyst นั�กี่ว�เคราะห์�นั�กี่ว�เคราะห์�

to understand the functionality to understand the functionality กี่ารทำ�างานักี่ารทำ�างานั of the of the system system

Models are used to talk with customersModels are used to talk with customers Different models present the system from Different models present the system from

different perspectives different perspectives ทำ�ศนัคติ�ทำ�ศนัคติ� External External ภายนัอกี่ภายนัอกี่ perspective shows the context or perspective shows the context or

environment of the systemenvironment of the system Behavioural perspective shows its behaviour together Behavioural perspective shows its behaviour together

with users and other systemswith users and other systems Structural Structural เกี่��ยวกี่�บโครงสรางเกี่��ยวกี่�บโครงสราง perspective shows the perspective shows the

system or data architecturesystem or data architecture

Page 7: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering77

Example – HW System Example – HW System ArchitectureArchitecture

Page 8: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering88

Example – SW System ArchitectureExample – SW System Architecture

Robot System Software

External view not worked out

Page 9: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering99

Model typesModel types

Data processing Data processing กี่ารด�าเนั�นักี่ารกี่ารด�าเนั�นักี่าร model model showsshows how the data is processed at different stageshow the data is processed at different stages

ระยะเวล้าระยะเวล้า Architectural model shows important sub-Architectural model shows important sub-

systemssystems Classification model shows how entities have Classification model shows how entities have

commoncommon เห์ม"อนักี่�นัเห์ม"อนักี่�นั characteristicscharacteristics

Page 10: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering1010

Example – Data Processing ModelExample – Data Processing Model

Multi-tasking data processing

Page 11: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering1111

Example – Classification ModelExample – Classification Model

... for intruders บ#กี่ร#กี่

network security systems

Page 12: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering1212

Context modelsContext models

Context models Context models showshow the operational the operational context of a system - they also show what context of a system - they also show what is outside the systemis outside the system

Architectural models show the system and Architectural models show the system and its relationship with other systemsits relationship with other systems

Page 13: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering1313

The context of an ATM systemThe context of an ATM system

Auto-tellersystem

Securitysystem

Maintenancesystem

Accountdatabase

Usagedatabase

Branchaccounting

system

Branchcountersystem

Page 14: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering1414

Process modelsProcess models

Process models show the overall Process models show the overall ทำ�$งห์มดทำ�$งห์มด process and the processes that are process and the processes that are supported by the system.supported by the system.

Page 15: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering1515

Equipment procurement Equipment procurement processprocess

Get costestimates

Acceptdelivery ofequipment

Checkdelivered

items

Validatespecification

Specifyequipmentrequired

Choosesupplier

Placeequipment

order

Installequipment

Findsuppliers

Supplierdatabase

Acceptdelivered

equipment

Equipmentdatabase

Equipmentspec.

Checkedspec.

Deliverynote

Deliverynote

Ordernotification

Installationinstructions

Installationacceptance

Equipmentdetails

Checked andsigned order form

Orderdetails plusblank order

form

Spec. +supplier +estimate

Supplier listEquipment

spec.

Page 16: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering1616

Behavioural modelsBehavioural models

Behavioural models are used to describe the Behavioural models are used to describe the overall behaviour of a systemoverall behaviour of a system

Two types of behavioural model are:Two types of behavioural model are: Data processing models that show how data is Data processing models that show how data is

processed as it moves through the systemprocessed as it moves through the system Stimulus Stimulus ยากี่ระติ#นัยากี่ระติ#นั/response /response กี่ารติอบสนัองกี่ารติอบสนัอง model model

shows the reaction to events shows the reaction to events เห์ติ#กี่ารณ์�ส�าค�ญเห์ติ#กี่ารณ์�ส�าค�ญ These models show different perspectives so These models show different perspectives so

both of them are required to describe the both of them are required to describe the system’s behaviour.system’s behaviour.

Page 17: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering1717

Data-processing modelsData-processing models Data flow diagrams (DFDs) may be used Data flow diagrams (DFDs) may be used

to model the system’s data processing.to model the system’s data processing. They show the processing steps as data They show the processing steps as data

flows through a system.flows through a system. DFDs are an intrinsic DFDs are an intrinsic เนั"$อแทำเนั"$อแทำ part of many part of many

analysis methods.analysis methods. Simple and intuitive Simple and intuitive โดยส�ญชาติญาณ์โดยส�ญชาติญาณ์

notation that customers can understand.notation that customers can understand. Show end-to-end processing of data.Show end-to-end processing of data.

Page 18: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering1818

Example - Order processing DFDExample - Order processing DFD

Completeorder form

Orderdetails +

blankorder form

Validateorder

Recordorder

Send tosupplier

Adjustavailablebudget

Budgetfile

Ordersfile

Completedorder form

Signedorder form

Signedorder form

Checked andsigned order

+ ordernotification

Orderamount

+ accountdetails

Signedorder form

Orderdetails

Page 19: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering1919

Example - Data Flow ModelExample - Data Flow ModelWave buoys ทำ#(นั provide data about wave amplitudes ความกี่วางขวาง and velocities ความเร*ว worldwide ทำ��วโล้กี่

How will the data be transferred ส"�อไปถึ.ง ?

Page 20: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering2020

Data flow diagramsData flow diagrams

DFDs model the system from a functional DFDs model the system from a functional perspectiveperspective

Write down and track how the data are Write down and track how the data are associated associated เช"�อมโยงเช"�อมโยง with a process with a process

Helpful for an overall Helpful for an overall ทำ�$งห์มดทำ�$งห์มด understanding understanding of the systemof the system

Data flow diagrams may also be used to Data flow diagrams may also be used to show data exchange between a system and show data exchange between a system and other systems in its environment.other systems in its environment.

Page 21: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering2121

Insulin pump DFDInsulin pump DFD

Insulinrequirementcomputation

Blood sugaranalysis

Blood sugarsensor

Insulindelivery

controller

Insulinpump

Blood

Bloodparameters

Blood sugarlevel

Insulin

Pump controlcommands Insulin

requirement

Page 22: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering2222

Stimulus/response modelsStimulus/response models

These model the behaviour of the system in These model the behaviour of the system in response to external and internal events.response to external and internal events.

They show the system’s responses to stimuliThey show the system’s responses to stimuli Often used for modelling real-time systems.Often used for modelling real-time systems. When there is an event the system goes from When there is an event the system goes from

one state to anotherone state to another

Page 23: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering2323

StatechartsStatecharts

Allow the decomposition of a model into Allow the decomposition of a model into sub-modelssub-models

Can be complemented by tables Can be complemented by tables describing the states and the stimulidescribing the states and the stimuli

Example: Microwave ovenExample: Microwave oven

Page 24: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering2424

Microwave oven modelMicrowave oven model

Full power

Enabled

do: operateoven

Fullpower

Halfpower

Halfpower

Fullpower

Number

Dooropen

Doorclosed

Doorclosed

Dooropen

Start

do: set power= 600

Half powerdo: set power

= 300

Set time

do: get numberexit: set time

Disabled

Operation

Cancel

Waiting

do: displaytime

Waiting

do: displaytime

do: display 'Ready'

do: display'Waiting'

Timer

Timer

Page 25: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering2525

Microwave oven state Microwave oven state descriptiondescription

State Description

Waiting The oven is waiting for input. The display shows the current time.

Half power The oven power is set to 300 watts. The display shows 'Half power'.

Full power The oven power is set to 600 watts. The display shows 'Full power'.

Set time The cooking time is set to the user’s input value. The display shows the cooking time selected and is updated as the time is set.

Disabled Oven operation is disabled for safety. Interior oven light is on. Display shows 'Not ready'.

Enabled Oven operation is enabled. Interior oven light is off. Display shows 'Ready to cook'.

Operation Oven in operation. Interior oven light is on. Display shows the timer countdown. On completion of cooking, the buzzer is sounded for 5 seconds. Oven light is on. Display shows 'Cooking complete' while buzzer is sounding.

Page 26: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering2626

Microwave oven stimuliMicrowave oven stimuli

Page 27: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering2727

Microwave oven operationMicrowave oven operation

Cookdo: run

generator

Done

do: buzzer onfor 5 secs.

Waiting

Alarm

do: displayevent

do: checkstatus

Checking

Turntablefault

Emitterfault

Disabled

OK

Timeout

Time

Door open Cancel

Operation

Page 28: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering2828

Semantic data modelsSemantic data models Used to give the logical structure of data Used to give the logical structure of data

processed by the system.processed by the system. An entity-relation-attribute model sets out An entity-relation-attribute model sets out

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

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

Page 29: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering2929

Library semantic modelLibrary semantic model

Source

titlepublisherissuedatepages

1

Article

titleauthorspdf filefee

has-links

1

Buyer

nameaddresse-mailbilling info

places

fee-payable-to

n

1

n

published-in

delivers in

m n

1

1

1

CopyrightAgencynameaddress

Country

copyright formtax rate

1

Order

order numbertotal paymentdatetax status

in

1

Page 30: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering3030

Data dictionariesData dictionaries

Data dictionaries are lists of all of the names Data dictionaries are lists of all of the names used in the system models. Descriptions of used in the system models. Descriptions of the entities, relationships and attributes are the entities, relationships and attributes are also included also included ประกี่อบดวยประกี่อบดวย..

AdvantagesAdvantages Support name management and avoid Support name management and avoid ห์ล้�กี่เล้��ยงห์ล้�กี่เล้��ยง

duplication duplication กี่ารทำ�าซ้ำ�$ากี่ารทำ�าซ้ำ�$า Store Store ส��งทำ��กี่�กี่ติ#นัไวส��งทำ��กี่�กี่ติ#นัไว of organisational knowledge of organisational knowledge

linking analysis, design and implementationlinking analysis, design and implementation

Page 31: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering3131

Data dictionary entriesData dictionary entries

Page 32: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering3232

Object models-1Object models-1 Object models describe the system in terms of Object models describe the system in terms of

object classes and their associations object classes and their associations กี่ารเช"�อมติ�ดกี่ารเช"�อมติ�ดกี่�นักี่�นั

An object class is an abstraction An object class is an abstraction นัามธรรมนัามธรรม over a over a set of objects with same attributes and the set of objects with same attributes and the services (operations) given by each object.services (operations) given by each object.

Various object models may be worked outVarious object models may be worked out Inheritance models;Inheritance models; Aggregation models;Aggregation models; Interaction models.Interaction models.

Page 33: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering3333

Object models-2Object models-2 Natural way of thinking about real-world entities Natural way of thinking about real-world entities

manipulated manipulated ด1แล้ด1แล้ by the systemby the system More abstract entities are more difficult to model More abstract entities are more difficult to model

using this approachusing this approach Object class identification is a difficult process: Object class identification is a difficult process:

need a deep understanding of the application need a deep understanding of the application domaindomain

Object classes for domain entities are reusable Object classes for domain entities are reusable (we can use them again) (we can use them again) ซ้ำ.�งนั�ามาใชให์ม(ซ้ำ.�งนั�ามาใชให์ม( in other in other projectsprojects

Page 34: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering3434

Inheritance modelsInheritance models Organise the domain object classes into a Organise the domain object classes into a

hierarchy.hierarchy. Classes at the top of the hierarchy show the Classes at the top of the hierarchy show the

common features of all classes.common features of all classes.

Object classes inherit Object classes inherit ส"บติ(อส"บติ(อ / / ร�บมรดกี่ร�บมรดกี่ their their attributes and services from the super-classes, attributes and services from the super-classes, they may then be specified they may then be specified กี่�าห์นัดกี่�าห์นัด

Page 35: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering3535

Library class hierarchyLibrary class hierarchy

Catalogue numberAcquisition dateCostTypeStatusNumber of copies

Library item

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

AuthorEditionPublication dateISBN

Book

YearIssue

Magazine

DirectorDate of releaseDistributor

Film

VersionPlatform

Computerprogram

TitlePublisher

Published item

TitleMedium

Recorded item

Page 36: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering3636

User class hierarchyUser class hierarchy

NameAddressPhoneRegistration #

Library user

Register ()De-register ()

Affiliation

Reader

Items on loanMax. loans

Borrower

DepartmentDepartment phone

Staff

Major subjectHome address

Student

Page 37: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering3737

Multiple inheritanceMultiple inheritance Rather than getting the attributes and Rather than getting the attributes and

services from a single parent class, a services from a single parent class, a system which supports system which supports multiple multiple inheritanceinheritance allows object classes to inherit allows object classes to inherit from more than one super-classfrom more than one super-class

This can lead to semantic conflicts when This can lead to semantic conflicts when attributes/services attributes/services with the same namewith the same name in in different super-classes different super-classes have different have different meaningmeaning..

Page 38: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering3838

Multiple inheritanceMultiple inheritance

# Tapes

Talking book

AuthorEditionPublication dateISBN

Book

SpeakerDurationRecording date

Voice recording

Page 39: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering3939

Object aggregationObject aggregation An aggregation An aggregation กี่ารรวมกี่�นักี่ารรวมกี่�นั model shows model shows

how classes that are collections how classes that are collections กี่ารรวมติ�วกี่ารรวมติ�วกี่�นัเป3นักี่ล้#(มเป3นักี่องกี่�นัเป3นักี่ล้#(มเป3นักี่อง are composed of other are composed of other classes.classes.

Aggregation models are similar Aggregation models are similar เห์ม"อนักี่�นัเห์ม"อนักี่�นั to the part-of relationship in semantic data to the part-of relationship in semantic data models.models.

Page 40: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering4040

Object aggregationObject aggregation

Videotape

Tape ids.

Lecturenotes

Text

OHP slides

Slides

Assignment

Credits

Solutions

TextDiagrams

Exercises

#ProblemsDescription

Course titleNumberYearInstructor

Study pack

Page 41: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering4141

Object behaviour modellingObject behaviour modelling

A behavioural model shows the A behavioural model shows the interactions interactions ปฏิ�กี่�ร�ยาปฏิ�กี่�ร�ยา between objects to between objects to get a get a particular system behaviourparticular system behaviour that is that is specified specified กี่�าห์นัดกี่�าห์นัด as a scenarioas a scenario

Sequence Sequence กี่ารเร�ยงล้�าด�บกี่ารเร�ยงล้�าด�บ diagrams (or diagrams (or collaboration collaboration กี่ารร(วมม"อกี่ารร(วมม"อ diagrams) are diagrams) are used to show interaction between objects.used to show interaction between objects.

Page 42: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering4242

Issue of electronic itemsIssue of electronic items

:Library User

Ecat:Catalog

Lookup

Issue

Display

:Library ItemLib1:NetServer

Issue licence

Accept licence

Compress

Deliver

Page 43: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering4343

Structured methodsStructured methods

Structured methods incorporate system Structured methods incorporate system modelling as an inherent part of the modelling as an inherent part of the method.method.

Methods define a set of models, a process Methods define a set of models, a process for deriving these models and rules and for deriving these models and rules and guidelines that should apply to the models.guidelines that should apply to the models.

CASE tools support system modelling as CASE tools support system modelling as part of a structured method.part of a structured method.

Page 44: (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael

(C) Michael Brückner 2005/2006 Software Engineering(C) Michael Brückner 2005/2006 Software Engineering4444

Method weaknessesMethod weaknesses They do not show non-functional system They do not show non-functional system

requirements.requirements. They do not usually give information which They do not usually give information which

model is best used for a given problemmodel is best used for a given problem They may produce too much documentation.They may produce too much documentation.