object-oriented application development using vb.net 1 chapter 5 object-oriented analysis and design

40
Object-Oriented Application Development Using VB .NET 1 Chapter 5 Object-Oriented Analysis and Design

Upload: manuel-fithian

Post on 16-Dec-2015

229 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

1

Chapter 5

Object-Oriented Analysis and Design

Page 2: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

2

Objectives

In this chapter, you will:

• Explore OOA and OOD

• Understand the Unified Modeling Language (UML)

• Use three-tier design in OO development

• Learn about the Bradshaw Marina case study

Page 3: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

3

Exploring OOA and OOD

• System analysis: – Study

– Understand

– Define

the system requirements

• System design: show how various system components will be implemented using specific technology

Page 4: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

4

Exploring OOA and OOD

• System requirements– Define what the system needs to accomplish for

users in business terms

– Usually described using • Diagrams• Models

Page 5: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

5

Exploring OOA and OOD

• A model depicts some aspect of the required system– Logical models: created during system analysis

– Physical models: created during system design

• Model-driven development: creating logical and physical models during analysis and design

Page 6: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

6

Exploring OOA and OOD

• OO development models– Define classes of objects

– Depict object interactions

– Are based on UML

– Include• Use case diagrams• Class diagrams• Sequence diagrams

Page 7: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

7

Exploring OOA and OOD

• OO development works well with an iterative approach to development

• Iterative development– Analysis, design, and programming are performed

in parallel, with the process repeated several times until the project is done

– Contrasts with the waterfall method• An earlier approach• All of analysis was completed before design could

start, and all of design was completed before programming could start

Page 8: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

8

Exploring OOA and OOD

Page 9: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

9

Exploring OOA and OOD

• OO development also uses incremental development– Some of the system is completed and put into

operation before the entire system is finished

Page 10: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

10

Exploring OOA and OOD

• Spiral model– An increasingly popular approach to development

– Emphasizes the iterative nature of development

– Project appears as a spiral starting in the middle and working its way out

– Development team completes analysis, design, prototyping, and evaluation tasks for each iteration, starting in the middle of spiral

Page 11: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

11

Exploring OOA and OOD

Page 12: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

12

Understanding the Unified Modeling Language

• Object-oriented development requires a collection of models that depict system requirements and designs

• UML defines a standard set of constructs and diagrams to model OO systems

Page 13: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

13

Creating and Interpreting the Use Case Diagram

• First step in system modeling: define the main system functions

• A use case diagram shows two key concepts: – Use case: a system function

– Actor: person or entity using the system

Page 14: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

14

Creating and Interpreting the Use Case Diagram

Page 15: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

15

Creating and Interpreting the Use Case Diagram

• One approach to identifying use cases is to identify events the system must respond to

• Three types of events can affect a system: – External events: occur outside the system and

require the system to respond

– Temporal events: occur at a specific point in time, such as at the end of each day or at the end of the month

– State event: occur when the properties of an object change. Require system processing

Page 16: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

16

Creating and Interpreting the Use Case Diagram

• Each use case can be documented as a series of steps users follow when they interact with the system

• Scenarios: variations in the main steps• As the development team identifies use cases, it

creates use case diagrams

Page 17: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

17

Creating and Interpreting the Use Case Diagram

• An activity diagram– An additional diagram defined by UML that can be

used to document use cases

– Sometimes created for each scenario for a use case

Page 18: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

18

Creating and Interpreting the Class Diagram

• Class diagram– Shows the classes involved in the system

– Is a rectangle with three sections• Top section contains name of the class• Middle section contains attributes of the class• Bottom section contains methods of the class

Page 19: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

19

Creating and Interpreting the Class Diagram

Page 20: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

20

Creating and Interpreting the Class Diagram

• Class Diagram– Association relationship between two classes is

shown with a line connecting the two classes• Number of associations between classes is written

on each end of the line• UML refers to the number of associations as

multiplicity

Page 21: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

21

Creating and Interpreting the Class Diagram

• Class Diagram– Shows generalization/specialization hierarchies

(inheritance)

– Abstract classes shown in italics• Objects cannot be created for an abstract class• Only serves to allow subclasses to inherit from it

Page 22: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

22

Creating and Interpreting a Sequence Diagram

Page 23: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

23

Creating and Interpreting a Sequence Diagram

• Sequence diagram– Shows interactions between objects in a system,

usually for one use case or scenario

– Often called a dynamic model

• Class diagram– Does not highlight object interactions

– Often called a static model

Page 24: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

24

