This preview shows page 1. Sign up to view the full content.
Unformatted text preview: Why is Software Development so Difficult?
Complexity A consequence of complexity is that software is difficult to understand; But you cannot remove complexity, because then you do not have a piece of software that solves the problem in question. Conformity Usually software is built within a given context needs to conform to the given context, this is part of the solution; The problems caused by this forced conformity cannot be removed by redesigning the software. Changeability This is an inherent property of software if it weren't changeable it would not be software; The difficulty is the management of this tremendous flexibility. Invisibility Software is invisible and cannot be visualized; There is no acceptable way to represent either a complete software system or some sort of overview; This is in obvious contrast to our analogy with architecture architects can build 2/3 dimensional models of the whole building to give an idea of the overall design; The good news is, certain aspects of software can be visualized: UML (Universal Modeling Language) diagrams, data flow diagrams, etc. ...
View Full Document
This note was uploaded on 10/03/2011 for the course CSC 592 taught by Professor Staff during the Spring '11 term at Rhode Island.
- Spring '11
- Computer Science