SlideShare a Scribd company logo
Software Tools
Fall 2002
Outline
 Introduction
 Specification Methods
 Interface Building Tools
 Toolkits and Languages
 Evaluation Tools
Introduction
 Building interfaces that are usable by a
wide audience is hard
 ethnography
 participatory design
 UI architects need to simply and quickly
sketch a proposed interface
 for example, the W model requires frequent
prototypes
Introduction
 By designing and showing the UI before
the application itself is built, the application
will end up with a more consistent UI
 By being able to unambiguously describe
a UI and its transitions, the UI can be
discussed and modeled
Specification Methods
 Natural Language Specifications
 Ambiguous
 Easy
 Formal Specifications
 Unambiguous
 Defined grammar
 Ability to prove a specification is a valid
construct within the grammar
Specification Methods
 Grammars
 Menu Trees
 Transition Diagrams
 State Charts
BNF
 Backus-Naur Form
 <non-terminal> ::= <non-terminals> terminals
 i.e., a telephone number is represented by
 tel-num ::= (<area-code>) <exchange>-<local-
number>
 area-code ::= <digit><digit><digit>
 exchange ::= <digit><digit><digit>
 local-number ::= <digit><digit><digit><digit>
 digit ::= 0|1|2|3|4|5|6|7|8|9
BNF
 Incomplete
 Good to specify format, but fails to specify
content, such as valid exchanges or area
codes
 A second level of software is used to validate
content.
 Complex
 As a BNF grammar grows, it becomes very
complex and difficult to follow or change
Unix Command Structure
 Variant of BNF
 All capital letters is a non-terminal
 Non-terminal format is assumed
 Brackets denote optional arguments
 Ellipsis (…) denote “-or-more”
 [OPTION]… is 0 or more (Kleene closure or *-closure)
 SOURCE… is 1 or more (+-closure)
cp
 From a Debian 3.0r0 machine:
cp [OPTION]... SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... --target directory=DIRECTORY
SOURCE…
Other Variant Grammars
 make
JAVAC = /usr/bin/jikes
JAVA_HOME = /usr/lib/jsdk1.3
all: thyme-core chat swab
thyme-core:
$(MAKE) -f thyme-core/Makefile
chat:
$(MAKE) -f chat/Makefile
swab:
$(MAKE) -f swab/Makefile
Other Grammars
 XML
<?xml version=“1.0”?>
<system spec-file-version=“2.0”>
<init class=“some.init.InitComponent”/>
<parameters>
<parameter name=“tcc.init.classid”
value=“some.room.RoomComponent”/>
</parameters>
</system>
Multiparty Grammars
 Used for showing interaction between
more than one party (Shneiderman, 1982)
 Non-terminals labeled by the party which
generates it (i.e., U for user and C and
computer)
 Effective for text-oriented command
sequences which have repeated
exchanges
Multiparty Grammars
 Example
<Session> ::= <U: Opening> <C: Responding>
<U: Opening> :: LOGIN <U: Name>
<U: Name> :: <U: string>
<C: Responding> :: HELLO [<U: Name>]
Selection Trees
 Branching interaction
 Each tree node will branch to one or more
possibilities.
 Not necessarily a strict tree
 Acyclic
 Cyclic
 Tree
 Menu Selection Trees
 Dialog Selection Trees
Transition Diagrams
 More complete and general than selection trees
 general enough to show the complete interaction with
an application
 Directed graph
 Nodes represent states
 Links between nodes represent actions and the
application’s response
 NFA
 Becomes cumbersome as the represented
interaction grows.
State Charts
 Harel, 1988
 Extension of transition diagrams where related
actions are grouped into a subgraph (modularity)
 Only effective where the subgraphs have single
points of entry and exit
 For example, all bank transactions are within a
group. Then within that group, there are
separate groups for verification, withdrawal and
deposit.
User-Action Notation (UAN)
 Chase et. al., 1994
 Grammars and State diagrams fail to deal
with direct manipulation interfaces
 A user’s intended action depends on context
 Context can change quickly during runtime
 UAN is a high-level notation that focus a
user’s direct manipulation task (pointing,
dragging and clicking in WIMP interfaces)
UAN
 Syntax involves a user action, interface
feedback and interface state. i.e., deleting
a file:
User Action Interface Feedback Interface State
~[file], Mv file!, forall(file!):
file-!
selected = file
~[x,y]* outline(file) > ~
~[trash] outline(file) > ~,
trash!
M^ erase(file), trash!! selected = null
UAN
 ~ is the cursor. M is the mouse
 ~[object] is cursor movement to the specified
object (i.e., icon)
 object > ~ means move the object to the cursor
 Mv is press the mouse button
 M^ is release the mouse button
 object! is highlight the object
 object!! is dehighlight the object
Specification Methods
The Message
 grammars programatically specify the interface
actions available but fail to specify interaction.
 Selection trees show transitions between menu
items or dialogs
 Transition diagrams show transitions between
states for a complete application
 State charts group related actions into groups,
making the transition diagrams easier to follow
 UAN provides a notation to specify direct
manipulation tasks
Interface Building Tools
 Writing an application requires agreement
of several parties on the UI
 managers need to approve the design
 UI architects need to build it
 programmers need to be aware what they are
programming to
 users are asked for opinions on the interface
Interface Building Tools
 Let an interface be prototyped rapidly
 Let an interface be built by a non-
programmer
 Allow the application to be built using the
prototyped interface
Interface Building Tools
 Benefits of using interface building tools
 User-interface independence
 Separate presentation from logic
 Prototype multiple user interfaces
 Multiple-platform support
 Domain expert as user-interface architect
 Enforce standards
 Methodology and Notation
 Develop design methodology
 Talk about design
 Project management
Interface Building Tools
 Rapid prototyping
 Build and use multiple versions up front
 Low cost test, revise, test
 Usable user interfaces for users, managers and
customers to see and use early
 Software support
 Productivity
 Constraint and consistency checks
 Ease of maintenance
 Teams
Design Tools
 Slide Show
 paper and pen, PowerPoint, etc
 Visual editing tools
 HyperCard, Visual Basic, Delphi, etc
 Visual programming tools
 Prograph, LEGO Mindstorms
Interface Building Tools
Interface Builder
 Free tool included with MacOSX for
building user interfaces
Building Interfaces
The Message
 Tools let prototype mostly functional interfaces
quickly and cheaply
 Tools lets a domain expert build the interface
 Tools let the interface be discussed before the
investment has been made in the rest of the
application
 Showing the interface to management, users
and experts can be done early and often
Evaluation Tools
 Provide automated feedback to the
developer as to where the product is
inconsistent
 Warning signs
 automated analysis of where a UI might be
inconsistent or violating a standard
Evaluation Tools
 Tullis’ Display Analysis Program
 takes alphanumeric screen designs and
critiques them.
 percentage of upper-case letters
 density of text
 layout complexity
 Example of automated analysis
Evaluation Tools
 GOMS
 Simple Metrics
 number of widgets per window
 widget density
 can yield information about how complex the
interface is
 Style consistency
Evaluation Tools
 Web pages
 Validation
 Link checking
 Correctness
 *Unit (JUnit, NUnit, etc)
 defined testing of applications (regression testing)
 Cactus
 defined testing of UIs (regression testing of user
interfaces)
Evaluation Tools
The Message
 let the developer programatically
determine correctness of an interface
 give the developer feedback on
consistency of the interface
 allow comparison of interfaces
UI Toolkits
 Ease development by providing fully-
fleshed out UI components
 A UI component has two major parts
 The UI presentation (a button)
 The outlet (how the program is informed when
the button is pressed)
Toolkits
 TCL/Tk
 Motif
 Mac Toolbox
 MFC
 Java AWT / Swing
Prototyping languages
 Java
 Application / Applet language
 Cross platform. Intent is that all applications
act the same on all platforms
 Hypercard
 Movement between Cards (screens)
 Tcl/Tk
 Scripting language
Toolkits and Languages
The Message
 Toolkits provide UI widgets that can be
used to develop the application
 This lets the developer focus on building
the application, instead of the widgets
 Prototyping languages allow the rapid
development of prototype applications, but
trade can entail trade-offs
Next Time
 GroupKit
 THYME

More Related Content

What's hot

Component Diagram
Component DiagramComponent Diagram
Component Diagram
Ahmed Yousef
 
Agile Unified Process (AUP).pptx
Agile Unified Process (AUP).pptxAgile Unified Process (AUP).pptx
Agile Unified Process (AUP).pptx
Karim Monir
 
UML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxUML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptx
Nwabueze Obioma
 
Hierarchical models of software quality
Hierarchical models of software qualityHierarchical models of software quality
Hierarchical models of software quality
MuthuKumaran Singaravelu
 
4+1 view model
4+1 view model4+1 view model
4+1 view model
Shobana Chokkalingam
 
Software Testing and Quality Assurance unit1
Software Testing and Quality Assurance  unit1Software Testing and Quality Assurance  unit1
Software Testing and Quality Assurance unit1
Bhagyashree Dhakulkar
 
Strategy of software design
Strategy of software designStrategy of software design
Strategy of software design
Self-employed
 
4.C#
4.C#4.C#
Object oriented analysis &design - requirement analysis
Object oriented analysis &design - requirement analysisObject oriented analysis &design - requirement analysis
Object oriented analysis &design - requirement analysis
Abhilasha Lahigude
 
11 deployment diagrams
11 deployment diagrams11 deployment diagrams
11 deployment diagrams
Baskarkncet
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
ShudipPal
 
Software Testing - Defect/Bug Life Cycle - Complete Flow Chart of Defect States
Software Testing - Defect/Bug Life Cycle - Complete Flow Chart of Defect StatesSoftware Testing - Defect/Bug Life Cycle - Complete Flow Chart of Defect States
Software Testing - Defect/Bug Life Cycle - Complete Flow Chart of Defect States
eVideoTuition
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
Webtech Learning
 
Chapter 1 1 - intro ppt
Chapter 1   1 - intro pptChapter 1   1 - intro ppt
Chapter 1 1 - intro ppt
NancyBeaulah_R
 
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
  Object-Oriented Analysis & Design (OOAD)  Domain Modeling Introduction  Object-Oriented Analysis & Design (OOAD)  Domain Modeling Introduction
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
Dang Tuan
 
Aup
AupAup
Chapter 2 software_development_life_cycle_models
Chapter 2 software_development_life_cycle_modelsChapter 2 software_development_life_cycle_models
Chapter 2 software_development_life_cycle_models
Piyush Gogia
 
List of Software Development Model and Methods
List of Software Development Model and MethodsList of Software Development Model and Methods
List of Software Development Model and Methods
Riant Soft
 
Software Architecture: Design Decisions
Software Architecture: Design DecisionsSoftware Architecture: Design Decisions
Software Architecture: Design Decisions
Henry Muccini
 
VB.Net-Controls and events
VB.Net-Controls and eventsVB.Net-Controls and events
VB.Net-Controls and events
Prachi Sasankar
 

What's hot (20)

Component Diagram
Component DiagramComponent Diagram
Component Diagram
 
Agile Unified Process (AUP).pptx
Agile Unified Process (AUP).pptxAgile Unified Process (AUP).pptx
Agile Unified Process (AUP).pptx
 
UML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxUML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptx
 
Hierarchical models of software quality
Hierarchical models of software qualityHierarchical models of software quality
Hierarchical models of software quality
 
4+1 view model
4+1 view model4+1 view model
4+1 view model
 
Software Testing and Quality Assurance unit1
Software Testing and Quality Assurance  unit1Software Testing and Quality Assurance  unit1
Software Testing and Quality Assurance unit1
 
Strategy of software design
Strategy of software designStrategy of software design
Strategy of software design
 
4.C#
4.C#4.C#
4.C#
 
Object oriented analysis &design - requirement analysis
Object oriented analysis &design - requirement analysisObject oriented analysis &design - requirement analysis
Object oriented analysis &design - requirement analysis
 
11 deployment diagrams
11 deployment diagrams11 deployment diagrams
11 deployment diagrams
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
 
Software Testing - Defect/Bug Life Cycle - Complete Flow Chart of Defect States
Software Testing - Defect/Bug Life Cycle - Complete Flow Chart of Defect StatesSoftware Testing - Defect/Bug Life Cycle - Complete Flow Chart of Defect States
Software Testing - Defect/Bug Life Cycle - Complete Flow Chart of Defect States
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
 
Chapter 1 1 - intro ppt
Chapter 1   1 - intro pptChapter 1   1 - intro ppt
Chapter 1 1 - intro ppt
 
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
  Object-Oriented Analysis & Design (OOAD)  Domain Modeling Introduction  Object-Oriented Analysis & Design (OOAD)  Domain Modeling Introduction
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
 
Aup
AupAup
Aup
 
