A Drupal Module for Sports Results

From SIU Wiki

Jump to: navigation, search

Insert non-formatted text hereCourse: CS4921 Subject: Computer Science Project I Developer: Sereerattapol Kamwang Advisor: Photchanan Ratanajaipan

  * IMPORTANCE
  The following data is not the finalversion. It can be modified any time see change log. The final version is 
  when the project is published. Most of them is under consideration and development.
  

Contents

Project Management

Software project management is an essential part of software engineering. Good management cannot guarantee project success. However, bad management usually results in project failure: The software is delivered late, costs more than originally estimated and fails to meet its requirements. Software managers are responsible for planning and scheduling project development. They supervise the work to ensure that it is carried out to the required standards and monitor progress to check that the development is on time and within budget.

Project planning

Introduction

Constraint

  1. Time: 22 weeks (Exclude midterm exam, final exam, holidays and project presentation)
       The time includes Computer science project I & II
       Strarting date: 1st July 2009
       Delivery date: 17th Febuary 2010 
  1. Resource: 1 available developer

Objectives

  1. To create a software module for helping sports managers and sports committees manage sports results
  2. To distribute general sports results management module as an open-source

Scope

  1. Represent and manage general sports results for sport events (possibly with hierarchy)
  2. Create/Update participants, events, and results data
  3. Report sports results in various formats
  4. Integrate with Drupal content management system
  5. Refer to sports results patterns from the official website of the Beijing 2008 Olympics games (medallist)
  6. (Do not support all of sports results patterns, but select 2-3 popular sports patterns) (update later, not final version)

Exclude

 # The project shall exclude sports arrangement, sport schedule,decision support system and other that does not relate to sport result

Background

Why Drupal? .... Background There is currently no Drupal module about the sport result management distributed. However, Some sports and other tournament modules are under discussion and development on the web: http://groups.drupal.org/node/13804#comment-47194 and http://groups.drupal.org/node/15948. Not finish)

Software model

  • Software model: Waterfall model (intregrated with other model)
  • Feasibility study (Feasibility report) --> Requirement specification (URD)--> Reqiurement analysis (System model) --> Design (Diagram) --> Implementation (Build) --> Test (SIT, UAT) --> Deployment (Doc, Pro)
  • Justification: Since the project has the difinite scope and low propability to change in requirements,

the waterfall model meets the project conditions and constraints. However, the integration of the waterfall model and others are considered suitable and more effective such as The RUP best practice shall lead the project developer avoid and prevent the project difficuties. Besides, the waterfall model shows the big picture step-by-step of the significant processes in software engineering.

  • Waterfall model effect upon the project schedule see project schedule

Project organization

Roles and responsibilities:

 # Project manager             Monitor and control the entire project
 # Business analyst (assume)   Deal with requirements
 # Software developer          Implement the project
 # Tester                      Test the validation and verification

Risk analysis and management

  • Risk planning
 Risk                                                                     Probability        Effect
 # The key developer is ill at critical times in the project              Medium             Catstrophic
 # The time required to develop the software is underestimated.           High               Serious
 # The size of the software is underestimated                             High               Serious
 # The project requires high level of programming knowledge               medium             Serious   
  • Risk management strategy
 Risk                                        Strategy
 # Staff illness                             Find some co-worker to help to cach up the schedule during the staff illness. Doing good doc preparation shall help the co-worker understand and do the next work easily.
 # Underestimated development time           The developer should be pro-active. Complete the critical path as soon as possible. And select the shortest path
 # Size of scope                             Complete only the main features and functions, omit the low priority if possible.
 # Required special knowledge                Consult programming experts

Hardware and software resource requirement

http://drupal.org/requirements Software requirement

  1. MySQL database server
  2. Drupal
  3. HTML kid
  4. Dreamweaver
  5. Apache server with PHP support

Hardware requirement

  1. n/a (update later)

Work breakdown & Project schedule

 # Project initiation            2 weeks          
 # Scope definition              2 weeks          
 # Requirement gathering         2 weeks 
 # Requirenent analysis          2 weeks 
 # Design                        3 weeks 
 # Implementation                6 weeks 
 # Test                          5 weeks 
 # UAT                           2 weeks 
 # Close                         1 weeks

For more detail, please go to http://webmail.padawan.shinawatra.ac.th/~49103006-0 and dowload the lastest version of an Excel file: Project schedule.xlsx

Milestones and deliverables

  • M1 Project schedule doc
  • M2 Project scope
  • M3 Project management
  • M4 Requirement specification
  • M5 Usecase
  • M6 Class diagram
  • M7 Logical data model
  • M8 Database design
  • M9 Program module
  • M10 User Interface specification
  • M11 Coding guideline
  • M12 User manual
  • M13 Unit test
  • M14 Integration test
  • M15 UAT
  • M16 Delivery

