Opinion
Computing Applications

Editorial Pointers

Posted
  1. Article

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.

Join the Discussion (0)

Become a Member or Sign In to Post a Comment

The Latest from CACM

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More