Software Project Management Brochure Template Page 8

ADVERTISEMENT

8
Handbook on Software Engineering & Knowledge Engineering
diagram-based requirements analysis (using multiple diagrams to sketch
relevant parts of the user's work process and describe the requirements
graphically);
using metaphors of the user's work process (e.g., the office metaphor, or
the agent/agency metaphor);
scenario analysis (scenario is a typical sequence of activities
characterizing the user's work process, hence it reflects what the user will
do with the system and helps define the test procedures);
using special-purpose software tools for requirements gathering (some of
them can be simulation-based);
requirements completeness and consistency checks (some of them can be
automated, others must be performed manually);
using special-purpose requirements-specification languages in order to
describe requirements more formally and hence provide more automated
requirements tracing;
prototype system development, in order to make the requirements clear
and to establish better mutual understanding with the users;
analyzing videotaped user's work process.
When managing software development according to the Unified Process,
requirements are captured mostly through the use cases and use-case diagrams.
A use case can be described as a specific way of using the system from a user’s
(actor’s) perspective [13]. Use-case diagrams graphically depict system behavior
(use cases), i.e. a high level view of how the system is used as viewed from an
outsider’s (actor’s) perspective [24].
Software Architecture
Software architecture encompasses specification and design of the application's
global structure, leaving the details aside [42]. It is related to the general
software organization in terms of its components and connectors. Components
are things like modules, compilation units, objects, and files. Connectors define
interactions among components through procedure calls, parameters of
initialization, instructions for the linker, and so on.
Defining the architecture of a software system involves the choice of
architectural style. Each architectural style defines a family of software systems
organized in a similar way, the corresponding vocabulary of components and
connectors, constraints in using the components and connectors in building the
system according to that style, and the way the overall system behavior depends
on the behavior of its components. Examples of software architectural styles
include layered architectures, pipeline architecture, object-oriented architecture,
event-based architecture, repository-based architecture, component-based
systems
(CBS)
architectures,
process-control
architectures,
real-time
architectures, and various heterogeneous and Internet-based architectures.

ADVERTISEMENT

00 votes

Related Articles

Related forms

Related Categories

Parent category: Business