For more detail, see the project schedule. (This is a checkpoint in which some shall provide doc, some may not. Under consideration)

Monitoring and reporting mechnism

update later (see project update status below for temporary)

Update Project Status

Project status

 # Project initiation            ||||||||||||||||||||100%   status: done        due date: 2th week of July
 # Scope definition              ||||||||||||||||||||100%   status: done        due date: 4th week of july
 # Requirement gathering         ||||||||||||||||||90%      status: pending     due date: 3th week of August
 # Requirenent analysis          ||||||||||||||||||90%      status: pending     due date: 4th week of August
 # Design                        ||||||30%                  status: on process  due date: 3th week of September
 # Implementation                                           status:             due date: 1th week of December
 # Test                                                     status:             due date: 1th week of Febuary
 # UAT                                                      status:             due date: 2th week of Febuary
 # Close                                                    status:             due date: 3th week of Febuary
  • The scope is currently unstable due to the literature survey is not finished and some details may be not discovered so far.
  • However the scope can simply demonstrate the big picture of the project and set as 100% to do further process. The iteration of process will lead to revise the scope afterward. If there is no further unseen data that revelant to the scope, the scope is deemed to stable.

Mile stone status

  1. M1 Project schedule doc REACH
  2. M2 Project scope REACH
  3. M3 Project management REVISING
  4. M4 Requirement specification ON PROCESS & DELAY
  5. M5 Usecase n/a
  6. M6 Class diagram n/a
  7. M7 Logical data model REACH
  8. M8 Database design ON PROCESS
  9. M9 Program module n/a

On process

  • Study the Drupal concepts

Next activities

  • UI design

Requirements engineering process

Feasibility study

  • Software and Hardware requiement
  • Drupal technology
  • Drupal module creation

Data gathering

From http://www.olympic-medallists.com/beijing_2008.htm Or http://webmail.padawan.shinwatra.ac.th/~49103006-0 see docx file with Sport Result prefix

TRACK & FIELD
GYMNASTICS
CYCLING
EQUESTRIAN
WEIGHTLIFTING
In the Water
SWIMMING (10km marathon events added)
DIVING
SYNCHRONISED SWIMMING
On the Water
CANOEING
ROWING
SAILING (minor event changes)
On Court
BADMINTON
TABLE TENNIS (doubles events replaced by team events)
TENNIS
In Combat
BOXING
JUDO
WRESTLING, Greco-Roman and Freestyle
TAEKWONDO
FENCING (changes to team events)
Other Sports
ARCHERY
TRIATHLON
SHOOTING (men's running game target and women's double trap events dropped)
MODERN PENTATHLON
Team Sports
BASEBALL
BASKETBALL
HANDBALL
HOCKEY
FOOTBALL (Soccer)
SOFTBALL
VOLLEYBALL
WATER POLO

Data analysis

  • Requirements validation

Design

  • Architectural design
  • Abstract specification
  • Interface design
  • Component design
  • Data structure design
  • Algorithm design

Implementation

Verfication and validaion

  • Component {or unit) testing
  • System testing
  • Acceptance testing

User's manual

Data dictionary

  • Drupal modules Plugins for Drupal that extend, build or enhance Drupal core functionality.
  • Event ....
  • Paticipant ....
  • Championship A set of events, with championship specific rules for charts and single event results
  • Competition A single event, can be assigned to a championship. It can have its own rules.


Thoughts

User's guide
Developer's guide
...
Pattern - UI?, groups of sport types*
Structure - ???
Hierarchy - results and competition hierarchy
Championship
A set of events, with championship specific rules for charts and single event results
identified by CHid
Competition
A single event, can be assigned to a championship. Can have its own rules.
identified by CNid
Competitor
Competitor is a abstract element and can either be a human person or a team - depends on the matter of details
a competitor can be assigned to multiple teams and multiple groups
identified by CRid for a single event, identified/profiled by nodeID
Competitor Data
a set of data describing the competitors performance
e.g. scored goals and given penalties (e.g. "Competitor XY headed goal in minute 34")
identified by CNid, CRid and offset
Team
a team wich participates in the actual event
does not perform actions itself/does not have competition data
results for a team are only generated/derived via the competition data of the competitors
e.g. player X of team C scored in min 34, player Y of team C scored in min 75 => 2 goals for team C
identified by CTid, identification for profile can be set by nodeid or teamname
extra db-table for assigning CRid to C
Classification
competitors can be assigned to different Classifications, like Vehicle-Type in racing or age-groupings in youth sport
identified by CCid
Rules
serilialized functions (php-functions, mysql-functions, sorting functions) that manage different aspects of deriving information
use data of championship, competition, competitor, teams, classification, and specially Competition Data to derive information, that is used to generate result and statistics
different types: data for competitor or team in single event or championship (single result chart => team championship standings)
Derived Data
derived data for competitors and teams by rules
this data will be used to list results

References

Personal tools