SlideShare a Scribd company logo
1 of 60
1
FDRE Technical and Vocational Institute
Information Technology (MSc Program)
Course Title: Software Engineering
Course code: (IT501)
By:
Mohammed T (Asst. prof)
March, 2024
2
Outline
 Introduction to Software Engineering
 Definitions of Software Engineering
 Software and their types
 Software process
 SE and related disciplines
 objective of software Engineering
 Three R’s of Software Engineering
 Software Life Cycle Models
 Waterfall model
 Object oriented analysis and design
 Evolutionary models (prototype, incremental, iteration, Agile etc.)
3
Chapter 1: Introduction To Software Engineering
Definitions :
• A discipline whose aim is production of quality software ,
software that is delivered on time, within budget ,and that
satisfies its requirements.
• An engineering discipline that is concerned with all aspects
of software production from the early stages of system
specification to maintaining the system after it has gone into
use,
• Multi-person construction of multi-version software.
4
Cont.
An engineering discipline that provides knowledge,
tools, and methods for:
 Defining software requirements
 Performing software design
 Software construction and Software testing
 Software maintenance tasks
 Software project management
5
What is Software?
What is Software?
• Software comprises of data
structures that enable the
programs to hold the data and
manipulate it
• A set of Computer program ,
procedures and associated
documentation and data relating
to the operation of a computer
system.
• collection of programs or set of
programs. Data and instructions
written in organized form for
performing the operation by the
computer
6
Types of Software?
Notepad ,
Oracle , SQL
Server
Operating systems,
Device Drivers,
Language translators
etc.
7
System Software:
– Provides important self-regulatory functions for computer systems, such
as loading itself when the computer is first turned on,
– Managing hardware resources such as secondary storage for all
applications, and
– Providing commonly used sets of instructions for all applications to use.
Application Software:
– Software products may be developed for a particular customer or
– may be developed for a general market.
– Two types : Proprietary application software and Off-the-shelf
application software.
– Proprietary application software can be made for a specific or unique
business need for a company. This type of software may be developed
in-house by the organization’s information systems personnel or it may
be commissioned from a software vendor .
– On the other hand, off-the-shelf application software can be purchased
or rented from a vendor that develops programs and sells them to
different organizations.
Cont.
Software Applications
 System software
 ƒ
Application software
 ƒ
Engineering/scientific software
 ƒ
Embedded software
 ƒ
Product-line software
 ƒ
Web Apps (Web applications)
 ƒ
AI software
8
9
Comparing SE with Other disciplines
Computer Science
• concerned more with Theory and
• Fundamental concepts.
Software Engineering
• concerned with the practicalities of
developing and delivering useful
• Deals with the design, development
and delivery of SW.
• Is part of Systems Engineering.
• All aspects of computer-based
systems development: HW + SW
+ Process.
• Older than SWE.
Computer Engineering
• is computer science with an
architecture such as OS, CPU and other
hard wares on the motherboard, and
digital circuits.
Systems Engineering
10
Frequently asked questions about software engineering
Question Answer
What is software? Computer programs and associated documentation. Software
products may be developed for a particular customer or may
be developed for a general market.
What are the attributes of good software? Good software should deliver the required functionality and
performance to the user and should be maintainable,
dependable and usable.
What is software engineering? Software engineering is an engineering discipline that is
concerned with all aspects of software production.
What are the fundamental software
engineering activities?
Software specification, software development, software
validation and software evolution.
What is the difference between software
engineering and computer science?
Computer science focuses on theory and fundamentals;
software engineering is concerned with the practicalities of
developing and delivering useful software.
What is the difference between software
engineering and system engineering?
System engineering is concerned with all aspects of
computer-based systems development including hardware,
software and process engineering. Software engineering is
part of this more general process.
11
What are the attributes of good software?
 The software should deliver the required functionality and
performance to the user, and it should be :
 Maintainable: must evolve to meet changing needs
 Dependable: must be trustworthy when needed to work with
others(Reliability, security, safety)
 Efficient: Response time, processing time, memory utilization.
 Acceptable: must accepted by the users for which it was
