# A-level Computing 2009/AQA/Problem Solving, Programming, Data Representation and Practical Exercise/Systems Development Life Cycle/Analysis

When you are given any problem you should start off by finding out about the problem and getting an idea of what you will make to solve the problem by:
* A detailed look at current systems
* Establish the objectives of the new system
Electronic Crafts wants to create a game that will sell successfully, so it needs to see what the market wants to buy and what their current interests are. It will gather data on:
* How previous similar products have sold (market data)
* What customers are interested in (questionnaires and interviews)
* Whether it has any code that could be adapted or reused (internal data)
* Feasibility of making any proposed game (is it possible within the time, technical, cost and personnel limits to make the game?)
Once it has done its research, it will create a document listing objectives for the new system. These objectives must be SMART so that we can check if the system has been created successfully.
SMART means:
| Letter | Major Term | Description | Example | Not acceptable! |
| S | Specific | Make sure that it's not ambiguous and it concerns a part of your system | The system should be able to display 5 top scores in descending order | My system should be good |
| M | Measurable | Is there any way that you can easily prove that you have met this objective. | The game should load in less than 5 seconds | My pages will be beautiful |
| A | Attainable | Make sure that within the time and resources available you will be able to complete the objective | My system will allow the saving of user preferences | The system needs to be complete and ready to ship within 4 days |
| R | Relevant | Is the objective going to help you meet your user needs? | A receipt will be printed and emailed to the customer | My cashier system will play MP3s in the background |
| T | Time-bound | You are limited in the time you have to complete this project. You must list the deadline in your Analysis somewhere and can you finish each objective in time? | The system will re-use code from previous products | The system will involve a completely new game engine and code |
* Example: Electronic Crafts Analysis
* Electronic Crafts finds out that football games have sold very well in the past.
* It finds out that with a new football season approaching, customers are interested in playing a game with the latest names and kits. The most popular console is the Super MES.
* It has created previous football games, so it can re-use and adapt some of the code.
* It has a budget of $5million, a team of 20, a year to create it, and the code from previous years to build upon.
* Exercise: Analysis
* Now we have all the data from Electronic Crafts we can set the Objectives, remember these must be SMART. Which of these are suitable:
* The system will allow users to change player positions and keep track of game results:
* Answer:
* S - Yes
* M - Yes, Yes you could demonstrate this
* A - Yes, this should be possible
* R - Yes, this is core to playing the game
* T - Yes, this should be achievable within the time given
* The game will have a real world clock displaying the time on the screen at all times
* Answer:
* S - Yes
* M - Yes, Yes you could demonstrate this
* A - Yes, this should be possible
* R - No, this is very unusual, why would they need it? Unless the users specifically ask for it
* T - Yes, this should be achievable within the time given
* The system completely rebuild the game engine to use cutting edge 3D
* Answer:
* S - Yes
* M - Yes, you could demonstrate this
* A - Maybe, this might be possible, but why are you writing your own code, can't you re-use code from a previous version
* R - Yes, the game will need graphics
* T - No, doing this within a year time limit is too difficult.
* The system will calculate and display the player ratings from each game, number of cards, goals etc.
* Answer:
* S - Yes
* M - Yes, you could demonstrate this
* A - Yes
* R - Yes, this is a feature used in competing games
* T - Yes
* The system will always be online, every game you to play will be against people from around the world
* Answer:
* S - Yes
* M - Yes, you could demonstrate this
* A - No, you can't guarantee that everyone will have an internet connection, or their connections will be fast enough
* R - No, technical restraints as above
* T - Yes, this could be programmed within the time frame
* The system should be really, really, really good
* Answer:
* S - No', what does 'really, really, really mean? Be more specific, e.g. 80% of test users should rate it outstanding
* M - No, see above
* A - Maybe, but how do you measure it?
* R - Yes, you're aiming to be the best
* T - Yes, you're hoping to make a top notch game within the time given
* What is main aim of the Analysis:
* Answer:
* Create objectives that are SMART
* Name some methods of carrying out your Analysis
* Answer:
* Look at competing products
* Interviews and questionnaires with users
* look at current systems
* What restraints/limits might you have when looking at making a new product?
* Answer:
* Time
* Money
* Technical
* Name the stages of the system life cycle in order
* Answer: