SlideShare a Scribd company logo
1 of 23
SOFTWARE
ENGINEERING
(UNDERGRADUATE
)
COURSE NAME
SOFTWARE
ENGINEERING
CSC 3114
(UNDERGRADUATE
)
CHAPTER 1
INTRODUCTION TO SOFTWARE
ENGINEERING
DR. M. MAHMUDUL HASAN
ASSISTANT PROFESSOR, CS, AIUB
Web: http://cs.aiub.edu/profile/m.hasan
WordPress:
https://wordpress.com/view/mhasansuman.wordpress.com
WHY SYSTEM FAILS?
 The system fails to meet the business requirements for which it was developed. The
system is either abandoned or expensive adaptive maintenance is undertaken.
 There are performance shortcomings in the system, which make it inadequate for the
users’ needs. Again, it is either abandoned or amended incurring extra costs.
 Errors appear in the developed system causing unexpected problems. Patches have
to be applied at extra cost.
 Users reject the implemented system, lack of involvement in its development or lack
of commitment to it.
 Systems are initially accepted but over time become un-maintainable and so pass
into disuse.
MMH S.2
Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
WHAT IS SOFTWARE ENGINEERING?
 Technologies that make it easier, faster, and less expensive to build high-quality
computer
programs
 A discipline aiming to the production of fault-free software, delivered on time and
within
budget, that satisfies the users’ needs
 An engineering: set of activities in software production
 The philosophy and paradigm of established engineering disciplines to solve what
are
termed software crisis
MMH S.3
Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
SCOPE OF SOFTWARE ENGINEERING
 The aim of Software Engineering is to solve Software Crisis:
 Late
 Over budget
 Low quality with lots of faults
 Software crisis is still present over 35 years later!
MMH S.4
Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
SOFTWARE CHARACTERISTICS
 A logical (intangible) rather than a physical system element
 Being developed or engineered, but not being manufactured
 Software cost concentrating in engineering, not in materials
 Software does not “wearing out” but “deteriorating”(not destroyed after lifetime like
hardware, but backdated by aging that needs to update)
 Software is a ‘differentiator’ (different sub-systems, e.g., cashier’s workstation in a
supermarket)
 Without “spare parts” in software maintenance (no extra useless features in software)
 Most software continuing to be custom built (based on the requirements)
MMH S.5
Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
SUB-SYSTEM VS MODULE
 Sub-System
 Is a system in its own right whose
operation does not depend on the
services provided by other sub-systems
 Are composed of modules
 Have defined interfaces which are used
for communication with other sub-
systems
 Module
 Is a system component that provides one
or more services to other modules
 It is not normally considered to be an
independent system
MMH S.6
Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
GOAL: COMPUTER SCIENCE VS. SOFTWARE ENGINEERING
 CS: to investigate a variety of ways to produce S/W,
some good and some bad
 SE: to be interested in only those techniques that
make sound economic sense
MMH S.7
Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)
A structured set of activities required to develop a
software system. The way we produce software,
including:
 Requirements Analysis/Specification
 Designing/Modeling
 Coding /Development
 Testing/QA/Verification & Validation
 Implementation/Integration/Deployment/Delivery
 Operation/Maintenance
 Documentation
MMH S.8
Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
SDLC: CASE -1
 You and your development team have been commissioned to work on a database
for a major bank. For obvious reasons, your client is very concerned with
security. You and your team come up with many security features that could
be implemented into the product. In what phase of a software life cycle process
would this task occur?
(A) Specification
(B) Design and Implementation
(C) Verification and Validation
Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
MMH S.9
SDLC: CASE -1
 You and your development team have been commissioned to work on a database
for a major bank. For obvious reasons, your client is very concerned with
security. You and your team come up with many security features that could
be implemented into the product. In what phase of a software life cycle process
would this task occur?
(A) Specification
(B) Design and Implementation
(C) Verification and Validation
Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
MMH S.10
GOOD & BAD SOFTWARE
 Good software is maintained—bad software is discarded
 Different types of maintenance
 Corrective maintenance [about 20%]
- Modification to fix a problem
 Enhancement [about 80%]
