101 User Interface Patterns and its applications Tonya Groover Department of Computer Science.

Slides:



Advertisements
Similar presentations
Modelling with expert systems. Expert systems Modelling with expert systems Coaching modelling with expert systems Advantages and limitations of modelling.
Advertisements

Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
May 2, May 2, 2015May 2, 2015May 2, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa, CA.
Object-Oriented Design Patterns Composite Singleton State Observer … Autumn 2012UCN Technology: IT/Computer Science1.
Unified Modeling Language
Fundamentals of Software Development 1Slide 1 Gang of Four The beginnings… The original “patterns” idea was from architecture – there are repeatable patterns.
Introduction to Design Patterns (1). “ In software engineering, a design pattern is a general reusable solution to a commonly occurring problem in software.
Ralph Johnson - University of Illinois1 Patterns: What They Are, and How to Write Them Ralph Johnson University of Illinois at Urbana-Champaign
Requirements Analysis Concepts & Principles
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Design, goal of design, design process in SE context, Process of design – Quality guidelines and attributes Evolution of software design process – Procedural,
Domain-Specific Software Engineering Alex Adamec.
Fluid Design Patterns Allison Bloodworth JA-SIG Unconference 11/12/07.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
An Introduction to Software Architecture
Fluid Design Pattern Library Allison Bloodworth 9/27/07.
CIMI + FHIR Grahame Grieve 10-August 2015 Salt Lake City.
Introduction to Design Patterns (1). Definition: “ In software engineering, a design pattern is a general reusable solution to a commonly occurring problem.
Chapter Five An Introduction to Design Patterns Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information.
Software Architecture April-10Confidential Proprietary Click to edit Master text styles Second level Third level Fourth level Fifth level Software Architecture.
Usability Pattern-Oriented Design: Usability Pattern-Oriented Design: Maximizing Reusability of Pattern Languages over the Web Homa Javahery Human-Centered.
Creational Patterns CSE301 University of Sunderland Harry R Erwin, PhD.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 27. Review UML dynamic view – State Diagrams.
CS 325: Software Engineering February 12, 2015 Applying Responsibility-Assignment Patterns Design Patterns Situation-Specific Patterns Responsibility-Assignment.
AWSA G J Kennedy 2004 Design Patterns in Information System Development Geoffrey J. Kennedy School of Information Technologies The University of.
Patterns and Reuse. Patterns Reuse of Analysis and Design.
Drexel University CS 451 Software Engineering Winter Yuanfang Cai Room 104, University Crossings
1 Introduction to Software Engineering Lecture 1.
© 2004 MetaCase 1 Collected Experiences of Defining Domain-Specific Modeling Languages 10/24/2004 Steven Kelly MetaCase.
GRASP: Designing Objects with Responsibilities
User interface design and human computer interaction Xiangming Mu.
DESIGN PATTERNS CSC532 Adv. Topics in Software Engineering Shirin A. Lakhani.
Towards a Pattern Language for User Interface Design
اليوم العلمي لتكنولوجيا المعلومات تكنولوجيا المعلومات في فلسطين طموحات و امال Patterns: Tools For Reuse Dr. Tawfiq S.M. Barhoom – د. توفيق سليمان.
CMPS 435 F08 These slides are designed to accompany Web Engineering: A Practitioner’s Approach (McGraw-Hill 2008) by Roger Pressman and David Lowe, copyright.
Introduction to Design Patterns Part 1. © Lethbridge/Laganière 2001 Chapter 6: Using design patterns2 Patterns - Architectural Architectural Patterns:
Understanding and using patterns in software development EEL 6883 Software Engineering Vol. 1 Chapter 4 pp Presenter: Sorosh Olamaei.
Software Design: Principles, Process, and Concepts Getting Started with Design.
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Csci 490 / Engr 596 Special Topics / Special Projects Software Design and Scala Programming Spring Semester 2010 Lecture Notes.
Security Patterns Template and Tutorial - Darrell M. Kienzle, Ph.D., Matthew C. Elder, Ph.D., David S. Tyree, James Edwards-Hewitt Presented by Dan Frohlich.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Advanced Object-Oriented Design Patterns and Architectures Part One COEN396A John Xiao
Design Reuse Earlier we have covered the re-usable Architectural Styles as design patterns for High-Level Design. At mid-level and low-level, design patterns.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Lecture 21: Component-Based Software Engineering
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 9: Design Engineering Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
February 19, February 19, 2016February 19, 2016February 19, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific.
Engr 691 Special Topics in Engineering Science Software Architecture Spring Semester 2004 Lecture Notes.
1 Good Object-Oriented Design Dr. Radu Marinescu Lecture 4 Introduction to Design Patterns.
Design Evaluation Overview Introduction Model for Interface Design Evaluation Types of Evaluation –Conceptual Design –Usability –Learning Outcome.
Decision Support and Business Intelligence Systems (9 th Ed., Prentice Hall) Chapter 12: Artificial Intelligence and Expert Systems.
Review of last class Software Engineering Modeling Problem Solving
The Object-Oriented Thought Process Chapter 15
Design Patterns Introduction
CMPE 135: Object-Oriented Analysis and Design October 24 Class Meeting
Objects, Patterns, Idioms, and Architecture
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Introduction to Design Patterns Part 1
Patterns.
DESIGNING YOUR SYSTEM.
An Introduction to Software Architecture
DESIGN PATTERNS : Introduction
CMPE 135 Object-Oriented Analysis and Design March 21 Class Meeting
Introduction to Design Patterns
Presentation transcript:

