SlideShare a Scribd company logo
1 of 51
Introduction to
Software Engineering
Introduction to
Software Engineering Outline
 Part 1 - Background and Introductory Information
– Software Engineering History
– Software Development Statistics
– What is Software Engineering?
 Part 2 - Software Engineering Concepts
– Software Engineering Relationships
– Principles
– Development Methods & Techniques
– Management Methods & Techniques
– Life-Cycle Methodologies
– Software Engineering Processes & Procedures
– Automated Tools
Software Engineering History
 Computers were invented in the 1940’s
 Then - computing programming languages were
invented
 Eventually - program language training was
developed
 However, training was unable to provide sufficient
methods & techniques for developing large reliable
systems on time & within budget
 By the late 1960’s, digital computers were less than
25 years old and already facing a software crisis
 Software Engineering term first emerged as title of
a 1968 NATO conference [1]
Software Development Statistics
 1979 General Accounting Office Report [2]
– 50% + of contracts had cost overruns
– 60% + of contracts had schedule overruns
– 45% + of software contracted for could not be used
– 29% + of software was paid for and never delivered
– 22% + of software contracted for had to be reworked/modified to
be used
Software Development Statistics
 Other Studies
– 1982 - Tom DeMarco
» 25% of large systems development projects never finished
– 1991 Capers Jones Study
» Average Management Information System* project is
1 year late and 100% over budget
 Software crisis stubbornly persists
* Management Information System - a system for providing information to
support organizational activities and management functions.
Summary
 While there has been some progress, there still are
serious problems to overcome in software
development
– schedule and cost estimates are still inaccurate
– productivity of developers is not keeping up with the demand
– quality of software is not meeting customer expectations
 Still a need to bring engineering discipline into the
software process
Software Engineering Definition
 The application of a systematic, disciplined,
quantifiable approach to the development,
operation, and maintenance of software; that is,
the application of engineering to software.
[IEEE Std 610.12-1990]
 Institution of engineering discipline in the
manufacturing of computer software
Part 2 - Software Engineering
Concepts
Part 1 - Background and Introductory
Information
Part 2 - Software Engineering Concepts
– Software Engineering Relationships
– Principles
– Development Methods & Techniques
– Management Methods & Techniques
– Life-Cycle Methodologies
– Software Engineering Processes & Procedures
– Automated Tools
Software Engineering
Relationships
Principles
Methods &
techniques
Life-cycle
methodologies
Processes &
procedures
Automated
tools
Selected Software Engineering
Principles
 Rigor and Formality
 Modularity
 Abstraction
 Anticipation of Change
 Generality
 Incrementality
Methods & Techniques
Methods &
techniques
Life-cycle
methodologies
Processes &
procedures
Automated
tools
Principles
Basic Problem Solving Flow
WHAT
HOW
DO
TEST
USE
Development Methods & Techniques
System
Engineering
Requirements
Analysis
Design
Software
Implementation
Testing Integration Maintenance
Verification & Validation
Development Methods & Techniques
Project Tracking & Oversight
Project Planning
Configuration Management
Quality Assurance
Management Methods & Techniques
Systems Engineering
User Need
Concept
System Requirements
Allocated Hardware Reqs
System Design Document
Concept
Definition
System
Design
Requirements
Definition
Allocated Software Reqs
System
Engineering
Requirements
Analysis
Design
Software
Implementation
Testing Integration Maintenance
Verification & Validation
Development Methods & Techniques
Software Requirements
Analysis
Allocated Software Requirements
Review/Inspect
Requirements
& Write
Trouble Reports
Perform
corrective
action
Trouble Reports
Write
Software
Requirements
Review System
Requirements
Allocated
to Software
SW Requirements Document
System
Engineering
Requirements
Analysis
Design
Software
Implementation
Testing Integration Maintenance
Verification & Validation
Development Methods & Techniques
Software Requirements Checklist
 Clarity
– Is the terminology consistent with the user’s?
– Are the requirements clear and unambiguous?
– If assumptions that affect implementation have been made, are they
stated?
 Completeness
– Have all requirements been assigned a priority?
– Have the criteria for assigning priority levels been defined?
– Have the requirements been stated for each staged implementation?
 Consistency
– Are the requirements consistent with each other?
– Are the requirements here consistent with the requirements in related
documents?
 Testability
