SlideShare a Scribd company logo
1 of 26
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

What's hot

What's hot (20)

Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
 
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
 
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
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1
 
SOFTWARE ENGINEERING
SOFTWARE ENGINEERINGSOFTWARE ENGINEERING
SOFTWARE ENGINEERING
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
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
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
 
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...
 
Software System Engineering - Chapter 2
Software System Engineering - Chapter 2Software System Engineering - Chapter 2
Software System Engineering - Chapter 2
 
Soft engg introduction and process models
Soft engg introduction and process modelsSoft engg introduction and process models
Soft engg introduction and process models
 
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
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
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
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineering
 
Software engineering tutorial
Software engineering tutorial Software engineering tutorial
Software engineering tutorial
 
Need for Software Engineering
Need for Software EngineeringNeed for Software Engineering
Need for Software Engineering
 
Lecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software EngineeringLecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software Engineering
 
Software engineering note
Software engineering noteSoftware engineering note
Software engineering note
 

Viewers also liked

Software Engineering I
Software Engineering ISoftware Engineering I
Software Engineering I
alamzeb123
 
Chapter 1 introduction
Chapter 1 introductionChapter 1 introduction
Chapter 1 introduction
Piyush Gogia
 
Waterfall model in Software engineering
Waterfall model in Software engineeringWaterfall model in Software engineering
Waterfall model in Software engineering
Ehtesham Mehmood
 
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
 
Prototype model
Prototype modelPrototype model
Prototype model
shuisharma
 

Viewers also liked (20)

Software Engineering I
Software Engineering ISoftware Engineering I
Software Engineering I
 
software Engineering process
software Engineering processsoftware Engineering process
software Engineering process
 
Chapter 1 introduction
Chapter 1 introductionChapter 1 introduction
Chapter 1 introduction
 
Software Engineering Unit 1
Software Engineering Unit 1Software Engineering Unit 1
Software Engineering Unit 1
 
software product and its characteristics
software product and its characteristicssoftware product and its characteristics
software product and its characteristics
 
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
 
waterfall model
waterfall modelwaterfall model
waterfall model
 
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
 
Presentation V Model
Presentation V ModelPresentation V Model
Presentation V Model
 
Waterfall model in Software engineering
Waterfall model in Software engineeringWaterfall model in Software engineering
Waterfall model in Software engineering
 
Software engineering : Layered Architecture
Software engineering : Layered ArchitectureSoftware engineering : Layered Architecture
Software engineering : Layered Architecture
 
V model in SDLC
V model in SDLCV model in SDLC
V model in SDLC
 
Waterfallmodel
WaterfallmodelWaterfallmodel
Waterfallmodel
 
software project management Waterfall model
software project management Waterfall modelsoftware project management Waterfall model
software project management Waterfall model
 
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)
 
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
 
Waterfall Model
Waterfall ModelWaterfall Model
Waterfall Model
 
Waterfall model ppt final
Waterfall model ppt  finalWaterfall model ppt  final
Waterfall model ppt final
 
Prototype model
Prototype modelPrototype model
Prototype model
 
Vmodel
VmodelVmodel
Vmodel
 

Similar to Lecture1 (SE Introduction)

Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...
GaytriMate
 

Similar to Lecture1 (SE Introduction) (20)

unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbsh
 
lect1.pdf
lect1.pdflect1.pdf
lect1.pdf
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
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
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
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
 
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
 
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
 
Se introduction lec 1
Se  introduction lec 1Se  introduction lec 1
Se introduction lec 1
 
SE
SESE
SE
 
Kelis king - introduction to s.e.
Kelis king -  introduction to s.e.Kelis king -  introduction to s.e.
Kelis king - introduction to s.e.
 
SE 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
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt
 
SE-Lecture1.ppt
SE-Lecture1.pptSE-Lecture1.ppt
SE-Lecture1.ppt
 
SE-MODULE-1-chap1.pptx
SE-MODULE-1-chap1.pptxSE-MODULE-1-chap1.pptx
SE-MODULE-1-chap1.pptx
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
 
Introduction to Software engineering ch03
Introduction to Software engineering ch03Introduction to Software engineering ch03
Introduction to Software engineering ch03
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1
 
Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...
 

More from Education Front

Generic Software Process Models
Generic Software Process ModelsGeneric Software Process Models
Generic Software Process Models
Education Front
 
Introduction to data structure
Introduction to data structureIntroduction to data structure
Introduction to data structure
Education Front
 

More from Education Front (20)

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

Recently uploaded

VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
MsecMca
 
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
dharasingh5698
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 

Recently uploaded (20)

VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 

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