Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
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
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
Prescriptive Process Models
based on framework activities
Scott Uk-Jin Lee CSE4006 Software Engineering
Software Development Life Cycle
Scott Uk-Jin Lee CSE4006 Software Engineering
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
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
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
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
Incremental Model
Scott Uk-Jin Lee CSE4006 Software Engineering
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
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
Rapid Application Development (RAD) Model
Scott Uk-Jin Lee CSE4006 Software Engineering
Evolutionary Model: Prototyping
Scott Uk-Jin Lee CSE4006 Software Engineering
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
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
Evolutionary Model: Spiral
Scott Uk-Jin Lee CSE4006 Software Engineering
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
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
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
Unified Process (UP)
Scott Uk-Jin Lee CSE4006 Software Engineering
UP Phases
RUP: Rational UP by IBM
Scott Uk-Jin Lee CSE4006 Software Engineering
UP Work Products
Scott Uk-Jin Lee CSE4006 Software Engineering
Selecting a Process Model
Scott Uk-Jin Lee CSE4006 Software Engineering
Selecting a Process Model
Scott Uk-Jin Lee CSE4006 Software Engineering