16
Sept 2004 91.3913 Ron McFady en 1 Today Sept 16: Chapters 1, 2, 3 Introductory material Next Tuesday Sept 21: Rational Rose and Use Cases Chapter 6 - Use Cases Followed by Chapters 9 and 25

Sept 200491.3913 Ron McFadyen1 Today Sept 16: Chapters 1, 2, 3 Introductory material Next Tuesday Sept 21: Rational Rose and Use Cases Chapter 6 - Use

Embed Size (px)

Citation preview

Page 1: Sept 200491.3913 Ron McFadyen1 Today Sept 16: Chapters 1, 2, 3 Introductory material Next Tuesday Sept 21: Rational Rose and Use Cases Chapter 6 - Use

Sept 2004 91.3913 Ron McFadyen 1

Today Sept 16:

Chapters 1, 2, 3

Introductory material

Next Tuesday Sept 21:

Rational Rose and Use Cases

Chapter 6 - Use Cases

Followed by Chapters 9 and 25

Page 2: Sept 200491.3913 Ron McFadyen1 Today Sept 16: Chapters 1, 2, 3 Introductory material Next Tuesday Sept 21: Rational Rose and Use Cases Chapter 6 - Use

Sept 2004 91.3913 Ron McFadyen 2

UML and patterns

UML is a collection of techniques, a notation

One case study throughout text

NextGenPOS

Text makes reference to the UP in order to set UML and the applications of patterns into a context

UP is an iterative development methodology

Iterative is very different from Waterfall

Ch 1 OOA/D

Page 3: Sept 200491.3913 Ron McFadyen1 Today Sept 16: Chapters 1, 2, 3 Introductory material Next Tuesday Sept 21: Rational Rose and Use Cases Chapter 6 - Use

Sept 2004 91.3913 Ron McFadyen 3

Ch 1 OOA/D

OO analysis

Emphasizes finding and describing the objects in the problem domain

Example: playing a dice game

One artifact is the Domain Model

PlayerDie

DiceGame

1

1

1 2

2

1

plays

rolls

includes

name

faceValue

faceValue

Page 4: Sept 200491.3913 Ron McFadyen1 Today Sept 16: Chapters 1, 2, 3 Introductory material Next Tuesday Sept 21: Rational Rose and Use Cases Chapter 6 - Use

Sept 2004 91.3913 Ron McFadyen 4

Ch 1 OOA/D

OO design

Emphasizes defining software objects and how they collaborate to fulfill requirements

To investigate and document the nature of how objects behave, we use interaction diagrams (and other techniques)

die1:Die:DiceGame die2:Die

play()roll()

roll()

getFaceValue()

getFaceValue()

Page 5: Sept 200491.3913 Ron McFadyen1 Today Sept 16: Chapters 1, 2, 3 Introductory material Next Tuesday Sept 21: Rational Rose and Use Cases Chapter 6 - Use

Sept 2004 91.3913 Ron McFadyen 5

Ch 1 OOA/D

OO design

As we design, we assign responsibilities to classes and our domain model evolves to a design class diagram

Player Die

DiceGame

1

1

1 2

2

1

plays

rolls

includes

name faceValue

faceValue

play()

roll()

getFaceValue()

Page 6: Sept 200491.3913 Ron McFadyen1 Today Sept 16: Chapters 1, 2, 3 Introductory material Next Tuesday Sept 21: Rational Rose and Use Cases Chapter 6 - Use

Sept 2004 91.3913 Ron McFadyen 6

Ch 1 OOA/D

Unified Modeling Language (UML)

Standard language for documenting OO systems

Emerged due to efforts of Booch, Rumbaugh and Jacobson – the 3 amigos

Page 7: Sept 200491.3913 Ron McFadyen1 Today Sept 16: Chapters 1, 2, 3 Introductory material Next Tuesday Sept 21: Rational Rose and Use Cases Chapter 6 - Use

Sept 2004 91.3913 Ron McFadyen 7

Ch 2 Iterative Development and the Unified Process (UP)

Presented as an example process/methodology to give some structure/context to the presentation of the case study, UML, and patterns.

•Up is a from the Rational Corporation

•An iterative development process

•each iteration yields a working system

•iterations last anywhere from 2 weeks to 6 months

•many iterations make a project

•risk-driven

•early iterations prove out the major risks or show-stoppers

