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
Ad

More Related Content

What's hot (20)

Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
Hitesh Mohapatra
 
Unit 1 importance ofsoftengg_b.tech iii year
Unit 1  importance ofsoftengg_b.tech iii yearUnit 1  importance ofsoftengg_b.tech iii year
Unit 1 importance ofsoftengg_b.tech iii year
Preeti Mishra
 
Unit 1 introduction tosoftengg_mba tech ii year
Unit 1  introduction tosoftengg_mba tech ii yearUnit 1  introduction tosoftengg_mba tech ii year
Unit 1 introduction tosoftengg_mba tech ii year
Preeti Mishra
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
Upekha Vandebona
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1
Rupesh Vaishnav
 
SOFTWARE ENGINEERING
SOFTWARE ENGINEERINGSOFTWARE ENGINEERING
SOFTWARE ENGINEERING
Mahalakshmi Seenaswamy
 
Software engineering
Software engineeringSoftware engineering
Software engineering
DivyaSharma458
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
JAINAM KAPADIYA
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
Vishal Singh
 
software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...
Ashok Mohanty
 
Software System Engineering - Chapter 2
Software System Engineering - Chapter 2Software System Engineering - Chapter 2
Software System Engineering - Chapter 2
Fadhil Ismail
 
Soft engg introduction and process models
Soft engg introduction and process modelsSoft engg introduction and process models
Soft engg introduction and process models
snehalkulkarni74
 
Lecture 1 introduction to software engineering 1
Lecture 1   introduction to software engineering 1Lecture 1   introduction to software engineering 1
Lecture 1 introduction to software engineering 1
IIUI
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
Saqib Raza
 
Selection of methodology - System Analysis and Design
Selection of methodology - System Analysis and Design  Selection of methodology - System Analysis and Design
Selection of methodology - System Analysis and Design
Sutharshan Sharma
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineering
SHREEHARI WADAWADAGI
 
Software engineering tutorial
Software engineering tutorial Software engineering tutorial
Software engineering tutorial
Ahmed Elshal
 
Need for Software Engineering
Need for Software EngineeringNeed for Software Engineering
Need for Software Engineering
Upekha Vandebona
 
Lecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software EngineeringLecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software Engineering
Achmad Solichin
 
Software engineering note
Software engineering noteSoftware engineering note
Software engineering note
Neelamani Samal
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
Hitesh Mohapatra
 
Unit 1 importance ofsoftengg_b.tech iii year
Unit 1  importance ofsoftengg_b.tech iii yearUnit 1  importance ofsoftengg_b.tech iii year
Unit 1 importance ofsoftengg_b.tech iii year
Preeti Mishra
 
Unit 1 introduction tosoftengg_mba tech ii year
Unit 1  introduction tosoftengg_mba tech ii yearUnit 1  introduction tosoftengg_mba tech ii year
Unit 1 introduction tosoftengg_mba tech ii year
Preeti Mishra
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
Upekha Vandebona
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1
Rupesh Vaishnav
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
JAINAM KAPADIYA
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
Vishal Singh
 
software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...
Ashok Mohanty
 
Software System Engineering - Chapter 2
Software System Engineering - Chapter 2Software System Engineering - Chapter 2
Software System Engineering - Chapter 2
Fadhil Ismail
 
Soft engg introduction and process models
Soft engg introduction and process modelsSoft engg introduction and process models
Soft engg introduction and process models
snehalkulkarni74
 
Lecture 1 introduction to software engineering 1
Lecture 1   introduction to software engineering 1Lecture 1   introduction to software engineering 1
Lecture 1 introduction to software engineering 1
IIUI
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
Saqib Raza
 
Selection of methodology - System Analysis and Design
Selection of methodology - System Analysis and Design  Selection of methodology - System Analysis and Design
Selection of methodology - System Analysis and Design
Sutharshan Sharma
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineering
SHREEHARI WADAWADAGI
 
Software engineering tutorial
Software engineering tutorial Software engineering tutorial
Software engineering tutorial
Ahmed Elshal
 
Need for Software Engineering
Need for Software EngineeringNeed for Software Engineering
Need for Software Engineering
Upekha Vandebona
 
Lecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software EngineeringLecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software Engineering
Achmad Solichin
 
