0% found this document useful (0 votes)
27 views13 pages

M4 Lesson 1

Uploaded by

Jayboy Mabuti
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views13 pages

M4 Lesson 1

Uploaded by

Jayboy Mabuti
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

IT 101

Human Computer
Interaction
LEARNING GUIDE

NOIME MUJERES-MANTE
2022
No copies temporary or permanent, in whole or in part of
this IM shall be made without written permission from
Northwest Samar State University.

Vision: A provider of relevant and quality education to a society where citizens are competent, dignified and Page 2 of 13
community -oriented.
Mission: An academic institution providing technological, professional, research and extensions programs to form
principles men and women of competencies and skills responsive to local and global development needs.
Vision

A provider of relevant and quality education to a society


where citizens are competent, skilled, dignified, and
community-oriented.

Mission

An academic institution providing technological,


professional, research and extensions programs to form
principles men and women of competencies and skills
responsive to local and global development needs.

Quality Policy

Northwest Samar State University commits to provide excellent, relevant, and


quality instruction, research, extension, and production by adhering to
regulatory and statutory requirements and pledging to continually improve its
Quality Management System, thereby satisfying client needs and producing
world-class professionals.

Core Values

Resilience. Integrity. Service. Excellence


Learning Guide in

Title

IT 101: Human
Page

Computer
Interaction
ii IT 101: Human Computer Interaction

Module 4: HCI IN Software


Process Usability Engineering
Module Overview/Description
In today's fast-paced world, interactive systems are an integral part of
our daily lives, ranging from mobile apps to web interfaces and beyond.
Ensuring that these systems are user-friendly and efficient is paramount. This
module, "Understanding HCI in Software Engineering," delves into the crucial
discipline of Human-Computer Interaction (HCI) and its role in creating
interactive systems that users love. The module begins by emphasizing the
importance of usability in the software development process, underlining that it
should be a fundamental concern from project initiation to completion.
The purpose of this module is to equip learners with a comprehensive
understanding of HCI's significance in the broader context of software
engineering. It navigates through the software life cycle, outlining the structured
approach to developing software and how usability becomes an inherent part
of it. The module examines essential activities, such as requirements
specification, architectural and detailed design, coding and unit testing,
integration and testing, and maintenance. Through practical examples and
case studies, learners will appreciate the complex relationship between
customers, designers, and end-users in the software development process.

Vision: A provider of relevant and quality education to a society where citizens are competent, dignified and Page 2 of 13
community -oriented.
Mission: An academic institution providing technological, professional, research and extensions programs to form
principles men and women of competencies and skills responsive to local and global development needs.
iii

Lesson 4.1: The Software Life Cycle

Let’s Hit These (Objectives)

a. Understand the key phases involved in the software


development process and how these phases form a structured
sequence known as the software life cycle.
b. Differentiate between the roles of customers (those who need
the software) and designers (those responsible for creating
the software), and recognize the significance of this
differentiation in the software development process.
c. Acknowledge the iterative nature of design within the software
life cycle and the impact of feedback and changes throughout
the process.
d. Appreciate the importance of documentation, including the
sign-off process and contractual obligations, in software
development and how it serves as a mechanism for
accountability.
e. Identify the challenges associated with early requirements
specification, particularly in the context of interactive systems,
and the implications of setting rigid requirements too early in
the design process.

Let’s Read (Content/Discussion)

The Software Life Cycle

The software development process can be compared to traditional


engineering disciplines, where structured application of scientific techniques
is used to create a product. In software engineering, this structure is crucial for
creating software systems effectively. This structured process is known as the
"software life cycle," and it outlines the different steps involved in developing
software.
In software development, there are two main groups: the customer, who
needs the software, and the designer, responsible for creating it. These groups
can consist of many individuals, and sometimes, a person can be both a
customer and a designer. It's important to differentiate between the customer
who's the client of the designing company and the customer who will ultimately
use the system. These two roles might be fulfilled by different people. For the
sake of clarity, we'll use the term "customer" to refer to the group that interacts
with the design team, and we'll call those who use the system "users" or "end-
users."
So, in essence, the software life cycle is a structured way of developing
software, involving customers who need it and designers who create it. The
users, or end-users, are the ones who will eventually use the software.
Activities in Life Cycle

Vision: A provider of relevant and quality education to a society where citizens are competent, dignified and Page iii of 13
community -oriented.
Mission: An academic institution providing technological, professional, research and extensions programs to form
principles men and women of competencies and skills responsive to local and global development needs
iv IT 101: Human Computer Interaction

The software development process, often likened to engineering,


follows a structured sequence of activities to create a software product. This
sequence is called the software life cycle. It begins with the requirements
specification, followed by architectural design, detailed design, coding and unit
testing, integration and testing, and ends with maintenance.
1. Requirements Specification: This initial phase involves capturing what
the eventual system is expected to provide. It focuses on
understanding the needs of the customer, gathering information about
the work environment, and defining what functions the software must
perform. The requirements are usually initially expressed in natural
language and need to be transformed into a more precise, executable
form.
2. Architectural Design: After specifying what the system should do, the
focus shifts to how the system provides these services. Architectural
design involves breaking down the system into components that can
be developed independently. This process also includes defining how
these components interact and share resources. It primarily addresses
functional requirements.
3. Detailed Design: The architectural design provides a high-level view of
components, and detailed design refines these components for
implementation. This phase involves creating component descriptions
detailed enough for actual coding. Behavioral constraints from the
architectural design must be preserved. Design options are considered,
decisions made, and the reasons documented.
4. Coding and Unit Testing: In this phase, the detailed design is translated
into code. Components are coded and tested to ensure they function
correctly according to predefined criteria. Research in this area
includes automating coding from detailed design and generating tests
to verify correct behavior.
5. Integration and Testing: As individual components are developed and
tested, they are integrated according to the architectural design.
Further testing is done to ensure correct system behavior and resource
sharing. Acceptance testing with customers may occur at this stage to
ensure that the system meets their requirements.
6. Maintenance: After product release, all work on the system falls under
the category of maintenance until a new version is required, or the
product is phased out. Maintenance involves fixing post-release errors
and revising the system to meet unanticipated requirements. This
phase provides feedback to all previous activities in the life cycle.

Vision: A provider of relevant and quality education to a society where citizens are competent, dignified and Page 4 of 13
community -oriented.
Mission: An academic institution providing technological, professional, research and extensions programs to form
principles men and women of competencies and skills responsive to local and global development needs.
v

The software life cycle is a


structured approach to developing
software, ensuring that customer
needs are met, and that the system
functions as intended. This process
reflects the iterative nature of
software development, where
feedback from maintenance
informs future development cycles.

Validation and Verification


Validation and verification are crucial aspects of software development
to ensure that the final product meets requirements, is internally consistent,
and works correctly. Let's break down these concepts further:
Verification ensures that the software is designed "right" by checking its
internal consistency and correctness.
Example. In the detailed design of a payroll system, verification would involve
confirming that the algorithm used to calculate taxes from an employee's
gross income is implemented correctly. This is an internal check to guarantee
that the calculation is accurate.
Validation confirms that the software is designed to satisfy the "right"
requirements, meaning it fulfills the customer's needs and expectations.
Example. In the context of an interactive system like a mobile banking app,
validation includes assessing whether the app's design aligns with the user's
expectations and needs. This is often done through user testing to ensure the
interface is user-friendly.
Objective vs. Subjective
− Verification is more objective because it primarily involves confirming
that the software works as intended according to a specific set of rules,
often within the same language or between languages with precise
mathematical semantics.
− Validation, on the other hand, is more subjective. This is because it
often requires translating between the language of customer
requirements (which may be informal and ambiguous) and the
language of the design (which is more structured). This "formality gap"
makes validation less objective and can rely on subjective means of
proof.
Proof in Verification and Validation:
− Verification proofs can often be more formal or rigorous because they
deal with the internal consistency and correctness of the design. These
proofs can sometimes be carried out with a high degree of formality
when precise mathematical languages are used.
− Validation proofs are trickier because they involve transforming
between languages (from customer requirements to the design
language). These transformations introduce subjectivity, as real-world

Vision: A provider of relevant and quality education to a society where citizens are competent, dignified and Page v of 13
community -oriented.
Mission: An academic institution providing technological, professional, research and extensions programs to form
principles men and women of competencies and skills responsive to local and global development needs
vi IT 101: Human Computer Interaction

requirements are inherently ambiguous and not as mathematically


precise. This means that validation will always have some level of
subjectivity.
Narrowing the Formality Gap:
To improve the confidence in the subjective proof required for
validation, software designers can use real-world experts. These experts may
not have expertise in design notations, so it's crucial that the design notations
are interpretable from their perspective. For interactive systems, experts might
come from cognitive or psychological domains, and the design specifications
should be clear from these perspectives to validate them against interactive
requirements.
In summary, verification ensures that the software is technically
correct, while validation ensures that it satisfies the customer's needs and
expectations. Verification is more objective, involving internal checks, and can
be carried out with varying degrees of formality. Validation is more subjective,
as it bridges the gap between customer requirements and formal design, often
relying on expert judgment. The use of clear and interpretable design notations
can help narrow the formality gap and improve the validation process.

Management and contractual issues


The management and contractual aspects of software development
are equally critical alongside the technical features. These issues ensure that
the software project progresses efficiently and meets its intended goals. Let's
delve deeper into these management and contractual issues:

Development Phases and Temporal Perspective:


