SlideShare a Scribd company logo
1 of 19
Software Engineering Introduction and Overview
Dr.R.SUGANYA
Head,Department of IT
Bon Secours College for Women
Thanajvur.
Software Engineering Introduction and Overview
Essence and Accident
• Inherent
Difficulties
– Complexity
– Conformity
– Changeability
– Invisibility
• Essence
– difficulties inherent in
the nature of
software
• Accidents
– difficulties
encountered but not
inherent
Software Engineering Introduction and Overview
Software Engineering Processes
attempt to maximize QUALITY in the form of:
• Reliability
• Portability
• Efficiency
• Human Engineering
• Testability
• Understandability
• Modifiability
Software Engineering Introduction and Overview
Software Engineering Processes
Why?
Issues concerning software quality
• Relative costs of fixing faults
• Price performance factors
• Product size increase leads to larger teams
Software Engineering Introduction and Overview
What are the phases in
the lifecycle of a software product?
• Requirements
• Specifications
• Design
• Implementation
• Integration
• Maintenance
• Retirement
Software Engineering Introduction and Overview
Requirements Phase
• What does the
problem require in
terms of the
solution?
• Written document
• Customer driven
• Requirements
testing
– Rapid prototype
– Mock-up
– Partial system
Software Engineering Introduction and Overview
Specifications Phase
• What does the
product do?
• What are the
constraints on the
product?
• Acceptance criteria
• Frequent problems with
a spec:
– ambiguous
– incomplete
– contradictory
• Specifications testing
– SQA
– reviews
Software Engineering Introduction and Overview
Design Phase
• Analysis of the problem
– Structured analysis :
decomposing problem by
how data is manipulated
(acted upon)
– Object-oriented analysis:
decomposing problem by
how data is represented
• Developer must make
design decisions about:
– algorithms
– data representations
– I/O interfaces
– data flow
– modules
• Design testing
– traceability
Software Engineering Introduction and Overview
Implementation Phase
• Code
• Documentation
• Tests
• Implementation
testing
– desk checking
– test cases
– reviews
Software Engineering Introduction and Overview
Integration Phase
• Composition order
• Integration testing
– interfaces
• Testing
– does it meet the
specs?
– product testing by
SQA
– acceptance testing
by customer
Software Engineering Introduction and Overview
Maintenance Phase
• Maintenance testing
– changes
– regression testing
• Retirement
– cost-effective?
• Why?
– operation
– documentation
– turnover
• Kinds of maintenance
– Corrective
– Adaptive
– Perfective
– Preventive
Software Engineering Introduction and Overview
Specification principles
• Separate functionality from implementation
– A process-oriented systems spec language is required
– A spec must encompass the system of which the SW is a
component
– A spec must encompass the environment in which the
system operates
– A system spec must be a cognitive model
– A spec must be operational
– The spec must be tolerant of incompleteness and
augmentable
– A spec must be localized and loosely coupled
Software Engineering Introduction and Overview
Analysis principles and issues
• What differentiates one analysis technique from
another?
– hueristics and notions
– point of view
– notation
– modeling approach
• What things are common about analysis methods?
– hierarchical representation
– external and internal interfaces
– design and implementation foundation
– no focus on constraints or validation
Software Engineering Introduction and Overview
Analysis principles and issues
• Analysis is information-driven
– First provide a mechanism for representing info
then derive function and behavior
– Common characteristics
1) mechanism for info domain analysis
2) approach for functional and/or behavior representation
3) definition of interfaces
4) mechanisms for problem partitioning
5) support of abstraction
6) representation of essential and implementation views
Software Engineering Introduction and Overview
Testing
Testing cannot show the absence of defects,
it can only show that software defects are present.
1. Testing is a process of executing a program with the
intent of finding an error.
2. A good test case is one that has a high probability of
finding an as yet undiscovered error.
3. A successful test is one that uncovers an as yet
undiscovered error.
Software Engineering Introduction and Overview
Testing Methods
• Black-box testing
– Knowing the specified function that a product has been
designed to perform, tests can be conducted that
demonstrate each function is fully operational.
• White-box or glass-box testing
– Knowing the internal workings of a product, tests can be
conducted to ensure that "all the gears mesh".
1. independent paths at least once
2. logical decisions both true and false
3. loops
4. internal data structures
Software Engineering Introduction and Overview
Development Testing
• Debugging approaches
– brute force
– backtracking
– cause elimination
• Before you fix
1. Is the cause of this bug also reproduced
elsewhere?
2. What new bug might I be putting in?
3. What would have prevented this bug?
Software Engineering Introduction and Overview
Software Configuration Management
Change is inevitable
• Activities of SCM
1. ID change
2. control change
3. ensure that change is
properly implemented
4. report change to others
• SCM output
– programs
– documentation
– data structures
Software Engineering Introduction and Overview
Systems Engineering Issues
Takes customer-defined goals and
constraints and derives a representation
of function, performance, interfaces,
design constraints and information
structure that can be allocated to each
of the generic system elements
available.

