27
06/15/22 1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room #2022 College of Computer and Information Sciences (CCISs) King Saud University P.O. Box 51178 Riyadh 11543 http://www.engr.sjsu.edu/fayad, [email protected]

1/3/2016 1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room

Embed Size (px)

Citation preview

Page 1: 1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room

04/21/23 1998-Present Fayad KSU – SWE Process and Modeling

Software Process and Modeling

Dr. M.E. Fayad, ProfessorSoftware Engineering Department, Room #2022College of Computer and Information Sciences (CCISs)King Saud UniversityP.O. Box 51178Riyadh 11543http://www.engr.sjsu.edu/fayad, [email protected]

Page 2: 1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room

L1-S2 Introduction04/21/23 1998-Present Fayad KSU – SWE Process and Modeling

2

Lesson 1:Introduction

Page 3: 1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room

L1-S3 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling

Lesson Objectives

Objectives

3

Discuss the following terms:

Standards

Methodology/paradigm/process Models

Methods

processes

Discuss the essential properties of a process

Explore Process Models

Page 4: 1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room

L1-S4 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and 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?

4

Standards

[Fayad-Laitinen 1998]

Page 5: 1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room

L1-S5 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and 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)

5

Standards

[Fayad-Laitinen 1998]

Page 6: 1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room

L1-S6 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and 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.

6

Methodology

[Fayad-Laitinen 1998]

Page 7: 1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room

L1-S7 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and 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.

7

Methods or Techniques

Page 8: 1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room

L1-S8 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and 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..]

8

Methods or Techniques

Page 9: 1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room

L1-S9 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling

9

POM vs. OOM

Page 10: 1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room

L1-S10 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling

10

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

Page 11: 1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room

L1-S11 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling

11

The Myth of the Single Software Development Method

FIDO

Requirements Such AsSizeReliabilitySafetyCostScheduleMaintainability

Require DifferentMethodsToolsQuality AssuranceMaterialsPersonnelDocumentation

Page 12: 1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room

L1-S12 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling

12

How Many OO Methods Exist?

.

UML

Page 13: 1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room

L1-S13 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling

13

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

Page 14: 1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room

L1-S14 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling

14

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

Page 15: 1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room

L1-S15 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling

15

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

Page 16: 1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room

L1-S16 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling

Software engineering life cycles or phased software development models, such as

– Waterfall model

– Prototyping

– Spiral Model

– Automatic Programming

– Reuse Models

– Incremental Model

– Fountain Model

– XP Model

– Software Stability Model 16

Software Engineering

Page 17: 1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room

L1-S17 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling

17

Waterfall ModelWaterfall Model

RequirementsAnalysis

Design

Coding

RequirementsSpecifications

Testing

Page 18: 1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room

L1-S18 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling

18

Prototyping

Requirements Specifications

RequirementsAnalysis

Coding

Demonstration

Design Coding

Testing

Maintenance

DesignPrototype

Coding

Design Code

Test

Maintenance

Requirements

BuildPrototype

DocumentRequirements

TestPrototype

Page 19: 1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room

L1-S19 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling

19

Spiral Model

Commitment

Partition

Cumulative Cost

Progress Through StepsDetermineObjectives,Alternatives,Constraints

Review

RiskAnalysis

RiskAnalysis

RiskAnalysis

Prototype 2Prototype 3Risk

Anal. Pt 1

Operational Prototype

Simulations, Models, BenchmarksConcept ofOperation Software

Requirements

RequirementsValidation

SoftwareProductDesign

Design Validationand Verification

DetailedDesign

Code

UnitTest

AcceptanceTestImple-

mentation Develop, VerifyNext-levelProduct

Plan Next Phases

Integration andTest Plan

DevelopmentPlan

Requirements Plan Life-Cycle Plan

Evaluate Alternatives,Identify, Resolve Risks

Integra-tion

and Test

[Boehm 87]

Page 20: 1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room

L1-S20 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling

.

AUTOMATIC PROGRAMMING

RequirementsAnalysis

FormalSpecifications

AutomaticallyGenerated Code

20

Page 21: 1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room

L1-S21 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling

.

REUSABLE MODULES

DecomposeApplication Domain

Specify ModuleRequirements

Module Design

Module Code

Module Test

ApplicationRequirements

Configure ReusableModules

Customize ReusableModules

Integrate Modules

Testing

OTI-93F-0014

21

Page 22: 1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room

L1-S22 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling

.

INCREMENTAL MODEL

ProductDesign

Verification

Increment 3

Increment 2

Operations andMaintenance

Revalidation

DetailedDesign

Verification

Code

Unit Test

IntegrationProduct

Verification

Implementation

System Test

Increment 1

DetailedDesign

Verification

Code

Unit Test

Integration

DetailedDesign

Verification

Code

SystemFeasibility

Validation

Software Plans &Reqmts

Validation

22

Page 23: 1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room

L1-S23 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling

.

Coding

Design

SoftwareRequirementsSpecification

RequirementsAnalysis

SystemTesting

Testing

Coding

ModuleSpecification

MaintenanceFurther

Development

ModuleDesign

Real-World Systems Real-World Entity

[Henderson-Sellers90]

ProgramUse

MaintenanceFurther

Development Acceptanceinto Library

FOUNTAIN MODEL

23

Page 24: 1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room

L1-S24 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling

What are the differences between requirement analysis and software design?

What are the requirement analysis and software design?

24

Analysis & Design

Page 25: 1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room

L1-S25 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling

25

Analysis & Design

Fuzzy line

• Problem space• Analysis• One problem• The “What”

• Solution space• Design• Many solutions• The “How”

Page 26: 1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room

L1-S26 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling

List all the major process activities in the lifecycle phases: Requirement analysis, software design, software construction, software testing, software maintenance

List all major activities in software project management: Software planning, Staffing, Controlling and tracking the project, etc.

T/F

– Software processes should be fixed.

– Software process should be measurable.

– Software process specifies the why and ignore the how.

Define:

– Automatic Programming and Fountain Model 26

Discussion Questions

Page 27: 1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room

L1-S27 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling

The manager’s roles and responsibilities in software process

Measure process rather than people

The top five excuses for no process documentation

Process assessment

Process improvement models

The trouble with process assessment

How to use processes as a baseline for improvement

Software process hierarchy

How to document process

Recommendations for documenting processes27

Questions for the Next Lecture