Information Technology Reference
In-Depth Information
Software Engineering appeared to face the need for better quality control of the
software development process. It mostly aims to apply systematic approaches from
engineering to the software development process. There are several approaches to
software development such as the traditional waterfall model and newer agile
software development processes.
In general, software development is a highly complex activity. Several software
development methods including distinct stages have been proposed in the literature.
Sommerville [1] states that the key stages in software development, are common to
most methods, comprising:
Software specification - software features and constraints on its operation must
be completely defined;
Software design and implementation - the software to meet the specifications
have to be produced;
Software validation - the software must be validated to ensure it is what
customers/users want;
Software development - the software must evolve to meet the requirements of
customers/users.
Software development is a highly complex activity, and in the large majority of cases
it occurs without being properly planned, supported only by short-term decisions of
[2]. This approach may work for small software packages and projects, but as the
system grows, so the difficulty of adding new features also grows. Additionally,
Shneiderman & Plaisant [3] state that 60% of the software development projects fail
in setting goals. This particular problem arises because in most projects there is a lack
of communication between team members and between team members and end users.
Therefore, choosing the appropriate method for developing software have obvious
economic and competitive advantages, gains in terms of quality. However, if a less
appropriate development method is selected, the more likely the project will exceed
its time limits and problems will arise such as economic problems [4].
This paper includes a brief theoretical background on the evolution of software
development methodologies, referring to examples of methods used in the
development of educational software packages. Subsequently, a brief UCD
description is made based on the exposition of its assumptions and on its importance
for the development of educational software. Next, a brief description of the HUCDM
and finally, it includes a brief reflection about HUCDM and some final
considerations.
2
Educational Software Development Methodologies
The first methods (referred in the literature as disciplined, traditional or classic)
derived from the most common processes of software development. The method of
water cascading or software development life cycle, emerged in the 70s and provided
the theoretical basis for most of the subsequent methods. It is sometimes referred to as
a generic method for developing software [1]. However, according to Larman and
Search WWH ::




Custom Search