SlideShare a Scribd company logo
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]
Introduction-to-Software-Engineering.ppt
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
Introduction-to-Software-Engineering.ppt
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
Introduction-to-Software-Engineering.ppt
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
Ad

More Related Content

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...
MIMOS Berhad/Open University Malaysia/Universiti Teknologi Malaysia
 
Ch5 software imprementation1.0
Ch5 software imprementation1.0Ch5 software imprementation1.0
Ch5 software imprementation1.0
Kittitouch Suteeca
 
Lecture 01
Lecture 01Lecture 01
Lecture 01
Anton Fajardo
 
16103271 software-testing-ppt
16103271 software-testing-ppt16103271 software-testing-ppt
16103271 software-testing-ppt
atish90
 
SE notes 2.pdf
SE notes 2.pdfSE notes 2.pdf
SE notes 2.pdf
KanwalAmern
 
Module1_Part2 Software Engineering, chapter 2.pptx
Module1_Part2 Software Engineering, chapter 2.pptxModule1_Part2 Software Engineering, chapter 2.pptx
Module1_Part2 Software Engineering, chapter 2.pptx
radhikakalyankumar
 
software requirement engineeringg.ppt
software  requirement   engineeringg.pptsoftware  requirement   engineeringg.ppt
software requirement engineeringg.ppt
SsdSsd5
 
Chapter_02_Process Models_Roger Pressman.ppt
Chapter_02_Process Models_Roger Pressman.pptChapter_02_Process Models_Roger Pressman.ppt
Chapter_02_Process Models_Roger Pressman.ppt
brmadhu
 
2. Sofware process and models FOR THE UNIT
2. Sofware process and models FOR THE UNIT2. Sofware process and models FOR THE UNIT
2. Sofware process and models FOR THE UNIT
sharmila27432
 
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 PROCESS
Ivano Malavolta
 
what is software Engineering for students
what is software Engineering for studentswhat is software Engineering for students
what is software Engineering for students
AssadLeo1
 
Lecture 1-4.ppt Introduction to Software Engineering: The evolving role of so...
Lecture 1-4.ppt Introduction to Software Engineering: The evolving role of so...Lecture 1-4.ppt Introduction to Software Engineering: The evolving role of so...
Lecture 1-4.ppt Introduction to Software Engineering: The evolving role of so...
priyadharshini512852
 
20CS4103 SE UNIT 1-1.pptx software engineering
20CS4103 SE UNIT 1-1.pptx software engineering20CS4103 SE UNIT 1-1.pptx software engineering
20CS4103 SE UNIT 1-1.pptx software engineering
shreeabinaya413
 
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 Framework
JAINAM KAPADIYA
 
Software engineering study materials
Software engineering study materialsSoftware engineering study materials
Software engineering study materials
smruti sarangi
 
Unit 1
Unit 1Unit 1
Unit 1
shalinik57
 
Seii unit4 software_process
Seii unit4 software_processSeii unit4 software_process
Seii unit4 software_process
Ahmad sohail Kakar
 
Unit1
Unit1Unit1
Unit1
Jignesh Kariya
 
Ch5 software imprementation1.0
Ch5 software imprementation1.0Ch5 software imprementation1.0
Ch5 software imprementation1.0
Kittitouch Suteeca
 
16103271 software-testing-ppt
16103271 software-testing-ppt16103271 software-testing-ppt
16103271 software-testing-ppt
atish90
 
Module1_Part2 Software Engineering, chapter 2.pptx
Module1_Part2 Software Engineering, chapter 2.pptxModule1_Part2 Software Engineering, chapter 2.pptx
Module1_Part2 Software Engineering, chapter 2.pptx
radhikakalyankumar
 
software requirement engineeringg.ppt
software  requirement   engineeringg.pptsoftware  requirement   engineeringg.ppt
software requirement engineeringg.ppt
SsdSsd5
 
Chapter_02_Process Models_Roger Pressman.ppt
Chapter_02_Process Models_Roger Pressman.pptChapter_02_Process Models_Roger Pressman.ppt
Chapter_02_Process Models_Roger Pressman.ppt
brmadhu
 
2. Sofware process and models FOR THE UNIT
2. Sofware process and models FOR THE UNIT2. Sofware process and models FOR THE UNIT
2. Sofware process and models FOR THE UNIT
sharmila27432
 
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 PROCESS
Ivano Malavolta
 
what is software Engineering for students
what is software Engineering for studentswhat is software Engineering for students
what is software Engineering for students
AssadLeo1
 
Lecture 1-4.ppt Introduction to Software Engineering: The evolving role of so...
Lecture 1-4.ppt Introduction to Software Engineering: The evolving role of so...Lecture 1-4.ppt Introduction to Software Engineering: The evolving role of so...
Lecture 1-4.ppt Introduction to Software Engineering: The evolving role of so...
priyadharshini512852
 
20CS4103 SE UNIT 1-1.pptx software engineering
20CS4103 SE UNIT 1-1.pptx software engineering20CS4103 SE UNIT 1-1.pptx software engineering
20CS4103 SE UNIT 1-1.pptx software engineering
shreeabinaya413
 
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 Framework
JAINAM KAPADIYA
 
Software engineering study materials
Software engineering study materialsSoftware engineering study materials
Software engineering study materials
smruti sarangi
 

More from DrPreethiD1 (18)

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

Recently uploaded (20)

Effect of nutrition in Entomophagous Insectson
Effect of nutrition in Entomophagous InsectsonEffect of nutrition in Entomophagous Insectson
Effect of nutrition in Entomophagous Insectson
JabaskumarKshetri
 
Influenza-Understanding-the-Deadly-Virus.pptx
Influenza-Understanding-the-Deadly-Virus.pptxInfluenza-Understanding-the-Deadly-Virus.pptx
Influenza-Understanding-the-Deadly-Virus.pptx
diyapadhiyar
 
Introduction to Mobile Forensics Part 1.pptx
Introduction to Mobile Forensics Part 1.pptxIntroduction to Mobile Forensics Part 1.pptx
Introduction to Mobile Forensics Part 1.pptx
Nivya George
 
Chromatography, types, techniques, ppt.pptx
Chromatography, types, techniques, ppt.pptxChromatography, types, techniques, ppt.pptx
Chromatography, types, techniques, ppt.pptx
Dr Showkat Ahmad Wani
 
Turkey Diseases and Disorders Volume 2 Infectious and Nutritional Diseases, D...
Turkey Diseases and Disorders Volume 2 Infectious and Nutritional Diseases, D...Turkey Diseases and Disorders Volume 2 Infectious and Nutritional Diseases, D...
Turkey Diseases and Disorders Volume 2 Infectious and Nutritional Diseases, D...
Ali Raei
 
Metallurgical process class 11_Govinda Pathak
Metallurgical process class 11_Govinda PathakMetallurgical process class 11_Govinda Pathak
Metallurgical process class 11_Govinda Pathak
GovindaPathak6
 
Polytene chromosomes. A Practical Lecture.pptx
Polytene chromosomes. A Practical Lecture.pptxPolytene chromosomes. A Practical Lecture.pptx
Polytene chromosomes. A Practical Lecture.pptx
Dr Showkat Ahmad Wani
 
Direct Evidence for r-process Nucleosynthesis in Delayed MeV Emission from th...
Direct Evidence for r-process Nucleosynthesis in Delayed MeV Emission from th...Direct Evidence for r-process Nucleosynthesis in Delayed MeV Emission from th...
Direct Evidence for r-process Nucleosynthesis in Delayed MeV Emission from th...
Sérgio Sacani
 
Class-11-notes- Inorganic Chemistry Hydrogen, Oxygen,Ozone,Carbon,Phosphoros
Class-11-notes- Inorganic Chemistry Hydrogen, Oxygen,Ozone,Carbon,PhosphorosClass-11-notes- Inorganic Chemistry Hydrogen, Oxygen,Ozone,Carbon,Phosphoros
Class-11-notes- Inorganic Chemistry Hydrogen, Oxygen,Ozone,Carbon,Phosphoros
govindapathak8
 
Concise Notes on tree and graph data structure
Concise Notes on tree and graph data structureConcise Notes on tree and graph data structure
Concise Notes on tree and graph data structure
YekoyeTigabu2
 
UNIT chromatography instrumental6 .pptx
UNIT chromatography  instrumental6 .pptxUNIT chromatography  instrumental6 .pptx
UNIT chromatography instrumental6 .pptx
myselfit143
 
