This action might not be possible to undo. Are you sure you want to continue?
• Designing Interface Objects • Software Quality Assurance • System Usability • Measuring User Satisfaction
View Layer: Designing Interface Objects
Objective Identifying view Classes Designing interface Objects
Goal of a User Interface (UI)
To display and obtain needed information in an accessible,efficient manner.
The Purpose of a View Layer Interface
User interface can employ one or more Windows
Each window should serve a clear, specific purpose
The Purpose of a View Layer Interface (Cont)
Purposes Forms and data entry windows Dialog boxes Application windows
Forms and Data Entry Windows
Data entry windows provide access to data that users can retrieve, display and change in the application. For example •Form Design in VB •Input Dialog boxes in VB
Example for Form Design
Example for Input Box
Guidelines for designing Forms and Data Entry Window
Forms and Data Entry Windows (Cont)
Identify the information which we want to display or change Identify the task that users need to work with data on the form or data entry window
Forms and Data Entry Windows (Cont)
Data entry tasks include
Navigating rows in a table, such as moving forward and backward, and going to the first and last record Adding and deleting rows Changing data in rows Saving and canceling the changes We can provide buttons & menus to initiate the user tasks
Dialog boxes display status information or ask users to supply information or make a decision before continuing with a task For example Message Dialog boxes in VB OK only YES NO
Example for Dialog box
Dialog Boxes (Cont)
Guidelines for designing Dialog boxes and Error messages
A dialog box provides an exchange of information or a dialog between the user and the application Dialog boxes generally appear after a particular Menu item or a Command button pressed Error message
If we will wrongly enter the date in the entry form then the message show the format for date (DD/MM/YYYY)
Guidelines for the Command Buttons Layout Position the command buttons are very important •Bottom •Align top right •Align left border is very popular in web interface
Application Windows( Main Window)
An application window is a container of application objects or icons It contains an entire application with which users can interact
Application Windows (cont)
Consist of Frame or border Title bar Scroll bars Menu bar Toll bar Status bar
Application Windows (cont) File menu
Open, Save, Save As, Print, Exit Edit Menu Cut, Copy, Paste View Menu Zoom,show and etc Help Menu Fonts Colors
Prototyping the user interface
Create user interface controls
Associate actions to the users interface controls and their events [ No ] Test / Debug
[ Yes ]
VIEW LAYER:DESINGING INTERFACE OBJECTS
Objectives: • Identifying View Class • Designing Interface Objects.
Two types of Interface 3. User Interface 4. Graphical User Interface
The main Goal of UI To display and obtain needed information in an accessible, efficient manner. The Main Goal of GUI Graphical Representation. • User Design as a Creative Process
Designing View Layer Classes of three layer Architecture. • An implicit benefit
• Separation of the view layer from the business and access layer.
View Layer Objects They are the only exposed objects of an application with which users can interact. View Layer Class That represent the set of operations in the business that users must perform to Complete their task, Ideally in a way they find natural, Easy to remember, and Useful.
The View Layer Objects are represented for two major aspects of the applications. 3. INPUT – Responding to user interaction 4. OUTPUT-Display or Printing business objects.
View Layer Classes is divided four activities • Macro level UI design process. Identifying view layer objects, User’s perspective. • Micro level UI design activities. Design axioms and corollaries, Prototyping. • Testing usability and User satisfaction. • Refining and Iterating the design.
MACRO LEVEL PROCESS
Two Steps: 2. For every class identified, determine if the class interacts with a human actor. 1.Identify the view (interface) objects for the class. 2. Define the relationship among the view objects. 3. Iterate and refine.
MICRO LEVEL PROCESS
The process of designing view objects 2. For every interface object identified in the macro UI design process. 3. Iterate and Refine.
◘ QUALITY ASSURANCE TESTS ◘ TESTING STRATEGIES ◘ IMPACT OF OBJECT ORIENTATION ON TESTING ◘ TEST CASES ◘ TEST PLAN ◘ CONTINUOUS TESTING ◘ MYER’S DEBUGGING PRINCIPLES
QUALITY ASSURANCE TESTS
Why? Computers are infamous for doing what you tell them to do, not necessarily what you want them to do. Debugging: Is the process of finding out where something went wrong and correcting the code to eliminate the errors or bugs that cause unexpected results. Types of Errors: Language(syntax) errors Run – time errors Logic errors Categories: Error – based Testing Scenario(usage) – based Testing (contd…)
♠ Error – based Testing.
♠ Search for particular clues of interest. ♠ Describe how clues should be tested.
♠ Scenario – based Testing.
♠ Concentrates on what the user does , not on what the product does. (contd…)
BLACK BOX TESTING WHITE BOX TESTING TOP – DOWN TESTING BOTTOM – UP TESTING
₤ It is used to represent a system whose inside workings are not available for inspection. ₤ Specific logic is important and must be tested to guarantee the systems proper functioning. ₤ It supports testing user interface and system integration. ₤ It starts with the details of the system and proceeds to higher levels by a progressive aggregation of details until they fit requirements of system.
IMPACT OF OO ON TESTING
٥ Less Plausible ( not worth testing for ) ٥ More Plausible ( worth testing for now ) ٥ New
٤ Impact of Inheritance on Testing. ٤ Reusability of tests.
§ A test case is a set of What – if questions. § To test a system you must construct some best input cases, that describe how the output will look. § Next, perform the tests and compare the outcome with the expected output.
Myer’s (objective of testing )
Is a process of executing a program with the intent of finding errors.
ﭳGood test case
That has a high probability of finding an as – yet – undiscovered error.
ﭳSuccessful test case
That detects an as – yet – undiscovered error. (Contd…)
Guidelines (for preparing test cases.)
ổ ổ ổ ổ ổ ổ ổ ổ ổ Describe the feature or service. If based on use case, then refer its name. Specify the feature to test and how to test. Test the normal use. Test the abnormal but reasonable use. Test the abnormal and unreasonable use. Test the boundary conditions. While revising document the cases. Reusability and extendibility should be assessed. ổ Add Questions that arise out of previous ones.
٭A Test plan is developed to detect and identify potential problems before delivering the software to its users. ٭A test plan offers a road map. ٭A dreaded and frequently overlooked activity in software development. ٭Steps:
§ Objectives of the test. § Development of a test case § Test analysis.
٭Regression Testing. ٭Beta Testing. ٭Alpha Testing. (contd…)
Guidelines (for preparing test plan)
≈ ≈ ≈ ≈ ≈ ≈ Specify Requirements generated by user. Specify Schedule and resources. Determine the testing strategy. Configuration Control System. Keep the plan up to date. At the end of each milestone, fill routine updates.
₫ Testing must take place on continuous basis and this refining cycle must continue throughout the development process until you are satisfied with the results. ₫ During this iterative process, prototypes will be transformed incrementally into the actual application.
MYER’S DEBUGGING PRINCIPLES
∂ Bug locating principles.
© Think © If you reach an impasse, sleep on it. © If the impasse remains, describe the problem to someone else. © Use debugging tools. © Experimentation should be done as a last resort.
∂ Debugging principles.
© Where there is one bug , there is likely to be another. © Fix the error, not just the symptom. © The probability of solution being correct drops down as the size increases. © Beware of error correction, it may create new errors.
• The task of satisfying user requirements is basic motivation of quality • Usability testing is different from quality assurance testing in that, rather finding programming defects. • It reflects the users need and satisfaction
– ISO Defines the usability as the effectiveness, efficiency and satisfaction with which a specified set of users to can achieve a specified set of tasks.
• ISO Definition requires
Defining tasks – What are the tasks Defining users – who are the users A means for measuring effectiveness, efficiency and satisfaction – how do we measure usability
• Usability measures the ease of use as well as the degree of comfort and satisfaction users have with the software. • Usability is one of the most crucial factor so it should begin in the earlier stage of product development.
• Usability test cases begin with the identification of use cases. • When designing test focus on use cases and tasks not features.
OOAUse case model
Quality assurance test cases Test plan
User satisfaction Test cases
Usability test cases
Jacobson’s Life cycle model
Guidelines for Usability testing
• The usability testing should involve all software components • Usability need not be more expensive or elaborate • All tests need not involve many subjects • Consider user’s experience as a part of your software usability • Apply usability testing early and often.
RECORDING THE USABILITY TEST
• When conducting a usability test provide a comfortable environment. • Record the test results using a video camera or a tape recorder. • If possible involve all design team members in observing the test and reviewing the results.
USER SATISFACTION TEST
• User satisfaction testing is the process of quantifying the usability test with some measurable attributes of the test such as functionality, cost, or ease of use.
• To act as a communication vehicle between users and designers. • To detect and evaluate changes during the design process. • To provide a periodic indication of divergence of opinion about the current design.
PRINCIPLE OBJECTIVES (cont…)
• To enable pinpointing specific areas of dissatisfaction for remedy. • To provide a clear understanding of just how the completed design is to be evaluated.
GUIDELINES FOR DEVELOPING USER SATISFACTI0N TEST
The format of every user satisfaction test is basically the same, but its content is different for each project.
A Custom Form For User Satisfaction Test project at this time? How do you rate the customer tracking
10 9 8 7 6 5 4 3 2 1 Ease of use Functionality Cost Intuitive UI Reliability Very Easy Very Functional Very Inexpensive Very Intuitive Very Reliable 10 9 8 7 6 5 4 3 2 1 10 9 8 7 6 5 4 3 2 1 10 9 8 7 6 5 4 3 2 1 10 9 8 7 6 5 4 3 2 1 Very Hard Non Functional Very Expensive
Very Hard to Follow Not Reliable
Comments I have more to say; I would like to see you