SlideShare a Scribd company logo
2
Most read
15
Most read
19
Most read
Introduction to Software
Engineering
What is Software?
“ Software is a set of instructions to acquire inputs and to
manipulate them to produce the desired output in terms of
functions and performance as determined by the user of
the software. It also include a set of documents, such as
the software manual , meant for users to understand the
software system.”
Description of the Software
A software is described by its capabilities. The capabilities relate to
the functions it executes, the features it provides and the facilities it
offers. Software written for Sales-order processing would have
different functions to process different types of sales order from
different market segments . The features for example , would be to
handle multi-currency computing, updating product , sales and Tax
status. The facilities could be printing of sales orders, email to
customers and reports to the store department to dispatch the goods.
Classes of Software
Software is classified into two classes:
 Generic Software:
is designed for broad customer market whose
requirements are very common, fairly stable and well understood by
the software engineer.
 Customized Software:
is developed for a customer where domain ,
environment and requirements are being unique to that customer and
cannot be satisfied by generic products.
What is Good Software?
Software has number of attributes which decide whether it is a good or
bad . The definition of a good software changes with the person who
evaluates it. The software is required by the customer , used by the
end users of an organization and developed by software engineer .
Each one will evaluate the different attributes differently in order to
decide whether the software is good.
What are the attributes of good
software?
The software should deliver the required functionality and performance to
the user and should be maintainable, dependable and usable.
• Maintainability
– Software must evolve to meet changing needs
 Dependability
– Software must be trustworthy
 Efficiency
– Software should not make wasteful use of system resources
 Usability
– Software must be usable by the users for which it was designed
Software - Characteristics
 Software has a dual role. It is a product, but also a vehicle for delivering a
product.
 Software is a logical rather than a physical system element.
 Software has characteristics that differ considerably from those of hardware.
 - Software is developed or engineered, it is not manufactured in the classical
sense.
 - Most software is custom-built, rather than being assembled from existing
components.
Types of Software
 System Software- A collection of programs written to service other
programs at system level.
For example, compiler, operating systems.
 Real-time Software- Programs that monitor/analyze/control real
world events as they occur.
 Business Software- Programs that access, analyze and process
business information.
 Engineering and Scientific Software - Software using “number
crunching” algorithms for different science and applications. System
simulation, computer-aided design.
Types of Software
 Embedded Software-:
Embedded software resides in read-only memory and is used to
control products and systems for the consumer and industrial markets.
It has very limited and esoteric functions and control capability.
 Artificial Intelligence (AI) Software:
Programs make use of AI techniques and methods to solve complex
problems. Active areas are expert systems, pattern recognition, games
Types of Software
 Internet Software :
Programs that support internet accesses and applications.
For example, search engine, browser, e-commerce
software, authoring tools.
 Software Tools and CASE environment :
Tools and programs that help the construction
of application software and systems. For example, test
tools.
Software Engineering
 “A systematic approach to the analysis, design, implementation and
maintenance of software.”
 “ The systematic application of tools and techniques in the
development of computer-based applications.”
 “ Software Engineering is about designing and developing high-
quality software.”
What is Software Engineering?
Although hundreds of authors have developed personal definitions of software
engineering, a definition proposed by Fritz Bauer provides a basis:
 “[Software engineering is] the establishment and use of sound
engineering principles in order to obtain economically software that is
reliable and works efficiently on real machines.”
The IEEE 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).”
What is Software Engineering?
 Pressman’s view:
“Software engineering is a layered technology ”
Tools
Methods
Process
A quality Focus
What is Software Engineering?
 Software methods:
 Software engineering methods provide the technical “how to” for
building
 software. Methods --> how to encompass a broad array of tasks:
- requirements analysis, design, coding, testing, and maintenance
 Software engineering methods rely on a set of basic principles.
What is Software Engineering?
 Software process:
 A set of activities whose goal is the development or
evolution of software
 Generic activities in all software processes are:
– Specification - what the system should do and its
development constraints
– Development - production of the software system
– Validation - checking that the software is what the
customer wants
– Evolution - changing the software in response to changing
demands
What is Software Engineering?
 Software tools:
- programs provide automated or semi-automated support for the
process and methods.
- programs support engineers to perform their tasks in a systematic
and/or automatic manner.
Why Software Engineering?
 Major Goals:
- To increase software productivity and quality.
- To effectively control software schedule and planning.
- To reduce the cost of software development.
- To meet the customers’ needs and requirements.
- To enhance the conduction of software engineering process.
- To improve the current software engineering practice.
- To support the engineers’ activities in a systematic and efficient
manner.
What is the difference between software engineering and
computer science?
Computer Science Software Engineering
is concerned with
Computer science theories are currently insufficient to act as a
complete underpinning for software engineering, BUT it is a
foundation for practical aspects of software engineering
 theory
 fundamentals
 the practicalities of developing
 delivering useful software
What is the difference between software engineering and system
engineering?
 Software engineering is part of System engineering
 System engineering is concerned with all aspects of computer-based
systems development including
– hardware,
– software and
– process engineering
 System engineers are involved in
system specification
architectural design
integration and deployment
Components of Software Engineering
SE approach has two components , namely systems engineering
approach and development engineering approach. The software and
its quality depends upon the system in which it is installed.
The system here has a broad meanings. The understanding of the
system can be achieved by the System study and Analysis.
the System study and Analysis is carried out through SEM( Systems
Engineering and Methodology). The SEM steps are as under:
 Define the Objective of the system
 Define the boundaries of the system
Components of Software Engineering
Understand the relationship between various components
Define relationship in terms of inputs, outputs and processes
Understand the role of hardware and software
Identify the key operational and functional requirements
Model the system for analysis and development
Discuss the system with the customer
Components of Software Engineering
Development Engineering methodology has of translating the system
requirements as software system goal , and proceeds to achieve it through a
series of steps. The development engineering steps are
 Requirement definition and specification
 Design solution to deliver the requirements
 Determine the architecture for the delivery of solution
 Customer development and planning
 Software testing components
 Integration of system components
 Implementation

More Related Content

PPTX
Software Engineering UPTU
PDF
SE 18CS35 Module 1.pdf
PPTX
Software engineering is a branch of engineering focused on designing, develop...
PPT
Rekayasa Perangkat Lunak Pertemuan 1 RPL
PPT
Unit 1 introduction tosoftengg_mba tech ii year
PPT
Unit 1 importance ofsoftengg_b.tech iii year
PPTX
SE chp1 update and learning management .pptx
Software Engineering UPTU
SE 18CS35 Module 1.pdf
Software engineering is a branch of engineering focused on designing, develop...
Rekayasa Perangkat Lunak Pertemuan 1 RPL
Unit 1 introduction tosoftengg_mba tech ii year
Unit 1 importance ofsoftengg_b.tech iii year
SE chp1 update and learning management .pptx

Similar to lecture01softwareengineering-151017024008-lva1-app6892.pdf (20)

PPT
Chapter 01
PDF
Software Engineering Introduction by Dr M Zhu
PPT
Chapter_01 of software engineering bsit.ppt
PPT
ch1_introduction.pptgtsytrsytryhtrhgrreqreedwds
PPT
Introduction to Software Engineering.ppt
PPTX
Software Engineering
PPT
Chapter 01
PDF
Software Engineering Lecture for Computer Science.pdf
PPTX
Introduction to Software Engineering
PPTX
SE UNIT-1.pptx
PPT
ch1_introduction.ppt
PPT
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
PPT
Software Engineering
PPT
ch1_introduction (1).ppt
PPT
ch1_introduction (2).ppt
PPT
Chapter 01
PDF
Lecture 1- Introduction to SE Lecture 1- Introduction to SE
PPT
SE-Lecture1.ppt
PPTX
What is software engineering
PPT
Lecture1 (SE Introduction)
Chapter 01
Software Engineering Introduction by Dr M Zhu
Chapter_01 of software engineering bsit.ppt
ch1_introduction.pptgtsytrsytryhtrhgrreqreedwds
Introduction to Software Engineering.ppt
Software Engineering
Chapter 01
Software Engineering Lecture for Computer Science.pdf
Introduction to Software Engineering
SE UNIT-1.pptx
ch1_introduction.ppt
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
Software Engineering
ch1_introduction (1).ppt
ch1_introduction (2).ppt
Chapter 01
Lecture 1- Introduction to SE Lecture 1- Introduction to SE
SE-Lecture1.ppt
What is software engineering
Lecture1 (SE Introduction)
Ad

More from kashafishfaq21 (12)

PPTX
Rational Rose.pptxbnnhjjnbjknhjjkhhjhhhh
PPT
ch2_processmodels.pptjjgjuuuuugffyuijhgff
PPTX
complete DLD.pptxbjngjjgujjhhujhhhuujhguh
PPTX
Registers.pptxmjgfdgjbgghjghjjfyujgftujbvf
PDF
encapsulation1-150816163959-lva1-app6891.pdf
PDF
HAFIZA PP666666576887654678876544566T.pdf
PDF
circuits-150320014416-conversion-gate01.pdf
PDF
inheritance-16031525566nbhij56604452.pdf
PDF
polymorphism-17013114666666666653806.pdf
PDF
logicgates-180511113246666666660 (1).pdf
PDF
babsatu-140703233001-phpapp666666601.pdf
PDF
ifrad01605545networkcomponents-181123160910.pdf
Rational Rose.pptxbnnhjjnbjknhjjkhhjhhhh
ch2_processmodels.pptjjgjuuuuugffyuijhgff
complete DLD.pptxbjngjjgujjhhujhhhuujhguh
Registers.pptxmjgfdgjbgghjghjjfyujgftujbvf
encapsulation1-150816163959-lva1-app6891.pdf
HAFIZA PP666666576887654678876544566T.pdf
circuits-150320014416-conversion-gate01.pdf
inheritance-16031525566nbhij56604452.pdf
polymorphism-17013114666666666653806.pdf
logicgates-180511113246666666660 (1).pdf
babsatu-140703233001-phpapp666666601.pdf
ifrad01605545networkcomponents-181123160910.pdf
Ad

Recently uploaded (20)

DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PDF
A systematic review of self-coping strategies used by university students to ...
PDF
احياء السادس العلمي - الفصل الثالث (التكاثر) منهج متميزين/كلية بغداد/موهوبين
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
Paper A Mock Exam 9_ Attempt review.pdf.
PDF
What if we spent less time fighting change, and more time building what’s rig...
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PDF
SOIL: Factor, Horizon, Process, Classification, Degradation, Conservation
PDF
RMMM.pdf make it easy to upload and study
PPTX
Cell Types and Its function , kingdom of life
PPTX
Onco Emergencies - Spinal cord compression Superior vena cava syndrome Febr...
PPTX
A powerpoint presentation on the Revised K-10 Science Shaping Paper
PPTX
Unit 4 Skeletal System.ppt.pptxopresentatiom
PPTX
Digestion and Absorption of Carbohydrates, Proteina and Fats
PDF
LDMMIA Reiki Yoga Finals Review Spring Summer
PDF
IGGE1 Understanding the Self1234567891011
PPTX
202450812 BayCHI UCSC-SV 20250812 v17.pptx
PPTX
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
PDF
advance database management system book.pdf
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
A systematic review of self-coping strategies used by university students to ...
احياء السادس العلمي - الفصل الثالث (التكاثر) منهج متميزين/كلية بغداد/موهوبين
Final Presentation General Medicine 03-08-2024.pptx
Supply Chain Operations Speaking Notes -ICLT Program
Paper A Mock Exam 9_ Attempt review.pdf.
What if we spent less time fighting change, and more time building what’s rig...
Chinmaya Tiranga quiz Grand Finale.pdf
SOIL: Factor, Horizon, Process, Classification, Degradation, Conservation
RMMM.pdf make it easy to upload and study
Cell Types and Its function , kingdom of life
Onco Emergencies - Spinal cord compression Superior vena cava syndrome Febr...
A powerpoint presentation on the Revised K-10 Science Shaping Paper
Unit 4 Skeletal System.ppt.pptxopresentatiom
Digestion and Absorption of Carbohydrates, Proteina and Fats
LDMMIA Reiki Yoga Finals Review Spring Summer
IGGE1 Understanding the Self1234567891011
202450812 BayCHI UCSC-SV 20250812 v17.pptx
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
advance database management system book.pdf

