SlideShare a Scribd company logo
SOFTWARE
ENGINEERING
Module 1 - Part 1
www.teachics.org
TABLE OF
CONTENT
S
● Software and Software Engineering
● Software Process- Generic process model
● Process Improvement
www.teachics.org
Software can be described as a collection of instruction that are executed to get desired functionalities.
Software → programs + documentation + operating procedures
Characteristics of software
● Software is developed,not manufactured
● Does not wear out
● Has reusable components
● Flexible
Software
www.teachics.org
Types of software
● System software - software that provides a
platform to other software such as Microsoft
Windows, GNU/Linux, macOS.
● Application software - programs designed
for end users like Notepad, Firefox, Media
players.
● Engineering/Scientific software - software
built with techniques and formulae specific
to specific scientific or engineering field,
examples are MATLAB, AUTOCAD.
● Embedded software - programs that control
machines or devices such as Traffic light
control mechanism, Motorcycle dashboard
display.
Software
● Product-line software - a group of products
sharing common features that are used to satisfy
specific needs of a mission like MS Office
supporting home use, business use, enterprise
use etc.
● Web application software - programs that are run
on web servers and are accessed through a web
browser, examples are Gmail, Facebook etc.
● Artificial Intelligence software - software that is
capable of intelligent behaviour, like in Robotics,
Game Playing etc.
● Legacy software system - software systems that
were developed decades ago which becomes
costly and risky to maintain and evolve.
www.teachics.org
Software engineering can be defined as systematic and disciplined engineering approach applied for building and
maintaining software.
Software Engineering
It is a layered technology comprising
● Quality focus as its central support element since improving quality
of process and products through quality improvement techniques is
the main focus of an organization.
● Process layer provides framework for management of software
project.
● Method layer includes methods such as communication, design,
coding and other technical aspects for development of software.
● Tools layer provides supporting tools for Method and Process layers.
www.teachics.org
Essence of Practice
General steps in carrying out software engineering are,
● Understand the problem through communication.
● Plan a solution by modelling and designing.
● Carry out the plan (coding).
● Examine result for correctness (testing).
Principle of best Practice
● Software should provide value to users.
● Keep the software design simple.
● Vision of the project should be kept in mind throughout.
● Keep your work products in an understandable format for others to work with them easily.
● Design in a way that can incorporate changes in future.
● Build reusable components.
● Think before acting or learn before starting.
Software Engineering Practice
www.teachics.org
Management Myths
● Software practitioners follow the book of standards and procedures for software development.
● If a delay occurs, programmers can be added at any point.
● Outsourcing helps.
Customer Myths
● General requirements and not a detailed one is needed for starting programming.
● Software is easy to change.
Developer’s Myths (Practitioner’s Myths)
● Software developing is all about coding.
● Only a finished software can be tested.
● Software engineering has plentiful documentation and will slow down the process.
Software Myths (False Belief)
www.teachics.org
Software process comprises activities performed to create
a software product.
It deals with technical and management aspects of
software development.
Software process includes
● Tasks– focus on small, specific objective.
● Action– set of tasks that produce major work
product.
● Activities– group of related tasks and actions for a
major objective.
A process framework for software engineering defines five
framework activities. In addition a set of umbrella activities
are applied throughout the process.
Software Process
www.teachics.org
Software Process
Process Framework Activities
● Communication - Communicate with stakeholders and customers to obtain objectives of the system and
requirements for the software.
● Planning - Software project plan has details of resources needed, tasks and risk factors likely to occur,
schedule.
● Modeling - Architectural models and design to better understand the problem and for working towards the
best solution.
● Construction - Generation of code and testing of the system to rectify errors and ensuring all specified
requirements are met.
● Deployment - Entire software product or partially completed product is delivered to customer for
evaluation and feedback.
www.teachics.org
Software Process
Umbrella Activities
Activities that occur throughout a software process for better management and tracking of the project.
● Software project tracking and control - Compare progress of the project with the plan and take steps to
maintain planned schedule.
● Risk management - Evaluate risks that can affect the outcome and quality of the software product.
● Software quality assurance (SQA) - Conduct activities to ensure quality of the product.
● Technical reviews - Assessment of errors and correction done at each stage of activity.
● Measurement - All the measurements of project and product features.
● Software configuration management (SCM) - Controlling and tracking changes in the software.
● Reusability management - Back up work products for reuse and apply mechanism to achieve reusable
software components.
● Work product preparation and production - Project planning and other activities used to create work
product is documented.
www.teachics.org
Software Process
Process flow
Process flow determines how activities, actions and tasks are arranged with respect to sequence and time.
→ Linear Process Flow - Executes each activity in sequence.
→ Iterative Process Flow - Repeats one or more activities before starting next.
www.teachics.org
Software Process
→ Evolutionary process flow
Carry out activities in a circular way.
→ Parallel process flow
Execute one or more activities in parallel with each other.
www.teachics.org
Software Process
Defining a Framework Activities
Consider communication activity.
For small project, this can be defined as having tasks set:
● Making phone call with stakeholder
● Discuss requirements and note it down
● Organize requirements
● Mail stakeholder for review and approval
For large projects - extended actions such as feasibility
study, elicitation of requirements, elaboration of
requirements, specification documents, validation etc.
Identifying a task set
Task set is the actual work to be done to achieve
an objective of engineering action.
For small project, consider elicitation action in
communication activity, this may include:
● Prepare list of stakeholders of the project
● Organize a meeting for stakeholders
● Discuss requirements
● Finalize requirements list
● Make a list of issues raised
For large projects - steps may be added such as
interviewing each stakeholder separately before
group meeting, more techniques are applied in
discussing requirement, etc.
www.teachics.org
Software Process
Process patterns
Patterns used to describe problems and their solutions in the context of software process.
Problems can arise at different levels such as:
● Problems associated with a complete process model
● Within a framework activity
● Within an action in an activity
Patterns can be described using a pattern template which include
● Pattern name
● Intent
● Forces and Types
○ Stage pattern
○ Task pattern
○ Phase pattern
● Initial context
● Problem
● Solution
● Resulting context
● Related patterns
● Known uses or examples
www.teachics.org
Software Process
An example
● Pattern name – requirements unclear.
● Intent – an approach to build a prototype so that stakeholder can assess and determine specific
requirements.
● Type – phase pattern.
● Initial context – stakeholders have been identified, communication mode has been selected, initial
understanding of problem and scope of project determined.
● Problem – recognized that stakeholder has a general idea of requirements and cannot place specific
requirements.
● Solution – prototyping can help the stakeholder to be more specific about requirements and hence
prototype can be evolved.
● Resulting context – a prototype fulfilling basic requirements is approved by stakeholder and the prototype
may be evolved or thrown for making a new one which will become the finished product.
● Related patterns – customer communication , iterative design , requirement extraction.
● Known uses/examples – unclear requirements problem can be solved through prototyping.
www.teachics.org
Process Improvement
● Software process assessment - ensure their ability to control cost, time and quality of a software.
● Assessment is done to improve the software process.
Software Process Improvement (SPI) Cycle includes,
● Process measurement.
● Process analysis.
● Process change.
Different approaches towards process assessment include,
● CMM (Capability Maturity Model) and CMMI (Capability Maturity Model Integration).
● Standard CMMI Appraisal Method for Process Improvement ( SCAMPI).
● CMM Based Appraisal for Internal Process Improvement (CBA IPI).
● SPICE(ISO/ IEC15504).
● ISO 9001:2000 for software.
www.teachics.org
Process Improvement
CMM (Capability Maturity Model) and CMMI (Capability Maturity Model Integration)
An approach based on which a process maturity is determined.
CMM maturity levels
1. Initial Level.
2. Repeatable Level.
3. Defined Level.
4. Managed Level.
5. Optimizing Level.
CMMI maturity levels
1. Initial.
2. Managed.
3. Defined.
4. Quantitatively Managed.
5. Optimized.
www.teachics.org
Process Improvement
Standard CMMI Appraisal Method for Process Improvement ( SCAMPI)
Method used for providing quality ratings with respect to CMMI.
Assessment Phases
1. Initiating.
2. Diagnosing.
3. Establishing.
4. Acting.
5. Learning.
CMM Based Appraisal for Internal Process Improvement (CBA IPI)
It is an SEI CMM(Capability Maturity Model) based assessment method that provides diagnostics, enables and
encourages an organization to understand its maturity.
Appraisal Process
● Preparation.
● On-site activities.
● Findings.
● Ratings
● Final reporting, etc.
www.teachics.org
Process Improvement
SPICE(ISO/ IEC15504)
Assist organizations in developing an objective
evaluation of the effectiveness of a software
process.
Levels
1. Not performed.
2. Performed informally.
3. Planned and tracked.
4. Well defined.
5. Quantitatively controlled.
6. Continuously improved.
ISO 9001:2000 for software
They evaluate the ability of an organization to
consistently provide products that meet customer
requirements.
Follows PDCA cycle
1. Planning.
2. Doing.
3. Checking.
4. Acting.

