INTRODUCTION TO SOFTWARE ENGINEERING - PowerPoint PPT Presentation

About This Presentation
Title:

INTRODUCTION TO SOFTWARE ENGINEERING

Description:

'Begin at the beginning' the King said gravely, 'and go till you come to the end; then stop. ... Iteration between formal analysis and design. heavy use of ... – PowerPoint PPT presentation

Number of Views:11
Avg rating:3.0/5.0
Slides: 36
Provided by: chrisr153
Learn more at: http://www.cs.bsu.edu
Category:

less

Transcript and Presenter's Notes

Title: INTRODUCTION TO SOFTWARE ENGINEERING


1
INTRODUCTION TOSOFTWARE ENGINEERING
2
Project Life Cycle Model
Initiation
Feasibility Studies
Software Development Life Cycle
3
Concepts of a Software Development Life Cycle
Begin at the beginning the King said gravely,
and go till you come to the end then
stop. Lewis Carroll, Alices Adventures in
Wonderland, 1865
4


Software Life Cycle

I






5

I
Software Life Cycle






6


Software Life Cycle




7

Software Life Cycle



8


Software Life Cycle

9

Software Life Cycle
10
Software Life Cycle
i
i
11





I
Software Life Cycle
i
i
12
Activities in the Traditional Engineering Process
13
Activities in the Traditional Engineering Process
  • Iteration between formal analysis
  • and design

14
Activities in the TraditionalEngineering Process
  • Iteration between formal analysis
  • and design
  • heavy use of earlier designs

15
Activities in the TraditionalEngineering Process
  • Iteration between formal analysis and design
  • heavy use of earlier designs
  • tradeoffs between alternatives

16
Activities in the Traditional Engineering Process
  • Iteration between formal analysis and design
  • heavy use of earlier designs
  • tradeoffs between alternatives
  • handbooks and manuals

17
Activities in the Traditional Engineering Process
  • Iteration between formal analysis and design
  • heavy use of earlier designs
  • tradeoffs between alternatives
  • handbooks and manuals
  • a pragmatic approach to cost-effectiveness

18
Augustines Law
  • Software is like entropy. It is difficult to
    grasp, and obeys the Second Law of
    Thermodynamics I.e., it always increases.

19
Components of a Software Product
  • Requirements Document
  • System Description Document
  • Software Development Plan
  • Functional Design Document
  • Detailed Design Document
  • Verification Plan
  • Trouble Reports

20
Components of a Software Product (cont.)
  • Specification Document
  • Test Specification
  • Test Procedures
  • Test Reports
  • User Manual
  • Source Code Listing
  • Object Code Listing

21
80
1000
60
750
40
500
Program Cost (B)
Onboard Software Size (KSLC)
20
250
Apollo
Shuttle
Space Station
Software Cost Ratio vs. Space Flight Software
Trends
22
Relative Capability of Computer Hardware
100,000
10,000
1,000
100
Productivity of Programmers
10
1
1960
1964
1968
1972
1976
1990
Relative Capability of Computer Hardware
over Time
23
100
80
60
40
Hardware Costs
20
1960
1990
1970
1980
Hardware vs. Software Cost Analysis of a Typical
Computer System
24
Size Categories (LOC) for Software Products
BOEHM 81
Small
1-2 K
Intermediate / Medium
8-32 K
32-128 K
Large
512 K
Very large
25
Size Categories (LOC) for Software Products
BOEHM 81 FAIRLEY 84
Small
1-2 K 1-2 K
Intermediate / Medium
8-32 K 5-50K
32-128 K 50-100 K
Large
512 K 1M
Very large
Extremely Large
1-10 M
26
Size Categories (LOC) for Software Products
BOEHM 81 FAIRLEY 84 CHARETTE 86
Small
1-2 K 1-2 K 1-2
k
Intermediate / Medium
8-32 K 5-50K 5-100
k
32-128 K 50-100 K 100 k-1M
Large
512 K 1M 1-10M
Very large
Extremely Large
1-10 M 1-25M
25-100M
Ambitious
Probably wont work today
100M-?
27
230 220 210 200 190 180 170 160 150 140 130 120 11
0
(Millions)
78 80 82 84 86 88 90
92
Growth in Cost of Ownership
28
Testing 40.0
Concept 5.0
Design 35.0
Implementation 20.0
Concept Development and Requirements Analysis
Distribution of Effort for Product -
Initial Development
29
Errors
Requirements 64
Implementation 36
Requirements Specification and Design Errors
Typical Errors in a Product
30
100
90
80
70
60
50
40
30
20
10
Design reviews
Testing Methods
High-Level Languages
Programming Teams
Formal Verification
Formal Requirements or Specifications
Formal Methodology
Program design languages
Implementation Audits
Practices Currently Used
Practices Currently Used
31
Tool Usage
Requirements Design Development Integration
Maintenance
Life Cycle Phase
32
POOR MARGINAL
GOOD
Software Engineering Practices for U.S.
Companies
33
Relative Programmer Productivity
Normalized to 1955
Year
Productivity
1955
1.0
1960
1.6
1965
2.0
1970
2.3
1975
2.7
1980
3.1
1985
3.6
1990
4.0
34
Trends in and Demand Software Supply
2.5 2 1.5 1 0.5 0
Demand (12/Yr.)
Productivity (4/Yr.)
Equivalent 1980 Software Personnel (Millions)
Personnel (4/Yr.)
1980 1982 1984 1986
1988 1990
35
Relative Product Multiplicative Factors
Turnaround time
Vm volatility
Software tools
Schedule const.
Modn prg prac
Applic. exper
Lang. experience
Timing const
Personnel capability
Reliability reqmts.
Product complexity
Write a Comment
User Comments (0)
About PowerShow.com