Angus French wrote:Does anyone have any comments on the specification?
Is this a genuine request or a box ticking exercise? It does seem rather late in the day.
FWIW here are my thoughts.
Specification wrote:The Functionality of the LMS Software
Reporting Game and Match Results
• The time limit for each game, initially either standard play or rapidplay
This is trivial and it makes no sense to delay until a later phase. In fact that will likely create extra work pointlessly.• The time limit for each game, eg G90, G75+10 and the category: standard, rapidplay, blitz or other. "Other" covers formats which clubs may use for formats which are not gradable but which clubs nevertheless want to enter into their LMS for administrative purposes.
Specification wrote:Submitting Game and Match Results
This section needs to be rewritten. The email stuff is antiquated nonsense. Emails get lost, go astray, end up in junk by accident.
Instead authorized users login to the system, see messages for them, deal with them, send messages to other users in a semi-automated, controlled way which is built into the system. Take your email control flow and replace it with system messages. These are simple to implement and easy and clear to use.
Specification wrote:Lists of Registered Players
There is a lot of rubbish in here about validation of league rules. This is not the function of the LMS. Register players per team: yes. Validate who may be registered for which team: no. This is for the clubs and league controllers to handle outside of the system.
By trying to include stuff like this you are placing a big, heavy brick in a dark room which the users are going to run into. When they break a toe on this they will curse you and throw your software in the bin. All team registrations should be visible to all users so that issues can be raised with the clubs and league controllers who can correct as necessary. Their needs will be different and you cannot be all things to all men.
A player must be registered before he plays for a team. Registered players without an ECF number should automatically have their details sent to the main system and a code returned. This may include a code which indicates a new player who hasn't paid. The automated submission of results to the main system should always include the ECF code.
Specification wrote:Fixture Lists
but it is left to the developer to come up with the preferred layout for this input.
I don't think so! The developer is not going to be the one using the system! It is not developed for his benefit.
Suggestion: for something like an all-play-all the program should generate the raw fixtures (home team A v away team B). The user (typically the league controller) can then "complete" fixtures by assigning a date. He can select an individual fixture or a team. In the case of a team he gets a list of raw home fixtures for that team. He can select a raw fixture and the display will show him a monthly based calendar with free home nights highlighted in one colour and already booked ones in another. The user can select a highlighted free date or alternatively an unhighlighted date but with an "Are you sure?" warning. This turns a raw fixture into a complete fixture and the complete fixture is removed from the list. The program will detect and prevent clashes, i.e. it will not allow a team to have two fixtures on the same date.
The user can view the completed fixture list and modify it by first selecting fixtures for reversion to raw state (no assigned date) and then reassigning dates.
Specification wrote:Phase 2 additions
This should not be a function of the system.
This is a classic useless function of the type that typically scuppers big expensive government sponsored failed IT projects. It is an invitation to specify ever more arcane functions that nobody will ever use and will eat up development resources for no benefit. Just another big, heavy brick in a dark room.
Specification wrote:Possible Future Developments
Setting up a League
• The time limit for games within it.
No! This is a trivial function which, as already noted, should be in phase 1.