threebees-secondplan

advertisement

COMS W4156: Advanced Software Engineering

Columbia University

Fall 2009

Second Iteration Plan

“The Three Bees”

Team # 11 Members:

Pranay Dharmale (pd2340@columbia.edu)

Weiqi Ma (wm2244@columbia.edu)

Seoho Lee (sl2581@columbia.edu)

Requirements and High level design in UML

1.

Requirements using UML

Functional requirement overview using use cases

As is shown below, we use UML use cases to describe the functional requirements of our system.

The diagram below also indicates the different roles with multiple types of user.

Requirement of game application using behavior diagram

Here is an activity diagram to describe our requirement of the game application. It shows the procedural flow of control between players and server.

2.

System design in UML

High level architecture design using deployment diagram

Here is a deployment diagram of UML for describing our high level physical architecture and deployment of components.

Component level design using class diagram

Here are some class diagrams that give us a general idea of our component level design. The diagram below introduces beans we use: UserFacade, WordlistFacade, ScoreFacade and their corresponding entity beans.

The following class diagram presents components associate with each other.

Unit Testing plan

Unit Testing

We decided to test our login facility component for unit testing. We are testing all statements for login facility.

Login function:

1.

login function

A.

Valid input class: User account is in the database. Corresponding password is also in the database.

B.

Input use cases example: seoholee/12345

C.

Invalid input: user account or password that does not match the database.

D.

Invalid use cases example: michaeljordan/12345, seoholee/23456

E.

Output: login confirmation, or warning.

2.

User account Creation-checking user id:

A.

Valid input domain: User id is valid under syntax, for example, user id should contain only words and numbers.

B.

Input use cases example: Seoholee

C.

Invalid input: user id does not match syntax.

D.

Invalid use cases example: seoholee@columbia.com

3.

User account Creation- checking email address:

A.

Valid input domain: email address contains strings except @ followed by a symbol @ and strings with a symbol period

B.

Input use cases example: seoholee@columbia.edu

C.

Invalid input: user id does not match syntax, or does not match the memory space given to input

D.

Invalid use cases example: asd@d@d.com

4.

User account creation: Password check:

A.

Valid input class: two identical strings with length at least of 6 and numbers and alphabets only.

B.

Input use cases example: qwerty123

C.

Invalid input: user password does not match the syntax explained above, or does not match the memory space given to input

D.

Invalid use cases example: asd2.dwe

5.

User account creation: user names:

A.

Valid input class: sets of alphabet characters.

B.

Input use cases example: Tiger Woods

C.

Invalid input: the name does not match the syntax above, or does not match the memory space assigned

6.

Password recovery:

A.

Valid input class: User account

B.

Input example: seoholee

C.

Output: email with the random password sent to the corresponding email address

D.

Output example: seoholee@columbia.edu

7.

Password reset:

A.

Valid input class: user password to corresponding user account. New password generator is identical to the password creation in account creation

B.

Output: change to database with new user password

Code inspection checklist

We plan to do the code inspection using our game application.

System normally generates letters for player

 The name displayed by our system is matched with authenticated player’s name

Timer starts and ends normally

 System capture Player’s input normally

When checking words for player, Server handle input properly whatever it is.

Display words the player already successfully spelt properly

 Update score correctly based on user’s input

Display score correctly

When game is over, update user total score properly

Security and robusteness of our system

We are planning to employ numerous methods for testing our application. Initially, we shall perform testing on the login authorization. We shall provide it with absurd inputs for login id and password; make the length of strings very large (called “Shoe testing”) and same for game form. Thus, test it thoroughly if it breaks and allows violation. “Shoe Testing” shall overflow the buffer and the buffer overflow testing shall also be performed.

Foreign Language testing would allow us to test the nature of our application when the input is given in foreign language. We shall note its behavior and see if any exceptions occur.

We shall also test the application when the user clicks very quickly on the game window.

The stability of the application shall also be tested by using it thoroughly for a single logged in user, for a long time period.

We shall also see the handling done by our application when multiple users connect to the system at the same time. And, testing cases where same user login is connected via multiple client instances.

We shall also test our system for possible SQL Injections.

The testing related to server and database session timeouts shall also be performed to know the timeouts in various cases.

1.

Schedule

Second Iteration Requirements: (all members) i.

Unit Testing Requirements (In Progress)11/28 - ii.

Code Inspection Checklist (In Progress) 11/27 –

2.

Second Iteration Implementation: i.

Login Web UI – (In Progress)11/26 Pranay Dharmale ii.

Registration UI – (In Progress)11/27 Pranay Dharmale iii.

Account Recovery UI – (In Progress)11/27 Pranay Dharmale iv.

User Profile UI – (In Progress)11/27 Seoho Lee v.

Statistics UI – (In Progress) 11/27 Seoho Lee

3.

Second Iteration Unit Testing: (all members) – (In Progress) i. Testing Login system, the correctness of login id and password entered by the user –

Pranay Dharmale 12/3 ii. Testing Account Creation System, making sure that user gets registered successfully. –

12/3 Pranay Dharmale iii. Testing Account Recovery System, to check that “Forgot Password” section is working fine. – 12/3 Pranay Dharmale v. Testing Rank System, testing that all the ranks and statistics are displayed correctly– 12/3

Seoho Lee vi. Testing Game System, testing that the logic of game has been implemented correctly –

12/1 Weiqi Ma

4.

Security& Robustness Testing(all members) – (In Progress) i.

Performing Shoe Testing – 11/25 ii.

Testing of Server Timeouts – 11/25 iii.

Multiple User Connections – 11/24 iv.

SQL Injections – 11/26 v.

Rigorous inputs(random clicks etc) – 11/26

Testing Game implementation System

Testing End-of-Game System

Testing scoring System

Controversies

The work division done after the First Iteration demo still prevails. And, the work is progressing towards the development of software system as intended. No controversies to report.

Download