Why are software developers interested in Object Oriented methods and UML?
Software systems are often very complex and must be properly modelled and designed for them to be reliable and maintainable. UML facilitates the building of software models. A good model of a software system enables us to: • communicate the desired structure and behaviour of the system • visualise and control its architecture • better understand the system we are creating • manage the risk and better manage the future modification and enhancement of the system Key concept – Bad Design: When a single change to a program results in a cascade of changes to dependent modules, that program exhibits the undesirable attributes that are associated with “bad” design. The program becomes fragile, rigid, unpredictable and un-reusable. Key concept – Good Design: Software should be designed so that modules never change (having been debugged, tested and integrated). When requirements change, you should extend the behaviour of such modules by adding new code, never by changing old code that already w