lecture01softwareengineering-151017024008-lva1-app6892.pdf

  • 2. What is Software? “ Software is a set of instructions to acquire inputs and to manipulate them to produce the desired output in terms of functions and performance as determined by the user of the software. It also include a set of documents, such as the software manual , meant for users to understand the software system.”
  • 3. Description of the Software A software is described by its capabilities. The capabilities relate to the functions it executes, the features it provides and the facilities it offers. Software written for Sales-order processing would have different functions to process different types of sales order from different market segments . The features for example , would be to handle multi-currency computing, updating product , sales and Tax status. The facilities could be printing of sales orders, email to customers and reports to the store department to dispatch the goods.
  • 4. Classes of Software Software is classified into two classes:  Generic Software: is designed for broad customer market whose requirements are very common, fairly stable and well understood by the software engineer.  Customized Software: is developed for a customer where domain , environment and requirements are being unique to that customer and cannot be satisfied by generic products.
  • 5. What is Good Software? Software has number of attributes which decide whether it is a good or bad . The definition of a good software changes with the person who evaluates it. The software is required by the customer , used by the end users of an organization and developed by software engineer . Each one will evaluate the different attributes differently in order to decide whether the software is good.
  • 6. What are the attributes of good software? The software should deliver the required functionality and performance to the user and should be maintainable, dependable and usable. • Maintainability – Software must evolve to meet changing needs  Dependability – Software must be trustworthy  Efficiency – Software should not make wasteful use of system resources  Usability – Software must be usable by the users for which it was designed
  • 7. Software - Characteristics  Software has a dual role. It is a product, but also a vehicle for delivering a product.  Software is a logical rather than a physical system element.  Software has characteristics that differ considerably from those of hardware.  - Software is developed or engineered, it is not manufactured in the classical sense.  - Most software is custom-built, rather than being assembled from existing components.
  • 8. Types of Software  System Software- A collection of programs written to service other programs at system level. For example, compiler, operating systems.  Real-time Software- Programs that monitor/analyze/control real world events as they occur.  Business Software- Programs that access, analyze and process business information.  Engineering and Scientific Software - Software using “number crunching” algorithms for different science and applications. System simulation, computer-aided design.
  • 9. Types of Software  Embedded Software-: Embedded software resides in read-only memory and is used to control products and systems for the consumer and industrial markets. It has very limited and esoteric functions and control capability.  Artificial Intelligence (AI) Software: Programs make use of AI techniques and methods to solve complex problems. Active areas are expert systems, pattern recognition, games
  • 10. Types of Software  Internet Software : Programs that support internet accesses and applications. For example, search engine, browser, e-commerce software, authoring tools.  Software Tools and CASE environment : Tools and programs that help the construction of application software and systems. For example, test tools.
  • 11. Software Engineering  “A systematic approach to the analysis, design, implementation and maintenance of software.”  “ The systematic application of tools and techniques in the development of computer-based applications.”  “ Software Engineering is about designing and developing high- quality software.”
  • 12. What is Software Engineering? Although hundreds of authors have developed personal definitions of software engineering, a definition proposed by Fritz Bauer provides a basis:  “[Software engineering is] the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.” The IEEE 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).”
  • 13. What is Software Engineering?  Pressman’s view: “Software engineering is a layered technology ” Tools Methods Process A quality Focus
  • 14. What is Software Engineering?  Software methods:  Software engineering methods provide the technical “how to” for building  software. Methods --> how to encompass a broad array of tasks: - requirements analysis, design, coding, testing, and maintenance  Software engineering methods rely on a set of basic principles.
  • 15. What is Software Engineering?  Software process:  A set of activities whose goal is the development or evolution of software  Generic activities in all software processes are: – Specification - what the system should do and its development constraints – Development - production of the software system – Validation - checking that the software is what the customer wants – Evolution - changing the software in response to changing demands
  • 16. What is Software Engineering?  Software tools: - programs provide automated or semi-automated support for the process and methods. - programs support engineers to perform their tasks in a systematic and/or automatic manner.
  • 17. Why Software Engineering?  Major Goals: - To increase software productivity and quality. - To effectively control software schedule and planning. - To reduce the cost of software development. - To meet the customers’ needs and requirements. - To enhance the conduction of software engineering process. - To improve the current software engineering practice. - To support the engineers’ activities in a systematic and efficient manner.
  • 18. What is the difference between software engineering and computer science? Computer Science Software Engineering is concerned with Computer science theories are currently insufficient to act as a complete underpinning for software engineering, BUT it is a foundation for practical aspects of software engineering  theory  fundamentals  the practicalities of developing  delivering useful software
  • 19. What is the difference between software engineering and system engineering?  Software engineering is part of System engineering  System engineering is concerned with all aspects of computer-based systems development including – hardware, – software and – process engineering  System engineers are involved in system specification architectural design integration and deployment
  • 20. Components of Software Engineering SE approach has two components , namely systems engineering approach and development engineering approach. The software and its quality depends upon the system in which it is installed. The system here has a broad meanings. The understanding of the system can be achieved by the System study and Analysis. the System study and Analysis is carried out through SEM( Systems Engineering and Methodology). The SEM steps are as under:  Define the Objective of the system  Define the boundaries of the system
  • 21. Components of Software Engineering Understand the relationship between various components Define relationship in terms of inputs, outputs and processes Understand the role of hardware and software Identify the key operational and functional requirements Model the system for analysis and development Discuss the system with the customer
  • 22. Components of Software Engineering Development Engineering methodology has of translating the system requirements as software system goal , and proceeds to achieve it through a series of steps. The development engineering steps are  Requirement definition and specification  Design solution to deliver the requirements  Determine the architecture for the delivery of solution  Customer development and planning  Software testing components  Integration of system components  Implementation