Study of Human factors in Software Engineering CSC 532 Sree Harsha Pothireddy
Why do software products fail? Poor management Poor management Inadequate planning Inadequate planning Ineffective testing Ineffective testing Improper design and architecture Improper design and architecture Improper use/availability of resources Improper use/availability of resources Time constraints Time constraints and… and…
What are Human factors? Human factors is the discipline that tries to establish a relationship between technology and the human. Human factors is the discipline that tries to establish a relationship between technology and the human. Human factors deal with the human behavior, abilities, limitations to the use of software, tools and other jobs to make their use easier.(Human Computer Interaction – HCI) Human factors deal with the human behavior, abilities, limitations to the use of software, tools and other jobs to make their use easier.(Human Computer Interaction – HCI)
Issues of Concern Identifying end-users and requirements Identifying end-users and requirements Understanding end-user psychology Understanding end-user psychology Quality and performance Quality and performance
Advantages + Higher user satisfaction +Lower user fatigue +Lower training time and costs +Lower product liability +Lower operator stress +Lower operating costs +Lesser operational errors +Greater system performance
Who implements Human factors? Interface designers Interface designers Engineering psychologists Engineering psychologists
Usability An external attribute of software quality. An external attribute of software quality. Addresses the relationship between tools and their users. Addresses the relationship between tools and their users. Ensures appropriate flow and functionality of the software. Ensures appropriate flow and functionality of the software.
Components of Usability User interface design. User interface design. Website design Website design Rapid prototyping techniques Rapid prototyping techniques Groupware Groupware Usability evaluation Usability evaluation Digital design Digital design Digital typography Digital typography
Ergonomics “Application of scientific information concerning humans to the design of objects, systems and environment for human use.”
Application of Ergonomics Design of computers and peripherals Design of computers and peripherals Planning and implementation of jobs Planning and implementation of jobs Design of equipment and work areas Design of equipment and work areas
Software ergonomics Design of computer supported work. Design of computer supported work. Solves problems of subject matter and interaction. Solves problems of subject matter and interaction. Improves system functionality. Improves system functionality. Design of dialog boxes, menus, input/output displays. Design of dialog boxes, menus, input/output displays.
Conclusion Every software engineer should realize the importance of a user in the software life cycle. Every software engineer should realize the importance of a user in the software life cycle. Understand the importance of user- friendliness and easy -to -learn property of a software product to make it popular. Understand the importance of user- friendliness and easy -to -learn property of a software product to make it popular.
Thank You!! Questions?