Development of a software is a considered to be the process related to the conceiving, specifying, designing, programming, documenting, testing and fixing of the bugs. This is done so as to get involved in the creation and maintenance of the different, applications or other software components (1). This is the process which is also defined as the writing and maintenance of the source code. however, from a boarder sense this process would be including all the things that are involved in between the conception of the desired software to the final manifestation of the software of sometimes in the process which are planned and structured.
This is the scenario where a small organization would be involving themselves in the designing and development of cell phone game which would be suitable for any kind of cell phones and this would be done by making use of the programming language Java 2 Micro Edition.
Developing the game firstly involved the designing phase and after completion of the designing phase a specific person is assigned along with is the team is assigned to create all the graphics that are required for the game. This is a time-consuming work (2). After the designing phase is the building phase which is the next most time-consuming phase after the designing phase. In this process of game development, most of the design ideas would be kept constant throughout the building phase. However, most of the plans would not remain intact. After starting the coding process several changes need to be made. Few steps of the designing phase were seen to be useful at the time of building and this mostly included the scenarios of the user and the requirements (3). The design steps are considered to be helpful only if they are associated with providing directions and provide the game with an identity.
The main concept of this game is to provide a ladybug with an assistant so as to help it in moving outside a maze (4). The idea of this game is very much simple and as the ladybug progresses through different levels it would gain the capability of transforming seeds to flowers so as to keep track of the places inside the maze where it has already visited.
Once the flower is created by the ladybug points would be awarded and the final game consisted of two simple levels (5). Users would be offered with different kind of options all through the game along with a viewing of the basic instructions, credits, restarting the current level or the current score and many more. After completion of all the levels, the ladybug would be meeting its princess.
All these levels inside the game would be implemented by making use of two-dimensional array map which would be representing the spaces that can and cannot be interacted by the ladybug. Whenever the ladybug tries to make a new move to some new space then the array would be checked so as to see if the movement of the ladybug was legal or not (6). In order to ensure the occurrence of this events, the graphics presented needs to be updated. Precise creation of the maze graphics is to be done so as to fit all the things together. A subset of Java SE is to be used so as to program the game. Java SE or the Java 2 Micro Edition or J2ME is one of the freely available programming specifications along with several other tools that are available in order to work with the language.
Selection of the proper development process acts as an important factor responsible for the success of any kind of project. There exist many processes which are well known along with some which are less known. Some of the processes that can be used have been discussed in the later section of the report. The development cycle consists of 5 phases and this includes the designing communication, modeling, construction and lastly the deployment phase (7). In the communication phase the project gets initiated and after initiation, the gathering of the requirements is done. Followed by this is the planning phase in which the estimates are done and plans are made by the team so as to complete the project (8). After the estimations are done the three other step that is the modeling of the software, construction of the software and deployment of the project is done.
Three most important development process:
This is the oldest paradigm that is followed for the purpose of developing the software. This model is associated with representing a systematic approach which is linear in nature. The phases included in the waterfall model software development process are described in the later section of the report. The major idea which lies behind this is that the waterfall model is associated with following the processes in a logical order (9). Each phase of the waterfall model would be followed so as to finish the project in a theoretical way after construction gets completed. But despite all these an ongoing support would also be provided to the product even after the completion of the project for a long time.
This type of model is particularly useful whenever the requirements of the project are understood properly and are stable in nature. But this is not applicable for any of the real-life projects. Evolution of most of the software programs generally occurs when the customer is associated with making decisions about the program. The project would be affected disastrously if any kind of changes occurs at the end of the process. In many cases, it is seen that the customers actually don’t have any idea about the actual requirements and are associated with forcing the team in taking the best decision about the way of how the customers would get satisfied. Besides this, a product would also not be available until it reaches close to the end of the process (10). This might be responsible for making the customers get more impatient. This would be initially responsible for making the process of decision taking more difficult (11). However, this does not provide them with much flexibility so as to change the thinking that they are having about the way how the things would look without spending extra money or by expanding it.
Besides this, there is another problem associated with this process that there are high possibilities of occurrence of blocking states. Blocking state generally refers to the situation when a part of the development process is held back due to its dependency on other parts that are not yet completed.
This is the process which is associated with the usage of the systematic model of the waterfall model however this is done in such a way that an iterative approach is adopted. Each iteration is associated with representing a pass around the spiral, despite of this each of the spiral models is associated with the usage of the same general framework ideas and this in turn is associated with reducing the risk as well as the uncertainty which is done by the development of the early prototype (12). When the entire development process passes through the iteration the development of the prototype, more complete versions of the actual program occurs. This in turn is associated with helping in keeping the customers in tune with the current state of the project. This is also associated with allowing the team to receive an early feedback from the customer end so as t produce a much desirable program which can produce as the final program. Each of this is made to pass through the planning phase so as to allow the team in making certain adjustments in the schedule and the cost that has been estimated. This model can be applied in the project at any stage or point of time of the development process, in case if an enhancement is proposed for the project that has been completed then it is possible to reapply the spiral model at an entry point in the appropriate phase.
The capability of handling the projects which are evolving acts as an advantage of the spiral model over the spiral model. Despite this advantage, there exist certain problems as well. There exists the possibility that the customers won’t be believing that the revolutionary approach of developing a software is controllable (13). This is the process which would also be requiring the uncovering of the risks along with being addressed with expertise. In the case of the waterfall model if a problem is not covered at the early stage the results obtained would be disastrous.
This is the process which is created so as to address the major assumptions that are made while developing a software. The assumptions mainly include the following:
1.difficuties in predicting in advance the possible changes that are likely to occur in the initial software requirements along with the changes which are not going to occur. Besides this, it is also very much difficult to predict how the priorities that the customers are having are going to change as the project proceeds forward (14).
For all this reason there exists a much amount of uncertainty in developing the software. This is the process which tries to address all these assumptions by providing adaptability to the ever-changing project program and many more (16). In case if a software team want to achieve success then it is essential that they have a common focus along with having competence, try to collaborate with one another, have the capability taking decisions, having the capability of solving fuzzy problems, should have mutual respect as trust amongst one another and lastly should be self-organized.
SPIRAL MODEL |
WATERFALL MODEL |
AGILE MODEL |
1] this is not suitable for small projects. |
1] this is suitable for small projects |
1] this is suitable for small projects |
2] Risk management is better |
2] existence of the High amount of risk along with high rate uncertainty. |
2] faces more amount of risk related to sustainability and maintenance. Minimum rules, documentation easily employed. |
3] this is a complex process |
3] this process is Easy to understand. |
3] very easy to manage. |
4] indefinite progress of the process |
4] consists of clearly defined Stages (17) |
4] Little or no planning required |
5] This is the model which is suitable for projects which are long and ongoing. |
5] This is the model which is not suitable for projects which are long and ongoing |
5] Suitable for small projects. |
6] following the Iterations |
6] following the Sequence |
6] Every iteration is a separate model |
7] Flexible with user requirements |
7] Requirements once fixed cannot be modified |
7] highly Depends on customer interaction |
8]easy possibilities of doing the Refinements |
8] Refinements are not so easy |
8] Agile is the combination of iterative and incremental |
9] Phases are repeated itself |
9] Phases are processed and completed one at a time. |
9] Early delivery of partial working solutions. |
The process that is highly recommended for developing this game is the extreme programming and this is the process which consists of activities that form the four basic phases and this includes the planning phase, designing phase, coding phase, and the testing phase. At the planning phase, the customer is associated with the relation of user stories for the team associated with development. These user stories are very much similar to use case and in this, they are associated with describing the functional feature that is to be included in the product obtained after completion. The customer who would be using the game would be associated with breaking the functionalities in small sections which are known as a story on each of the index card. Followed by this is the designing phase and this step needs to be kept simple. The basic idea lying behind this is t keep all the designs very simple and no new things which are unnecessary should not be added to the current task. Instead of this development team should be associated with the usage of spike solutions. This type of solution is developed whenever a new problem is encountered by the team. After this comes the coding phase which starts with the development of unit tests and once the coding phase completes comes the testing phase which generally focuses upon the unit tests that are created during the designing and coding phase. All these tests are automated and this is done because of the fact that in case if any changes occur in the future then the tests can be rerun so as to check the accuracy. This phase also includes the acceptance test.
Conclusion:
The report discusses some of the key concepts themes and skills that are related to the development of the game software. Some of the major methodologies that are likely to be adopted have been discussed in the report as well along with a comparative analysis which includes the agile, spiral and the waterfall model. Lastly, the report has been associated with recommending the appropriate methodology that is the “extreme programming” can be used for the purpose of developing the game. However, it is to be noted that this is the process that focuses mostly on the programming and tests that are very much important for the software. Along with keeping things simple, this methodology particularly gets straight to the point and some people also believe the fact that not much time is spent upon the designing phase in this type of methodology. Due to this reason spending a very little time in designing phase might result in coding and re-coding and this would be initially leading to reduced productivity. So, it is very much important to have spend sufficient time in the designing phase as well.
References:
Essay Writing Service Features
Our Experience
No matter how complex your assignment is, we can find the right professional for your specific task. Contact Essay is an essay writing company that hires only the smartest minds to help you with your projects. Our expertise allows us to provide students with high-quality academic writing, editing & proofreading services.Free Features
Free revision policy
$10Free bibliography & reference
$8Free title page
$8Free formatting
$8How Our Essay Writing Service Works
First, you will need to complete an order form. It's not difficult but, in case there is anything you find not to be clear, you may always call us so that we can guide you through it. On the order form, you will need to include some basic information concerning your order: subject, topic, number of pages, etc. We also encourage our clients to upload any relevant information or sources that will help.
Complete the order formOnce we have all the information and instructions that we need, we select the most suitable writer for your assignment. While everything seems to be clear, the writer, who has complete knowledge of the subject, may need clarification from you. It is at that point that you would receive a call or email from us.
Writer’s assignmentAs soon as the writer has finished, it will be delivered both to the website and to your email address so that you will not miss it. If your deadline is close at hand, we will place a call to you to make sure that you receive the paper on time.
Completing the order and download