Tool Support
The high cost of UML modeling tools has kept the majority of developers from adopting object-oriented analysis and design techniques. With the advent of open source modeling tool efforts such as ArgoUML (see http://argouml.tigris.org/), this is about to change. Thorn is a UML modeling tool written in Java that enables the use of XML to save the models you create. The Thorn modeling tool was created to help develop and manage increasingly sophisticated open source development efforts.
ArgoUML is a modular and extensible open source Java/UML project that focuses on developing better tools for collaborative software development. ArgoUML is based on the UML 1.3 specification and is licensed in much the same way as the Apache Web server. It provides comprehensive support for the XML Metadata Interchange (XMI) format and the Object Constraint Language (OCL).
Several UML tool vendors including Rational are getting involved in collaborative tools. The Rational Suite set of software development life cycle tools integrates the Rational Rose platform with its ClearCase change management solution and a collection of other requirements (RequisitePro), testing (QualityArchitect, Purify, Quantify, and TestManager), and verification (PureCoverage) tools. For more information about Rational products, visit http://www.rational.com/products/index.jsp.
UML has been a blessing for developers eager to work at a higher level of abstraction because it offers standardization for modeling artifacts and semantics. In addition to EJB component-based and object-oriented software projects, UML also facilitates non-OO software development. Despite the fact that database systems have been around for many years, industry analysts estimate that 80% of the electronic data in companies is unstructured, residing in forms such as text files. With the rapid evolution of the World Wide Web and the availability of content-based search engines, it is becoming even more clear that data can be accessed successfully even in the absence of a database.
Because much of the data found on the Web is fragmented, it seems unnecessary to store this data in a bunch of RDBMS tables accessing it with relational connectors. With XML organizing content in a more structured and semantically meaningful form than HTML, it is likely that developers will increasingly take a more responsibility-driven or object-oriented (as opposed to data-centric) approach to their applications.
Because developers are no longer willing to store all the data in one vulnerable RDBMS basket, it is also increasingly likely that they will turn to UML to raise the level of abstraction of their Web-based systems, especially if those systems consist of societies of collaborating objects. Although the concept of relational models was powerful and useful in its time, the future will be about objects and Internet-based UML applications and tools.