SlideShare a Scribd company logo
Fundamentals of Software
Engineering
Lecture 1
26 Feb 2017
Course Curriculum
 Course Description
 This course intended to provide students with
theoretical and practical aspects of
fundamentals of Software engineering.
 Topics to be dealt with are:
 Overview of Software Engineering;
 Software Engineering challenges;
 development paradigms;
 process models;
 requirements analysis;
 requirements modeling;
 requirements specification ,
 system design;
 software architecture;
 coding and programming practices;
 software testing techniques:
 structural and functional testing;
 testing process;
 software metrics:
 analysis metrics,
 design metrics,
 code metrics;
 software maintenance issues.
Course Content Outline
 Chapter One: Introduction
 What is software?
 Types of software
 Characteristics of Software
 Attributes of good software
 Software engineering and its challenges
 Chapter Two: Managing Software Projects
 Project planning
 Estimating costs
 Project scheduling
 Risk management
 Managing people
Test 1
Course Content Outline conn…
 Chapter Three: Software
Development Process Models
 The generic software lifecycle
 What is a process model?
 Types of process models
 Chapter Four: Software Requirement
Analysis and Specification
 Software requirements
 Types of software requirements
 Domain requirements
 Overview of techniques
 User requirements
 Elicitation and analysis of requirements
Test 2
Course Content Outline conn…
 Chapter Five: Software Design
 Design concepts
 Abstraction
 Architecture
 Function oriented design
 Patterns
 Modularity
 Design notations
 Chapter Six: Software Testing
 Verification and validation
 Techniques of testing
 Levels of testing
 Design of test cases
Test 3
Course Content Outline conn…
 Chapter Seven: Software
Maintenance
 Types of maintenance
 Re-engineering
 Configuration Management
 Final exam
 Evaluation methods
 Tests (3) -------------10% each
 Projects (3) ----------10% each
 Final exam-----------40%
References
 Ian Sommerville (2006), Software Engineering 7th edition, Addison-Wesley.
 Roger S. Pressman (2005) Software Engineering: A practitioner's approach, 6th
edition, McGraw-Hill, International edition.
 Pankaj Jalote (2005), An Integrated Approach to Software Engineering (3rd
ed) , Springer
 K.K. Aggarwal, Yogesh Singh (2008) Software Engineering, 3rd edition New
age international publishers
Chapter one: Introduction
 What is software?
 Software is computer programs and associated documentation.
 Software products may be developed for a
particular customer or
general market.
 We can’t run the modern world without software.
 National infrastructures and utilities are controlled by computer-based systems
and most electrical products include computer are controlled by software.
 Industrial manufacturing and distribution is completely computerized,
 Entertainment, including the music industry, computer games, and film and
television, is software intensive.
 Therefore, software engineering is essential for the functioning of national and
international societies.
Software products
 Software engineers are concerned with developing software products
 There are two kinds of software products: (Generic and Customized)
 Generic products:
 These are stand-alone systems that are produced by a development
organization
 sold on the open market to any customer who is able to buy them.
 Examples
software for PCs such as databases, word processors, drawing
packages, and project-management tools, CAD System etc.
It also includes so-called vertical applications designed for some
specific purpose such as library information systems, accounting
systems, or systems for maintaining dental records.
Software products conn…
 Customized (or bespoke) products:
 These are systems that are commissioned by a particular customer.
 A software contractor develops the software especially for that
customer.
 Examples
control systems for electronic devices,
systems written to support a particular business process,
air traffic control systems.
embedded control systems,
traffic monitoring systems.
Product specification
 Generic products
 The specification of what the software should do is owned by the
software developer and decisions on software change are made
by the developer.
 Customized products
 The specification of what the software should do is owned by the
