SlideShare une entreprise Scribd logo
1  sur  40
Model-driven Application Design
v
for a Campus Calendar Network
Allison Bloodworth
Project Manager
e-Berkeley Program Office
University of California, Berkeley
abloodworth@berkeley.edu
November 18, 2004
Today’s Talk



The Generic Problem of Incompatible Data
Models
Our Case Study Context




Model-Based Application Design




Model used for information exchange & to
guide the user interface designer

Our Approach





UC Berkeley Calendar Network

Document Engineering
User-Centered Design

Demo of Prototype
The Generic Problem of Incompatible
Models


Many large organizations struggle with
incompatible models for applications created in
different departments




Time sheets, contact management systems,
expense forms, project schedules, registrations, etc.

The problems are also typical of those that
arise between enterprises with incompatible
catalogs and transactional documents like
orders and invoices.
Generic Symptoms


Can’t share data



Models aren’t captured, can’t be shared or
reused



Can’t easily create and maintain
interconnected or similar applications
Case Study: UC Berkeley Calendar
Network


Goal: Design an enterprise application to
allow web-based event calendars to share
event information



Challenge: Working in a decentralized
university environment where:




There are very few formal guidelines on creating
web-based applications
It is difficult for different departments to
coordinate with one another
Many departments have very limited technical
resources
Our Case Study Context


There are numerous calendars on the
Berkeley campus














The Academic Calendar
Bancroft Library
Berkeley Art Museum/Pacific Film Archive
Boalt Law School
Cal Performances
College of Engineering
College of Letters & Science
Haas School of Business
Institute for East Asian Studies
Lawrence Hall of Science
Live.berkeley.edu
UC Berkeley gateway site (www.berkeley.edu)
…and more than 70 others
U.C. Berkeley Gateway Calendar
Boalt Law School
Berkeley Natural History
Museums
The Purpose of Web Calendars


A web calendar is a marketing tool
 Its main purpose is to publicize events,
either within a community, or to the
general public



Calendars should make it as easy as
possible for users to find information on
events of interest to them
The Problem with calendars at
Berkeley


It is difficult to get a comprehensive view
of all campus events on a given day



It can be very difficult for calendar users to
find events of interest to them


If they really want to do a thorough search, they
must go to many different calendars
Our Challenges


Because the purpose of a calendar is to
publicize events, many of these calendars
would like to share their events with each
other




Currently there is no automated way to do this

Incompatible data models & lack of
technical resources prevent an automated
exchange
The Key to Project Success:


Convince departments on campus to
switch to our system


Have to gain “critical mass” of users in order to
obtain enough event information to be useful
to the system’s users

1.

Design a shared data model of an event that
met almost everyone’s needs
Allow calendars to provide their users with a
customized view of the data
Assist users of varying levels of technical skill
in creating a customized calendar that is better
than the one they currently use

2.
3.
Incompatible Data Models


U.C. Berkeley Gateway Site



Haas School of Business
The Solution





A standard data model of an Event
(
http://dream.berkeley.edu/EventCalendar/Eve
)
A centralized repository of Event
information
A calendar management tool





Manage events in the repository
Customize a visually compelling, dynamic webbased calendar

A design for a system architecture
allowing XML feeds to and from the
repository for calendars who choose to
System Architecture
Model-Based Application Design


The collection, presentation, and exchange
of data is governed by a formal model



Application can be generated from model
in limited circumstances (simple forms,
workflow) and when interfaces are only to
other applications (e.g, Web Services)
In other cases, model can guide the UI
designer







What information is most important
How best to group information together
Co-occurrence constraints
Our Approach


Document Engineering (DE)





User-Centered Design (UCD)




Help us design the documents that are
interfaces to systems or services
The data exchange model of an Event

Help us design the applications that are
interfaces for people

Our context had both service interfaces &
user interfaces
What is Document Engineering?


“A new discipline for specifying, designing,
and implementing the electronic
documents that request or provide
interfaces to business processes via webbased services”
-





