Professional Documents
Culture Documents
net/publication/220093003
CITATIONS READS
6 406
3 authors, including:
All content following this page was uploaded by Jose Zagal on 03 June 2014.
Maintenance-Oriented
Design and Development:
A Case Study
José Pablo Zagal, Virtualia S.A.
eneral consensus says that maintenance efforts are the most time-
maintenance is regarded as the last and least level as design and implementation, the en-
rewarding step of software development, tire software development process focuses
with most of the effort focused on the de- on the area that demands the most time,
sign and implementation. Thus, software money, and effort.3 This focus allows not
The authors use engineering tends to concentrate on a small only the development of better-quality soft-
a case study to part of the software life cycle.7 ware but also software that is more adapt-
What happens when we shift our per- able to subsequent changes. The software is
compare traditional
spective and embed the implementation easy to maintain simply because of the way
and maintenance- stage inside the maintenance step? Software it was designed and developed. This is espe-
oriented processes. development becomes an initial base design cially important when we consider that
Accepting the followed by maintenance because the initial maintainability is obviously related to the
importance of design stage now considers maintenance as skills of the maintenance team, the tools
maintenance, and the next step (see Figure 1b). The base de- available, the process’s maturity, and so on.9
focusing the sign specifies the design schemes and how Considering software maintenance before it
development they will handle quality assurance and re- is even implemented is akin to asking who
process toward it, quirement changes.8 This focus ensures that will use my software and how five years af-
produces software the software to be designed is maintainable, ter I develop it. In other words, maintenance
projects that are because once the base design is finished, begins where development begins.10
successful, on time, maintenance starts, even if there is nothing The case study project we present here is
implemented yet. an excellent opportunity to see if this kind
and on budget.
When we place maintenance at the same of approach reduces costs, shortens devel-
The tools
■ Modifications to each game’s educa- A game is made up of a sequence of sce-
tional schema (change educational con- narios, each one containing a decorative
tents and adjust game’s self-regulation background, an infrastructure of static ob-
mechanism, which reacts to user skill) jects (such as floor, walls, and statues), and
a set of dynamic objects (such as protago-
Because it was clearly inefficient to sit nists and enemies). A content manager de-
down and work out a stable design for each cides when and what text and graphics to
separate game, we decided to delimit the do- show using any of the scenario constituents.
main of the games by establishing a base of Under this scheme, a particular game adds
common features and properties. We could its own specific logic, mainly by extending
thus develop a specific set of tools for each the funcionality of the objects shown. Fig-
domain as well as a game engine to support ure 3 shows the structure of the software
them. The purpose of these tools was to al- domain engine that executes the high-level
low better maintenance by providing an au- specifications from the editors in runtime
tomated and standardized specification mod- (explained further in the next section).
ification process. We designed these tools to
allow fast and efficient maintenance of soft- Scenario editor and validator tool
ware that wasn’t completely designed yet and The first three maintenance areas (game
to let each specific game developer easily test levels, game dynamics, and interface modifi-
his or her changes directly on the engine. By cations) are related in that they deal with the
working with high-level specifications and specification and modifications that redefine
covering a significant part of the final appli- different aspects of usability, playability, and
cations, these tools went one step beyond entertainment. We considered these areas
maintenance to support graphic design and when we developed the scenario editor and
implementation tasks. validator tool under a standardized scheme
all game designs could share. We developed
the scenario editor and validator tool to gen-
erate more automated code and data than is
generated in the traditional approach. This
Draws in
Background tool allows the specification of the standard-
ized virtual game world (or scenario) in
which the game takes place, including the
background and the objects with which the
protagonist can interact (such as the floor,
Static Draws in Content
Scenario boxes, and enemies).
object manager
Figure 4 shows how the designer specifies
the properties that a given visual object has
within the game. In Figure 4a, a palette lets
Draws in
us choose a graphic object (bitmap) from
Dynamic
object
those that are available. These objects’ at-
tributes are defined with the properties edi-
tor (see Figure 4b)—for instance, the ob-
Figure 3. The structure of the software domain engine. jects’ position in the scenario, the way the
T
scheme separated the presentation configu- he maintenance-oriented approach
ration process from the content specifica- we adopted from the beginning of
tion, the latter being formatted according to the process contributed to a defini-
the configuration defined in the former. Al- tive gain in lower and standardized mainte-
though this diminished flexibility, the whole nance costs. Process control and software sta-
content design for a game took less time in bility were strengthened, because code was
this case due to the Content Editor’s avail- modified only in defined places and mainte-