Object-Oriented Software Engineering - - PDF document

object oriented software engineering
SMART_READER_LITE
LIVE PREVIEW

Object-Oriented Software Engineering - - PDF document

Object-Oriented Software Engineering


slide-1
SLIDE 1
  • Using UML, Patterns, and Java

Object-Oriented Software Engineering

  • Bernd Bruegge & Allen H. Dutoit

Object-Oriented Software Engineering: Using UML, Patterns, and Java 2

  • Bernd Bruegge & Allen H. Dutoit

Object-Oriented Software Engineering: Using UML, Patterns, and Java 3

  • !"# $%
  • &'(
  • (
  • )*
  • (
  • +!

%

  • ,
  • (
  • (-.
  • -

!/0%

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4

  • +
  • 1*)
  • 2'
  • 2
  • )

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 5

  • 1*)
  • 2,3
  • +-!'-'%
  • 4-

!%

  • 5
  • 2
  • 2
  • +
  • 5
  • Bernd Bruegge & Allen H. Dutoit

Object-Oriented Software Engineering: Using UML, Patterns, and Java 6

!"

  • 678
  • )-
  • +'
  • '-
slide-2
SLIDE 2
  • Bernd Bruegge & Allen H. Dutoit

Object-Oriented Software Engineering: Using UML, Patterns, and Java 7

#$$% &

  • 22
  • )
  • 29
  • +-
  • Bernd Bruegge & Allen H. Dutoit

Object-Oriented Software Engineering: Using UML, Patterns, and Java 8

$

  • +37-
  • Client

Component Leaf

Operation()

Composite

Operation() AddComponent RemoveComponent() GetChild()

Children

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 9

#$$% &

  • 22
  • )
  • 32!)

' '%

  • 93
  • 29
  • +
  • 3)-!+
  • -'
  • '%
  • 9+

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 10

" %"'$ % $

Software System Class Subsystem Children * User

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 11

" %( '% $

Software Lifecycle Task Activity Children * Manager

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 12

$$'$

  • University

School Department Organization Chart (variable aggregate): Dynamic tree (recursive aggregate): Car Fixed Structure: Doors Wheels Battery Engine Compound Statement Simple Statement Program Block

* * * * * *

Dynamic tree (recursive aggregate):

Composite Pattern

slide-3
SLIDE 3
  • Bernd Bruegge & Allen H. Dutoit

Object-Oriented Software Engineering: Using UML, Patterns, and Java 13

)!$

  • Client

Graphic Circle

Draw()

Picture

Draw() Add(Graphic g) RemoveGraphic) GetChild(int)

Children Line

Draw()

  • The Graphic Class represents

both primitives (Line, Circle) and their containers (Picture)

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 14

*$+'

  • +-
  • 63)24
  • +-
  • 6-
  • 2
  • +
  • +'
  • 9!%
  • '
  • +
  • 6

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 15

* Resource Participant Fund Equipment Schedule Task * Activity con- Facility * Staff Department Team produces Work Set of Work * Product Products * Internal Project Work respon- sumes Package Role * des- * cribes Deliverable sible plays for Organi- zation Structure * * depends Work Product Project Function Project Outcome Work Organizational Unit Work Breakdown

,+$!$+

Composite Patterns Taxonomies Basic Abstractions

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 16

,+

  • 17
  • : +''

$ 6'+7 ' ; +

<-"

Work Product *

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 17

  • Bernd Bruegge & Allen H. Dutoit

Object-Oriented Software Engineering: Using UML, Patterns, and Java 18

!-"((.

  • Delegation

Inheritance

The adapter pattern uses inheritance as well as delegation:

  • Interface inheritance is used to specify the interface of the Adapter

class.

  • Delegation is used to bind the Adapter and the Adaptee
slide-4
SLIDE 4
  • Bernd Bruegge & Allen H. Dutoit

Object-Oriented Software Engineering: Using UML, Patterns, and Java 19

!

  • +

=

  • /3-
  • ,-

!'%

  • +
  • 3
  • ,
  • ,
  • *
  • 6-!%

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 20

/

  • ,/
  • 0!5>&:??@A%
  • )BCD
  • )
  • Bernd Bruegge & Allen H. Dutoit

Object-Oriented Software Engineering: Using UML, Patterns, and Java 21

/

Taxonomy in Application Domain Taxonomy in Solution Domain

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 22

#'0$/&

Taxonomy in Application Domain Taxonomy in Solution Domain

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 23

1 /

  • +
  • .
  • B-'

!%

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 24

2/

  • +-
  • !2
  • %'-
  • *'

!-%'- !)2)1+%'

VIP Seat (in Vehicle Subsystem) SeatImplementation Stub Code SARTSeat AIMSeat

imp

GetPosition() SetPosition()

slide-5
SLIDE 5
  • Bernd Bruegge & Allen H. Dutoit

Object-Oriented Software Engineering: Using UML, Patterns, and Java 25

"$$

public interface SeatImplementation { public int GetPosition(); public void SetPosition(int newPosition); } public class Stubcode implements SeatImplementation { public int GetPosition() { // stub code for GetPosition } ... } public class AimSeat implements SeatImplementation { public int GetPosition() { // actual call to the AIM simulation system } …. } public class SARTSeat implements SeatImplementation { public int GetPosition() { // actual call to the SART seat simulator }... }

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 26

! / "$3

  • !"
  • Bernd Bruegge & Allen H. Dutoit

Object-Oriented Software Engineering: Using UML, Patterns, and Java 27

!1/

  • 2
  • D
  • +
  • )=

!'%

  • /0
  • )''
  • &/0
  • E/0/.0'-
  • /0

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 28

  • 7-
  • ) -

! %

  • 5-

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 29

,+$

  • 2:

2$!- %

  • +/1-0
  • 68
  • 4
  • 68
  • 3=
  • 6

' Subsystem 2 Subsystem 1 AIM Card SA/RT Seat

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 30

"'$%4! /

  • +
  • !%
  • 2
  • 6.
  • 1.5
  • 7-
  • )D
  • 7-!%
  • +
slide-6
SLIDE 6
  • Bernd Bruegge & Allen H. Dutoit

Object-Oriented Software Engineering: Using UML, Patterns, and Java 31

*5!%

  • +
  • E
  • F
  • 6
  • VIP Subsystem

AIM Card SA/RT Seat Vehicle Subsystem API

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 32

#'&

  • )F
  • +F*

+F- '

  • +
  • 4)
  • +
  • Bernd Bruegge & Allen H. Dutoit

Object-Oriented Software Engineering: Using UML, Patterns, and Java 33

*5!%

  • +
  • E
  • F
  • 6
  • VIP Subsystem

AIM Card SA/RT Seat Vehicle Subsystem API

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 34

"$$'

  • )
  • -
  • +
  • 3.
  • 1

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 35

"$$'

  • 37
  • 57
  • -
  • )7
  • D7