SlideShare a Scribd company logo
E.M.G.YADAVA WOMEN’S COLLEGE, MADURAI-14
(An Autonomous Institution – Affiliated to Madurai Kamaraj University)
Re-accredited (3rd Cycle) with Grade A+ & CGPA 3.51 by NAAC
DEPARTMENT OF COMPUTER SCIENCE
V – Semester
SOFTWARE ENGINEERING
Roger S. Pressman
7th Edition
Mrs. V. JAYAVANI M.S(IT&M).,
Assistant Professor of Computer Science
UNIT – I (Cont…)
OUTLINE
• SoftwareEngineering
• TheSoftware Process
• AGenericProcessModel
1.3 Software Engineering
In order to build software that is ready to meet the
challenges of the twenty-first century, you must recognize a few
simple realities:
 It follows that a concerted effort should be made to understand
the problem before a software solution is developed.
 It follows that design becomes a pivotal activity.
 It follows that software should exhibit high quality
 It follows that software should be maintainable.
These simple realities lead to one conclusion: Software in all
of its forms and across all of its application domains should be
engineered.
1.3 Software Engineering (Cont….)
The IEEE [IEE93a] has developed a more
comprehensive definition when it states:
Software Engineering: (1) The application of a
systematic, disciplined, quantifiable approach to the
development, operation, and maintenance of software;
that is, the application of engineering to software. (2)
The study of approaches as in (1).
Software Engineering Layers
a “quality” focus
Process model
Methods
Tools
1.3 Software Engineering (Cont….)
 Software engineering is a layered technology.
 The foundation for software engineering is the
process layer.
 The software engineering process is the glue that
holds the technology layers together and enables
rational and timely development of computer software.
1.3 Software Engineering (Cont….)
 The process forms the basis for management control
of software projects and establishes the context in
which technical methods are applied, work products are
produced, milestones are established, quality is
ensured, and change is properly managed.
 The method layer provides technical knowledge for
developing software. This layer covers a broad array of
tasks that include requirements analysis, design,
coding, testing, and maintenance phase of the software
development.
 The tools layer provides computerized or semi-
computerized support for the process and the method
layer. Sometimes tools are integrated in such a way
that other tools can use information created by one
1.4. The Software Process
 A process is a collection of activities, actions, and
tasks that are performed when some work product is to
be created.
 An activity strives to achieve a broad objective (e.g.,
communication with stakeholders) and is applied
regardless of the application domain, size of the
project, complexity of the effort, or degree of rigor with
which software engineering is to be applied.
 An action (e.g., architectural design) encompasses a
set of tasks that produce a major work product (e.g., an
architectural design model).
 A task focuses on a small, but well-defined objective
(e.g., conducting a unit test) that produces a tangible
outcome.
1.4. The Software Process (Cont…)
Software engineering, a process is not a rigid prescription
for how to build computer software. Rather, it is an adaptable
approach that enables the people doing the work (the software
team) to pick and choose the appropriate set of work actions
and tasks. The intent is always to deliver software in a timely
manner and with sufficient quality to satisfy those who
have sponsored its creation and those who will use it.
A process framework establishes the foundation for a
complete software engineering process by identifying a small
number of framework activities that are applicable to all
software projects, regardless of their size or complexity. In
addition, the process framework encompasses a set of
umbrella activities that are applicable across the entire
1.4. The Software Process (Cont…)
A generic process framework for software
engineering encompasses five activities:
 Communication: Before any technical work can