Software engineering note
Software engineering noteSoftware engineering note
Software engineering note
Neelamani Samal
 

Viewers also liked (20)

Software Engineering I
Software Engineering ISoftware Engineering I
Software Engineering I
alamzeb123
 
software Engineering process
software Engineering processsoftware Engineering process
software Engineering process
Raheel Aslam
 
Chapter 1 introduction
Chapter 1 introductionChapter 1 introduction
Chapter 1 introduction
Piyush Gogia
 
Software Engineering Unit 1
Software Engineering Unit 1Software Engineering Unit 1
Software Engineering Unit 1
Abhimanyu Mishra
 
software product and its characteristics
software product and its characteristicssoftware product and its characteristics
software product and its characteristics
Priyanka Pradhan
 
Chapter - 5 Data Mining Concepts and Techniques 2nd Ed slides Han & Kamber
Chapter - 5 Data Mining Concepts and Techniques 2nd Ed slides Han & KamberChapter - 5 Data Mining Concepts and Techniques 2nd Ed slides Han & Kamber
Chapter - 5 Data Mining Concepts and Techniques 2nd Ed slides Han & Kamber
error007
 
waterfall model
waterfall modelwaterfall model
waterfall model
Shiva Krishna
 
Object Oriented Software Engineering (OOSE) presentation on SOFTWARE MAINTENANCE
Object Oriented Software Engineering (OOSE) presentation on SOFTWARE MAINTENANCEObject Oriented Software Engineering (OOSE) presentation on SOFTWARE MAINTENANCE
Object Oriented Software Engineering (OOSE) presentation on SOFTWARE MAINTENANCE
Vipin Kumar
 
Presentation V Model
Presentation V ModelPresentation V Model
Presentation V Model
rputker
 
Waterfall model in Software engineering
Waterfall model in Software engineeringWaterfall model in Software engineering
Waterfall model in Software engineering
Ehtesham Mehmood
 
Software engineering : Layered Architecture
Software engineering : Layered ArchitectureSoftware engineering : Layered Architecture
Software engineering : Layered Architecture
Muhammed Afsal Villan
 
V model in SDLC
V model in SDLCV model in SDLC
V model in SDLC
Jasour Obeidat
 
Waterfallmodel
WaterfallmodelWaterfallmodel
Waterfallmodel
Sunny Kumar Roy
 
software project management Waterfall model
software project management Waterfall modelsoftware project management Waterfall model
software project management Waterfall model
REHMAT ULLAH
 
Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)
Chandan Thakur
 
Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12
koolkampus
 
Waterfall Model
Waterfall ModelWaterfall Model
Waterfall Model
university of education,Lahore
 
Waterfall model ppt final
Waterfall model ppt  finalWaterfall model ppt  final
Waterfall model ppt final
shiva krishna
 
Prototype model
Prototype modelPrototype model
Prototype model
shuisharma
 
Vmodel
VmodelVmodel
Vmodel
Jordan Pilapil
 
Software Engineering I
Software Engineering ISoftware Engineering I
Software Engineering I
alamzeb123
 
software Engineering process
software Engineering processsoftware Engineering process
software Engineering process
Raheel Aslam
 
Chapter 1 introduction
Chapter 1 introductionChapter 1 introduction
Chapter 1 introduction
Piyush Gogia
 
Software Engineering Unit 1
Software Engineering Unit 1Software Engineering Unit 1
Software Engineering Unit 1
Abhimanyu Mishra
 
software product and its characteristics
software product and its characteristicssoftware product and its characteristics
software product and its characteristics
Priyanka Pradhan
 
Chapter - 5 Data Mining Concepts and Techniques 2nd Ed slides Han & Kamber
Chapter - 5 Data Mining Concepts and Techniques 2nd Ed slides Han & KamberChapter - 5 Data Mining Concepts and Techniques 2nd Ed slides Han & Kamber
Chapter - 5 Data Mining Concepts and Techniques 2nd Ed slides Han & Kamber
error007
 
Object Oriented Software Engineering (OOSE) presentation on SOFTWARE MAINTENANCE
Object Oriented Software Engineering (OOSE) presentation on SOFTWARE MAINTENANCEObject Oriented Software Engineering (OOSE) presentation on SOFTWARE MAINTENANCE
Object Oriented Software Engineering (OOSE) presentation on SOFTWARE MAINTENANCE
Vipin Kumar
 
