Skip to main content


developerWorks  >  Architecture  >  

IBM software architect kit

Reduce IT complexity with software development tools from IBM

developerWorks
Overview Contents

Visual languages
Patterns-based development
Structural review and control
Business-driven development for SOA




Reducing software complexity with visual languages

Architecting software systems is complex, and it keeps getting more complex. New architectural styles, such as Service-Oriented Architecture (SOA), add further complexity -- not only to individual projects, but to the entire enterprise. You need the right tools, skills, and processes to more easily plan and design high-quality software that meets specific business requirements. This software architect kit offers a collection of materials to help you use IBM tools, which are designed to unify all aspects of software design and development.

Abstraction through modeling lets you more effectively manage complexity while minimizing risk. Not all projects require models to be successful, but the more complex your project is and the more distributed your project team is, the more you need models. Those who adopt software modeling are realizing significant improvement in technical quality, reduced business costs, and better risk management. Modeling is perceived as difficult and time-consuming, but it doesn't have to be. IBM Rational® Software Architect for WebSphere® or Rational Software Architect Standard Edition gives you -- with a low up-front investment -- the tools that make modeling your software architecture easier so you can realize immediate benefits.

In fact, the Rational Software Architect products automate what you spend significant time on, such as translating design into code, updating design to ensure it reflects the latest code of the system, and keeping documentation current for audits and compliance mandates. Through these and other automations, modeling will in fact save you time and shorten your delivery life cycle, while also providing a platform to communicate design to your distributed stakeholders in real time.

Model-driven development (MDD) is a style of software development in which the primary software artifacts are models, not code. Software models are typically expressed in the Unified Modeling Language (UML). In MDD, models are used not just as sketches or blueprints, but as primary artifacts from which efficient implementations can be generated by the application of transformations. For more information, read the developerWorks articles, "UML in support of model-driven development" and "Good modeling, good governance."

If your projects would benefit from your own business-domain-specific solutions, in a language that both the business stakeholders and the IT department would understand, you may want to use domain-specific language (DSL) for your model-driven development. For more information, read the developerWorks article “Applying domain-specific modeling to Model-Driven Architecture.”

Model-Driven Architecture (MDA) is a style of MDD that employs several open industry standards. The MDA specification is managed by the Object Management Group (OMG). MDA guides architects and developers to more effectively define models at various levels of abstraction and to develop transformations between models, code, and other artifacts of the software life cycle. Check out the developerWorks article, "An introduction to Model-Driven Architecture."

IBM Rational Software Architect supports MDD and MDA by allowing the user to define multiple levels of models coupled with user-defined transformations between those models and code, resulting in a clearer separation of concerns roles across the project life cycle. Learn more in the article, "Gain an edge in patterns-based development using Rational Software Architect."

Browse diagrams and topic diagrams demo (11 min 7 sec)

Static method sequence diagrams demo (10 min 10 sec)


Back to top


Patterns-based development

Patterns can help improve developer productivity by providing solutions to recurring problems. Patterns Solutions from IBM incorporate several patterns to solve larger-grained problems. Rational Software Architect includes tools to help you author, design, and implement patterns. You also get tools to manage, reuse, and distribute your patterns to developers and other architects.

Architectural discovery diagrams demo (10 min 21 sec)


Back to top


Structural review and control

Good application modeling leads to well-architected code. But developers can unknowingly introduce unwanted dependencies during implementation, resulting in architectural decay. And if you're given an existing code base for which no design documentation exists, all kinds of structural problems can be hidden in the code.

Rational Software Architect includes special structural review and control features that directly address these issues for Java™ applications. Design patterns implemented in the code can be visualized, even when developers are unfamiliar with a pattern. Rational Software Architect also automatically detects structural "antipatterns," which are undesired yet common problems that can make software difficult to maintain and update. These review and control features allow you to quickly assess the as-built architecture of your Java code, giving you time to correct problems earlier in the life cycle and helping to speed the overall development process.

Structural analysis diagrams demo (9 min 53 sec)

Automated code review demo (10 min 42 sec)


Back to top


Business-driven development for Service-Oriented Architecture

IBM's Business-driven development for SOA uses business goals and requirements to drive downstream design, development, and testing. This approach enables you to transform business processes into composite applications that automate and integrate the business. And you can trace requirements across the entire life cycle -- from business goals through software designs and code assets to composite applications.

Rational Software Architect supports business-driven development for SOA by importing and transforming business models into Unified Modeling Language (UML) artifacts. Also, software architects can download a profile for UML 2.0 which allows for the modeling of services, SOA, and service-oriented solutions. And Rational Software Architect integrates with IBM Rational RequisitePro®, which helps ensure that business goals and requirements drive the architecture.

J2EE development using UML transformations demo (11 min 18 sec)


Back to top


Document options

Document options requiring JavaScript are not displayed


Tell your boss
A practical guide to SOA development
Business-Driven Development
Learn more
New IBM Rational Architecture Management and Construction solutions version 7.5