Software Project Management Brochure Template Page 9

ADVERTISEMENT

Software Project Management
9
As soon as the initial set of requirements is gathered, the project manager
should direct the chief architect and some other engineers to define the initial
software architecture of the system to be developed. Software architecture
definition does not get sealed after the project begins. On the contrary, it is an
evolving activity that continues through all the phases of the product's lifecycle.
It interweaves with requirements specification, domain analysis, study of
possibilities for reuse, and even design.
The Unified Process of software development treats the problem of software
architecture definition and evolution as its central activity [24]. Software
architecture is described by different views of the system being built, and these
views are in turn represented by different UML models and diagrams.
One of the ultimate goals of the Unified Process is to produce and
continuously evolve the system's executable architecture. Even in the project's
early phases a limited version of the executable architecture must be developed
and demonstrated. At the project's closure, it is important for the system
architecture to support all of the use-cases specified through requirements
engineering. However, in the early phases the architects should capture just a
rough outline of the architecture. It is not viable to base that outline on all of the
use cases. For that reason, architects first select the general architectural style in
a use-case-independent way, and then refine it taking into account only a small
subset of all the use-cases for the system. That small subset usually contains no
more than 5-10% of the whole set, but all the use-cases in the subset represent
the key functions of the system under development. As the use cases are further
specified and they mature, more of the architecture is discovered, and more
details are introduced. This process continues until the architecture stabilizes.
Selecting an architectural style and evolving the software architecture is far
from being simple, because it involves many issues other than just the system's
overall structure. Project managers must be aware of such issues. The issues
include the platform the system is to run on (e.g., the hardware architecture,
operating system, database management system, and network protocols), global
control structures, data communication, synchronization, and access protocols,
reusable building blocks available, deployment considerations, legacy systems,
the choice among multiple design alternatives, assignment of functions to
modules and subsystems, the system's functionality, scalability, reliability, and
usability, its comprehension and resilience to changes, and also its esthetical
considerations.
For that reason, the architecture of a software system is considered a product
in its own right, along with the main software product to be delivered to the
customers. It is the development team that benefits most from the software
architecture as a product.

ADVERTISEMENT

00 votes

Related Articles

Related forms

Related Categories

Parent category: Business