customer for the software and they make decisions on software
changes that are required.
Frequently asked questions about software engineering
What is software?
• Computer programs and associated
documentation
• Software products may be developed
for a particular customer or may be
developed for a general market.
What are attributes of Good
Software?
• Should deliver the required
functionality and performance to
the end user or customer
• Maintainable
• Secure
• Usable
• Efficient
• Dependable
Frequently asked questions about software engineering
What is software
Engineering?
• Software engineering is an
engineering discipline that is
concerned with all aspects of
software production.
What are the Fundamental
software Engineering
activities?
• Software specification,
• software development,
• software validation
• software evolution.
Frequently asked questions about software engineering
What is the difference
between software engineering
and computer science?
• Computer science focuses on theory
and fundamentals; more associated
with algorithm development
• 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.
Frequently asked questions about software engineering
What are the key challenges
facing software engineering?
• Coping with increasing diversity,
• Demands for reduced delivery times
• Developing trustworthy software.
What are the costs of
software engineering?
• Roughly 60% of software costs are
development costs,
• 40% are testing costs.
• For custom software, evolution costs
often exceed development costs.
Importance of software engineering
 More and more, individuals and society rely on advanced software
systems. We need to be able to produce reliable and trustworthy
systems economically and quickly.
 It is usually cheaper, in the long run, to use software engineering
methods and techniques for software systems rather than just write
the programs as if it was a personal programming project. For most
types of system, the majority of costs are the costs of changing the
software after it has gone into use.
Types of Software
Types software
System software
System Development
System Management
Application software
Characteristics of Software
 When hardware is built, the human creative process (analysis,
design, construction, testing) is ultimately translated into a
physical form.
 If we build a new computer, our initial sketches, formal design
drawings, and bread boarded prototype evolve into a physical
product (chips, circuit boards, power supplies, etc.).
 However, software product is logical it is not physical. Therefore,
characteristics of software against hardware is presented as follow
Characteristics of Software conn…
1. Software is developed or engineered, but not manufactured
 Hardware is manufactured not software
2. Software can be reused in many different program
Although the industry is moving toward component-based
assembly, most software continues to be custom built.
Characteristics of Software conn…
3. Software doesn't "wear out.“
 Software doesn't wear out. But it does deteriorate or fail!
 When a hardware component wears out, it is replaced by a spare part.
No spare part for software.
 Every software failure indicates an error in design
 Therefore, software maintenance involves considerably more complexity than
hardware maintenance.
Essential attributes of Software
Characteristic Description
Maintainability
• Software should be written in the way that can meet the changing
needs of customers.
• This is a critical attribute because software change is an expected
requirement of a changing business environment.
Dependability and
security
• Software dependability concerned with reliability, security & safety.
• Dependable software should not cause physical or economic
damage in the event of system failure.
• Malicious users should not be able to access the system.
Efficiency
• It is wise use of system resources (memory and processor)
• Efficiency includes: responsiveness, processing time, memory
utilisation, etc.
Acceptability
• Software must be acceptable to users for which it is designed.
• It includes characteristics such as
• understandable, Usable and
• compatible with other systems that they use.
Thank You for Your Attention!
Software Challenges
Major challenges faced into software
Scale
Quality and Productivity
Consistency and Repeatability
Change
Next Class Topic
End Here for today

More Related Content

PPT
Ian Sommerville, Software Engineering, 9th Edition Ch1
Mohammed Romi
 
PPTX
Software engineering is a branch of engineering focused on designing, develop...
ushajjad
 
PPTX
What is software engineering
Jennifer Polack
 
PPTX
SE UNIT-1.pptx
SherinRappai
 
PPTX
Software ee1
Aman Adhikari
 
PPTX
Software ee111
Aman Adhikari
 
PDF
COMP401 Software Engineering: Introduction to Software Engineering
ShishirTamrakar1
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Mohammed Romi
 
Software engineering is a branch of engineering focused on designing, develop...
ushajjad
 
What is software engineering
Jennifer Polack
 
SE UNIT-1.pptx
SherinRappai
 
Software ee1
Aman Adhikari
 
Software ee111
Aman Adhikari
 
COMP401 Software Engineering: Introduction to Software Engineering
ShishirTamrakar1
 

Similar to software engineerning maetrial for developing (20)

