SlideShare a Scribd company logo
Introduction to Software Engineering 
(CSC291) 
Instructor 
Humaira Afzal 
Lecturer 
humairaafzal@ciitlahore.edu.pk
Course Information 
This is an introductory course in Software Engineering 
Domain. 
Learning Objectives 
Students should have 
• knowledge of software development processes. 
• Understanding about systems modelling 
• Learned development methodology, Principles and techniques 
for the engineering of large software projects. 
• Learned the Fundamental principles of formal specifications. 
• Clear understanding about software testing approaches.
Course Outline 
• Introduction to Software Engineering, Software Process, Process 
models, Software Crisis, Software Engineering Phases 
• Waterfall, Prototype, RAD, Incremental, Spiral 
• Extreme Programming, RUP 
• Requirements Engineering, Definitions, Levels of Requirements 
• Functional and non-functional requirements, Importance of the 
software requirement process, Importance of requirements, Role of 
requirements, 
• Risks from inadequate requirements process, Requirement statement 
characteristics, Requirements specification characteristics 
• Analysis Models: Data modelling, ERD, Use Case Model, State 
Transition Model, Data Flow Model
Course Outline 
• Software design attributes, Object-Oriented Analysis and Design, 
Static and Dynamic Models, Class diagram, System sequence 
diagram 
• Interaction diagram, Activity diagram, Deployment diagram, 
component diagram 
• Software Architecture 
• Programming techniques for industrial strength software, Industrial 
strength software Do’s and don’ts in programming, Style guides 
• Software Verification and Validation 
• Phases of testing, Equivalence partitioning, Black box testing, 
Structural or white box testing 
• Software Inspection 
• Software Configuration Management 
• Project Evaluation
Grading 
• First Sessional Test 10% 
• Second Sessional Test 15% 
• Quizzes/Assignments 25% 
• Terminal Examination 50%
Rules 
Slide 
• No mobile phones 
• Arrive on time! 
• If you do not understand a point, raise your hand and ask me 
to explain or contact during office hours 
• No disruption!!!! No Misconduct!!!! 
• 80% Attendance 
• REMEMBER: Your first priority must be your studies 
6
Introduction
FAQs about software engineering 
• What is software? 
• What is software engineering? 
• What is the difference between software engineering 
and computer science? 
• What is the difference between software engineering 
and system engineering? 
• What is a software process? 
• What is a software process model?
What is software? 
• Computer Programs 
• Data 
• Documentation
What is software?(contd.) 
We can define it as: 
▫ Instructions (Computer Programs) that when executed 
provide 
• desired features 
• functions and 
• performance. 
 The data on which the program operates is also considered a 
