Software Design Methodologies: UML in Action

30
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department of Computer Science & Engineering University of Nebraska, Lincoln Ferguson Hall, P.O. Box 880115 Lincoln, NE 68588-0115 http://www.cse.unl.edu/~fayad

description

Software Design Methodologies: UML in Action. Dr. Mohamed Fayad, J.D. Edwards Professor Department of Computer Science & Engineering University of Nebraska, Lincoln Ferguson Hall, P.O. Box 880115 Lincoln, NE 68588-0115 http://www.cse.unl.edu/~fayad. Lesson 2: Modeling. 2. - PowerPoint PPT Presentation

Transcript of Software Design Methodologies: UML in Action

May-June 2001 ISISTAN Research Institute – Tandil, Argentina

Software Design Methodologies: UML in Action

Dr. Mohamed Fayad, J.D. Edwards Professor

Department of Computer Science & Engineering

University of Nebraska, Lincoln

Ferguson Hall, P.O. Box 880115

Lincoln, NE 68588-0115

http://www.cse.unl.edu/~fayad

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S2 Modeling

2

Lesson 2:Modeling

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S3 Modeling

Lesson Objectives

Objectives

3

Understand modeling Discuss Model essentials Explore Different Models Understand the differences

between a method and a process Understand the differences

between multiple models and

multiple views

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S4 Modeling

Define:

– Standards

– Methodologies

– Method & Process

– Model & View

– Tools

– Environments

4

Definitions

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S5 Modeling

Standards imply regulations, guidelines, rules, laws, and so on.

Standards can dictate named methodologies, such as IEEE standards or DOD standards (Ex: DOD-STD-2167A).

A standard alone is not sufficient on getting a task completed. Why?

5

Standards

[Fayad-Laitinen 1998]

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S6 Modeling

Because standards focus on the attributes of the results instead of how the results will be achieved

A standard also includes a type, model, or example commonly or generally accepted or adhered to, such a criterion set for usage or practices (moral standards)

Standards applies to some measure, principle, model, and so on, with which things of the same class are compared to determine their quantity, value, quality, and so forth (standards of purity in drugs)

6

Standards

[Fayad-Laitinen 1998]

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S7 Modeling

A methodology is “a science of method or orderly arrangement” Webster.

A methodology is used to refer to the very highest level of the way we do things.

A methodology also refers to “a system of methods, as in particular science”

The methodology we will consider here cover only the development of software applications.

7

Methodology

[Fayad-Laitinen 1998]

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S8 Modeling

A method implies a regular, orderly, logical procedure for doing something, such as a method of finding software requirements.

Exs: Waterfall model, spiral model [Boehm84], and fountain model [Henderson-Selers90].

Jacobson defines a method as a planned procedure by which a specific goal is approached step by step [Jacobson92].

Examples of software design method are a set of work procedures, a set of notations, or a set of heuristics.

8

Methods or Techniques

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S9 Modeling

Software engineering methods can be divided into three major categories:

1. Process-Oriented Methods [Yourdon89]

2. Data-Oriented Methods [Martin90]

3. Object-Oriented Methods [Fayad93, Rumnaugh91, etc..]

9

Methods or Techniques

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S10 Modeling

10

POM vs. OOM

Procedural

Self-Disciplined

Unconstrained

Free-Form

Object-Oriented

Teamwork

Rigorous

Standardized

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S11 Modeling

11

Method Provides Foundation for Software Engineering

Step-By-Step Process

Notation That SymbolizesObject-Oriented Principles

Communication Medium ForNon-Programmers

Framework For ModelingThe Program

Standards For TransitioningThe Problem BetweenSoftware Engineers

Requirements

PreliminaryDesign

DetailedDesign

Code andUnit Test

Integration andSystem Testing

Maintenance

pac k age Fac toria l_Pac k age is s ubty pe Argument_SubTy pe is In teger range 0 .. In teger' Las t; s ubty pe Res ul t_SubTy pe is In teger range 1 .. In teger' Las t;

func tion Fac toria l_Of (Value : Argument_Subty pe) re turn Res ul t_Subty pe;

end Fac toria l_Pac k age;

SoftwareReqmts

SpecSoftwareDesign

Document

SoftwareDesign

Document

SoftwareChangeProposal

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S12 Modeling

12

The Myth of the Single Software Development Method

FIDO

Requirements Such AsSizeReliabilitySafetyCostScheduleMaintainability

Require DifferentMethodsToolsQuality AssuranceMaterialsPersonnelDocumentation

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S13 Modeling

13

How Many OO Methods Exist?

.

UML

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S14 Modeling

14

Engineering Process Hierarchy

Engineering

Computer Electronics

SoftwareHardware

SASD OOT

UML

Scientific Area

Standards

Methodologies(Macrodevelopment Processes)

Techniques (Methods)(Minidevelopment Processes)

