Overview IBM Rational Suite for Software Testing

Posted on Jan 29 2008 - 4:14am by Raj

Rational Suite editions are sets of tools customized for every member of your team. Each Suite edition contains the tools from the Rational Suite Team Unifying Platform. The Team Unifying Platform is a common set of tools that focus on helping your team perform more effectively. Each Rational Suite edition also contains tools selected for a specific practitioner on your development team.

What Is Rational Suite?

Rational Suite editions are sets of tools customized for every member of your team. Each Suite edition contains the tools from the Rational Suite Team Unifying Platform. The Team Unifying Platform is a common set of tools that focus on helping your team perform more effectively. Each Rational Suite edition also contains tools selected for a specific practitioner on your development team.

Some features of Rational Suite: 

  • Unifies cross-functional teams in a Windows environment through key product integrations and workflow 
  • Includes the IBM Rational® Team Unifying Platform to manage development across the lifecycle. 
  • Accelerates development through visual modeling, code-generation and reverse engineering capabilities 
  • Finds and eliminates runtime errors, memory leaks and performance issues. 
  • Includes best practices, market leading tools, and configurable process. 
  • Provides all the tools your team needs in one box.
  • Offers access to product-specific discussion forums, white papers, and re-usable assets as a member of the IBM Rational online development community.

Why we need Rational Suite?

Think about your last software project. Was it delivered on time? Was it released within its budget? Was communication between team members clear and timely? Did your team maintain consistency throughout the project while it defined requirements, developed designs, and wrote code? Was your build process repeatable? Did your software meet requirements, satisfy users, and perform reliably?
Many project teams experience problems in these areas. In fact, many software projects finish late (or not at all), and the results often don’t match the requirements.
Many projects uncover serious design flaws late in the process. Defects are often found after the software ships, instead of during development.
How can you make your next project more successful?
Rational helps you increase your productivity and effectiveness by focusing on these software development best practices:

Typical Software Development Process:

Develop Software Iteratively
Iterative development means analyzing, designing, and implementing incremental subsets of the system over the project lifecycle. The project team plans, develops, and tests an identified subset of system functionality for each iteration. The team develops the next increment, integrates it with the first iteration, and so on. Each iteration results in either an internal or external release and moves you closer to the goal of delivering a product that meets its requirements.

  • Developing iteratively helps you:
  • Make your project more predictable.
  • Collect feedback early.
  • Identify and eliminate risks early in the project.
  • Test continuously throughout the project lifecycle.

Manage Requirements
A requirement is one criterion for a project’s success. Your project requirements answer questions like “What do customers want?” and “What new features must we absolutely ship in the next version?” Most software development teams work with requirements. On smaller, less formal projects, requirements might be kept in text files or e-mail messages. Other projects can use more formal ways of recording and maintaining requirements.
Managing requirements means that you understand how changing requirements affect your project and you can effectively communicate requirements to all team members and to stakeholders. Effective requirements management helps your organization ensure that its products meet their stated goals.

Use Component-Based Architectures
Software architecture is the fundamental framework on which you construct a
software project. When you define an architecture, you design a system’s structural elements and their behavior, and you decide how these elements fit into progressively larger subsystems.
A component is a nontrivial, independent, and replaceable part of a system that combines data and functions to fulfill a clear purpose. You can build components from scratch, reuse components you previously built, or even purchase components from other companies.
Designing a component-based architecture helps you reduce the size and complexity of your application and enhance maintainability and extensibility so your systems are more robust and resilient.

Model Software Visually
Visual modeling helps you manage software design complexity. At its simplest level, visual modeling means creating a graphical blueprint of your system’s architecture.
Visual models can also help you detect inconsistencies between requirements,
designs, and implementations. They help you evaluate your system’s architecture, ensuring sound design.Visual models also improve communication across your entire team because they concisely convey a lot of information. With Rational tools, you can create visual models in the Unified Modeling Language (UML), the industry-standard language for visualizing and documenting software systems.

Continuously Verify Quality

Verifying product quality means that you perform activities such as testing to ensure quality of the code, documentation, and any product-related training. Testing includes verifying that the system delivers required functionality, reliability, and the ability to perform under load. It also means that there are effective user support materials.
An important benefit of iterative development is that you can begin testing early in the development process. Testing every iteration helps you discover problems early and expose inconsistencies between requirements, designs, and implementations.

Manage Change
It is important to manage change in a trackable, repeatable, and predictable way.
Change management includes facilitating parallel development, tracking and
handling enhancement and change requests, defining repeatable development
processes, and reliably reproducing software builds.
As change propagates throughout a project, clearly defined and repeatable change process guidelines help facilitate clear communication about progress. Making team members aware of change helps you control risks associated with unmanaged change.

Pages: 1 2
About the Author

Leave A Response