SlideShare a Scribd company logo
1 of 55
Software Engineering, 
CPSC-4360-01, CPSC-5360-01, 
Lecture 2 
Instructor: Ehtesham Mehmood 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 Ehtesham Mehmood 1
Overview of the Last Lecture 
 Overview of Software Engineering 
 SE definitions 
 Quality of Good Software 
 Overview of Software Process 
 Activities and associated stages 
 Overview of Software Engineering Method 
 Structured Analysis 
 Object-Oriented Method 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 Ehtesham Mehmood 2
Overview of This Lecture 
 Software Development Models 
 Waterfall Model 
 Evolutionary Models 
 Incremental Model 
 Spiral Model 
 Unified Process 
 Overview of UML 
 History 
 4 + 1 View models 
 Using UML in UP 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 Ehtesham Mehmood 3
Software Development Models 
 High level, abstract representation of software 
development (software process): 
 Specification. 
 Development. 
 Validation. 
 Evolution. 
 Theoretical framework that is usually extended and 
adapted in real world application. 
 Two Generic Models: 
 Waterfall Model. 
 Evolutionary Model. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 4
Waterfall Model 
 The earliest software development model (Royce, 1970). 
Requirements 
definition 
Systemand 
software design 
Implementation 
and unit testing 
Integrationand 
systemtesting 
Operationand 
maintenance 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 5
Operations 
Implementation 
Design 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 6 
6 
Waterfall model (Royce, 1970) 
Requirements 
Verify 
Retirement 
Test 
Verify 
Req. Change
Waterfall Model 
 Defined a number of phases, e.g., 
“requirement phase”, “design phase”, etc. 
 The phases correspond to the four stages of 
the fundamental software process activities 
(lecture 1). 
 Assumption behind the model: 
 a phase takes place in sequence to another. 
 each activity is completed before the next starts. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 7
Waterfall Model 
 In theory: 
 Each phase produces documents that are: 
 Verified and validated. 
 Assumed to be complete. 
 Each phase depends on the documents of the 
previous stage to proceed → it has to wait for the 
completion of previous stage. 
 In practice: 
 The phases overlap and feedback to each other 
(see the feedback arrow in the diagram). 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 8
Waterfall Model: Advantages 
 Tangible products (the various documents) at 
the end of every phases → good to measure 
progress. 
 Intuitive, sensible and general purpose: 
 Emphasize planning before action. 
 Recommend a top-down perspective. See the big 
picture before zooming down. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 9
Waterfall Model: Problems 
 Specification is frozen early, because: 
 It is costly and time consuming. 
 Later stages can be carried out. 
 Cannot adapt to changing or incorrect 
specification: 
 Ignore or code around. 
 Does not meet user requirement. 
 Testing at the very end of development: 
 Work or die situation. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 Ehtesham Mehmood 10
Waterfall Model: Observations 
 Process stages can be iterative. 
 Flexibility in coping with changing specification. 
 Early and frequent validation of software system. 
 The later models are designed in response to these 
observations. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 11
Evolutionary Model 
 Evolves an initial implementation with user feedback 
→ multiple versions until the final version. 
Concurrent 
activities 
Specification Initial 
version 
Development Intermediate 
versions 
Validation Final 
version 
Outline 
description 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 12
Evolutionary Model 
 Two fundamental types: 
 Exploratory Development: 
 Explores the requirement and delivers a final system. 
 Starts with something that is understood and evolves by adding 
new features proposed by customers. 
 Throwaway prototyping: 
 Understands the requirement and develop a better requirement 
definition. 
 Experimenting with poorly understood requirement. 
 Usually develops User Interface (UI) with minor or no functionality. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 13
Evolutionary Model: Advantages 
 Customer involvement in the process: 
 More likely to meet the user requirement. 
 Early and frequent testing: 
 More likely to identify problems. 
 Lower risk. 
 Suitable for small to medium sized system. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 14
Evolutionary Model: Problems 
 The process is intangible: 
 No regular, well-defined deliverables. 
 The process is unpredictable: 
 Hard to manage, e.g., scheduling, workforce allocation, etc. 
 Systems are poorly structured: 
 Continual, unpredictable change tends to corrupt the 
software structure. 
 Can cause major problems during software evolution. 
 Systems may not even converge to a final version. 
 No strategy to gauge or solve this problem. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 15
