SlideShare a Scribd company logo
1 of 53
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 1
Software Engineering,
CPSC-4360-01, CPSC-5360-01,
Lecture 2
Instructor: Ehtesham Mehmood
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 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
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 3
Waterfall Model
 The earliest software development model (Royce, 1970).
Requirements
definition
System and
software design
Implementation
and unit testing
Integration and
system testing
Operation and
maintenance
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 4
4
Waterfall model (Royce, 1970)
Requirements
Verify
Retirement
Operations
Test
Implementation
Verify
Design
Req. Change
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 5
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 6
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).
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 7
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 8
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 9
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 10
Evolutionary Model
 Evolves an initial implementation with user feedback
→ multiple versions until the final version.
Validation
Final
version
Development
Intermediate
versions
Specification
Initial
version
Outline
description
Concurrent
activities
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 11
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 12
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 13
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 14
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
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 15
Incremental Model
 Each increment is a mini-waterfall.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 16
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 17
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 18
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 19
Spiral Model
 Formalize the Evolutionary Model and avoid the
management shortcomings.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 20
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 21
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 22
Unified Process
 State of the art process, by learning from the history
of previous software development processes.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 23
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 24
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 25
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 26
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 27
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 28
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 29
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
Process View
Use Case
View
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 30
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 31
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”.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 32
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 33
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 34
Process View
 Audience:
 System Analyst, Programmer and Tester.
 Usage:
 Non-Functional requirements.
 Defines concurrency within the system.
 Relatively undeveloped.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 35
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 36
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 37
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)
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 38
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 39
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
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 40
Design Model and Code
 Models present an abstract view of system.
 Implementation adds enough detail to make these
models executable.
UML model Object structures
Source code Executing program
UML
Java
Abstract view of Abstract view of
specifies
specifies
Compile time Run time
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 41
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 42
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 43
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 44
UP: Analysis and Design
 Analysis and Design usually overlap in UP as the
same diagrams are used.
 Proceed by Realization and Refinement.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 45
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 46
UP: Specifying Behavior
 UML provides State Chart to document the
behavior of classes.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 47
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 48
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 49
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.
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 50
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
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 51
Reading Suggestions
 [Wadhwa, Andrei, Soo; 2007], Chapter 2
 [Sommerville; 2008], Chapters 1 and 4
 [Priestley; 2004], Chapter 3
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 52
Coming up next
 Use Case Modeling, Domain Modeling:
 [Wadhwa, Andrei, Soo; 2007], Chapters 2 and 3
 [Priestley; 2004], Chapter 4
2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 53
Thank you for your attention!
Questions?

More Related Content

Similar to dokumen.tips_waterfall-model-in-software-engineering.pptx

01 software development life cycle
01 software development life cycle01 software development life cycle
01 software development life cycleAtshushi Takahama
 
Unit 2 final
Unit 2 finalUnit 2 final
Unit 2 finalsietkcse
 
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
 
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
 
Ian Sommerville, Software Engineering, 9th Edition Ch2
Ian Sommerville,  Software Engineering, 9th Edition Ch2Ian Sommerville,  Software Engineering, 9th Edition Ch2
Ian Sommerville, Software Engineering, 9th Edition Ch2Mohammed Romi
 
ch2swprocesses-150102101840-conversion-gate02.pdf
ch2swprocesses-150102101840-conversion-gate02.pdfch2swprocesses-150102101840-conversion-gate02.pdf
ch2swprocesses-150102101840-conversion-gate02.pdfabdallhelkahlout1
 
Introduction to Software Development Life Cycle: Phases & Models
Introduction to Software Development Life Cycle: Phases & ModelsIntroduction to Software Development Life Cycle: Phases & Models
Introduction to Software Development Life Cycle: Phases & Modelsmanoharparakh
 
Ch2 software engineering and Processes.pdf
Ch2 software engineering and Processes.pdfCh2 software engineering and Processes.pdf
Ch2 software engineering and Processes.pdfahmedibrahimghnnam01
 