– Have the test methods (test, demonstration, analysis or inspection) been
stated for each requirement?
Requirements Document -
NASA-STD-2100 [4]
Table of Contents
1.0 Introduction
2.0 Related Documentation
3.0 Requirements Approach and Tradeoffs
4.0 External Interface Requirements
5.0 Requirements Specification
5.1 Process and Data Requirements
5.2 Performance and Quality Engineering Requirements
5.3 Safety Requirements
5.4 Security and Privacy Requirements
5.5 Implementation Constraints
5.6 Site Adaptation
5.7 Design Goals
6.0 Traceability to Parent’s Design
7.0 Partitioning for Phased Delivery
Object Oriented
Software Design*
Develop
Data Flow
Diagram
for each
state
Create
state diagram
for each
object
Translate
reqs into
objects and
create object
model
Data Flow Diagrams
Software Req. Document
*This diagram is based partly on the Rumbaugh OOD technique[5]
Object Model State Diagrams
System
Engineering
Requirements
Analysis
Design
Software
Implementation
Testing Integration Maintenance
Verification & Validation
Development Methods & Techniques
Detailed Design Document-
NASA-STD-2100 [4]
1.0 Introduction
2.0 Related Documentation
3.0 Detailed Design Approach and Tradeoffs
4.0 Detailed Design Description
4.1 Compilation Unit Design and Traceability
4.2 Detailed Design of Compilation Units
5.0 External Interface Detailed Design
5.1 Interface Allocation Design
5.2 Physical Interface Design
6.0 Coding and Implementation Notes
7.0 Firmware Support Manual
Table of Contents
Software
Implementation
Design Document
Run program,
identify & fix
errors
Compile, link,
load onto
processor
Translate
design into
programming
language
Source code
Load module
System
Engineering
Requirements
Analysis
Design
Software
Implementation
Testing Integration Maintenance
Verification & Validation
Development Methods & Techniques
corrected
source code
Ada Code
-- package specification
package Simple_IO is
procedure Get (Item : out Integer);
procedure Put (Item : in Integer);
end Simple_IO;
-- package body
with Text_IO;
package body Simple_IO is
-- hidden declarations
package Int_IO is new Text_IO.Integer_IO (Integer);
-- body stubs
procedure Get (Item : out Integer) is separate;
procedure Put (Item : in Integer) is separate;
end Simple_IO;
Testing
Produce
test
plans and
procedures
Conduct
tests &
Evaluate
Result
Debug & fix
System
Engineering
Requirements
Analysis
Design
Software
Implementation
Testing Integration Maintenance
Verification & Validation
Development Methods & Techniques
Test plan and procedures
Source Code
Expected Results
Deliverable Software
Trouble Report
[1] Program ID - TR #
[2] Current Status
[3] Program Title
[4] Problem Description
[5] Rationale (Proposed Approach to be Taken)
Disposition Information
[6] Status [7] Schedule
Test Procedures Document -
NASA-STD-2100 [4]
Table of Contents
1.0 Introduction
2.0 Related Documentation
3.0 Test Identification and Objective
4.0 Procedures
5.0 Evaluation Criteria
6.0 Expected Results
7.0 Actual Results
8.0 Abbreviations and Acronyms
9.0 Glossary
10.0 Notes
11.0 Appendices
Integration
Tested hardware
Receive &
Install
Hardware/
Software
Tested software
Run
acceptance
test
Write trouble
reports &
fix errors
Integrated system
System
Engineering
Requirements
Analysis
Design
Software
Implementation
Testing Integration Maintenance
Verification & Validation
Development Methods & Techniques
Expected results
Acceptance test
plans and procedures
Production
system
Maintenance
Production system
Operations
Software changes
Change requests/trouble reports
Maintenance
System
Engineering
Requirements
Analysis
Design
Software
Implementation
Testing Integration Maintenance
Verification & Validation
Development Methods & Techniques
Perform
Testing
Verification
& Validation
Requirements
Analysis
Design Testing
Code
Validate
Verify
Validate
Validate
Verify
Verify
Verify
System
Engineering
Requirements
Analysis
Design
Software
Implementation
Testing Integration Maintenance
Verification & Validation
Development Methods & Techniques
Requirements Traceability Matrix
Ref.
#
1 5.1.6.1.1 Accelerate from 0 to 60
within 10 seconds under
standard conditions.
4.1.6.1.1-1
7.1.6-2
3.1.1-3
2 Maintain cruising speed
within 2 mph of set speed.
5.1.1.1-4
3 5.1.6.1.2
5.1.6.1.1
Update speed display 10
times per second.
2.1.6.1.2-1
Paragraph
#
Description Module ID
Management Methods & Techniques
Project Tracking & Oversight
Project Planning
Configuration Management
Quality Assurance
Management Methods & Techniques
System
Engineering
Requirements
Analysis
Design
Software
Implementation
Testing Integration Maintenance
Verification & Validation
Development Methods & Techniques
Management Plan Document
NASA-STD-2100 [4]
1.0 Introduction
2.0 Related Documentation
3.0 Purpose and Description of the Software
4.0 Resources, Budgets, Schedules, and Organization
4.1 Business Practices Definition and Revision Processes
4.2 Work Breakdown Structure
4.3 Resource Estimation and Allocation to WBS
4.4 Work Authorization
5.0 Acquisition Activities Plan
6.0 Development Activities Plan
7.0 Sustaining Engineering and Operations Activities Plan
8.0 Assurance Plan
9.0 Risk Management Plan
10.0 Configuration Management Plan
11.0 Delivery and Operational Transition Plan
12.0 Abbreviations and Acronyms
13.0 Glossary
14.0 Notes
15.0 Appendices
Project Tracking & Oversight
Project Planning
Configuration Management
Quality Assurance
Management Methods & Techniques
Project
Planning
System Engineering
Software Requirements Analysis
Software Design
Preliminary
Detailed
Code
Test
Integration
Q 1 Q 2 Q 3 Q 4 Q 1 Q 2 Q 3
Plan
Actual
Project Tracking & Oversight
Project Planning
Configuration Management
Quality Assurance
Management Methods & Techniques
Project Tracking
And Oversight
System Engineering
Software Requirements Analysis
Software Design
Preliminary
Detailed
Code
Test
Integration
Q 1 Q 2 Q 3 Q 4 Q 1 Q 2 Q 3
Plan
Actual
Project Tracking & Oversight
Project Planning
Configuration Management
Quality Assurance
Management Methods & Techniques
Quality
Assurance
Process
Reviews
Product
Reviews
Activity
being
performed
Errors
Errors
Standards
Products
Procedures
Project Tracking & Oversight
Project Planning
Configuration Management
Quality Assurance
Management Methods & Techniques
Configuration
Management
Change
Control &
Impact
Analysis
Change/Trouble Reports
Development
Staff
Configuration
Management
Library
Approved Request
Corrected Products
Project Tracking & Oversight
Project Planning
Configuration Management
Quality Assurance
Management Methods & Techniques
Version Controlled Products Copy of Products
Life-Cycle Methodologies
Processes &
procedures
Automated
tools
Principles
Methods &
techniques
Life-cycle
methodologies
Life-cycle Models
 Waterfall
 Incremental
 Spiral
System
Engineering
Requirements
Analysis
Design
Software
Implementation
Testing Integration Maintenance
Verification & Validation
The Waterfall Life-cycle
Systems
Engineering
Design
Code
Test
Maintenance
Req
Analysis
Integration
Incremental Life-Cycle
System Implementation
Systems
Eng
Rqmts.
Analysis
Maintenance
Code Test Integrate
Code Test Integrate
Code Test Integrate
Design
Design
Design
Rqmts
Analysis
Rqmts
Analysis
Rqmts
Analysis
Build 1
Build 2
Build 3
Spiral Life-cycle
Determine
objectives,
alternatives,
constraints
Plan next phases
Evaluate alternatives,
identify, resolve risks
Develop, verify
next level product
Risk
Analysis
Risk Mitigation
Concept of
operation
Requirements
analysis
Design
Implementation
and test
Processes & Procedures
Principles
Methods &
techniques
Life-cycle
methodologies
Processes &
procedures
Automated
tools
Software Engineering Processes
and Procedures
Hardware
Engineering
Configuration
Management
Quality
Assurance
Software
Engineering
Translate
Requirements
into objects
and develop
object model
Create
state diagram
for
each object
Develop
Data Flow
Diagram for
each state
001 002 003
Formal
Inspection
004
Baselined Software
Requirements Document
Responsible
Group
Baseline Software
Design Document
006
* - the processes and procedures defined in this slide apply to the software design phase of a complex software project.
Software Engineering Processes
and Procedures
User
Math Library
Management
Task
Monitor
Local
Contractor Task
Plan
Data Flow
Diagram
For Design
Code
001
005 006
008
User
Needs
Responsible
Group
Baseline
Routine
* - the processes and procedures defined in this slide show the possible phases applicable for adding a simple routine to a math library.
Test
007
Software
Requirements
003
Formal
Inspection
004
002
Tools
Analysis
Tools
Design
Tools
Coding
Tools
Testing
Tools
Reverse
Engineering
Tools
Configuration Management Tools
Project/Process Management Tools
Documentation Tools
V
E
R
T
I
C
A
L
T
O
O
L
S
H
O
R
I
Z
O
N
T
A
L
T
O
O
L
S
Tool Examples - 1
 Vertical Tools
– McCabe Tools - source code analyzers that generate measures of
software complexity
 Horizontal Tools
– Microsoft Project - commercial project management tool
– Polytron Version Control System - controls multiple versions of
software, documents, procedures, etc.
Tool Examples - 2
 Computer Aided Software Engineering (CASE)
Environments
– Tools supporting analysis, design, code (Fortran, C,C++),
simulation, and reverse engineering
– Tools supporting vertical areas using object-oriented methods
and code generation
 Test Beds
– PC Data Acquisition Hardware and Software
 Miscellaneous
– Oscilloscopes/Logic Analyzers and other test equipment
– Testing equipment and tools
– Circuit analyzers
Footnotes
Glossary
Introduction-to-Software-Engineering.ppt

More Related Content

Similar to Introduction-to-Software-Engineering.ppt

Ch5 software imprementation1.0
Ch5 software imprementation1.0Ch5 software imprementation1.0
Ch5 software imprementation1.0Kittitouch Suteeca
 
16103271 software-testing-ppt
16103271 software-testing-ppt16103271 software-testing-ppt
16103271 software-testing-pptatish90
 
Work of art practices in software development.
Work of art practices in software development. Work of art practices in software development.
Work of art practices in software development. Communication Progress
 
Software development PROCESS
Software development PROCESSSoftware development PROCESS
Software development PROCESSIvano Malavolta
 
Report on SOFTWARE DEVELOPMENT LIFE CYCLE SDLC
Report on SOFTWARE DEVELOPMENT LIFE CYCLE SDLC Report on SOFTWARE DEVELOPMENT LIFE CYCLE SDLC
Report on SOFTWARE DEVELOPMENT LIFE CYCLE SDLC Neetu Marwah
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process FrameworkJAINAM KAPADIYA
 
Software engineering study materials
Software engineering study materialsSoftware engineering study materials
Software engineering study materialssmruti sarangi
 
Software Process in software engineering
Software Process in software engineeringSoftware Process in software engineering
Software Process in software engineeringMuhammadTalha436
 
Basics of software engineering
Basics of software engineeringBasics of software engineering
Basics of software engineeringMadhav Suratkar
 
CP7301 Software Process and Project Management notes
CP7301 Software Process and Project Management   notesCP7301 Software Process and Project Management   notes
CP7301 Software Process and Project Management notesAAKASH S
 
Software Engineering Fundamentals Svetlin Nakov
Software Engineering Fundamentals Svetlin NakovSoftware Engineering Fundamentals Svetlin Nakov
Software Engineering Fundamentals Svetlin Nakovnazeer pasha
 

Similar to Introduction-to-Software-Engineering.ppt (20)

A Regression Analysis Approach for Building a Prediction Model for System Tes...
A Regression Analysis Approach for Building a Prediction Model for System Tes...A Regression Analysis Approach for Building a Prediction Model for System Tes...
A Regression Analysis Approach for Building a Prediction Model for System Tes...
 
Ch5 software imprementation1.0
Ch5 software imprementation1.0Ch5 software imprementation1.0
Ch5 software imprementation1.0
 
Lecture 01
Lecture 01Lecture 01
Lecture 01
 
16103271 software-testing-ppt
16103271 software-testing-ppt16103271 software-testing-ppt
16103271 software-testing-ppt
 
SE notes 2.pdf
SE notes 2.pdfSE notes 2.pdf
SE notes 2.pdf
 
Work of art practices in software development.
Work of art practices in software development. Work of art practices in software development.
Work of art practices in software development.
 
Software development PROCESS
Software development PROCESSSoftware development PROCESS
Software development PROCESS
 
Report on SOFTWARE DEVELOPMENT LIFE CYCLE SDLC
Report on SOFTWARE DEVELOPMENT LIFE CYCLE SDLC Report on SOFTWARE DEVELOPMENT LIFE CYCLE SDLC
Report on SOFTWARE DEVELOPMENT LIFE CYCLE SDLC
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
 
Software engineering study materials
Software engineering study materialsSoftware engineering study materials
Software engineering study materials
 
Unit 1
Unit 1Unit 1
Unit 1
 
Seii unit4 software_process
Seii unit4 software_processSeii unit4 software_process
Seii unit4 software_process
 
Unit1
Unit1Unit1
Unit1
 
Unit_I.pptx
Unit_I.pptxUnit_I.pptx
Unit_I.pptx
 
Software Process in software engineering
Software Process in software engineeringSoftware Process in software engineering
Software Process in software engineering
 
Basic Software Engineering
Basic Software EngineeringBasic Software Engineering
Basic Software Engineering
 
Basics of software engineering
Basics of software engineeringBasics of software engineering
Basics of software engineering
 
Qa
QaQa
Qa
 
CP7301 Software Process and Project Management notes
CP7301 Software Process and Project Management   notesCP7301 Software Process and Project Management   notes
CP7301 Software Process and Project Management notes
 
Software Engineering Fundamentals Svetlin Nakov
Software Engineering Fundamentals Svetlin NakovSoftware Engineering Fundamentals Svetlin Nakov
Software Engineering Fundamentals Svetlin Nakov
 

More from DrPreethiD1

Introduction to healthcare.pptx
Introduction to healthcare.pptxIntroduction to healthcare.pptx
Introduction to healthcare.pptxDrPreethiD1
 
JAVA ALL 5 MODULE NOTES.pptx
JAVA ALL 5 MODULE NOTES.pptxJAVA ALL 5 MODULE NOTES.pptx
JAVA ALL 5 MODULE NOTES.pptxDrPreethiD1
 
module 2 cn new.pptx
module 2 cn new.pptxmodule 2 cn new.pptx
module 2 cn new.pptxDrPreethiD1
 
Module 1 CN -new.pptx
Module 1 CN -new.pptxModule 1 CN -new.pptx
Module 1 CN -new.pptxDrPreethiD1
 
B19CA4020_SE_Unit3.pptx
B19CA4020_SE_Unit3.pptxB19CA4020_SE_Unit3.pptx
B19CA4020_SE_Unit3.pptxDrPreethiD1
 
B21DA0201_04.ppt
B21DA0201_04.pptB21DA0201_04.ppt
B21DA0201_04.pptDrPreethiD1
 
B21DA0201_03.ppt
B21DA0201_03.pptB21DA0201_03.ppt
B21DA0201_03.pptDrPreethiD1
 
CCNA-lab-Manual.pdf
CCNA-lab-Manual.pdfCCNA-lab-Manual.pdf
CCNA-lab-Manual.pdfDrPreethiD1
 
B21DA0201_02.ppt
B21DA0201_02.pptB21DA0201_02.ppt
B21DA0201_02.pptDrPreethiD1
 
B21DA0201_01.ppt
B21DA0201_01.pptB21DA0201_01.ppt
B21DA0201_01.pptDrPreethiD1
 
Module 1 CN -new.pptx
Module 1 CN -new.pptxModule 1 CN -new.pptx
Module 1 CN -new.pptxDrPreethiD1
 
presentation_intro_to_networking_1457926557_181219.ppt
presentation_intro_to_networking_1457926557_181219.pptpresentation_intro_to_networking_1457926557_181219.ppt
presentation_intro_to_networking_1457926557_181219.pptDrPreethiD1
 
SE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.docSE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.docDrPreethiD1
 
SE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.docSE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.docDrPreethiD1
 
presentation_intro_to_networking_1457926557_181219.ppt
presentation_intro_to_networking_1457926557_181219.pptpresentation_intro_to_networking_1457926557_181219.ppt
presentation_intro_to_networking_1457926557_181219.pptDrPreethiD1
 
presentation_intro_to_networking_1457926557_181219.ppt
presentation_intro_to_networking_1457926557_181219.pptpresentation_intro_to_networking_1457926557_181219.ppt
presentation_intro_to_networking_1457926557_181219.pptDrPreethiD1
 

More from DrPreethiD1 (18)

Introduction to healthcare.pptx
Introduction to healthcare.pptxIntroduction to healthcare.pptx
Introduction to healthcare.pptx
 
JAVA ALL 5 MODULE NOTES.pptx
JAVA ALL 5 MODULE NOTES.pptxJAVA ALL 5 MODULE NOTES.pptx
JAVA ALL 5 MODULE NOTES.pptx
 
module 2 cn new.pptx
module 2 cn new.pptxmodule 2 cn new.pptx
module 2 cn new.pptx
 
Module 1 CN -new.pptx
Module 1 CN -new.pptxModule 1 CN -new.pptx
Module 1 CN -new.pptx
 
B19CA4020_SE_Unit3.pptx
B19CA4020_SE_Unit3.pptxB19CA4020_SE_Unit3.pptx
B19CA4020_SE_Unit3.pptx
 
B21DA0201_04.ppt
B21DA0201_04.pptB21DA0201_04.ppt
B21DA0201_04.ppt
 
B21DA0201_03.ppt
B21DA0201_03.pptB21DA0201_03.ppt
B21DA0201_03.ppt
 
CCNA-lab-Manual.pdf
CCNA-lab-Manual.pdfCCNA-lab-Manual.pdf
CCNA-lab-Manual.pdf
 
B21DA0201_02.ppt
B21DA0201_02.pptB21DA0201_02.ppt
B21DA0201_02.ppt
 
B21DA0201_01.ppt
B21DA0201_01.pptB21DA0201_01.ppt
B21DA0201_01.ppt
 
138045890.pdf
138045890.pdf138045890.pdf
138045890.pdf
 
Module 1 CN -new.pptx
Module 1 CN -new.pptxModule 1 CN -new.pptx
Module 1 CN -new.pptx
 
presentation_intro_to_networking_1457926557_181219.ppt
presentation_intro_to_networking_1457926557_181219.pptpresentation_intro_to_networking_1457926557_181219.ppt
presentation_intro_to_networking_1457926557_181219.ppt
 
SE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.docSE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.doc
 
SE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.docSE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.doc
 
presentation_intro_to_networking_1457926557_181219.ppt
presentation_intro_to_networking_1457926557_181219.pptpresentation_intro_to_networking_1457926557_181219.ppt
presentation_intro_to_networking_1457926557_181219.ppt
 
138045890.pdf
138045890.pdf138045890.pdf
138045890.pdf
 
presentation_intro_to_networking_1457926557_181219.ppt
presentation_intro_to_networking_1457926557_181219.pptpresentation_intro_to_networking_1457926557_181219.ppt
presentation_intro_to_networking_1457926557_181219.ppt
 

Recently uploaded

Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?Patrick Diehl
 
TOPIC 8 Temperature and Heat.pdf physics
TOPIC 8 Temperature and Heat.pdf physicsTOPIC 8 Temperature and Heat.pdf physics
TOPIC 8 Temperature and Heat.pdf physicsssuserddc89b
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfSELF-EXPLANATORY
 
Neurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trNeurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trssuser06f238
 
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.aasikanpl
 
‏‏VIRUS - 123455555555555555555555555555555555555555
‏‏VIRUS -  123455555555555555555555555555555555555555‏‏VIRUS -  123455555555555555555555555555555555555555
‏‏VIRUS - 123455555555555555555555555555555555555555kikilily0909
 
Speech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptxSpeech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptxpriyankatabhane
 
RESPIRATORY ADAPTATIONS TO HYPOXIA IN HUMNAS.pptx
RESPIRATORY ADAPTATIONS TO HYPOXIA IN HUMNAS.pptxRESPIRATORY ADAPTATIONS TO HYPOXIA IN HUMNAS.pptx
RESPIRATORY ADAPTATIONS TO HYPOXIA IN HUMNAS.pptxFarihaAbdulRasheed
 
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCRCall Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCRlizamodels9
 
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |aasikanpl
 
Scheme-of-Work-Science-Stage-4 cambridge science.docx
Scheme-of-Work-Science-Stage-4 cambridge science.docxScheme-of-Work-Science-Stage-4 cambridge science.docx
Scheme-of-Work-Science-Stage-4 cambridge science.docxyaramohamed343013
 
Grafana in space: Monitoring Japan's SLIM moon lander in real time
Grafana in space: Monitoring Japan's SLIM moon lander  in real timeGrafana in space: Monitoring Japan's SLIM moon lander  in real time
Grafana in space: Monitoring Japan's SLIM moon lander in real timeSatoshi NAKAHIRA
 
zoogeography of pakistan.pptx fauna of Pakistan
zoogeography of pakistan.pptx fauna of Pakistanzoogeography of pakistan.pptx fauna of Pakistan
zoogeography of pakistan.pptx fauna of Pakistanzohaibmir069
 
Call Girls in Hauz Khas Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Hauz Khas Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Hauz Khas Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Hauz Khas Delhi 💯Call Us 🔝9953322196🔝 💯Escort.aasikanpl
 
Call Us ≽ 9953322196 ≼ Call Girls In Lajpat Nagar (Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Lajpat Nagar (Delhi) |Call Us ≽ 9953322196 ≼ Call Girls In Lajpat Nagar (Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Lajpat Nagar (Delhi) |aasikanpl
 
insect anatomy and insect body wall and their physiology
insect anatomy and insect body wall and their  physiologyinsect anatomy and insect body wall and their  physiology
insect anatomy and insect body wall and their physiologyDrAnita Sharma
 
Twin's paradox experiment is a meassurement of the extra dimensions.pptx
Twin's paradox experiment is a meassurement of the extra dimensions.pptxTwin's paradox experiment is a meassurement of the extra dimensions.pptx
Twin's paradox experiment is a meassurement of the extra dimensions.pptxEran Akiva Sinbar
 
TOTAL CHOLESTEROL (lipid profile test).pptx
TOTAL CHOLESTEROL (lipid profile test).pptxTOTAL CHOLESTEROL (lipid profile test).pptx
TOTAL CHOLESTEROL (lipid profile test).pptxdharshini369nike
 
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.aasikanpl
 
Manassas R - Parkside Middle School 🌎🏫
Manassas R - Parkside Middle School 🌎🏫Manassas R - Parkside Middle School 🌎🏫
Manassas R - Parkside Middle School 🌎🏫qfactory1
 

Recently uploaded (20)

Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?
 
TOPIC 8 Temperature and Heat.pdf physics
TOPIC 8 Temperature and Heat.pdf physicsTOPIC 8 Temperature and Heat.pdf physics
TOPIC 8 Temperature and Heat.pdf physics
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
 
Neurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trNeurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 tr
 
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
 
‏‏VIRUS - 123455555555555555555555555555555555555555
‏‏VIRUS -  123455555555555555555555555555555555555555‏‏VIRUS -  123455555555555555555555555555555555555555
‏‏VIRUS - 123455555555555555555555555555555555555555
 
Speech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptxSpeech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptx
 
RESPIRATORY ADAPTATIONS TO HYPOXIA IN HUMNAS.pptx
RESPIRATORY ADAPTATIONS TO HYPOXIA IN HUMNAS.pptxRESPIRATORY ADAPTATIONS TO HYPOXIA IN HUMNAS.pptx
RESPIRATORY ADAPTATIONS TO HYPOXIA IN HUMNAS.pptx
 
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCRCall Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
 
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
 
Scheme-of-Work-Science-Stage-4 cambridge science.docx
Scheme-of-Work-Science-Stage-4 cambridge science.docxScheme-of-Work-Science-Stage-4 cambridge science.docx
Scheme-of-Work-Science-Stage-4 cambridge science.docx
 
Grafana in space: Monitoring Japan's SLIM moon lander in real time
Grafana in space: Monitoring Japan's SLIM moon lander  in real timeGrafana in space: Monitoring Japan's SLIM moon lander  in real time
Grafana in space: Monitoring Japan's SLIM moon lander in real time
 
zoogeography of pakistan.pptx fauna of Pakistan
zoogeography of pakistan.pptx fauna of Pakistanzoogeography of pakistan.pptx fauna of Pakistan
zoogeography of pakistan.pptx fauna of Pakistan
 
Call Girls in Hauz Khas Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Hauz Khas Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Hauz Khas Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Hauz Khas Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
 
Call Us ≽ 9953322196 ≼ Call Girls In Lajpat Nagar (Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Lajpat Nagar (Delhi) |Call Us ≽ 9953322196 ≼ Call Girls In Lajpat Nagar (Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Lajpat Nagar (Delhi) |
 
insect anatomy and insect body wall and their physiology
insect anatomy and insect body wall and their  physiologyinsect anatomy and insect body wall and their  physiology
insect anatomy and insect body wall and their physiology
 
Twin's paradox experiment is a meassurement of the extra dimensions.pptx
Twin's paradox experiment is a meassurement of the extra dimensions.pptxTwin's paradox experiment is a meassurement of the extra dimensions.pptx
Twin's paradox experiment is a meassurement of the extra dimensions.pptx
 
TOTAL CHOLESTEROL (lipid profile test).pptx
TOTAL CHOLESTEROL (lipid profile test).pptxTOTAL CHOLESTEROL (lipid profile test).pptx
TOTAL CHOLESTEROL (lipid profile test).pptx
 
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
 
Manassas R - Parkside Middle School 🌎🏫
Manassas R - Parkside Middle School 🌎🏫Manassas R - Parkside Middle School 🌎🏫
Manassas R - Parkside Middle School 🌎🏫
 

Introduction-to-Software-Engineering.ppt

  • 2. Introduction to Software Engineering Outline  Part 1 - Background and Introductory Information – Software Engineering History – Software Development Statistics – What is Software Engineering?  Part 2 - Software Engineering Concepts – Software Engineering Relationships – Principles – Development Methods & Techniques – Management Methods & Techniques – Life-Cycle Methodologies – Software Engineering Processes & Procedures – Automated Tools
  • 3. Software Engineering History  Computers were invented in the 1940’s  Then - computing programming languages were invented  Eventually - program language training was developed  However, training was unable to provide sufficient methods & techniques for developing large reliable systems on time & within budget  By the late 1960’s, digital computers were less than 25 years old and already facing a software crisis  Software Engineering term first emerged as title of a 1968 NATO conference [1]
  • 4.
  • 5. Software Development Statistics  1979 General Accounting Office Report [2] – 50% + of contracts had cost overruns – 60% + of contracts had schedule overruns – 45% + of software contracted for could not be used – 29% + of software was paid for and never delivered – 22% + of software contracted for had to be reworked/modified to be used
  • 6. Software Development Statistics  Other Studies – 1982 - Tom DeMarco » 25% of large systems development projects never finished – 1991 Capers Jones Study » Average Management Information System* project is 1 year late and 100% over budget  Software crisis stubbornly persists * Management Information System - a system for providing information to support organizational activities and management functions.
  • 7. Summary  While there has been some progress, there still are serious problems to overcome in software development – schedule and cost estimates are still inaccurate – productivity of developers is not keeping up with the demand – quality of software is not meeting customer expectations  Still a need to bring engineering discipline into the software process
  • 8. Software Engineering Definition  The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. [IEEE Std 610.12-1990]  Institution of engineering discipline in the manufacturing of computer software
  • 9. Part 2 - Software Engineering Concepts Part 1 - Background and Introductory Information Part 2 - Software Engineering Concepts – Software Engineering Relationships – Principles – Development Methods & Techniques – Management Methods & Techniques – Life-Cycle Methodologies – Software Engineering Processes & Procedures – Automated Tools
  • 11. Selected Software Engineering Principles  Rigor and Formality  Modularity  Abstraction  Anticipation of Change  Generality  Incrementality
  • 12.
  • 13. Methods & Techniques Methods & techniques Life-cycle methodologies Processes & procedures Automated tools Principles
  • 14. Basic Problem Solving Flow WHAT HOW DO TEST USE
  • 15. Development Methods & Techniques System Engineering Requirements Analysis Design Software Implementation Testing Integration Maintenance Verification & Validation Development Methods & Techniques Project Tracking & Oversight Project Planning Configuration Management Quality Assurance Management Methods & Techniques
  • 16. Systems Engineering User Need Concept System Requirements Allocated Hardware Reqs System Design Document Concept Definition System Design Requirements Definition Allocated Software Reqs System Engineering Requirements Analysis Design Software Implementation Testing Integration Maintenance Verification & Validation Development Methods & Techniques
  • 17. Software Requirements Analysis Allocated Software Requirements Review/Inspect Requirements & Write Trouble Reports Perform corrective action Trouble Reports Write Software Requirements Review System Requirements Allocated to Software SW Requirements Document System Engineering Requirements Analysis Design Software Implementation Testing Integration Maintenance Verification & Validation Development Methods & Techniques
  • 18. Software Requirements Checklist  Clarity – Is the terminology consistent with the user’s? – Are the requirements clear and unambiguous? – If assumptions that affect implementation have been made, are they stated?  Completeness – Have all requirements been assigned a priority? – Have the criteria for assigning priority levels been defined? – Have the requirements been stated for each staged implementation?  Consistency – Are the requirements consistent with each other? – Are the requirements here consistent with the requirements in related documents?  Testability – Have the test methods (test, demonstration, analysis or inspection) been stated for each requirement?
  • 19. Requirements Document - NASA-STD-2100 [4] Table of Contents 1.0 Introduction 2.0 Related Documentation 3.0 Requirements Approach and Tradeoffs 4.0 External Interface Requirements 5.0 Requirements Specification 5.1 Process and Data Requirements 5.2 Performance and Quality Engineering Requirements 5.3 Safety Requirements 5.4 Security and Privacy Requirements 5.5 Implementation Constraints 5.6 Site Adaptation 5.7 Design Goals 6.0 Traceability to Parent’s Design 7.0 Partitioning for Phased Delivery
  • 20. Object Oriented Software Design* Develop Data Flow Diagram for each state Create state diagram for each object Translate reqs into objects and create object model Data Flow Diagrams Software Req. Document *This diagram is based partly on the Rumbaugh OOD technique[5] Object Model State Diagrams System Engineering Requirements Analysis Design Software Implementation Testing Integration Maintenance Verification & Validation Development Methods & Techniques
  • 21. Detailed Design Document- NASA-STD-2100 [4] 1.0 Introduction 2.0 Related Documentation 3.0 Detailed Design Approach and Tradeoffs 4.0 Detailed Design Description 4.1 Compilation Unit Design and Traceability 4.2 Detailed Design of Compilation Units 5.0 External Interface Detailed Design 5.1 Interface Allocation Design 5.2 Physical Interface Design 6.0 Coding and Implementation Notes 7.0 Firmware Support Manual Table of Contents
  • 22. Software Implementation Design Document Run program, identify & fix errors Compile, link, load onto processor Translate design into programming language Source code Load module System Engineering Requirements Analysis Design Software Implementation Testing Integration Maintenance Verification & Validation Development Methods & Techniques corrected source code
  • 23. Ada Code -- package specification package Simple_IO is procedure Get (Item : out Integer); procedure Put (Item : in Integer); end Simple_IO; -- package body with Text_IO; package body Simple_IO is -- hidden declarations package Int_IO is new Text_IO.Integer_IO (Integer); -- body stubs procedure Get (Item : out Integer) is separate; procedure Put (Item : in Integer) is separate; end Simple_IO;
  • 24. Testing Produce test plans and procedures Conduct tests & Evaluate Result Debug & fix System Engineering Requirements Analysis Design Software Implementation Testing Integration Maintenance Verification & Validation Development Methods & Techniques Test plan and procedures Source Code Expected Results Deliverable Software
  • 25. Trouble Report [1] Program ID - TR # [2] Current Status [3] Program Title [4] Problem Description [5] Rationale (Proposed Approach to be Taken) Disposition Information [6] Status [7] Schedule
  • 26. Test Procedures Document - NASA-STD-2100 [4] Table of Contents 1.0 Introduction 2.0 Related Documentation 3.0 Test Identification and Objective 4.0 Procedures 5.0 Evaluation Criteria 6.0 Expected Results 7.0 Actual Results 8.0 Abbreviations and Acronyms 9.0 Glossary 10.0 Notes 11.0 Appendices
  • 27. Integration Tested hardware Receive & Install Hardware/ Software Tested software Run acceptance test Write trouble reports & fix errors Integrated system System Engineering Requirements Analysis Design Software Implementation Testing Integration Maintenance Verification & Validation Development Methods & Techniques Expected results Acceptance test plans and procedures Production system
  • 28. Maintenance Production system Operations Software changes Change requests/trouble reports Maintenance System Engineering Requirements Analysis Design Software Implementation Testing Integration Maintenance Verification & Validation Development Methods & Techniques Perform Testing
  • 30. Requirements Traceability Matrix Ref. # 1 5.1.6.1.1 Accelerate from 0 to 60 within 10 seconds under standard conditions. 4.1.6.1.1-1 7.1.6-2 3.1.1-3 2 Maintain cruising speed within 2 mph of set speed. 5.1.1.1-4 3 5.1.6.1.2 5.1.6.1.1 Update speed display 10 times per second. 2.1.6.1.2-1 Paragraph # Description Module ID
  • 31. Management Methods & Techniques Project Tracking & Oversight Project Planning Configuration Management Quality Assurance Management Methods & Techniques System Engineering Requirements Analysis Design Software Implementation Testing Integration Maintenance Verification & Validation Development Methods & Techniques
  • 32. Management Plan Document NASA-STD-2100 [4] 1.0 Introduction 2.0 Related Documentation 3.0 Purpose and Description of the Software 4.0 Resources, Budgets, Schedules, and Organization 4.1 Business Practices Definition and Revision Processes 4.2 Work Breakdown Structure 4.3 Resource Estimation and Allocation to WBS 4.4 Work Authorization 5.0 Acquisition Activities Plan 6.0 Development Activities Plan 7.0 Sustaining Engineering and Operations Activities Plan 8.0 Assurance Plan 9.0 Risk Management Plan 10.0 Configuration Management Plan 11.0 Delivery and Operational Transition Plan 12.0 Abbreviations and Acronyms 13.0 Glossary 14.0 Notes 15.0 Appendices Project Tracking & Oversight Project Planning Configuration Management Quality Assurance Management Methods & Techniques
  • 33. Project Planning System Engineering Software Requirements Analysis Software Design Preliminary Detailed Code Test Integration Q 1 Q 2 Q 3 Q 4 Q 1 Q 2 Q 3 Plan Actual Project Tracking & Oversight Project Planning Configuration Management Quality Assurance Management Methods & Techniques
  • 34. Project Tracking And Oversight System Engineering Software Requirements Analysis Software Design Preliminary Detailed Code Test Integration Q 1 Q 2 Q 3 Q 4 Q 1 Q 2 Q 3 Plan Actual Project Tracking & Oversight Project Planning Configuration Management Quality Assurance Management Methods & Techniques
  • 35. Quality Assurance Process Reviews Product Reviews Activity being performed Errors Errors Standards Products Procedures Project Tracking & Oversight Project Planning Configuration Management Quality Assurance Management Methods & Techniques
  • 36. Configuration Management Change Control & Impact Analysis Change/Trouble Reports Development Staff Configuration Management Library Approved Request Corrected Products Project Tracking & Oversight Project Planning Configuration Management Quality Assurance Management Methods & Techniques Version Controlled Products Copy of Products
  • 38. Life-cycle Models  Waterfall  Incremental  Spiral System Engineering Requirements Analysis Design Software Implementation Testing Integration Maintenance Verification & Validation
  • 40. Incremental Life-Cycle System Implementation Systems Eng Rqmts. Analysis Maintenance Code Test Integrate Code Test Integrate Code Test Integrate Design Design Design Rqmts Analysis Rqmts Analysis Rqmts Analysis Build 1 Build 2 Build 3
  • 41. Spiral Life-cycle Determine objectives, alternatives, constraints Plan next phases Evaluate alternatives, identify, resolve risks Develop, verify next level product Risk Analysis Risk Mitigation Concept of operation Requirements analysis Design Implementation and test
  • 42. Processes & Procedures Principles Methods & techniques Life-cycle methodologies Processes & procedures Automated tools
  • 43. Software Engineering Processes and Procedures Hardware Engineering Configuration Management Quality Assurance Software Engineering Translate Requirements into objects and develop object model Create state diagram for each object Develop Data Flow Diagram for each state 001 002 003 Formal Inspection 004 Baselined Software Requirements Document Responsible Group Baseline Software Design Document 006 * - the processes and procedures defined in this slide apply to the software design phase of a complex software project.
  • 44. Software Engineering Processes and Procedures User Math Library Management Task Monitor Local Contractor Task Plan Data Flow Diagram For Design Code 001 005 006 008 User Needs Responsible Group Baseline Routine * - the processes and procedures defined in this slide show the possible phases applicable for adding a simple routine to a math library. Test 007 Software Requirements 003 Formal Inspection 004 002
  • 45. Tools Analysis Tools Design Tools Coding Tools Testing Tools Reverse Engineering Tools Configuration Management Tools Project/Process Management Tools Documentation Tools V E R T I C A L T O O L S H O R I Z O N T A L T O O L S
  • 46.
  • 47. Tool Examples - 1  Vertical Tools – McCabe Tools - source code analyzers that generate measures of software complexity  Horizontal Tools – Microsoft Project - commercial project management tool – Polytron Version Control System - controls multiple versions of software, documents, procedures, etc.
  • 48. Tool Examples - 2  Computer Aided Software Engineering (CASE) Environments – Tools supporting analysis, design, code (Fortran, C,C++), simulation, and reverse engineering – Tools supporting vertical areas using object-oriented methods and code generation  Test Beds – PC Data Acquisition Hardware and Software  Miscellaneous – Oscilloscopes/Logic Analyzers and other test equipment – Testing equipment and tools – Circuit analyzers