In software development management, a broader perspective is
necessary, taking into account marketability, training needs, resource
availability, and other factors outside the technical activities.
Temporal relationships between activities and intermediate
deliverables are of greater importance from a managerial perspective.
Software development is usually organized into phases defined by the
documentation inputs and outputs. For example, the requirements phase takes
marketing and conceptual information as input and produces a requirements
specification as output.

Phases and Contractual Obligations:


The customer and the designer must sign off on various documents at
different phases to indicate their satisfaction with the progress.
These signed documents often carry a certain degree of contractual
obligation between the customer and the designer.
For example, a signed requirements specification signifies that both
parties agree on the listed requirements. The customer commits to limiting
their demands to what's specified, and the designer commits to fulfilling these
requirements.

Vision: A provider of relevant and quality education to a society where citizens are competent, dignified and Page 6 of 13
community -oriented.
Mission: An academic institution providing technological, professional, research and extensions programs to form
principles men and women of competencies and skills responsive to local and global development needs.
vii

Challenges of Early Requirements:


Defining all requirements upfront can be difficult, especially for
interactive systems, where usability requirements might evolve as the design
progresses.
From a technical perspective, it's acknowledged that not all
requirements can be determined at the beginning. A comprehensive
requirements specification may only become clear after the product is in
operation.
However, from a management perspective, it's generally unacceptable
to delay the requirements specification until the later stages of development.

Implications of Contractual Obligations:


Contractual obligations are essential for managing software
development but can have negative consequences on the design process.
In the context of interactive systems, it's challenging to set rigid
requirements too early because it may result in vague, high-level requirements
that don't guide the designer or overly specific requirements that stifle design
flexibility without ensuring usability benefits.
In summary, managing software development involves considering not
only the technical stages of the life cycle but also the temporal relationships
between these stages, documentation, and contractual obligations. Striking
the right balance between setting clear requirements early and allowing
flexibility for iterative design is crucial, especially for interactive systems where
usability requirements may evolve with the design process.

Interactive systems and the software life cycle


The traditional software engineering life cycle, originally developed in
the 1960s and 1970s, was designed to structure the development of large
software systems, primarily batch-processing systems for business
applications. However, as personal computing became popular, interactive
systems became prevalent, necessitating a shift in focus toward usability.
Here are some key points regarding the intersection of interactive
systems and the software life cycle:
− Interactive Systems and Modern Needs: With the rise of interactive
systems in modern computing, it's crucial for systems to be user-
friendly, especially since users are typically not software experts. As
such, usability and user experience have become paramount.
− Iterative Nature of Design: While the traditional software life cycle is
depicted as a linear pipeline, in practice, even for non-interactive
systems, design is an iterative process. Work in one design activity can
influence work in other activities before or after it.
− Significance of Interactive Design: Surveys have shown that a significant
portion of a designer's time is spent on designing the user interface of
software. Therefore, providing structure and techniques for interactive
system design is of great importance.

Vision: A provider of relevant and quality education to a society where citizens are competent, dignified and Page vii of 13
community -oriented.
Mission: An academic institution providing technological, professional, research and extensions programs to form
principles men and women of competencies and skills responsive to local and global development needs
viii IT 101: Human Computer Interaction

− Incomplete Requirements: In the context of interactive systems, it's


often challenging to determine all requirements from the start. Users
may only discover their needs as they become more familiar with the
system. Thus, requirements capture activities may not be executed
correctly, and requirements will evolve over time.
− Task Understanding: A principled approach to interactive system design
relies on a clear understanding of the tasks users wish to perform.
However, sometimes users only discover these tasks once they are
familiar with the system.
− Implicit Tasks: Some tasks that users perform with a system were never
explicitly intended by the designer. Users may invent creative uses for
software tools that the designers did not anticipate.
− User-Centered Design: The traditional software life cycle may not
adequately promote notations and techniques that align with the user's
perspective. Using appropriate notations can help bridge the "formality
gap" between design and user expectations.
The discussion emphasizes the need for a user-centered design
approach for interactive systems, which involves techniques and methods that
prioritize the user's experience and actively involve users in the design process.
This approach recognizes that requirements may evolve, and the design
process should adapt to address the dynamic nature of user needs.

Vision: A provider of relevant and quality education to a society where citizens are competent, dignified and Page 8 of 13
community -oriented.
Mission: An academic institution providing technological, professional, research and extensions programs to form
principles men and women of competencies and skills responsive to local and global development needs.
ix

NORTHWEST SAMAR STATE UNIVERSITY


San Jorge Campus

For inquiries, contact:

DANICA ZANDRA OCENAR


danica.zandra@nwssu.edu.ph
+63961225150

San Jorge Campus, San Jorge, Western Samar


Philippines 6723
sjc.imdo@nwssu.edu.ph
+639612251150

Vision: A provider of relevant and quality education to a society where citizens are competent, dignified and Page ix of 13
community -oriented.
Mission: An academic institution providing technological, professional, research and extensions programs to form
principles men and women of competencies and skills responsive to local and global development needs

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy