ESOF 427
Software Design and Architecture
Fall 2014

Montana Tech
Computer Science & Software Engineering

Onscreen keyboard design draft

The goal of this assignment is to gain experience planning and sketching the design for a set of classes supporting a certain application. Just as is typical in the real world, the application requirements are a bit vague and you should anticipate requirements will change during the life of your software.

Your company is working on the next generation of text entry interfaces for mobile devices (e.g. phones and tablet computers). Right now, you are focused on a text entry interface based around tapping buttons on an onscreen touchscreen keyboard.

You are tasked with designing the classes necessary to enable you to quickly develop and test different possible keyboards. This includes not only how the keyboard looks, but also how the underlying algorithms work that convert the user's taps into text output. You are concerned only with the classes handling the keyboard-related parts of the application. Other teams will use your API to build other parts of the software such as the correction algorithms, visual display, etc.

Create a sketch of the classes needed to support the application. No particular sketch conventions are required for this first draft- communicate your design visually however you think best. But you will have to explain your sketch to the rest of the class. It can be hand written (keep it legible!) and probably should fit on a single piece of paper.

Things you probably want to represent in your sketch:
Submission. We will be discussing everyone's sketch during the next class. Please come prepared with a copy of your sketch for everyone (you can use the copier in the department office). Late days cannot be applied to this assignment.

Page last updated: September 03, 2013