More Related Content

What's hot

Software validation
Software validationSoftware validation
Software validationRobert Phe
 
Introduction to Software Testing
Introduction to Software TestingIntroduction to Software Testing
Introduction to Software TestingANKUR-BA
 
Acceptance testing
Acceptance testingAcceptance testing
Acceptance testingCOEPD HR
 
Validation testing
Validation testingValidation testing
Validation testingSlideshare
 
Software testing introduction
Software testing introductionSoftware testing introduction
Software testing introductionOmkar Deshpande
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assuranceRizky Munggaran
 
Adressing nonfunctional requirements with agile practices
Adressing nonfunctional requirements with agile practicesAdressing nonfunctional requirements with agile practices
Adressing nonfunctional requirements with agile practicesMario Cardinal
 
Functional Testing Tutorial | Edureka
Functional Testing Tutorial | EdurekaFunctional Testing Tutorial | Edureka
Functional Testing Tutorial | EdurekaEdureka!
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing pptAjit Waje
 
Using Doors® And Taug2® To Support A Simplified
Using Doors® And Taug2® To Support A SimplifiedUsing Doors® And Taug2® To Support A Simplified
Using Doors® And Taug2® To Support A Simplifiedcbb010
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing pptSavyasachi14
 
Software Testing
Software TestingSoftware Testing
Software TestingSengu Msc
 
Performance testing
Performance testing Performance testing
Performance testing BugRaptors
 
Software Quality Metrics Do's and Don'ts - QAI-Quest 1 Hour Presentation
Software Quality Metrics Do's and Don'ts - QAI-Quest 1 Hour PresentationSoftware Quality Metrics Do's and Don'ts - QAI-Quest 1 Hour Presentation
Software Quality Metrics Do's and Don'ts - QAI-Quest 1 Hour PresentationXBOSoft
 
Non Functional Requirement.
Non Functional Requirement.Non Functional Requirement.
Non Functional Requirement.Khushboo Shaukat
 

What's hot (20)

Software testing career
Software testing careerSoftware testing career
Software testing career
 
Software validation
Software validationSoftware validation
Software validation
 
Overview
OverviewOverview
Overview
 
Introduction to Software Testing
Introduction to Software TestingIntroduction to Software Testing
Introduction to Software Testing
 
Acceptance testing
Acceptance testingAcceptance testing
Acceptance testing
 
Software Testing - SDLC Model
Software Testing - SDLC ModelSoftware Testing - SDLC Model
Software Testing - SDLC Model
 
Validation testing
Validation testingValidation testing
Validation testing
 
Software testing introduction
Software testing introductionSoftware testing introduction
Software testing introduction
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Unit 8
Unit 8Unit 8
Unit 8
 
Adressing nonfunctional requirements with agile practices
Adressing nonfunctional requirements with agile practicesAdressing nonfunctional requirements with agile practices
Adressing nonfunctional requirements with agile practices
 
Functional Testing Tutorial | Edureka
Functional Testing Tutorial | EdurekaFunctional Testing Tutorial | Edureka
Functional Testing Tutorial | Edureka
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Using Doors® And Taug2® To Support A Simplified
Using Doors® And Taug2® To Support A SimplifiedUsing Doors® And Taug2® To Support A Simplified
Using Doors® And Taug2® To Support A Simplified
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Performance testing
Performance testing Performance testing
Performance testing
 
Software Quality Metrics Do's and Don'ts - QAI-Quest 1 Hour Presentation
Software Quality Metrics Do's and Don'ts - QAI-Quest 1 Hour PresentationSoftware Quality Metrics Do's and Don'ts - QAI-Quest 1 Hour Presentation
Software Quality Metrics Do's and Don'ts - QAI-Quest 1 Hour Presentation
 
Non Functional Requirement.
Non Functional Requirement.Non Functional Requirement.
Non Functional Requirement.
 