UC Berkeley Center for Document Engineering
website (http://cde.berkeley.edu)

A document-focused method of analyzing
information from diverse sources and
merging it to create a single, unified data
model of the domain
End result: a document that “defines a
packet of information needed to carry out
a self-contained logical message”

(from Glushko & McGrath, Document Engineering, MIT Press, 2005)
Document Engineering (DE)



Context & Business Process Analysis
Document Analysis




Component Analysis




Designing a (Relational) Component Model

Document Assembly




Harvesting and Consolidating data elements

Component Assembly




Inventory of Existing Models and Information Sources

Assembling a Document Model

Implementation
Encoding Models as Schemas
 Deploying Models in Applications


(from Glushko & McGrath, Document Engineering, MIT Press, 2005)
(from Document Engineering courses taught at UC Berkeley)
Context Analysis – Needs
Assessment


Interviews


Student Organizations





Academic Departments & Schools













Center for Latin American Studies
Institute of East Asian Studies
International House

Museums




Information Systems and Technology

Centers, Institutes & other campus organizations




Boalt Law School
College of Letters & Science
College of Natural Resources
Haas School of Business
Graduate School of Journalism
School of Public Health
School of Information Management & Systems

University Administration




Associated Students of the University of California
Graduate Assembly

Berkeley Art Museum and Pacific Film Archive

Recreational Sports
Interview Findings





Very important to maintain brand, or “look
and feel” of rest of website
Ability to update information easily and
quickly
Share events with other organizations on
campus
3 levels of users:




Low level – Static html or no calendar
Medium level - Willing to try other calendar
applications
Advanced level – Do not want to replace current
system but want to share events with UCB
community
User-Centered Design Tasks (UCD)




Personas & Goals
Scenarios
Task Analysis




Frequency & importance of tasks to each
persona

Competitive Analysis








Web Event
Cal Agenda
Calendars.net
Live.berkeley.edu
iCal
MS Outlook
Yahoo Calendar
DE - Document Analysis


Creation of a “Document Inventory”







Document guidelines & standards
Sample document instances
Web pages
Other information sources

Standards Investigated


iCalendar (RFC 2445)




Source of our repetition rules

SKICal


Influenced our Admission Info section
DE- Document Analysis (con’t)


Calendar types selected for evaluation












Academic Departments
Academic Colleges/Schools
Research Centers
Libraries
Museums
Athletics
Personal Calendaring Systems
Administrative Departments
Student Groups

Analyzed 23 calendars in all




A representative sample of the domain
Kept analyzing new calendars until “law of
diminishing returns” told us when to stop
Used 80-20 rule to focus efforts
DE - Component Analysis


Creation of a “Consolidated Table of
Content Components”
DE - Component Analysis (con’t)


Harvesting & Consolidating Components


Need metadata to capture the meaning &
business rules of each component because the
name is not “self-describing”












Calendar
Name of data element in calendar
Our semantically unambiguous name (glossary)
Composite Name (groups of related elements, e.g.
DateTime)
Description
Data Type
Possible Value
Default Value
Etc.

Harvesting took on average 2 hours per
calendar
DE - Component Analysis (con’t)


Glossary
Our simplified version of a controlled vocabulary
 Ensure that every component is semantically distinct by
weeding out homonyms & synonyms




Ensure that we break elements down to an
appropriate level of granularity for our context
of use



Collected average of 16 data elements per
calendar from 23 calendars
350 total elements from all the calendars
 150 had unique names
 100 had unique semantic meaning

DE – Component Analysis
(con’t)
Calendar

Calendar
Element
Name

Element
Glossary
Name

Name of
Evaluator

Doe
Library

Location

Location

Sara

Event
Location

Math
Dept

Location

Location

Sara

Event
Location

IAS

Place

Location

Sara

Event
Location



Element
Glossary
ID

Look for elements from other vocabularies
to reuse



AddressType from UBL
PersonalNameType from BABL
DE - Component Assembly

UML Class Diagram created with Dave Carlson’s “hyperModel”
tool
DE - Component Assembly (con’t)


Strict Normalization


Functional dependency






If the value of one component changes when the other
changes

We may relax our normalization principles for
the sake of efficiency or ease of use

“Core & Contexts”




Top down vs. bottom up approach
Core - set of elements that are common to all
document models
Context - structures more related to specific
contexts
Sometimes there are few pre-defined strong semantic
constraints, so we create our own
 Admission Info section in “Add Event” form

DE – Document Assembly


Document hierarchy imposes an
interpretation on a relational model

Image from Glushko & McGrath, Document Engineering, MIT Press,
DE – Implementation


Encoding our model in W3C XML Schema



Creating the application that uses the
Event model to exchange of event
information between calendars
DE – Implementation (con’t)


Schema Design Issues



Design for reuse, maybe even in other domains
Optional vs. Required Elements
Required: Event Title, Event ID, DateTime
 Minimal “Core” of required elements sets low barrier to
entry







“Garden of Eden” style schema – everything’s
global!


Redefines (types)








Important for creating enumerated lists

Substitution Groups (elements)




Allows us to gain the necessary critical mass of users in
our domain
Allows for reuse in other domains

Allowed too much flexibility in the instance in our domain
Wanted to allow them if necessary in other domains

xsi:Any as opposed to defining an “Open-entry” element

Codelists (?)
UCD – Iterative Design Process



Allowed us to refine the way we presented
information to users
Inject user feedback into the design process

Paper Prototype
UCD – Iterative Design Process
Interactive Prototype
UCD – Iterative Design Process


Findings from Usability Testing


Application Layout
Paper prototype

1st Interactive prototype

Latest Design



Terminology





Post vs. Publish
Event Contact

Features


Export
Calendar Transforms



Event Instance
Institute of East Asian Studies calendar





Letters & Science calendar





Original (http://ieas.berkeley.edu/events/)
Our transformation
Original (http://ls.berkeley.edu/events/)
Our transformation

The use of XML & XSL is critical in allowing
calendars to easily create a customized
view of the data
Demonstration
Questions?
abloodworth@berkeley.edu

Contenu connexe

Similaire à Model-driven Application Design for a Campus Calendar Network

Three Software Architecture Styles
Three Software Architecture StylesThree Software Architecture Styles
Three Software Architecture StylesJorgen Thelin
 
Experience from 10 months of University Linked Data
Experience from 10 months of University Linked Data Experience from 10 months of University Linked Data
Experience from 10 months of University Linked Data Mathieu d'Aquin
 
Database Management System Introduction
Database Management System IntroductionDatabase Management System Introduction
Database Management System IntroductionSmriti Jain
 
Cdocumentsandsettingsuser1desktop2 dbmsexamples-091012013049-phpapp01
Cdocumentsandsettingsuser1desktop2 dbmsexamples-091012013049-phpapp01Cdocumentsandsettingsuser1desktop2 dbmsexamples-091012013049-phpapp01
Cdocumentsandsettingsuser1desktop2 dbmsexamples-091012013049-phpapp01Raza Baloch
 
database introductoin optimization1-app6891.pdf
database introductoin optimization1-app6891.pdfdatabase introductoin optimization1-app6891.pdf
database introductoin optimization1-app6891.pdfparveen204931475
 
Introduction to Database
Introduction to DatabaseIntroduction to Database
Introduction to DatabaseSiti Ismail
 
Simulating Enterprise Architecture Models
Simulating Enterprise Architecture Models Simulating Enterprise Architecture Models
Simulating Enterprise Architecture Models balbirbarn
 
NITLE Shared Academics: Examining IT and Library Service Convergence
NITLE Shared Academics: Examining IT and Library Service ConvergenceNITLE Shared Academics: Examining IT and Library Service Convergence
NITLE Shared Academics: Examining IT and Library Service ConvergenceNITLE
 
Object oriented software engineering
Object oriented software engineeringObject oriented software engineering
Object oriented software engineeringVarsha Ajith
 
Implementing Serial Solutions ERMS, OpenURL and federatd search solutions t UCD
Implementing Serial Solutions ERMS, OpenURL and federatd search solutions t UCDImplementing Serial Solutions ERMS, OpenURL and federatd search solutions t UCD
Implementing Serial Solutions ERMS, OpenURL and federatd search solutions t UCDRos Pan
 
Faceted Navigation (LACASIS Fall Workshop 2005)
Faceted Navigation (LACASIS Fall Workshop 2005)Faceted Navigation (LACASIS Fall Workshop 2005)
Faceted Navigation (LACASIS Fall Workshop 2005)Bradley Allen
 
OOAD unit1 introduction to object orientation
 OOAD unit1 introduction to object orientation OOAD unit1 introduction to object orientation
OOAD unit1 introduction to object orientationDr Chetan Shelke
 
AHM 2014: Enterprise Architecture for Transformative Research and Collaborati...
AHM 2014: Enterprise Architecture for Transformative Research and Collaborati...AHM 2014: Enterprise Architecture for Transformative Research and Collaborati...
AHM 2014: Enterprise Architecture for Transformative Research and Collaborati...EarthCube
 

Similaire à Model-driven Application Design for a Campus Calendar Network (20)

Three Software Architecture Styles
Three Software Architecture StylesThree Software Architecture Styles
Three Software Architecture Styles
 
Experience from 10 months of University Linked Data
Experience from 10 months of University Linked Data Experience from 10 months of University Linked Data
Experience from 10 months of University Linked Data
 
Database Management System Introduction
Database Management System IntroductionDatabase Management System Introduction
Database Management System Introduction
 
DBMS an Example
DBMS an ExampleDBMS an Example
DBMS an Example
 
Cdocumentsandsettingsuser1desktop2 dbmsexamples-091012013049-phpapp01
Cdocumentsandsettingsuser1desktop2 dbmsexamples-091012013049-phpapp01Cdocumentsandsettingsuser1desktop2 dbmsexamples-091012013049-phpapp01
Cdocumentsandsettingsuser1desktop2 dbmsexamples-091012013049-phpapp01
 
database introductoin optimization1-app6891.pdf
database introductoin optimization1-app6891.pdfdatabase introductoin optimization1-app6891.pdf
database introductoin optimization1-app6891.pdf
 
Introduction to Database
Introduction to DatabaseIntroduction to Database
Introduction to Database
 
Boston Mlc Ts2
Boston Mlc Ts2Boston Mlc Ts2
Boston Mlc Ts2
 
e-Framework Tools
e-Framework Toolse-Framework Tools
e-Framework Tools
 
Database Systems Concepts, 5th Ed
Database Systems Concepts, 5th EdDatabase Systems Concepts, 5th Ed
Database Systems Concepts, 5th Ed
 
DBMS - Introduction
DBMS - IntroductionDBMS - Introduction
DBMS - Introduction
 
Simulating Enterprise Architecture Models
Simulating Enterprise Architecture Models Simulating Enterprise Architecture Models
Simulating Enterprise Architecture Models
 
NITLE Shared Academics: Examining IT and Library Service Convergence
NITLE Shared Academics: Examining IT and Library Service ConvergenceNITLE Shared Academics: Examining IT and Library Service Convergence
NITLE Shared Academics: Examining IT and Library Service Convergence
 
Object oriented software engineering
Object oriented software engineeringObject oriented software engineering
Object oriented software engineering
 
Implementing Serial Solutions ERMS, OpenURL and federatd search solutions t UCD
Implementing Serial Solutions ERMS, OpenURL and federatd search solutions t UCDImplementing Serial Solutions ERMS, OpenURL and federatd search solutions t UCD
Implementing Serial Solutions ERMS, OpenURL and federatd search solutions t UCD
 
Lecture01 257
Lecture01 257Lecture01 257
Lecture01 257
 
Faceted Navigation (LACASIS Fall Workshop 2005)
Faceted Navigation (LACASIS Fall Workshop 2005)Faceted Navigation (LACASIS Fall Workshop 2005)
Faceted Navigation (LACASIS Fall Workshop 2005)
 
OOAD unit1 introduction to object orientation
 OOAD unit1 introduction to object orientation OOAD unit1 introduction to object orientation
OOAD unit1 introduction to object orientation
 
AHM 2014: Enterprise Architecture for Transformative Research and Collaborati...
AHM 2014: Enterprise Architecture for Transformative Research and Collaborati...AHM 2014: Enterprise Architecture for Transformative Research and Collaborati...
AHM 2014: Enterprise Architecture for Transformative Research and Collaborati...
 
Dbms unit01
Dbms unit01Dbms unit01
Dbms unit01
 

Plus de Allison Bloodworth

Make Your Data Come Alive: Visual Design's Role in Creating Compelling Visual...
Make Your Data Come Alive: Visual Design's Role in Creating Compelling Visual...Make Your Data Come Alive: Visual Design's Role in Creating Compelling Visual...
Make Your Data Come Alive: Visual Design's Role in Creating Compelling Visual...Allison Bloodworth
 
Selling userneedsassessment 7-30-07_full
Selling userneedsassessment 7-30-07_fullSelling userneedsassessment 7-30-07_full
Selling userneedsassessment 7-30-07_fullAllison Bloodworth
 
Introduction to User-Centered Design
Introduction to User-Centered DesignIntroduction to User-Centered Design
Introduction to User-Centered DesignAllison Bloodworth
 
User-Centered Design in IT: the Low-Hanging Fruit
User-Centered Design in IT: the Low-Hanging FruitUser-Centered Design in IT: the Low-Hanging Fruit
User-Centered Design in IT: the Low-Hanging FruitAllison Bloodworth
 
Open Source Design Pattern Library, Spreading Communities Thick: Open Source ...
Open Source Design Pattern Library, Spreading Communities Thick: Open Source ...Open Source Design Pattern Library, Spreading Communities Thick: Open Source ...
Open Source Design Pattern Library, Spreading Communities Thick: Open Source ...Allison Bloodworth
 
Use Cases in the Fluid Project
Use Cases in the Fluid ProjectUse Cases in the Fluid Project
Use Cases in the Fluid ProjectAllison Bloodworth
 
Using Personas to Create User-centered Designs
Using Personas to Create User-centered DesignsUsing Personas to Create User-centered Designs
Using Personas to Create User-centered DesignsAllison Bloodworth
 

Plus de Allison Bloodworth (8)

Make Your Data Come Alive: Visual Design's Role in Creating Compelling Visual...
Make Your Data Come Alive: Visual Design's Role in Creating Compelling Visual...Make Your Data Come Alive: Visual Design's Role in Creating Compelling Visual...
Make Your Data Come Alive: Visual Design's Role in Creating Compelling Visual...
 
Selling userneedsassessment 7-30-07_full
Selling userneedsassessment 7-30-07_fullSelling userneedsassessment 7-30-07_full
Selling userneedsassessment 7-30-07_full
 
Fluid Design Pattern Library
Fluid Design Pattern LibraryFluid Design Pattern Library
Fluid Design Pattern Library
 
Introduction to User-Centered Design
Introduction to User-Centered DesignIntroduction to User-Centered Design
Introduction to User-Centered Design
 
User-Centered Design in IT: the Low-Hanging Fruit
User-Centered Design in IT: the Low-Hanging FruitUser-Centered Design in IT: the Low-Hanging Fruit
User-Centered Design in IT: the Low-Hanging Fruit
 
Open Source Design Pattern Library, Spreading Communities Thick: Open Source ...
Open Source Design Pattern Library, Spreading Communities Thick: Open Source ...Open Source Design Pattern Library, Spreading Communities Thick: Open Source ...
Open Source Design Pattern Library, Spreading Communities Thick: Open Source ...
 
Use Cases in the Fluid Project
Use Cases in the Fluid ProjectUse Cases in the Fluid Project
Use Cases in the Fluid Project
 
Using Personas to Create User-centered Designs
Using Personas to Create User-centered DesignsUsing Personas to Create User-centered Designs
Using Personas to Create User-centered Designs
 

Dernier

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Dernier (20)

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

Model-driven Application Design for a Campus Calendar Network

  • 1. Model-driven Application Design v for a Campus Calendar Network Allison Bloodworth Project Manager e-Berkeley Program Office University of California, Berkeley abloodworth@berkeley.edu November 18, 2004
  • 2. Today’s Talk   The Generic Problem of Incompatible Data Models Our Case Study Context   Model-Based Application Design   Model used for information exchange & to guide the user interface designer Our Approach    UC Berkeley Calendar Network Document Engineering User-Centered Design Demo of Prototype
  • 3. The Generic Problem of Incompatible Models  Many large organizations struggle with incompatible models for applications created in different departments   Time sheets, contact management systems, expense forms, project schedules, registrations, etc. The problems are also typical of those that arise between enterprises with incompatible catalogs and transactional documents like orders and invoices.
  • 4. Generic Symptoms  Can’t share data  Models aren’t captured, can’t be shared or reused  Can’t easily create and maintain interconnected or similar applications
  • 5. Case Study: UC Berkeley Calendar Network  Goal: Design an enterprise application to allow web-based event calendars to share event information  Challenge: Working in a decentralized university environment where:    There are very few formal guidelines on creating web-based applications It is difficult for different departments to coordinate with one another Many departments have very limited technical resources
  • 6. Our Case Study Context  There are numerous calendars on the Berkeley campus              The Academic Calendar Bancroft Library Berkeley Art Museum/Pacific Film Archive Boalt Law School Cal Performances College of Engineering College of Letters & Science Haas School of Business Institute for East Asian Studies Lawrence Hall of Science Live.berkeley.edu UC Berkeley gateway site (www.berkeley.edu) …and more than 70 others
  • 10. The Purpose of Web Calendars  A web calendar is a marketing tool  Its main purpose is to publicize events, either within a community, or to the general public  Calendars should make it as easy as possible for users to find information on events of interest to them
  • 11. The Problem with calendars at Berkeley  It is difficult to get a comprehensive view of all campus events on a given day  It can be very difficult for calendar users to find events of interest to them  If they really want to do a thorough search, they must go to many different calendars
  • 12. Our Challenges  Because the purpose of a calendar is to publicize events, many of these calendars would like to share their events with each other   Currently there is no automated way to do this Incompatible data models & lack of technical resources prevent an automated exchange
  • 13. The Key to Project Success:  Convince departments on campus to switch to our system  Have to gain “critical mass” of users in order to obtain enough event information to be useful to the system’s users 1. Design a shared data model of an event that met almost everyone’s needs Allow calendars to provide their users with a customized view of the data Assist users of varying levels of technical skill in creating a customized calendar that is better than the one they currently use 2. 3.
  • 14. Incompatible Data Models  U.C. Berkeley Gateway Site  Haas School of Business
  • 15. The Solution    A standard data model of an Event ( http://dream.berkeley.edu/EventCalendar/Eve ) A centralized repository of Event information A calendar management tool    Manage events in the repository Customize a visually compelling, dynamic webbased calendar A design for a system architecture allowing XML feeds to and from the repository for calendars who choose to
  • 17. Model-Based Application Design  The collection, presentation, and exchange of data is governed by a formal model  Application can be generated from model in limited circumstances (simple forms, workflow) and when interfaces are only to other applications (e.g, Web Services) In other cases, model can guide the UI designer     What information is most important How best to group information together Co-occurrence constraints
  • 18. Our Approach  Document Engineering (DE)    User-Centered Design (UCD)   Help us design the documents that are interfaces to systems or services The data exchange model of an Event Help us design the applications that are interfaces for people Our context had both service interfaces & user interfaces
  • 19. What is Document Engineering?  “A new discipline for specifying, designing, and implementing the electronic documents that request or provide interfaces to business processes via webbased services” -   UC Berkeley Center for Document Engineering website (http://cde.berkeley.edu) A document-focused method of analyzing information from diverse sources and merging it to create a single, unified data model of the domain End result: a document that “defines a packet of information needed to carry out a self-contained logical message” (from Glushko & McGrath, Document Engineering, MIT Press, 2005)
  • 20. Document Engineering (DE)   Context & Business Process Analysis Document Analysis   Component Analysis   Designing a (Relational) Component Model Document Assembly   Harvesting and Consolidating data elements Component Assembly   Inventory of Existing Models and Information Sources Assembling a Document Model Implementation Encoding Models as Schemas  Deploying Models in Applications  (from Glushko & McGrath, Document Engineering, MIT Press, 2005) (from Document Engineering courses taught at UC Berkeley)
  • 21. Context Analysis – Needs Assessment  Interviews  Student Organizations    Academic Departments & Schools           Center for Latin American Studies Institute of East Asian Studies International House Museums   Information Systems and Technology Centers, Institutes & other campus organizations   Boalt Law School College of Letters & Science College of Natural Resources Haas School of Business Graduate School of Journalism School of Public Health School of Information Management & Systems University Administration   Associated Students of the University of California Graduate Assembly Berkeley Art Museum and Pacific Film Archive Recreational Sports
  • 22. Interview Findings     Very important to maintain brand, or “look and feel” of rest of website Ability to update information easily and quickly Share events with other organizations on campus 3 levels of users:    Low level – Static html or no calendar Medium level - Willing to try other calendar applications Advanced level – Do not want to replace current system but want to share events with UCB community
  • 23. User-Centered Design Tasks (UCD)    Personas & Goals Scenarios Task Analysis   Frequency & importance of tasks to each persona Competitive Analysis        Web Event Cal Agenda Calendars.net Live.berkeley.edu iCal MS Outlook Yahoo Calendar
  • 24. DE - Document Analysis  Creation of a “Document Inventory”      Document guidelines & standards Sample document instances Web pages Other information sources Standards Investigated  iCalendar (RFC 2445)   Source of our repetition rules SKICal  Influenced our Admission Info section
  • 25. DE- Document Analysis (con’t)  Calendar types selected for evaluation           Academic Departments Academic Colleges/Schools Research Centers Libraries Museums Athletics Personal Calendaring Systems Administrative Departments Student Groups Analyzed 23 calendars in all    A representative sample of the domain Kept analyzing new calendars until “law of diminishing returns” told us when to stop Used 80-20 rule to focus efforts
  • 26. DE - Component Analysis  Creation of a “Consolidated Table of Content Components”
  • 27. DE - Component Analysis (con’t)  Harvesting & Consolidating Components  Need metadata to capture the meaning & business rules of each component because the name is not “self-describing”           Calendar Name of data element in calendar Our semantically unambiguous name (glossary) Composite Name (groups of related elements, e.g. DateTime) Description Data Type Possible Value Default Value Etc. Harvesting took on average 2 hours per calendar
  • 28. DE - Component Analysis (con’t)  Glossary Our simplified version of a controlled vocabulary  Ensure that every component is semantically distinct by weeding out homonyms & synonyms   Ensure that we break elements down to an appropriate level of granularity for our context of use  Collected average of 16 data elements per calendar from 23 calendars 350 total elements from all the calendars  150 had unique names  100 had unique semantic meaning 
  • 29. DE – Component Analysis (con’t) Calendar Calendar Element Name Element Glossary Name Name of Evaluator Doe Library Location Location Sara Event Location Math Dept Location Location Sara Event Location IAS Place Location Sara Event Location  Element Glossary ID Look for elements from other vocabularies to reuse   AddressType from UBL PersonalNameType from BABL
  • 30. DE - Component Assembly UML Class Diagram created with Dave Carlson’s “hyperModel” tool
  • 31. DE - Component Assembly (con’t)  Strict Normalization  Functional dependency    If the value of one component changes when the other changes We may relax our normalization principles for the sake of efficiency or ease of use “Core & Contexts”    Top down vs. bottom up approach Core - set of elements that are common to all document models Context - structures more related to specific contexts Sometimes there are few pre-defined strong semantic constraints, so we create our own  Admission Info section in “Add Event” form 
  • 32. DE – Document Assembly  Document hierarchy imposes an interpretation on a relational model Image from Glushko & McGrath, Document Engineering, MIT Press,
  • 33. DE – Implementation  Encoding our model in W3C XML Schema  Creating the application that uses the Event model to exchange of event information between calendars
  • 34. DE – Implementation (con’t)  Schema Design Issues   Design for reuse, maybe even in other domains Optional vs. Required Elements Required: Event Title, Event ID, DateTime  Minimal “Core” of required elements sets low barrier to entry     “Garden of Eden” style schema – everything’s global!  Redefines (types)     Important for creating enumerated lists Substitution Groups (elements)   Allows us to gain the necessary critical mass of users in our domain Allows for reuse in other domains Allowed too much flexibility in the instance in our domain Wanted to allow them if necessary in other domains xsi:Any as opposed to defining an “Open-entry” element Codelists (?)
  • 35. UCD – Iterative Design Process   Allowed us to refine the way we presented information to users Inject user feedback into the design process Paper Prototype
  • 36. UCD – Iterative Design Process Interactive Prototype
  • 37. UCD – Iterative Design Process  Findings from Usability Testing  Application Layout Paper prototype 1st Interactive prototype Latest Design  Terminology    Post vs. Publish Event Contact Features  Export
  • 38. Calendar Transforms   Event Instance Institute of East Asian Studies calendar    Letters & Science calendar    Original (http://ieas.berkeley.edu/events/) Our transformation Original (http://ls.berkeley.edu/events/) Our transformation The use of XML & XSL is critical in allowing calendars to easily create a customized view of the data

Notes de l'éditeur

  1. consultants –> timesheets in different formats
  2. Began as a Masters thesis project at UC Berkeley School of Information Management & Systems Currently in development in the e-Berkeley Program Office at UC Berkeley
  3. DON’T READ HEADER*
  4. list of events with some navigation
  5. filter by audience
  6. fewer events and more navigation
  7. Visitors to the Berkeley campus Students & Alumni Faculty & Staff
  8. DON’T READ HEADER! Often this is done by manually entering the event data into several different web forms Or, even more inefficiently, by emailing the event data
  9. sure, there’ll be some users who will switch to have a better calendar, but we also need the “big important” calendars to make the system successful
  10. admission info Repeating events
  11. Users with specialized data storage or development needs (e.g. purchasing tickets online)
  12. -------------------------- components that are both reusable and more digestible to users
  13. (these might look like inside out and outside in approaches but they are compatible and complementary, and were interleaved throughout our development process, as I’ll show)
  14. You’ve probably heard of user-centered design, where applications are designed iteratively and constantly refined through user feedback testing
  15. goals for their calendar Current method of creating calendar Ideal calendar, desired features Interest in sharing data with other calendars Their event model
  16. Document Engineering emphasizes the analysis of existing physical models SKICal – Swedish initiative to create a model for public events (as opposed to personal calendar events)
  17. Actual calendars analyzed were chosen from a list most of the calendars on campus ---------------------- Selection criteria: each calendar with something distinctive about its type of content 80-20: elements we chose should be helpful to at least 80% of campus calendars…those with domain-specific data could extend our model
  18. Lists all data elements and gives an unambiguous semantic meaning for each one
  19. Looked at the event data entry forms as well as the presentation of event information in these calendars Any component that is self-contained or comprehensible in its own right -------------------- Understand the data elements found in the document inventory by extracting the underlying semantic components from their physical implementation (how they are presented)
  20. --------------------FIRST PARA Synonyms: “begin date, start date”, “end date” “end on”, “place” and “location” Homonym: title & speaker title – can add a context qualifier to clarify: Can sometimes find reusable components by removing qualifiers in the name Dis-aggregate structures to the level we need to know about dates…ISO standard 1003.2 an element called "Event Description" may really contain information on the event's topic, the cost of the event, and who the event sponsor is.
  21. Consolidated table of content components can see at a glance how many calendars contain an element we called “Location” --------------------- Synonym for location - place Location – broken down further later
  22. Goal: create a model that minimizes redundancy & maximizes reuse
  23. Differ in prescriptiveness & formality ------------------------- Functional dependency – datetime, address
  24. Choosing the entry point May modify cardinality (how many instances of each structure/element are permissible) & optionality requirements, but only making them more restrictive
  25. ------------------- It’s easy to join our club! ------------------ Substitution groups necessary for creating a LectureEvent, or PerformanceEvent with special constraints open entry element -> substitution group
  26. Used task scenarios created earlier in the process ---------------------- Users feel more free to criticize and make suggestions when there isn’t actual code that’s been written They also put less emphasis on color and design issues and concentrate on how well it allows them to *accomplish their tasks*
  27. Gives users a better feel of what the real application will be like to use
  28. Navigation Things we learned about terminology here fed back into the Event model