The document describes a UX model for a "light" version of Twitter called Chirper. It provides details on the following screens and functionality:
1. Home - The main page where users can see chirps from those they follow, send new chirps, search topics, and view their profile and followers/following.
2. Profile - A screen to view and edit a user's profile details.
3. User Page - A screen displaying a user's chirps and profile.
4. People - A screen listing users a profile follows/follows them.
It also includes instructions to design the internal class diagram and sequence diagrams for these screens and navigation between them
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
DSBW Final Exam (Spring Sementer 2010)
1. Problem 1: UX Model (20%)
DSBW – Final Exam June 14, 2010 You are requested to design the UX Model of part of the functionality for a “light”
version of Twitter called Chirper (to chirp ≈ to tweet)
Instructions:
Home
• You can’t use any notes
• In case of doubt, make an assumption and document it clearly After logging in the main page of Chirper (not shown here), the user comes into
• Grades will be published on June 29. Revision will be on July 1 from 11:30 to her "Home", which shows, among other things, messages (chirps) sent by she as
13:00 at the room Omega-120. well as the people she follows, in reverse chronological order (See the figure on
the left). The last message sent by the logged user (Latest) is always displayed
under the form to add new chirps.
From this view, the user can perform the following actions:
Click on "Go Home": The system returns this very same view.
Click on "Profile": The system returns the profile for the logged user (See
Profile below).
Click on "Logout": The system returns the main page of Chirper.
Fill the form "What's in your beak?" and click on the button "Chirp": The
system returns the current view with the resulting update.
Click on the number of chirps (e.g.137) sent by the logged user: The system
returns the chirps sent by that user (See User Page below).
Click on the number of users followed by the logged user (e.g. 17): The
system returns the people followed by the user (See People below).
Click on the number of users that follow the logged user (e.g. 32): The system
returns the people that follow the user (See People below).
Fill the form "Search topics in chirps" and click on "Search", or click on one
out of the 10 "trending topics" (p. ej CNBLUE), or click on a topic reference
(hashtag) included in the text of a chirp (e.g. #PrimeFaces in the 3rd chirp):
The system returns the very same view but showing the messages in Chirper
that contain that topic (And "Home" is replaced by "Real time results for
selected_topic")
Click on the username of the user who has sent one of the displayed chirps
(e.g. "lemire"), or click on the username reference (preceded by "@") included
in the text of a chirp (e.g. "addis" in the 4th chirp): The system returns the
chirps sent by the selected user (See User Page below).
Click on "See more chirps": The system adds more (former) chirps to the
displayed list.
2. Click on the username reference (preceded by "@") included in the text of a
chirp (e.g. "pfcdgayo" in the 1st chirp): The system returns the very same view
but showing the information corresponding to the selected user.
Click on "See more chirps": The system adds more (former) chirps to the
displayed list.
People
The system displays information related to the people who are followed by a given
user (as is the case of the figure shown below, where the people followed by
Lemire appear), or the people who follow that user (if this were the case, "lemire
has 964 followers" would replace "lemire follows ...").
From this view, the logged user can perform the following actions:
Click on "Go Home": The system returns to the logged user’s Home.
Click on "Logout": The system returns the main page of Chirper.
Click on the username of a person (e.g. "dlowd" or, even, "lemire"): The
system returns the chirps sent by the selected user (See User Page).
Click on “follow” (or “unfollow”) for a certain person: The system records that
the logged user wants to follow (unfollow) that person and returns the same
view with the resulting update.
User Page
Click on “See more people”: The system adds more people to the displayed
The system displays the chirps sent by the selected user (in reverse chronological list.
order) as well as information from her profile (top right, see figure above). From
this view, the user can perform the following actions:
Click on "Go Home": The system returns to the logged user’s Home (See
Home above).
Click on "Logout": The system returns the main page of Chirper.
Click on "unfollow" (or "follow"): The system perform the requested action an
returns the same view with the resulting update (If the displayed user is also
the logged one, then neither “unfollow” nor “follow” show up)
Click on the number of users followed by the displayed user (e.g. 61): The
system returns the people followed by that user (See People below).
Click on the number of users that follow the displayed user (e.g. 964): The
system returns the people that follow that user (See People below).
Click on a topic reference (hashtag) included in the text of a chirp (e.g.
#publishing in the 2nd chirp): The system returns a view similar to Home (See
above), but showing the messages in Chirper that contain that topic (And
"Home" is replaced by "Real time results for selected_topic")
3. Profile Problem 2: Internal design with WAE and Patterns (20%)
The system provides a form to change the logged user’s profile (see figure below).
The form fields contain initially the current data recorded in the system. All form Do the internal design corresponding to the UX Model provided. That includes:
fields are optional and can be erased/left blank if desired. In addition, the user can 1. The complete class diagram of the internal design of the Presentation Layer
return to her Home by clicking on "Home". using WAE. As we have done in class previously, apply the Service To Worker
design pattern. As in class, it is not necessary to include explicitly the Front
Clicking on "Delete" makes the system redisplay the form with the user's image Controller and the Application Controller so the diagram should only include
replaced, temporarily, by the system’s default user picture. When the user clicks any needed Business Helpers, Server Pages, Forms and Client Pages, along
on the button “Save" the system will update her profile and display her Home. with their associations and parameters. Include, also, the Domain Controller
classes using the Transaction Controller while specifying their attributes and
operations. If you need a Session class, show the information you are going to
store there.
2. The internal design sequence diagram of the Presentation Layer
corresponding to the interaction scenario shown in the next page.
Assume that the screens and functionality described refer to those that can be
seen/executed by a user that has already logged into the system. A user can rate
a movie more than once, but the system records only the last assessment
New Release «screen» Show New Release
title : String MovieRatings Home
0..5
picture : Image
show_new_release()
search()
«screen»
«input form»
No Search Results
Movie Search Form
Multiple message : String
Zero
year : Integer Matches title : text
country : Image Matches search()
averageRating : {1..10} «screen»
director : String Search Results One Single
cast : String [*] 2..*
Match
More concretely, you are requested to design: show_movie()
1. The class diagram corresponding to the complete description of the screens
and their navigational paths for the scenarios described above. It is Show Movie
necessary that you indicate clearly what information is contained in each Movie Description
screen and what operations these screens have. runningTime : Integer «screen»
genre : String Movie Details
2. The storyboard sequence corresponding to the following situation: a user gets synopsis : String 1
in her Chirper’s Home, she replaces her profile picture by a photo in the file yourRating : {1..10} [0..1]
system and then she sends a new chirp with the following text: “I’ve just rate() «input form»
changed my profile pic. Do you like it?” Rating Form
Rate yourRating : select(1..10)
4. : User «screen» «screen» «screen» «screen» Theory (60%)
: MovieRatings Home : Search Results : Movie Details : Movie Details
19. Explain what a URI is, its structure and what makes it different from a URL.
navigate()
28. Scrum: explain the three main user roles (pigs) as well as the three most
/ fill search form / important artifacts.
search() 35. Explain what the difference is between static content and dynamic content in
navigate() a web application screen. Explain also the two types of dynamic content and
put an example of each.
show_movie()
navigate() 51. List the different architectural alternatives that can be considered when using
the J2EE platform for developing web applications. Provide also a brief
description of each.
/ fill rating form /
63. Explain the correspondences between the class stereotypes used in the UX
rate() model and the ones used in the internal design.
navigate()
79. When buying a product from a website we want the user to complete a series
of forms on different pages according to a predetermined sequence that
cannot be altered. Which design pattern should we use? How does it work?
81. Regarding Struts 1, explain what the method execute of an Action is for, what
component invokes it and how the form parameters are passed to it
97. Describe the SSL's architecture and explain briefly what the protocols that it
comprises are for.
99. Put in the right sequential order the following levels of testing and provide a
brief explanation of each: System Tests, Beta Tests, Unit Tests, Acceptance
Tests, Integration Tests. Indicate also who perform them in each case
120. Explain what the following acronyms mean: RDF, RDF Schema, OWL and
SPARQL. Provide also a brief explanation of each, explaining how they are
related to each other