designed.
 It must also be understandable, usable and compatible with other
systems
 To produce software that is:
On time: is deliver at the established date.
Reliable: doesn’t crash for long time.
Quality: the quality of the software delivered to customers should
be assured.
Complete: good documentation that fulfill customer needs.
12
Objective of Software Engineering
 lack of understanding the requirements,
 Improper software size estimation,
 incapability to identify an appropriate software development
 uncertainty of system and software requirements,
 budget limitation,
 poor quality of coding,
 performance loss and inability to adapt technologies,
 unskilled programmers
 No proper testing of software
13
What is the reasons for software failures?
• Reuse:
• Software reuse is the process of creating new software systems from
existing software components.
• Reuse has an enormous impact on productivity. Elements of software
reused are
–software specifications, designs, tests cases, data, prototypes, plans,
documentation, frameworks and templates.
• Reusability is the ability to use some of parts or the greater part of the
same programming code or system design in another application.
• Reusability is the segment of source code that can be used to add new
functionalities with slight or localizes code modifications when a change in
implementation is required.
• Software reuse can cut software development time and costs.
14
Three R’s in Software Engineering
Cont.
• Re-engineering:
 The goal is to understand the existing software (specification, design,
implementation) and then to re-implement it to improve the system's
functionality, performance or implementation. Two type
 Reverse engineering : examine software internals how system has been
constructed
 Forward engineering: using information obtained from reverse
engineering , rebuild the application using modern software engineering
practices and principles.
 There are four re-engineering objectives:
 Preparation for functional enhancement,
 Improve maintainability,
 Migration, and
 Improve reliability
15
Cont.
Re-tooling
To achieve the first two R's, we need a third R—a new
generation of software tools.
Tools for the next ten years will address all aspects of the
methods landscape. But they should emphasize reuse and re-
engineering.
16
The Cost of Software Engineering
 Depends on:
 The process used, and
 The type of software being developed.
 Each generic approach has a different profile of cost
distribution.
 Roughly 60% of costs are development costs, 40% are
testing costs.
 For custom software, evolution costs often exceed
development costs.
17
18
Software process
A structured set of activities required to develop a software system.
SW Process Activity What is going on there?
Specification
What does the customer need?
What are the constraints?
Development Design & programming.
Validation Checking whether it meets requirements.
Evolution Modifications (e.g. customer/market).
19
19
What is a Software Process Model?
• 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 performed or a product produced.
Examples of views Focus on…
Workflow
Activities = human actions.
What is input, output, and dependencies.
Dataflow
Activities = transformations of information.
How the input is transformed into output.
Role/Action What is the role of people involved in each step of the process?
20
Software Development Life Cycles
21
22
23
24
25
26
27
Waterfall approach
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60

More Related Content

Similar to SE chp1 update and learning management .pptx

Similar to SE chp1 update and learning management .pptx (20)

SE UNIT-1.pptx
SE UNIT-1.pptxSE UNIT-1.pptx
SE UNIT-1.pptx
 
Software Engineering and Introduction, Activities and ProcessModels
Software Engineering and Introduction, Activities and ProcessModels Software Engineering and Introduction, Activities and ProcessModels
Software Engineering and Introduction, Activities and ProcessModels
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
sw1.pdf
sw1.pdfsw1.pdf
sw1.pdf
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt
 
SE-Unit I.pptx
SE-Unit I.pptxSE-Unit I.pptx
SE-Unit I.pptx
 
What is software engineering
What is software engineeringWhat is software engineering
What is software engineering
 
Software Engineering notes by K. Adisesha.pdf
Software Engineering notes by K. Adisesha.pdfSoftware Engineering notes by K. Adisesha.pdf
Software Engineering notes by K. Adisesha.pdf
 
ch1_introduction (1).ppt
ch1_introduction (1).pptch1_introduction (1).ppt
ch1_introduction (1).ppt
 
ch1_introduction (2).ppt
ch1_introduction (2).pptch1_introduction (2).ppt
ch1_introduction (2).ppt
 