- Perfective maintenance (modification to improve usability,…) [about 60%]
- Adaptive maintenance (modification to keep up-to-date) [about 20%]
- Preventive maintenance (modification to avoid any future error) [about 20%]
MMH S.11
Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
FAULTS IN SOFTWARE DEVELOPMENT PHASES
 60 to 70 percent of faults are specification and design faults
 Data of Kelly, Sherif, and Hops [1992]
 1.9 faults per page of specification
 0.9 faults per page of design
 0.3 faults per page of code
 Data of Bhandari et al. [1994]
Faults at end of the design phase of the new version of the product
 13% of faults from previous version of product
 16% of faults in new specifications
 71% of faults in new design
MMH S.12
Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
COST OF DETECTION & CORRECTION OF A FAULT
MMH S.13
Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
COST OF DETECTION & CORRECTION OF A FAULT
MMH S.14
Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
COST OF CHANGE
MMH S.15
Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
PRODUCT BATHTUB CURVE MODEL
Failure
Rate
Time
“Infant Mortality” --
due to design or
manufacturing defects
“deteriorating” --
due to cumulative
affects of environments
MMH S.16
Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
SOFTWARE IDEALIZED CURVE
Failure
Rate
Time
Idealized Curve
MMH S.17
Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
SOFTWARE ACTUAL FAILURE CURVE
Failure
Rate
Time
Idealized Curve
Change
Actual Curve
Increased failure rates
due to side effects
MMH S.18
Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
SOFTWARE APPLICATION
 System software (control computer H/W such as OS)
 Embedded software (e.g., auto pilot, biometric device)
 Business software (commercial application for business users, SAP, ERP, DSE)
 Engineering and scientific software (e.g., statistical analysis-SPSS, MATLAB)
 Personal computer software (e.g., Microsoft Office)
 Web-based software (use over internet with browser, e.g., Gmail)
 Artificial intelligence software (interact with computer, HCI, game)
MMH S.19
Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
SOFTWARE MYTHS (MANAGEMENT)
 Myth1: We already have a book that’s full of standards and procedures for building
s/w,
won’t that provide my people with everything they need to know?
 Myth2: My people have state-of-the-art software development tools, after all, we
buy them
the newest computers.
 Myth3: If we get behind schedule, we can add more programmers and catch up.
 Myth4: If I decide to outsource the software project to a third party, I can just relax
and
let that firm build it.
MMH S.20
Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
SOFTWARE MYTHS (CUSTOMER)
 Myth1: A general statement of objectives is sufficient to begin writing programs –
we can
fill in the details later.
 Myth2: Project requirements continually change, but change can be easily
accommodated
because software is flexible.
MMH S.21
Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
SOFTWARE MYTHS (PRACTITIONER)
 Myth1: Once we write the program and get it to work, our job is done.
Fact: the sooner you begin writing code, the longer it will take you to get done.
 Myth2: Until I get the program “running,” I have no way of assessing its quality.
 Myth3: The only deliverable work product for a successful project is the working
program.
 Myth4: Software engineering will make us create voluminous and unnecessary
documentation and will invariable slow us down.
MMH S.22
Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
REFERENCES
 Pressman, R.S. (2010). Software Engineering: A Practitioner’s Approach.
 Kelly, J. C., Sherif, J. S., & Hops, J. (1992). An analysis of defect densities found during
software inspections. Journal of Systems and Software, 17(2), 111-117.
 Bhandari, I., Halliday, M. J., Chaar, J., Chillarege, R., Jones, K., Atkinson, J. S., & Yonezawa,
M. (1994).
In-process improvement through defect data interpretation. IBM Systems Journal, 33(1), 182-
214.
MMH S.23
Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan

More Related Content

What's hot

Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Drusilla918
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGProf Ansari
 
Software Engineering - Ch1 introduction
Software Engineering - Ch1 introductionSoftware Engineering - Ch1 introduction
Software Engineering - Ch1 introductionRa'Fat Al-Msie'deen
 
Types of operating system
Types of operating systemTypes of operating system
Types of operating systemSyedfahadZakir
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGPreeti Mishra
 
Engineering Software Products: 4. software architecture
Engineering Software Products: 4. software architectureEngineering Software Products: 4. software architecture
Engineering Software Products: 4. software architecturesoftware-engineering-book
 
Part 5.1 Hardware | Software | System Software | Application Software
Part 5.1 Hardware | Software | System Software | Application SoftwarePart 5.1 Hardware | Software | System Software | Application Software
Part 5.1 Hardware | Software | System Software | Application SoftwarePro Guide
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineeringHitesh Mohapatra
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentalsjothisekaran
 
Lecture 2 introduction to Software Engineering 1
Lecture 2   introduction to Software Engineering 1Lecture 2   introduction to Software Engineering 1
Lecture 2 introduction to Software Engineering 1IIUI
 
Slides chapter 1
Slides chapter 1Slides chapter 1
Slides chapter 1gvkmku
 

What's hot (20)

Ch1 introduction
Ch1 introductionCh1 introduction
Ch1 introduction
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
 
Software Engineering - Ch1 introduction
Software Engineering - Ch1 introductionSoftware Engineering - Ch1 introduction
Software Engineering - Ch1 introduction
 
Types of operating system
Types of operating systemTypes of operating system
Types of operating system
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
 
Engineering Software Products: 4. software architecture
Engineering Software Products: 4. software architectureEngineering Software Products: 4. software architecture
Engineering Software Products: 4. software architecture
 
Ch1 introduction
Ch1 introductionCh1 introduction
Ch1 introduction
 
Fundamentals of Computing Chapter 7
Fundamentals of Computing Chapter 7Fundamentals of Computing Chapter 7
Fundamentals of Computing Chapter 7
 
SECh123
SECh123SECh123
SECh123
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Ch1
Ch1Ch1
Ch1
 
Slides chapter 1
Slides chapter 1Slides chapter 1
Slides chapter 1
 
Part 5.1 Hardware | Software | System Software | Application Software
Part 5.1 Hardware | Software | System Software | Application SoftwarePart 5.1 Hardware | Software | System Software | Application Software
Part 5.1 Hardware | Software | System Software | Application Software
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
 
Use case diagrams
Use case diagramsUse case diagrams
Use case diagrams
 
Lecture 2 introduction to Software Engineering 1
Lecture 2   introduction to Software Engineering 1Lecture 2   introduction to Software Engineering 1
Lecture 2 introduction to Software Engineering 1
 
Slides chapter 1
Slides chapter 1Slides chapter 1
Slides chapter 1
 
Ch4 req eng
Ch4 req engCh4 req eng
Ch4 req eng
 

Similar to SE - Ch.01 - Introduction to Software Engineering.pptx

Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1Mohammed Romi
 
Software engg. pressman_ch-1
Software engg. pressman_ch-1Software engg. pressman_ch-1
Software engg. pressman_ch-1Dhairya Joshi
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxethiouniverse
 
Software Engineering Unit-1
Software Engineering Unit-1Software Engineering Unit-1
Software Engineering Unit-1Samura Daniel
 
Lecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptxLecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptxYaseenNazir3
 
SE - Lecture 1 - Introduction to S Engineering.pptx
SE - Lecture 1 - Introduction to S Engineering.pptxSE - Lecture 1 - Introduction to S Engineering.pptx
SE - Lecture 1 - Introduction to S Engineering.pptxTangZhiSiang
 
se01.ppt
se01.pptse01.ppt
se01.pptxiso
 
1. introducción a la Ingeniería de Software (UTM 2071)
1. introducción a la Ingeniería de Software (UTM 2071)1. introducción a la Ingeniería de Software (UTM 2071)
1. introducción a la Ingeniería de Software (UTM 2071)Mario A Moreno Rocha
 
Ch1-Software Engineering 9
Ch1-Software Engineering 9Ch1-Software Engineering 9
Ch1-Software Engineering 9Ian Sommerville
 
chapter-1-software-and-software-engineering-software-engineering-a-practition...
chapter-1-software-and-software-engineering-software-engineering-a-practition...chapter-1-software-and-software-engineering-software-engineering-a-practition...
chapter-1-software-and-software-engineering-software-engineering-a-practition...Archana Sable
 
Software_Process_Model for class.ppt
Software_Process_Model for class.pptSoftware_Process_Model for class.ppt
Software_Process_Model for class.pptvishnupriyapm4
 
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERINGUnit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERINGSangeetha Rangarajan
 
Software Process Model in software engineering
Software Process Model in software engineeringSoftware Process Model in software engineering
Software Process Model in software engineeringMuhammadTalha436
 
Chapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.pptChapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.pptRayonJ1
 

Similar to SE - Ch.01 - Introduction to Software Engineering.pptx (20)

Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1
 
Lecture-1-3.pptx
Lecture-1-3.pptxLecture-1-3.pptx
Lecture-1-3.pptx
 
Software engg. pressman_ch-1
Software engg. pressman_ch-1Software engg. pressman_ch-1
Software engg. pressman_ch-1
 
Lecture1422914635
Lecture1422914635Lecture1422914635
Lecture1422914635
 
labiqa'd.pptx
labiqa'd.pptxlabiqa'd.pptx
labiqa'd.pptx
 
Slides chapter 1
Slides chapter 1Slides chapter 1
Slides chapter 1
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
 
Software Engineering Unit-1
Software Engineering Unit-1Software Engineering Unit-1
Software Engineering Unit-1
 
Lecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptxLecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptx
 
SE - Lecture 1 - Introduction to S Engineering.pptx
SE - Lecture 1 - Introduction to S Engineering.pptxSE - Lecture 1 - Introduction to S Engineering.pptx
SE - Lecture 1 - Introduction to S Engineering.pptx
 
se01.ppt
se01.pptse01.ppt
se01.ppt
 
1. introducción a la Ingeniería de Software (UTM 2071)
1. introducción a la Ingeniería de Software (UTM 2071)1. introducción a la Ingeniería de Software (UTM 2071)
1. introducción a la Ingeniería de Software (UTM 2071)
 
Ch1-Software Engineering 9
Ch1-Software Engineering 9Ch1-Software Engineering 9
Ch1-Software Engineering 9
 
chapter-1-software-and-software-engineering-software-engineering-a-practition...
chapter-1-software-and-software-engineering-software-engineering-a-practition...chapter-1-software-and-software-engineering-software-engineering-a-practition...
chapter-1-software-and-software-engineering-software-engineering-a-practition...
 
Software_Process_Model for class.ppt
Software_Process_Model for class.pptSoftware_Process_Model for class.ppt
Software_Process_Model for class.ppt
 
Software engineering
Software engineering Software engineering
Software engineering
 
Software process model
Software process modelSoftware process model
Software process model
 
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERINGUnit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERING
 
Software Process Model in software engineering
Software Process Model in software engineeringSoftware Process Model in software engineering
Software Process Model in software engineering
 
Chapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.pptChapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.ppt
 

Recently uploaded

From Knowledge Graphs via Lego Bricks to scientific conversations.pptx
From Knowledge Graphs via Lego Bricks to scientific conversations.pptxFrom Knowledge Graphs via Lego Bricks to scientific conversations.pptx
From Knowledge Graphs via Lego Bricks to scientific conversations.pptxNeo4j
 
The Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationThe Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationElement34
 
BusinessGPT - Security and Governance for Generative AI
BusinessGPT  - Security and Governance for Generative AIBusinessGPT  - Security and Governance for Generative AI
BusinessGPT - Security and Governance for Generative AIAGATSoftware
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanNeo4j
 
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
Auto Affiliate  AI Earns First Commission in 3 Hours..pdfAuto Affiliate  AI Earns First Commission in 3 Hours..pdf
Auto Affiliate AI Earns First Commission in 3 Hours..pdfSelfMade bd
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...naitiksharma1124
 
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio, Inc.
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Eraconfluent
 
Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?Maxim Salnikov
 
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Workshop -  Architecting Innovative Graph Applications- GraphSummit MilanWorkshop -  Architecting Innovative Graph Applications- GraphSummit Milan
Workshop - Architecting Innovative Graph Applications- GraphSummit MilanNeo4j
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfWSO2
 
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaUNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaNeo4j
 
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...Neo4j
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024SimonedeGijt
 
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024MulesoftMunichMeetup
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Henry Schreiner
 
Encryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key ConceptsEncryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key Conceptsthomashtkim
 

Recently uploaded (20)

From Knowledge Graphs via Lego Bricks to scientific conversations.pptx
From Knowledge Graphs via Lego Bricks to scientific conversations.pptxFrom Knowledge Graphs via Lego Bricks to scientific conversations.pptx
From Knowledge Graphs via Lego Bricks to scientific conversations.pptx
 
The Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationThe Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test Automation
 
BusinessGPT - Security and Governance for Generative AI
BusinessGPT  - Security and Governance for Generative AIBusinessGPT  - Security and Governance for Generative AI
BusinessGPT - Security and Governance for Generative AI
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
 
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
Auto Affiliate  AI Earns First Commission in 3 Hours..pdfAuto Affiliate  AI Earns First Commission in 3 Hours..pdf
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
 
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
 
Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?
 
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Workshop -  Architecting Innovative Graph Applications- GraphSummit MilanWorkshop -  Architecting Innovative Graph Applications- GraphSummit Milan
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
 
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaUNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
 
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
 
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
 
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024
 
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
 
Encryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key ConceptsEncryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key Concepts
 

SE - Ch.01 - Introduction to Software Engineering.pptx

  • 1. SOFTWARE ENGINEERING (UNDERGRADUATE ) COURSE NAME SOFTWARE ENGINEERING CSC 3114 (UNDERGRADUATE ) CHAPTER 1 INTRODUCTION TO SOFTWARE ENGINEERING DR. M. MAHMUDUL HASAN ASSISTANT PROFESSOR, CS, AIUB Web: http://cs.aiub.edu/profile/m.hasan WordPress: https://wordpress.com/view/mhasansuman.wordpress.com
  • 2. WHY SYSTEM FAILS?  The system fails to meet the business requirements for which it was developed. The system is either abandoned or expensive adaptive maintenance is undertaken.  There are performance shortcomings in the system, which make it inadequate for the users’ needs. Again, it is either abandoned or amended incurring extra costs.  Errors appear in the developed system causing unexpected problems. Patches have to be applied at extra cost.  Users reject the implemented system, lack of involvement in its development or lack of commitment to it.  Systems are initially accepted but over time become un-maintainable and so pass into disuse. MMH S.2 Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
  • 3. WHAT IS SOFTWARE ENGINEERING?  Technologies that make it easier, faster, and less expensive to build high-quality computer programs  A discipline aiming to the production of fault-free software, delivered on time and within budget, that satisfies the users’ needs  An engineering: set of activities in software production  The philosophy and paradigm of established engineering disciplines to solve what are termed software crisis MMH S.3 Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
  • 4. SCOPE OF SOFTWARE ENGINEERING  The aim of Software Engineering is to solve Software Crisis:  Late  Over budget  Low quality with lots of faults  Software crisis is still present over 35 years later! MMH S.4 Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
  • 5. SOFTWARE CHARACTERISTICS  A logical (intangible) rather than a physical system element  Being developed or engineered, but not being manufactured  Software cost concentrating in engineering, not in materials  Software does not “wearing out” but “deteriorating”(not destroyed after lifetime like hardware, but backdated by aging that needs to update)  Software is a ‘differentiator’ (different sub-systems, e.g., cashier’s workstation in a supermarket)  Without “spare parts” in software maintenance (no extra useless features in software)  Most software continuing to be custom built (based on the requirements) MMH S.5 Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
  • 6. SUB-SYSTEM VS MODULE  Sub-System  Is a system in its own right whose operation does not depend on the services provided by other sub-systems  Are composed of modules  Have defined interfaces which are used for communication with other sub- systems  Module  Is a system component that provides one or more services to other modules  It is not normally considered to be an independent system MMH S.6 Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
  • 7. GOAL: COMPUTER SCIENCE VS. SOFTWARE ENGINEERING  CS: to investigate a variety of ways to produce S/W, some good and some bad  SE: to be interested in only those techniques that make sound economic sense MMH S.7 Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
  • 8. SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) A structured set of activities required to develop a software system. The way we produce software, including:  Requirements Analysis/Specification  Designing/Modeling  Coding /Development  Testing/QA/Verification & Validation  Implementation/Integration/Deployment/Delivery  Operation/Maintenance  Documentation MMH S.8 Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
  • 9. SDLC: CASE -1  You and your development team have been commissioned to work on a database for a major bank. For obvious reasons, your client is very concerned with security. You and your team come up with many security features that could be implemented into the product. In what phase of a software life cycle process would this task occur? (A) Specification (B) Design and Implementation (C) Verification and Validation Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan MMH S.9
  • 10. SDLC: CASE -1  You and your development team have been commissioned to work on a database for a major bank. For obvious reasons, your client is very concerned with security. You and your team come up with many security features that could be implemented into the product. In what phase of a software life cycle process would this task occur? (A) Specification (B) Design and Implementation (C) Verification and Validation Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan MMH S.10
  • 11. GOOD & BAD SOFTWARE  Good software is maintained—bad software is discarded  Different types of maintenance  Corrective maintenance [about 20%] - Modification to fix a problem  Enhancement [about 80%] - Perfective maintenance (modification to improve usability,…) [about 60%] - Adaptive maintenance (modification to keep up-to-date) [about 20%] - Preventive maintenance (modification to avoid any future error) [about 20%] MMH S.11 Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
  • 12. FAULTS IN SOFTWARE DEVELOPMENT PHASES  60 to 70 percent of faults are specification and design faults  Data of Kelly, Sherif, and Hops [1992]  1.9 faults per page of specification  0.9 faults per page of design  0.3 faults per page of code  Data of Bhandari et al. [1994] Faults at end of the design phase of the new version of the product  13% of faults from previous version of product  16% of faults in new specifications  71% of faults in new design MMH S.12 Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
  • 13. COST OF DETECTION & CORRECTION OF A FAULT MMH S.13 Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
  • 14. COST OF DETECTION & CORRECTION OF A FAULT MMH S.14 Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
  • 15. COST OF CHANGE MMH S.15 Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
  • 16. PRODUCT BATHTUB CURVE MODEL Failure Rate Time “Infant Mortality” -- due to design or manufacturing defects “deteriorating” -- due to cumulative affects of environments MMH S.16 Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
  • 17. SOFTWARE IDEALIZED CURVE Failure Rate Time Idealized Curve MMH S.17 Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
  • 18. SOFTWARE ACTUAL FAILURE CURVE Failure Rate Time Idealized Curve Change Actual Curve Increased failure rates due to side effects MMH S.18 Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
  • 19. SOFTWARE APPLICATION  System software (control computer H/W such as OS)  Embedded software (e.g., auto pilot, biometric device)  Business software (commercial application for business users, SAP, ERP, DSE)  Engineering and scientific software (e.g., statistical analysis-SPSS, MATLAB)  Personal computer software (e.g., Microsoft Office)  Web-based software (use over internet with browser, e.g., Gmail)  Artificial intelligence software (interact with computer, HCI, game) MMH S.19 Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
  • 20. SOFTWARE MYTHS (MANAGEMENT)  Myth1: We already have a book that’s full of standards and procedures for building s/w, won’t that provide my people with everything they need to know?  Myth2: My people have state-of-the-art software development tools, after all, we buy them the newest computers.  Myth3: If we get behind schedule, we can add more programmers and catch up.  Myth4: If I decide to outsource the software project to a third party, I can just relax and let that firm build it. MMH S.20 Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
  • 21. SOFTWARE MYTHS (CUSTOMER)  Myth1: A general statement of objectives is sufficient to begin writing programs – we can fill in the details later.  Myth2: Project requirements continually change, but change can be easily accommodated because software is flexible. MMH S.21 Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
  • 22. SOFTWARE MYTHS (PRACTITIONER)  Myth1: Once we write the program and get it to work, our job is done. Fact: the sooner you begin writing code, the longer it will take you to get done.  Myth2: Until I get the program “running,” I have no way of assessing its quality.  Myth3: The only deliverable work product for a successful project is the working program.  Myth4: Software engineering will make us create voluminous and unnecessary documentation and will invariable slow us down. MMH S.22 Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan
  • 23. REFERENCES  Pressman, R.S. (2010). Software Engineering: A Practitioner’s Approach.  Kelly, J. C., Sherif, J. S., & Hops, J. (1992). An analysis of defect densities found during software inspections. Journal of Systems and Software, 17(2), 111-117.  Bhandari, I., Halliday, M. J., Chaar, J., Chillarege, R., Jones, K., Atkinson, J. S., & Yonezawa, M. (1994). In-process improvement through defect data interpretation. IBM Systems Journal, 33(1), 182- 214. MMH S.23 Chapter 1: Introduction to Software Engineering Dr. M. Mahmudul Hasan