24
CSE4006 Software Engineering 03. Perspective Process Models Scott Uk-Jin Lee Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 Scott Uk-Jin Lee CSE4006 Software Engineering

03. Perspective Process Models · Prescriptive Process Models advocates an orderly approach to software engineering follows software life cycle development teams need to establish

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 03. Perspective Process Models · Prescriptive Process Models advocates an orderly approach to software engineering follows software life cycle development teams need to establish

CSE4006 Software Engineering

03. Perspective Process Models

Scott Uk-Jin Lee

Division of Computer Science, College of ComputingHanyang University ERICA Campus

1st Semester 2017

Scott Uk-Jin Lee CSE4006 Software Engineering

Page 2: 03. Perspective Process Models · Prescriptive Process Models advocates an orderly approach to software engineering follows software life cycle development teams need to establish

Prescriptive Process Models

advocates an orderly approach to software engineering

follows software life cycle

development teams need to establish a unique model that issuitable for the situation

Waterfall model, Incremental Model, RAD Model, EvolutionaryModels, Unified Process

Scott Uk-Jin Lee CSE4006 Software Engineering

Page 3: 03. Perspective Process Models · Prescriptive Process Models advocates an orderly approach to software engineering follows software life cycle development teams need to establish

Prescriptive Process Models

based on framework activities

Scott Uk-Jin Lee CSE4006 Software Engineering

Page 4: 03. Perspective Process Models · Prescriptive Process Models advocates an orderly approach to software engineering follows software life cycle development teams need to establish

Software Development Life Cycle

Scott Uk-Jin Lee CSE4006 Software Engineering

Page 5: 03. Perspective Process Models · Prescriptive Process Models advocates an orderly approach to software engineering follows software life cycle development teams need to establish

Waterfall Model

What problems does the waterfall model have?1 Real projects rarely follow the sequential flow2 Difficult to accommodating the uncertainty in requirements3 A working version of software will not be available until late in

the project

Scott Uk-Jin Lee CSE4006 Software Engineering

Page 6: 03. Perspective Process Models · Prescriptive Process Models advocates an orderly approach to software engineering follows software life cycle development teams need to establish

Waterfall Model

Invented in the late 1950s for large air defense systems andpopularized in the 1970s

Each stage must be finished before the next stage begins

Ordinal: no interaction or overlap between each stageResults of each stage must be checked before starting the nextstageFeedback to the immediate previous stage

Suitable for developing simple system or if you are familiarwith the application area

suitable for one-off processsuitable for developing a system to be utilized by anon-professional

deliverable definition is important

Scott Uk-Jin Lee CSE4006 Software Engineering

Page 7: 03. Perspective Process Models · Prescriptive Process Models advocates an orderly approach to software engineering follows software life cycle development teams need to establish

Waterfall Model

Bradac found that the linear nature of the waterfall modelleads to blocking states

where some members must wait for other members of theteam to complete dependent tasksespecially, at the beginning and the end of the project

Still, however, the waterfall model serve as a useful processmodel where requirements are fixed and work is to proceed tocompletion in a linear manner

Scott Uk-Jin Lee CSE4006 Software Engineering

Page 8: 03. Perspective Process Models · Prescriptive Process Models advocates an orderly approach to software engineering follows software life cycle development teams need to establish

V Model

Variation of the Waterfall modelfocuses on tasks and verification of result

Pros : can reduce errorsCons : not easy to deal with changes as there is no repetitionSuitable for areas where high reliability is required

Scott Uk-Jin Lee CSE4006 Software Engineering

Page 9: 03. Perspective Process Models · Prescriptive Process Models advocates an orderly approach to software engineering follows software life cycle development teams need to establish

Incremental Model

Scott Uk-Jin Lee CSE4006 Software Engineering

Page 10: 03. Perspective Process Models · Prescriptive Process Models advocates an orderly approach to software engineering follows software life cycle development teams need to establish

Incremental Model

Environment where development cycles are short

time-to-market is directly related to profitsway to reduce development time : divide the system and deploy

Scott Uk-Jin Lee CSE4006 Software Engineering

Page 11: 03. Perspective Process Models · Prescriptive Process Models advocates an orderly approach to software engineering follows software life cycle development teams need to establish

Incremental Model

Release configuration method

incremental method: deployment based on functionality

repeatitive method: increase completeness on each iteration

Incremental development

despite the lack of functionality, early usage education ispossiblethe first to market software leads to rapid market emergencefrequent deployment enables the quick and continual correctionof unexpected problems occurring in the running systemdevelopment team can focus on different area of specializationfor each release

Scott Uk-Jin Lee CSE4006 Software Engineering

Page 12: 03. Perspective Process Models · Prescriptive Process Models advocates an orderly approach to software engineering follows software life cycle development teams need to establish