Incremental Model 
 Combine the advantages of Waterfall and 
Evolutionary Model. 
Requirements 
Outline 
Split into 
increments 
Design 
System 
Architecture 
Develop 
Increment 
Validate 
Increment 
Integrate 
Increment 
Validate 
System 
Final 
System 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 16
Incremental Model 
 Each increment is a mini-waterfall. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 17
Incremental Model 
 Prioritizes the services to be provided by the 
system. 
 Maps these requirements to Increment based 
on priority. 
 Freezes requirement for the current Increment. 
 Requirements for the later increments can evolve 
concurrently. 
 Each Increment release is a working system: 
 Allows user to experiment. 
 Can be put into service right away. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 18
Incremental Model: Advantages 
 Early utilization: 
 the 1st increment satisfies the most critical 
requirement. 
 Early increments can serves as prototypes. 
 Lower risk of overall project failure. 
 Most crucial and basic services are 
implemented first → receives multiple testing 
throughout development. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 19
Incremental Model: Problems 
 Hard to map requirement into small 
increments (< 20,000 lines of code). 
 Hard to define the basic services that are 
shared by all subsequent increments. 
 Popular variant: 
 AGILE method: 
 eXtreme Programming (XP) 
 Not covered here. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 20
Spiral Model 
 Formalize the Evolutionary Model and avoid the 
management shortcomings. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 21
Spiral Model 
 Process is represented as a spiral rather than 
as a sequence of activities with backtracking. 
 Each loop = One Iteration = A process phase. 
 Each Loop passes through 4 quadrants (90°): 
 Objective Setting. 
 Risk Assessment and Reduction. 
 Development and Validation. 
 Planning. 
 As loops move away from center → Time and 
Cost increase. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 22
Spiral Model 
 Risk Driven: 
 Explicitly identify risks for each iteration. 
 Address the highest perceived risk. 
 Does not prescribe a fix process: 
 Project Manager chooses the appropriate activity 
for each iteration base on progress and perceived 
risk. 
 Flexible: 
 May resemble other process model depends on 
needs. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 23
Unified Process 
 State of the art process, by learning from the history 
of previous software development processes. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 24
Unified Process 
 Integrating two seemingly contradicting insights: 
 Definitive activities and deliverables as in the 
Waterfall Model. 
 Iterative and incremental processes. 
 A project is split into several phases: 
 Each phase is split into several iterations. 
 Each iteration consists of the traditional process 
activities, known as workflow. 
 Each workflow places different emphasis on the 
activities depending on the current iteration. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 25
Unified Process: 4 Phases 
 Inception: 
 Plan the project. 
 Evaluate risk. 
 Elaboration: 
 Understand problem domain. 
 Design system architecture. 
 Plan development. 
 Construction: 
 Design, programming and test. 
 Transition: 
 Moving system from developer to user environment. 
 Acceptance testing, release of full system. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 26
Other Process Models 
 Formal System Development: 
 Transforms a mathematical based specification through 
different representation → executable program. 
 Program correctness is easy to demonstrate, as the 
transformations preserve the correctness. 
 Reuse-Oriented Development: 
 Concentrates on integrating new system with existing 
components/systems. 
 Growing rapidly as development cost increase. 
 Aspect-Oriented Development. 
 Agent-Oriented Software Development. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 27
Unified Modeling Language (UML) 
 A visual language to 
 Visualize, construct, document software system. 
 Similar to all other languages, UML has: 
 Grammar: Rules to follow when drawing diagrams. 
 Semantics: The meaning behind each diagram. 
 Used with the Object-Oriented Method. 
 Separates the language from the software 
process → can be used with other software 
development model. 
 Currently, this is an industry standard. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 28
What UML is NOT 
 Not a programming language. 
 Not executable. 
 Exist tools to translate into code (skeleton), but the 
programmer still need to do the bulk of work. 
 Not a software modeling tool. 
 There are tools that implement the UML standard, 
e.g., ArgoUML, Visual Paradigm, RationalRose. 
 Not a SE method or software development 
process. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 29
UML: Brief History 
 OO Modeling approach with different strengths and 
weaknesses grows rapidly. 
 In 1995, 
 There were more than 50 named techniques in the industry. 
 The Object Management Group (OMG) calls for a common 
modeling approach. 
 Rumbaugh, Booch, and Jacobson (The three amigos) 
with input from others, formalized the UML standard 
(UML 1.1) in 1997. 
 Revised in 2003 (UML 1.5): Currently most widely used. 
 Reorganized in 2005 (UML 2.0): A new standard. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 30
UML: 4 + 1 View Models 
 A system can be viewed in different ways, 
usually depends on the role of the viewer. 
 UML supports this by providing the 4 + 1 View 
Models [Kruchten, 1995]: 
System 
Design 
View 
Implementation 
View 
Deployment 
View 
Use Case 
View 
Process View 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 31
Use Case View 
 Audience: 
 System Analyst, End Users and Testers. 
 Usage: 
 Describes the system’s external behaviour. 
 Defines the requirements of the system, so it 
constraints all the other views. 
 Has the central role in driving the development 
process. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 32
Example of Use Case 
 Elevator System 
 Use case 1: ‘Call Elevator’ is this possible written story: 
 Basic course of events: If the userOutside wants to call lift to 
go up/down, then he/she presses UpButton/DownButton; 
 Exception 1: If the lift is at the ground floor, then there is no 
DownButton; 
 Exception 2: If the lift is at the top floor, then there is no 
UpButton; 
 Use case 2: ‘Move From Inside’ is this written story: 
 The userFromInside can select a floor number (from 1 to the 
number of floors of the building), or can press “Open”, 
“Close”. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 33
Design View 
 Audience: 
 System Analyst and Programmers. 
 Usage: 
 Describes the logical structures that support the 
functional requirements expressed in the use 
case view. 
 Consists of definitions of program components 
(classes, data), their behaviour and interactions. 
 Useful as basis for coding. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 34
Implementation View 
 Audience: 
 System Engineer and Tester. 
 Usage: 
 Describes the physical components out of which 
the system is to be constructed: 
 executable files, 
 libraries of code, 
 databases. 
 Useful for configuration management and system 
integration. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 35
Process View 
 Audience: 
 System Analyst, Programmer and Tester. 
 Usage: 
 Non-Functional requirements. 
 Defines concurrency within the system. 
 Relatively undeveloped. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 36
Deployment View 
 Audience: 
 System Integrator (setup the system at client side). 
 Usage: 
 Non-Functional. 
 Describes physical components that are deployed 
in the physical environment: 
 Network of computers, connection protocol. 
 Computer specification. 
 Relatively Undeveloped. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 37
UML Terminology 
 Model: 
 Refers to the information in a single view, e.g., Use Case 
Model. OR 
 Refers to all the information about the system, i.e., System 
Model. 
 Model element: 
 Independent graphical notation element, e.g., a box, an 
arrow, etc, that has a well defined meaning. 
 Diagram: 
 Graphical presentation of a collection of model elements. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 38
UML Diagrams by Views 
1. Use case diagram (use case view) 
2. Object diagram (use case and design views) 
3. Sequence diagram (use case and design views) 
4. Collaboration diagram (use case and design views) 
5. Class diagram (design view) 
6. Statechart diagram (design and process views) 
7. Activity diagram (design and process views) 
8. Component diagram (implementation view) 
9. Deployment diagram (deployment view) 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 39
UML Diagrams by Characteristic 
 Software system exhibits two characteristics: 
 Static: Logical Structure, e.g., relationship 
between classes, attributes of a class, etc. 
 Dynamic: Behavior of the system, e.g., how to 
respond to a certain event, how to initiate an 
action, etc. 
 In addition, knowledge about setting up and 
running the system: Implementation. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 40
UML Diagrams by Characteristic 
 Static: 
 Use case diagram 
 Class diagram 
 Dynamic: 
 Object diagram 
 State diagram 
 Activity diagram 
 Sequence diagram 
 Collaboration diagram 
 Implementation: 
 Component diagram 
 Deployment diagram 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 41
Design Model and Code 
 Models present an abstract view of system. 
 Implementation adds enough detail to make these 
models executable. 
specifies 
UML model Object structures 
Abstract view of Abstract view of 
Source code Executing program 
UML 
Java 
specifies 
Compile time Run time 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 42
UML Models 
 Both documentation (‘UML model’) and ‘Source code’ can 
be described as compile-time artifacts. 
 ‘Object structures’: Programmers in object-oriented 
