Software design and development with Rational Software Architect

Systems are most efficiently built and successfully deployed when the architectural specification is clear and all stakeholders agree upon the design early in the project lifecycle.

Iterative development support

The Rational Unified Process® (RUP) advises that software design and development happen in four phases: inception, elaboration, construction, and transition. The process emphasizes the adoption of software development practices that ensure that, within and across these phases, the development team performs the following important activities.
  • Manage requirements
  • Model visually, using the Unified Modeling Language (UML)
  • Develop iteratively
  • Control change
  • Continuously verify quality
To adhere to the principles of RUP, your team can use the Rational® Software Architect to apply proven software develpment lifecycle practices.
  • Requirements gathering and use case modeling

    Requirements can come from many sources, but the system’s analysts and architects must consolidate these into requirements documentation and manage these requirements. From the requirements, your team can draw system use cases and high-level system behavior.

    Sites that use Rational RequisitePro® can use the Requirements Management perspective to map existing requirements definitions to existing UML model elements, such as use cases. You can also create requirements from existing model elements, or create model elements from existing requirements definitions.

    The software architect creates a use case model to define system use cases and behavior, and actors on the system, as well as to specify user workflows.

  • Domain analysis

    Business analysts and architects describe the system domain by defining a high-level functional model of the system. The analysis phase identifies the data that will be stored in the system and how it will be processed.

    The architect creates an analysis model to describe a logical view of the functional requirements. This model defines high-level objects in the system and their interactions.

  • Detailed architectural design

    The architect, in conjunction with the software development team, designs the system architecture at a detailed level.

    During detailed design, the development team takes the high-level model that was created during analysis activities and creates the design model. The developers add details to the model to describe the implementation of the system, such as programming constructs and technologies that are used for persistence, security, logging, and deployment.

    The design model can be further refined by applying proven design patterns and automated model-to-model transformations.

  • Implementation

    The development team uses the approved design to implement the application.

    Developers transition from design to implementation by using automated transformations to convert the model to code (such as Java™, EJB, or C++) and by continuing to develop and deploy the application by using software and Web development, debugging, testing and deployment capabilities.

    Developers of Java applications can take advantage of additional structure analysis and control features to ensure that the code conforms with predefined and user-defined structural rules. In addition, developers can search Java code for known structural patterns using an automated pattern mining feature called Architectural discovery.

Cross-discipline workflow support

While requirements gathering, modeling, and implementation are iterated across different phases of the project lifecyle, several workflows are supported continuously throughout the project.

Parent topic: Product overview

Terms of use | Feedback
(C) Copyright IBM Corporation 2004, 2005. All Rights Reserved.