Chapter 2 software_development_life_cycle_models
Chapter 2 software_development_life_cycle_modelsChapter 2 software_development_life_cycle_models
Chapter 2 software_development_life_cycle_models
 
List of Software Development Model and Methods
List of Software Development Model and MethodsList of Software Development Model and Methods
List of Software Development Model and Methods
 
Software Architecture: Design Decisions
Software Architecture: Design DecisionsSoftware Architecture: Design Decisions
Software Architecture: Design Decisions
 
VB.Net-Controls and events
VB.Net-Controls and eventsVB.Net-Controls and events
VB.Net-Controls and events
 

Similar to software-tools-part-1.ppt

Java Land F
Java Land FJava Land F
Java Land F
guestc55e903c
 
Java Land F
Java Land FJava Land F
Java Land F
guestc55e903c
 
Java Land F
Java Land FJava Land F
Java Land F
guestc55e903c
 
Java Land F
Java Land FJava Land F
Java Land F
guestc55e903c
 
Java Land F
Java Land FJava Land F
Java Land F
guestc55e903c
 
Java Land F
Java Land FJava Land F
Java Land F
guestc55e903c
 
Ch11
Ch11Ch11
Ch11
蕭美蓮
 
ArduinoWorkshop2.pdf
ArduinoWorkshop2.pdfArduinoWorkshop2.pdf
ArduinoWorkshop2.pdf
PedramKashiani
 
HCI 3e - Ch 8: Implementation support
HCI 3e - Ch 8:  Implementation supportHCI 3e - Ch 8:  Implementation support
HCI 3e - Ch 8: Implementation support
Alan Dix
 
2 Win7 For Devs Ux Touch Sensors
2 Win7 For Devs Ux Touch Sensors2 Win7 For Devs Ux Touch Sensors
2 Win7 For Devs Ux Touch Sensors
llangit
 
Raj Wpf Controls
Raj Wpf ControlsRaj Wpf Controls
Raj Wpf Controls
rramabad
 
Ss tools
Ss toolsSs tools
Ss tools
Ss toolsSs tools
lecture-3-1523011494 Lecture #3).pptx
lecture-3-1523011494 Lecture #3).pptxlecture-3-1523011494 Lecture #3).pptx
lecture-3-1523011494 Lecture #3).pptx
BhanukaFernando3
 
TopMod3d - Texas Open Source Symposium
TopMod3d - Texas Open Source SymposiumTopMod3d - Texas Open Source Symposium
TopMod3d - Texas Open Source Symposium
David Morris
 
Text editors(ss)
Text editors(ss)Text editors(ss)
Text editors(ss)
nishara nish
 
Text Editor for System software
Text Editor for System softwareText Editor for System software
Text Editor for System software
kalaivanan vanan
 
Accessibility Enterprise
Accessibility EnterpriseAccessibility Enterprise
Accessibility Enterprise
Jacques
 
chapter2multimediaauthoringandtools-160131194415.pdf
chapter2multimediaauthoringandtools-160131194415.pdfchapter2multimediaauthoringandtools-160131194415.pdf
chapter2multimediaauthoringandtools-160131194415.pdf
SaqlainYaqub1
 
Chapter 2 multimedia authoring and tools
Chapter 2 multimedia authoring and toolsChapter 2 multimedia authoring and tools
Chapter 2 multimedia authoring and tools
ABDUmomo
 

Similar to software-tools-part-1.ppt (20)

Java Land F
Java Land FJava Land F
Java Land F
 
Java Land F
Java Land FJava Land F
Java Land F
 
Java Land F
Java Land FJava Land F
Java Land F
 
Java Land F
Java Land FJava Land F
Java Land F
 
Java Land F
Java Land FJava Land F
Java Land F
 
Java Land F
Java Land FJava Land F
Java Land F
 
Ch11
Ch11Ch11
Ch11
 
ArduinoWorkshop2.pdf
ArduinoWorkshop2.pdfArduinoWorkshop2.pdf
ArduinoWorkshop2.pdf
 
HCI 3e - Ch 8: Implementation support
HCI 3e - Ch 8:  Implementation supportHCI 3e - Ch 8:  Implementation support
HCI 3e - Ch 8: Implementation support
 
2 Win7 For Devs Ux Touch Sensors
2 Win7 For Devs Ux Touch Sensors2 Win7 For Devs Ux Touch Sensors
2 Win7 For Devs Ux Touch Sensors
 
