Software Engineering
CS305, Autumn 2020
Nikhil Hegde, IIT Dharwad 1
Software Engineering CS305, Autumn 2020 Nikhil Hegde, IIT Dharwad - - PowerPoint PPT Presentation
Software Engineering CS305, Autumn 2020 Nikhil Hegde, IIT Dharwad 1 Software Engineering Software + Engineering What is Software? An abstraction that: Defines a set of computations Becomes concrete/useful only in the presence of
Nikhil Hegde, IIT Dharwad 1
context (e.g. human activity)
Nikhil Hegde, IIT Dharwad 2
Nikhil Hegde, IIT Dharwad 3
Nikhil Hegde, IIT Dharwad 4
Lines of code: 101 102 103 104 105 106………………...
Nikhil Hegde, IIT Dharwad 5
9 Software Projects worth $7M
Delivered but not used Not delivered Used after extensive modification Used after changes Used as delivered
Davis A. M. (1990) Software Requirements Analysis & Specification. Prentice-Hall, NJ.
Nikhil Hegde, IIT Dharwad 6
Nikhil Hegde, IIT Dharwad 7
Nikhil Hegde, IIT Dharwad 8
Nikhil Hegde, IIT Dharwad 9
Nikhil Hegde, IIT Dharwad 10
Nikhil Hegde, IIT Dharwad 11
Nikhil Hegde, IIT Dharwad 12
Source: Alex Orso (CS 3300)
Nikhil Hegde, IIT Dharwad 13
Nikhil Hegde, IIT Dharwad 14
Nikhil Hegde, IIT Dharwad 15
Nikhil Hegde, IIT Dharwad 16
Nikhil Hegde, IIT Dharwad 17
Nikhil Hegde, IIT Dharwad 18
– Pros: Finds errors easily – Cons: Not flexible
Nikhil Hegde, IIT Dharwad 19
– Cons: Complex, Dependent on Risk Analysis, Requires Specific Expertise – Pros: Risk Reduction, Easy to Enhance, Software Produced Early
Nikhil Hegde, IIT Dharwad 20
– Pros: Immediate Feedback, Helps Requirements Understanding – Cons: Difficult to Plan, Can Deteriorate to Code-and-fix
Nikhil Hegde, IIT Dharwad 21
– Inception, Elaboration, Construction, Transition
Nikhil Hegde, IIT Dharwad 22
Nikhil Hegde, IIT Dharwad 23
Nikhil Hegde, IIT Dharwad 24
Coverity, GCov)
Software Size and Complexity Developer Productivity
Nikhil Hegde, IIT Dharwad 25
Desired Developer Productivity