part of the software. 
▫ Documents that describe the use of the Programs. 
Computer programs and associated documentation such as 
requirements, design models and user manuals.
Categories of Computer Software 
• System Software 
• Real-Time Software 
• Engineering/scientific software 
• Business Software 
• Web -based software 
• etc
Software products 
• Generic products 
▫ Stand-alone systems that are marketed and sold to any 
customer who wishes to buy them. 
▫ Examples – PC software such as editing, graphics 
programs, project management tools, databases and 
drawing packages. 
• Customized products 
▫ Software that is commissioned by a specific customer 
to meet their own needs. 
▫ Examples –systems written to support a particular 
business process and air traffic control software. 
12
Why Software is Important? 
• The economies of ALL developed nations are dependent 
on software. 
• More and more systems are software controlled 
( transportation, medical, telecommunications, military, 
industrial, entertainment,) 
• Software engineering is concerned with theories, methods 
and tools for professional software development.
Software Crisis 
“Problems associated with software development “ 
• Resulted in software projects which were: 
▫ Late – sometimes by many years 
▫ Over budget 
▫ Unreliable 
▫ Difficult to maintain 
▫ Poor in performance 
• Required new techniques and methods to control the 
complexity inherent in “LARGE” software systems.
Essential attributes of good software 
15 
Product characteristic Description 
Maintainability Software should be written in such a way so that it can evolve to 
meet the changing needs of customers. 
Dependability and 
security 
Software dependability includes a range of characteristics 
including reliability, security and safety. 
Efficiency Software should not make wasteful use of system resources such 
as memory and processor cycles. Efficiency therefore includes 
responsiveness, processing time, memory utilisation, etc. 
Acceptability Software must be acceptable to the type of users for which it is 
designed. This means that it must be understandable, usable and 
compatible with other systems that they use.
Engineering 
The science concerned with putting 
scientific knowledge to practical use. 
Webster’s Dictionary
Software Engineering 
• The science concerned with putting 
computer science knowledge to practical 
use.
Software Engineering - IEEE 
Software Engineering: 
The application of a systematic, disciplined, 
quantifiable approach to the development, 
operation, and maintenance of software; that is, 
the application of engineering to software.
Software Engineering 
‘all aspects of software production’ Software 
engineering is not just concerned with the technical 
processes of software development but also with 
activities such as software project management and 
with the development of tools, methods and theories to 
support software production. 
-Sommerville-
Well-Engineered Software 
· Provides the required functionality 
· Maintainable 
· Reliable 
· Efficient 
· User-friendly 
· Cost-effective
FAQ about software engineering 
Question Answer 
What is software? Computer programs, data structures 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 
21 
concerned with all aspects of software production. 
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.
Essential attributes of good software 
22 
Product characteristic Description 
Maintainability Software should be written in such a way so that it can evolve to 
meet the changing needs of customers. This is a critical attribute 
because software change is an inevitable requirement of a 
changing business environment. 
Dependability and 
security 
Software dependability includes a range of characteristics 
including reliability, security and safety. Dependable software 
should not cause physical or economic damage in the event of 
system failure. Malicious users should not be able to access or 
damage the system. 
Efficiency Software should not make wasteful use of system resources such 
as memory and processor cycles. Efficiency therefore includes 
responsiveness, processing time, memory utilisation, etc. 
Acceptability Software must be acceptable to the type of users for which it is 
designed. This means that it must be understandable, usable and 
compatible with other systems that they use.
What is a 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 a software process model? 
• A simplified representation of a software process, presented 
from a specific perspective. 
• Examples of process perspectives are 
▫ Workflow perspective - sequence of activities; 
▫ Data-flow perspective - information flow; 
▫ Role/action perspective - who does what. 
• Generic process models 
▫ Waterfall; 
▫ Iterative development; 
▫ Component-based software engineering.
Chapter 1 Introduction 
Key points 
• Software engineering is an engineering discipline that is 
concerned with all aspects of software production. 
• Essential software product attributes are maintainability, 
dependability and security, efficiency and acceptability. 
• The high-level activities of specification, development, 
validation and evolution are part of all software 
processes. 
• The fundamental notions of software engineering are 
universally applicable to all types of system development. 
25
Chapter 1 Introduction 
Key points 
• There are many different types of system and each 
requires appropriate software engineering tools and 
techniques for their development. 
• The fundamental ideas of software engineering are 
applicable to all types of software system. 
26

More Related Content

PPTX
Greate Introduction to Software Engineering @ Track IT Academy
PDF
software engineering
PPT
Introduction to Software Engineering
PDF
Software engineering introduction
PPTX
Software Engineering
PPTX
Software engineering
PDF
INTRODUCTION TO SOFTWARE ENGINEERING
PDF
An introduction to software
Greate Introduction to Software Engineering @ Track IT Academy
software engineering
Introduction to Software Engineering
Software engineering introduction
Software Engineering
Software engineering
INTRODUCTION TO SOFTWARE ENGINEERING
An introduction to software

What's hot (20)

PDF
Introduction to software engineering
PPT
Unit 1 importance ofsoftengg_b.tech iii year
PPT
Unit 1 introduction tosoftengg_mba tech ii year
PPTX
Introduction to Software Engineering
PPT
Intoduction to software engineering part 1
DOC
SOFTWARE ENGINEERING
PPTX
Software engineering
PPTX
Software Engineering Layered Technology Software Process Framework
PPT
Software engineering introduction
PDF
software development, process model, requirement engineering, srs, structured...
PPT
Software System Engineering - Chapter 2
PDF
Soft engg introduction and process models
PPT
Lecture 1 introduction to software engineering 1
PPTX
Introduction to Software Engineering
PPTX
Selection of methodology - System Analysis and Design
PPT
An introduction to software engineering
PPTX
Software engineering tutorial
PPTX
Need for Software Engineering
PPTX
Lecture 01 Introduction to Software Engineering
PDF
Software engineering note
Introduction to software engineering
Unit 1 importance ofsoftengg_b.tech iii year
Unit 1 introduction tosoftengg_mba tech ii year
Introduction to Software Engineering
Intoduction to software engineering part 1
SOFTWARE ENGINEERING
Software engineering
Software Engineering Layered Technology Software Process Framework
Software engineering introduction
software development, process model, requirement engineering, srs, structured...
Software System Engineering - Chapter 2
Soft engg introduction and process models
Lecture 1 introduction to software engineering 1
Introduction to Software Engineering
Selection of methodology - System Analysis and Design
An introduction to software engineering
Software engineering tutorial
Need for Software Engineering
Lecture 01 Introduction to Software Engineering
Software engineering note
Ad