Presentation V Model
Presentation V ModelPresentation V Model
Presentation V Model
rputker
 
Waterfall model in Software engineering
Waterfall model in Software engineeringWaterfall model in Software engineering
Waterfall model in Software engineering
Ehtesham Mehmood
 
Software engineering : Layered Architecture
Software engineering : Layered ArchitectureSoftware engineering : Layered Architecture
Software engineering : Layered Architecture
Muhammed Afsal Villan
 
software project management Waterfall model
software project management Waterfall modelsoftware project management Waterfall model
software project management Waterfall model
REHMAT ULLAH
 
Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)
Chandan Thakur
 
Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12
koolkampus
 
Waterfall model ppt final
Waterfall model ppt  finalWaterfall model ppt  final
Waterfall model ppt final
shiva krishna
 
Prototype model
Prototype modelPrototype model
Prototype model
shuisharma
 
Ad

Similar to Lecture1 (SE Introduction) (20)

The first session of a software engineering module Presentation.pptx
The first session of  a software engineering module Presentation.pptxThe first session of  a software engineering module Presentation.pptx
The first session of a software engineering module Presentation.pptx
TaolueChen1
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbsh
sagarjsicg
 
lect1.pdf
lect1.pdflect1.pdf
lect1.pdf
AmrendraPratapSingh31
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
Amity University | FMS - DU | IMT | Stratford University | KKMI International Institute | AIMA | DTU
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
Mohamed Essam
 
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptxUNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
LeahRachael
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
Santhia RK
 
Software Engineering in 6 hours of knowledge gate
Software Engineering in 6 hours of knowledge gateSoftware Engineering in 6 hours of knowledge gate
Software Engineering in 6 hours of knowledge gate
abhinav23479
 
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
BMS Institute of Technology and Management
 
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdf
MODULE 1 Software Product and Process_ SW ENGG  22CSE141.pdfMODULE 1 Software Product and Process_ SW ENGG  22CSE141.pdf
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdf
Jayanthi Kannan MK
 
Se introduction lec 1
Se  introduction lec 1Se  introduction lec 1
Se introduction lec 1
Amir Shahzad
 
SE
SESE
SE
adeel adeel
 
Kelis king - introduction to s.e.
Kelis king -  introduction to s.e.Kelis king -  introduction to s.e.
Kelis king - introduction to s.e.
KelisKing
 
SE chp1 update and learning management .pptx
SE chp1 update and learning management .pptxSE chp1 update and learning management .pptx
SE chp1 update and learning management .pptx
ssuserdee5bb1
 
Advance Software Engineering notes for ME students
Advance Software Engineering notes for ME studentsAdvance Software Engineering notes for ME students
Advance Software Engineering notes for ME students
poornank05
 
Chapter 1 Introduction to Software Engineering and Process Models.pdf
Chapter 1 Introduction to Software Engineering and Process Models.pdfChapter 1 Introduction to Software Engineering and Process Models.pdf
Chapter 1 Introduction to Software Engineering and Process Models.pdf
MeghaGupta952452
 
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
23017156038
 
SE-Lecture1.ppt
SE-Lecture1.pptSE-Lecture1.ppt
SE-Lecture1.ppt
vishal choudhary
 
Module 1(Introduction to Software Engineering).pptx
Module 1(Introduction to Software Engineering).pptxModule 1(Introduction to Software Engineering).pptx
Module 1(Introduction to Software Engineering).pptx
317shreyac
 
SE-MODULE-1-chap1.pptx
SE-MODULE-1-chap1.pptxSE-MODULE-1-chap1.pptx
SE-MODULE-1-chap1.pptx
ssuser9d6aac
 
The first session of a software engineering module Presentation.pptx
The first session of  a software engineering module Presentation.pptxThe first session of  a software engineering module Presentation.pptx
The first session of a software engineering module Presentation.pptx
TaolueChen1
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbsh
sagarjsicg
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
Mohamed Essam
 
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptxUNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
LeahRachael
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
Santhia RK
 
