CSE 2102: Final Exam Fall 2017
Select one of the following cases and propose a detailed solution for the problem. Somethings you
will want to address are:
List of requirements Interfaces
Functional Programmatic
Non-functional User
Architecture Testing & verification
Design patterns Functional requirements
Required systems Non-functional requirements
System relationships
Levels of abstractions Development strategies
You will generally want to explain why you have made each decision, though the list of
requirements should not require that level of detail. You may use any of the forms of documentation
that we have discussed, such as English descriptions, UML diagrams, etc. You should expect to fill
several pages in order to describe your solution adequately. The cases describe the minimal criteria.
You can expand on the highlight features, but you will need to flesh out the requirements that are
needed to accomplish these goals.
Cases:
Snowball Fight: It’s winter now, and you know what that means: Snowball fights! But we
can’t always meet up with our friends, and somedays the weather just won’t cooperate and give us
that snow we need. This game is designed to help curb your urge to nail your friends and soak your
enemies. Snowball Fight is an FPS game designed around a winter wonderland—as long as your idea
of a wonderland involves abominable snowmen, blizzards and having massive snow boulders falling
on top of you. There are tons of enemies to peg, including snowmen, killer snowmen and abominable
snowmen—some of these may be your friends the rest are (soon to be) bloody enemies. You and
your friends will have access to tons of weapons including manual snowball flingers, a rapid fire
launcher and even an oversized mortar, to drop those aforementioned boulders! And while you’re
busy soaking your friends and enemies, you’ll also have to contend with the weather. It’s winter and
the weather can change at the drop of a hat. You may be tossed into a blizzard, an avalanche, hail or
even a white out at a moment’s notice or you might even experience the legendary diamond dust. If
that leaves you wanting for more, we’re constantly adding new features for cheap: holiday
decorations, new outfits, weapons or even (N)PC types, all for your enjoyment!
JamminGo: Ever tried to use your phone as a media player while on the move? It sucks: tiny
buttons, weird presses, complex choices, and the ever present ad for someone you’ve never heard of!
JamminGo is designed to give you easy access to your music, letting you select a long playlist before
you head out, or change it on the fly. But don’t worry, if your playlist runs out, JamminGo won’t leave
you in silence, it can just grab your next album to play, start selecting random songs from your entire
library, or even pick songs based on what you’ve been listening to recently. If you have run out of
music to listen to, JamminGo can make suggestions about new artists to check out, but only when you
ask for it. Until then, you can find what you want, even in a massive library like yours. You can filter
your catalog using as many criteria as you want. And if your first filter doesn’t do the trick, you can
just apply another one on top. The filtering can operate on any information that JamminGo has,
including file information, standard tags and even custom added tags. Our plug-in architecture allows
us to easily add new streaming services to keep you juiced up. Play your favorite internet radio
station, or pull something from Pandora.
CSE 2102: Final Exam Fall 2017
Manufacturing Robot Controller: This system is designed to allow engineers to design control
plans for various manufacturing robots. Engineers can select from various operations that are
available for a given robot and combine them to create processing plans. These are stored locally by
default, but they can be exported or imported into other machines that need to do the same task. A
bevy of statistics and sensor data is available for perusal. Any sensor data or usage data can be read
and used to warn of stoppage, hazards or maintenance issues. For those with networking available,
additional features are also accessible. The system can be accessed from a local network allowing
plans to be modified and submitted from the comfort of your desk. Robots can be configured to
modify their actions based on the actions of other robots. So, if one robot gets stuck, the others won’t
continue to run, damaging themselves in the process. The reporting data can also be sent back to a
central server to gain insight into large scale trends that are affecting your manufacturing plant. The
system is configured to allow multiple levels of users. Floor level operators can start, stop or reset a
system; an engineer can create, modify or delete plans; and administrators are capable of delegating
access rights to others.