languages (e.g., Java, C++) tend to use abstract models of 
program execution which talk in terms of objects being 
created and destroyed as a program runs. 
 ‘Executing program’: describes the effect the program has 
on computer’s processor and memory when the program is 
running. 
 The upper and below parts refer to design and 
programming. 
 The left and right parts refer to compile-time and run-time. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 43
Unified Process and UML 
 UP is Use Case Driven: 
 A systematic utilization of Use Case. 
 UML diagrams are used in the Requirement, 
Analysis and Design activities in the UP 
workflow. 
 Because of their history, there is a close fit 
between UML and the UP. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 44
UP: Requirement and Analysis 
 UP starts with use 
cases describing how 
users interact with the 
system: 
 A domain model records 
facts about real world 
entities. 
 UML use case and class 
diagrams document 
these. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 45
UP: Analysis and Design 
 Analysis and Design usually overlap in UP as the 
same diagrams are used. 
 Proceed by Realization and Refinement. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 46
UP: Realization and Refinement 
 Use case realizations indicate how the 
functionality will be supported by the system. 
 Documented in UML interaction diagrams, e.g., 
Sequence Diagram, Collaboration Diagram. 
 This causes the domain model to be refined 
into a more implementation-oriented class 
diagram. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 47
UP: Specifying Behavior 
 UML provides State Chart to document the 
behavior of classes. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 48
Summary (1) 
 Waterfall Process Model: 
 Development activities in a linear fashion. 
 Requirements to freeze very early in 
development. 
 Testing very late in the process. 
 Evolutionary Process Model in response to 
iterative nature of development: 
 Use of prototyping. 
 Requirements evolve with users’ feedback. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 49
Summary (2) 
 Incremental Process Model in response to 
incremental nature of development: 
 Delivery in increments. 
 Allows prioritizing risks in development. 
 Allows different process models for different 
increments. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 50
Summary (3) 
 Spiral Model: 
 Addresses incremental and iterative nature of 
development. 
 Allows risk evaluation at every phase. 
 Expensive process. 
 Allows use of multiple process models. 
 Unified Process: 
 Incorporates best industry practices. 
 Extensive use of UML models. 
 Allows iteration of workflows. 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 51
Summary 
 Software Development Models 
 Waterfall Model 
 Evolutionary Models 
 Incremental Model 
 Spiral Model 
 Unified Process 
 Overview of UML 
 History 
 4 + 1 View models 
 Using UML in UP 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 52
Reading Suggestions 
 [Wadhwa, Andrei, Soo; 2007], Chapter 2 
 [Sommerville; 2008], Chapters 1 and 4 
 [Priestley; 2004], Chapter 3 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 53
Coming up next 
 Use Case Modeling, Domain Modeling: 
 [Wadhwa, Andrei, Soo; 2007], Chapters 2 and 3 
 [Priestley; 2004], Chapter 4 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 54
Thank you for your attention! 
Questions? 
11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 55

More Related Content

Similar to Software Process Models

Waterfall model in Software engineering
Waterfall model in Software engineeringWaterfall model in Software engineering
Waterfall model in Software engineeringEhtesham Mehmood
 
dokumen.tips_waterfall-model-in-software-engineering.pptx
dokumen.tips_waterfall-model-in-software-engineering.pptxdokumen.tips_waterfall-model-in-software-engineering.pptx
dokumen.tips_waterfall-model-in-software-engineering.pptxRudranilDas11
 
01 software development life cycle
01 software development life cycle01 software development life cycle
01 software development life cycleAtshushi Takahama
 
System Development
System  DevelopmentSystem  Development
System DevelopmentSharad Patel
 
Unit 1 sepm process models
Unit 1 sepm process modelsUnit 1 sepm process models
Unit 1 sepm process modelsKanchanPatil34
 
Lecture - 11-15.pptx
Lecture - 11-15.pptxLecture - 11-15.pptx
Lecture - 11-15.pptxFarHana74914
 
Designing A Waterfall Approach For Software Development Essay
Designing A Waterfall Approach For Software Development EssayDesigning A Waterfall Approach For Software Development Essay
Designing A Waterfall Approach For Software Development EssayAlison Reed
 
pmse-sitttr-session-3.pptx
pmse-sitttr-session-3.pptxpmse-sitttr-session-3.pptx
pmse-sitttr-session-3.pptxMuhammedSahil26
 
Software_Process_Model for class.ppt
Software_Process_Model for class.pptSoftware_Process_Model for class.ppt
Software_Process_Model for class.pptvishnupriyapm4
 
Information systems development methodologies (autosaved)
Information systems development methodologies (autosaved)Information systems development methodologies (autosaved)
Information systems development methodologies (autosaved)Vaska Shefteroska
 
SE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it studentSE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it studentRAVALCHIRAG1
 

Similar to Software Process Models (20)

Waterfall model in Software engineering
Waterfall model in Software engineeringWaterfall model in Software engineering
Waterfall model in Software engineering
 
dokumen.tips_waterfall-model-in-software-engineering.pptx
dokumen.tips_waterfall-model-in-software-engineering.pptxdokumen.tips_waterfall-model-in-software-engineering.pptx
dokumen.tips_waterfall-model-in-software-engineering.pptx
 
M.i.s
M.i.sM.i.s
M.i.s
 
01 software development life cycle
01 software development life cycle01 software development life cycle
01 software development life cycle
 
System Development
System  DevelopmentSystem  Development
System Development
 
Software engineering the process
Software engineering the processSoftware engineering the process
Software engineering the process
 
The process
The processThe process
The process
 
Unit 1 sepm process models
Unit 1 sepm process modelsUnit 1 sepm process models
Unit 1 sepm process models
 
Lecture - 11-15.pptx
Lecture - 11-15.pptxLecture - 11-15.pptx
Lecture - 11-15.pptx
 
Process models
Process modelsProcess models
Process models
 
3. ch 2-process model
3. ch 2-process model3. ch 2-process model
3. ch 2-process model
 
SE-03.pptx
SE-03.pptxSE-03.pptx
SE-03.pptx
 
Final boss
Final bossFinal boss
Final boss
 
Designing A Waterfall Approach For Software Development Essay
Designing A Waterfall Approach For Software Development EssayDesigning A Waterfall Approach For Software Development Essay
Designing A Waterfall Approach For Software Development Essay
 
pmse-sitttr-session-3.pptx
pmse-sitttr-session-3.pptxpmse-sitttr-session-3.pptx
pmse-sitttr-session-3.pptx
 
Software_Process_Model for class.ppt
Software_Process_Model for class.pptSoftware_Process_Model for class.ppt
Software_Process_Model for class.ppt
 
Information systems development methodologies (autosaved)
Information systems development methodologies (autosaved)Information systems development methodologies (autosaved)
Information systems development methodologies (autosaved)
 
Software process model
Software process modelSoftware process model
Software process model
 
SE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it studentSE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it student
 
Intro-Soft-Engg-2.pptx
Intro-Soft-Engg-2.pptxIntro-Soft-Engg-2.pptx
Intro-Soft-Engg-2.pptx
 

Recently uploaded

Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 

Recently uploaded (20)

Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 