PDF
SE 18CS35 Module 1.pdf
balaji984829
 
PPTX
Software Engineering PPT Unit I.pptx
omgadekar25
 
PDF
Lecture 1- Introduction to SE Lecture 1- Introduction to SE
AceToru
 
PPTX
Software Engineering
Mohamed Essam
 
PPT
ch1_introduction.pptgtsytrsytryhtrhgrreqreedwds
ssuser2d043c
 
PPTX
Software Engineering - Ch1 introduction
Ra'Fat Al-Msie'deen
 
PPTX
Ch1 introduction
Alok Chaudhary
 
PPTX
SE-L1-Introduction-NJ.pptx
MaryamMb1
 
PPTX
Lecture 1 - Introduction Tank You .pptx
CourtneyFradreck
 
PPT
Oose unit 1 ppt
Dr VISU P
 
PPTX
AdSE - Week1-2-software engineering.pptx
memonmukhtiar
 
PDF
lecture 1.pdf
ssuser2d043c
 
PPTX
Lecture-1-3.pptx
FarHana74914
 
PPT
OOSE Unit 1 PPT.ppt
itadmin33
 
PDF
Lecture 1 se
Tribhuvan University
 
PPT
Unit 1 - Introduction to Software Engineering.ppt
DrTThendralCompSci
 
PDF
unit1-introductiontosoftwareengineering-230710065742-dc6f5a7d.pdf
hiteshshetty39
 
PDF
lecture01softwareengineering-151017024008-lva1-app6892.pdf
kashafishfaq21
 
PPT
Introduction to Software Engineering
Zahoor Khan
 
SE 18CS35 Module 1.pdf
balaji984829
 
Software Engineering PPT Unit I.pptx
omgadekar25
 
Lecture 1- Introduction to SE Lecture 1- Introduction to SE
AceToru
 
Software Engineering
Mohamed Essam
 
ch1_introduction.pptgtsytrsytryhtrhgrreqreedwds
ssuser2d043c
 
Software Engineering - Ch1 introduction
Ra'Fat Al-Msie'deen
 
Ch1 introduction
Alok Chaudhary
 
SE-L1-Introduction-NJ.pptx
MaryamMb1
 
Lecture 1 - Introduction Tank You .pptx
CourtneyFradreck
 
Oose unit 1 ppt
Dr VISU P
 
AdSE - Week1-2-software engineering.pptx
memonmukhtiar
 
lecture 1.pdf
ssuser2d043c
 
Lecture-1-3.pptx
FarHana74914
 
OOSE Unit 1 PPT.ppt
itadmin33
 
Lecture 1 se
Tribhuvan University
 
Unit 1 - Introduction to Software Engineering.ppt
DrTThendralCompSci
 
unit1-introductiontosoftwareengineering-230710065742-dc6f5a7d.pdf
hiteshshetty39
 
lecture01softwareengineering-151017024008-lva1-app6892.pdf
kashafishfaq21
 
Introduction to Software Engineering
Zahoor Khan
 
Ad

Recently uploaded (20)

PDF
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
PPTX
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
PPTX
Role Of Python In Programing Language.pptx
jaykoshti048
 
PPTX
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
PPTX
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
PPTX
Maximizing Revenue with Marketo Measure: A Deep Dive into Multi-Touch Attribu...
bbedford2
 
PDF
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
PDF
Adobe Illustrator Crack Full Download (Latest Version 2025) Pre-Activated
imang66g
 
PDF
vAdobe Premiere Pro 2025 (v25.2.3.004) Crack Pre-Activated Latest
imang66g
 
PDF
WatchTraderHub - Watch Dealer software with inventory management and multi-ch...
WatchDealer Pavel
 
PDF
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
PPT
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
PPTX
ConcordeApp: Engineering Global Impact & Unlocking Billions in Event ROI with AI
chastechaste14
 
PDF
10 posting ideas for community engagement with AI prompts
Pankaj Taneja
 
PPTX
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
PPTX
TRAVEL APIs | WHITE LABEL TRAVEL API | TOP TRAVEL APIs
philipnathen82
 
