background image
<< The Rational Best Practices, Tools and Services | What Is Rational Suite? >>
Use component-based architectures
<< The Rational Best Practices, Tools and Services | What Is Rational Suite? >>
Principles of Software Development
19
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 its 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
represent a lot of information in a small amount of space ("A picture is worth a
thousand words"). More importantly, visual models improve communication
because they communicate in the Unified Modeling Language (UML), the
industry-standard language for visualizing and documenting software systems.
Continuously verify quality.
Verifying software quality means testing what has been
built against defined requirements. Testing includes verifying that the system delivers
required functionality and verifying reliability and its ability to perform under load.
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.