ch1_introduction.ppt
ch1_introduction.pptch1_introduction.ppt
ch1_introduction.ppt
 
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SESE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Software Engineering1-1.pptx
Software Engineering1-1.pptxSoftware Engineering1-1.pptx
Software Engineering1-1.pptx
 
Kelis king - introduction to s.e.
Kelis king -  introduction to s.e.Kelis king -  introduction to s.e.
Kelis king - introduction to s.e.
 
SE-Lecture1.ppt
SE-Lecture1.pptSE-Lecture1.ppt
SE-Lecture1.ppt
 
software engineering
software engineeringsoftware engineering
software engineering
 
Swe notes
Swe notesSwe notes
Swe notes
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbsh
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 

Recently uploaded

result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
Tonystark477637
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
rknatarajan
 

Recently uploaded (20)

University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Vivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design SpainVivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design Spain
 
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICSUNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 

SE chp1 update and learning management .pptx

  • 1. 1 FDRE Technical and Vocational Institute Information Technology (MSc Program) Course Title: Software Engineering Course code: (IT501) By: Mohammed T (Asst. prof) March, 2024
  • 2. 2 Outline  Introduction to Software Engineering  Definitions of Software Engineering  Software and their types  Software process  SE and related disciplines  objective of software Engineering  Three R’s of Software Engineering  Software Life Cycle Models  Waterfall model  Object oriented analysis and design  Evolutionary models (prototype, incremental, iteration, Agile etc.)
  • 3. 3 Chapter 1: Introduction To Software Engineering Definitions : • A discipline whose aim is production of quality software , software that is delivered on time, within budget ,and that satisfies its requirements. • An engineering discipline that is concerned with all aspects of software production from the early stages of system specification to maintaining the system after it has gone into use, • Multi-person construction of multi-version software.
  • 4. 4 Cont. An engineering discipline that provides knowledge, tools, and methods for:  Defining software requirements  Performing software design  Software construction and Software testing  Software maintenance tasks  Software project management
  • 5. 5 What is Software? What is Software? • Software comprises of data structures that enable the programs to hold the data and manipulate it • A set of Computer program , procedures and associated documentation and data relating to the operation of a computer system. • collection of programs or set of programs. Data and instructions written in organized form for performing the operation by the computer
  • 6. 6 Types of Software? Notepad , Oracle , SQL Server Operating systems, Device Drivers, Language translators etc.
  • 7. 7 System Software: – Provides important self-regulatory functions for computer systems, such as loading itself when the computer is first turned on, – Managing hardware resources such as secondary storage for all applications, and – Providing commonly used sets of instructions for all applications to use. Application Software: – Software products may be developed for a particular customer or – may be developed for a general market. – Two types : Proprietary application software and Off-the-shelf application software. – Proprietary application software can be made for a specific or unique business need for a company. This type of software may be developed in-house by the organization’s information systems personnel or it may be commissioned from a software vendor . – On the other hand, off-the-shelf application software can be purchased or rented from a vendor that develops programs and sells them to different organizations. Cont.
  • 8. Software Applications  System software  ƒ Application software  ƒ Engineering/scientific software  ƒ Embedded software  ƒ Product-line software  ƒ Web Apps (Web applications)  ƒ AI software 8
  • 9. 9 Comparing SE with Other disciplines Computer Science • concerned more with Theory and • Fundamental concepts. Software Engineering • concerned with the practicalities of developing and delivering useful • Deals with the design, development and delivery of SW. • Is part of Systems Engineering. • All aspects of computer-based systems development: HW + SW + Process. • Older than SWE. Computer Engineering • is computer science with an architecture such as OS, CPU and other hard wares on the motherboard, and digital circuits. Systems Engineering
  • 10. 10 Frequently asked questions about software engineering Question Answer What is software? Computer programs and associated documentation. Software products may be developed for a particular customer or may be developed for a general market. What are the attributes of good software? Good software should deliver the required functionality and performance to the user and should be maintainable, dependable and usable. What is software engineering? Software engineering is an engineering discipline that is concerned with all aspects of software production. What are the fundamental software engineering activities? Software specification, software development, software validation and software evolution. What is the difference between software engineering and computer science? Computer science focuses on theory and fundamentals; software engineering is concerned with the practicalities of developing and delivering useful software. What is the difference between software engineering and system engineering? System engineering is concerned with all aspects of computer-based systems development including hardware, software and process engineering. Software engineering is part of this more general process.
  • 11. 11 What are the attributes of good software?  The software should deliver the required functionality and performance to the user, and it should be :  Maintainable: must evolve to meet changing needs  Dependable: must be trustworthy when needed to work with others(Reliability, security, safety)  Efficient: Response time, processing time, memory utilization.  Acceptable: must accepted by the users for which it was designed.  It must also be understandable, usable and compatible with other systems
  • 12.  To produce software that is: On time: is deliver at the established date. Reliable: doesn’t crash for long time. Quality: the quality of the software delivered to customers should be assured. Complete: good documentation that fulfill customer needs. 12 Objective of Software Engineering
  • 13.  lack of understanding the requirements,  Improper software size estimation,  incapability to identify an appropriate software development  uncertainty of system and software requirements,  budget limitation,  poor quality of coding,  performance loss and inability to adapt technologies,  unskilled programmers  No proper testing of software 13 What is the reasons for software failures?
  • 14. • Reuse: • Software reuse is the process of creating new software systems from existing software components. • Reuse has an enormous impact on productivity. Elements of software reused are –software specifications, designs, tests cases, data, prototypes, plans, documentation, frameworks and templates. • Reusability is the ability to use some of parts or the greater part of the same programming code or system design in another application. • Reusability is the segment of source code that can be used to add new functionalities with slight or localizes code modifications when a change in implementation is required. • Software reuse can cut software development time and costs. 14 Three R’s in Software Engineering
  • 15. Cont. • Re-engineering:  The goal is to understand the existing software (specification, design, implementation) and then to re-implement it to improve the system's functionality, performance or implementation. Two type  Reverse engineering : examine software internals how system has been constructed  Forward engineering: using information obtained from reverse engineering , rebuild the application using modern software engineering practices and principles.  There are four re-engineering objectives:  Preparation for functional enhancement,  Improve maintainability,  Migration, and  Improve reliability 15
  • 16. Cont. Re-tooling To achieve the first two R's, we need a third R—a new generation of software tools. Tools for the next ten years will address all aspects of the methods landscape. But they should emphasize reuse and re- engineering. 16
  • 17. The Cost of Software Engineering  Depends on:  The process used, and  The type of software being developed.  Each generic approach has a different profile of cost distribution.  Roughly 60% of costs are development costs, 40% are testing costs.  For custom software, evolution costs often exceed development costs. 17
  • 18. 18 Software process A structured set of activities required to develop a software system. SW Process Activity What is going on there? Specification What does the customer need? What are the constraints? Development Design & programming. Validation Checking whether it meets requirements. Evolution Modifications (e.g. customer/market).
  • 19. 19 19 What is a Software Process Model? • 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 performed or a product produced. Examples of views Focus on… Workflow Activities = human actions. What is input, output, and dependencies. Dataflow Activities = transformations of information. How the input is transformed into output. Role/Action What is the role of people involved in each step of the process?
  • 21. 21
  • 22. 22
  • 23. 23
  • 24. 24
  • 25. 25
  • 26. 26
  • 28. 28
  • 29. 29
  • 30. 30
  • 31. 31
  • 32. 32
  • 33. 33
  • 34. 34
  • 35. 35
  • 36. 36
  • 37. 37
  • 38. 38
  • 39. 39
  • 40. 40
  • 41. 41
  • 42. 42
  • 43. 43
  • 44. 44
  • 45. 45
  • 46. 46
  • 47. 47
  • 48. 48
  • 49. 49
  • 50. 50
  • 51. 51
  • 52. 52
  • 53. 53
  • 54. 54
  • 55. 55
  • 56. 56
  • 57. 57
  • 58. 58
  • 59. 59
  • 60. 60