PDF
lesson-2-rules-of-netiquette.pdf.bshhsjdj
jasmenrojas249
 
PDF
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
PDF
Protecting the Digital World Cyber Securit
dnthakkar16
 
PDF
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
Role Of Python In Programing Language.pptx
jaykoshti048
 
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
Maximizing Revenue with Marketo Measure: A Deep Dive into Multi-Touch Attribu...
bbedford2
 
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
Adobe Illustrator Crack Full Download (Latest Version 2025) Pre-Activated
imang66g
 
vAdobe Premiere Pro 2025 (v25.2.3.004) Crack Pre-Activated Latest
imang66g
 
WatchTraderHub - Watch Dealer software with inventory management and multi-ch...
WatchDealer Pavel
 
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
ConcordeApp: Engineering Global Impact & Unlocking Billions in Event ROI with AI
chastechaste14
 
10 posting ideas for community engagement with AI prompts
Pankaj Taneja
 
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
TRAVEL APIs | WHITE LABEL TRAVEL API | TOP TRAVEL APIs
philipnathen82
 
lesson-2-rules-of-netiquette.pdf.bshhsjdj
jasmenrojas249
 
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
Protecting the Digital World Cyber Securit
dnthakkar16
 
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
Ad

software engineerning maetrial for developing

  • 2. Course Curriculum  Course Description  This course intended to provide students with theoretical and practical aspects of fundamentals of Software engineering.  Topics to be dealt with are:  Overview of Software Engineering;  Software Engineering challenges;  development paradigms;  process models;  requirements analysis;  requirements modeling;  requirements specification ,  system design;  software architecture;  coding and programming practices;  software testing techniques:  structural and functional testing;  testing process;  software metrics:  analysis metrics,  design metrics,  code metrics;  software maintenance issues.
  • 3. Course Content Outline  Chapter One: Introduction  What is software?  Types of software  Characteristics of Software  Attributes of good software  Software engineering and its challenges  Chapter Two: Managing Software Projects  Project planning  Estimating costs  Project scheduling  Risk management  Managing people Test 1
  • 4. Course Content Outline conn…  Chapter Three: Software Development Process Models  The generic software lifecycle  What is a process model?  Types of process models  Chapter Four: Software Requirement Analysis and Specification  Software requirements  Types of software requirements  Domain requirements  Overview of techniques  User requirements  Elicitation and analysis of requirements Test 2
  • 5. Course Content Outline conn…  Chapter Five: Software Design  Design concepts  Abstraction  Architecture  Function oriented design  Patterns  Modularity  Design notations  Chapter Six: Software Testing  Verification and validation  Techniques of testing  Levels of testing  Design of test cases Test 3
  • 6. Course Content Outline conn…  Chapter Seven: Software Maintenance  Types of maintenance  Re-engineering  Configuration Management  Final exam  Evaluation methods  Tests (3) -------------10% each  Projects (3) ----------10% each  Final exam-----------40% References  Ian Sommerville (2006), Software Engineering 7th edition, Addison-Wesley.  Roger S. Pressman (2005) Software Engineering: A practitioner's approach, 6th edition, McGraw-Hill, International edition.  Pankaj Jalote (2005), An Integrated Approach to Software Engineering (3rd ed) , Springer  K.K. Aggarwal, Yogesh Singh (2008) Software Engineering, 3rd edition New age international publishers
  • 7. Chapter one: Introduction  What is software?  Software is computer programs and associated documentation.  Software products may be developed for a particular customer or general market.  We can’t run the modern world without software.  National infrastructures and utilities are controlled by computer-based systems and most electrical products include computer are controlled by software.  Industrial manufacturing and distribution is completely computerized,  Entertainment, including the music industry, computer games, and film and television, is software intensive.  Therefore, software engineering is essential for the functioning of national and international societies.
  • 8. Software products  Software engineers are concerned with developing software products  There are two kinds of software products: (Generic and Customized)  Generic products:  These are stand-alone systems that are produced by a development organization  sold on the open market to any customer who is able to buy them.  Examples software for PCs such as databases, word processors, drawing packages, and project-management tools, CAD System etc. It also includes so-called vertical applications designed for some specific purpose such as library information systems, accounting systems, or systems for maintaining dental records.
  • 9. Software products conn…  Customized (or bespoke) products:  These are systems that are commissioned by a particular customer.  A software contractor develops the software especially for that customer.  Examples control systems for electronic devices, systems written to support a particular business process, air traffic control systems. embedded control systems, traffic monitoring systems.
  • 10. Product specification  Generic products  The specification of what the software should do is owned by the software developer and decisions on software change are made by the developer.  Customized products  The specification of what the software should do is owned by the customer for the software and they make decisions on software changes that are required.
  • 11. Frequently asked questions about software engineering What is software? • Computer programs and associated documentation • Software products may be developed for a particular customer or may be developed for a general market. What are attributes of Good Software? • Should deliver the required functionality and performance to the end user or customer • Maintainable • Secure • Usable • Efficient • Dependable
  • 12. Frequently asked questions about software engineering What is software Engineering? • Software engineering is an engineering discipline that is concerned with all aspects of software production. What are the Fundamental software Engineering activities? • Software specification, • software development, • software validation • software evolution.
  • 13. Frequently asked questions about software engineering What is the difference between software engineering and computer science? • Computer science focuses on theory and fundamentals; more associated with algorithm development • 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.
  • 14. Frequently asked questions about software engineering What are the key challenges facing software engineering? • Coping with increasing diversity, • Demands for reduced delivery times • Developing trustworthy software. What are the costs of software engineering? • Roughly 60% of software costs are development costs, • 40% are testing costs. • For custom software, evolution costs often exceed development costs.
  • 15. Importance of software engineering  More and more, individuals and society rely on advanced software systems. We need to be able to produce reliable and trustworthy systems economically and quickly.  It is usually cheaper, in the long run, to use software engineering methods and techniques for software systems rather than just write the programs as if it was a personal programming project. For most types of system, the majority of costs are the costs of changing the software after it has gone into use.
  • 16. Types of Software Types software System software System Development System Management Application software
  • 17. Characteristics of Software  When hardware is built, the human creative process (analysis, design, construction, testing) is ultimately translated into a physical form.  If we build a new computer, our initial sketches, formal design drawings, and bread boarded prototype evolve into a physical product (chips, circuit boards, power supplies, etc.).  However, software product is logical it is not physical. Therefore, characteristics of software against hardware is presented as follow
  • 18. Characteristics of Software conn… 1. Software is developed or engineered, but not manufactured  Hardware is manufactured not software 2. Software can be reused in many different program Although the industry is moving toward component-based assembly, most software continues to be custom built.
  • 19. Characteristics of Software conn… 3. Software doesn't "wear out.“  Software doesn't wear out. But it does deteriorate or fail!  When a hardware component wears out, it is replaced by a spare part. No spare part for software.  Every software failure indicates an error in design  Therefore, software maintenance involves considerably more complexity than hardware maintenance.
  • 20. Essential attributes of Software Characteristic Description Maintainability • Software should be written in the way that can meet the changing needs of customers. • This is a critical attribute because software change is an expected requirement of a changing business environment. Dependability and security • Software dependability concerned with reliability, security & safety. • Dependable software should not cause physical or economic damage in the event of system failure. • Malicious users should not be able to access the system. Efficiency • It is wise use of system resources (memory and processor) • Efficiency includes: responsiveness, processing time, memory utilisation, etc. Acceptability • Software must be acceptable to users for which it is designed. • It includes characteristics such as • understandable, Usable and • compatible with other systems that they use.
  • 21. Thank You for Your Attention!
  • 22. Software Challenges Major challenges faced into software Scale Quality and Productivity Consistency and Repeatability Change Next Class Topic End Here for today

Editor's Notes

  • #3: Gantt Chart Network diagram
  • #18: Wear out: replace by spare part