KEMBAR78
COSC 409 Summary | PDF | Software Development Process | Human–Computer Interaction
0% found this document useful (0 votes)
27 views17 pages

COSC 409 Summary

Human-Computer Interaction (HCI) is a multidisciplinary field focused on designing user-friendly computing systems, evolving from its origins in the 1980s with personal computing. The goals of HCI include safety, utility, effectiveness, efficiency, and usability, while poor user interfaces often stem from inadequate training and rapid technological changes. The document also covers software engineering principles, software development life cycle models, the importance of personas in design, accessibility considerations, and guidelines for effective user interface design.

Uploaded by

hamzahaladu002
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 views17 pages

COSC 409 Summary

Human-Computer Interaction (HCI) is a multidisciplinary field focused on designing user-friendly computing systems, evolving from its origins in the 1980s with personal computing. The goals of HCI include safety, utility, effectiveness, efficiency, and usability, while poor user interfaces often stem from inadequate training and rapid technological changes. The document also covers software engineering principles, software development life cycle models, the importance of personas in design, accessibility considerations, and guidelines for effective user interface design.

Uploaded by

hamzahaladu002
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/ 17

COSC 409 SUMMARY

HCI: is a multidisciplinary field that focuses on the design, evaluation, and

implementation of interactive computing systems for human use. It encompasses the

processes, dialogues, and actions through which humans interact with computers and

other forms of information technology.

HCI: is the study of how people use computers and how to design computer systems that

are easy and enjoyable to use. It focuses on making sure that technology fits well with

how humans think and work, ensuring that interactions with computers are effective and

user-friendly.

HISTORY OF HCI

Human-Computer Interaction (HCI), previously known as Man-Machine Studies,

emerged in the 1980s with the advent of personal computing devices like the Apple

Macintosh and IBM PC. As computers became widely available to the general public for

various applications, the need for user-friendly interfaces grew. Initially focused on

desktop computers, HCI expanded to include multiple disciplines such as computer

science, cognitive science, and human-factors engineering. It evolved to address not only

usability but also the broader context of mobile technology, social and organizational

computing, accessibility, and diverse applications like gaming, education, healthcare, and

emergency response. HCI now encompasses a wide range of interaction techniques and
devices, moving beyond traditional graphical interfaces to include multimodal and

context-aware interactions.

GOALS OF HCI

1. Safety: Safety of users as in Air Traffic Control Applications, Hospitals, Intensive

care, Nuclear Power Stations etc.

 Minimizing the risk of user errors and ensuring that systems are safe to

use. This includes designing for error recovery and preventing potential

hazards.

2. Utility: The services a system provides for example Ability to print documents

 utility refers to the extent to which a system provides the necessary

functionalities that users need to complete their tasks. A system with

high utility provides real value to its users by enabling them to perform

their tasks in a way that is effective, efficient, and satisfying.

3. Effectiveness: User ability to achieve goals. For example.

 Effectiveness: is Developing systems that help users accomplish their

tasks accurately and completely.

4. Efficiency: A measure of how quickly users can accomplish their goals and finish

the work using the system.

 Efficiency: Optimizing the speed and resource use of interactions

between humans and computers.


 Efficiency: Enhancing the productivity of users by designing systems

that help them complete their tasks quickly and with minimal effort.

5. Usability: is a measure of the ease with which a system ca be learned and used.

 Usability: Designing systems that are easy to learn and efficient to use.

 Usability: Making systems easy to use, efficient, and satisfying. This

includes ensuring that users can achieve their goals with minimal effort and

errors.

REASONS WHY USER INTERFACES ARE POOR TODAY

1. Inadequate training of people developing interfaces

2. Diversity of knowledge required to design good interface

3. Rapid technological advancement

4. Reluctant of companies to commit resources

5. User Interface specialists rarely involved

6. The “bricklayers” (programmers) are left to design the user interface by default.

7. Poor management- programmers do not talk to design team and vice versa

GOOD AND BAD DESIGN

GOOD DESIGN: A design that is intuitive, efficient, visually pleasing, accessible,

