Unified Modeling Language and Software Development Methodology
The UML provides a standard for the products of visual object modeling and does not define a standard process for delivering the products.
Each problem domain poses its own unique challenges and priorities. No single process can possibly fit every environment. Most processes, however, share many of the same elements, for example, defining the problem, understanding what the customer wants,
and identifying constraints. However, each environment then places different emphasis and priority on each process element. One group may require optimum security, while another optimum delivery speed or minimum maintenance cost.
Others require high reuse or integration with specific technologies, redundancy, fault tolerance, or any number of other requirements.
In short, each environment must take the general process and customize it to its specific needs.
A software development methodology in software engineering is a framework that is used to structure, plan, and control the process of
developing an information system. Common methodologies include
- iterative and incremental development,
- spiral development,
- rapid application development, and
- extreme programming.
A methodology can also include aspects of the development environment (i.e. IDEs), model-based development, computer aided software development, and the utilization of particular frameworks (Struts, Velocity, Spring).