commence, it is critically important to communicate and
collaborate with the customer (and other
stakeholders11 The intent is to understand
stakeholders’ objectives for the project and to gather
requirements that help define software features and
functions.
 Planning: Any complicated journey can be simplified if
a map exists. A software project is a complicated
journey, and the planning activity creates a “map” that
helps guide the team as it makes the journey. The
map—called a software project plan—defines the
software engineering work by describing the technical
tasks to be conducted, the risks that are likely, the
1.4. The Software Process (Cont…)
 Modeling: Whether you’re a landscaper, a bridge
builder, an aeronautical engineer, a carpenter, or an
architect, you work with models every day. You create a
“sketch” of the thing so that you’ll understand the big
picture—w hat it will look like architecturally, how the
constituent parts fit together, and many other
characteristics. If required, you refine the sketch into
greater and greater detail in an effort to better
understand the problem and how you’re going to solve
it. A software engineer does the same thing by creating
models to better understand software requirements and
the design that will achieve those requirements.
 Construction: This activity combines code generation
1.4. The Software Process (Cont…)
 Deployment: The software (as a complete entity
or as a partially completed increment) is delivered
to the customer who evaluates the delivered
product and provides feedback based on the
evaluation. These five generic framework activities
can be used during the development of small,
simple programs, the creation of large Web
applications, and for the engineering of large,
complex computer-based systems. The details of
the software process will be quite different in each
case, but the framework activities remain the same.
1.4. The Software Process (Cont…)
For many software projects, framework activities are applied
iteratively as a project progresses. That is,
 Communication,
 Planning,
 Modeling,
 Construction, and
 Deployment are applied repeatedly through a number of
project iterations. Each project iteration produces a software
increment that provides stakeholders with a subset of overall
software features and functionality. As each increment is
produced, the software becomes more and more complete.
Software engineering process framework activities are
complemented by a number of umbrella activities. In general,
umbrella activities are applied throughout a software project
1.4. The Software Process (Cont…)
Typical umbrella activities include:
 Software project tracking and control — allows
the software team to assess progress against the
project plan and take any necessary action to
maintain the schedule.
 Risk management — assesses risks that may
affect the outcome of the project or the quality of
the product.
 Software quality assurance — defines and
conducts the activities required to ensure software
quality.
 Technical reviews — assesses software
engineering work products in an effort to uncover
1.4. The Software Process (Cont…)
 Measurement — defines and collects process,
project, and product measures that assist the team
in delivering software that meets stakeholders’
needs; can be used in conjunction with all other
framework and umbrella activities.
 Software configuration management —
manages the effects of change throughout the
software process.
 Reusability management — defines criteria for
work product reuse (including software
components) and establishes mechanisms to
achieve reusable components.
 Work product preparation and production —
1.4. The Software Process (Cont…)
The software engineering process is not a rigid
prescription that must be followed dogmatically by a
software team. Rather, it should be agile and
adaptable (to the problem, to the project, to the team,
and to the organizational culture). Therefore, a
process adopted for one project might be significantly
different than a process adopted for another project.
Among the differences are
 Overall flow of activities, actions, and tasks and the
interdependencies among them
 Degree to which actions and tasks are defined
within each framework activity
 Degree to which work products are identified and
1.4. The Software Process (Cont…)
 Manner in which quality assurance activities are
applied
 Manner in which project tracking and control
activities are applied
 Overall degree of detail and rigor with which the
process is described
 Degree to which the customer and other
stakeholders are involved with the project.
 Level of autonomy given to the software team.
 Degree to which team organization and roles are
prescribed.
2.1 A GENERICPROCESSMODEL
A process was defined as a collection of work
activities, actions, and tasks that are performed when
some work product is to be created. Each of these
activities, actions, and tasks reside within a
framework or model that defines their relationship
with the process and with one another.
2.1 A GENERICPROCESSMODEL (Cont…)
A process was defined as a collection of work
activities, actions, and tasks that are performed when
some work product is to be created. Each of these
activities, actions, and tasks reside within a
framework or model that defines their relationship
with the process and with one another.
2.1 A GENERICPROCESSMODEL (Cont…)
2.1 A GENERICPROCESSMODEL (Cont…)
 The software process is represented schematically
in the above figure.
 Each framework activity is populated by a set of
software engineering actions.
 Each software engineering action is defined by a
task set that identifies
 The work tasks that are to be completed,
 The work products that will be produced,
 The quality assurance points that will be
required, and
 The milestones that will be used to indicate
progress.
2.1 A GENERICPROCESSMODEL (Cont…)
 A generic process framework for software
engineering defines five framework activities
communication, planning, modeling, construction,
and deployment.
 In addition, a set of umbrella activities — project
tracking and control, risk management, quality
assurance, configuration management, technical
reviews, and others—are applied throughout the
process.
 The process flow — describes how the framework
activities and the actions and tasks that occur
within each framework activity are organized with
respect to sequence and time.
2.1 A GENERICPROCESSMODEL (Cont…)
 A linear process flow executes each of the five
framework activities in sequence, beginning with
communication and culminating with deployment.
 An iterative process flow repeats one or more of
the activities before proceeding to the next.
2.1 A GENERICPROCESSMODEL (Cont…)
 An evolutionary process flow executes the
activities in a “circular” manner. Each circuit
through the five activities leads to a more complete
version of the software.
2.1 A GENERICPROCESSMODEL (Cont…)
 A parallel process flow executes one or more
activities in parallel with other activities.
e.g., modeling for one aspect of the software might
be executed in parallel with construction of another
aspect of the software.
 Software Engineering

More Related Content

What's hot

Software Engineering Unit 1
Software Engineering Unit 1Software Engineering Unit 1
Software Engineering Unit 1
Abhimanyu Mishra
 
Software Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsSoftware Engineering Important Short Question for Exams
Software Engineering Important Short Question for Exams
MuhammadTalha436
 
Quality Attribute: Testability
Quality Attribute: TestabilityQuality Attribute: Testability
Quality Attribute: Testability
Pranay Singh
 
Software engineering Questions and Answers
Software engineering Questions and AnswersSoftware engineering Questions and Answers
Software engineering Questions and Answers
Bala Ganesh
 
Slides chapter 10
Slides chapter 10Slides chapter 10
Slides chapter 10
Priyanka Shetty
 
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...
Dhivyaa C.R
 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-models
saurabhshertukde
 
Ch03 prescriptive process models
Ch03 prescriptive process modelsCh03 prescriptive process models
Ch03 prescriptive process models
Dr. C.V. Suresh Babu
 
Software engineering lecture notes
Software engineering   lecture notesSoftware engineering   lecture notes
Software engineering lecture notes
Ammar Shafiq
 
Software Engineering unit 3
Software Engineering unit 3Software Engineering unit 3
Software Engineering unit 3
Abhimanyu Mishra
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
guru3188
 
System requirements engineering
System requirements engineeringSystem requirements engineering
System requirements engineering
Animesh Chaturvedi
 
Unit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycleUnit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycle
Dhivyaa C.R
 
Software Engineering - Ch11
Software Engineering - Ch11Software Engineering - Ch11
Software Engineering - Ch11
Siddharth Ayer
 
Software engineering unit 1
Software engineering unit 1Software engineering unit 1
Software engineering unit 1
gondwana university
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
Jignesh Kariya
 
962 sech04
962 sech04962 sech04
962 sech04
aldwal
 
SE18_Lec 00_Course Outline
SE18_Lec 00_Course OutlineSE18_Lec 00_Course Outline
SE18_Lec 00_Course Outline
Amr E. Mohamed
 
Unit iv -Documenting and Implementation of Software Architecture
Unit iv -Documenting and Implementation of Software ArchitectureUnit iv -Documenting and Implementation of Software Architecture
Unit iv -Documenting and Implementation of Software Architecture
Dhivyaa C.R
 
Software engineering note
Software engineering noteSoftware engineering note
Software engineering note
Neelamani Samal
 

What's hot (20)

Software Engineering Unit 1
Software Engineering Unit 1Software Engineering Unit 1
Software Engineering Unit 1
 
Software Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsSoftware Engineering Important Short Question for Exams
Software Engineering Important Short Question for Exams
 
Quality Attribute: Testability
Quality Attribute: TestabilityQuality Attribute: Testability
Quality Attribute: Testability
 
Software engineering Questions and Answers
Software engineering Questions and AnswersSoftware engineering Questions and Answers
Software engineering Questions and Answers
 
Slides chapter 10
Slides chapter 10Slides chapter 10
Slides chapter 10
 
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...
 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-models
 
Ch03 prescriptive process models
Ch03 prescriptive process modelsCh03 prescriptive process models
Ch03 prescriptive process models
 
Software engineering lecture notes
Software engineering   lecture notesSoftware engineering   lecture notes
Software engineering lecture notes
 
Software Engineering unit 3
Software Engineering unit 3Software Engineering unit 3
Software Engineering unit 3
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 
System requirements engineering
System requirements engineeringSystem requirements engineering
System requirements engineering
 
Unit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycleUnit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycle
 
Software Engineering - Ch11
Software Engineering - Ch11Software Engineering - Ch11
Software Engineering - Ch11
 
Software engineering unit 1
Software engineering unit 1Software engineering unit 1
Software engineering unit 1
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
962 sech04
962 sech04962 sech04
962 sech04
 
SE18_Lec 00_Course Outline
SE18_Lec 00_Course OutlineSE18_Lec 00_Course Outline
SE18_Lec 00_Course Outline
 
Unit iv -Documenting and Implementation of Software Architecture
Unit iv -Documenting and Implementation of Software ArchitectureUnit iv -Documenting and Implementation of Software Architecture
Unit iv -Documenting and Implementation of Software Architecture
 
Software engineering note
Software engineering noteSoftware engineering note
Software engineering note
 

Similar to Software Engineering

Introduction of software engineering
Introduction of software engineeringIntroduction of software engineering
Introduction of software engineering
BhagyashriMore10
 
ccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdfccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdf
VijayakumarKadumbadi
 
Unit1
Unit1Unit1
Lecture 2 introduction to Software Engineering 1
Lecture 2   introduction to Software Engineering 1Lecture 2   introduction to Software Engineering 1
Lecture 2 introduction to Software Engineering 1
IIUI
 
Chapter1
Chapter1Chapter1
Chapter1
mansab MIRZA
 
Lecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptxLecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptx
YaseenNazir3
 
Lecture1422914635
Lecture1422914635Lecture1422914635
Unit_I.pptx
Unit_I.pptxUnit_I.pptx
Unit_I.pptx
Baskarkncet
 
Lecture 1 SE.pptx
Lecture 1 SE.pptxLecture 1 SE.pptx
Lecture 1 SE.pptx
MUHAMMADUMERMEHMOOD1
 
Software For Software Development Life Cycle
Software For Software Development Life CycleSoftware For Software Development Life Cycle
Software For Software Development Life Cycle
Christina Padilla
 
Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)
MuhammadTalha436
 
Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020
MuhammadTalha436
 