Chapter 2 Software Processes.pdf
Chapter 2 Software Processes.pdfChapter 2 Software Processes.pdf
Chapter 2 Software Processes.pdfHardikGupta400524
 
Unit 1 sepm process models
Unit 1 sepm process modelsUnit 1 sepm process models
Unit 1 sepm process modelsKanchanPatil34
 
System Development
System  DevelopmentSystem  Development
System DevelopmentSharad Patel
 

Similar to dokumen.tips_waterfall-model-in-software-engineering.pptx (20)

SE-03.pptx
SE-03.pptxSE-03.pptx
SE-03.pptx
 
Software engineering the process
Software engineering the processSoftware engineering the process
Software engineering the process
 
01 software development life cycle
01 software development life cycle01 software development life cycle
01 software development life cycle
 
The process
The processThe process
The process
 
Case study(i)
Case study(i)Case study(i)
Case study(i)
 
Unit 2 final
Unit 2 finalUnit 2 final
Unit 2 final
 
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
 
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
 
3. ch 2-process model
3. ch 2-process model3. ch 2-process model
3. ch 2-process model
 
Ian Sommerville, Software Engineering, 9th Edition Ch2
Ian Sommerville,  Software Engineering, 9th Edition Ch2Ian Sommerville,  Software Engineering, 9th Edition Ch2
Ian Sommerville, Software Engineering, 9th Edition Ch2
 
Process models
Process modelsProcess models
Process models
 
SDLC Model
SDLC  ModelSDLC  Model
SDLC Model
 
ch2swprocesses-150102101840-conversion-gate02.pdf
ch2swprocesses-150102101840-conversion-gate02.pdfch2swprocesses-150102101840-conversion-gate02.pdf
ch2swprocesses-150102101840-conversion-gate02.pdf
 
Introduction to Software Development Life Cycle: Phases & Models
Introduction to Software Development Life Cycle: Phases & ModelsIntroduction to Software Development Life Cycle: Phases & Models
Introduction to Software Development Life Cycle: Phases & Models
 
Ch2 - SW Processes
Ch2 - SW ProcessesCh2 - SW Processes
Ch2 - SW Processes
 
Ch2 software engineering and Processes.pdf
Ch2 software engineering and Processes.pdfCh2 software engineering and Processes.pdf
Ch2 software engineering and Processes.pdf
 
Chapter 2 Software Processes.pdf
Chapter 2 Software Processes.pdfChapter 2 Software Processes.pdf
Chapter 2 Software Processes.pdf
 
Unit 1 sepm process models
Unit 1 sepm process modelsUnit 1 sepm process models
Unit 1 sepm process models
 
Software Development Life Cycle Part II
Software Development Life Cycle Part IISoftware Development Life Cycle Part II
Software Development Life Cycle Part II
 
System Development
System  DevelopmentSystem  Development
System Development
 

More from RudranilDas11

leadership-160222132756.pptx
leadership-160222132756.pptxleadership-160222132756.pptx
leadership-160222132756.pptxRudranilDas11
 
SodaPDF-converted-constitution-150924140506-lva1-app6891-converted.pptx
SodaPDF-converted-constitution-150924140506-lva1-app6891-converted.pptxSodaPDF-converted-constitution-150924140506-lva1-app6891-converted.pptx
SodaPDF-converted-constitution-150924140506-lva1-app6891-converted.pptxRudranilDas11
 
SodaPDF-converted-inheritanceinjava-120903114217-phpapp02-converted.pptx
SodaPDF-converted-inheritanceinjava-120903114217-phpapp02-converted.pptxSodaPDF-converted-inheritanceinjava-120903114217-phpapp02-converted.pptx
SodaPDF-converted-inheritanceinjava-120903114217-phpapp02-converted.pptxRudranilDas11
 
IIM CA1_Shoubhik_Chatterjee_21273030158.pptx
IIM CA1_Shoubhik_Chatterjee_21273030158.pptxIIM CA1_Shoubhik_Chatterjee_21273030158.pptx
IIM CA1_Shoubhik_Chatterjee_21273030158.pptxRudranilDas11
 
RUDRANIL DAS operatingsystem CA1.pptx
RUDRANIL DAS operatingsystem CA1.pptxRUDRANIL DAS operatingsystem CA1.pptx
RUDRANIL DAS operatingsystem CA1.pptxRudranilDas11
 

More from RudranilDas11 (8)

leadership-160222132756.pptx
leadership-160222132756.pptxleadership-160222132756.pptx
leadership-160222132756.pptx
 
SodaPDF-converted-constitution-150924140506-lva1-app6891-converted.pptx
SodaPDF-converted-constitution-150924140506-lva1-app6891-converted.pptxSodaPDF-converted-constitution-150924140506-lva1-app6891-converted.pptx
SodaPDF-converted-constitution-150924140506-lva1-app6891-converted.pptx
 
ch19.ppt
ch19.pptch19.ppt
ch19.ppt
 
SodaPDF-converted-inheritanceinjava-120903114217-phpapp02-converted.pptx
SodaPDF-converted-inheritanceinjava-120903114217-phpapp02-converted.pptxSodaPDF-converted-inheritanceinjava-120903114217-phpapp02-converted.pptx
SodaPDF-converted-inheritanceinjava-120903114217-phpapp02-converted.pptx
 
chapter2.ppt
chapter2.pptchapter2.ppt
chapter2.ppt
 
IIM CA1_Shoubhik_Chatterjee_21273030158.pptx
IIM CA1_Shoubhik_Chatterjee_21273030158.pptxIIM CA1_Shoubhik_Chatterjee_21273030158.pptx
IIM CA1_Shoubhik_Chatterjee_21273030158.pptx
 
Presentation 3.pptx
Presentation 3.pptxPresentation 3.pptx
Presentation 3.pptx
 
RUDRANIL DAS operatingsystem CA1.pptx
RUDRANIL DAS operatingsystem CA1.pptxRUDRANIL DAS operatingsystem CA1.pptx
RUDRANIL DAS operatingsystem CA1.pptx
 

Recently uploaded

Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz1
 
Dubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls DubaiDubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls Dubaihf8803863
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionfulawalesam
 
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptdokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptSonatrach
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxfirstjob4
 
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service BhilaiLow Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service BhilaiSuhani Kapoor
 
Unveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data AnalystUnveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data AnalystSamantha Rae Coolbeth
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
BabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxBabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxolyaivanovalion
 
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfKantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfSocial Samosa
 
Call Girls In Mahipalpur O9654467111 Escorts Service
Call Girls In Mahipalpur O9654467111  Escorts ServiceCall Girls In Mahipalpur O9654467111  Escorts Service
Call Girls In Mahipalpur O9654467111 Escorts ServiceSapana Sha
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusTimothy Spann
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfLars Albertsson
 
(ISHITA) Call Girls Service Hyderabad Call Now 8617697112 Hyderabad Escorts
(ISHITA) Call Girls Service Hyderabad Call Now 8617697112 Hyderabad Escorts(ISHITA) Call Girls Service Hyderabad Call Now 8617697112 Hyderabad Escorts
(ISHITA) Call Girls Service Hyderabad Call Now 8617697112 Hyderabad EscortsCall girls in Ahmedabad High profile
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxolyaivanovalion
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxolyaivanovalion
 
B2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxB2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxStephen266013
 

Recently uploaded (20)

Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signals
 
Dubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls DubaiDubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls Dubai
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interaction
 
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptdokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptx
 
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service BhilaiLow Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
 
Unveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data AnalystUnveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data Analyst
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
 
BabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxBabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptx
 
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfKantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
 
Call Girls In Mahipalpur O9654467111 Escorts Service
Call Girls In Mahipalpur O9654467111  Escorts ServiceCall Girls In Mahipalpur O9654467111  Escorts Service
Call Girls In Mahipalpur O9654467111 Escorts Service
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and Milvus
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdf
 