Software Engineering in 6 hours of knowledge gate
Software Engineering in 6 hours of knowledge gateSoftware Engineering in 6 hours of knowledge gate
Software Engineering in 6 hours of knowledge gate
abhinav23479
 
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdf
MODULE 1 Software Product and Process_ SW ENGG  22CSE141.pdfMODULE 1 Software Product and Process_ SW ENGG  22CSE141.pdf
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdf
Jayanthi Kannan MK
 
Se introduction lec 1
Se  introduction lec 1Se  introduction lec 1
Se introduction lec 1
Amir Shahzad
 
Kelis king - introduction to s.e.
Kelis king -  introduction to s.e.Kelis king -  introduction to s.e.
Kelis king - introduction to s.e.
KelisKing
 
SE chp1 update and learning management .pptx
SE chp1 update and learning management .pptxSE chp1 update and learning management .pptx
SE chp1 update and learning management .pptx
ssuserdee5bb1
 
Advance Software Engineering notes for ME students
Advance Software Engineering notes for ME studentsAdvance Software Engineering notes for ME students
Advance Software Engineering notes for ME students
poornank05
 
Chapter 1 Introduction to Software Engineering and Process Models.pdf
Chapter 1 Introduction to Software Engineering and Process Models.pdfChapter 1 Introduction to Software Engineering and Process Models.pdf
Chapter 1 Introduction to Software Engineering and Process Models.pdf
MeghaGupta952452
 
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
23017156038
 
Module 1(Introduction to Software Engineering).pptx
Module 1(Introduction to Software Engineering).pptxModule 1(Introduction to Software Engineering).pptx
Module 1(Introduction to Software Engineering).pptx
317shreyac
 
SE-MODULE-1-chap1.pptx
SE-MODULE-1-chap1.pptxSE-MODULE-1-chap1.pptx
SE-MODULE-1-chap1.pptx
ssuser9d6aac
 
Ad

More from Education Front (20)

Improving Pronunciation
Improving PronunciationImproving Pronunciation
Improving Pronunciation
Education Front
 
Generic Software Process Models
Generic Software Process ModelsGeneric Software Process Models
Generic Software Process Models
Education Front
 
2- Dimensional Arrays
2- Dimensional Arrays2- Dimensional Arrays
2- Dimensional Arrays
Education Front
 
Problem Sloving
Problem SlovingProblem Sloving
Problem Sloving
Education Front
 
Problem Solving - 1
Problem Solving - 1Problem Solving - 1
Problem Solving - 1
Education Front
 
Introduction To Stack
Introduction To StackIntroduction To Stack
Introduction To Stack
Education Front
 
Process Models
Process ModelsProcess Models
Process Models
Education Front
 
Process Models
Process ModelsProcess Models
Process Models
Education Front
 
Data Representation
Data RepresentationData Representation
Data Representation
Education Front
 
Introduction to Algorithm
Introduction to AlgorithmIntroduction to Algorithm
Introduction to Algorithm
Education Front
 
Revised Process of Communication
Revised Process of CommunicationRevised Process of Communication
Revised Process of Communication
Education Front
 
Importance of Language in Communication
Importance of Language in CommunicationImportance of Language in Communication
Importance of Language in Communication
Education Front
 
Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Lecture 2 (Software Processes)
Lecture 2 (Software Processes)
Education Front
 
Introduction to data structure
Introduction to data structureIntroduction to data structure
Introduction to data structure
Education Front
 
Facing Today’s Communication Challenges
Facing Today’s Communication ChallengesFacing Today’s Communication Challenges
Facing Today’s Communication Challenges
Education Front
 
Processor Basics
Processor BasicsProcessor Basics
Processor Basics
Education Front
 
Register & Memory
Register & MemoryRegister & Memory
Register & Memory
Education Front
 
Data Representation
Data RepresentationData Representation
Data Representation
Education Front
 
Computer Evolution
Computer EvolutionComputer Evolution
Computer Evolution
Education Front
 
Assembly Language Basics
Assembly Language BasicsAssembly Language Basics
Assembly Language Basics
Education Front
 

Recently uploaded (20)

Water Industry Process Automation & Control Monthly May 2025
Water Industry Process Automation & Control Monthly May 2025Water Industry Process Automation & Control Monthly May 2025
Water Industry Process Automation & Control Monthly May 2025
Water Industry Process Automation & Control
 