provides clear feedback, minimizes user errors, and maintains consistency throughout the

user experience.

 Increase productivity

 Increase competitive Advantage


 Increase User satisfaction

 Reducing development and maintenance cost

 Lower support cost

BAD DESIGN: A design that is confusing, inefficient, unattractive, exclusive, lacks

clear feedback, is prone to user errors, and is inconsistent in its visual and functional

elements.

 It is frustrating.

 It leads to waste of time.

 It can lead to loss of lives and properties.

 Decrease in productivity.

 Increase cost of training.

SOFWARE ENGINEERING

Software: is a set of instructions, data, or programs used to operate computers and

execute specific tasks.

Engineering: is the application of scientific principles and technical knowledge to

design, build, and maintain structures, machines, devices, systems, materials, and

processes.

Software engineering: is the systematic application of engineering approaches to the

development, operation, and maintenance of software. It involves designing, building,

testing, and managing software products in a structured and disciplined manner.


SOFTWARE DEVELOPMENT LIFE CYCLE MODELS

 Software Development Life Cycle Model (SDLCM) is a structured framework

that outlines the sequence of activities, methods, and deliverables required to

develop and maintain a software product throughout its entire lifecycle, from

inception to retirement.

 Software Development Life Cycle Model (SDLCM): represents the

comprehensive set of methods required for a software product to transition

through its life cycle stages, from inception to retirement. It defines the structure

and sequence of activities to be undertaken during development, capturing all

essential activities, although they may be carried out in different orders across

various models.

THE NEED FOR SDLC

 Ensures systematic and disciplined software development.

 Provides a clear understanding among team members about what to do and when

to do it.

 Prevents chaos and project failure by avoiding uncoordinated individual efforts.

 Defines entry and exit criteria for each phase of the project.

 Ensures that a phase begins only if its entry criteria are met.

 Helps software project managers monitor the progress of the project effectively.

 Helps in organizing and directing the overall development effort

 Prevents inconsistent or conflicting approaches within the same project


MODELS OF SDLC

 Waterfall Model: is a linear and sequential SDLC model where each phase must

be completed before the next phase begins. It consists of distinct stages:

requirements analysis, system design, implementation, integration and testing,

deployment, and maintenance. Progress flows in one direction, like a waterfall,

ensuring a structured and disciplined approach to software development.

- Model, like the waterfall are termed as traditional model because they are

deficient in keeping with trends in software development today.

 Spiral Model: is an iterative SDLC model that combines elements of both design

and prototyping. It emphasizes risk assessment and mitigation through repeated

cycles, or spirals, of development. Each cycle involves four main phases:

planning, risk analysis, engineering, and evaluation. This model allows for

incremental improvements and refinements, making it suitable for complex and

high-risk projects

 Incremental Model: is an SDLC model where the software is developed and

delivered in small, manageable increments or modules. Each increment adds

functional components to the system until the complete product is finished.

 Iterative Model is an SDLC model where the software is developed through

repeated cycles (iterations) rather than a single pass. Each iteration involves

planning, design, implementation, and testing.


 Agile Model is an SDLC approach that emphasizes flexibility, collaboration, and

customer feedback. It involves iterative development through small, frequent

releases, allowing for rapid adjustments based on user feedback.

 Big Bang Model is an SDLC approach where all activities, including planning,

design, coding, and testing, are performed simultaneously without much initial

planning. Development starts with the resources and efforts available, and the

product is built based on the available understanding.

SOFTWARE REQUIREMENT

Requirement: is a clear descriptions or explanation of what a system will do in a step by

step precise and detail manner. Requirements can be developed using diagrams such as

flowchart, use case diagram, ER diagram and word descriptions.

PERSONAS: A TOOL FOR CAPTURING REQUIREMENT

Personas are fictional characters, which you create based upon your research in order to

represent the different user types that might use your service, product, site, or brand in a

similar way. Creating personas helps the designer to understand users' needs, experiences,

behaviors and goals.

Purpose and Benefits:

 Personas help designers visualize and understand the users who will use the

system.
 They provide a detailed picture of the user’s education, lifestyle, interests, values,

goals, needs, limitations, desires, attitudes, and behavior patterns.

 They assist in maintaining a user-centered perspective during the design process,

aiding in idea generation.

Implementation in Design:

 Design team members use persona descriptions to keep the user's perspective in

focus.

 Personas should be created at the beginning of the design process to clearly

capture the designer's understanding of the user.

Usage and Impact:

 Personas are heavily used by companies like Microsoft in developing products

such as Windows and Internet Explorer.

 They serve as a usability evaluation method that can be applied at various design

stages.

 By creating personas, designers can better understand users’ needs, experiences,

behaviors, and goals, making the design task less complex and guiding ideation

processes.

 They help designers step out of their own perspectives and recognize the diverse

needs and expectations of different users.


Role in Design Process:

 Personas are fictional stories about imagined characters and their interactions with

the product to be developed (website, device, app, etc.).

 They are defined early in the design process and guide the project team throughout

the product development cycle.

Overall, the personas are a crucial tool for user-centered design, helping to ensure that the

final product meets the needs and expectations of its intended users.

WHY PERSONAS ARE SO IMPORTANT IN DESIGN PROCESS.

 User-Centered Design

 Clear Understanding of Users

 Consistency in Design

 Improved Usability

 Efficiency in Design Process

FOUR PERSPECTIVES THAT A PERSONA CAN ADD VALUE TO A

DESIGN

1. Goal-directed Personas: focusses on What does my typical user want to do with

my product?”. The objective of a goal-directed persona is to examine the process

and workflow that your user would prefer to utilize in order to achieve their

objectives in interacting with your product or service.


 Goals perspective: Focuses on what the user wants to achieve, their

motivations, and end objectives when using the product or service.

2. Role-Based Personas: focusses on behavior. The role-based perspective focusses

on the user’s role in the organization. In some cases, our designs need to reflect

upon the part that our users play in their organizations or wider lives.

 Behavior perspective: Examines how users typically interact with similar

products or services, their habits, and patterns of use.

3. Engaging Personas: are vivid and realistic descriptions of fictitious people

created to produce involvement and insight among designers. They move

designers from seeing users as stereotypes to actively involving themselves in the

personas' lives.

 Attitude perspective: Considers the user's mindset, opinions, and emotional

responses towards the product or related experiences.

4. Fictional Personas: emerges from the UX design team's experience rather than

user research. It is based on assumptions from past interactions with the user base

to create a picture of typical users, useful for early involvement in the UX design

process but not reliable for guiding product development.

 Looks at the environment and circumstances in which the user interacts

with the product, including physical, social, and cultural contexts.


USE OF COLORS IN DESIGN

The use of colors in design is very crucial because color affect people and evoke certain

ideas/attributes. How to build and apply color to interface design is important in order to

create usable applications. Designers should learn how to match color combinations to

interface to avoid color riot. The following guidelines should be used:

 Use single neutral color for the background.

 Black color is commonly use for the text.

 It is better to use no color than multiple colors

 Do not use white for background and soft yellow for the text, the text will fade

into the background

 Best background colors are White, Red, Orange, Green, Blue, purple and pink.

White is the best for background color.

ACCESSIBILITY

Accessibility is a word used to describe whether a product/software can be used by

people with a wide range of abilities and disabilities. It aims to provide equal access to

information for all users, regardless of their abilities.

LAWS AND REGULATIONS REGARDING ACCESSIBILITY.

 it must be suitable for the task.

 it provides feedback on performance.

 it conforms to the principles of software ergonomics.


 it is easy to use and where appropriate adaptable to the user’s knowledge and

experiences.

STRATEGIES TO HELP THOSE WITH DISABILITIES USE THE

WEB.

i. Screen Reader

ii. Screen Magnifier

iii. Braille Display

iv. Sip & Puff switch

v. Foot mouse

vi. Voice Recognition

vii. Caption/ Subtitles

viii. High Contrast Layout

ix. Keyboard control

x. Spell Checker

AJAX