Processes(Microdevelopment Processes

OMT

Identify Classes

IdentifyAttributes

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S15 Modeling

15

Processes are Important for a new OO Teams New methods and tools introduce confusion Processes define exactly who, what, when, and how

– “big-picture”

x x xx x

o o o

o

o

x

x

oo

o

x

Big Play

x x xx xo o o oo

x

x

oo o

x

Long Kick

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S16 Modeling

16

Method vs. Process

Processes take OO methods out of the classroom and put them to workProcesses take OO methods out of the classroom and put them to work

• Theoretical

• Ideas

• Predictions

• Practical

• Concrete Actions

• Metrics

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S17 Modeling

17

Defined Processes are Baseline for Improvements

Can’t improve anything that you can’t repeat

.

Planned vs. Actual Budget

500

1000

1500

2000

2500

3000

3500

Hou

rs

J an Feb Mar Apr M ay J un J ul Aug Sep

Planned

Ac tual

Automated Testing Process

Improved Processes Metric Feedback

Tem per at ureTr ansducer s

M odel3. 2.1. 4. 11

Tem perat ur eTr ansducers

I nter face3. 2.2. 9

I ce Det ectorM odel

3. 2.1. 4.14

Ai r Dat a U nitM odel

3. 2.1. 4.1

Modify_OAT_WAT_Diff

OAT_WAT_Dif f

U p da t e_ T e mp _T r nd c rs

Mach_NumberS ta t ic _ P re s su r e

Measured_OAT_WAT_Diff

Measur ed_OAT_WAT_Diff

Updat e_I ce_Detect or

OAT_WAT_Dif f_Voltage

Temp_Tr ndcrs_BIT_State

T e m p _ Tr n dc r s_ S t at e

Measur ed_St at ic_Pressur e

Measur ed_St at ic_Pressur e

O bje c t In te rac tio n D iagr am ( O ID )

Technology Infusion

Process Improvements

SoftwareDevelopmentProcesses

UPDATED

SoftwareDevelopmentProcesses

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S18 Modeling

18

Software Process Hierarchy

.

Projects

Software Pro cess

Software Pro cess

Pro

jec

t 2

Software Pro cess

Pro

jec

t 3

Pro

jec

t 2

Pro

jec

t 1

3

XYZ Company

SoftwareEngineeringGuidebooksManual

Company2Industry /Government1

Software Engineering Institute

CapabilityMaturity Modelfor Software

FEDERALSTANDARD

FAA - 178A

DoD-STD-2167A

MILITARYSTANDARD

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S19 Modeling

19

General Processes Must be Tailored to Your Projects

SQAReviewer

Reader

Designer

PreliminaryDesign

Reviewer

Moderator

S/W TechLead

ReworkPerfor m furt her r ework of th e

deta iled design. Prese nt minorrewor k to SQA Reviewer and

major rewor k to S/ W Tech Lea d.

Are allminor defects

reworked?

Are al lmajor defects

reworked ?

Follow-UpInfo rm de signer that de taileddesign passed in spection.Add specificat io n units int o

curr ent CM S libr ary.

Yes

Yes

No

No

SoftwareEngineeringPracticesManual

Detailed ProcessesDependent on:

General

Specific

Application Area Methods Tools Language

Software Inspection Process

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S20 Modeling

20

Identifying Appropriate Process Details

Cost effective range– depends upon environment– specifies “who”, “what”, “when”– reference “how”

Too Much• not cost effective

• typically too much “why”

Not Enough• useless

• typically only “what”

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S21 Modeling

Building a model is a well-established human process.

A model is a description of something.

Models allow us to answer questions about a real thing before we build it.

Models capture only those features deemed essential by model builders for their goals.

A single thing might be represented by multiple model.

Models can be validated.

21

Modeling – Definition

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S22 Modeling

22

Model Essentials Simple

Complete (most likely to be correct)

Stable to technological changes

Testable

Easy to understand

Visual or graphical

[Fayad98]

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S23 Modeling

23

Modeling Classifications [1]

Tangible

– Physical

– Examples

• Mall

• Aircraft

Intangible

– Logical

– Examples

• Flowcharts

• STDs

• DFDs

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S24 Modeling

24

Modeling Classifications [2]

Static

– Object models

– Domain models

– DFDs

Dynamic

– Behavior models

• Flowcharts

• Petri-Net

– Three properties:

Control, Behavior, Time

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S25 Modeling

25

Modeling Classifications [3]

Object Model (class diagram)

Control Model (STDs)

Transformation Model (DFDs)

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S26 Modeling

26

Modeling Classifications [4]: UML Static

• Type diagrams, CRC cards, class diagrams

Dynamic or Behavior

• Activity diagrams, collaboration diagram, sequence diagram, and state diagram

Implementation

• Component diagram & deployment diagram

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S27 Modeling

27

Multiple Models vs. Multiple Views UML has 9 different models.

This called “multiple models” and represents:

– Abstraction, what and how, etc.

It is not “multiple views”

Multiple view represents:

– Presentations

– Levels, layers, slices, details

– Scalability, accessibility, authorization, information hiding, dimensions

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S28 Modeling

28

Tools: Select Tools to Meet Specific Needs

Correct Tool For The JobMaximum Benefit FromRealistic Expectations

Simple Tools Can OftenBe Invaluable

WARNING:All Tools Are Not Equal!

Wrong Type Of Tool For Job

Frustrates Users

Seldom Ends In Success

Underpowered Tool

Reduces ConfidenceIn CASE Technology

Often Arise FromUnrealistic Expectations

Overpowered Tool

Wastes Money and Time

May Be Inflexible

STOP

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S29 Modeling

What are the differences between multiple models and multiple views?

T/F

– UML stands for United Modeling Level.

– Software design is part of UML.

Define: Static models, dynamic models, transformation models

What are the differences between a method and a process?

29

Discussion Questions

May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

L2-S30 Modeling

Discuss the following guidelines

– Go Beyond the Problem Domain

– Speculate About Likely Changes

– Separate General Functionality from Specific Policy

– Object should have Cohesive Interfaces

– Objects Should Be Intelligent Agents

– Objects Should Export Services

– Avoid “Object Machismo”

30

Questions for the Next Lecture