Generative AI & Large Language Models Agents
Generative AI & Large Language Models AgentsGenerative AI & Large Language Models Agents
Generative AI & Large Language Models Agents
aasgharbee22seecs
 
David Boutry - Specializes In AWS, Microservices And Python.pdf
David Boutry - Specializes In AWS, Microservices And Python.pdfDavid Boutry - Specializes In AWS, Microservices And Python.pdf
David Boutry - Specializes In AWS, Microservices And Python.pdf
David Boutry
 
hypermedia_system_revisit_roy_fielding .
hypermedia_system_revisit_roy_fielding .hypermedia_system_revisit_roy_fielding .
hypermedia_system_revisit_roy_fielding .
NABLAS株式会社
 
Artificial intelligence and machine learning.pptx
Artificial intelligence and machine learning.pptxArtificial intelligence and machine learning.pptx
Artificial intelligence and machine learning.pptx
rakshanatarajan005
 
Citizen Observatories to encourage more democratic data evidence-based decisi...
Citizen Observatories to encourage more democratic data evidence-based decisi...Citizen Observatories to encourage more democratic data evidence-based decisi...
Citizen Observatories to encourage more democratic data evidence-based decisi...
Diego López-de-Ipiña González-de-Artaza
 
Slide share PPT of SOx control technologies.pptx
Slide share PPT of SOx control technologies.pptxSlide share PPT of SOx control technologies.pptx
Slide share PPT of SOx control technologies.pptx
vvsasane
 
Working with USDOT UTCs: From Conception to Implementation
Working with USDOT UTCs: From Conception to ImplementationWorking with USDOT UTCs: From Conception to Implementation
Working with USDOT UTCs: From Conception to Implementation
Alabama Transportation Assistance Program
 
01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf
01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf
01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf
PawachMetharattanara
 
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdfML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
rameshwarchintamani
 
Deepfake Phishing: A New Frontier in Cyber Threats
Deepfake Phishing: A New Frontier in Cyber ThreatsDeepfake Phishing: A New Frontier in Cyber Threats
Deepfake Phishing: A New Frontier in Cyber Threats
RaviKumar256934
 
ATAL 6 Days Online FDP Scheme Document 2025-26.pdf
ATAL 6 Days Online FDP Scheme Document 2025-26.pdfATAL 6 Days Online FDP Scheme Document 2025-26.pdf
ATAL 6 Days Online FDP Scheme Document 2025-26.pdf
ssuserda39791
 
Mode-Wise Corridor Level Travel-Time Estimation Using Machine Learning Models
Mode-Wise Corridor Level Travel-Time Estimation Using Machine Learning ModelsMode-Wise Corridor Level Travel-Time Estimation Using Machine Learning Models
Mode-Wise Corridor Level Travel-Time Estimation Using Machine Learning Models
Journal of Soft Computing in Civil Engineering
 
Jacob Murphy Australia - Excels In Optimizing Software Applications
Jacob Murphy Australia - Excels In Optimizing Software ApplicationsJacob Murphy Australia - Excels In Optimizing Software Applications
Jacob Murphy Australia - Excels In Optimizing Software Applications
Jacob Murphy Australia
 
Lecture - 7 Canals of the topic of the civil engineering
Lecture - 7  Canals of the topic of the civil engineeringLecture - 7  Canals of the topic of the civil engineering
Lecture - 7 Canals of the topic of the civil engineering
MJawadkhan1
 
Automatic Quality Assessment for Speech and Beyond
Automatic Quality Assessment for Speech and BeyondAutomatic Quality Assessment for Speech and Beyond
Automatic Quality Assessment for Speech and Beyond
NU_I_TODALAB
 
twin tower attack 2001 new york city
twin  tower  attack  2001 new  york citytwin  tower  attack  2001 new  york city
twin tower attack 2001 new york city
harishreemavs
 
Construction Materials (Paints) in Civil Engineering
Construction Materials (Paints) in Civil EngineeringConstruction Materials (Paints) in Civil Engineering
Construction Materials (Paints) in Civil Engineering
Lavish Kashyap
 
acid base ppt and their specific application in food
acid base ppt and their specific application in foodacid base ppt and their specific application in food
acid base ppt and their specific application in food
Fatehatun Noor
 