101 User Interface Patterns and its applications Tonya Groover Department of Computer Science

Format of Seminar »what is a pattern? »historical context »good UI patterns »elements of a UI pattern »pattern languages »applications

Designing User Interfaces (UI) »Should I use icons? »Where should the header data and detail be positioned? »How do users search for objects or data? »How should new rows be inserted into a table? »Which working areas make up a new view? [Arend, 2004]

Patterns help to answer these [and other] questions.

Patterns are reusable components. design principles. relationships insight into design problems

The most useful patterns are generative. These patterns in our minds are, more or less, mental images of the patterns in the world : they are abstract representations of the very morphological rules which define the patterns in the world. However, in one respect they are very different. The patterns in the world merely exist. But the same patterns in our minds are dynamic. They have force. They are generative. They tell us what to do ; they tell us how we shall, or may, generate them; and they tell us too, that under certain circumstances, we must create them. Each pattern is a rule which describes what you have to do to generate the entity which it defines. (pp ) [Alexander, 1979]

Historical Context »Christopher Alexander »Emerged in SE mid- late 1990’s »Gang of Four (GoF)

Why Patterns? »Solve "real world" problems »Capture domain expertise »Document design decisions and rationale »Reuse wisdom and experience of master practitioners »Convey expert insight to novices »Form a shared vocabulary for problem- solving discussion »Show more than just the solution

Good Patterns »Solve a problem »Is a proven concept »The solution isn’t obvious »Describes a relationship »Significant human component [

Defining A Pattern »Name »Problem »Context »Forces »Solution »Examples »Resulting Context »Rationale »Related Patterns »Known Uses

A Pattern Language … defines a collection of patterns and the rules to combine them into an architectural style. Pattern languages describe software frameworks or families of related systems. [ “It not only tells us the rules of arrangement, but shows us how to construct arrangements -- as many as we want -- which satisfy the rules." (p. 186) [Alexander, 1979]

Application of Patterns Business Application [Arend, 2004]

SAP Design Guild »Users working practices is the starting point. »Usability »Designers configure the interface using predefined components. »Use one component for a large number of applications. »“A user interface pattern fulfills one or more generic tasks, such as searching for and selecting a business object.”

Pattern Approach

This approach only works if there are a small number of “generic” tasks, which can describe very different business activities.

Design Method

Results »powerful and general components. »generic functions. »simple. »easy.

Advantages of UI Patterns »Highly consistent user interfaces »Usability can be optimized »High production gains

Application of Patterns Web Interfaces

User Needs

Application Needs

Context of the Design

Finally … there are pattern library resources.

Microsoft's recommendations for how to design, develop, deploy, and operate architecturally sound applications for the Microsoft application platform.

Thank you, for your attention!

References »Von Udo Arend (2004). User Interface Patterns sp sp »Brad Appleton (2000). Patterns and Software: Essential Concepts and Terminology »Brad Appleton. Patterns in a Nutshell nutshell.html nutshell.html »James O. Coplien (2007). Software Patterns »Bill Venners (2005). How to Use Design Patterns: A conversation with Erich Gamma. »Christopher Alexander (1979). The Timeless Way of Binding