2.1 User Characteristics
User can create their own individual user profile up to 9 different users. Each different user can give their name as input for their profile. Each profile contains a different icon for their profile. This application provides services for the user like:
User profile creation as player
Player icon selection from given options
Player icon with their name as input for different user
Player score card for selected user
Change player at any time
Player profile contains level and score information for individual Task.
2.2 Hardware and Software Requirement
The details below shows the minimum requirement that must be is required to run this application:
Hardware Requirements :
Processor : 800MHz
RAM : 256Mb
Screen Size : 240 X 120 dpi
Device : Android base device
Software Requirements :
Operating System : Android 2.3.1(API 9)
Supported Device :
This application developed by us supports all types of Android platform devices like Mobiles, Tablets, etc. which meets the minimum hardware and software requirements.
NOTE: The given requirements of system are minimum. So to run this application on any device this is minimum required to execute application efficiently.
2.3.1 Hardware Limitation
It must be required minimum 256Mb Ram and processor with 800MHz and Android 2.3.1(API 9).This application will requires at least 10 to 20 Mb of phone storage or SD card.
2.3.2 Interface to other Applications
This application does not integrate with any other different application. It is a small application that stands and operate individually it does not depends or a component of any other larger application. Also it is not a replacement for any other application.
2.3.3 Parallel Operations
This application is parallel processing so, application is parallel to update player information for each level with its score. E.g. if user creates a player and reach to next level it stores level information and score for completed level.
2.3.4 Higher Order Language Requirement
In development it uses JAVA as higher order language. JAVA is a concurrent, class-based, object oriented programming language.
The Android device that is used is meeting minimum requirement in terms of hardware and software.
The database is correct and up-to-date every time.
The entire application task and processes are depended on end-users operations. They should possess basic knowledge to work with the application. The application is easy to interact but always depended on the input given by the user.
2.3.7 Criticality of the Application
When the available RAM goes it may possible this application may crash or in the case of low processor availability.
2.3.8 Safety Security Consideration
This application provides basic security like when only the player complete its level then only they are authorized to go to next level. Also completed level cannot be deleted by any other player.
2.4 Timeline Chart And Process Model
Here, we have decided to take ‘WATERFALL MODEL’ as our process model for developing the application. Because we find it more suitable for our application development.
The waterfall model is often called as ‘Linear-sequential model’ or ‘classic life cycle’. It is oldest software paradigm. This model suggests a systematic, sequential approach to software development.
The development process starts with requirement analysis, system design, implementation, testing, deployment, maintenance.
In our Application we use Linear Framework because of
a. Project under control
b. Milestones are known and tracked
c. Resource requirements are know
d. Work distribution
e. Work well with inexperienced developers
This model is mainly divided into six phases as mentioned below:
1. Requirement analysis
2. System design
Fig. 2.2 Waterfall process model
The sequential phases in model are:
The first step of waterfall model is analysis of requirements in the beginning and to check whether the project is actually feasible with the technologies available in present or not. Requirements are gathered, analyzed and then proper documentation is prepared which is useful further in the development process of the project. Here all the requirements of the application ‘Kid’s World ‘ Play Learn Fun’ are gathered from the user. Gathered requirements are clear and will be used by the other software phases.
The requirements collected in the above phase are analyzed and a proper implementation strategy is created according to the software developing environment. The design phase is sub categorized into two sections, i.e. system design and component design. The system design contains details and specifications of the whole system and explains how each component of the system will interact with others. The component design contains specifications as to how each component will work separately and how results from one component will travel to another. Coders are individually assigned to develop each component. So, on the base of the client’s requirements collected by us will be used by the next phase to implement the functionality of the application.
Now is the time to actually start making the components. The information gathered in the first two phases is applied in this step to create the real working components of the system. The design generated in the above phase is converted into machine language that the computers can actually understand and process.
The testing phase is a very important phase. In this phase the software is checked for any errors or compatibility or other issues. When the implementation phase is in its ending stage and codes are prepared that’s where testing phase starts. In order to make sure that the system is error free various tools, software and strategies are used for testing the solution. The individual program unit or programs are integrated and tested as a complete system to finalize that the software requirements have been met. After testing, the software system is ready to be delivered to the customer. Implemented coding of ‘Kid’s World ‘ Play Fun Learn’ is now tested against user’s requirements so that it is delivered to the intended user.
The deployment phase go smoothly if all the above phases are completed carefully. Once software is tested it needs to be assembled as a whole system and installed on the computer or required device.
As the time passes requirement of users will change so modifications or upgrade is required for the system. Here where the maintenance phase comes in the picture. Maintenance is an upcoming process after deployment it may last for weeks months or years. No matter how carefully the software is made there is always possibility of occurrence of bugs in the tested software.
Advantages of Waterfall Iterative Model
1) Waterfall model is simple to implement and also the amount of resources required for it are minimal.
2) In this model, output is generated after each stage (as seen before), therefore it has high visibility. The client and project manager gets a feel that there is considerable progress. Here it is important to note that in any project psychological factors also play an important role.
3) Project management, both at internal level and client’s level, is easy again because of visible outputs after each phase. Deadlines can be set for the completion of each phase and evaluation can be done from time to time, to check if project is going as per milestones.
4) This methodology is significantly better than the haphazard approach to develop software. It provides a template into which methods of analysis, design, coding, testing and maintenance can be placed.
5) This methodology is preferred in projects where quality is more important as compared to schedule or cost.
Limitations of the waterfall model
1) The model implies that you should attempt to complete a give stage before moving on to the next stage
Does not account for the fact that requirements constantly change.
It also means that customers cannot use anything until the entire system is complete.
2) The model makes no allowances for prototyping.
3) It implies that you can get the requirements right by simple writing them down and reviewing them.
4) The model implies that once the product is finished, everything else is maintenance.
Why we use waterfall model?
Situations where waterfall model is appropriate:
Clear, Fixed and Well documented requirements.
Stable product definition.
Understandable technology and not dynamic.
...(download the rest of the essay above)