Dihci L5

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

9/11/2023

1 Design & Implementation of Human-Computer Interfaces


NPTEL-MOOCS
Dr Samit Bhattacharya
Computer Science and Engineering
IIT Guwahati
2 L5 – Usability Requirement
Dr Samit Bhattacharya
Computer Science and Engineering
IIT Guwahati
3 Recap
• What we learned so far
• General introduction to the field
• Software engineering life cycles for interactive systems

4 Recap - ISDLC
5 Note
• First stage: feasibility study (we’ll not spend much time on it)

• Instead, we’ll discuss the second stage – requirement gathering, analysis and
specifications

6

7 Recap
• System Centered Design (SCD) vs User Centered Design (UCD)





8 System Centered Design
9 System Centered Design
• Main concerns
• What can I easily build on this platform?
• What can I create from the available tools?
• What do I as a programmer find interesting?

10 User Centered Design


• Design is based upon a user’s
• Abilities
• Context
• Goals/needs
• Not only programmer’s convenience
11

12 Example Scenario 1
10 User Centered Design 9/11/2023
• Design is based upon a user’s
• Abilities
• Context
• Goals/needs
• Not only programmer’s convenience
11

12 Example Scenario
• Recall the calendar app (mobile app)
• What we mean by requirement gathering, analysis & specification for this system
— What are the requirements?
13 Example Scenario
• “We need to develop it for mobile platforms” – is it part of “requirement”?

• “What programming language are we going to use – Java, Java scripts, …” – is it a
“requirement”?

• “How we are going to store the various information needed (e.g., reminders, special
events); should we use some RDBMS tools (e.g., my SQL)” – is it a “requirement”?

14 Example Scenario
 There may be many more such questions, which may come or our mind regarding
“requirements”


15 Example Scenario
 These are NOT requirements per se
16 Example Scenario
 Some are related to “feasibility”
• “We need to develop it for mobile platforms”
• “What programming language are we going to use – Java, Java scripts, …”
17 Example Scenario
 Some may be related to “design”
 “How we are going to store the various information needed (e.g., reminders,
special events); should we use some RDBMS tools (e.g., my SQL)”
18

19 Our Objective
• To identify requirements that
• Ensures usability
• Leads to system specification (for design and implementation of the system)
20 What We Need
• Gathering of usability requirements
• Analysis and specification of usability requirements (to be able to convert those to
system design)
21 What We Need
• Gathering of usability requirements – generally treated as a type of “non-functional
requirement”
22 Non-Functional Requirements
2
• Leads to system specification (for design and implementation of the system)
20 What We Need 9/11/2023
• Gathering of usability requirements
• Analysis and specification of usability requirements (to be able to convert those to
system design)
21 What We Need
• Gathering of usability requirements – generally treated as a type of “non-functional
requirement”
22 Non-Functional Requirements
23 NFR - What
 These are system characteristics that can not be expressed as functions
 Related to quality attributes of the software
24 Broad Categories
 Performance related
 Operating constraints
 Economic considerations
 Life-cycle requirements
 Interface issues

25

26 NFR – Performance Related


 Reliability – how to ensure
 Security – what are the things required
 Response time – ideal …
27

28 NFR – Operating Constraints


 Physical constraints (size)
 Personnel availability
 Skill level considerations
 System accessibility for maintenance …
29

30 NFR – Economic Considerations


 Immediate and/or long-term costs for design, development and implementation
31

32 NFR – Life-Cycle Requirements


 Design quality - measured in terms of maintainability, enhance ability, portability …
33

34 NFR – Interface Issues


 How system is to interface with its environment, users, and other systems
 External system interface (H/W & S/W)
 Usability (out focus in this course)
35 NFR - Usability
• Remember we are dealing with interactive systems – meant to be used by “non-
experts”
• Usability very important
36

37 Specifying NFR - Advantages 3


 External system interface (H/W & S/W) 9/11/2023
 Usability (out focus in this course)
35 NFR - Usability
• Remember we are dealing with interactive systems – meant to be used by “non-
experts”
• Usability very important
36

37 Specifying NFR - Advantages


• Ensure software follows legal and adherence rules
• Ensure reliability, availability, performance, and scalability of the system
• Help constructing security policy
• Ensure good user experience & ease of operating the software
38

39 Not Specifying NFR – Consequences!


• May lead to unsatisfied users, clients, and developers
• May result in inconsistent software
• There may be time and cost overrun to fix software later, to incorporate NFR
40

41 Note
• In the next lecture, we shall learn how to gather usability requirements
• And also how to specify!
• Generally termed as “functional” requirement specification

42 Reference
• Rajib Mall (2018). Fundamentals of Software Engineering, 5th ed, PHI Learning Pvt
Ltd. Chapter 4
• Roger S Pressman (2020). Software Engineering: A Practitioner's Approach, 9th ed,
McGraw-Hill Education, New York, Chapter 7-8

You might also like