Raj Wpf Controls
Raj Wpf ControlsRaj Wpf Controls
Raj Wpf Controls
 
Ss tools
Ss toolsSs tools
Ss tools
 
Ss tools
Ss toolsSs tools
Ss tools
 
lecture-3-1523011494 Lecture #3).pptx
lecture-3-1523011494 Lecture #3).pptxlecture-3-1523011494 Lecture #3).pptx
lecture-3-1523011494 Lecture #3).pptx
 
TopMod3d - Texas Open Source Symposium
TopMod3d - Texas Open Source SymposiumTopMod3d - Texas Open Source Symposium
TopMod3d - Texas Open Source Symposium
 
Text editors(ss)
Text editors(ss)Text editors(ss)
Text editors(ss)
 
Text Editor for System software
Text Editor for System softwareText Editor for System software
Text Editor for System software
 
Accessibility Enterprise
Accessibility EnterpriseAccessibility Enterprise
Accessibility Enterprise
 
chapter2multimediaauthoringandtools-160131194415.pdf
chapter2multimediaauthoringandtools-160131194415.pdfchapter2multimediaauthoringandtools-160131194415.pdf
chapter2multimediaauthoringandtools-160131194415.pdf
 
Chapter 2 multimedia authoring and tools
Chapter 2 multimedia authoring and toolsChapter 2 multimedia authoring and tools
Chapter 2 multimedia authoring and tools
 

Recently uploaded

ZK on Polkadot zero knowledge proofs - sub0.pptx
ZK on Polkadot zero knowledge proofs - sub0.pptxZK on Polkadot zero knowledge proofs - sub0.pptx
ZK on Polkadot zero knowledge proofs - sub0.pptx
dot55audits
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
Priyankaranawat4
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Excellence Foundation for South Sudan
 
Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47
MysoreMuleSoftMeetup
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
Nguyen Thanh Tu Collection
 
