One of the definitions of discipline is the knowledge or training gained from misfortune or bad conduct. The objective of a software development methodology is to adopt and then promote a series of disciplines that, if followed in a methodical and disciplined manner, can lead to a successful software development process. There are a variety of methodologies that can be applied towards the development of object-oriented software, such as the Rational Unified Process (RUP), eXtreme Programming (XP), and Feature-Driven Design. These methodologies provide structure to help monitor a predictable schedule by assigning phases or steps to the development lifecycle. To learn more about software development methodologies, see "Software Development Methodologies," p. 51 . UML by design, is neither a methodology nor identified with any one particular software development methodology. No matter which methodology you decide to use, UML can be embraced as a standard modeling notation. The modeling notations provided by UML exclusively address the analysis and design phases of a software development lifecycle, where UML artifacts are used to record the analysis and design decisions. Through the visual representation of the analysis and design phases using UML, you can easily:
However, the approaches and activities undertaken in the analysis and design phases to derive UML artifacts are governed by which methodology you are using. |