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

HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2RajaP95
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxvipinkmenon1
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and usesDevarapalliHaritha
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZTE
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 

Recently uploaded (20)

Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptx
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and uses
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 

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