Page 8: Sept 200491.3913 Ron McFadyen1 Today Sept 16: Chapters 1, 2, 3 Introductory material Next Tuesday Sept 21: Rational Rose and Use Cases Chapter 6 - Use

Sept 2004 91.3913 Ron McFadyen 8

Unified Process

•several activities

•deliverables are referred to as artifacts - works produced (use cases, code, database designs, …)

•Each iteration involves choosing some requirements and quickly designing, implementing and testing

•Relies on feedback. System converges towards the appropriate design

•4 phases

• inception, elaboration, construction, transition

•Inception

•Use case model is started

Page 9: Sept 200491.3913 Ron McFadyen1 Today Sept 16: Chapters 1, 2, 3 Introductory material Next Tuesday Sept 21: Rational Rose and Use Cases Chapter 6 - Use

Sept 2004 91.3913 Ron McFadyen 9

Figure 2.4 Illustrates the activities in UP used to develop a system

•Iterative development is central to the UP

Page 10: Sept 200491.3913 Ron McFadyen1 Today Sept 16: Chapters 1, 2, 3 Introductory material Next Tuesday Sept 21: Rational Rose and Use Cases Chapter 6 - Use

Sept 2004 91.3913 Ron McFadyen 10

Figure 2.3 illustrates the 4 phases comprising the UP

More requirements gathering More programming

Page 11: Sept 200491.3913 Ron McFadyen1 Today Sept 16: Chapters 1, 2, 3 Introductory material Next Tuesday Sept 21: Rational Rose and Use Cases Chapter 6 - Use

Sept 2004 91.3913 Ron McFadyen 11

design

analysis

implementation

testing

maintenance

Waterfall Development Process

Linear

•one phase is completed before the next begins

•in practice, must revise earlier decisions based on experience in project - I.e. there is feedback

Section 2.7

Page 12: Sept 200491.3913 Ron McFadyen1 Today Sept 16: Chapters 1, 2, 3 Introductory material Next Tuesday Sept 21: Rational Rose and Use Cases Chapter 6 - Use

Sept 2004 91.3913 Ron McFadyen 12

design

analysis

implementation

testing

maintenance

Waterfall Development Process

Not iterative

•errors in earlier phases are really expensive to fix

•doesn’t allow for prototyping which is a strong aid for confirming requirements

Section 2.7

Page 13: Sept 200491.3913 Ron McFadyen1 Today Sept 16: Chapters 1, 2, 3 Introductory material Next Tuesday Sept 21: Rational Rose and Use Cases Chapter 6 - Use

Sept 2004 91.3913 Ron McFadyen 13

Ch 3 Case Study: the NextGen POS System

Record sales

Handle payments

Retail store

Interfaces to service applications

Tax calc

Inventory control

Client – web browser

Commercial application – sell to different clients

Page 14: Sept 200491.3913 Ron McFadyen1 Today Sept 16: Chapters 1, 2, 3 Introductory material Next Tuesday Sept 21: Rational Rose and Use Cases Chapter 6 - Use

Sept 2004 91.3913 Ron McFadyen 14

NextGen POS

Layered architecture

Page 15: Sept 200491.3913 Ron McFadyen1 Today Sept 16: Chapters 1, 2, 3 Introductory material Next Tuesday Sept 21: Rational Rose and Use Cases Chapter 6 - Use

Sept 2004 91.3913 Ron McFadyen 15

Elaboration Iteration 1Ch 9-20

Elaboration Iteration 1Ch 9-20

Elaboration Iteration 2Ch 21-23

Elaboration Iteration 2Ch 21-23

Iteration 3 Elaboration Ch 24-34

Iteration 3 Elaboration Ch 24-34

InceptionCh 4-8

InceptionCh 4-8

The inception phase

An initial step to investigate the prospective system, develop a vision, and make a decision to proceed or not

We focus on the Use Case Model that is started in the Inception phase

The elaboration phase

Text uses 3 iterations to develop NextGenPOS

Note that Java code is presented in Ch 20

Page 16: Sept 200491.3913 Ron McFadyen1 Today Sept 16: Chapters 1, 2, 3 Introductory material Next Tuesday Sept 21: Rational Rose and Use Cases Chapter 6 - Use

Sept 2004 91.3913 Ron McFadyen 16

3C13

Lab can be used to work with Rational Rose

Other tools you might use: Argo/UML, Poseidon, Visio, …

Userid/password will be available Next week