Beruflich Dokumente
Kultur Dokumente
- Our goal is not to discuss the problems in Software life cycle but to
emphasize that issues from HCI affecting the usability of interactive
systems are relevant within all the activities of the software life cycle.
THE SOFTWARE LIFE CYCLE
Requirements
specification
Architectural
design
Detailed
design
Coding and
unit testing
Integration
and testing
Operation and
maintenance
Activities in the Life Cycle
Requirements specification
Designer and customer try to capture what the system is expected to
provide. Involves gathering information from the customer about the
work environment, people whom it will potentially affect and the new
product’s relationship to any other products which it is updating or
replacing.
Architectural design
High-level description of how the system will provide the services
required. We try to decompose system into major components
(modules) that can either be brought in from existing software products
or be developed from scratch independently.
Activities in the Life Cycle (cntd)
Detailed design
Refinement of component description provided by the architectural design
and interrelations to identify modules to be implemented separately.e.g
components that are not already available for immediate integration, the
designer must provide a sufficiently detailed description so that they may
be implemented in some programming language.
Maintenance
After product release, all work on the system is considered under the
category of maintenance, until such time as a new version of the product
demands a total redesign or the product is phased out entirely. Majority of
the lifetime of a product is spent in the maintenance activity. Maintenance
involves the correction of errors in the system which are discovered after
release and the revision of the system services to satisfy requirements that
were not realized during previous development. Therefore, maintenance
provides feedback to all of the other activities in the life cycle.
Validation and Verification
Throughout the life cycle, the design must be checked to ensure that it
both satisfies the high-level requirements agreed with the customer and
is also complete and internally consistent. These checks are referred to as
validation and verification, respectively. It is normally the responsibility
of software testers as part of the software development lifecycle.
Validation
designing the right product
Verification
designing the product right
Validation ensures that the product actually meets the user's needs, and
that the specifications were correct in the first place, while verification is
ensuring that the product has been built according to the requirements
and design specifications.
For example, A form is valid, when all the necessary details (according
to user requirements for the form) are filled with appropriate values, a
text for name, a number for phone number, etc. But it is verified after it
has been cross-checked with ID or passport etc
Validation and Verification(cntd)
formality gap: there will always be a distance from the informal
situations of the real world to any formal and structured development
process. We refer to this inevitable disparity as the formality gap
Interactive systems and the software
life cycle
- The claim we are making here is that all of the requirements for
an interactive system cannot be determined from the start. The
result is that systems must be built and the interaction with users
observed and evaluated in order to determine how to make them more
usable.
Interactive systems and the software
life cycle
Architectural
as in the waterfall model
design
Detailed
design
Coding and
unit testing
Operation and
maintenance
USABILITY ENGINEERING
- Usability engineering is a field that is concerned generally with human-
computer interaction and specifically with making human-computer
interfaces that have high usability or user friendliness.