Statistical System for the English Premier League
Chapter 2 provides justification for the platform, operating system, programming language, data storage and visualisation techniques during the research stage. A range of material was used to gather information, these included journals both online and paper, articles, books and webpages.
Additional research will be conducted into ways of predicting results for upcoming football matches effectively and providing justification for the choice of API that will be used.
The English Premier league is one of the most watched and supported leagues of football in the world. It is estimated that in the 2010-2011 season 4.7 billion viewers across 212 countries tuned into watch the Premier League.  This league consists of 20 teams based in mainly England but has recently had two Welsh teams. It is played from August until May the following year with a total of 38 games being played by each team. It has been called the Premier League since 1992 and before that was it was named the First Division. The FA Council ratified a plan in June of 1991 to set up an FA Premier League which would start in the 1992-1993 season.  The Premier League consists of some of the top clubs in Europe therefore drawing the top footballers in the world to the league. This attracts fans and viewers as they all want to see the top players play for or against the team they support. Many of the most famous clubs in world football play in the Premier League and, thanks to our distribution model, the League is incredibly competitive, unpredictable and exciting. 
The evolution of football and the Premier League has come a long way since 1992 and with this so has technology. Technology has improved the world of sport, especially football with various apps and website provided specific details on clubs and players. This technology has enabled supporters of their club to participate in fantasy leagues with people all around the world. These leagues enable users to pick 16 players from the English Premier League which will score the user points through goals, assists and clean sheets etc. This is where I believe my program would be beneficial to these users as my program will provide the user with up to date statistics on each player from each of the 20 clubs. These statistics will be clearly displayed and can be used as a guide for the user when picking their fantasy team.
Another aspect in football which has developed through time and with the aid of technology has become very popular with football supporters is betting company’s. When a supporter wanted to place a bet on the team they supporter in recent times they would have to go to the nearest bookmaker shop, provided they are over 18, and place a bet over the counter. Technology has improved so much that with the use of apps bets can be placed anywhere and anytime through your phone, tablet or laptop device. This has increased the popularity in the English Premier League as more and more viewers will watch a team which they have bet on even if it is not the team they support. The sports betting is estimated to be worth between £435 billion to £625 billion with 70% of this coming from football betting.  This is evident with Clubs being sponsored by some of these betting agency’s as it is there main source of business. This another aspect which I believe my program will cover, as statistics are very important when a user is picking a team to bet on. My program will show the statistics of the team and the league table, so the user will see what form they are in as well as the form of the players and if the best players have been performing well or are injured. These are all vital to the user as up to date statistics will aid their choice on who the decide to gamble on. Another feature on my program which I have included is a match predictor which will take into account the statistics for the two teams playing against each other and predict what the outcome of the game will be. This will be a bonus to users to have all these figures on the one program.
There are various websites and apps which provide users with statistics for all football clubs in every league. Various large companies such as Sky provide users with websites, apps, 24-hour television coverage e.g. Sky Sports News, daily blogs and employ retired footballers to produce blogs and provide expert analysis.
Sky Sports is operated by Sky PLC and is one of the largest and well known sports broadcasters. They provide users with several sports channels, apps and websites. The apps and website are free to use for customers but the channels are on sky subscription so a monthly cost must be paid to avail of them. The app which I have used myself occasionally is very good for the latest sports news and if you pay for the sky channels you can also live stream these channels from your phone or tablet. The website would be more suitable for a user that requires statistics on football matches, which is what my program will achieve, as it is better laid out than the app and provides more information. The homepage of the website is well laid out and presented. It has clear navigation buttons to go from one sport to the next. Sky sports covers a range of sports from football to racing. This is where my program is unique as it is based solely on the English Premier League which will beneficial to users who require only statistics on this league as it will be presented to them straight away in a user-friendly program. Sky Sports provide stats on all the top European leagues and the teams which participate in these leagues. The statistics which the website provides on each team are fixtures, results, league standing, games played, goals scored, goals conceded, goal difference, wins, draws, loses and number of points. These statistics are presented in tables which is clearly represented. My program will present these statistics in tables also but will provide the option for the user to view them in graphs. Sky Sports also provides players statistics which show games played, goals scored, yellow cards, red cards and fantasy football points. The player’s statistics is very limited which is an area on which the program I have developed can capitalise on.
Soccer Stats is a readily available free of charge website which provide statistics on all the top European leagues and the teams which compete in them. Soccerstats.com can be found in the top 5 results when you search football statistics on any of the top search engines. For the English Premier League is provides the statistics like what sky sports provide but do so in a more graphical way. The website is no very well laid out and presented as all the information is cramped into 1 page and is basically an overload of statistics in one area which can be hard to understand and interpret for users. This website provides the most detail out of all similar websites as it covers every aspect e.g. average time of first goal, percentage of goals scored at home and percentage of games where the team was leading at half time. This is the ideal website for users who gamble of football as the statistics are precise and cover every aspect. Unlike Sky Sports, Soccer stats provides statistics in the forms of line graphs and bar graphs as well as using a colour scheme to highlight wins, draws and defeats. This is very appealing to all users as the stats are presented in different ways and easy to understand.
Soccer stats is one of the top websites for statistics but it has a few downfalls. As mentioned on each page there is an overload of statistics, the website is not well designed in the form of navigating through it and a major downfall is that it does not provide statistics on any of the players. Not having statistics on the first team players for each team is a disadvantage as most users are interested on how the star players are doing for the team they support and the top players in the league. This is where my project is an improvement as it has a well laid out design and covers a range of stats for both the team and the players.
In this section I will investigate different programming languages such as C#, Java, C and C++. I will research each language and provide evidence on my why my chosen language is the most suitable for my project.
Firstly, I am going to took a look at the C# programming language. C# is a modern language created by Microsoft as part of its .NET platform of languages. .NET is a layer of software that makes it easier for you to write programs that can communicate with the operating system.  C# can be used to write applications to analyze documents, write games, create an entire operating system and also create applications on the web. The .NET Framework allows C# to operate flawlessly with Windows, which is a benefit for all users around the world who are familiar with the windows operating system. Over the 4 years of my course I have become very familiar with C# as I have been using regularly through my modules. It is simple to use which is an advantage to me as I had no knowledge of programming before I started the course. Although it is simple is also includes the support for the structured, component-based, object-oriented programming as you would expect from C++ and Java.
The original C# language was developed by Anders Hejlsberg and Scott Wiltamut.  The goal of C# is to provide a simple, safe, object-oriented, high-performance language for .NET development. C# is a safe language for users to use because the language is type-safe, which is an important in the early detection of bugs in the development process. This makes it easier to maintain programs that are more reliable. C# makes use of a Windows Forms Applications for the creation of the user interface. This allows the drag and drop of components to make the user interface which saves time and effort. C# is similar to java as it supports inheritance by allowing single class or multiple interface inheritance and allows for method overloading. An advantage C# has over Java is that it has an automatic garbage collection as well as having pointer functionality to allow for dynamic allocation memory in which both Java and C++ do not have which makes C# a safer language as previously mentioned.
The next language which I am going to investigate is C++.
“C++ is a general purpose programming language providing a direct and efficient model of hardware combined with facilities for defining lightweight abstractions.” 
An advantage of C++ is that it allows multi class inheritance similar to C# and Java. It also supports method overloading as does C# but C++ has the advantage of having operator overloading as well. Unlike C#, C++ does not have an automatic garbage collection technique so it relies on the programmer freeing up memory which in turn can have consequences such as memory leaks. The C++ language does not directly support multi-threading but has libraries available. C++ is an unfamiliar language for me and I have limited experience using this language although I know it is similar in some ways to C# and Java I will not be using C++ as my coding language as due to the time it would take to learn I believe it would not be functional to use it for my project.
The final programming language that I will investigate is the language which I was first introduced to in the first year of my course and that is Java. Java is an object-oriented programming language developed by Sun Microsystems. Modeled after C++, the Java language was designed to be small, simple, and portable across platforms and operating systems, both at the source and at the binary level.  Java was the first programming language in which I learned to use. Java is platform dependent and therefore enables the programmer to have the ability to choose which platform suits the specific needs of the program. This is very important and for me it was easy to learn as I could create basic tasks easily, which I demonstrated throughout practical’s in first and second year of my course.
An advantage of Java is that it has a range integrated development environments such as JCreator and NetBeans both of which I have come familiar with over the years and I am currently still using NetBeans in my final year. This enables you to write in Java on the majority of operating systems as both JCreator and NetBeans can be run on both Windows and OS operating systems. Another advantage which appeals a lot to my project is Spring Framework. Spring Framework provides a foundation for applications and for my project would easily allow me implement an API.
Having done my research, as shown above, I have come to the conclusion that C# is the most beneficial and appropriate programming Language for me to use. The advantages of automatic garbage collector, a good platform for graphic user interface applications and the fact that I have more experience in C# than I have in Java and C++ is the main reason for using C#. Another influential factor is that there are numerous online tutorials and snippets of code available for me if errors begin to appear within the code. It is clear that C# covers all my basic needs for me to create a professional statistical program.
MySQL is one of the most popular Open Source Relational SQL database management systems available. It uses Structured Query Language(SQL) to process the stored data within its database. MySQL is a highly stable product owned by Oracle and is very reliable. As well as being reliable MySQL can be used on multiple platforms which increases its functionality as it appeals to a lot more users. MySQL has the ability to use multiple storage engines for individual tables, meaning the user can choose the most effective one for a given table. MySQL uses ANSI SQL 99, which supports many of the same functional behaviours as SQL Server but lacks the breadth and depth of T-SQL.  This basically means that you cannot switch an application from MySQL to SQL Server without changing snippets of code. I have frequently used MySQL throughout the course but the major downfall I have noticed is that the database size is smaller than that of SQL Server. For my project a large database will be required to store all the statistics and so MySQL is not suitable.
Microsoft SQL Server
Microsoft SQL Server is the database management system I have chosen. As my database for my project is a backend database I believe SQL Server is the more suitable. SQL Server is the more secure option and is trusted by large companies. My experience and knowledge of SQL Server is greater than that of MySQL as I find it the easier of the two to understand and to therefore easier to use. As SQL Server is unlike MySQL in that it can create a much larger database and have it more secure then it will be ideal for my project. “SQL Server provides market leading security features and it includes Microsoft’s Baseline Security Analyzer which helps administrators ensure that the SQL Server installation is up to date. MySQL does not include such a tool.”  Another added benefit of SQL Server is that it uses its own proprietary storage system for everything, but maintains multiple safeguards against data loss. Therefore making it more reliable for me as the programmer. SQL Server is my database management system and what I am going to link it will be Microsoft Visual Studio. Linking SQL Server to Visual Studio is less complicated than linking MySQL and with time very valuable with the project I have chosen these two to create my project.
Microsoft Visual Studio
As mentioned above I have chosen Microsoft Visual Studio as my IDE for creating my program as I can link my database to very easily. This is not the only reason I have chosen Visual Studio. For the past two years I have been constantly using Microsoft Visual Studio throughout my modules and have become quite familiar with the system. Visual Studio is a complete set of development tools for building ASP.NET Web applications, XML Web Services, desktop applications, and mobile applications. There is a few versions of Microsoft Visual Studio e.g. Code, Community, Professional. I will be using professional as that’s what I have on my home laptop and what is available to me in university. Microsoft Visual Studio is my main software to use as not only does it make it easier to link my database from SQL Server but more importantly it supports C#. With the added suggestions and the availability to spot errors easily Microsoft Visual Studio ticks all the boxes for my project.
API stands for Application Program Interface. This is the first time I have been introduced to an API so research is vital for me. An API is a set of routines, protocols, and tools for building software applications. An API specifies how software components should interact. Additionally, APIs are used when programming graphical user interface (GUI) components. A good API makes it easier to develop a program by providing all the building blocks. Basically an API when linked to your system will automatically update information. In my case I will have an API for the premier league fixtures and results. The API will provide my program with up to date fixtures and results from the 20 teams in the premier league. This means that I personally do not have to update these figures as the API will do it for me. The API which I will be using is SoccerStats as it is a reliable source which provides the statistics to which I need and it is readily available to me.
For this project to be completed is essential that a software development methodology is used. “A software development methodology is a set of rules and guidelines that are used in the process of researching, planning, designing, developing, testing, setup and maintaining a software product”.  The following will be a few of the methodologies which have been considered for this project.
The Waterfall methodology is a linear sequential process where every stage starts only after the previous stage has been completed. Each stage has its own deliverables. This is a very commonly used method in project planning. “Progress flows in a downward fashion, similar to the way rushing water, from a height, flows downwards; hence the name “waterfall” was conferred onto this programming model”.  From an early stage in this method the user can have substantial involvement as a list of requirements can be drawn up and are unable to be changed. Therefore, when the project is complete it can lead to a large amount of change requests to the requirements.
The Spiral method is a combination of iterative development process model and sequential linear development model. Basically, this means that the spiral model is similar to the waterfall method but it has more emphasis on the risk analysis. There are four main phases in the spiral model. Firstly identification, this involves gathering the business requirements in the baseline spiral and then as the product matures in the subsequent spirals the identification of system requirements, subsite requirements and unit requirements are done. Secondly is the design stage in which the conceptual design in the baseline spiral, this involves the architectural design, logic design of modules, physical product design and the final design. Next is the build which is where the actual software product is produced. Finally, the evaluation and risk analysis phase in which the risk analysis is done. This involves identifying, estimating and monitoring the technical feasibility and management risks such as schedule slippage and overrun. After the testing the customer will evaluate the software and provide feedback. 
In the Incremental method, the whole requirement is divided up into various builds. Multiple development cycles take place here, making the life cycle a multi- waterfall cycle, which means the waterfall method is used on each separate build. Cycles are divided up into smaller, more easily managed modules and each module passes through the requirements, design, implementation and testing phases. A working version of software is produced during the first module, so you have working software early on during the software lifecycle. At this stage the fully developed builds could be sent to the end user and be used by them. Each subsequent release of the module adds function to the previous release. The process continues till the complete system is achieved.
Agile stands for ‘moving quickly’, therefore this is a very fast method of software development. This software development methodology is based on iterative and incremental methods of software development. The requirements and the solutions are a product of collaboration between self organizing and cross functional teams. It is a lightweight software development model. The most important principle in this method is customer satisfaction. This is achieved by giving rapid and continuous delivery of small and useful software. The delivery of the software happens at regular intervals unlike the waterfall method which delivers software after a number of months. Since the software is developed in small batches, changes can easily be introduced into the software product. As the requirements keep coming from user at regular intervals, the software developer has to adapt regularly to the changing circumstances. Agile modelling is a methodology, which makes use of practice for modelling and documentation of software based systems .
After thorough research and reviewing the methodologies as displayed above the more suitable methodology would be the Incremental method. The incremental method enables the project to be divided into separate modules and has the waterfall method adhered to on each module. This would be beneficial for this project as each module/build is created it can be tested and then sent to the end user for feedback. Also, a feature of the incremental method is the ability to implement the requirements of high priority at the start of the method. This is very beneficial as the more important requirements can be implemented first and the least important last. This leaves more time being spent on the important features and requirements for the project.
[Fig.1] The Incremental Model
After carrying out the vital research many decisions have been made that will be respected throughout the systems development. As mentioned above the Life Cycle Model process that will be used throughout the development of the project will be the Incremental model. The reason for making this decision is that the system will be easier to test and debug due to there being separate sub-systems, generates working software quickly as it system can be released in many b-sections and each sub-system can be defined as a milestone when creating my Gantt Chart. Also the feedback at the end of every build is vital as well as the prioritisation of the requirements which enables the most important requirements to be implemented first.
For the software Microsoft visual studio will be used to create the webpages on ASP.Net and will be linked to a back end database which will be created using SQL Server. C# is the chosen language as I am most familiar with it and it is the most suitable for the system. The API from SoccerStats will be used to keep the statistics up to date as its easily available and a reliable source.
The following chapter would outline in details what the system is required to do. This is a very important process for the developer and in some cases the hardest process. The requirements outline what the system is intended to do and what the user expects the system to do. The system requirements will be tailored to meet the user’s requirements of the system. As I will be using the incremental model as my development methodology there needs to be a clear understanding before development can begin as the requirements will be prioritized. I will also cover the main techniques that can be used to help develop the requirements for a software system for example existing systems, interviews etc. and I will also use Volere to examine the requirements.
In order for me, the developer of the system, to produce a list of valid requirements to which the system will meet and achieve I have had to use various methods to gain this information. Firstly I had an interview with some end users who will be testing out the system after each build and providing me with feedback. The interview consisted of questions revolving around what they would like the system to provide, layout of the webpages and features which make it different from other similar systems. I also had meeting with the end-users after each build where I gained the feedback face to face from each user. To help me with the plan for my system I had meetings with my mentor and also project group where I gained value knowledge on planning my system. The meetings also allowed me to keep on top of my work and keep to the schedule as we all were providing progress reports each week.
As well as the interviews, I created questionnaires based on my system, providing me with information on what users would use statistics on, what statistics would the user like, how often the user would access the stats, do the users have a fantasy team or occasionally gamble on football and the problems with similar systems. This is just a few things which I have asked to give me the required feedback to design and create a system which is user friendly and provides valuable information on the 20 teams in the English Premier League and the players for each team. The results from the questionnaires handed out suggested that over 85% of people support a team in the English Premier League, over 55% have a fantasy team and over 40% occasionally place a bet on football so these statistics would be desirable. A blank questionnaire and a few completed questionnaires are provided in the Appendix A. Having received vital feedback from the interviews with end users, meetings with my mentor and project group, I have been able to establish a list of valid requirements which will be a guide for the system and will make the system faultless for its intended end users.
As mentioned in chapter 2 research was undertaken on similar systems that provide users will similar statistics as the system which I am developing. Upon viewing and researching similar systems I took the view of the end user and was looking for features which I would want to have when using the system. On the Sky Sports website and app there is a selection of statistics on every single league in Europe. The statistics are well presented and displayed for the users but they are very broad and do not go in too much detail. The stats provided on the team is league position, games Played, Wins, Defeats, Draws, goals scored, goals conceded, goal difference and league points. The extra stats that I would want to be shown is chances created, clean sheets, goals scored in the first half, goals conceded in the first half, goals scored in the second half, goals conceded in the second half, goals from set pieces and penalties awarded and converted. An added feature which Sky Sports has which really appeals to users is the latest news and transfer news which attracts users who want to find out the latest news on the team they support. Upon viewing the player statistics are also very limited as it lists the players, gives their position, games played, goals, Yellow cards, Red cards and fantasy football points. There are no stats for assists, chances created, shots on target, injured, clean sheets for goal keepers, tackles won, free kicks conceded and penalties conceded. These statistics are the detail to which the majority of end users require as shown with the results from the questionnaires. An appealing stat which sky sports uniquely provide end user which appeals to end users is the fantasy football points which would be perfect for the fantasy football enthusiasts which my system is targeted at.
This research has highlighted to me that my system should have more detailed statistics on the team and their players. It has also highlighted to me the vital requirements which the end user desires. These requirements include an easy to use system, well designed and laid out system, user should easily navigate through the system, print a page of chosen statistics and enable the user to view detailed statistics on their chosen players. Having taken into account the Sky sports website and another similar system SoccerStats I have derived a list of requirements which I believe that if these requirements are met the system will be of high quality and provide the user with the vital information they require.
The stakeholders for this system will be me the developer. I will be carrying out the day to day work on the project and will be working closely with my mentor to ensure the system is a high quality, reliable and detailed system. I will also be guided by the user requirements which I have gathered through various methods as mentioned. Another stakeholder will be the end user who will be using the system on a daily basis and will be sent a prototype of the system at the end of each build to test and provide me with valuable feedback. As mentioned my Mentor who will be giving me advice is a valuable stakeholder for this project as they will test the system after each build and will guide me on any queries which I present to them.
|#1||The system must be connected to a reliable power source|
|#2||The system relies on a stable internet connection|
|#3||The system requires a API readily available|
|#4||The system requires a compatible operating system|
|#5||The system may be overscheduled|
|#6||The users should be 16+|
A constraint is any restriction that defines a project’s limitations, for example, is the limit of what the project is expected to accomplish.  This means that the system may not be fully functional if none of the requirements below are available. An assumption is what the developer assumes that the user has in place so that the system will run correctly. The following table will show the assumptions and constraints associated with this project.
[Table 1]: Assumptions and Constraints associated with the project
Requirements specification is the process of documenting all of the requirements that were gathered. This was completed after the requirements analysis stage and involved documenting all functional, non-functional, user and system requirements. Also the requirements were prioritized into necessary and desirable requirements. This highlighted the requirements which are of high priority and can be implemented in the first build of the system using the Incremental model. The desirable requirements are of lower priority and so are left until the second or third build to ensure that the other important requirements are done first. A list of the requirements specification can be found in Appendix B.
System requirements describe the system services in detail. These requirements are different to the user requirements, which describe what the user will be able to do but are taken into consideration when creating the system requirements.Clear separation of the two sets of requirements is vitally important as the system requirements describe how the system will meet the user requirements. The system requirements for this project where completed after having gathered the user requirements from the questionnaire feedback and the interviews with the end users and project mentor. Below is an example of a system requirement in the Volere template. The full list of System Requirements can be found in Appendix B.
|Customer Satisfaction:||Customer Dissatisfaction:|
[Table 2]: Example of System Requirement in Volere template
|Customer Satisfaction:||Customer Dissatisfaction:|
A functional requirement, in software and systems engineering, is a declaration of the intended function of a system and its components. Based on functional requirements, I can determine the output that my system is expected to exhibit in the case of a certain input. The functional requirements of the system were gathered in order to express what the system should do and it should perform in order to meet the user’s expectations. Below is an example of a functional requirement in the Volere Template. The full list of Functional Requirements can be found in Appendix B.
[Table 3]: Example of Functional Requirement in Volere template
Non-functional requirements include constraints and qualities. System qualities are properties or characteristics of the system that its stakeholders care about and hence will affect their degree of satisfaction with the system.  In Table 1 above you can see the constraints listed for this system. Non-functional requirements are very important as these requirements are what the user wants the system to do, so if these requirements are adhered to the end user will be happy with the system and be satisfied with the features of the system to which they require. Below is an example of a Non-Functional requirement in the Volere template. The full list of Functional Requirements can be found in Appendix B.
|Requirement: #NFR1||Type: Non-Functional||Event:|
|Customer Satisfaction:||Customer Dissatisfaction:|
[Table 4]: Example of Non-Functional Requirement in Volere Template
User requirements, often referred to as user needs, describe what the user does with the system, such as what activities that users must be able to perform.  There will be various different users as anybody with an internet connection will be able to avail of this system. The system is aimed at English premier league fans, gamblers and fantasy football enthusiasts. These requirements were generated by the results and feedback from the questionnaires, interviews and research. An example of a User requirement in the Volere template is shown below. The full list of Functional Requirements can be found in Appendix B.
|Description:||As a user I want to be able to search for a specific player|
|Customer Satisfaction:||Customer Dissatisfaction:|
[Table 5]: Example of User Requirement in Volere Template
Requirement prioritisation is used to determine which requirements are necessary for the system to function fully and desirable requirements are added features to improve the system but the system will still be functional if they are not implemented. Requirements are also prioritised to minimize risk during development so that the most significant or high risk requirements are fulfilled first. When prioritising requirements, it’s
important to ensure stakeholder involvement in the process. It’s good to combine several other criteria to weight requirements. The criteria may include system importance, technical complexity, risk, and cost to implement.
The criteria for weighting requirements is determined by the stakeholders involved and may include anything that pertains to the systems need.  In Appendix B the requirements are all listed and prioritised from necessary to desirable. Using the Incremental software model, it is vital to prioritise the requirements so that on the first build the necessary (High Priority) requirements can be implemented. The desirable requirements which are of low priority can be implemented in the latter builds.
 Pilger, S. (2014). Why the Premier League is the most powerful league in the world. Available: http://bleacherreport.com/articles/1948434-why-the-premier-league-is-the-most-powerful-league-in-the-world#
 Football Association. (2001-2016). About football association. Available: http://www.thefa.com/about-football-association/history
 Premier league. (2017). Solidarity- what a premier league does. Available: https://www.premierleague.com/about/solidarity
 Keogh,F & Rose,G. (October 2013). Football betting – the global gambling industry worth billions. Available: http://www.bbc.co.uk/sport/football/24354124.
 Liberty,J & MacDonald,B. (2008). The C# Language. In: Learning C# 3.0. : O’Reilly Media. https://msdn.microsoft.com/en-gb/library/orm-9780596521066-01-01.aspx – The C# Language
 Stroustrup, B (1985). The C++ Programming Language. : Addison-Wesley. 9.
 Lemay, L & Perkins, C.L (1996). Teach Yourself Java in 21 days. USA: sams.net . 4
 unkown. (2016). What’s the difference between SQL Server and MySQL?. Available: https://www.dcslsoftware.com/whats-the-difference-between-sql-server-and-mysql/
 Khan, A. (2012). Difference between SQL and MySQL. Available: http://www.thewindowsclub.com/difference-sql-mysql
 Beal,V. (2014). API – application program interface. Available: http://www.webopedia.com/TERM/A/API.html
 Liviu, M. (2014). Comparative Study on Software Development Methodologies. Available: http://dbjournal.ro/archive/17/17_4.pdf
 McCormick, M. (2012). Waterfall vs Agile Methodologies. Available: http://www.mccormickpcs.com/images/Waterfall_vs_Agile_Methodology.pdf Page 5
 SDLC. (Na). SDLC -Spiral Method. Available: https://www.tutorialspoint.com/sdlc/pdf/sdlc_spiral_model.pdf
 McCormick, M. (2012). Waterfall vs Agile Methodologies. Available: http://www.mccormickpcs.com/images/Waterfall_vs_Agile_Methodology.pdf Page 7/8
[Fig.1] Incremental Method
 Rouse, M. (2015). Constraint (project constraint). Available: http://whatis.techtarget.com/definition/constraint-project-constraint
 Eeles, P. (2016). Non-Functional Requirements. Available: http://www.architecting.co.uk/presentations/NFRs.pdf
 Parker, J. (2012). Business, User, and System Requirements. Available: http://enfocussolutions.com/business-user-and-system-requirements/
 Cordes, A. (2014). 5 popular requirements prioritisation techniques. Available: http://www.businessanalyststoolkit.com/requirements-prioritisation-techniques/
Cite This Work
To export a reference to this article please select a referencing stye below:
Related ServicesView all
DMCA / Removal Request
If you are the original writer of this dissertation and no longer wish to have your work published on the UKDiss.com website then please: