Professional Documents
Culture Documents
Engineering
1
Software
• Computer programs + associated
documentation
2
Software Product
• Software products may be developed for a
particular customer or may be developed for a
general market
3
Types of Software Products
•Generic Software
•Customized Software
4
The Nature of Hardware
5
Bath tub Curve for Hardware
6
The Nature of Software
7
Curves for Software
8
What is the “software crisis”?
9
What is Good Software?
10
Attributes of Good Software
• Maintainability
– Must evolve to meet changing needs
• Dependability
Software must be trustworthy(able to b trust)
• Efficiency
– Not use wasteful system resources
• Acceptability
11
Metrics for Specifying Software
Property Measure
Speed Processed transactions/second
User/event response time
Refresh rate
Ease of use Training time
Number of help frames
Reliability Mean time to failure (MTTF)
Mean time to repair (MTTR)
Availability
Probability of unavailability
Size Mbytes
Line of code (LOC)
Function points (FP)
12
Availability
• Different levels of availability
Availability Explanation
0.9 System is available for 90% of the
time. This means that in a 24-hour
period, the system will be
unavailable for 144 min.
14
Example of Reliability (cont..)
• Calculate Mean time to failure (MTTF), Mean
time to Repair (MTTR) and availability
– Answer:
• MTTF = 10 months
• MTTR = 2 months
• Availability = 83.33 %
15
Function Point (FP)
16
Function Points
• FP measures the functionality of the system in
terms of these 5 components.
• FP components
– Number of users inputs
– Number of users outputs
– Number of user queries
– Number of files
– Number of interfaces
17
Function Point Analysis
Functional Count Weighting factors
components
Simple Average Complex
User inputs 3 4 6
User outputs 4 5 7
User queries 3 4 6
Files 7 10 15
Interfaces 5 7 10
18
Function Points
(Solution)
• FP = 32 x 4 + 60 x 5 + 24 x 4 + 8 x 10 + 2 x 7
= 128 + 300 + 96 + 80 + 14
= 618
19
Function Points
(Example 2)
• Consider the following system specs:
Develop a system which allows customers to input
report bugs in a product. These reports will be
stored in a file and developers will receive a daily
report with new bugs which they need to solve.
Customers will also receive a daily status report for
bugs which they submitted. Management can query
the system for a summary info of particular months.
• Assume that weights are average.
20
Function Points
(Example 2 (Solution))
• Total functionality = 28
21
Problems in software development
• Common issues
– Does not fulfill the needs of the customer
– Hard to extend and improve
– Bad documentation
– Bad quality
– More time and costs than expected
22
Software Engineering
23
Difference between Software
Engineering and Computer Science
24
Objectives of Software Engineering
25