Software Product and Software Process
Software Product and Software ProcessSoftware Product and Software Process
Software Product and Software Process
ShouvikDhali
 
Software Engineering Overview
Software Engineering OverviewSoftware Engineering Overview
Software Engineering Overview
Prachi Sasankar
 
CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1
SIMONTHOMAS S
 
Chapter_01.ppt
Chapter_01.pptChapter_01.ppt
Chapter_01.ppt
MSahibKhan
 
2- THE CHANGING NATURE OF SOFTWARE.pdf
2- THE CHANGING NATURE OF SOFTWARE.pdf2- THE CHANGING NATURE OF SOFTWARE.pdf
2- THE CHANGING NATURE OF SOFTWARE.pdf
bcanawakadalcollege
 
Software Specifications with details exp
Software Specifications with details expSoftware Specifications with details exp
Software Specifications with details exp
AkhileshPansare
 
Soft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxSoft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptx
Kalpna Saharan
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
ethiouniverse
 

Similar to Software Engineering (20)

Introduction of software engineering
Introduction of software engineeringIntroduction of software engineering
Introduction of software engineering
 
ccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdfccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdf
 
Unit1
Unit1Unit1
Unit1
 
Lecture 2 introduction to Software Engineering 1
Lecture 2   introduction to Software Engineering 1Lecture 2   introduction to Software Engineering 1
Lecture 2 introduction to Software Engineering 1
 
