As the project expands and complexity grows, you have several
options for "growing the project." In some cases, the best approach
is to continue adding new elements into a single IBM® Rational® Rhapsody® project.
In other cases, it is more efficient to create a new project.
No single solution fits all scenarios.
Consider the following issues when planning for project growth and
expansion:
- For a single project, it is easy to apply a property
or set of properties to all model elements. For multiple projects,
the process must be done for each project.
- The configuration management archive associated
with a project is stored in a project‑level property. Therefore, if
a project will be stored in more than one archive, you must create
a separate project for each archive.
- When you want to achieve a situation where all
team members are aware of all the design parts, including those parts
that they are not directly involved with, having a single project
is a good approach.
- If you want to isolate the work of different team
members so each member sees only the elements relating to their work,
create multiple projects (one for each team member).
- Distributed teams working on different components
of a system can benefit from splitting the overall project into several
smaller projects.
- If you want to reduce the complexity of a project,
you can create multiple projects that define and encapsulate each
functionality for the overall project. In this way, all team members
can have access to all the elements in the overall project.
- When your project is practicing in a binary reuse
pattern, split it into several projects. When using a model reuse
pattern, do not split it.
- When the project is mapped to several binary components
that are interleaved in order to create a final product (for example,
a set of libraries used by one or more executables), placing them
in a single project helps the team member designing not only the internals
for the component but also the relations between them using component
diagrams (makefiles take into account cross‑component relations).
The following issues typically do not affect
the decision to split a project into multiple projects:
- Time to load the project into Rational Rhapsody. The
partial load feature enables you to load only the units needed for
your current task without loading the entire project.
- The operating system. If a single design
needs to be regenerated to target several operating systems, there
is no need to create multiple projects.
The decision of how to structure the overall
project is not irreversible; you can easily divide a project into
two projects, and you can merge two projects into a single project.