Creating and Interpreting a Sequence Diagram

• In a sequence diagram– Actor can be shown as a stick figure or a rectangle

– Objects are shown as rectangles

– Lifelines• Represent a sequence of time• Shown as either a dashed line or a narrow box

– Horizontal arrows represent messages sent or received in sequence

– Data returned in response to a message is shown as a dashed line

Page 25: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

25

Creating and Interpreting a Sequence Diagram

Page 26: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

26

Creating and Interpreting a Sequence Diagram

• In a sequence diagram– Object names are always underlined and begin

with a lowercase letter

– Class names are always capitalized

– Objects can be named by • Using generic object names to clarify the class• Including the name of the class after the name of the

object, separated by a colon

– Message names are written above the message line

Page 27: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

27

Using Three-Tier Design in OO Development

• Three-tier design requires that OO system developers separate three categories of classes when designing and building a system

• Three tiers– Graphical user interface (GUI) classes

– Problem domain classes

– Data access classes

Page 28: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

28

Using Three-Tier Design in OO Development

• Separating GUI classes, problem domain classes, and data access classes leads to loosely coupled system components

• With loosely coupled components– A component can be modified with minimal effects

on other components• Makes it easier to maintain and enhance the system

– Components are easier to reuse

Page 29: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

29

Using Three-Tier Design in OO Development

• Three-tier design– Provides a framework for defining OOA and OOD

• OOA involves identifying and modeling the problem domain classes

• In OOD, decisions about the user interface and about database management are made

– Works well with• Iterative development • Incremental development 

• The book follows the three-tier design approach

Page 30: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

30

Introducing the Bradshaw Marina Case Study

• Bradshaw Marina case study demonstrates OO development principles and practices

• When a business determines it needs a computer system, it works with a team of developers to design and develop the system

Page 31: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

31

Introducing the Bradshaw Marina Case Study

• Tasks of development team– Analyze business and identify system functions

– Begin object-oriented analysis to identify the required use cases and scenarios, creating use case diagrams

– Identify required problem domain classes and create class diagram

– Develop sequence diagrams to model object interactions

Page 32: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

32

Exploring the Background of Bradshaw Marina

• Bradshaw Marina– A privately owned corporation that rents boat slips

and provides boat services on Clinton Lake

– Wants an automated system to track customers, slips they lease, and boats in the slips

Page 33: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

33

Exploring the Background of Bradshaw Marina

• System– Initially: system will maintain basic information for

customers, slips, and boats, and perform day-to-day business tasks

– Later: Bradshaw wants to enhance the system• Add boat service records• Add billing features

Page 34: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

34

Identifying Bradshaw Use Cases and Scenarios

• First step in OOA process: identify use cases that fall within system scope

• Since main events of interest involve customers, boats, and slips, use cases also focus on customers, boats, and slips

• Bradshaw Marina use case diagram indicates the use cases

• Several scenarios could be associated with each use case

Page 35: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

35

Identifying Bradshaw Use Cases and Scenarios

Page 36: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

36

Identifying Bradshaw Problem Domain Classes

• To explore problem domain classes, the development team would– Meet with Bradshaw Marina to ask about things

that are involved in the work of the marina• For example – customers, boats, leases, slips, and

docks

– Begin an initial class diagram that includes these potential classes

Page 37: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

37

Identifying Bradshaw Problem Domain Classes

• Development team would further develop the class diagram by– Showing generalization/specialization hierarchies

– Adding specific information about each class

– Identifying and modeling the association relationship among classes

Page 38: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

38

Creating a Bradshaw Sequence Diagram

• Methods can be added to the class diagram by exploring scenarios and documenting them with sequence diagrams

• A sequence diagram should be created for each scenario of each use case

• As you move from OOA to OOD, you will expand the diagram to show– GUI objects the actor interacts with

– Data access classes that handle interaction with database

Page 39: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

39

Summary

• System analysis: study, understand, and define requirements for the system

• System requirements define what a system needs to accomplish for users in business terms

• Model-driven development: creating logical and physical models during analysis and design

• Iterative development: analysis, design, and programming are performed in parallel, with the process repeated several times until the project is done

Page 40: Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design

Object-Oriented Application Development Using VB .NET

40

Summary

• Incremental development: part of the system is put to use before the rest is finished

• Use case diagram shows system functions, called use cases

• Class diagram shows classes of objects that interact in the system

• Sequence diagram shows messages that the actor sends to objects and that objects send to each other

• Three-tier design divides classes into GUI classes, problem domain classes, and data access classes