1 - Intro Flashcards
Big problem with modern software?
Needs to be updated regularly to fix bugs and issues
Bugs in past for software development
Relatively rare cause of failure
Most common failure?
Building wrong system
Difficult to find customer requirements, more difficult as system becomes larger
Cost of developing software
Cheap to duplicate
Expensive to design
Where is most of the software work
Design, not manufacturing
Labor intensive and craft activity
Automating software creation
Very difficult to automate design activity
Can create better tools for designers
Cost of developing software vs copies sold
Largely indepedent, it is a high risk activity
Software complexity
Can be very complex
Difficult to understand exactly how it works
Relatively easy to modify
Relatively easy to create software that appears to work
Hard to show it does everything it should do
Main way of testing?
Using different input values
There are so many, impossible to test all
Estimating how much work to create software
Very difficult to price in advance
First 90% takes 90% of the time, second 90% takes remaining 90%
Quoting price for software
Quote lowest price and increase later when you know more about work involved
Wear and tear of software
Does not wear out
Finding bugs after release
User experience
Continued testing
In-direct changes to operation of software
Changes to OS and supporting programs
Making corrections to released software
Consistency of design deteriorates
New defects are introduced