Read passage and answer questions. Information is from Systems Analysis and Desi
ID: 3574377 • Letter: R
Question
Read passage and answer questions. Information is from Systems Analysis and Design (chapters 9-12)
John is a systems analyst on the Holiday Travel Vehicle project team. The team is currently developing the system’s user interface design. John has been given the task of developing a plan for prototyping the user interface, and he is struggling to determine the best method of prototyping to use. All of John’s prior experience with user interface prototyping has used the storyboard technique. John’s project manager specifically requested that he consider all types of prototyping (storyboarding, HTML prototypes, and language prototypes) before developing his prototyping plan. The system under development will be a significant departure from the interface that the users are accustomed to, and the manager wants to be sure that the interface design is clear and acceptable to the users before it is implemented.
1. Prepare a summary of the three major types of prototyping that can be used in a project.
2. Identify the strengths and weaknesses of each method (the three choosing in part 1)
Explanation / Answer
1. storyboarding
=================
A storyboard is a graphic organizer in the form of illustrations or images displayed in sequence for the purpose
of pre-visualizing a motion picture, animation, motion graphic or interactive media sequence.
Storyboarding is used in software development as part of identifying the specifications for a particular set of software.
During the specification phase, screens that the software will display are drawn, either on paper or
using other specialized software, to illustrate the important steps of the user experience.
The storyboard is then modified by the engineers and the client while they decide on their specific needs.
The reason why storyboarding is useful during software engineering is that it helps the user understand exactly
how the software will work, much better than an abstract description. It is also cheaper to make changes to a storyboard
than an implemented piece of software.
HTML prototypes
==============
You could use the tools you use to write code, like Sublime Text or Visual Studio. You could put the static files in Dropbox and then share the URL. And you could solicit feedback via email or a project management tool.
But we think there's a better way. Handcraft is a place to put all of these things together. With Handcraft, you write your code in an editor just for HTML prototyping. We host all your stuff for you and provide you with a clean URL that you can share and even protect with a password if necessary. And coming soon, we include multiple different ways of soliciting, gathering and analysing feedback so you can iterate efficiently.
If you're building a prototype for the web, it makes sense to build it in its natural environment as it provides as real an experience as you can hope to achieve. Understanding how to build your designs can also give you a greater affinity with developers; they'll be more open to your ideas and able to communicate theirs better too.
It also has the benefit that you can take full advantage of all the web has to offer. Your prototype can adapt to the width of the browser window but a graphic wireframe can't. This is useful when demonstrating how your site adapts at different screen widths.
This is a web page at its most basic level:
1.<!DOCTYPE html>
2.<html>
3. <head>
4. <meta charset="utf-8" />
5. <title>Page name</title>
6. </head>
7. <body>
8. <p>Page content</p>
9. </body>
10.</html>
language prototypes
======================
In a class-based language (like JavaLanguage or SmalltalkLanguage), every object is an instance of a class. An object contains its own data (instance variables), but its class holds its behaviour (methods). To make a new object, you ask a class to "instantiate" itself.
In a prototype-based language, an object can contain both data and behaviour. It's a self-contained thing. To make a new object, you just call the "copy" method on an existing object
2.storyboarding
==============
One advantage of using storyboards is that it allows (in film and business) the user to experiment with changes in the storyline to evoke stronger reaction or interest. Flashbacks, for instance, are often the result of sorting storyboards out of chronological order to help build suspense and interest.
Another benefit of storyboarding is that the production can plan the movie in advance. In this step, things like type of camera shot, angle and blocking of characters are decided.[9]
The process of visual thinking and planning allows a group of people to brainstorm together, placing their ideas on storyboards and then arranging the storyboards on the wall. This fosters more ideas and generates consensus inside the group.
•These are good for quick, early, high level idea generation, but can become cumbersome for illustrating small changes to UIs or repeated contexts—you either have to redraw, copy with a machine, or simply leave out repeated elements and rely on imagination.
•They do not port well into the digital world; there are techniques (like camera snapshots) that can help, but eventually they do require updating to higher fidelity, more pixel-perfect UIs.
•If you do decide to bring your designs into a digital form (e.g., early sketch to hi-fi wireframe or prototype), the human context and story are left behind or must be recreated somehow. Unless you have relatively hi-fidelity sketches and have done evaluations of them with users through something like paper prototyping, you risk losing sight of the story context when you go digital.
HTML prototypes
==============
Pros and cons
There are a few distinct advantages of prototyping in code, mostly owing to the fact that you’re starting the design in something that resembles the final form. As explained in The Guide to Prototyping, some advantages include:
Platform agnostic — HTML prototypes work on any operating system, and nobody needs outside software to use it.
Modularity — HTML is component-based, which can help with productivity.
Low cost (aside from time) — There's many free HTML text editors, but you'll need to spend some time learning the language before it's helpful.
Technical foundation for the product — Provided you're creating production-ready code (and not just throwaway for the sake of a quick prototype), you can end up saving time in development.
Coded prototypes can be built in a variety of ways like HTML (or even Python), depending on your preferences. Ash Maurya, Founder and CEO of Spark59 and design speaker, suggests using Ruby on Rails because of the ease in which he can set placeholders for each page and link them together for navigation. However, the most popular code choice for prototyping will likely still be HTML.
Of course, the real consideration in deciding whether or not to use code in your prototype is your skill level. Not all designers have the ability to code, so don't overextend yourself unless you're technically confident. Furthermore, diving straight into code may inhibit creativity — ask yourself how many interactions and page flows you can create with 30 minutes in a prototyping tool versus a code like HTML or Javascript.
language prototypes
======================
The language rules can be simpler. For example, you don't run into any issues like "Is a class an object?" and "If a class is an object, what class is it an instance of?" (In Java, a class is sorta-kinda an object, but not really a very useful one. In Smalltalk, a class is a proper object, but because of that, there's a whole silly complex metaclass system. In Self, the issue just doesn't come up - you get all of Smalltalk's power, without the extra complexity.)
• You can give specialized behaviour to individual objects. This has all sorts of uses, but it's particularly useful when debugging. I've got an object on the screen that isn't behaving properly, so I ask to see that object's code, and override a method or two (on just that one particular object) to help me debug it.
• A few platypi (like the SingletonPattern) completely disappear. If you want there to be only one of a particular kind of object, then... only make one of them. If you don't want it to be able to be copied, then don't give it a "copy" method.
• You start to think of a bunch of new kinds of objects that you couldn't really think of in a class-based language. For example, I'm particularly fond of Self's namespace objects. (Self has a really nice namespace system, without any special namespace-related rules whatsoever in the language - it's all just ordinary objects. Nesting namespaces is done using ordinary inheritance.)
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.