Viewers also liked (20)

PPT
Software Engineering I
PPT
software Engineering process
PDF
Chapter 1 introduction
PPTX
Software Engineering Unit 1
PPTX
software product and its characteristics
PPT
Chapter - 5 Data Mining Concepts and Techniques 2nd Ed slides Han & Kamber
PPTX
waterfall model
PPT
Object Oriented Software Engineering (OOSE) presentation on SOFTWARE MAINTENANCE
PPT
Presentation V Model
PPT
Waterfall model in Software engineering
PPTX
Software engineering : Layered Architecture
PDF
V model in SDLC
PPTX
Waterfallmodel
PPTX
software project management Waterfall model
PPTX
Presentation on component based software engineering(cbse)
PPT
Object Oriented Design in Software Engineering SE12
PPT
PPTX
Waterfall model ppt final
PPT
Prototype model
PPTX
Software Engineering I
software Engineering process
Chapter 1 introduction
Software Engineering Unit 1
software product and its characteristics
Chapter - 5 Data Mining Concepts and Techniques 2nd Ed slides Han & Kamber
waterfall model
Object Oriented Software Engineering (OOSE) presentation on SOFTWARE MAINTENANCE
Presentation V Model
Waterfall model in Software engineering
Software engineering : Layered Architecture
V model in SDLC
Waterfallmodel
software project management Waterfall model
Presentation on component based software engineering(cbse)
Object Oriented Design in Software Engineering SE12
Waterfall model ppt final
Prototype model
Ad

Similar to Lecture1 (SE Introduction) (20)

PPTX
Slidesnumber1of the main course and this is the final show
PPTX
The first session of a software engineering module Presentation.pptx
PPTX
unit 1.pptx regasts sthatbabs shshsbsvsbsh
PDF
PPTX
UNIT 1 - MPP.pptxdfvvnfuvbrrujfvbvndvnbn
PPTX
Software Engineering
PPTX
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
PPTX
Introduction to Software Engineering
PDF
Software_Engineering_in_6_Hours_lyst1728638742594.pdf
PDF
Software Engineering in 6 hours of knowledge gate
PDF
Software Engineering and Introduction, Activities and ProcessModels
PDF
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdf
PPTX
Se introduction lec 1
PDF
Kelis king - introduction to s.e.
PPTX
SE chp1 update and learning management .pptx
PDF
Advance Software Engineering notes for ME students
PDF
Chapter 1 Introduction to Software Engineering and Process Models.pdf
PPT
Week_01-Intro to Software Engineering-1.ppt
Slidesnumber1of the main course and this is the final show
The first session of a software engineering module Presentation.pptx
unit 1.pptx regasts sthatbabs shshsbsvsbsh
UNIT 1 - MPP.pptxdfvvnfuvbrrujfvbvndvnbn
Software Engineering
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
Introduction to Software Engineering
Software_Engineering_in_6_Hours_lyst1728638742594.pdf
Software Engineering in 6 hours of knowledge gate
Software Engineering and Introduction, Activities and ProcessModels
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdf
Se introduction lec 1
Kelis king - introduction to s.e.
SE chp1 update and learning management .pptx
Advance Software Engineering notes for ME students
Chapter 1 Introduction to Software Engineering and Process Models.pdf
Week_01-Intro to Software Engineering-1.ppt

More from Education Front (20)