Fundamentals of software testing
Fundamentals of software testingFundamentals of software testing
Fundamentals of software testing
 

Similar to Software engineering

What_is_Software_Testing.pdf
What_is_Software_Testing.pdfWhat_is_Software_Testing.pdf
What_is_Software_Testing.pdfVuongPhm
 
How To Avoid Continuously Delivering Faulty Software
How To Avoid Continuously Delivering Faulty SoftwareHow To Avoid Continuously Delivering Faulty Software
How To Avoid Continuously Delivering Faulty SoftwareErika Barron
 
ISTQB - CTFL Summary v1.0
ISTQB - CTFL Summary v1.0ISTQB - CTFL Summary v1.0
ISTQB - CTFL Summary v1.0Samer Desouky
 
Test planning and software's engineering
Test planning and software's engineeringTest planning and software's engineering
Test planning and software's engineeringMansiganeshJawale
 
Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Education Front
 
Proactive performance management_what_is_all_about_v0.3
Proactive performance management_what_is_all_about_v0.3Proactive performance management_what_is_all_about_v0.3
Proactive performance management_what_is_all_about_v0.3Trevor Warren
 
Questions for successful test automation projects
Questions for successful test automation projectsQuestions for successful test automation projects
Questions for successful test automation projectsDaniel Ionita
 
Manual Testing Online Training
Manual Testing Online Training Manual Testing Online Training
Manual Testing Online Training QEdge Tech
 
SENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptxSENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptxMinsasWorld
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Fadhil Ismail
 
Softwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan SahadviSoftwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan SahadviAbuulHassan2
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assuranceAman Adhikari
 
05_SQA_Overview.ppt
05_SQA_Overview.ppt05_SQA_Overview.ppt
05_SQA_Overview.pptShimoFcis
 
05_SQA_Overview.ppt
05_SQA_Overview.ppt05_SQA_Overview.ppt
05_SQA_Overview.pptamanraturi10
 

Similar to Software engineering (20)

What_is_Software_Testing.pdf
What_is_Software_Testing.pdfWhat_is_Software_Testing.pdf
What_is_Software_Testing.pdf
 
How To Avoid Continuously Delivering Faulty Software
How To Avoid Continuously Delivering Faulty SoftwareHow To Avoid Continuously Delivering Faulty Software
How To Avoid Continuously Delivering Faulty Software
 
ISTQB - CTFL Summary v1.0
ISTQB - CTFL Summary v1.0ISTQB - CTFL Summary v1.0
ISTQB - CTFL Summary v1.0
 
Test planning and software's engineering
Test planning and software's engineeringTest planning and software's engineering
Test planning and software's engineering
 
Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Lecture 2 (Software Processes)
Lecture 2 (Software Processes)
 
SQA presenatation made by krishna ballabh gupta
SQA presenatation made by krishna ballabh guptaSQA presenatation made by krishna ballabh gupta
SQA presenatation made by krishna ballabh gupta
 
Sqa
SqaSqa
Sqa
 
Sqa
SqaSqa
Sqa
 
Proactive performance management_what_is_all_about_v0.3
Proactive performance management_what_is_all_about_v0.3Proactive performance management_what_is_all_about_v0.3
Proactive performance management_what_is_all_about_v0.3
 
Questions for successful test automation projects
Questions for successful test automation projectsQuestions for successful test automation projects
Questions for successful test automation projects
 
1 introduction
1 introduction1 introduction
1 introduction
 
1 introduction (1)
1 introduction (1)1 introduction (1)
1 introduction (1)
 
Manual Testing Online Training
Manual Testing Online Training Manual Testing Online Training
Manual Testing Online Training
 
SENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptxSENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptx
 
UNIT 1.pptx
UNIT 1.pptxUNIT 1.pptx
UNIT 1.pptx
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1
 
Softwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan SahadviSoftwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan Sahadvi
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
05_SQA_Overview.ppt
05_SQA_Overview.ppt05_SQA_Overview.ppt
05_SQA_Overview.ppt
 
05_SQA_Overview.ppt
05_SQA_Overview.ppt05_SQA_Overview.ppt
05_SQA_Overview.ppt
 

Recently uploaded

FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 

Recently uploaded (20)

FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 