More Related Content

PDF
Unit 1.pdf
PPTX
CS8494 SOFTWARE ENGINEERING Unit-1
PPTX
Unit_I.pptx
PPT
Lecture 1-4.ppt Introduction to Software Engineering: The evolving role of so...
PPTX
Software Specifications with details exp
PPT
Intoduction to software engineering part 2
PPT
Lecture 2 introduction to Software Engineering 1
PPTX
Module1_Part2 Software Engineering, chapter 2.pptx
Unit 1.pdf
CS8494 SOFTWARE ENGINEERING Unit-1
Unit_I.pptx
Lecture 1-4.ppt Introduction to Software Engineering: The evolving role of so...
Software Specifications with details exp
Intoduction to software engineering part 2
Lecture 2 introduction to Software Engineering 1
Module1_Part2 Software Engineering, chapter 2.pptx

Similar to Software Engineering MODULE 1 - PART 1.pdf (20)

PPT
Process Models IN software Engineering
PPTX
Software Engineering-Process Models.pptx
PPT
SE Lecture 2.ppt
PDF
Chapter 1 Introduction to Software Engineering and Process Models.pdf
PPTX
Software Engineering - Introduction to software engineering
PPTX
Software process is tge helpful for software engineer
PPTX
Process model in SE
PPT
Introduction to Software Engineering
PPTX
Week_02.pptx
PPT
San se unit
PPTX
Soft.Engg. UNIT 1.pptx
PPTX
Software engineering Computer science and engineering unit 1
PDF
Introduction to Software Engineering & Project Management.pdf
PDF
Various Process of Software Engineering notes
PPTX
Introduction to Software Engineering
PPT
Software Engineering Powerpoint slides for guide
PDF
Introduction of software engineering
PPT
Software Engineering.ppt
PPTX
Object Oriented Software engineering.pptx
PPTX
Process Models IN software Engineering
Software Engineering-Process Models.pptx
SE Lecture 2.ppt
Chapter 1 Introduction to Software Engineering and Process Models.pdf
Software Engineering - Introduction to software engineering
Software process is tge helpful for software engineer
Process model in SE
Introduction to Software Engineering
Week_02.pptx
San se unit
Soft.Engg. UNIT 1.pptx
Software engineering Computer science and engineering unit 1
Introduction to Software Engineering & Project Management.pdf
Various Process of Software Engineering notes
Introduction to Software Engineering
Software Engineering Powerpoint slides for guide
Introduction of software engineering
Software Engineering.ppt
Object Oriented Software engineering.pptx
Ad

Recently uploaded (20)

PPTX
Strings in CPP - Strings in C++ are sequences of characters used to store and...
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PPTX
Lecture Notes Electrical Wiring System Components
PDF
composite construction of structures.pdf
PPTX
Sustainable Sites - Green Building Construction
PPTX
additive manufacturing of ss316l using mig welding
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PPT
Project quality management in manufacturing
PDF
Well-logging-methods_new................
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PPTX
bas. eng. economics group 4 presentation 1.pptx
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PPTX
Geodesy 1.pptx...............................................
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PDF
Digital Logic Computer Design lecture notes
Strings in CPP - Strings in C++ are sequences of characters used to store and...
Embodied AI: Ushering in the Next Era of Intelligent Systems
Lecture Notes Electrical Wiring System Components
composite construction of structures.pdf
Sustainable Sites - Green Building Construction
additive manufacturing of ss316l using mig welding
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
CYBER-CRIMES AND SECURITY A guide to understanding
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
Project quality management in manufacturing
Well-logging-methods_new................
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
bas. eng. economics group 4 presentation 1.pptx
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
Geodesy 1.pptx...............................................
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
UNIT-1 - COAL BASED THERMAL POWER PLANTS
Digital Logic Computer Design lecture notes
Ad

Software Engineering MODULE 1 - PART 1.pdf

  • 1. SOFTWARE ENGINEERING Module 1 - Part 1 www.teachics.org
  • 2. TABLE OF CONTENT S ● Software and Software Engineering ● Software Process- Generic process model ● Process Improvement
  • 3. www.teachics.org Software can be described as a collection of instruction that are executed to get desired functionalities. Software → programs + documentation + operating procedures Characteristics of software ● Software is developed,not manufactured ● Does not wear out ● Has reusable components ● Flexible Software
  • 4. www.teachics.org Types of software ● System software - software that provides a platform to other software such as Microsoft Windows, GNU/Linux, macOS. ● Application software - programs designed for end users like Notepad, Firefox, Media players. ● Engineering/Scientific software - software built with techniques and formulae specific to specific scientific or engineering field, examples are MATLAB, AUTOCAD. ● Embedded software - programs that control machines or devices such as Traffic light control mechanism, Motorcycle dashboard display. Software ● Product-line software - a group of products sharing common features that are used to satisfy specific needs of a mission like MS Office supporting home use, business use, enterprise use etc. ● Web application software - programs that are run on web servers and are accessed through a web browser, examples are Gmail, Facebook etc. ● Artificial Intelligence software - software that is capable of intelligent behaviour, like in Robotics, Game Playing etc. ● Legacy software system - software systems that were developed decades ago which becomes costly and risky to maintain and evolve.
  • 5. www.teachics.org Software engineering can be defined as systematic and disciplined engineering approach applied for building and maintaining software. Software Engineering It is a layered technology comprising ● Quality focus as its central support element since improving quality of process and products through quality improvement techniques is the main focus of an organization. ● Process layer provides framework for management of software project. ● Method layer includes methods such as communication, design, coding and other technical aspects for development of software. ● Tools layer provides supporting tools for Method and Process layers.
  • 6. www.teachics.org Essence of Practice General steps in carrying out software engineering are, ● Understand the problem through communication. ● Plan a solution by modelling and designing. ● Carry out the plan (coding). ● Examine result for correctness (testing). Principle of best Practice ● Software should provide value to users. ● Keep the software design simple. ● Vision of the project should be kept in mind throughout. ● Keep your work products in an understandable format for others to work with them easily. ● Design in a way that can incorporate changes in future. ● Build reusable components. ● Think before acting or learn before starting. Software Engineering Practice
  • 7. www.teachics.org Management Myths ● Software practitioners follow the book of standards and procedures for software development. ● If a delay occurs, programmers can be added at any point. ● Outsourcing helps. Customer Myths ● General requirements and not a detailed one is needed for starting programming. ● Software is easy to change. Developer’s Myths (Practitioner’s Myths) ● Software developing is all about coding. ● Only a finished software can be tested. ● Software engineering has plentiful documentation and will slow down the process. Software Myths (False Belief)
  • 8. www.teachics.org Software process comprises activities performed to create a software product. It deals with technical and management aspects of software development. Software process includes ● Tasks– focus on small, specific objective. ● Action– set of tasks that produce major work product. ● Activities– group of related tasks and actions for a major objective. A process framework for software engineering defines five framework activities. In addition a set of umbrella activities are applied throughout the process. Software Process
  • 9. www.teachics.org Software Process Process Framework Activities ● Communication - Communicate with stakeholders and customers to obtain objectives of the system and requirements for the software. ● Planning - Software project plan has details of resources needed, tasks and risk factors likely to occur, schedule. ● Modeling - Architectural models and design to better understand the problem and for working towards the best solution. ● Construction - Generation of code and testing of the system to rectify errors and ensuring all specified requirements are met. ● Deployment - Entire software product or partially completed product is delivered to customer for evaluation and feedback.
  • 10. www.teachics.org Software Process Umbrella Activities Activities that occur throughout a software process for better management and tracking of the project. ● Software project tracking and control - Compare progress of the project with the plan and take steps to maintain planned schedule. ● Risk management - Evaluate risks that can affect the outcome and quality of the software product. ● Software quality assurance (SQA) - Conduct activities to ensure quality of the product. ● Technical reviews - Assessment of errors and correction done at each stage of activity. ● Measurement - All the measurements of project and product features. ● Software configuration management (SCM) - Controlling and tracking changes in the software. ● Reusability management - Back up work products for reuse and apply mechanism to achieve reusable software components. ● Work product preparation and production - Project planning and other activities used to create work product is documented.
  • 11. www.teachics.org Software Process Process flow Process flow determines how activities, actions and tasks are arranged with respect to sequence and time. → Linear Process Flow - Executes each activity in sequence. → Iterative Process Flow - Repeats one or more activities before starting next.
  • 12. www.teachics.org Software Process → Evolutionary process flow Carry out activities in a circular way. → Parallel process flow Execute one or more activities in parallel with each other.
  • 13. www.teachics.org Software Process Defining a Framework Activities Consider communication activity. For small project, this can be defined as having tasks set: ● Making phone call with stakeholder ● Discuss requirements and note it down ● Organize requirements ● Mail stakeholder for review and approval For large projects - extended actions such as feasibility study, elicitation of requirements, elaboration of requirements, specification documents, validation etc. Identifying a task set Task set is the actual work to be done to achieve an objective of engineering action. For small project, consider elicitation action in communication activity, this may include: ● Prepare list of stakeholders of the project ● Organize a meeting for stakeholders ● Discuss requirements ● Finalize requirements list ● Make a list of issues raised For large projects - steps may be added such as interviewing each stakeholder separately before group meeting, more techniques are applied in discussing requirement, etc.
  • 14. www.teachics.org Software Process Process patterns Patterns used to describe problems and their solutions in the context of software process. Problems can arise at different levels such as: ● Problems associated with a complete process model ● Within a framework activity ● Within an action in an activity Patterns can be described using a pattern template which include ● Pattern name ● Intent ● Forces and Types ○ Stage pattern ○ Task pattern ○ Phase pattern ● Initial context ● Problem ● Solution ● Resulting context ● Related patterns ● Known uses or examples
  • 15. www.teachics.org Software Process An example ● Pattern name – requirements unclear. ● Intent – an approach to build a prototype so that stakeholder can assess and determine specific requirements. ● Type – phase pattern. ● Initial context – stakeholders have been identified, communication mode has been selected, initial understanding of problem and scope of project determined. ● Problem – recognized that stakeholder has a general idea of requirements and cannot place specific requirements. ● Solution – prototyping can help the stakeholder to be more specific about requirements and hence prototype can be evolved. ● Resulting context – a prototype fulfilling basic requirements is approved by stakeholder and the prototype may be evolved or thrown for making a new one which will become the finished product. ● Related patterns – customer communication , iterative design , requirement extraction. ● Known uses/examples – unclear requirements problem can be solved through prototyping.
  • 16. www.teachics.org Process Improvement ● Software process assessment - ensure their ability to control cost, time and quality of a software. ● Assessment is done to improve the software process. Software Process Improvement (SPI) Cycle includes, ● Process measurement. ● Process analysis. ● Process change. Different approaches towards process assessment include, ● CMM (Capability Maturity Model) and CMMI (Capability Maturity Model Integration). ● Standard CMMI Appraisal Method for Process Improvement ( SCAMPI). ● CMM Based Appraisal for Internal Process Improvement (CBA IPI). ● SPICE(ISO/ IEC15504). ● ISO 9001:2000 for software.
  • 17. www.teachics.org Process Improvement CMM (Capability Maturity Model) and CMMI (Capability Maturity Model Integration) An approach based on which a process maturity is determined. CMM maturity levels 1. Initial Level. 2. Repeatable Level. 3. Defined Level. 4. Managed Level. 5. Optimizing Level. CMMI maturity levels 1. Initial. 2. Managed. 3. Defined. 4. Quantitatively Managed. 5. Optimized.
  • 18. www.teachics.org Process Improvement Standard CMMI Appraisal Method for Process Improvement ( SCAMPI) Method used for providing quality ratings with respect to CMMI. Assessment Phases 1. Initiating. 2. Diagnosing. 3. Establishing. 4. Acting. 5. Learning. CMM Based Appraisal for Internal Process Improvement (CBA IPI) It is an SEI CMM(Capability Maturity Model) based assessment method that provides diagnostics, enables and encourages an organization to understand its maturity. Appraisal Process ● Preparation. ● On-site activities. ● Findings. ● Ratings ● Final reporting, etc.
  • 19. www.teachics.org Process Improvement SPICE(ISO/ IEC15504) Assist organizations in developing an objective evaluation of the effectiveness of a software process. Levels 1. Not performed. 2. Performed informally. 3. Planned and tracked. 4. Well defined. 5. Quantitatively controlled. 6. Continuously improved. ISO 9001:2000 for software They evaluate the ability of an organization to consistently provide products that meet customer requirements. Follows PDCA cycle 1. Planning. 2. Doing. 3. Checking. 4. Acting.