| |
2.2. Review of Existing Development
Processes 13 with
user-centered design, general HCI principles, and participatory design. This
section ends with the presentation of single approaches
that do not fit well into the above categories
but are pertinent to the field of ubiquitous and wearable computing.
2.2.1 Software Engineering
Software engineering is the total set of activities needed
to transform requirements into software
[ Humphrey
1989 ] . It has a long tradition in describing e
cient pro- cesses for developing new custom computer applications. The term software-engin-
eering was first created at the NATO conference 1968 in Garmisch-Partenkirchen
[ Naur and Randell 1968
] . Larger computer programs and more complex systems
revealed the software crisis. Increasing lines of code made it di
cult to detect errors and raised modification costs for further updates. Large software projects
started involving huge amounts of people. While hardware costs were decreasing,
software costs increased. Finally, the scientific field of software-engineering became
established and introduced methodologies and processes to develop software with
engineering methods. Users are mainly seen as customers that pay the developer for
solving the users needs by tailored software developments. Di
erent models have been developed to guide the developers through the entire development cycle in a
systematic way. Waterfall
Model is the best-known and oldest process
[ Royce 1987
] . Developers
analyze the problem, design a solution approach, create a software framework for
that solution, develop code, test, deploy, and maintain. The problem is that ade-
quate experience to analyze and specify large systems is almost never available and
errors discovered late in the process are expensive to fix. The waterfall model has
been widely discredited in practice, though many people still seem to idealize it.
Spiral Model is a software development model that combines elements of both
design and prototyping in several cycles
[ Boehm 1986
] . Each cycle starts with a
goal, e.g. user-interface in an early cycle, and ends with a review with the customer.
So, the process starts with a rough-cut of user elements (without pretty graphics)
as an operable prototype. Features are added in cycles, and, finally, final graphics
and full-functionality of the application are available at the end of the process.
Booch Method is a widely used object-oriented analysis and object-oriented design
method [
Booch 1994
] . In contrast to the waterfall- and spiral-model it follows the
paradigm of object-oriented programming and proposes to derive object-classes from
use-cases, that represent single user actions (doctor creates new patient entry).
The Booch method also provides its own notation (which now has been superseded
by UML [
Booch et
al. 1999 ]
) for di erent diagram types to lead towards a set of
object classes and relationships. Similar to the water-fall model the Booch method
comprises several strictly consecutive steps. The main strength of the Booch process,
|  |
|
| |
|
|