(ISHITA) Call Girls Service Hyderabad Call Now 8617697112 Hyderabad Escorts
(ISHITA) Call Girls Service Hyderabad Call Now 8617697112 Hyderabad Escorts(ISHITA) Call Girls Service Hyderabad Call Now 8617697112 Hyderabad Escorts
(ISHITA) Call Girls Service Hyderabad Call Now 8617697112 Hyderabad Escorts
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptx
 
E-Commerce Order PredictionShraddha Kamble.pptx
E-Commerce Order PredictionShraddha Kamble.pptxE-Commerce Order PredictionShraddha Kamble.pptx
E-Commerce Order PredictionShraddha Kamble.pptx
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptx
 
B2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxB2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docx
 

dokumen.tips_waterfall-model-in-software-engineering.pptx

  • 1. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 1 Software Engineering, CPSC-4360-01, CPSC-5360-01, Lecture 2 Instructor: Ehtesham Mehmood
  • 2. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 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
  • 3. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 3 Waterfall Model  The earliest software development model (Royce, 1970). Requirements definition System and software design Implementation and unit testing Integration and system testing Operation and maintenance
  • 4. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 4 4 Waterfall model (Royce, 1970) Requirements Verify Retirement Operations Test Implementation Verify Design Req. Change
  • 5. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 5 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.
  • 6. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 6 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).
  • 7. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 7 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.
  • 8. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 8 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.
  • 9. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 9 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.
  • 10. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 10 Evolutionary Model  Evolves an initial implementation with user feedback → multiple versions until the final version. Validation Final version Development Intermediate versions Specification Initial version Outline description Concurrent activities
  • 11. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 11 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.
  • 12. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 12 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.
  • 13. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 13 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.
  • 14. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 14 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
  • 15. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 15 Incremental Model  Each increment is a mini-waterfall.
  • 16. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 16 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.
  • 17. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 17 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.
  • 18. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 18 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.
  • 19. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 19 Spiral Model  Formalize the Evolutionary Model and avoid the management shortcomings.
  • 20. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 20 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.
  • 21. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 21 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.
  • 22. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 22 Unified Process  State of the art process, by learning from the history of previous software development processes.
  • 23. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 23 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.
  • 24. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 24 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.
  • 25. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 25 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.
  • 26. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 26 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.
  • 27. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 27 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.
  • 28. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 28 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.
  • 29. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 29 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 Process View Use Case View
  • 30. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 30 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.
  • 31. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 31 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”.
  • 32. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 32 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.
  • 33. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 33 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.
  • 34. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 34 Process View  Audience:  System Analyst, Programmer and Tester.  Usage:  Non-Functional requirements.  Defines concurrency within the system.  Relatively undeveloped.
  • 35. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 35 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.
  • 36. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 36 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.
  • 37. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 37 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)
  • 38. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 38 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.
  • 39. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 39 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
  • 40. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 40 Design Model and Code  Models present an abstract view of system.  Implementation adds enough detail to make these models executable. UML model Object structures Source code Executing program UML Java Abstract view of Abstract view of specifies specifies Compile time Run time
  • 41. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 41 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.
  • 42. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 42 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.
  • 43. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 43 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.
  • 44. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 44 UP: Analysis and Design  Analysis and Design usually overlap in UP as the same diagrams are used.  Proceed by Realization and Refinement.
  • 45. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 45 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.
  • 46. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 46 UP: Specifying Behavior  UML provides State Chart to document the behavior of classes.
  • 47. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 47 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.
  • 48. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 48 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.
  • 49. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 49 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.
  • 50. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 50 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
  • 51. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 51 Reading Suggestions  [Wadhwa, Andrei, Soo; 2007], Chapter 2  [Sommerville; 2008], Chapters 1 and 4  [Priestley; 2004], Chapter 3
  • 52. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 52 Coming up next  Use Case Modeling, Domain Modeling:  [Wadhwa, Andrei, Soo; 2007], Chapters 2 and 3  [Priestley; 2004], Chapter 4
  • 53. 2/1/2024 CPSC-4360-01, CPSC-5360-01, Lecture 2 53 Thank you for your attention! Questions?