Rapid Application Development (RAD) Model

Scott Uk-Jin Lee CSE4006 Software Engineering

Page 13: 03. Perspective Process Models · Prescriptive Process Models advocates an orderly approach to software engineering follows software life cycle development teams need to establish

Evolutionary Model: Prototyping

Scott Uk-Jin Lee CSE4006 Software Engineering

Page 14: 03. Perspective Process Models · Prescriptive Process Models advocates an orderly approach to software engineering follows software life cycle development teams need to establish

Evolutionary Model: Prototyping

Prototyping application

extract customer’s requirements more accuratelytest feasibility of algorithm, test compatibility with operatingsystem, trial of interface creation

Prototyping tool

screen generator, visual programming, 4th generationprogramming language

Prototyping provides reference model

provides mechanism for users and developers to communicate

Prototyping usage

simply to extract requirements: one-off usageto predict possibility of implementation: incorporatesmaintenance during the development stage

Scott Uk-Jin Lee CSE4006 Software Engineering

Page 15: 03. Perspective Process Models · Prescriptive Process Models advocates an orderly approach to software engineering follows software life cycle development teams need to establish

Evolutionary Model: Prototyping

Pros

users opinions are well reflecteduser can participate with an interest and developers canextract requirements accurately

Cons

causes misunderstanding and expectations (on quick deliveryof the product)difficulties in management (definition of intermediatedeliverables are difficult)

Applications

when the detailed requirements for software is not clearlyidentifiedwhen software engineers are not sure of the efficiency ofalgorithm, usability of software, etcwhen you want to try a new and innovative technology

Scott Uk-Jin Lee CSE4006 Software Engineering

Page 16: 03. Perspective Process Models · Prescriptive Process Models advocates an orderly approach to software engineering follows software life cycle development teams need to establish

Evolutionary Model: Spiral

Scott Uk-Jin Lee CSE4006 Software Engineering

Page 17: 03. Perspective Process Models · Prescriptive Process Models advocates an orderly approach to software engineering follows software life cycle development teams need to establish

Evolutionary Model: Spiral

Divide software functionalities and develop incrementally

reduces the possibility of failure, ease of testing, feedback

Incremental releases

Evolution stage

Planning: select goals and feature, decide on constraintsEstimation: evaluate the previous stage and estimate the costSchedulingRisk analysis: analyze priority of feature selection and riskfactors

Scott Uk-Jin Lee CSE4006 Software Engineering

Page 18: 03. Perspective Process Models · Prescriptive Process Models advocates an orderly approach to software engineering follows software life cycle development teams need to establish

Evolutionary Model: Spiral

Pros

suitable for large-scale system development: risk reductionmechanismiterative development and testing: toughness improvementfunctionality that is not included in a cycle can be added innext cycle

Cons

management and risk analysis is important

Applications

when financial or technical risk is largewhen it is difficult to understand the requirements orarchitecture

Scott Uk-Jin Lee CSE4006 Software Engineering

Page 19: 03. Perspective Process Models · Prescriptive Process Models advocates an orderly approach to software engineering follows software life cycle development teams need to establish

Other Process Models

Component based development

the process to apply when reuse is a development objective

Formal methods

emphasizes the mathematical specification of requirements

AOSD

provides a process and methodological approach for defining,specifying, designing, and constructing aspects

Unified Processa “use-case driven, architecture-centric, iterative andincremental” software process closely aligned with theUnified Modeling Language (UML)

Scott Uk-Jin Lee CSE4006 Software Engineering

Page 20: 03. Perspective Process Models · Prescriptive Process Models advocates an orderly approach to software engineering follows software life cycle development teams need to establish

Unified Process (UP)

Scott Uk-Jin Lee CSE4006 Software Engineering

Page 21: 03. Perspective Process Models · Prescriptive Process Models advocates an orderly approach to software engineering follows software life cycle development teams need to establish

UP Phases

RUP: Rational UP by IBM

Scott Uk-Jin Lee CSE4006 Software Engineering

Page 22: 03. Perspective Process Models · Prescriptive Process Models advocates an orderly approach to software engineering follows software life cycle development teams need to establish

UP Work Products

Scott Uk-Jin Lee CSE4006 Software Engineering

Page 23: 03. Perspective Process Models · Prescriptive Process Models advocates an orderly approach to software engineering follows software life cycle development teams need to establish

Selecting a Process Model

Scott Uk-Jin Lee CSE4006 Software Engineering

Page 24: 03. Perspective Process Models · Prescriptive Process Models advocates an orderly approach to software engineering follows software life cycle development teams need to establish

Selecting a Process Model

Scott Uk-Jin Lee CSE4006 Software Engineering