The problem domain and solution domain and the motivation for
|
---|
Abstract
Cricket is a very complex and multi-faceted sport which has gained immense global popularity and recognition, and over the last century has successfully evolved into multiple formats which are primarily based around playing standards, levels of formality and the desired duration of the match. It is played frequently at both an international and national level and its technicalities are governed by a vast number of explicit laws and regulations.
SRN: 10240280 | 2 |
---|
Acknowledgements
I would like to extend my gratitude to my project supervisor, Dr. Paul Wernick who has been unwavering in his support and enthusiasm throughout the entire project; providing me with regular feedback and advice which has proven invaluable. I would also like to thank all my family, friends and teammates who provided inspiration and support whenever I needed it.
SRN: 10240280 | 3 |
---|
Chapter 1 - Introduction
1.1 Cricket Background ........................................................................................................................ 10 1.2 Laws of Cricket ............................................................................................................................... 11 1.3 Problem Domain ............................................................................................................................. 13 1.4 Solution Domain ............................................................................................................................. 13 1.5 Motivation ....................................................................................................................................... 14 1.6 Project Objectives .......................................................................................................................... 14 1.7 Project Structure ............................................................................................................................. 15 1.8 Report Structure ............................................................................................................................. 16Chapter 2 - Literature Survey and Research
2.1 Cricket Formats, Regulations and Variations ................................................................................. 17 2.2 Human-Computer Interaction Design Principles ............................................................................ 18 2.3 Programming Design Principles ..................................................................................................... 18 2.4 Rival Software ................................................................................................................................ 19
SRN: 10240280 | 4 |
---|
Chapter 6 - Testing
6.1 Software Inspection ........................................................................................................................ 71 6.2 Component and Integration Testing ............................................................................................... 72 6.3 Black Box Testing ........................................................................................................................... 73 6.4 White Box Testing .......................................................................................................................... 73 6.5 Path Testing ................................................................................................................................... 74 6.6 Duckworth Lewis (Test) .................................................................................................................. 75Chapter 7 - Evaluation
7.1 Real-World Evaluation .................................................................................................................... 85 7.2 Performance Analysis .................................................................................................................... 89 7.3 Software Size Attributes ................................................................................................................. 90
SRN: 10240280 | 5 |
---|
Appendices
Appendix A - Gantt Chart ..................................................................................................................... 98 Appendix B - Requirements Specification ............................................................................................ 99 Appendix C - Use Case Descriptions ................................................................................................. 100 Appendix D - Data Flow Diagrams ..................................................................................................... 114 Appendix E - Sequence Diagrams ..................................................................................................... 119 Appendix F - Activity Diagrams .......................................................................................................... 122 Appendix G - Progressive Design Storyboard .................................................................................... 124 Appendix H - Scoring System GUI (Screenshots) .............................................................................. 130 Appendix I - Code ............................................................................................................................... 135 Delivery Class ...................................................................................................................... 135 DeliveryState Class .............................................................................................................. 137 DismissalType Class ............................................................................................................ 138 Over Class ........................................................................................................................... 139 Inning Class ......................................................................................................................... 143 Match Class ......................................................................................................................... 151 MatchSummary Class .......................................................................................................... 161 ScoringSystem Class ........................................................................................................... 162 Team Class .......................................................................................................................... 174 Club Class ............................................................................................................................ 178 Player Class ......................................................................................................................... 181 PlayerState Class ................................................................................................................ 186 GUI Class ............................................................................................................................. 187 runGUI Class ...................................................................................................................... 217
|
SRN: 10240280 | 6 |
---|
SRN: 10240280 | 7 |
---|
SRN: 10240280 | 8 |
---|
Figure 57 - Scoring Method (Part 3) (Code) ......................................................................................... 66 Figure 58 - Iterator Pattern (Code) ....................................................................................................... 67 Figure 59 - Class Diagram (Post-Implementation) ............................................................................... 68 Figure 60 - ICC Webpage .................................................................................................................... 69 Figure 61 - Over Numbering ................................................................................................................. 69 Figure 62 - Delivery Numbering ........................................................................................................... 70 Figure 63 - BlueJ Compiler ................................................................................................................... 71 Figure 64 - Tester Class (Code) ........................................................................................................... 72 Figure 65 - Black Box Testing .............................................................................................................. 73 Figure 66 - White Box Testing .............................................................................................................. 73 Figure 67 - Program Flow ..................................................................................................................... 74 Figure 68 - Duckworth Lewis Result ..................................................................................................... 75 Figure 69 - Team 1 Innings .................................................................................................................. 76 Figure 70 - Team 1 Innings Result ....................................................................................................... 76 Figure 71 - Team 2 Innings .................................................................................................................. 77 Figure 72 - Team 2 Inning Curtailment ................................................................................................. 77 Figure 73 - Match Summary ................................................................................................................. 78 Figure 74 - Real-Time Match Scoring (1) ............................................................................................. 86 Figure 75 - Real-Time Match Scoring (2) ............................................................................................. 87 Figure 76 - Real-Time Match Scoring (3) ............................................................................................. 88 Figure 77 - Serialized File Size ............................................................................................................ 90
Index of Tables
Table 1 - Estimated Project Schedule .................................................................................................. 15 Table 2 - Rival Software Review .......................................................................................................... 20 Table 3 - Black Box and White Box Testing ......................................................................................... 79
SRN: 10240280 | 9 |
---|
It is a team sport played between two teams which consist of eleven players each, including a captain, and although the game play laws for the various formats are very different, the underlying concept for each format at their most abstract is similar. Each team innings consists of a specific number of overs; overs consist of six valid balls being bowled excluding any invalid deliveries which are considered as extras. The teams bat in successive innings and attempt to score runs whilst the opposing team fields and attempts to bring an end to the batting team’s innings by taking all their wickets. For first-class cricket, after each team has batted two innings the team with the most runs wins, but for limited-overs cricket, each team is only allotted a single innings and therefore if the second batting team attains more runs than those scored by the preceding team then they automatically win, however if the second fielding team takes all the wickets of the second batting team during play before they attain more runs than those scored by the first batting team then the second fielding teams wins. The order in which the teams bat is determined by a coin toss between the two team captains before the match commences and the captain of the winning side choose to either elect to field or bat first.
When play commences, all eleven players of the fielding team go out onto the field, whilst only two opening batsman from the batting team go out to bat, equipped with a cricket bat each. The remainder of the batting team wait off the field for their turn to bat. The game progresses by the bowling of balls and the sequence of events which constitutes a ball follows. The fielding team disperses around the field into strategic positions designed to simultaneously stop runs being scored and take wickets. One fielder is assigned the role of the bowler, who subsequently positions himself at the wickets near the non-strikers end, with a cricket ball, in order to bowl the deliveries for that specific over, and may not bowl two consecutive overs; whilst another fielder is assigned the role of the wicketkeeper who therefore positions himself behind the wickets at the strikers end. The two batsman stand behind each popping crease situated near both wickets and the batsman farthest from the bowler is considered the striker whilst his fellow team member at the opposite end is considered the non-striker.
SRN: 10240280 | 10 |
---|
Batsmen typically stop taking runs when a fielder is in possession of the ball and is acknowledged to be throwing it back towards the pitch area, if however fielders near the pitch fail to gather the ball and it inadvertently continues on into the outfield again then batsmen may continue taking more runs from that delivery, these however are considered as overthrows and if the ball reaches the boundary as a result of an overthrow then four runs are awarded to the striking batsman in addition to those attained by running between the creases before the overthrow occurred. Lastly if, whilst running consecutive runs either batsman fails to touch the ground beyond the popping crease before returning for the next run, then the umpire at that particular end will signal one short and therefore the runs attained would be altered to reflect this.
1.2 Laws of Cricket
SRN: 10240280 | 11 |
---|
Bowled - Occurs when a batsman is declared out when his wicket is subsequently put down by a ball delivered by the bowler, irrespective of whether it touches the bat, glove or any other part of the batsman before having reaching the wickets. However the ball must not touch an umpire or any other player in order for the batsman to be considered bowled.
Timed Out - Occurs when an incoming batsman following the dismissal or his team member fails to face the next delivery within a time frame of 3 minutes.
Hit the Ball Twice - Occurs when the batsman hits the ball twice either without the sole purpose of protecting his wicket or else without the consent of the opposition.
Obstructing the Field - Occurs when a batsman wilfully obstructs the opposition by word or action.
all international matches, and therefore scoring techniques should reflect the same.
No-Balls are declared for several reasons and any awarded runs are only added to the team’s total,
therefore awarded to the team’s total, but not to the striking batsman’s score. Depending on the
formality of the game, the ball following a no-ball may optionally always be declared a Free Hit for in
SRN: 10240280 | 12 |
---|
Cricket is played frequently at both an international and national level and its technicalities are governed by a vast number of explicit laws and regulations. Therefore this intricate level of sporting requires accurate and flexible scoring techniques which endeavour to simultaneously reduce the duplication of events and information on score sheets, both electronic and otherwise, whilst increasing the reliability, validity and flexibility of the data entered by the score keepers. Its international acclaim and popularity has resulted in scores of national leagues and tournaments being held and tens of thousands of local teams being formed worldwide, and thus as a result in order for these leagues and their participating teams to play certified cricket in its 21st century form within the contours of all the current complex laws and regulations, as well as its varying limited-overs formats, requires a sophisticated, competitive and rigorous score keeping methodology.
However most commercial cricket scoring software currently available in the market are either too expensive to be utilized for domestic cricket or else insufficiently flexible to facilitate its various limited-overs formats and variations, as they lack the required level of flexibility and rigorousness necessary between the different structures and variants of the game, in order to effectively enforce their pertinent regulations. This is essential and an apt example of this required flexibility between the limited-overs formats would be critical where a 50over match may potentially be required to be reduced to 20overs apiece due bad weather, the score sheets would therefore need to sufficiently reflect and accommodate this change.
SRN: 10240280 | 13 |
---|
1.5 Motivation
The reason why I was compelled to develop this project was because having been a proactive member of my local youth cricket club made me aware of the lack of available software easily accessible for this calibre of the sport. Although our coaches had access to scoring software, these were found to be inept in facilitating modifications to fundamental match variables such as the properties of no-balls for example in which the recognized types of dismissals, optional subsequent free hits and the number of runs to be award would potentially need to be modified depending on the formality of the match, thus ultimately requiring flexibility which these software did not facilitate; in turn grossly limiting their utilization and habitual adoption.
Requirements Analysis
To establish the system’s functionality and operational constraints by defining its functional requirements and non-functional requirements, as well as conducting a mini feasibility study to ensure that the proposed system is theoretically viable and realistic to implement.
Testing
To test the functionality of the developed system using various techniques in order to ensure that it has met and satisfied the requirements which had initially guided its design and governed its development.
SRN: 10240280 | 14 |
---|
Table 1 - Estimated Project Schedule
Tasks | Start Date | End Date | Duration (Days) |
---|---|---|---|
Literature Review | 10/01/2014 | 19/01/2014 | 10 |
Requirements Analysis | 20/01/2014 | 31/01/2014 | 12 |
Design | 01/02/2014 | 16/02/2014 | 16 |
Implementation | 17/02/2014 | 09/03/2014 | 21 |
Testing | 10/03/2014 | 16/03/2014 | 7 |
Documentation | 17/03/2013 | 23/03/2014 | 7 |
73 |
The above table depicts the initial projected baseline schedule for my project which I monitored my development progress against in order to identify schedule slippage. Although I could thereafter have defined the logical dependencies between the above tasks using an activity network diagram to identify critical paths, and could have calculated float times in the projected schedule using project management software; the limited scope of the proposed system, due to the inadequate time frame, made the use of any additional diagrams and calculations unnecessary.
SRN: 10240280 | 15 |
---|
This report comprises of the following chapters and appendices:
Chapter 1 outlines the background and laws of the sport and scoring techniques, the problem domain and solution domain and the motivation for, and objectives of, the project.
Chapter 6 outlines the verification and validation of the developed system which was undertaken during the testing phase through static analysis, black-box and white-box testing and path testing.
Chapter 7 outlines the findings of the evaluation phase which was undertaken to evaluate the performance of the developed system in a real-world environment as well as a review of its HCI and storage attributes.
Appendix D contains the Data Flow Diagrams, Level 0, Level 1 and Level 2 to show the data flows and identify the main processes within the proposed system using a decomposed hierarchy,
Appendix E contains the Sequence Diagrams of the systems three main processes identified from the Level 1 Data Flow Diagram, Team Creation, Match Creation and Match Scoring.
|
SRN: 10240280 | 16 |
---|
Chapter 2 - Literature Survey and Research
Having done so, I was then able to establish the common variables which universally change for the various limited-overs formats, in order to ensure I enabled modifications for the same in my system. I found that although most domestic and international leagues and competitions follow the same set of standards, some fundamental match variables were favoured to be altered to accommodate and reflect on the formality of the game which was being played. Although the international cricket formats were restricted to specific structures such as either first class cricket or else 50 or 20 limited-overs, reducing overs only under explicit extenuating circumstances; it transpired that many domestic tournaments conversely modified the number of overs allotted to each team, such as 30 overs apiece where the 20 over format was considered inadequate and hurried, else 10 overs apiece where there were numerous matches to play during the group stages of the of the competition within limited time scales and even 5 overs apiece where short unorthodox matches were required to be subsequently played following undesirable draws during the knockout stages of tournaments in order to attain conclusive a winner.
Another key variation I uncovered was the modifications to no-ball properties, although international tournaments recognize only four types of dismissals for a no-ball, I found that many domestic tournaments recognize more from the established eleven. Furthermore the number of runs awarded per no-ball also varied, with international matches generally awarding 1 run whilst many of the domestic tournaments awarded 2 and in some rare occasions even 0, and finally the subsequent ball following a no-ball also varied by potentially either being or not being declared a free hit. Thus I noted these variations during my research in order to ensure that my system accommodated the same.
SRN: 10240280 | 17 |
---|
Thus to ensure that my application satisfied these principles of good HCI design I established three distinct metrics from my literature review in order to measure the effectiveness of my intended system. Firstly I chose to use the ISO 9241 (2011) standard which provides requirements and recommendations for human-centred design principles and activities throughout the life cycle of a computer based interactive system, in turn allowing me to determine how effective, efficient and satisfactory my intended application’s HCI attributes were. I also chose to use the principles for HCI design defined by Shneiderman, B. & Plaisant, C. (2009) which would in turn allow me to assess and address the time taken for a potential user to learn and master the functionality provided by the system, as well as improving its performance speed and subjective satisfaction, whilst reducing its rate of errors and retention over time. Finally I chose to exploit a usability inspection method developed by Nielsen, J. (1993) enabling me to conduct a heuristic evaluation which would allow me to critically judge and evaluate my system’s user interface’s compliance with universally recognized usability principles; thus allowing me to effectively identify any usability issues the system may contain.
2.3 Programming Design Principles
SRN: 10240280 | 18 |
---|
I examined numerous cricket scoring systems available in the industry during my research, though only selected to comprehensively assess those which boasted of a similar system scope to my intended system; and identified the following rival applications:
Total Cricket Scorer
Available from: http://www.totalcricketscorer.com/TCSWeb/TCSHome.aspxCricket Scorer
Available from: http://cricket-scorer.en.softonic.com/I analyzed and critically reviewed the above systems to unearth any missing functionality and usability, and found that my proposed software did in fact fill the void created by the inflexibility and rigidity of these systems. I also found that some of the above systems naively failed to address basic principles of good human-computer interaction, and therefore resolved to address these principles and shortfalls in the ensuing design of my software.
SRN: 10240280 | 19 |
---|
Total Cricket Scorer | ||
---|---|---|
Usability | Functionality | Design |
|
|
PitchPad Pavilion | ||
---|---|---|
Usability | Functionality | Design |
Cricket Scorer 5.3.0 | ||
---|---|---|
Usability | Functionality | Design |
|
|
SRN: 10240280 | 20 |
---|