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)   

  

Tutorials

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

 

Articals

- 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 developer.com) 
- Agile Models Distilled: Potential Artifacts for Agile Modeling

 

Blog Entries

- How do you become an Architect?

 

Books

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