Software Process Models

  • 1. Software Engineering, CPSC-4360-01, CPSC-5360-01, Lecture 2 Instructor: Ehtesham Mehmood 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 Ehtesham Mehmood 1
  • 2. Overview of the Last Lecture  Overview of Software Engineering  SE definitions  Quality of Good Software  Overview of Software Process  Activities and associated stages  Overview of Software Engineering Method  Structured Analysis  Object-Oriented Method 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 Ehtesham Mehmood 2
  • 3. Overview of This Lecture  Software Development Models  Waterfall Model  Evolutionary Models  Incremental Model  Spiral Model  Unified Process  Overview of UML  History  4 + 1 View models  Using UML in UP 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 Ehtesham Mehmood 3
  • 4. Software Development Models  High level, abstract representation of software development (software process):  Specification.  Development.  Validation.  Evolution.  Theoretical framework that is usually extended and adapted in real world application.  Two Generic Models:  Waterfall Model.  Evolutionary Model. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 4
  • 5. Waterfall Model  The earliest software development model (Royce, 1970). Requirements definition Systemand software design Implementation and unit testing Integrationand systemtesting Operationand maintenance 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 5
  • 6. Operations Implementation Design 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 6 6 Waterfall model (Royce, 1970) Requirements Verify Retirement Test Verify Req. Change
  • 7. Waterfall Model  Defined a number of phases, e.g., “requirement phase”, “design phase”, etc.  The phases correspond to the four stages of the fundamental software process activities (lecture 1).  Assumption behind the model:  a phase takes place in sequence to another.  each activity is completed before the next starts. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 7
  • 8. Waterfall Model  In theory:  Each phase produces documents that are:  Verified and validated.  Assumed to be complete.  Each phase depends on the documents of the previous stage to proceed → it has to wait for the completion of previous stage.  In practice:  The phases overlap and feedback to each other (see the feedback arrow in the diagram). 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 8
  • 9. Waterfall Model: Advantages  Tangible products (the various documents) at the end of every phases → good to measure progress.  Intuitive, sensible and general purpose:  Emphasize planning before action.  Recommend a top-down perspective. See the big picture before zooming down. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 9
  • 10. Waterfall Model: Problems  Specification is frozen early, because:  It is costly and time consuming.  Later stages can be carried out.  Cannot adapt to changing or incorrect specification:  Ignore or code around.  Does not meet user requirement.  Testing at the very end of development:  Work or die situation. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 Ehtesham Mehmood 10
  • 11. Waterfall Model: Observations  Process stages can be iterative.  Flexibility in coping with changing specification.  Early and frequent validation of software system.  The later models are designed in response to these observations. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 11
  • 12. Evolutionary Model  Evolves an initial implementation with user feedback → multiple versions until the final version. Concurrent activities Specification Initial version Development Intermediate versions Validation Final version Outline description 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 12
  • 13. Evolutionary Model  Two fundamental types:  Exploratory Development:  Explores the requirement and delivers a final system.  Starts with something that is understood and evolves by adding new features proposed by customers.  Throwaway prototyping:  Understands the requirement and develop a better requirement definition.  Experimenting with poorly understood requirement.  Usually develops User Interface (UI) with minor or no functionality. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 13
  • 14. Evolutionary Model: Advantages  Customer involvement in the process:  More likely to meet the user requirement.  Early and frequent testing:  More likely to identify problems.  Lower risk.  Suitable for small to medium sized system. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 14
  • 15. Evolutionary Model: Problems  The process is intangible:  No regular, well-defined deliverables.  The process is unpredictable:  Hard to manage, e.g., scheduling, workforce allocation, etc.  Systems are poorly structured:  Continual, unpredictable change tends to corrupt the software structure.  Can cause major problems during software evolution.  Systems may not even converge to a final version.  No strategy to gauge or solve this problem. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 15
  • 16. Incremental Model  Combine the advantages of Waterfall and Evolutionary Model. Requirements Outline Split into increments Design System Architecture Develop Increment Validate Increment Integrate Increment Validate System Final System 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 16
  • 17. Incremental Model  Each increment is a mini-waterfall. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 17
  • 18. Incremental Model  Prioritizes the services to be provided by the system.  Maps these requirements to Increment based on priority.  Freezes requirement for the current Increment.  Requirements for the later increments can evolve concurrently.  Each Increment release is a working system:  Allows user to experiment.  Can be put into service right away. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 18
  • 19. Incremental Model: Advantages  Early utilization:  the 1st increment satisfies the most critical requirement.  Early increments can serves as prototypes.  Lower risk of overall project failure.  Most crucial and basic services are implemented first → receives multiple testing throughout development. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 19
  • 20. Incremental Model: Problems  Hard to map requirement into small increments (< 20,000 lines of code).  Hard to define the basic services that are shared by all subsequent increments.  Popular variant:  AGILE method:  eXtreme Programming (XP)  Not covered here. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 20
  • 21. Spiral Model  Formalize the Evolutionary Model and avoid the management shortcomings. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 21
  • 22. Spiral Model  Process is represented as a spiral rather than as a sequence of activities with backtracking.  Each loop = One Iteration = A process phase.  Each Loop passes through 4 quadrants (90°):  Objective Setting.  Risk Assessment and Reduction.  Development and Validation.  Planning.  As loops move away from center → Time and Cost increase. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 22
  • 23. Spiral Model  Risk Driven:  Explicitly identify risks for each iteration.  Address the highest perceived risk.  Does not prescribe a fix process:  Project Manager chooses the appropriate activity for each iteration base on progress and perceived risk.  Flexible:  May resemble other process model depends on needs. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 23
  • 24. Unified Process  State of the art process, by learning from the history of previous software development processes. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 24
  • 25. Unified Process  Integrating two seemingly contradicting insights:  Definitive activities and deliverables as in the Waterfall Model.  Iterative and incremental processes.  A project is split into several phases:  Each phase is split into several iterations.  Each iteration consists of the traditional process activities, known as workflow.  Each workflow places different emphasis on the activities depending on the current iteration. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 25
  • 26. Unified Process: 4 Phases  Inception:  Plan the project.  Evaluate risk.  Elaboration:  Understand problem domain.  Design system architecture.  Plan development.  Construction:  Design, programming and test.  Transition:  Moving system from developer to user environment.  Acceptance testing, release of full system. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 26
  • 27. Other Process Models  Formal System Development:  Transforms a mathematical based specification through different representation → executable program.  Program correctness is easy to demonstrate, as the transformations preserve the correctness.  Reuse-Oriented Development:  Concentrates on integrating new system with existing components/systems.  Growing rapidly as development cost increase.  Aspect-Oriented Development.  Agent-Oriented Software Development. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 27
  • 28. Unified Modeling Language (UML)  A visual language to  Visualize, construct, document software system.  Similar to all other languages, UML has:  Grammar: Rules to follow when drawing diagrams.  Semantics: The meaning behind each diagram.  Used with the Object-Oriented Method.  Separates the language from the software process → can be used with other software development model.  Currently, this is an industry standard. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 28
  • 29. What UML is NOT  Not a programming language.  Not executable.  Exist tools to translate into code (skeleton), but the programmer still need to do the bulk of work.  Not a software modeling tool.  There are tools that implement the UML standard, e.g., ArgoUML, Visual Paradigm, RationalRose.  Not a SE method or software development process. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 29
  • 30. UML: Brief History  OO Modeling approach with different strengths and weaknesses grows rapidly.  In 1995,  There were more than 50 named techniques in the industry.  The Object Management Group (OMG) calls for a common modeling approach.  Rumbaugh, Booch, and Jacobson (The three amigos) with input from others, formalized the UML standard (UML 1.1) in 1997.  Revised in 2003 (UML 1.5): Currently most widely used.  Reorganized in 2005 (UML 2.0): A new standard. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 30
  • 31. UML: 4 + 1 View Models  A system can be viewed in different ways, usually depends on the role of the viewer.  UML supports this by providing the 4 + 1 View Models [Kruchten, 1995]: System Design View Implementation View Deployment View Use Case View Process View 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 31
  • 32. Use Case View  Audience:  System Analyst, End Users and Testers.  Usage:  Describes the system’s external behaviour.  Defines the requirements of the system, so it constraints all the other views.  Has the central role in driving the development process. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 32
  • 33. Example of Use Case  Elevator System  Use case 1: ‘Call Elevator’ is this possible written story:  Basic course of events: If the userOutside wants to call lift to go up/down, then he/she presses UpButton/DownButton;  Exception 1: If the lift is at the ground floor, then there is no DownButton;  Exception 2: If the lift is at the top floor, then there is no UpButton;  Use case 2: ‘Move From Inside’ is this written story:  The userFromInside can select a floor number (from 1 to the number of floors of the building), or can press “Open”, “Close”. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 33
  • 34. Design View  Audience:  System Analyst and Programmers.  Usage:  Describes the logical structures that support the functional requirements expressed in the use case view.  Consists of definitions of program components (classes, data), their behaviour and interactions.  Useful as basis for coding. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 34
  • 35. Implementation View  Audience:  System Engineer and Tester.  Usage:  Describes the physical components out of which the system is to be constructed:  executable files,  libraries of code,  databases.  Useful for configuration management and system integration. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 35
  • 36. Process View  Audience:  System Analyst, Programmer and Tester.  Usage:  Non-Functional requirements.  Defines concurrency within the system.  Relatively undeveloped. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 36
  • 37. Deployment View  Audience:  System Integrator (setup the system at client side).  Usage:  Non-Functional.  Describes physical components that are deployed in the physical environment:  Network of computers, connection protocol.  Computer specification.  Relatively Undeveloped. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 37
  • 38. UML Terminology  Model:  Refers to the information in a single view, e.g., Use Case Model. OR  Refers to all the information about the system, i.e., System Model.  Model element:  Independent graphical notation element, e.g., a box, an arrow, etc, that has a well defined meaning.  Diagram:  Graphical presentation of a collection of model elements. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 38
  • 39. UML Diagrams by Views 1. Use case diagram (use case view) 2. Object diagram (use case and design views) 3. Sequence diagram (use case and design views) 4. Collaboration diagram (use case and design views) 5. Class diagram (design view) 6. Statechart diagram (design and process views) 7. Activity diagram (design and process views) 8. Component diagram (implementation view) 9. Deployment diagram (deployment view) 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 39
  • 40. UML Diagrams by Characteristic  Software system exhibits two characteristics:  Static: Logical Structure, e.g., relationship between classes, attributes of a class, etc.  Dynamic: Behavior of the system, e.g., how to respond to a certain event, how to initiate an action, etc.  In addition, knowledge about setting up and running the system: Implementation. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 40
  • 41. UML Diagrams by Characteristic  Static:  Use case diagram  Class diagram  Dynamic:  Object diagram  State diagram  Activity diagram  Sequence diagram  Collaboration diagram  Implementation:  Component diagram  Deployment diagram 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 41
  • 42. Design Model and Code  Models present an abstract view of system.  Implementation adds enough detail to make these models executable. specifies UML model Object structures Abstract view of Abstract view of Source code Executing program UML Java specifies Compile time Run time 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 42
  • 43. UML Models  Both documentation (‘UML model’) and ‘Source code’ can be described as compile-time artifacts.  ‘Object structures’: Programmers in object-oriented languages (e.g., Java, C++) tend to use abstract models of program execution which talk in terms of objects being created and destroyed as a program runs.  ‘Executing program’: describes the effect the program has on computer’s processor and memory when the program is running.  The upper and below parts refer to design and programming.  The left and right parts refer to compile-time and run-time. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 43
  • 44. Unified Process and UML  UP is Use Case Driven:  A systematic utilization of Use Case.  UML diagrams are used in the Requirement, Analysis and Design activities in the UP workflow.  Because of their history, there is a close fit between UML and the UP. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 44
  • 45. UP: Requirement and Analysis  UP starts with use cases describing how users interact with the system:  A domain model records facts about real world entities.  UML use case and class diagrams document these. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 45
  • 46. UP: Analysis and Design  Analysis and Design usually overlap in UP as the same diagrams are used.  Proceed by Realization and Refinement. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 46
  • 47. UP: Realization and Refinement  Use case realizations indicate how the functionality will be supported by the system.  Documented in UML interaction diagrams, e.g., Sequence Diagram, Collaboration Diagram.  This causes the domain model to be refined into a more implementation-oriented class diagram. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 47
  • 48. UP: Specifying Behavior  UML provides State Chart to document the behavior of classes. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 48
  • 49. Summary (1)  Waterfall Process Model:  Development activities in a linear fashion.  Requirements to freeze very early in development.  Testing very late in the process.  Evolutionary Process Model in response to iterative nature of development:  Use of prototyping.  Requirements evolve with users’ feedback. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 49
  • 50. Summary (2)  Incremental Process Model in response to incremental nature of development:  Delivery in increments.  Allows prioritizing risks in development.  Allows different process models for different increments. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 50
  • 51. Summary (3)  Spiral Model:  Addresses incremental and iterative nature of development.  Allows risk evaluation at every phase.  Expensive process.  Allows use of multiple process models.  Unified Process:  Incorporates best industry practices.  Extensive use of UML models.  Allows iteration of workflows. 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 51
  • 52. Summary  Software Development Models  Waterfall Model  Evolutionary Models  Incremental Model  Spiral Model  Unified Process  Overview of UML  History  4 + 1 View models  Using UML in UP 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 52
  • 53. Reading Suggestions  [Wadhwa, Andrei, Soo; 2007], Chapter 2  [Sommerville; 2008], Chapters 1 and 4  [Priestley; 2004], Chapter 3 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 53
  • 54. Coming up next  Use Case Modeling, Domain Modeling:  [Wadhwa, Andrei, Soo; 2007], Chapters 2 and 3  [Priestley; 2004], Chapter 4 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 54
  • 55. Thank you for your attention! Questions? 11/18/14 CPSC-4360-01, CPSC-5360-01, Lecture 2 55