PPT
Improving Pronunciation
PPTX
Generic Software Process Models
PPTX
2- Dimensional Arrays
PPTX
Problem Sloving
PPTX
Problem Solving - 1
PPTX
Introduction To Stack
PPTX
Process Models
PPTX
Process Models
PPTX
Data Representation
PPTX
Introduction to Algorithm
PPT
Revised Process of Communication
PPT
Importance of Language in Communication
PPTX
Lecture 2 (Software Processes)
PPTX
Introduction to data structure
PPTX
Facing Today’s Communication Challenges
PPTX
Processor Basics
PPTX
Register & Memory
PPTX
Data Representation
PPTX
Computer Evolution
PPT
Assembly Language Basics
Improving Pronunciation
Generic Software Process Models
2- Dimensional Arrays
Problem Sloving
Problem Solving - 1
Introduction To Stack
Process Models
Process Models
Data Representation
Introduction to Algorithm
Revised Process of Communication
Importance of Language in Communication
Lecture 2 (Software Processes)
Introduction to data structure
Facing Today’s Communication Challenges
Processor Basics
Register & Memory
Data Representation
Computer Evolution
Assembly Language Basics

Recently uploaded (20)

PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PDF
ETO & MEO Certificate of Competency Questions and Answers
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PPTX
MET 305 MODULE 1 KTU 2019 SCHEME 25.pptx
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PDF
Digital Logic Computer Design lecture notes
PPTX
additive manufacturing of ss316l using mig welding
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PDF
Arduino robotics embedded978-1-4302-3184-4.pdf
PPTX
Unit 5 BSP.pptxytrrftyyydfyujfttyczcgvcd
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
UNIT-1 - COAL BASED THERMAL POWER PLANTS
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
ETO & MEO Certificate of Competency Questions and Answers
Foundation to blockchain - A guide to Blockchain Tech
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
Model Code of Practice - Construction Work - 21102022 .pdf
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
MET 305 MODULE 1 KTU 2019 SCHEME 25.pptx
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
Digital Logic Computer Design lecture notes
additive manufacturing of ss316l using mig welding
Operating System & Kernel Study Guide-1 - converted.pdf
Arduino robotics embedded978-1-4302-3184-4.pdf
Unit 5 BSP.pptxytrrftyyydfyujfttyczcgvcd
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...

