Skip to content

Requirements Outline

seanjosephwu edited this page Apr 21, 2013 · 10 revisions

Product Description

Nonograms are picture logic puzzles in which cells in a grid must be colored according to numbers along the top and left sides to reveal a hidden picture. The numbers are a form of discrete tomography that measures how many unbroken lines of filled-in squares there are in any given row or column. For example, a clue of "4 8 3" would mean there are sets of four, eight, and three filled cells, in that order, with at least one blank square between successive groups.

We are bringing this fun logic puzzle to the Android platform for anyone who enjoys solving puzzles. Users can choose to play different difficulty levels of the Nonograms. There is a timer for the game, and thus the score rankings are based on the difficulty and time spent on solving the puzzles. Hints can be granted with penalty of time. 

Users can also create their own Nonogram games and submit them to the server so that others can play it. Nonograms is a great social game that a user can play in his/her leisure time. 

Software Toolset

phpMyAdmin We are using Biz.nf to host our server instead of Heroku because it provides a better user interface. It also lets us to create tables using phpMyAdmin and lets us to create websites using PHP and Wordpress. HyeIn has used phpMyAdmin for web servers before and HyeIn and Sean has experience with PHP, but no one has used Biz.nf or Wordpress. It took awhile to get used to but it is worth it because better interface will make development a lot easier later.

Feature Set

Major Features

New User / Log in first time user register and return user log back in. In order to see his/her ranking, it must be a register user. Varied Level Games Games are provided by three difficulties level range from easy to difficult. Difficulties are differentiated by the size of the nonogram board. Hint System Hints are given to the user while they are playing the game with time penalty. A hint is display by showing a uncolored grid or a mis-colored grid. Create a Game Allow the user to create a nonogram game, given that not exceed the reasonable dimension for each level. Minor Features Color Aid while user play a game, for some undecided grid allow user to user a question mark on that grid Submission Reward if a register user submit certain amount of games, say 10 games, then the user is reward with a free hint (no time penalty) that he/she could in any game. Magnified Function provide a magnified function that a user can zoom in/ zoom out a certain area.

Alpha, Beta, V1 Breakdown

Alpha: 

Basic UI : Play a Game, New User, Log in, Create a Game, Score Board Play a Game : easy mode with small dimension New User : allow a new user to register and record user info in the database Log in : allow user to log in as a returned one Timer: record total time is spent on solving the game Beta:
Finish up anything left from Alpha version Hint system: provide hint to user with time penalty Timer: should change according to hint system Scoreboard: display top 10 rankings also user’s current ranking Medium level game: larger dimension of the game, maybe with magnified function Color aid tool: allow user to place a question mark on a uncertain grid while playing the game. (Note: this is a minor feature, we will do this only if time allowed)

V1:
Finish up anything left from Beta version Difficult level game : larger version of the game Create and Submit nonograms: allow user to create and submit a nonogram Scoreboard: show ranking depends on difficulty level Magnified Function

Work division We’ve chosen this division of labor because we want to have basic setup environment at the the beginning stage even though they might not have all the functionality the expected. Also heavier workload are assigned at the the first two stages. By doing this would leave us time and opportunities to fix up what we might have left before the final version.

Risks, Cuts, Adjustments

First Feature Cuts Remove one difficulty level Magnified Function Remove Scoreboard based on difficulties Second Feature Cuts Remove Hint System Remove Color Aid Tool Remove Timer Group Dynamics Adjustments Feature reassignment: assign difficult feature that needed to be completed from less productive to more productive member. Require members to spend more hours on the project per week

Group Dynamics

Project Manager: Sean Wu Two Subgroups: Front-End Developers (Android): Xiaoxia Jian, Alan Loh, Huiqi Wang, Renhao Xie Back-End Developers (Server): Sean Wu, Hye In Kim, Zhe Shi

The group is divided into two subgroups of front-end and back-end developers, according to every member’s preference and related experience. The two subgroups have about the even number of group members because the front-end and back-end developments are equally important. As the workload of each subgroup varies throughout the project, the members can temporarily move around subgroups to adjust every member’s workload. Within each subgroup, members can choose to work together or separately as assigned by the project manager. Our fixed weekly meeting for the big group will be the time for assignments and updates, while every member will report their work to the project manager every Saturday. If any disagreement arises, the project manager will try to resolve it during the weekly meetings or through our google group emails so that none of the members will be left out.

Clone this wiki locally