Bed Making ( Introduction, Purpose, Types, Articles, Scientific principles, N...
Bed Making ( Introduction, Purpose, Types, Articles, Scientific principles, N...Bed Making ( Introduction, Purpose, Types, Articles, Scientific principles, N...
Bed Making ( Introduction, Purpose, Types, Articles, Scientific principles, N...
Leena Ghag-Sakpal
 
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
Nguyen Thanh Tu Collection
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
Celine George
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
Colégio Santa Teresinha
 
A Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdfA Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdf
Jean Carlos Nunes Paixão
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Denish Jangid
 
Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
TechSoup
 
Advanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docxAdvanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docx
adhitya5119
 
Hindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdfHindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdf
Dr. Mulla Adam Ali
 
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxBeyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
EduSkills OECD
 
B. Ed Syllabus for babasaheb ambedkar education university.pdf
B. Ed Syllabus for babasaheb ambedkar education university.pdfB. Ed Syllabus for babasaheb ambedkar education university.pdf
B. Ed Syllabus for babasaheb ambedkar education university.pdf
BoudhayanBhattachari
 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
mulvey2
 
Temple of Asclepius in Thrace. Excavation results
Temple of Asclepius in Thrace. Excavation resultsTemple of Asclepius in Thrace. Excavation results
Temple of Asclepius in Thrace. Excavation results
Krassimira Luka
 
Constructing Your Course Container for Effective Communication
Constructing Your Course Container for Effective CommunicationConstructing Your Course Container for Effective Communication
Constructing Your Course Container for Effective Communication
Chevonnese Chevers Whyte, MBA, B.Sc.
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
History of Stoke Newington
 

Recently uploaded (20)

ZK on Polkadot zero knowledge proofs - sub0.pptx
ZK on Polkadot zero knowledge proofs - sub0.pptxZK on Polkadot zero knowledge proofs - sub0.pptx
ZK on Polkadot zero knowledge proofs - sub0.pptx
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
 
Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
 
Bed Making ( Introduction, Purpose, Types, Articles, Scientific principles, N...
Bed Making ( Introduction, Purpose, Types, Articles, Scientific principles, N...Bed Making ( Introduction, Purpose, Types, Articles, Scientific principles, N...
Bed Making ( Introduction, Purpose, Types, Articles, Scientific principles, N...
 
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
 
A Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdfA Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdf
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
 
Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
 
Advanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docxAdvanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docx
 
Hindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdfHindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdf
 
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxBeyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
 
B. Ed Syllabus for babasaheb ambedkar education university.pdf
B. Ed Syllabus for babasaheb ambedkar education university.pdfB. Ed Syllabus for babasaheb ambedkar education university.pdf
B. Ed Syllabus for babasaheb ambedkar education university.pdf
 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
 
Temple of Asclepius in Thrace. Excavation results
Temple of Asclepius in Thrace. Excavation resultsTemple of Asclepius in Thrace. Excavation results
Temple of Asclepius in Thrace. Excavation results
 
Constructing Your Course Container for Effective Communication
Constructing Your Course Container for Effective CommunicationConstructing Your Course Container for Effective Communication
Constructing Your Course Container for Effective Communication
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
 

software-tools-part-1.ppt

  • 2. Outline  Introduction  Specification Methods  Interface Building Tools  Toolkits and Languages  Evaluation Tools
  • 3. Introduction  Building interfaces that are usable by a wide audience is hard  ethnography  participatory design  UI architects need to simply and quickly sketch a proposed interface  for example, the W model requires frequent prototypes
  • 4. Introduction  By designing and showing the UI before the application itself is built, the application will end up with a more consistent UI  By being able to unambiguously describe a UI and its transitions, the UI can be discussed and modeled
  • 5. Specification Methods  Natural Language Specifications  Ambiguous  Easy  Formal Specifications  Unambiguous  Defined grammar  Ability to prove a specification is a valid construct within the grammar
  • 6. Specification Methods  Grammars  Menu Trees  Transition Diagrams  State Charts
  • 7. BNF  Backus-Naur Form  <non-terminal> ::= <non-terminals> terminals  i.e., a telephone number is represented by  tel-num ::= (<area-code>) <exchange>-<local- number>  area-code ::= <digit><digit><digit>  exchange ::= <digit><digit><digit>  local-number ::= <digit><digit><digit><digit>  digit ::= 0|1|2|3|4|5|6|7|8|9
  • 8. BNF  Incomplete  Good to specify format, but fails to specify content, such as valid exchanges or area codes  A second level of software is used to validate content.  Complex  As a BNF grammar grows, it becomes very complex and difficult to follow or change
  • 9. Unix Command Structure  Variant of BNF  All capital letters is a non-terminal  Non-terminal format is assumed  Brackets denote optional arguments  Ellipsis (…) denote “-or-more”  [OPTION]… is 0 or more (Kleene closure or *-closure)  SOURCE… is 1 or more (+-closure)
  • 10. cp  From a Debian 3.0r0 machine: cp [OPTION]... SOURCE DEST cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... --target directory=DIRECTORY SOURCE…
  • 11. Other Variant Grammars  make JAVAC = /usr/bin/jikes JAVA_HOME = /usr/lib/jsdk1.3 all: thyme-core chat swab thyme-core: $(MAKE) -f thyme-core/Makefile chat: $(MAKE) -f chat/Makefile swab: $(MAKE) -f swab/Makefile
  • 12. Other Grammars  XML <?xml version=“1.0”?> <system spec-file-version=“2.0”> <init class=“some.init.InitComponent”/> <parameters> <parameter name=“tcc.init.classid” value=“some.room.RoomComponent”/> </parameters> </system>
  • 13. Multiparty Grammars  Used for showing interaction between more than one party (Shneiderman, 1982)  Non-terminals labeled by the party which generates it (i.e., U for user and C and computer)  Effective for text-oriented command sequences which have repeated exchanges
  • 14. Multiparty Grammars  Example <Session> ::= <U: Opening> <C: Responding> <U: Opening> :: LOGIN <U: Name> <U: Name> :: <U: string> <C: Responding> :: HELLO [<U: Name>]
  • 15. Selection Trees  Branching interaction  Each tree node will branch to one or more possibilities.  Not necessarily a strict tree  Acyclic  Cyclic  Tree  Menu Selection Trees  Dialog Selection Trees
  • 16. Transition Diagrams  More complete and general than selection trees  general enough to show the complete interaction with an application  Directed graph  Nodes represent states  Links between nodes represent actions and the application’s response  NFA  Becomes cumbersome as the represented interaction grows.
  • 17. State Charts  Harel, 1988  Extension of transition diagrams where related actions are grouped into a subgraph (modularity)  Only effective where the subgraphs have single points of entry and exit  For example, all bank transactions are within a group. Then within that group, there are separate groups for verification, withdrawal and deposit.
  • 18. User-Action Notation (UAN)  Chase et. al., 1994  Grammars and State diagrams fail to deal with direct manipulation interfaces  A user’s intended action depends on context  Context can change quickly during runtime  UAN is a high-level notation that focus a user’s direct manipulation task (pointing, dragging and clicking in WIMP interfaces)
  • 19. UAN  Syntax involves a user action, interface feedback and interface state. i.e., deleting a file: User Action Interface Feedback Interface State ~[file], Mv file!, forall(file!): file-! selected = file ~[x,y]* outline(file) > ~ ~[trash] outline(file) > ~, trash! M^ erase(file), trash!! selected = null
  • 20. UAN  ~ is the cursor. M is the mouse  ~[object] is cursor movement to the specified object (i.e., icon)  object > ~ means move the object to the cursor  Mv is press the mouse button  M^ is release the mouse button  object! is highlight the object  object!! is dehighlight the object
  • 21. Specification Methods The Message  grammars programatically specify the interface actions available but fail to specify interaction.  Selection trees show transitions between menu items or dialogs  Transition diagrams show transitions between states for a complete application  State charts group related actions into groups, making the transition diagrams easier to follow  UAN provides a notation to specify direct manipulation tasks
  • 22. Interface Building Tools  Writing an application requires agreement of several parties on the UI  managers need to approve the design  UI architects need to build it  programmers need to be aware what they are programming to  users are asked for opinions on the interface
  • 23. Interface Building Tools  Let an interface be prototyped rapidly  Let an interface be built by a non- programmer  Allow the application to be built using the prototyped interface
  • 24. Interface Building Tools  Benefits of using interface building tools  User-interface independence  Separate presentation from logic  Prototype multiple user interfaces  Multiple-platform support  Domain expert as user-interface architect  Enforce standards  Methodology and Notation  Develop design methodology  Talk about design  Project management
  • 25. Interface Building Tools  Rapid prototyping  Build and use multiple versions up front  Low cost test, revise, test  Usable user interfaces for users, managers and customers to see and use early  Software support  Productivity  Constraint and consistency checks  Ease of maintenance  Teams
  • 26. Design Tools  Slide Show  paper and pen, PowerPoint, etc  Visual editing tools  HyperCard, Visual Basic, Delphi, etc  Visual programming tools  Prograph, LEGO Mindstorms
  • 27. Interface Building Tools Interface Builder  Free tool included with MacOSX for building user interfaces
  • 28. Building Interfaces The Message  Tools let prototype mostly functional interfaces quickly and cheaply  Tools lets a domain expert build the interface  Tools let the interface be discussed before the investment has been made in the rest of the application  Showing the interface to management, users and experts can be done early and often
  • 29. Evaluation Tools  Provide automated feedback to the developer as to where the product is inconsistent  Warning signs  automated analysis of where a UI might be inconsistent or violating a standard
  • 30. Evaluation Tools  Tullis’ Display Analysis Program  takes alphanumeric screen designs and critiques them.  percentage of upper-case letters  density of text  layout complexity  Example of automated analysis
  • 31. Evaluation Tools  GOMS  Simple Metrics  number of widgets per window  widget density  can yield information about how complex the interface is  Style consistency
  • 32. Evaluation Tools  Web pages  Validation  Link checking  Correctness  *Unit (JUnit, NUnit, etc)  defined testing of applications (regression testing)  Cactus  defined testing of UIs (regression testing of user interfaces)
  • 33. Evaluation Tools The Message  let the developer programatically determine correctness of an interface  give the developer feedback on consistency of the interface  allow comparison of interfaces
  • 34. UI Toolkits  Ease development by providing fully- fleshed out UI components  A UI component has two major parts  The UI presentation (a button)  The outlet (how the program is informed when the button is pressed)
  • 35. Toolkits  TCL/Tk  Motif  Mac Toolbox  MFC  Java AWT / Swing
  • 36. Prototyping languages  Java  Application / Applet language  Cross platform. Intent is that all applications act the same on all platforms  Hypercard  Movement between Cards (screens)  Tcl/Tk  Scripting language
  • 37. Toolkits and Languages The Message  Toolkits provide UI widgets that can be used to develop the application  This lets the developer focus on building the application, instead of the widgets  Prototyping languages allow the rapid development of prototype applications, but trade can entail trade-offs