A Drupal Module for Sports Results
From SIU Wiki
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
- 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
- Resource: 1 available developer
Objectives
- To create a software module for helping sports managers and sports committees manage sports results
- To distribute general sports results management module as an open-source
Scope
- Represent and manage general sports results for sport events (possibly with hierarchy)
- Create/Update participants, events, and results data
- Report sports results in various formats
- Integrate with Drupal content management system
- Refer to sports results patterns from the official website of the Beijing 2008 Olympics games (medallist)
- (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
- MySQL database server
- Drupal
- HTML kid
- Dreamweaver
- Apache server with PHP support
Hardware requirement
- 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
- M1 Project schedule doc REACH
- M2 Project scope REACH
- M3 Project management REVISING
- M4 Requirement specification ON PROCESS & DELAY
- M5 Usecase n/a
- M6 Class diagram n/a
- M7 Logical data model REACH
- M8 Database design ON PROCESS
- 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
- User's guide - see http://docs.fckeditor.net/FCKeditor_2.x/Users_Guide as an Example
- Developer's guide - see http://docs.fckeditor.net/CKFinder/Developers_Guide as an Example
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
- Example of result from Rowing and Canoeing Association of Thailand http://www.rcat.or.th/node/470
- Example of result from World Rowing http://www.worldrowing.com/index.php?pageid=91
- Example of result from World Rowing http://www.worldrowing.com/medias/docs/media_357546.pdf
- Example of Sport List, see http://multimedia.olympic.org/pdf/en_report_847.pdf
- Example of Football competition, see http://livescore.com/
- Example of car race, see http://wsrp.ic.cz/
- Example of olympic see http://www.olympic-medallists.com/
- Example of official olympic game Beijing 2008 see http://results.beijing2008.cn/WRM/ENG/Schedule/index.shtml
- http://webmail.padawan.shinawatra.ac.th/~49103006-0
