220 likes | 228 Views
This article discusses the importance of interface analysis in identifying and understanding the interactions between different systems, whether they are hardware, software, or user interfaces. It covers topics such as user interfaces, system interfaces, use case diagrams, and ergonomics in interface design.
E N D
Business Requirements AnalysisITEC-455 Spring 2010 Interface Analysis Professor J. Alberto Espinosa
Objectives • Discuss basic issues about interface analysis
Interface “The place at which independent and often unrelated systems meet and act on or communicate with each other”– Webster dictionary Network Hardware System User Software Software
Use Case Diagram with InterfacesEx.1: 1 Interface per each Actor-UC Interaction UML Symbolfor Interface
Use Case Diagram with InterfacesEx.2: 1 Interface for 1 Actor’s Interaction with all UC’s
Use Case Diagram with InterfacesEx.3: 1 Interface for any Actor Interaction with 1 UC
If the actor is a user: • The interface specification describes how the user interacts with the system – i.e., the “user interface” (UI) – the “human-computer interaction” (HCI) If the actor is an external system: • The interface specification describes how the system interacts with that external system actor – i.e., the “application program interface” (API)
First Step: Identify All InterfacesUser Interfaces (UI) and System or Application Program Interfaces (API) UI UI UI UI UI API UI
Each Interface Needs to Have: • A name (e.g., Customer Interface) • A type (e.g., UI, API) • A set of “operation signatures” (for UI and API) indicating: • which data to “get” from the actor with the operation (i.e., Get UserId, Name, etc.) • Which data to “return” to the actor when the operation is complete • A “storyboard” (for UI only): visual illustration of the sequence of screen designs to complete these operations
Example of Operation Signatures: Funds Withdrawal Interface • Get data from card magnetic tapeGet pass code from customer • Get customer transaction selection(user selects withdrawal) • Get account type for withdrawal • Get amount to withdraw • Return cash and confirmation message • Return new balance after withdrawal, or • Return error message to customer • Return thank you message to customer
A User Interface Involves: • Inputs(Get) into the system by the user, e.g.: • Data entry into the system • Query information from the system • Voice command or input , etc. • Outputs(Return) from the system to the user, e.g.: • A result display • A printed output • Voice or sound output
Diagramming the Interface: with “Storyboards” • User interfaces can be diagrammed as “storyboards” • A storyboard is a series of drawings that depict how the system looks at the start of the operation and after each significant change to the look of the interface • Is like a sequence of screenshots that follows the use case execution sequence
Organization of a Storyboard Storyboard Sequence
Ergonomics “Ergonomics (or human factors) is the scientific discipline concerned with the understanding of the interactions among humans and other elements of a system” Disciplines: physical, cognitive and organizational ergonomics International Ergonomics Association
Usability Derives from the industrial engineering field of “Ergonomics” – how to design things so they are easy to use.It refers to the “quality of a user's experience when interacting with a product or system … and how well users can learn and use a product to achieve their goals and how satisfied they are with that process ... people who use the product can do so quickly and easily to accomplish their tasks” – usability.gov Other references: http://www.usernomics.com/usability.html
User Interface Design Also referred to as “Human Computer Interaction” (HCI) – is what the usability specialists do to build systems that are easy to use. HCI also derives from the field of “Ergonomics”, which is now being called “Human Factors” which incorporate cognitive ergonomics and interaction with digital/virtual systems (not just physical). Other references: Cornell: http://ergo.human.cornell.edu/ahtutorials/interface.htmlVirginia Tech: http://www.edtech.vt.edu/edtech/id/interface/Carnegie Mellon: http://www.usernomics.com/user-interface-design.html
Application Program Interface (API) • Is a specification that describes how other systems or applications can interact with a system • For example, if you wish to develop Windows or iPhone applications, you need to learn the Windows or iPhone API • In a use case model an external system actor’s interaction with our system requires an API • If our system will interact with an external system (arrow pointing out), we need to know the external system’s API • If the external system will interact with our system (arrow pointing in), the external system programmers need to know our system’s API Google Earth API Google Maps API
In Sum: What to Include in an Interface Analysis Specification: • A list of all the interfaces between actors and use cases • For each interface (any actor – user or external system): • Indicate whether the actor is a user (human actor) or an external system • Prepare a list of operation signatures detailing all the data that is passed to/from the system before each operation and the data that is returned from/to the system after each operation • For users (human actors only): • Indicate when/if operations are taking place for data input, display outputs or printed outputs • Prepare a storyboard for all screen input/output displays and printouts • Analysis of the visual UI for all screen input/output displays and printouts • For external system actors (only): • Indicate when/if operations are taking place to inputor output data from/to the system • Analysis of the system API
General Quality Attributes of a User Interface Design • Ease of use • Intuitive use and navigation • Consistency across screens • Simplicity – e.g., no clutter, no information overload, no busy graphics • Exit/cancel options for users • Forgiving • Businesslike appearance • Readable and good color contrast