Software engineering

  • 1. Software Engineering Introduction and Overview Dr.R.SUGANYA Head,Department of IT Bon Secours College for Women Thanajvur.
  • 2. Software Engineering Introduction and Overview Essence and Accident • Inherent Difficulties – Complexity – Conformity – Changeability – Invisibility • Essence – difficulties inherent in the nature of software • Accidents – difficulties encountered but not inherent
  • 3. Software Engineering Introduction and Overview Software Engineering Processes attempt to maximize QUALITY in the form of: • Reliability • Portability • Efficiency • Human Engineering • Testability • Understandability • Modifiability
  • 4. Software Engineering Introduction and Overview Software Engineering Processes Why? Issues concerning software quality • Relative costs of fixing faults • Price performance factors • Product size increase leads to larger teams
  • 5. Software Engineering Introduction and Overview What are the phases in the lifecycle of a software product? • Requirements • Specifications • Design • Implementation • Integration • Maintenance • Retirement
  • 6. Software Engineering Introduction and Overview Requirements Phase • What does the problem require in terms of the solution? • Written document • Customer driven • Requirements testing – Rapid prototype – Mock-up – Partial system
  • 7. Software Engineering Introduction and Overview Specifications Phase • What does the product do? • What are the constraints on the product? • Acceptance criteria • Frequent problems with a spec: – ambiguous – incomplete – contradictory • Specifications testing – SQA – reviews
  • 8. Software Engineering Introduction and Overview Design Phase • Analysis of the problem – Structured analysis : decomposing problem by how data is manipulated (acted upon) – Object-oriented analysis: decomposing problem by how data is represented • Developer must make design decisions about: – algorithms – data representations – I/O interfaces – data flow – modules • Design testing – traceability
  • 9. Software Engineering Introduction and Overview Implementation Phase • Code • Documentation • Tests • Implementation testing – desk checking – test cases – reviews
  • 10. Software Engineering Introduction and Overview Integration Phase • Composition order • Integration testing – interfaces • Testing – does it meet the specs? – product testing by SQA – acceptance testing by customer
  • 11. Software Engineering Introduction and Overview Maintenance Phase • Maintenance testing – changes – regression testing • Retirement – cost-effective? • Why? – operation – documentation – turnover • Kinds of maintenance – Corrective – Adaptive – Perfective – Preventive
  • 12. Software Engineering Introduction and Overview Specification principles • Separate functionality from implementation – A process-oriented systems spec language is required – A spec must encompass the system of which the SW is a component – A spec must encompass the environment in which the system operates – A system spec must be a cognitive model – A spec must be operational – The spec must be tolerant of incompleteness and augmentable – A spec must be localized and loosely coupled
  • 13. Software Engineering Introduction and Overview Analysis principles and issues • What differentiates one analysis technique from another? – hueristics and notions – point of view – notation – modeling approach • What things are common about analysis methods? – hierarchical representation – external and internal interfaces – design and implementation foundation – no focus on constraints or validation
  • 14. Software Engineering Introduction and Overview Analysis principles and issues • Analysis is information-driven – First provide a mechanism for representing info then derive function and behavior – Common characteristics 1) mechanism for info domain analysis 2) approach for functional and/or behavior representation 3) definition of interfaces 4) mechanisms for problem partitioning 5) support of abstraction 6) representation of essential and implementation views
  • 15. Software Engineering Introduction and Overview Testing Testing cannot show the absence of defects, it can only show that software defects are present. 1. Testing is a process of executing a program with the intent of finding an error. 2. A good test case is one that has a high probability of finding an as yet undiscovered error. 3. A successful test is one that uncovers an as yet undiscovered error.
  • 16. Software Engineering Introduction and Overview Testing Methods • Black-box testing – Knowing the specified function that a product has been designed to perform, tests can be conducted that demonstrate each function is fully operational. • White-box or glass-box testing – Knowing the internal workings of a product, tests can be conducted to ensure that "all the gears mesh". 1. independent paths at least once 2. logical decisions both true and false 3. loops 4. internal data structures
  • 17. Software Engineering Introduction and Overview Development Testing • Debugging approaches – brute force – backtracking – cause elimination • Before you fix 1. Is the cause of this bug also reproduced elsewhere? 2. What new bug might I be putting in? 3. What would have prevented this bug?
  • 18. Software Engineering Introduction and Overview Software Configuration Management Change is inevitable • Activities of SCM 1. ID change 2. control change 3. ensure that change is properly implemented 4. report change to others • SCM output – programs – documentation – data structures
  • 19. Software Engineering Introduction and Overview Systems Engineering Issues Takes customer-defined goals and constraints and derives a representation of function, performance, interfaces, design constraints and information structure that can be allocated to each of the generic system elements available.