Top Banner
OOAD-summary OOAD summary
36

OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

May 19, 2018

Download

Documents

letram
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

OOAD-summaryOOAD summary

Page 2: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

OverviewOverview

Th d l t• The development process• Documents• OAD in Requirements Analysis

1 Problem Domain Anal sis1. Problem Domain Analysis2. System Definition3 Class Association Dependency3. Class, Association, Dependency4. Behaviour, Event

Page 3: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

Your Report!Your Report!

1. Requirements Specification1.1 System Definition

1 2 P bl D i St t1.2 Problem Domain Structure

1.3 Application Domain Structure

1.4 Acceptance Test Specificationp p

2. Architecture

3 Modules3. Modules

4. Implementation

5 T t5. Test

Page 4: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

Example:Example: Computer Vison based implement guidance in row

cropsp

A rich picture

Page 5: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

System Definition

•A concise description of a computerized system •Expressed in natural language

Example:Example:A computer system which guides an implement through crops in rows. The system must not be slower than the traditional guidance methods, and must relieve human operators of local monitoring and control tasksoperators of local monitoring and control tasks.

Page 6: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

Example:The prototype softwareExample:The prototype software

Page 7: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

FACTOR

A concise description of a computerized system expressed in natural languageFACTOR:FACTOR:•Functionality for end use•Application Domain of end useApplication Domain of end use•Conditions for success•Technology to be usedgy•Object System •Realization conditions

Page 8: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

Example: FACTOR

A computer system which guides an implement through crops in rows (Application Domain) Thethrough crops in rows. (Application Domain). The system must not be slower than traditional guidance methods (Conditions), and must relieve human operators of local monitoring and control tasksoperators of local monitoring and control tasks(Functionality).The final system must be implemented on a TriMediaThe final system must be implemented on a TriMediaTRS8XX with a simple display and button userinterface (Technology and Object System)

The system shall be very dependable and inexpensive to produce (Realization Constraints)inexpensive to produce (Realization Constraints).

Page 9: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

Problem Domain DescriptionProblem Domain Description