Chapter1
Chapter1Chapter1
Chapter1
 
Lecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptxLecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptx
 
Lecture1422914635
Lecture1422914635Lecture1422914635
Lecture1422914635
 
Unit_I.pptx
Unit_I.pptxUnit_I.pptx
Unit_I.pptx
 
Lecture 1 SE.pptx
Lecture 1 SE.pptxLecture 1 SE.pptx
Lecture 1 SE.pptx
 
Software For Software Development Life Cycle
Software For Software Development Life CycleSoftware For Software Development Life Cycle
Software For Software Development Life Cycle
 
Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)
 
Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020
 
Software Product and Software Process
Software Product and Software ProcessSoftware Product and Software Process
Software Product and Software Process
 
Software Engineering Overview
Software Engineering OverviewSoftware Engineering Overview
Software Engineering Overview
 
CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1
 
Chapter_01.ppt
Chapter_01.pptChapter_01.ppt
Chapter_01.ppt
 
2- THE CHANGING NATURE OF SOFTWARE.pdf
2- THE CHANGING NATURE OF SOFTWARE.pdf2- THE CHANGING NATURE OF SOFTWARE.pdf
2- THE CHANGING NATURE OF SOFTWARE.pdf
 
Software Specifications with details exp
Software Specifications with details expSoftware Specifications with details exp
Software Specifications with details exp
 
Soft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxSoft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 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
 

Recently uploaded

Imagination in Computer Science Research
Imagination in Computer Science ResearchImagination in Computer Science Research
Imagination in Computer Science Research
Abhik Roychoudhury
 
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH LỚP 12 - GLOBAL SUCCESS - FORM MỚI 2025 - ...
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH LỚP 12 - GLOBAL SUCCESS - FORM MỚI 2025 - ...BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH LỚP 12 - GLOBAL SUCCESS - FORM MỚI 2025 - ...
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH LỚP 12 - GLOBAL SUCCESS - FORM MỚI 2025 - ...
Nguyen Thanh Tu Collection
 
Parent PD Design for Professional Development .docx
Parent PD Design for Professional Development .docxParent PD Design for Professional Development .docx
Parent PD Design for Professional Development .docx
AntonioJarligoCompra
 
Mail Server Configuration Using App passwords in Odoo 17
Mail Server Configuration Using App passwords in Odoo 17Mail Server Configuration Using App passwords in Odoo 17
Mail Server Configuration Using App passwords in Odoo 17
Celine George
 
How to Add a Filter in the Odoo 17 - Odoo 17 Slides
How to Add a Filter in the Odoo 17 - Odoo 17 SlidesHow to Add a Filter in the Odoo 17 - Odoo 17 Slides
How to Add a Filter in the Odoo 17 - Odoo 17 Slides
Celine George
 
C# Interview Questions PDF By ScholarHat.pdf
C# Interview Questions PDF By ScholarHat.pdfC# Interview Questions PDF By ScholarHat.pdf
C# Interview Questions PDF By ScholarHat.pdf
Scholarhat
 
PRESS RELEASE - UNIVERSITY OF GHANA, JULY 16, 2024.pdf
PRESS RELEASE - UNIVERSITY OF GHANA, JULY 16, 2024.pdfPRESS RELEASE - UNIVERSITY OF GHANA, JULY 16, 2024.pdf
PRESS RELEASE - UNIVERSITY OF GHANA, JULY 16, 2024.pdf
nservice241
 
Brigada Eskwela 2024 PowerPoint Update for SY 2024-2025
Brigada Eskwela 2024 PowerPoint Update for SY 2024-2025Brigada Eskwela 2024 PowerPoint Update for SY 2024-2025
Brigada Eskwela 2024 PowerPoint Update for SY 2024-2025
ALBERTHISOLER1
 
The Cruelty of Animal Testing in the Industry.pdf
The Cruelty of Animal Testing in the Industry.pdfThe Cruelty of Animal Testing in the Industry.pdf
The Cruelty of Animal Testing in the Industry.pdf
luzmilaglez334
 
Open Source and AI - ByWater Closing Keynote Presentation.pdf
Open Source and AI - ByWater Closing Keynote Presentation.pdfOpen Source and AI - ByWater Closing Keynote Presentation.pdf
Open Source and AI - ByWater Closing Keynote Presentation.pdf
Jessica Zairo
 
Demonstration module in Odoo 17 - Odoo 17 Slides
Demonstration module in Odoo 17 - Odoo 17 SlidesDemonstration module in Odoo 17 - Odoo 17 Slides
Demonstration module in Odoo 17 - Odoo 17 Slides
Celine George
 
How To Sell Hamster Kombat Coin In Pre-market
How To Sell Hamster Kombat Coin In Pre-marketHow To Sell Hamster Kombat Coin In Pre-market
How To Sell Hamster Kombat Coin In Pre-market
Sikandar Ali
 
A beginner’s guide to project reviews - everything you wanted to know but wer...
A beginner’s guide to project reviews - everything you wanted to know but wer...A beginner’s guide to project reviews - everything you wanted to know but wer...
A beginner’s guide to project reviews - everything you wanted to know but wer...
Association for Project Management
 
SD_Integrating 21st Century Skills in Classroom-based Assessment.pptx
SD_Integrating 21st Century Skills in Classroom-based Assessment.pptxSD_Integrating 21st Century Skills in Classroom-based Assessment.pptx
SD_Integrating 21st Century Skills in Classroom-based Assessment.pptx
elwoodprias1
 
How to Manage Shipping Connectors & Shipping Methods in Odoo 17
How to Manage Shipping Connectors & Shipping Methods in Odoo 17How to Manage Shipping Connectors & Shipping Methods in Odoo 17
How to Manage Shipping Connectors & Shipping Methods in Odoo 17
Celine George
 
MVC Interview Questions PDF By ScholarHat
MVC Interview Questions PDF By ScholarHatMVC Interview Questions PDF By ScholarHat
MVC Interview Questions PDF By ScholarHat
Scholarhat
 
BỘ ĐỀ THI HỌC SINH GIỎI CÁC TỈNH MÔN TIẾNG ANH LỚP 9 NĂM HỌC 2023-2024 (CÓ FI...
BỘ ĐỀ THI HỌC SINH GIỎI CÁC TỈNH MÔN TIẾNG ANH LỚP 9 NĂM HỌC 2023-2024 (CÓ FI...BỘ ĐỀ THI HỌC SINH GIỎI CÁC TỈNH MÔN TIẾNG ANH LỚP 9 NĂM HỌC 2023-2024 (CÓ FI...
BỘ ĐỀ THI HỌC SINH GIỎI CÁC TỈNH MÔN TIẾNG ANH LỚP 9 NĂM HỌC 2023-2024 (CÓ FI...
Nguyen Thanh Tu Collection
 
MathematicsGrade7-Presentation-July-12024.pptx
MathematicsGrade7-Presentation-July-12024.pptxMathematicsGrade7-Presentation-July-12024.pptx
MathematicsGrade7-Presentation-July-12024.pptx
nolicaliso1
 
What is Rescue Session in Odoo 17 POS - Odoo 17 Slides
What is Rescue Session in Odoo 17 POS - Odoo 17 SlidesWhat is Rescue Session in Odoo 17 POS - Odoo 17 Slides
What is Rescue Session in Odoo 17 POS - Odoo 17 Slides
Celine George
 
E-learning Odoo 17 New features - Odoo 17 Slides
E-learning Odoo 17  New features - Odoo 17 SlidesE-learning Odoo 17  New features - Odoo 17 Slides
E-learning Odoo 17 New features - Odoo 17 Slides
Celine George
 

Recently uploaded (20)

Imagination in Computer Science Research
Imagination in Computer Science ResearchImagination in Computer Science Research
Imagination in Computer Science Research
 
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH LỚP 12 - GLOBAL SUCCESS - FORM MỚI 2025 - ...
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH LỚP 12 - GLOBAL SUCCESS - FORM MỚI 2025 - ...BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH LỚP 12 - GLOBAL SUCCESS - FORM MỚI 2025 - ...
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH LỚP 12 - GLOBAL SUCCESS - FORM MỚI 2025 - ...
 
Parent PD Design for Professional Development .docx
Parent PD Design for Professional Development .docxParent PD Design for Professional Development .docx
Parent PD Design for Professional Development .docx
 
Mail Server Configuration Using App passwords in Odoo 17
Mail Server Configuration Using App passwords in Odoo 17Mail Server Configuration Using App passwords in Odoo 17
Mail Server Configuration Using App passwords in Odoo 17
 
How to Add a Filter in the Odoo 17 - Odoo 17 Slides
How to Add a Filter in the Odoo 17 - Odoo 17 SlidesHow to Add a Filter in the Odoo 17 - Odoo 17 Slides
How to Add a Filter in the Odoo 17 - Odoo 17 Slides
 
C# Interview Questions PDF By ScholarHat.pdf
C# Interview Questions PDF By ScholarHat.pdfC# Interview Questions PDF By ScholarHat.pdf
C# Interview Questions PDF By ScholarHat.pdf
 
PRESS RELEASE - UNIVERSITY OF GHANA, JULY 16, 2024.pdf
PRESS RELEASE - UNIVERSITY OF GHANA, JULY 16, 2024.pdfPRESS RELEASE - UNIVERSITY OF GHANA, JULY 16, 2024.pdf
PRESS RELEASE - UNIVERSITY OF GHANA, JULY 16, 2024.pdf
 
Brigada Eskwela 2024 PowerPoint Update for SY 2024-2025
Brigada Eskwela 2024 PowerPoint Update for SY 2024-2025Brigada Eskwela 2024 PowerPoint Update for SY 2024-2025
Brigada Eskwela 2024 PowerPoint Update for SY 2024-2025
 
The Cruelty of Animal Testing in the Industry.pdf
The Cruelty of Animal Testing in the Industry.pdfThe Cruelty of Animal Testing in the Industry.pdf
The Cruelty of Animal Testing in the Industry.pdf
 
Open Source and AI - ByWater Closing Keynote Presentation.pdf
Open Source and AI - ByWater Closing Keynote Presentation.pdfOpen Source and AI - ByWater Closing Keynote Presentation.pdf
Open Source and AI - ByWater Closing Keynote Presentation.pdf
 
Demonstration module in Odoo 17 - Odoo 17 Slides
Demonstration module in Odoo 17 - Odoo 17 SlidesDemonstration module in Odoo 17 - Odoo 17 Slides
Demonstration module in Odoo 17 - Odoo 17 Slides
 
How To Sell Hamster Kombat Coin In Pre-market
How To Sell Hamster Kombat Coin In Pre-marketHow To Sell Hamster Kombat Coin In Pre-market
How To Sell Hamster Kombat Coin In Pre-market
 
A beginner’s guide to project reviews - everything you wanted to know but wer...
A beginner’s guide to project reviews - everything you wanted to know but wer...A beginner’s guide to project reviews - everything you wanted to know but wer...
A beginner’s guide to project reviews - everything you wanted to know but wer...
 
SD_Integrating 21st Century Skills in Classroom-based Assessment.pptx
SD_Integrating 21st Century Skills in Classroom-based Assessment.pptxSD_Integrating 21st Century Skills in Classroom-based Assessment.pptx
SD_Integrating 21st Century Skills in Classroom-based Assessment.pptx
 
How to Manage Shipping Connectors & Shipping Methods in Odoo 17
How to Manage Shipping Connectors & Shipping Methods in Odoo 17How to Manage Shipping Connectors & Shipping Methods in Odoo 17
How to Manage Shipping Connectors & Shipping Methods in Odoo 17
 
MVC Interview Questions PDF By ScholarHat
MVC Interview Questions PDF By ScholarHatMVC Interview Questions PDF By ScholarHat
MVC Interview Questions PDF By ScholarHat
 
BỘ ĐỀ THI HỌC SINH GIỎI CÁC TỈNH MÔN TIẾNG ANH LỚP 9 NĂM HỌC 2023-2024 (CÓ FI...
BỘ ĐỀ THI HỌC SINH GIỎI CÁC TỈNH MÔN TIẾNG ANH LỚP 9 NĂM HỌC 2023-2024 (CÓ FI...BỘ ĐỀ THI HỌC SINH GIỎI CÁC TỈNH MÔN TIẾNG ANH LỚP 9 NĂM HỌC 2023-2024 (CÓ FI...
BỘ ĐỀ THI HỌC SINH GIỎI CÁC TỈNH MÔN TIẾNG ANH LỚP 9 NĂM HỌC 2023-2024 (CÓ FI...
 
MathematicsGrade7-Presentation-July-12024.pptx
MathematicsGrade7-Presentation-July-12024.pptxMathematicsGrade7-Presentation-July-12024.pptx
MathematicsGrade7-Presentation-July-12024.pptx
 
What is Rescue Session in Odoo 17 POS - Odoo 17 Slides
What is Rescue Session in Odoo 17 POS - Odoo 17 SlidesWhat is Rescue Session in Odoo 17 POS - Odoo 17 Slides
What is Rescue Session in Odoo 17 POS - Odoo 17 Slides
 
E-learning Odoo 17 New features - Odoo 17 Slides
E-learning Odoo 17  New features - Odoo 17 SlidesE-learning Odoo 17  New features - Odoo 17 Slides
E-learning Odoo 17 New features - Odoo 17 Slides
 

Software Engineering

  • 1. E.M.G.YADAVA WOMEN’S COLLEGE, MADURAI-14 (An Autonomous Institution – Affiliated to Madurai Kamaraj University) Re-accredited (3rd Cycle) with Grade A+ & CGPA 3.51 by NAAC DEPARTMENT OF COMPUTER SCIENCE V – Semester SOFTWARE ENGINEERING Roger S. Pressman 7th Edition Mrs. V. JAYAVANI M.S(IT&M)., Assistant Professor of Computer Science
  • 2. UNIT – I (Cont…) OUTLINE • SoftwareEngineering • TheSoftware Process • AGenericProcessModel
  • 3. 1.3 Software Engineering In order to build software that is ready to meet the challenges of the twenty-first century, you must recognize a few simple realities:  It follows that a concerted effort should be made to understand the problem before a software solution is developed.  It follows that design becomes a pivotal activity.  It follows that software should exhibit high quality  It follows that software should be maintainable. These simple realities lead to one conclusion: Software in all of its forms and across all of its application domains should be engineered.
  • 4. 1.3 Software Engineering (Cont….) The IEEE [IEE93a] has developed a more comprehensive definition when it states: Software Engineering: (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. (2) The study of approaches as in (1).
  • 5. Software Engineering Layers a “quality” focus Process model Methods Tools 1.3 Software Engineering (Cont….)  Software engineering is a layered technology.  The foundation for software engineering is the process layer.  The software engineering process is the glue that holds the technology layers together and enables rational and timely development of computer software.
  • 6. 1.3 Software Engineering (Cont….)  The process forms the basis for management control of software projects and establishes the context in which technical methods are applied, work products are produced, milestones are established, quality is ensured, and change is properly managed.  The method layer provides technical knowledge for developing software. This layer covers a broad array of tasks that include requirements analysis, design, coding, testing, and maintenance phase of the software development.  The tools layer provides computerized or semi- computerized support for the process and the method layer. Sometimes tools are integrated in such a way that other tools can use information created by one
  • 7. 1.4. The Software Process  A process is a collection of activities, actions, and tasks that are performed when some work product is to be created.  An activity strives to achieve a broad objective (e.g., communication with stakeholders) and is applied regardless of the application domain, size of the project, complexity of the effort, or degree of rigor with which software engineering is to be applied.  An action (e.g., architectural design) encompasses a set of tasks that produce a major work product (e.g., an architectural design model).  A task focuses on a small, but well-defined objective (e.g., conducting a unit test) that produces a tangible outcome.
  • 8. 1.4. The Software Process (Cont…) Software engineering, a process is not a rigid prescription for how to build computer software. Rather, it is an adaptable approach that enables the people doing the work (the software team) to pick and choose the appropriate set of work actions and tasks. The intent is always to deliver software in a timely manner and with sufficient quality to satisfy those who have sponsored its creation and those who will use it. A process framework establishes the foundation for a complete software engineering process by identifying a small number of framework activities that are applicable to all software projects, regardless of their size or complexity. In addition, the process framework encompasses a set of umbrella activities that are applicable across the entire
  • 9. 1.4. The Software Process (Cont…) A generic process framework for software engineering encompasses five activities:  Communication: Before any technical work can commence, it is critically important to communicate and collaborate with the customer (and other stakeholders11 The intent is to understand stakeholders’ objectives for the project and to gather requirements that help define software features and functions.  Planning: Any complicated journey can be simplified if a map exists. A software project is a complicated journey, and the planning activity creates a “map” that helps guide the team as it makes the journey. The map—called a software project plan—defines the software engineering work by describing the technical tasks to be conducted, the risks that are likely, the
  • 10. 1.4. The Software Process (Cont…)  Modeling: Whether you’re a landscaper, a bridge builder, an aeronautical engineer, a carpenter, or an architect, you work with models every day. You create a “sketch” of the thing so that you’ll understand the big picture—w hat it will look like architecturally, how the constituent parts fit together, and many other characteristics. If required, you refine the sketch into greater and greater detail in an effort to better understand the problem and how you’re going to solve it. A software engineer does the same thing by creating models to better understand software requirements and the design that will achieve those requirements.  Construction: This activity combines code generation
  • 11. 1.4. The Software Process (Cont…)  Deployment: The software (as a complete entity or as a partially completed increment) is delivered to the customer who evaluates the delivered product and provides feedback based on the evaluation. These five generic framework activities can be used during the development of small, simple programs, the creation of large Web applications, and for the engineering of large, complex computer-based systems. The details of the software process will be quite different in each case, but the framework activities remain the same.
  • 12. 1.4. The Software Process (Cont…) For many software projects, framework activities are applied iteratively as a project progresses. That is,  Communication,  Planning,  Modeling,  Construction, and  Deployment are applied repeatedly through a number of project iterations. Each project iteration produces a software increment that provides stakeholders with a subset of overall software features and functionality. As each increment is produced, the software becomes more and more complete. Software engineering process framework activities are complemented by a number of umbrella activities. In general, umbrella activities are applied throughout a software project
  • 13. 1.4. The Software Process (Cont…) Typical umbrella activities include:  Software project tracking and control — allows the software team to assess progress against the project plan and take any necessary action to maintain the schedule.  Risk management — assesses risks that may affect the outcome of the project or the quality of the product.  Software quality assurance — defines and conducts the activities required to ensure software quality.  Technical reviews — assesses software engineering work products in an effort to uncover
  • 14. 1.4. The Software Process (Cont…)  Measurement — defines and collects process, project, and product measures that assist the team in delivering software that meets stakeholders’ needs; can be used in conjunction with all other framework and umbrella activities.  Software configuration management — manages the effects of change throughout the software process.  Reusability management — defines criteria for work product reuse (including software components) and establishes mechanisms to achieve reusable components.  Work product preparation and production —
  • 15. 1.4. The Software Process (Cont…) The software engineering process is not a rigid prescription that must be followed dogmatically by a software team. Rather, it should be agile and adaptable (to the problem, to the project, to the team, and to the organizational culture). Therefore, a process adopted for one project might be significantly different than a process adopted for another project. Among the differences are  Overall flow of activities, actions, and tasks and the interdependencies among them  Degree to which actions and tasks are defined within each framework activity  Degree to which work products are identified and
  • 16. 1.4. The Software Process (Cont…)  Manner in which quality assurance activities are applied  Manner in which project tracking and control activities are applied  Overall degree of detail and rigor with which the process is described  Degree to which the customer and other stakeholders are involved with the project.  Level of autonomy given to the software team.  Degree to which team organization and roles are prescribed.
  • 17. 2.1 A GENERICPROCESSMODEL A process was defined as a collection of work activities, actions, and tasks that are performed when some work product is to be created. Each of these activities, actions, and tasks reside within a framework or model that defines their relationship with the process and with one another.
  • 18. 2.1 A GENERICPROCESSMODEL (Cont…) A process was defined as a collection of work activities, actions, and tasks that are performed when some work product is to be created. Each of these activities, actions, and tasks reside within a framework or model that defines their relationship with the process and with one another.
  • 20. 2.1 A GENERICPROCESSMODEL (Cont…)  The software process is represented schematically in the above figure.  Each framework activity is populated by a set of software engineering actions.  Each software engineering action is defined by a task set that identifies  The work tasks that are to be completed,  The work products that will be produced,  The quality assurance points that will be required, and  The milestones that will be used to indicate progress.
  • 21. 2.1 A GENERICPROCESSMODEL (Cont…)  A generic process framework for software engineering defines five framework activities communication, planning, modeling, construction, and deployment.  In addition, a set of umbrella activities — project tracking and control, risk management, quality assurance, configuration management, technical reviews, and others—are applied throughout the process.  The process flow — describes how the framework activities and the actions and tasks that occur within each framework activity are organized with respect to sequence and time.
  • 22. 2.1 A GENERICPROCESSMODEL (Cont…)  A linear process flow executes each of the five framework activities in sequence, beginning with communication and culminating with deployment.  An iterative process flow repeats one or more of the activities before proceeding to the next.
  • 23. 2.1 A GENERICPROCESSMODEL (Cont…)  An evolutionary process flow executes the activities in a “circular” manner. Each circuit through the five activities leads to a more complete version of the software.
  • 24. 2.1 A GENERICPROCESSMODEL (Cont…)  A parallel process flow executes one or more activities in parallel with other activities. e.g., modeling for one aspect of the software might be executed in parallel with construction of another aspect of the software.