Mix three very good, yet very different, OO design and analysis methodologies together with a generous serving of strong programming ideas and contributing notations and you have the makings of the standard language of blueprinting software, also known as the Unified Modeling Language (UML).
The story of how UML came to be is as fascinating as the applications it now provides. This month's special section gives you a taste of both. Guest Editor Grady Booch, co-creator of UML, gives us a first-person account of the language's early roots, its subsequent creation, its overwhelming adoption, and its entry into the mainstream in record time. He tells of the language's strengths for modeling objects and constructing systems as diverse as robotics, e-commerce, avionics, and computer games. The articles in this section describe a distinct set of application domains portraying UML in real-life, real-time situations. We hope you find the experiences they cover exemplify the reasons why UML has been endorsed so readily by software developers.
The story of Netscape illustrates an example of a thriving company built around a product in great demand. The plotline, however, differs vastly from the UML saga. Cusumano and Yoffie report on the lessons they gleaned from the Netscape experience, where creating a product to work on all platforms should have been the clincher, but in reality proved far more challenging than anyone could have imagined.
When it comes to framework technology, more isn't always better. As Mattsson, Bosch, and Fayad explain, just because multiple frameworks can now be used in an application's development, doesn't mean they always works seamlessly. There are true integration problems, though now, fortunately, there are also some worthwhile solutions.
In other news, Lie and Saarela detail how document markup and style languages, such as HTML, XML, and CSS, influence the way information is presented on the Web. Sharing Web browsing histories may be a sensitive issue among coworkers, but a new system that helps determine a set of guidelines for designing privacy interfaces is explored by Lau, Etzioni, and Weld. And finally, moving from technical issues to ethical practices, comes the fully approved and adopted Software Engineering Code of Professional Ethics as penned by a joint ACM/IEEE-CS task force. This landmark document reflects the ethical and professional responsibilities and obligations of software engineers, and offers a series of principles to put into practice.
Diane Crawford, Editor
COMING NEXT MONTH: A special section on industrial and commercial applications of knowledge discovery technologies. We will also feature articles depicting enterprise computing architectures, an open DSS protocol, multimodal integration, and an opportune discussion about the significance of the middleman's role in software development.
©1999 ACM 0002-0782/99/1000 $5.00
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.
The Digital Library is published by the Association for Computing Machinery. Copyright © 1999 ACM, Inc.
No entries found