• Class Diagrams (things and their relations)• Selected Behaviours (events and their (

sequence)• Notes - text (interpretation of concepts)( p p )

Page 10: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

Example: Problem Domain StructureExample: Problem Domain Structure

Page 11: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

Example: Tractor Behaviour

Outside row

In row

Outside rowManual Autostart

stop

Page 12: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

Example: Interaction of Tractor and Row Weeder

:Tractor :RowWeeder

lower

engage

no rowno_row

Page 13: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

Summary: P bl D i A l iProblem Domain Analysis

• Rich Picture• System definition - FACTOR• Structure - Class Diagrams • Behaviour - Statechart Diagrams• Interaction - Sequence Diagrams• Notes

Page 14: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

Your Report - 1!Your Report 1!

1.1. RequirementsRequirements SpecificationSpecification1.1 System Definition1.1 System Definition

1 2 P bl D i1 2 P bl D i St tSt t1.2 Problem Domain 1.2 Problem Domain StructureStructure

1.3 Application Domain Structure

1.4 Acceptance Test Specificationp p

2. Architecture

3 Modules3. Modules

4. Implementation

5 T t5. Test

Page 15: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

Your Report - 2!Your Report 2!1.1. RequirementsRequirements SpecificationSpecification1 1 S t D fi iti1 1 S t D fi iti1.1 System Definition1.1 System Definition

1.2 Problem Domain 1.2 Problem Domain StructureStructure

1.3 Application Domain Structure

1.3.1 Use Cases

1.3.2 Functions

1.3.3 Interfaces

1.4 Acceptance Test Specification

2 A hit t2. Architecture2.1 Criteria

2 X Module Interfaces2.X Module Interfaces

2.T Integration Test Specification

Page 16: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

OverviewOverview

• Software Requirements• OAD in Application Domain Analysis

1. Usage2. Functions

Architecture for Embedded Systems

3. Interfaces

Architecture for Embedded Systems

Page 17: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

Activities: application domain analysis

System

Usage

definitionand Problem

Domainmodels

Interfaces

Usagemodels

Application

Functions

ApplicationDomainModel

andSoftware

Requirements

Page 18: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

Use Case

<<actor>> <<actor>>

namename name

<<actor>>name

Page 19: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

Activities: use case analysisActivities: use case analysis

System definition Use cases

Evaluate

Analysework tasks

systematically

Str ct rework tasks Structurethe usecases

Find actors and use cases

Page 20: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

E lExample:Start tool use

<<actor>> <<actor>>

start_trackingTractorOperator RowWeeder

E h i d ib d t t llEach use case is described textually and/or by a behaviour diagram

Page 21: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

Actor stereotype

start_tracking<<actor>>

RowWeederRowWeeder

TractorOperatorTractorOperator

Page 22: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

FunctionsFunctions

The actions of actors in use cases:• Update – state change in (internal) model

• Signal – event in (internal) model• Read – (internal) model state inspection

• Compute – (internal) model state summary

Update/Read/

Compute<<actor>>

SystemSignal

System

Page 23: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

InterfacesInterfaces

SystemIPanelUpdate/Read/

Compute

<<Interface>>AlarmSignal

Page 24: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

Example: User InterfaceExample: User Interface

Page 25: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

Example: Camera InterfaceExample: Camera Interface

The camera delivers JPEG compressed images with a frame rate of up to 10 per second.

The resolution is ...

The hardware interface is a DMA ...

The standard software driver is ...

Page 26: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

Summary: A li i D i A l iApplication Domain Analysis

• Use CasesF ti• Functions

• Interfaces

Page 27: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

Your Report - 3!Your Report 3!1.1. RequirementsRequirements SpecificationSpecification1 1 S t D fi iti1 1 S t D fi iti1.1 System Definition1.1 System Definition

1.2 Problem Domain 1.2 Problem Domain StructureStructure

1.3 Application Domain Structure

1.3.1 Use Cases

1.3.2 Functions

1.3.3 Interfaces

1.4 Acceptance Test Specification

2 A hit t2. Architecture2.1 Criteria

2 X Module Interfaces2.X Module Interfaces

2.T Integration Test Specification

Page 28: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

Design criteriaDesign criteria• Usable• Secure• Efficient• Correct• Reliable• Maintainable• Testable• Flexible• Comprehensible• Reusable• Portable• Interoperable

Page 29: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

Architecture

Page 30: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

Interface Class and Dependency

IRow

Segmentation PositionUpdate

IRowuse

<<interface>>IRow

userealise

Page 31: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

PackagePackage

name

related classes

Page 32: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

Active ClassActive Class

name

Page 33: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

ProcessesProcesses

• Method in passive class - called from main

• Method in passive class - linked to an EventEvent

• Method run in active class – explicit startstart

Specified in UML by Statechart Diagram

Page 34: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

Signals and EventsSignals and Events

• Signals are asynchronous eventsSignals are asynchronous events• A Signal or Event is a Class

A th d h d d d• A method may have a send dependencyon a Signal

• A method that recieves a Signalhas a use dependencyhas a use dependency

Page 35: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

Sensors, Actuators and ControlControl

Architecture for Embedded Systems

• Sensors have passive interfaces withevent methodsevent methods

• Actuators have passive interfaces withevent methodsevent methods

• Control is active and uses sensors and actuators

Page 36: OOAD-summary - Aalborg Universitetpeople.cs.aau.dk/~bnielsen/ITEV-GIS09-sem2/ITEV-miniprojOOAD.pdf · OOAD-summary. Overview • Th d l ... 1.3.3 Interfaces ... 2.1 Criteria 2X2.X

Your Report - 4!Your Report 4!1.1. RequirementsRequirements SpecificationSpecification

2. Architecture2.1 Criteria

2.X Module Interfaces

2.T Integration Test Specification

d l3. Modules3.X.1 Module Interface

3 X 2 Module Design3.X.2 Module Design

3.X.3 Module Test Specification

4 Implementation4. Implementation

5. Test