Lecture1 (SE Introduction)

  • 1. Introduction to Software Engineering (CSC291) Instructor Humaira Afzal Lecturer humairaafzal@ciitlahore.edu.pk
  • 2. Course Information This is an introductory course in Software Engineering Domain. Learning Objectives Students should have • knowledge of software development processes. • Understanding about systems modelling • Learned development methodology, Principles and techniques for the engineering of large software projects. • Learned the Fundamental principles of formal specifications. • Clear understanding about software testing approaches.
  • 3. Course Outline • Introduction to Software Engineering, Software Process, Process models, Software Crisis, Software Engineering Phases • Waterfall, Prototype, RAD, Incremental, Spiral • Extreme Programming, RUP • Requirements Engineering, Definitions, Levels of Requirements • Functional and non-functional requirements, Importance of the software requirement process, Importance of requirements, Role of requirements, • Risks from inadequate requirements process, Requirement statement characteristics, Requirements specification characteristics • Analysis Models: Data modelling, ERD, Use Case Model, State Transition Model, Data Flow Model
  • 4. Course Outline • Software design attributes, Object-Oriented Analysis and Design, Static and Dynamic Models, Class diagram, System sequence diagram • Interaction diagram, Activity diagram, Deployment diagram, component diagram • Software Architecture • Programming techniques for industrial strength software, Industrial strength software Do’s and don’ts in programming, Style guides • Software Verification and Validation • Phases of testing, Equivalence partitioning, Black box testing, Structural or white box testing • Software Inspection • Software Configuration Management • Project Evaluation
  • 5. Grading • First Sessional Test 10% • Second Sessional Test 15% • Quizzes/Assignments 25% • Terminal Examination 50%
  • 6. Rules Slide • No mobile phones • Arrive on time! • If you do not understand a point, raise your hand and ask me to explain or contact during office hours • No disruption!!!! No Misconduct!!!! • 80% Attendance • REMEMBER: Your first priority must be your studies 6
  • 8. FAQs about software engineering • What is software? • What is software engineering? • What is the difference between software engineering and computer science? • What is the difference between software engineering and system engineering? • What is a software process? • What is a software process model?
  • 9. What is software? • Computer Programs • Data • Documentation
  • 10. What is software?(contd.) We can define it as: ▫ Instructions (Computer Programs) that when executed provide • desired features • functions and • performance.  The data on which the program operates is also considered a part of the software. ▫ Documents that describe the use of the Programs. Computer programs and associated documentation such as requirements, design models and user manuals.
  • 11. Categories of Computer Software • System Software • Real-Time Software • Engineering/scientific software • Business Software • Web -based software • etc
  • 12. Software products • Generic products ▫ Stand-alone systems that are marketed and sold to any customer who wishes to buy them. ▫ Examples – PC software such as editing, graphics programs, project management tools, databases and drawing packages. • Customized products ▫ Software that is commissioned by a specific customer to meet their own needs. ▫ Examples –systems written to support a particular business process and air traffic control software. 12
  • 13. Why Software is Important? • The economies of ALL developed nations are dependent on software. • More and more systems are software controlled ( transportation, medical, telecommunications, military, industrial, entertainment,) • Software engineering is concerned with theories, methods and tools for professional software development.
  • 14. Software Crisis “Problems associated with software development “ • Resulted in software projects which were: ▫ Late – sometimes by many years ▫ Over budget ▫ Unreliable ▫ Difficult to maintain ▫ Poor in performance • Required new techniques and methods to control the complexity inherent in “LARGE” software systems.
  • 15. Essential attributes of good software 15 Product characteristic Description Maintainability Software should be written in such a way so that it can evolve to meet the changing needs of customers. Dependability and security Software dependability includes a range of characteristics including reliability, security and safety. Efficiency Software should not make wasteful use of system resources such as memory and processor cycles. Efficiency therefore includes responsiveness, processing time, memory utilisation, etc. Acceptability Software must be acceptable to the type of users for which it is designed. This means that it must be understandable, usable and compatible with other systems that they use.
  • 16. Engineering The science concerned with putting scientific knowledge to practical use. Webster’s Dictionary
  • 17. Software Engineering • The science concerned with putting computer science knowledge to practical use.
  • 18. Software Engineering - IEEE Software Engineering: The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software.
  • 19. Software Engineering ‘all aspects of software production’ Software engineering is not just concerned with the technical processes of software development but also with activities such as software project management and with the development of tools, methods and theories to support software production. -Sommerville-
  • 20. Well-Engineered Software · Provides the required functionality · Maintainable · Reliable · Efficient · User-friendly · Cost-effective
  • 21. FAQ about software engineering Question Answer What is software? Computer programs, data structures 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 21 concerned with all aspects of software production. 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.
  • 22. Essential attributes of good software 22 Product characteristic Description Maintainability Software should be written in such a way so that it can evolve to meet the changing needs of customers. This is a critical attribute because software change is an inevitable requirement of a changing business environment. Dependability and security Software dependability includes a range of characteristics including reliability, security and safety. Dependable software should not cause physical or economic damage in the event of system failure. Malicious users should not be able to access or damage the system. Efficiency Software should not make wasteful use of system resources such as memory and processor cycles. Efficiency therefore includes responsiveness, processing time, memory utilisation, etc. Acceptability Software must be acceptable to the type of users for which it is designed. This means that it must be understandable, usable and compatible with other systems that they use.
  • 23. What is a 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.
  • 24. What is a software process model? • A simplified representation of a software process, presented from a specific perspective. • Examples of process perspectives are ▫ Workflow perspective - sequence of activities; ▫ Data-flow perspective - information flow; ▫ Role/action perspective - who does what. • Generic process models ▫ Waterfall; ▫ Iterative development; ▫ Component-based software engineering.
  • 25. Chapter 1 Introduction Key points • Software engineering is an engineering discipline that is concerned with all aspects of software production. • Essential software product attributes are maintainability, dependability and security, efficiency and acceptability. • The high-level activities of specification, development, validation and evolution are part of all software processes. • The fundamental notions of software engineering are universally applicable to all types of system development. 25
  • 26. Chapter 1 Introduction Key points • There are many different types of system and each requires appropriate software engineering tools and techniques for their development. • The fundamental ideas of software engineering are applicable to all types of software system. 26