Download
info 330 n.
Skip this Video
Loading SlideShow in 5 Seconds..
INFO 330 PowerPoint Presentation

INFO 330

148 Vues Download Presentation
Télécharger la présentation

INFO 330

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. INFO 330 Forward Engineering Project From User To Info

  2. Logical Design • User studies • Info model • Logical Design • User to type • User to access structure • Physical Design • Data model • Queries • Some logic • Funnel design • Page design

  3. User to Info Type

  4. MichelleWhat’s the coolest car for me? • Info need: • What kinds of cars are there? • How do you buy a car? • What do my friends think? • What car suits my personality? • What can I afford ? • Info behavior: • Ask my friends & family • Look at a lot of cars and think • Google for certain cars • Look at lots of pictures/videos • Info type: Cool Car • Only most basic car facts • Lots of info on styling • Lots of media • Stories and anecdotes • Make it easy to share • Logistics not statistics • Chatty and friendly style

  5. Info Type Model Cool Car Controlled vocab name shortDescription (basic rt) longDescription (full rt) features extras (o) personalityTraits bestUses whoOwnsOne (o) media stories (o) price • Info need: • What kinds of cars are there? • How do you buy a car? • What do my friends think? • What car suits my personality? • What can I afford ? Dealer name street1 street2 (o) city state zip phone email facebookURL (o) rating (0) shortDescription (basic rt) longDescription (full rt) • Info type: Cool Car • Content • Only most basic car facts • Lots of info on styling • Lots of media • Stories and anecdotes • Logistics not statistics • Basic Rich Text • p • b • i • u • Full Rich Text • p • ul • ol • media • b, i, u, • Inline link (e or i) in p, li

  6. Requirements for your Info Type Model • At least 2 info types • At least one rich text attribute in each type • At least 3 controlled vocabs • At least 12 tables in the data model Notice the difference between an info type and an entity How will you keep the scope under control?

  7. Deliverables for your info Type Model • Notes that link the model to the info persona • Diagram that • Shows all the attributes of each type • Flags attributes that are • rich text • controlled vocabs • optional • Logical design of rich text attributes • Account for inline links for sure • Account for other stuff as needed • Physical design: Data model • Showing only the info types modeled (no access structures • Relationships • Keys • Be able to discuss and justify your choices

  8. User to Access Structure

  9. Hierarchies

  10. Why would you use a hierarchy? The information • The information has categories and sub-categories • You want to show the proper names for your information • Some pieces of info “inherit” from others The user • Wants to know, “What is in here?” • Wants an overview of a lot of info • Is trying to learn about the information

  11. Indexes

  12. When do you need an index? When the information has • Common attributes (like title or date) • Some attributes that clearly divide it (author, keywords, etc.) When the user wants • To know “Is it in here?” • Quick access to the middle of the information • The info sliced by attributes they care about

  13. Associations

  14. When do you need associations? When the info • Natural paths from one item directly to another • Is organized like a web When the user • Might need to be in one place when she is presently in another place • Might be following a scent toward the right info

  15. Sequence

  16. When do you need a sequence? When the information • Has a natural order • Is like a story • Is like a procedure • Has prerequisites or post-requisites When the user • Does not know where to start • Is trying to do something or learn • Needs to see what you want to show them • “Needs to see an ad for another item within the current item.

  17. Info need: • What kinds of cars are there? • How do you buy a car? • What do my friends think? • What car suits my personality? • What can I afford ? Hierarchy Hierarchy Association • Cars by type Sequence Index Association Index (car) Index • Features • Personality trait • Uses • Owners • Price • Car name • Info behavior: • Ask my friends & family • Look at a lot of cars and think • Google for certain cars • Look at lots of pictures/videos Association Sequence Index Association Index (dealer) • Zip • City • Name Sequence Association • Cars like this one • Other dealers with this car • Steps to buying a car • Cars we want you to see • Top Dealers • Index search results Full text Index • Car.longDesc • Dealer.longDesc

  18. To keep in mind • Beware scope creep • I did not model the user on purpose • I did not model steps to buying on purpose • You WILL revise this work • Every new thing you do influences all the stuff you have done • Might be useful to do some early page sketch's to help you think. • But don’t enslave yourself to them • This is about the info and the user, not the presentation. That comes later

  19. Access structure info model requirements Info Model • Answers to the AS questions • At least one AS of each type • Notes and diagrams that link your persona and AS answers to AS chosen • Named structures that show their function Data model • Add to data model to implement AS • Separate data model diagram for each AS • For indexes with no extra tables, show the existing tables that are needed for the index • Include queries if there are one or two key ones • Include a BRIEF logic description if it will take more than a query to work with the data that is retrieved.

  20. Access Structure Questions Hierarchy • Are there natural categories? • Are there a lot of items? • Do items behave sometimes as a family (have siblings and parents?) • Is the user trying to learn something? • Will the user ever want to know what’s in here? Index • Are there a lot of items? • Are there short attributes (e.g., title and author) that all items of the type have? • Are items naturally thought about by the user based on these common attributes (e.g., it is natural to think of articles by author) • Are there words that people use to describe items of this type that don’t actually appear in the items (e.g., someone might think “cat” but the items always say “feline”

  21. Info Access Association • Are there natural paths from one item to others that are related to it? • Are there prerequisites to items that should be shown • Are there next steps that should be shown • Are there words or phrases in the text that should be links? Sequence • Is there a natural order to the items of this type? • Do some or all items form a sort of story? • Do items come together to form procedures? • Are there items that you definitely want users to see?

  22. Info Model Physical Design

  23. Info Type Model Cool Car Controlled vocab name shortDescription (basic rt) longDescription (full rt) features extras (o) personalityTraits bestUses whoOwnsOne (o) media stories (o) price • Info need: • What kinds of cars are there? • How do you buy a car? • What do my friends think? • What car suits my personality? • What can I afford ? Dealer name street1 street2 (o) city state zip phone email facebookURL (o) rating (0) shortDescription (basic rt) longDescription (full rt) • Info type: Cool Car • Content • Only most basic car facts • Lots of info on styling • Lots of media • Stories and anecdotes • Logistics not statistics • Basic Rich Text • p • b • i • u • Full Rich Text • p • ul • ol • media • b, i, u, • Inline link (e or i) in p, li

  24. Info Types Physical Design

  25. Dealer

  26. Car

  27. Car-Dealer

  28. Access Structures Physical Design

  29. Info need: • What kinds of cars are there? • How do you buy a car? • What do my friends think? • What car suits my personality? • What can I afford ? Hierarchy Hierarchy Association • Cars by type Sequence Index Association Index (car) Index • Features • Personality trait • Uses • Owners • Price • Car name • Info behavior: • Ask my friends & family • Look at a lot of cars and think • Google for certain cars • Look at lots of pictures/videos Association Sequence Index Association Index (dealer) • Zip • City • Name Sequence Association • Cars like this one • Other dealers with this car • Steps to buying a car • Cars we want you to see • Top Dealers • Index search results Full text Index • Car.longDesc • Dealer.longDesc

  30. Access Structure Physical Design Hierarchy Query SELECT dbo.coolCar.name, dbo.coolCar.shortDesc, dbo.car_carTypeTax.shortDesc AS Expr1, dbo.carTypeTaxonomy.name AS Expr2, dbo.carTypeTaxonomy.shortDesc AS Expr3, dbo.carTypeTaxonomy.parentId FROM dbo.car_carTypeTax INNER JOIN dbo.carTypeTaxonomy ON dbo.car_carTypeTax.carTaxid = dbo.carTypeTaxonomy.id INNER JOIN dbo.coolCar ON dbo.car_carTypeTax.carId = dbo.coolCar.id WHERE (dbo.carTypeTaxonomy.parentId IS NULL) Logic Use query above to find root category Use a recursive function to find child levels

  31. Feature Index • Types: • Standard • Optional SELECT dbo.coolCar.name, dbo.coolCar.shortDesc, dbo.feature.name AS featureName, dbo.feature.shortDesc AS Expr3 FROM dbo.car_feature INNER JOIN dbo.coolCar ON dbo.car_feature.carId = dbo.coolCar.id INNER JOIN dbo.feature ON dbo.car_feature.featureId = dbo.feature.id ORDER BY featureName

  32. Personality Index SELECT TOP (100) PERCENT dbo.coolCar.name, dbo.coolCar.shortDesc, dbo.car_personality.shortDesc AS Expr1, dbo.personalityTrait.name AS personalityName, dbo.personalityTrait.shortDesc AS Expr3 FROM dbo.coolCar INNER JOIN dbo.car_personality ON dbo.coolCar.id = dbo.car_personality.carId INNER JOIN dbo.personalityTrait ON dbo.car_personality.personalityId = dbo.personalityTrait.id ORDER BY personalityName

  33. Use Index SELECT TOP (100) PERCENT dbo.coolCar.name, dbo.coolCar.shortDesc, dbo.car_use.shortDesc AS Expr1, dbo.uses.name AS usesName, dbo.uses.shortDesc AS Expr3 FROM dbo.coolCar INNER JOIN dbo.car_use ON dbo.coolCar.id = dbo.car_use.carId INNER JOIN dbo.uses ON dbo.car_use.useId = dbo.uses.id ORDER BY usesName

  34. Owner index SELECT TOP (100) PERCENT dbo.coolCar.name, dbo.coolCar.shortDesc, dbo.owner.name AS ownerName, dbo.owner.shortDescription FROM dbo.coolCar INNER JOIN dbo.car_owner ON dbo.coolCar.id = dbo.car_owner.carId INNER JOIN dbo.owner ON dbo.car_owner.ownerId = dbo.owner.id ORDER BY ownerName

  35. Price Index SELECT TOP (100) PERCENT dbo.coolCar.name, dbo.coolCar.shortDesc, dbo.car_dealer.price, dbo.car_dealer.shortDesc AS Expr1 FROM dbo.coolCar INNER JOIN dbo.car_dealer ON dbo.coolCar.id = dbo.car_dealer.carId ORDER BY dbo.car_dealer.price

  36. Car Title Index SELECT TOP (100) PERCENT name, shortDesc FROM dbo.coolCar ORDER BY name

  37. Dealer name, zip and city indexes SELECT TOP (100) PERCENT name, zip, city, shortDesc FROM dbo.dealer ORDER BY name SELECT TOP (100) PERCENT name, zip, city, shortDesc FROM dbo.dealer ORDER BY zip SELECT TOP (100) PERCENT name, zip, city, shortDesc FROM dbo.dealer ORDER BY city

  38. Assoc: Similar cars • Logic • For the current car, find all the terms that describe it in each index (personality, features, etc.) • For each other car, find the term overlap with the current car • All overlapping cars are related • Order the list of related cars by • The number of overlaps • The importance of each index

  39. Assoc: Dealers with the Same Car SELECT TOP (100) PERCENT dbo.dealer.name, dbo.car_dealer.price, dbo.car_dealer.shortDesc, dbo.coolCar.name AS Expr1, dbo.coolCar.id, dbo.dealer.id AS dealerId FROM dbo.car_dealer INNER JOIN dbo.coolCar ON dbo.car_dealer.carId = dbo.coolCar.id INNER JOIN dbo.dealer ON dbo.car_dealer.dealerId = dbo.dealer.id WHERE (dbo.coolCar.id = 3) AND (dbo.car_dealer.dealerId <> 4) ORDER BY dbo.car_dealer.price

  40. Seq: Dealers for you • Logic • Retrieve all dealers • Order the results • Use city, state, zip to compare against what we know of the user’s location • Use what we know of the cars the user has searched for • Use rating with a high weight (that’s how we market certain dealers) SELECT TOP (100) PERCENT dbo.dealer.name, dbo.dealer.city, dbo.dealer.state, dbo.dealer.zip, dbo.dealer.rating, dbo.car_dealer.carId FROM dbo.dealer INNER JOIN dbo.car_dealer ON dbo.dealer.id = dbo.car_dealer.dealerId WHERE (dbo.car_dealer.carId = 3) OR (dbo.car_dealer.carId = 4)

  41. Seq: Ordering search results • All algorithm, will cover in the code spec