Design and UML

- JavaTouch

- Design Patterns
- Agile Software Design
- Rationala Software Modeler (RSM)

"Software development continues to grow in complexity, and developers must work at
increasingly higher levels of abstraction to cope with this complexity."

"In many organizations, software development is no longer a cost-center overhead line item—it is an integral part of the company’s strategic
business processes."

Model-Driven Architecture (MDA):
MDA is an initiative led by the Object Management Group. While still in its early-adopter stage, MDA can be considered the next logical step in the evolution of modeling and modeldriven development technologies. MDA, based on UML and other related standards, focuses on defining models at varying levels of abstraction and on the transformations defined between these different levels. Automated tool support is crucial to the evolution and successful application of MDA.

How do you become an Architect?
Always be the guy in every meeting with the best design idea.
- Be able to recognize and vocalize the pros and cons of every idea.
- But how, you might ask, do you become the guy with the best ideas? Read, read, read!

Modeling provides architects and others with the ability to visualize entire systems, assess different options and rommunicate designs more clearly before taking on the risks.The Unified Modeling Language™ (UML™) is the industry-standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems. It simplifies the complex process of software design, creating a "blueprint" for construction.

- UML home (at OMG)   



- Practical UML: A Hands-On Introduction for Developers (from Borland)



- The Value of Modeling (Jun 2004, IBM pdf)
- Introduction to OMG UML (OMG resource)
- UML Basics (Part 3) - Class Diagrams (from IBM)
- UML for Java Developers
- Understanding Use Case Modeling
- Aggregation vs Composition (A java forum thread)

 Tech Talks and Discussions

Who will Develop Software in 10 Years?
In this video discussion panel (with transcript) Martin Fowler, Frank Buschmann, Steve Cook, Jimmy Nilsson, and Dave Thomas discuss the future of software development. Topics covered include outsourcing, is Google the next MS?, multi-core & parallism, grid computing, software stacks of the future, and more. The panel is from QCon sister-conference JAOO. (15 March, 2007; InfoQ)

Other resources

- UML Resource Home at IBM
- UML resources at Cetus links
- Architecture and Design articals home (at 
- Agile Models Distilled: Potential Artifacts for Agile Modeling


Blog Entries

- How do you become an Architect?



Head First Object-Oriented Analysis and Design
Despite its playful appearance, Head First Object-Oriented Analysis and Design is serious stuff: it shows you to solve real problems, regardless of their size and complexity, by applying good design principles and practices. The result is software that's easy to reuse, maintain, and extend -- software that doesn't hurt your head, software that lets you add new features without breaking the old ones.


Design Tip of The Day