Detail Design Document

Affinity Diagramming in FACETs Mobile Toolset

Document Control

Document Information

Document / Information
Document Owner / Team6g
Issue Date / 9/10/2010
Last Saved Date / 11/13/2010
File Name / Detail Design Document

Document History

Version / Issue Date / Changes / Responsible
1.0 / 9/10/2010 / Initial document creation / Ryan Chadwick
1.1 / 9/15/2010 / Added Screens / Ryan Chadwick
1.2 / 9/20/2010 / Update sections 4 and 7 / Ryan Chadwick
1.3 / 9/25/2010 / Finished sections 5 and 6 / Ryan Chadwick

Table of Contents

1. Summary

2. Hardware Requirements

3. Software Requirements

4. Presentation Layer

4.1 Screens

5. Business Layer

6. Database Layer

1. Summary

This document describes the detailed architectural design for the system. It specifies all known components needed to deliver a complete system.

The Affinity Diagram Tool will be broken down into 4 separate activities. Each activity will represent a different type of user interaction with the program. Session management has already been handled in our previous documents and will not be included here.

The four activities are as follows:

The Needs Generation activity encompasses addition of needs to an affinity diagramming session based on their stakeholder group. This phase also allows for silent grouping of different needs. The Grouping activity encompasses associating similar needs with discussion. The Sentence Creation activity encompasses generating requirements statements for the needs in any given group. It also allows for discussion during the process. The Results activity encompasses displaying all the generated requirements statements for this session.

As in the Brainstorming tool the phases will be controlled by moderators and can move In a bilateral manner.

Needs Generation Grouping Sentence Creation Results

2. Hardware Requirements

There will be a minimum of 2 hardware requirements for system usage.

The first requirement is a web server hosting the current Facets database and its support software. This web server should be capable of handling a moderate amount of transactional throughput on the order of several hundred (100-300) read and write requests per second maximum. The collaborative nature of this application as well as its possible growth requires that it be given enough resources to successfully handle a large numbers of transactions.

The second requirement is an Android smart phone or smart device. The device should have some form of wireless connection to a wireless provider for connection to the Facets server.

3. Software Requirements

The development environment is based around the Android SDK. We have chosen to use Eclipse as our IDE because the Android SDK includes an Eclipse plug-in to ease development. The android SDK is based in the Java language so the most recent Java SDK is also required for development.

Operation of the system requires SQL server for the Facets database. The Android app will not require any extra software to operate, besides actually downloading the app itself to the phone.

4. Presentation Layer

This section describes all the screens and reports needed to deliver all the functional requirements. Include screen descriptions, screen shots, report descriptions and report shots. The client should understand that the final product may not be exactly as listed here but the functionality will stay the same. During coding, we may merge or separate screens to achieve a nicer user interface and to promote reusability of components.

4.1 Screens

4.1.1Needs Generation Screen in Needs Generation Phase
Description / This screen is used to enter all stakeholder needs as well as silently group them
Security Group / Moderator, User
Data /
  1. My Input: The list of needs that has been generated for this Affinity Diagram
  2. Groups: The list of generic groups used for silent grouping

Actions /
  1. Settings: This will open a dialog for the user to select simple setting options like font size
  2. Add Need: This will input a new user need
  3. Add group: This will add a generic un named group to organize similar ideas
  4. Clicking a Need: This will allow you to move this need to a generic group
  5. Clicking a Group: This will display all the needs in this generic group

4.1.2 Grouping Screen in Grouping Phase
Description / This screen displays all the generic groups and their contents
Security Group / Moderator, User
Data /
  1. Groups: This displays a list of all the generic groups and their content
  2. Chat: This displays the current topics for discussion in this phase

Actions /
  1. Settings: This will open a dialog for the user to select simple setting options like font size
  2. Add group: This will add a generic un named group to organize similar ideas
  3. Add Topic: adds a new discussion topic to this phase
  4. Add Chat: adds a new post in the current discussion topic
  5. Clicking a Need: This will allow you to move this need to a generic group
  6. Clicking a Group: This will display all the needs in this generic group

4.1.3 Forum Screen in Grouping Phase
Description / This screen displays all the generic groups and their contents
Security Group / Moderator, User
Data /
  1. Groups: This displays a list of all the generic groups and their content
  2. Chat: This displays the current topics for discussion in this phase

Actions /
  1. Settings: This will open a dialog for the user to select simple setting options like font size
  2. Add group: This will add a generic un named group to organize similar ideas
  3. Add Topic: adds a new discussion topic to this phase
  4. Add Chat: adds a new post in the current discussion topic
  5. Clicking a Need: This will allow you to move this need to a generic group
  6. Clicking a Group: This will display all the needs in this generic group

5. Business Layer

Define all of the objects necessary to support the presentation layer.

Figure 1: Activity Hierarchy

Figure 2: Database Tasking Pool

Figure 3: Node Data Storage

Figure 4: Session Management

6. Database Layer

No change to the database from previous projects has been made for the Session Management and Brainstorming FACETs Mobile tools.