Gel Electrophorosis, A Practical Lecture.pptx
Gel Electrophorosis, A Practical Lecture.pptxGel Electrophorosis, A Practical Lecture.pptx
Gel Electrophorosis, A Practical Lecture.pptx
Dr Showkat Ahmad Wani
 
when is CT scan need in breast cancer patient.pptx
when is CT scan need in breast cancer patient.pptxwhen is CT scan need in breast cancer patient.pptx
when is CT scan need in breast cancer patient.pptx
Rukhnuddin Al-daudar
 
Examining Visual Attention in Gaze-Driven VR Learning: An Eye-Tracking Study ...
Examining Visual Attention in Gaze-Driven VR Learning: An Eye-Tracking Study ...Examining Visual Attention in Gaze-Driven VR Learning: An Eye-Tracking Study ...
Examining Visual Attention in Gaze-Driven VR Learning: An Eye-Tracking Study ...
Yasasi Abeysinghe
 
Application of Microbiology- Industrial, agricultural, medical
Application of Microbiology- Industrial, agricultural, medicalApplication of Microbiology- Industrial, agricultural, medical
Application of Microbiology- Industrial, agricultural, medical
Anoja Kurian
 
DNA Profiling and STR Typing in Forensics: From Molecular Techniques to Real-...
DNA Profiling and STR Typing in Forensics: From Molecular Techniques to Real-...DNA Profiling and STR Typing in Forensics: From Molecular Techniques to Real-...
DNA Profiling and STR Typing in Forensics: From Molecular Techniques to Real-...
home
 
RAPID DIAGNOSTIC TEST (RDT) overviewppt.pptx
RAPID DIAGNOSTIC TEST (RDT)  overviewppt.pptxRAPID DIAGNOSTIC TEST (RDT)  overviewppt.pptx
RAPID DIAGNOSTIC TEST (RDT) overviewppt.pptx
nietakam
 
whole ANATOMY OF EYE with eye ball .pptx
whole ANATOMY OF EYE with eye ball .pptxwhole ANATOMY OF EYE with eye ball .pptx
whole ANATOMY OF EYE with eye ball .pptx
simranjangra13
 
APES 6.5 Presentation Fossil Fuels .pdf
APES 6.5 Presentation Fossil Fuels   .pdfAPES 6.5 Presentation Fossil Fuels   .pdf
APES 6.5 Presentation Fossil Fuels .pdf
patelereftu
 
Polymerase Chain Reaction (PCR).Poer Pint
Polymerase Chain Reaction (PCR).Poer PintPolymerase Chain Reaction (PCR).Poer Pint
Polymerase Chain Reaction (PCR).Poer Pint
Dr Showkat Ahmad Wani
 
Effect of nutrition in Entomophagous Insectson
Effect of nutrition in Entomophagous InsectsonEffect of nutrition in Entomophagous Insectson
Effect of nutrition in Entomophagous Insectson
JabaskumarKshetri
 
Influenza-Understanding-the-Deadly-Virus.pptx
Influenza-Understanding-the-Deadly-Virus.pptxInfluenza-Understanding-the-Deadly-Virus.pptx
Influenza-Understanding-the-Deadly-Virus.pptx
diyapadhiyar
 
Introduction to Mobile Forensics Part 1.pptx
Introduction to Mobile Forensics Part 1.pptxIntroduction to Mobile Forensics Part 1.pptx
Introduction to Mobile Forensics Part 1.pptx
Nivya George
 
Chromatography, types, techniques, ppt.pptx
Chromatography, types, techniques, ppt.pptxChromatography, types, techniques, ppt.pptx
Chromatography, types, techniques, ppt.pptx
Dr Showkat Ahmad Wani
 
Turkey Diseases and Disorders Volume 2 Infectious and Nutritional Diseases, D...
Turkey Diseases and Disorders Volume 2 Infectious and Nutritional Diseases, D...Turkey Diseases and Disorders Volume 2 Infectious and Nutritional Diseases, D...
Turkey Diseases and Disorders Volume 2 Infectious and Nutritional Diseases, D...
Ali Raei
 
Metallurgical process class 11_Govinda Pathak
Metallurgical process class 11_Govinda PathakMetallurgical process class 11_Govinda Pathak
Metallurgical process class 11_Govinda Pathak
GovindaPathak6
 
Polytene chromosomes. A Practical Lecture.pptx
Polytene chromosomes. A Practical Lecture.pptxPolytene chromosomes. A Practical Lecture.pptx
Polytene chromosomes. A Practical Lecture.pptx
Dr Showkat Ahmad Wani
 
Direct Evidence for r-process Nucleosynthesis in Delayed MeV Emission from th...
Direct Evidence for r-process Nucleosynthesis in Delayed MeV Emission from th...Direct Evidence for r-process Nucleosynthesis in Delayed MeV Emission from th...
Direct Evidence for r-process Nucleosynthesis in Delayed MeV Emission from th...
Sérgio Sacani
 
Class-11-notes- Inorganic Chemistry Hydrogen, Oxygen,Ozone,Carbon,Phosphoros
Class-11-notes- Inorganic Chemistry Hydrogen, Oxygen,Ozone,Carbon,PhosphorosClass-11-notes- Inorganic Chemistry Hydrogen, Oxygen,Ozone,Carbon,Phosphoros
Class-11-notes- Inorganic Chemistry Hydrogen, Oxygen,Ozone,Carbon,Phosphoros
govindapathak8
 
Concise Notes on tree and graph data structure
Concise Notes on tree and graph data structureConcise Notes on tree and graph data structure
Concise Notes on tree and graph data structure
YekoyeTigabu2
 
UNIT chromatography instrumental6 .pptx
UNIT chromatography  instrumental6 .pptxUNIT chromatography  instrumental6 .pptx
UNIT chromatography instrumental6 .pptx
myselfit143
 
Gel Electrophorosis, A Practical Lecture.pptx
Gel Electrophorosis, A Practical Lecture.pptxGel Electrophorosis, A Practical Lecture.pptx
Gel Electrophorosis, A Practical Lecture.pptx
Dr Showkat Ahmad Wani
 
when is CT scan need in breast cancer patient.pptx
when is CT scan need in breast cancer patient.pptxwhen is CT scan need in breast cancer patient.pptx
when is CT scan need in breast cancer patient.pptx
Rukhnuddin Al-daudar
 
Examining Visual Attention in Gaze-Driven VR Learning: An Eye-Tracking Study ...
Examining Visual Attention in Gaze-Driven VR Learning: An Eye-Tracking Study ...Examining Visual Attention in Gaze-Driven VR Learning: An Eye-Tracking Study ...
Examining Visual Attention in Gaze-Driven VR Learning: An Eye-Tracking Study ...
Yasasi Abeysinghe
 
Application of Microbiology- Industrial, agricultural, medical
Application of Microbiology- Industrial, agricultural, medicalApplication of Microbiology- Industrial, agricultural, medical
Application of Microbiology- Industrial, agricultural, medical
Anoja Kurian
 
DNA Profiling and STR Typing in Forensics: From Molecular Techniques to Real-...
DNA Profiling and STR Typing in Forensics: From Molecular Techniques to Real-...DNA Profiling and STR Typing in Forensics: From Molecular Techniques to Real-...
DNA Profiling and STR Typing in Forensics: From Molecular Techniques to Real-...
home
 
RAPID DIAGNOSTIC TEST (RDT) overviewppt.pptx
RAPID DIAGNOSTIC TEST (RDT)  overviewppt.pptxRAPID DIAGNOSTIC TEST (RDT)  overviewppt.pptx
RAPID DIAGNOSTIC TEST (RDT) overviewppt.pptx
nietakam
 
whole ANATOMY OF EYE with eye ball .pptx
whole ANATOMY OF EYE with eye ball .pptxwhole ANATOMY OF EYE with eye ball .pptx
whole ANATOMY OF EYE with eye ball .pptx
simranjangra13
 
APES 6.5 Presentation Fossil Fuels .pdf
APES 6.5 Presentation Fossil Fuels   .pdfAPES 6.5 Presentation Fossil Fuels   .pdf
APES 6.5 Presentation Fossil Fuels .pdf
patelereftu
 
Polymerase Chain Reaction (PCR).Poer Pint
Polymerase Chain Reaction (PCR).Poer PintPolymerase Chain Reaction (PCR).Poer Pint
Polymerase Chain Reaction (PCR).Poer Pint
Dr Showkat Ahmad Wani
 
Ad

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]
  • 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
  • 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
  • 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