AJAX is short for Asynchronous JavaScript. Is a programming concept that uses various

web technologies to create asynchronous web applications. It is a technique that allows

for:

 Asynchronous communication: updating parts of a web page without requiring a

full page reload.


 JavaScript: executing scripts on the clients-side (in the browser) to dynamically

update contents.

It enables a more responsive and interactive user experience (UX) as users can interact

with a page without waiting for a full page to reload.

WEB 2.0

Refers to websites that emphasize user-generated content, ease of use, participatory

culture and interoperability. Web 2.0 websites allow users to interact and collaborate with

each other through social media dialogue as creators of user-generated content.

METAPHOR

The notion of metaphor in interaction design is the translation of physical to digital.

When you borrow concepts and rules so that users can apply their knowledge of the

physical world.

 Metaphor is a design element that uses a familiar concept or object to represent an

abstract idea or function, making it easier for users to understand and interact with

a system.

WCAG (WEB CONTENT ACCESSIBILITY GUIDELINES)

WCAG are guidelines created by WAI (Web Accessibility Initiative). The purpose of

WCAG is to guide developers understands what they should be doing to make the web

accessible.
UX DESIGN (USER EXPERIENCE DESIGN)

UX Stands for User Experience. It refers to the overall experience a user has when

interacting with a product or service in a given environment. Depending on how the

product or service is designed.

 UX is the way a person feels when using a software/product. It is all about how

easy, enjoyable and useful it is, to interact with the software. In short, it is about

making designs/things user-friendly, intuitive and delightful.

PRICIPLES/GUIDELINES/RULES FOR DESIGNIND USER

INTERFACE BY:

1. BEN SHNEIDERMAN an American Computer Scientist came up with the

following eight (8) guidelines about designing interactive system/User interface.

They are listed below:

 Strive for Consistency.

 Cater for Universal Usability.

 Offer Informative Feedback.

 Design Dialogs to yield closure.

 Prevent errors.

 Permit easy reversal of actions.

 Support internal locus control.

 Reduce short term memory load.


2. DONALD NORMAN. Donald in 1998 proposed seven principles to be used as a

guide in designing interactive systems. They are listed below:

 Use both knowledge in the world and knowledge in the head.

 Simplify task structures.

 Make things visible.

 Get the Mapping right.

 Convert constraints into advantage.

 Design for errors.

 When all fails- Standardize.

3. JECOB NEILSEN comes up with the principles below to be used as a guide to

evaluate User Interface in order for the interface to be learned and use easily (to be

usable):

 Visibility of System status

 Match between the system and the real world

 User control and freedom

 Consistency and standards

 Error prevention

 Recognition rather than recall

 Flexibility and efficiency of use

 Aesthetic and minimalistic design

 Help, diagnosis and recovery from errors


 Documentation and Help

COGNITIVE WALKTHROUGHS

Is another evaluation technique that allows an evaluator to predicts the sort of difficulties

real users will encounter when interacting with the system under development. Cognitive

walkthroughs are a technique for imagining the user’s thoughts and actions when they

use an interface for the first time.

HTML VALIDATORS.

HTML Validators are software or tools used to evaluate websites and ensure they

conform with the Web Content Accessibility guidelines. They rated websites run through

them and give them ratings, e.g. A or AA or AAA. Examples of some HTML Validators

are:

 A checker (www.achecker.ca)

 Total Validator(www.totalvalidator.com)

 W3C Markup Validator

 W3C link checker

MULTI MODAL INTERFACE

Multimodal Interface enable a more free and natural interaction, interfacing users with

automated systems in both input and output

BRAIN-COMPUTER INTERFACES

brain-computer interfaces are new communication systems connecting the brain to an

external device. They enable two-way communication between the brain and the device
as well. Potential applications for this technology include communication devices,

cognitive enhancement technology, assistive technology, and medical apps, as well as

gaming and entertainment.

HAPTIC FEEDBACK SYSTEMS

Haptic feedback systems already allow users to experience AR and VR. In the future, this

technology will advance further to process various sensations and movements.

You might also like