SlideShare a Scribd company logo
1 of 25
What is Software?

A set of programs
designed for specific predefined purpose(s).
Input

Process

Output
You won’t work on the same project all
your life.
You won’t work in the same company all
your life.
Maintenance work is difficult without
documentation.
To experience the importance of
documentation, work on another person’s
project part without documentation.
Software Development Life
Cycle (SDLC)
System
Analysis

System
Study

Implementation

System
Design

Construction

Testing
System Study Phase
Domain Analysis
Functional experience
Get your Customer’s point of view
Customer is NOT just the Management, but
also the end-users
Your team members are also your
customers (internal)…get their points of
view as well
System Study Phase
Domain Knowledge
 Which field or subject is the software for?
 What are the classifications & hierarchies used?
 What are the core principles of the field?
 Get expert’s advice.
 Interview people working at your Customer’s
place.
 Read technical literature of that domain.
 See software already done in that domain.
System Study Phase
Domain Analysis Inputs
Technical literature
Existing software
Customer surveys
Expert advice
Current / future requirements
System Study Phase
Domain Analysis Outputs
Class taxonomies
Reuse standards
Functional models
Domain languages
Software Process
Process Maturity Levels
SEI’s CMM
Level 1: Initial
Level 2: Repeatable
Level 3: Defined
Level 4: Managed
Level 5: Optimized
System Study Document
 Domain Analysis Model
 Overview of current system (CAD)
 Inputs
 Outputs
 Processes
 External entities
 Data stores

 Physical DFD of current system
 Logical DFD of current system
 Data Dictionary of current system
System Analysis Phase
 Problems faced in current system (Bottleneck
Analysis)
 Possible solutions
 Benefits Analysis of each possible solution
 Selection of new system
 CAD, Physical & Logical DFD of new system
with Automation Boundary
 System Proposal document
 Customer’s approval
System Design Phase
 Benefits of new system are Project Goals.
 Balance between Top-down and bottom-up approaches.
 Drilling down top-level DFDs to detailed DFDs.
 Data Dictionary of new system (if different from old).
 Automation Boundary for the new system.
 Database Design, User Interface Design.
 External events, system states & system behaviour.
 Project Specifications document for both manual and
computerized parts of the new system.
 Freeze Specs.
Construction Phase
 Select programming language.
 Map Project Specifications document terms into
programming language terms.
 Construct data structures / classes / objects from class
taxonomies in Domains Analysis outputs.
 Construct Database from Data Dictionary.
 Construct User Interface.
 Input and output formats.
 Write Algorithms for processes.
 Directory structure and files list.
Construction Phase
Coding
 Commenting is extremely important.
 Every variable’s purpose must either have a
comment or must be mentioned in one of the
project documents.
 Every function’s / procedure’s purpose must either
have a comment or must be mentioned in one of
the project documents.
 Have checklist for every project part.
Testing Phase












Modular approach during development makes testing easier
Testing strategies
Test cases mapped from Customer requirements
Checklists – specified-actual comparison
Errors – during development
Defects – after delivery to customer
Defect Rates
Validation testing – building the right product
Verification testing – building the product right
80% errors caused by 20% code in most software
Higher chances of errors in test cases with boundary values input
Software Testing Techniques











Black box testing – functionality-based
White box testing – all execution paths exercised
Integration testing – as each module is integrated into the system
Regression testing – repeat previous tests as integration
progresses.
Unit testing – individual program
Top-down approach – whole to parts, stubs and drivers required
Bottom-up approach – parts to whole
System testing
Alpha testing – by customer at developer’s place
Beta testing – by end-users at customer’s place
System Testing
 Software must work properly with the other
parts of organization’s system
 Recovery testing – force failure and see if
recovery is proper
 Security testing – sensitive info protection
 Stress testing – abnormal situations, high loads
 Performance testing – high priority for Realtime embedded systems
Testing for Real-time systems
 Task testing – test each task independently
 Behavioural testing – simulate behaviour, examine
 Intertask testing – task synchronization
 System testing – software/hardware interface
 Interrupts present in most real-time systems
 Test priorities assignment and handling
 Correct handling
 Performance of interrupt handling
 Test if high volume of interrupts creates problems in
function or performance
Debugging
 Errors – during development.
 Defects – after delivery.
 Observation and noting effects.
 Trace cause(s) from observed effects.
 List of probable causes.
 Test each probable cause and eliminate irrelevant ones and
arrive at actual cause(s).
 Partitioning or decomposing large problem into smaller,
simple problems.
 Inference and deduction.
 Fixing one bug may cause another new one.
Software Metrics
 Project, LOC, Effort, Cost, Errors, Defects, People
 Errors per KLOC
 Defects per KLOC
 Cost per LOC
 Pages of document per KLOC
 Errors per person-month
 LOC per person-month
 Cost per page of document
Software Metrics…
 Costing based on LOC has drawbacks. So,
Function Points-based costing replaced it.
 Function Points
 No. of user inputs
 No. of user outputs
 No. of user inquiries
 No. of files
 No. of external interfaces
 Count and Complexity Factor for each parameter
 Count * Complexity Factor gives the final measure
Implementation Phase
 If System Study was done precisely, most implementation
issues would have been handled at the beginning of the
project itself.
 Checklist containing end-users, locations, hardware &
software configuration.
 Software Configuration Management is the task that solves
most technical issues during implementation.
 Having a good rapport with people at customer site is
critical for implementation and finetuning.
 Implementation may lead to Corrective Maintenance.
 Communication and co-ordination with customer and endusers.
Maintenance
 Starts after delivery only.
 Good design considers maintenance issues.
 SDLC applicable in this phase.
 Checklists containing end-users, locations, hardware &
software configuration.
 Software Configuration Management is critical and is an
umbrella activity.
 Adaptive Maintenance must begin with Impact Analysis.
 Communication and co-ordination with customer and endusers is important.
 MTTC = Mean Time-To-Change
Reverse Engineering
Design document for a software not
available.
Analyze program to create
specifications.
Extract design from source code.
Recover design from whatever is
available in the project.
C.A.S.E.
 Computer-Aided Software Engg.
 CASE tools automate software engg. tasks in
every step of the process.
 CASE tools usually generate code as well. But
don’t expect it to generate the whole software!!!
 CASE tools build a framework for projects.
 e.g.: Rational Rose by Rational Software
Corporation which uses a process framework
named RUP (Rational Unified Process) which is
based on UML (Unified Modeling Language).

More Related Content

What's hot

Software life-cycle
Software life-cycleSoftware life-cycle
Software life-cycle
gnesoni
 
Software Process in Software Engineering SE3
Software Process in Software Engineering SE3Software Process in Software Engineering SE3
Software Process in Software Engineering SE3
koolkampus
 
Introduction to Software Engineering SE1
Introduction to Software Engineering SE1Introduction to Software Engineering SE1
Introduction to Software Engineering SE1
koolkampus
 

What's hot (20)

Software Testing and Quality Assurance unit1
Software Testing and Quality Assurance  unit1Software Testing and Quality Assurance  unit1
Software Testing and Quality Assurance unit1
 
Software life-cycle
Software life-cycleSoftware life-cycle
Software life-cycle
 
Fundamentals of Testing Section 1/6
Fundamentals of Testing   Section 1/6Fundamentals of Testing   Section 1/6
Fundamentals of Testing Section 1/6
 
Introduction to Software Engineering 1
Introduction to Software Engineering 1Introduction to Software Engineering 1
Introduction to Software Engineering 1
 
Testing strategies in Software Engineering
Testing strategies in Software EngineeringTesting strategies in Software Engineering
Testing strategies in Software Engineering
 
Testing Throughout the Software Life Cycle - Section 2
Testing Throughout the Software Life Cycle - Section 2Testing Throughout the Software Life Cycle - Section 2
Testing Throughout the Software Life Cycle - Section 2
 
Chapter 3 requirements
Chapter 3 requirementsChapter 3 requirements
Chapter 3 requirements
 
Ch02 process a generic view
Ch02 process a generic viewCh02 process a generic view
Ch02 process a generic view
 
Slides chapter 5
Slides chapter 5Slides chapter 5
Slides chapter 5
 
Notes on software engineering
Notes on software engineeringNotes on software engineering
Notes on software engineering
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architecture
 
Sw quality metrics
Sw quality metricsSw quality metrics
Sw quality metrics
 
Software Process in Software Engineering SE3
Software Process in Software Engineering SE3Software Process in Software Engineering SE3
Software Process in Software Engineering SE3
 
Ch01
Ch01Ch01
Ch01
 
Lecture 5 software process model (3)
Lecture 5   software process model (3)Lecture 5   software process model (3)
Lecture 5 software process model (3)
 
Quality attribute scenarios
Quality attribute scenariosQuality attribute scenarios
Quality attribute scenarios
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Introduction to Software Engineering SE1
Introduction to Software Engineering SE1Introduction to Software Engineering SE1
Introduction to Software Engineering SE1
 
Lecture 11 understanding requirements (3)
Lecture 11   understanding requirements (3)Lecture 11   understanding requirements (3)
Lecture 11 understanding requirements (3)
 
SE chapter 4
SE chapter 4SE chapter 4
SE chapter 4
 

Viewers also liked

Apprenticeship Procedures-Information Package-Rev 12
Apprenticeship Procedures-Information Package-Rev 12Apprenticeship Procedures-Information Package-Rev 12
Apprenticeship Procedures-Information Package-Rev 12
Morgan Tait
 
Dia positivas de yuliana
Dia positivas de yulianaDia positivas de yuliana
Dia positivas de yuliana
yulianaoc
 
ResidentialCleanEnergyRoundtable-Presentation_11-14-14
ResidentialCleanEnergyRoundtable-Presentation_11-14-14ResidentialCleanEnergyRoundtable-Presentation_11-14-14
ResidentialCleanEnergyRoundtable-Presentation_11-14-14
Chris Cone
 
EUC-2.0_Market-Based-Solution_03-18-14
EUC-2.0_Market-Based-Solution_03-18-14EUC-2.0_Market-Based-Solution_03-18-14
EUC-2.0_Market-Based-Solution_03-18-14
Chris Cone
 

Viewers also liked (15)

T Seay CompEx
T Seay CompExT Seay CompEx
T Seay CompEx
 
Pros of mobile app marketing, mobile app development
Pros of mobile app marketing, mobile app developmentPros of mobile app marketing, mobile app development
Pros of mobile app marketing, mobile app development
 
HORARIOS Y TUTORES
HORARIOS Y TUTORESHORARIOS Y TUTORES
HORARIOS Y TUTORES
 
CURSO EN PHP
CURSO EN PHPCURSO EN PHP
CURSO EN PHP
 
The Liquid Photograph: Examining the Impact and Potential of Digital Images i...
The Liquid Photograph: Examining the Impact and Potential of Digital Images i...The Liquid Photograph: Examining the Impact and Potential of Digital Images i...
The Liquid Photograph: Examining the Impact and Potential of Digital Images i...
 
оздоровительная работа
оздоровительная работаоздоровительная работа
оздоровительная работа
 
Apprenticeship Procedures-Information Package-Rev 12
Apprenticeship Procedures-Information Package-Rev 12Apprenticeship Procedures-Information Package-Rev 12
Apprenticeship Procedures-Information Package-Rev 12
 
Sydney talk-6-2015
Sydney talk-6-2015Sydney talk-6-2015
Sydney talk-6-2015
 
About the spirit of agile
About the spirit of agileAbout the spirit of agile
About the spirit of agile
 
Dia positivas de yuliana
Dia positivas de yulianaDia positivas de yuliana
Dia positivas de yuliana
 
ResidentialCleanEnergyRoundtable-Presentation_11-14-14
ResidentialCleanEnergyRoundtable-Presentation_11-14-14ResidentialCleanEnergyRoundtable-Presentation_11-14-14
ResidentialCleanEnergyRoundtable-Presentation_11-14-14
 
โดรนพันธุ์ใหม่บินได้ ดำน้ำได้
โดรนพันธุ์ใหม่บินได้ ดำน้ำได้โดรนพันธุ์ใหม่บินได้ ดำน้ำได้
โดรนพันธุ์ใหม่บินได้ ดำน้ำได้
 
Shot type for music video
Shot type for music videoShot type for music video
Shot type for music video
 
Educación y medios de comunicación
Educación y medios de comunicaciónEducación y medios de comunicación
Educación y medios de comunicación
 
EUC-2.0_Market-Based-Solution_03-18-14
EUC-2.0_Market-Based-Solution_03-18-14EUC-2.0_Market-Based-Solution_03-18-14
EUC-2.0_Market-Based-Solution_03-18-14
 

Similar to Sanjeevi's SDLC Guest Lecture in Anna University campus at AU-PERS Centre (Year 2003)

Testing Presentation
Testing PresentationTesting Presentation
Testing Presentation
sureshpkumar
 
Introduction,Software Process Models, Project Management
Introduction,Software Process Models, Project ManagementIntroduction,Software Process Models, Project Management
Introduction,Software Process Models, Project Management
swatisinghal
 
16103271 software-testing-ppt
16103271 software-testing-ppt16103271 software-testing-ppt
16103271 software-testing-ppt
atish90
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Models
nazeer pasha
 

Similar to Sanjeevi's SDLC Guest Lecture in Anna University campus at AU-PERS Centre (Year 2003) (20)

Manual testing visonia
Manual testing   visoniaManual testing   visonia
Manual testing visonia
 
Testing Presentation
Testing PresentationTesting Presentation
Testing Presentation
 
16346915.ppt
16346915.ppt16346915.ppt
16346915.ppt
 
software engineering
 software engineering software engineering
software engineering
 
Sd Revision
Sd RevisionSd Revision
Sd Revision
 
Introduction,Software Process Models, Project Management
Introduction,Software Process Models, Project ManagementIntroduction,Software Process Models, Project Management
Introduction,Software Process Models, Project Management
 
Different Approaches To Sys Bldg
Different Approaches To Sys BldgDifferent Approaches To Sys Bldg
Different Approaches To Sys Bldg
 
Softwareenggineering lab manual
Softwareenggineering lab manualSoftwareenggineering lab manual
Softwareenggineering lab manual
 
System analsis and design
System analsis and designSystem analsis and design
System analsis and design
 
Kelis king - software development life cycle (sdlc)
Kelis king -  software development life cycle (sdlc)Kelis king -  software development life cycle (sdlc)
Kelis king - software development life cycle (sdlc)
 
Kelis king - software development life cycle (sdlc)
Kelis king  - software development life cycle (sdlc)Kelis king  - software development life cycle (sdlc)
Kelis king - software development life cycle (sdlc)
 
16103271 software-testing-ppt
16103271 software-testing-ppt16103271 software-testing-ppt
16103271 software-testing-ppt
 
Software testing
Software testingSoftware testing
Software testing
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
 
Systems Analysis Midterm Lesson
Systems Analysis Midterm LessonSystems Analysis Midterm Lesson
Systems Analysis Midterm Lesson
 
Software Development Lifecycle: What works for you?
Software Development Lifecycle: What works for you?Software Development Lifecycle: What works for you?
Software Development Lifecycle: What works for you?
 
Software testing
Software testingSoftware testing
Software testing
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Models
 
Slcm sharbani bhattacharya
Slcm sharbani bhattacharyaSlcm sharbani bhattacharya
Slcm sharbani bhattacharya
 
ISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.pptISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.ppt
 

Recently uploaded

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Recently uploaded (20)

ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
21st_Century_Skills_Framework_Final_Presentation_2.pptx
21st_Century_Skills_Framework_Final_Presentation_2.pptx21st_Century_Skills_Framework_Final_Presentation_2.pptx
21st_Century_Skills_Framework_Final_Presentation_2.pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
OSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & SystemsOSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & Systems
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 

Sanjeevi's SDLC Guest Lecture in Anna University campus at AU-PERS Centre (Year 2003)

  • 1. What is Software? A set of programs designed for specific predefined purpose(s).
  • 3. You won’t work on the same project all your life. You won’t work in the same company all your life. Maintenance work is difficult without documentation. To experience the importance of documentation, work on another person’s project part without documentation.
  • 4. Software Development Life Cycle (SDLC) System Analysis System Study Implementation System Design Construction Testing
  • 5. System Study Phase Domain Analysis Functional experience Get your Customer’s point of view Customer is NOT just the Management, but also the end-users Your team members are also your customers (internal)…get their points of view as well
  • 6. System Study Phase Domain Knowledge  Which field or subject is the software for?  What are the classifications & hierarchies used?  What are the core principles of the field?  Get expert’s advice.  Interview people working at your Customer’s place.  Read technical literature of that domain.  See software already done in that domain.
  • 7. System Study Phase Domain Analysis Inputs Technical literature Existing software Customer surveys Expert advice Current / future requirements
  • 8. System Study Phase Domain Analysis Outputs Class taxonomies Reuse standards Functional models Domain languages
  • 9. Software Process Process Maturity Levels SEI’s CMM Level 1: Initial Level 2: Repeatable Level 3: Defined Level 4: Managed Level 5: Optimized
  • 10. System Study Document  Domain Analysis Model  Overview of current system (CAD)  Inputs  Outputs  Processes  External entities  Data stores  Physical DFD of current system  Logical DFD of current system  Data Dictionary of current system
  • 11. System Analysis Phase  Problems faced in current system (Bottleneck Analysis)  Possible solutions  Benefits Analysis of each possible solution  Selection of new system  CAD, Physical & Logical DFD of new system with Automation Boundary  System Proposal document  Customer’s approval
  • 12. System Design Phase  Benefits of new system are Project Goals.  Balance between Top-down and bottom-up approaches.  Drilling down top-level DFDs to detailed DFDs.  Data Dictionary of new system (if different from old).  Automation Boundary for the new system.  Database Design, User Interface Design.  External events, system states & system behaviour.  Project Specifications document for both manual and computerized parts of the new system.  Freeze Specs.
  • 13. Construction Phase  Select programming language.  Map Project Specifications document terms into programming language terms.  Construct data structures / classes / objects from class taxonomies in Domains Analysis outputs.  Construct Database from Data Dictionary.  Construct User Interface.  Input and output formats.  Write Algorithms for processes.  Directory structure and files list.
  • 14. Construction Phase Coding  Commenting is extremely important.  Every variable’s purpose must either have a comment or must be mentioned in one of the project documents.  Every function’s / procedure’s purpose must either have a comment or must be mentioned in one of the project documents.  Have checklist for every project part.
  • 15. Testing Phase            Modular approach during development makes testing easier Testing strategies Test cases mapped from Customer requirements Checklists – specified-actual comparison Errors – during development Defects – after delivery to customer Defect Rates Validation testing – building the right product Verification testing – building the product right 80% errors caused by 20% code in most software Higher chances of errors in test cases with boundary values input
  • 16. Software Testing Techniques           Black box testing – functionality-based White box testing – all execution paths exercised Integration testing – as each module is integrated into the system Regression testing – repeat previous tests as integration progresses. Unit testing – individual program Top-down approach – whole to parts, stubs and drivers required Bottom-up approach – parts to whole System testing Alpha testing – by customer at developer’s place Beta testing – by end-users at customer’s place
  • 17. System Testing  Software must work properly with the other parts of organization’s system  Recovery testing – force failure and see if recovery is proper  Security testing – sensitive info protection  Stress testing – abnormal situations, high loads  Performance testing – high priority for Realtime embedded systems
  • 18. Testing for Real-time systems  Task testing – test each task independently  Behavioural testing – simulate behaviour, examine  Intertask testing – task synchronization  System testing – software/hardware interface  Interrupts present in most real-time systems  Test priorities assignment and handling  Correct handling  Performance of interrupt handling  Test if high volume of interrupts creates problems in function or performance
  • 19. Debugging  Errors – during development.  Defects – after delivery.  Observation and noting effects.  Trace cause(s) from observed effects.  List of probable causes.  Test each probable cause and eliminate irrelevant ones and arrive at actual cause(s).  Partitioning or decomposing large problem into smaller, simple problems.  Inference and deduction.  Fixing one bug may cause another new one.
  • 20. Software Metrics  Project, LOC, Effort, Cost, Errors, Defects, People  Errors per KLOC  Defects per KLOC  Cost per LOC  Pages of document per KLOC  Errors per person-month  LOC per person-month  Cost per page of document
  • 21. Software Metrics…  Costing based on LOC has drawbacks. So, Function Points-based costing replaced it.  Function Points  No. of user inputs  No. of user outputs  No. of user inquiries  No. of files  No. of external interfaces  Count and Complexity Factor for each parameter  Count * Complexity Factor gives the final measure
  • 22. Implementation Phase  If System Study was done precisely, most implementation issues would have been handled at the beginning of the project itself.  Checklist containing end-users, locations, hardware & software configuration.  Software Configuration Management is the task that solves most technical issues during implementation.  Having a good rapport with people at customer site is critical for implementation and finetuning.  Implementation may lead to Corrective Maintenance.  Communication and co-ordination with customer and endusers.
  • 23. Maintenance  Starts after delivery only.  Good design considers maintenance issues.  SDLC applicable in this phase.  Checklists containing end-users, locations, hardware & software configuration.  Software Configuration Management is critical and is an umbrella activity.  Adaptive Maintenance must begin with Impact Analysis.  Communication and co-ordination with customer and endusers is important.  MTTC = Mean Time-To-Change
  • 24. Reverse Engineering Design document for a software not available. Analyze program to create specifications. Extract design from source code. Recover design from whatever is available in the project.
  • 25. C.A.S.E.  Computer-Aided Software Engg.  CASE tools automate software engg. tasks in every step of the process.  CASE tools usually generate code as well. But don’t expect it to generate the whole software!!!  CASE tools build a framework for projects.  e.g.: Rational Rose by Rational Software Corporation which uses a process framework named RUP (Rational Unified Process) which is based on UML (Unified Modeling Language).