IBAAS 2023 Series_Lecture 8- Dr. Nandi.pdf
IBAAS 2023 Series_Lecture 8- Dr. Nandi.pdfIBAAS 2023 Series_Lecture 8- Dr. Nandi.pdf
IBAAS 2023 Series_Lecture 8- Dr. Nandi.pdf
VigneshPalaniappanM
 
Generative AI & Large Language Models Agents
Generative AI & Large Language Models AgentsGenerative AI & Large Language Models Agents
Generative AI & Large Language Models Agents
aasgharbee22seecs
 
David Boutry - Specializes In AWS, Microservices And Python.pdf
David Boutry - Specializes In AWS, Microservices And Python.pdfDavid Boutry - Specializes In AWS, Microservices And Python.pdf
David Boutry - Specializes In AWS, Microservices And Python.pdf
David Boutry
 
hypermedia_system_revisit_roy_fielding .
hypermedia_system_revisit_roy_fielding .hypermedia_system_revisit_roy_fielding .
hypermedia_system_revisit_roy_fielding .
NABLAS株式会社
 
Artificial intelligence and machine learning.pptx
Artificial intelligence and machine learning.pptxArtificial intelligence and machine learning.pptx
Artificial intelligence and machine learning.pptx
rakshanatarajan005
 
Citizen Observatories to encourage more democratic data evidence-based decisi...
Citizen Observatories to encourage more democratic data evidence-based decisi...Citizen Observatories to encourage more democratic data evidence-based decisi...
Citizen Observatories to encourage more democratic data evidence-based decisi...
Diego López-de-Ipiña González-de-Artaza
 
Slide share PPT of SOx control technologies.pptx
Slide share PPT of SOx control technologies.pptxSlide share PPT of SOx control technologies.pptx
Slide share PPT of SOx control technologies.pptx
vvsasane
 
01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf
01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf
01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf
PawachMetharattanara
 
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdfML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
rameshwarchintamani
 
Deepfake Phishing: A New Frontier in Cyber Threats
Deepfake Phishing: A New Frontier in Cyber ThreatsDeepfake Phishing: A New Frontier in Cyber Threats
Deepfake Phishing: A New Frontier in Cyber Threats
RaviKumar256934
 
ATAL 6 Days Online FDP Scheme Document 2025-26.pdf
ATAL 6 Days Online FDP Scheme Document 2025-26.pdfATAL 6 Days Online FDP Scheme Document 2025-26.pdf
ATAL 6 Days Online FDP Scheme Document 2025-26.pdf
ssuserda39791
 
Jacob Murphy Australia - Excels In Optimizing Software Applications
Jacob Murphy Australia - Excels In Optimizing Software ApplicationsJacob Murphy Australia - Excels In Optimizing Software Applications
Jacob Murphy Australia - Excels In Optimizing Software Applications
Jacob Murphy Australia
 
Lecture - 7 Canals of the topic of the civil engineering
Lecture - 7  Canals of the topic of the civil engineeringLecture - 7  Canals of the topic of the civil engineering
Lecture - 7 Canals of the topic of the civil engineering
MJawadkhan1
 
Automatic Quality Assessment for Speech and Beyond
Automatic Quality Assessment for Speech and BeyondAutomatic Quality Assessment for Speech and Beyond
Automatic Quality Assessment for Speech and Beyond
NU_I_TODALAB
 
twin tower attack 2001 new york city
twin  tower  attack  2001 new  york citytwin  tower  attack  2001 new  york city
twin tower attack 2001 new york city
harishreemavs
 
Construction Materials (Paints) in Civil Engineering
Construction Materials (Paints) in Civil EngineeringConstruction Materials (Paints) in Civil Engineering
Construction Materials (Paints) in Civil Engineering
Lavish Kashyap
 
acid base ppt and their specific application in food
acid base ppt and their specific application in foodacid base ppt and their specific application in food
acid base ppt and their specific application in food
Fatehatun Noor
 
IBAAS 2023 Series_Lecture 8- Dr. Nandi.pdf
IBAAS 2023 Series_Lecture 8- Dr. Nandi.pdfIBAAS 2023 Series_Lecture 8- Dr. Nandi.pdf
IBAAS 2023 Series_Lecture 8- Dr. Nandi.pdf
VigneshPalaniappanM
 

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
  翻译: