SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Software Engineering
Department of Computer Science
Northern University Nowshera
Lecture # 02
Engr. Zia Ullah
Software
Process Models
Outline
• Generic process framework
• Waterfall model
• Incremental model
• Prototyping model
• Spiral model
• Summary
Software Engineering: By Engr. Zia Ullah 3
4
Generic Process Framework
• Communication
– Involves communication among the customer and
other stake holders; encompasses requirements
gathering
• Planning
– Establishes a plan for software engineering work;
addresses technical tasks, resources, work products,
and work schedule
• Modelling (Analyse, Design)
– Encompasses the creation of models to better under
the requirements and the design
Software Engineering: By Engr. Zia Ullah
• Construction (Code, Test)
– Combines code generation and testing to uncover
errors
• Deployment
– Involves delivery of software to the customer for
evaluation and feedback
Software Engineering: By Engr. Zia Ullah 5
6
Modelling: Software
Requirements Analysis
• Helps software engineers to better understand the
problem they will work to solve
• Encompasses the set of tasks that lead to an
understanding of what the business impact of the
software will be, what the customer wants, and how
end-users will interact with the software
• Uses a combination of text and diagrams to depict
requirements for data, function, and behaviour
– Provides a relatively easy way to understand and review
requirements for correctness, completeness and
consistency
Software Engineering: By Engr. Zia Ullah 6
7
Modelling: Software Design
• Brings together customer requirements, business needs,
and technical considerations to form the “blueprint” for
a product
• Creates a model that provides detail about software
data structures, software architecture, interfaces, and
components that are necessary to implement the
system
• Architectural design
– Represents the structure of data and program components
that are required to build the software
– Considers the architectural style, the structure and properties
of components that constitute the system, and
interrelationships that occur among all architectural
components
Software Engineering: By Engr. Zia Ullah 7
Continued…
• User Interface Design
– Creates an effective communication medium
between a human and a computer
– Identifies interface objects and actions and then
creates a screen layout that forms the basis for a
user interface prototype
• Component-level Design
– Defines the data structures, algorithms, interface
characteristics, and communication mechanisms
allocated to each software component
Software Engineering: By Engr. Zia Ullah 8
Process Model
• Defines a distinct set of activities, actions,
tasks, milestones, and work products that
are required to engineer high-quality
software
• The activities may be linear, incremental, or
evolutionary
Software Engineering: By Engr. Zia Ullah 9
The Software Process
• A structured set of activities required to develop a
software system.
• A software process model is an abstract representation
of a process. It presents a description of a process from
some particular perspective.
Software Engineering: By Engr. Zia Ullah 10
Software Process Descriptions
• When we describe and discuss processes, we usually
talk about the activities in these processes such as
specifying a data model, designing a user interface, etc.
and the ordering of these activities.
• Process descriptions may also include:
– Products, which are the outcomes of a process activity;
– Roles, which reflect the responsibilities of the people involved in
the process;
– Pre- and post-conditions, which are statements that are true
before and after a process activity has been enacted or a
product produced.
Software Engineering: By Engr. Zia Ullah 11
Traditional Process Models
Waterfall Model
(Diagram)
Communication
Project initiation
Requirements
gathering
Planning
Estimating
Scheduling
Tracking Modeling
Analysis
Design Construction
Code
Test Deployment
Delivery
Support
Feedback
Software Engineering: By Engr. Zia Ullah 13
14
Waterfall Model
(Description)
• Oldest software lifecycle model
• Used when requirements are well understood and risk
is low
• Work flow is in a linear (i.e., sequential) fashion
• Used often with well-defined adaptations or
enhancements to current software
Software Engineering: By Engr. Zia Ullah 14
Waterfall Model Phases
 There are separate identified phases in the waterfall model:
– Requirements analysis and definition
– System and software design
– Implementation and unit testing
– Integration and system testing
– Operation and maintenance
• The main drawback of the waterfall model is the difficulty of
accommodating change after the process is underway. In
principle, a phase has to be complete before moving onto the
next phase.
• But many issues are true too, such as risk addressing.
• War Stories but true.
Software Engineering: By Engr. Zia Ullah 15
17
Waterfall Model
(Problems)
• Doesn't support iteration, so changes can cause
confusion
• Difficult for customers to state all requirements
explicitly and up front
• Requires customer patience because a working
version of the program doesn't occur until the final
phase
• Problems can be somewhat alleviated in the model
through the addition of feedback loops (see the next
slide)
Software Engineering: By Engr. Zia Ullah 17
20
Waterfall Model with Feedback
(Diagram)
Communication
Project initiation
Requirements
gathering
Planning
Estimating
Scheduling
Tracking Modeling
Analysis
Design Construction
Code
Test Deployment
Delivery
Support
Feedback
Software Engineering: By Engr. Zia Ullah 20
21
Incremental Model
(Diagram)
Increment #1
Increment #2
Increment #3
Communication
Planning
Modeling
Construction
Deployment
Communication
Planning
Modeling
Construction
Deployment
Communication
Planning
Modeling
Construction
Deploy……
Software Engineering: By Engr. Zia Ullah 21
22
Incremental Model
(Description)
• Used when requirements are well understood
• Multiple independent deliveries are identified
• Work flow is in a linear (i.e., sequential) fashion within
an increment and is staggered between increments
• Iterative in nature; focuses on an operational product
with each increment
• Provides a needed set of functionality sooner while
delivering optional components later
• Useful also when staffing is too short for a full-scale
development Software Engineering: By Engr. Zia Ullah 22
28
Prototyping Model
(Diagram)
Communication
Quick
Planning
Modeling
Quick Design
Construction
Of Prototype
Deployment,
Delivery,
and Feedback
Start
Software Engineering: By Engr. Zia Ullah 28
29
Prototyping Model
(Description)
• Follows an evolutionary and iterative approach
• Used when requirements are not well understood
• Serves as a mechanism for identifying software
requirements
• Focuses on those aspects of the software that are
visible to the customer/user
• Feedback is used to refine the prototype
Software Engineering: By Engr. Zia Ullah 29
30
Prototyping Model
(Potential Problems)
• The customer sees a "working version" of the
software, wants to stop all development and then buy
the prototype after a "few fixes" are made
• Developers often make implementation compromises
to get the software running quickly (e.g., language
choice, user interface, operating system choice,
inefficient algorithms)
• Lesson learned
– Define the rules up front on the final disposition of the
prototype before it is built
– In most circumstances, plan to discard the prototype and
engineer the actual production software with a goal toward
quality Software Engineering: By Engr. Zia Ullah 30
Chapter 2 Software Processes
Boehm’s Spiral Model - heavyweight model
 Process is represented as a spiral rather than as a
sequence of activities with backtracking.
 Each loop in the spiral represents a phase in the
process.
 No fixed phases such as specification or design - loops in
the spiral are chosen depending on what is required.
 Risks are explicitly assessed and resolved throughout the
process.
 This was the motivation behind developing the Spiral Model - Risk
11
Software Engineering: By Engr. Zia Ullah 34
35
Spiral Model
(Diagram)
Start
Start
Communication
Planning
Modeling
Construction
Deployment
Software Engineering: By Engr. Zia Ullah 35
36
Spiral Model
(Description)
• Follows an evolutionary approach
• Used when requirements are not well understood and
risks are high
• Inner spirals focus on identifying software requirements
and project risks; may also incorporate prototyping
• Outer spirals take on a classical waterfall approach after
requirements have been defined, but permit iterative
growth of the software
Software Engineering: By Engr. Zia Ullah 36
• Operates as a risk-driven model…a go/no-go
decision occurs after each complete spiral in
order to react to risk determinations
• Requires considerable expertise in risk
assessment
• Serves as a realistic model for large-scale
software development
Software Engineering: By Engr. Zia Ullah 41
42
General Weaknesses of
Evolutionary Process Models
1) Prototyping poses a problem to project planning
because of the uncertain number of iterations
required to construct the product
2) Evolutionary software processes do not establish
the maximum speed of the evolution
• If too fast, the process will fall into chaos
• If too slow, productivity could be affected
Software Engineering: By Engr. Zia Ullah 42
Continued…
3) Software processes should focus first on flexibility
and extensibility, and second on high quality
• We should prioritize the speed of the development over
zero defects
• Extending the development in order to reach higher
quality could result in late delivery
Software Engineering: By Engr. Zia Ullah 43

Weitere ähnliche Inhalte

Ähnlich wie Lecture #02 ECS-511.pptx

Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Soft engg introduction and process models
Soft engg introduction and process modelsSoft engg introduction and process models
Soft engg introduction and process modelssnehalkulkarni74
 
Introduction to Software engineering ch03
Introduction to Software engineering ch03Introduction to Software engineering ch03
Introduction to Software engineering ch03YousefYassin5
 
Software Engineering (Process Models)
Software Engineering (Process Models)Software Engineering (Process Models)
Software Engineering (Process Models)ShudipPal
 
04_Materi Software Proses-Models(1).pptx
04_Materi Software Proses-Models(1).pptx04_Materi Software Proses-Models(1).pptx
04_Materi Software Proses-Models(1).pptxMarwondoMarwondo
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxethiouniverse
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notesSiva Ayyakutti
 
Types of Software life cycle
Types of Software life cycleTypes of Software life cycle
Types of Software life cycleSanthia RK
 
Software process Models
Software process ModelsSoftware process Models
Software process ModelsSADEED AMEEN
 
Software life cycle
Software life cycleSoftware life cycle
Software life cyclekingseif
 

Ähnlich wie Lecture #02 ECS-511.pptx (20)

SE Unit-1.pptx
SE Unit-1.pptxSE Unit-1.pptx
SE Unit-1.pptx
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Waterfall Model
Waterfall ModelWaterfall Model
Waterfall Model
 
Soft engg introduction and process models
Soft engg introduction and process modelsSoft engg introduction and process models
Soft engg introduction and process models
 
Introduction to Software engineering ch03
Introduction to Software engineering ch03Introduction to Software engineering ch03
Introduction to Software engineering ch03
 
Software Engineering (Process Models)
Software Engineering (Process Models)Software Engineering (Process Models)
Software Engineering (Process Models)
 
2-models.pptx
2-models.pptx2-models.pptx
2-models.pptx
 
ppt2.pptx
ppt2.pptxppt2.pptx
ppt2.pptx
 
04_Materi Software Proses-Models(1).pptx
04_Materi Software Proses-Models(1).pptx04_Materi Software Proses-Models(1).pptx
04_Materi Software Proses-Models(1).pptx
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
 
The process
The processThe process
The process
 
1 sdlc model
1 sdlc model1 sdlc model
1 sdlc model
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
Types of Software life cycle
Types of Software life cycleTypes of Software life cycle
Types of Software life cycle
 
Software process Models
Software process ModelsSoftware process Models
Software process Models
 
Software engineering the process
Software engineering the processSoftware engineering the process
Software engineering the process
 
Process models
Process modelsProcess models
Process models
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
DITEC - Software Engineering
DITEC - Software EngineeringDITEC - Software Engineering
DITEC - Software Engineering
 
Software life cycle
Software life cycleSoftware life cycle
Software life cycle
 

Mehr von AbuBakkarShayan

Mehr von AbuBakkarShayan (10)

DLD PRESENTATION1.pptx
DLD PRESENTATION1.pptxDLD PRESENTATION1.pptx
DLD PRESENTATION1.pptx
 
Critical Section Problem.pptx
Critical Section Problem.pptxCritical Section Problem.pptx
Critical Section Problem.pptx
 
Deadlock Algorithms 3.pptx
Deadlock Algorithms 3.pptxDeadlock Algorithms 3.pptx
Deadlock Algorithms 3.pptx
 
SRS.pdf
SRS.pdfSRS.pdf
SRS.pdf
 
Deadlock 4.pptx
Deadlock 4.pptxDeadlock 4.pptx
Deadlock 4.pptx
 
1 Synchronization.pptx
1 Synchronization.pptx1 Synchronization.pptx
1 Synchronization.pptx
 
OS Semaphore.pptx
OS Semaphore.pptxOS Semaphore.pptx
OS Semaphore.pptx
 
dessler_ch1.ppt
dessler_ch1.pptdessler_ch1.ppt
dessler_ch1.ppt
 
Area-12-Internal-and-External-Environment.ppt
Area-12-Internal-and-External-Environment.pptArea-12-Internal-and-External-Environment.ppt
Area-12-Internal-and-External-Environment.ppt
 
Lesson 09.ppt
Lesson 09.pptLesson 09.ppt
Lesson 09.ppt
 

Kürzlich hochgeladen

Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...software pro Development
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 

Kürzlich hochgeladen (20)

Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 

Lecture #02 ECS-511.pptx

  • 1. Software Engineering Department of Computer Science Northern University Nowshera Lecture # 02 Engr. Zia Ullah
  • 3. Outline • Generic process framework • Waterfall model • Incremental model • Prototyping model • Spiral model • Summary Software Engineering: By Engr. Zia Ullah 3
  • 4. 4 Generic Process Framework • Communication – Involves communication among the customer and other stake holders; encompasses requirements gathering • Planning – Establishes a plan for software engineering work; addresses technical tasks, resources, work products, and work schedule • Modelling (Analyse, Design) – Encompasses the creation of models to better under the requirements and the design Software Engineering: By Engr. Zia Ullah
  • 5. • Construction (Code, Test) – Combines code generation and testing to uncover errors • Deployment – Involves delivery of software to the customer for evaluation and feedback Software Engineering: By Engr. Zia Ullah 5
  • 6. 6 Modelling: Software Requirements Analysis • Helps software engineers to better understand the problem they will work to solve • Encompasses the set of tasks that lead to an understanding of what the business impact of the software will be, what the customer wants, and how end-users will interact with the software • Uses a combination of text and diagrams to depict requirements for data, function, and behaviour – Provides a relatively easy way to understand and review requirements for correctness, completeness and consistency Software Engineering: By Engr. Zia Ullah 6
  • 7. 7 Modelling: Software Design • Brings together customer requirements, business needs, and technical considerations to form the “blueprint” for a product • Creates a model that provides detail about software data structures, software architecture, interfaces, and components that are necessary to implement the system • Architectural design – Represents the structure of data and program components that are required to build the software – Considers the architectural style, the structure and properties of components that constitute the system, and interrelationships that occur among all architectural components Software Engineering: By Engr. Zia Ullah 7
  • 8. Continued… • User Interface Design – Creates an effective communication medium between a human and a computer – Identifies interface objects and actions and then creates a screen layout that forms the basis for a user interface prototype • Component-level Design – Defines the data structures, algorithms, interface characteristics, and communication mechanisms allocated to each software component Software Engineering: By Engr. Zia Ullah 8
  • 9. Process Model • Defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high-quality software • The activities may be linear, incremental, or evolutionary Software Engineering: By Engr. Zia Ullah 9
  • 10. The Software Process • A structured set of activities required to develop a software system. • A software process model is an abstract representation of a process. It presents a description of a process from some particular perspective. Software Engineering: By Engr. Zia Ullah 10
  • 11. Software Process Descriptions • When we describe and discuss processes, we usually talk about the activities in these processes such as specifying a data model, designing a user interface, etc. and the ordering of these activities. • Process descriptions may also include: – Products, which are the outcomes of a process activity; – Roles, which reflect the responsibilities of the people involved in the process; – Pre- and post-conditions, which are statements that are true before and after a process activity has been enacted or a product produced. Software Engineering: By Engr. Zia Ullah 11
  • 13. Waterfall Model (Diagram) Communication Project initiation Requirements gathering Planning Estimating Scheduling Tracking Modeling Analysis Design Construction Code Test Deployment Delivery Support Feedback Software Engineering: By Engr. Zia Ullah 13
  • 14. 14 Waterfall Model (Description) • Oldest software lifecycle model • Used when requirements are well understood and risk is low • Work flow is in a linear (i.e., sequential) fashion • Used often with well-defined adaptations or enhancements to current software Software Engineering: By Engr. Zia Ullah 14
  • 15. Waterfall Model Phases  There are separate identified phases in the waterfall model: – Requirements analysis and definition – System and software design – Implementation and unit testing – Integration and system testing – Operation and maintenance • The main drawback of the waterfall model is the difficulty of accommodating change after the process is underway. In principle, a phase has to be complete before moving onto the next phase. • But many issues are true too, such as risk addressing. • War Stories but true. Software Engineering: By Engr. Zia Ullah 15
  • 16.
  • 17. 17 Waterfall Model (Problems) • Doesn't support iteration, so changes can cause confusion • Difficult for customers to state all requirements explicitly and up front • Requires customer patience because a working version of the program doesn't occur until the final phase • Problems can be somewhat alleviated in the model through the addition of feedback loops (see the next slide) Software Engineering: By Engr. Zia Ullah 17
  • 18.
  • 19.
  • 20. 20 Waterfall Model with Feedback (Diagram) Communication Project initiation Requirements gathering Planning Estimating Scheduling Tracking Modeling Analysis Design Construction Code Test Deployment Delivery Support Feedback Software Engineering: By Engr. Zia Ullah 20
  • 21. 21 Incremental Model (Diagram) Increment #1 Increment #2 Increment #3 Communication Planning Modeling Construction Deployment Communication Planning Modeling Construction Deployment Communication Planning Modeling Construction Deploy…… Software Engineering: By Engr. Zia Ullah 21
  • 22. 22 Incremental Model (Description) • Used when requirements are well understood • Multiple independent deliveries are identified • Work flow is in a linear (i.e., sequential) fashion within an increment and is staggered between increments • Iterative in nature; focuses on an operational product with each increment • Provides a needed set of functionality sooner while delivering optional components later • Useful also when staffing is too short for a full-scale development Software Engineering: By Engr. Zia Ullah 22
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28. 28 Prototyping Model (Diagram) Communication Quick Planning Modeling Quick Design Construction Of Prototype Deployment, Delivery, and Feedback Start Software Engineering: By Engr. Zia Ullah 28
  • 29. 29 Prototyping Model (Description) • Follows an evolutionary and iterative approach • Used when requirements are not well understood • Serves as a mechanism for identifying software requirements • Focuses on those aspects of the software that are visible to the customer/user • Feedback is used to refine the prototype Software Engineering: By Engr. Zia Ullah 29
  • 30. 30 Prototyping Model (Potential Problems) • The customer sees a "working version" of the software, wants to stop all development and then buy the prototype after a "few fixes" are made • Developers often make implementation compromises to get the software running quickly (e.g., language choice, user interface, operating system choice, inefficient algorithms) • Lesson learned – Define the rules up front on the final disposition of the prototype before it is built – In most circumstances, plan to discard the prototype and engineer the actual production software with a goal toward quality Software Engineering: By Engr. Zia Ullah 30
  • 31.
  • 32.
  • 33.
  • 34. Chapter 2 Software Processes Boehm’s Spiral Model - heavyweight model  Process is represented as a spiral rather than as a sequence of activities with backtracking.  Each loop in the spiral represents a phase in the process.  No fixed phases such as specification or design - loops in the spiral are chosen depending on what is required.  Risks are explicitly assessed and resolved throughout the process.  This was the motivation behind developing the Spiral Model - Risk 11 Software Engineering: By Engr. Zia Ullah 34
  • 36. 36 Spiral Model (Description) • Follows an evolutionary approach • Used when requirements are not well understood and risks are high • Inner spirals focus on identifying software requirements and project risks; may also incorporate prototyping • Outer spirals take on a classical waterfall approach after requirements have been defined, but permit iterative growth of the software Software Engineering: By Engr. Zia Ullah 36
  • 37.
  • 38.
  • 39.
  • 40.
  • 41. • Operates as a risk-driven model…a go/no-go decision occurs after each complete spiral in order to react to risk determinations • Requires considerable expertise in risk assessment • Serves as a realistic model for large-scale software development Software Engineering: By Engr. Zia Ullah 41
  • 42. 42 General Weaknesses of Evolutionary Process Models 1) Prototyping poses a problem to project planning because of the uncertain number of iterations required to construct the product 2) Evolutionary software processes do not establish the maximum speed of the evolution • If too fast, the process will fall into chaos • If too slow, productivity could be affected Software Engineering: By Engr. Zia Ullah 42
  • 43. Continued… 3) Software processes should focus first on flexibility and extensibility, and second on high quality • We should prioritize the speed of the development over zero defects • Extending the development in order to reach higher quality could result in late delivery Software Engineering: By Engr. Zia Ullah 43