Developing A Mobile Application For Kingston Library Computer Science Essay
As part of my course, I will be developing a mobile application for Kingston University Library for my dissertation. The application will be designed for Android devices. I chose Android platform because it is distributed under open source licence and becoming hugely popular. Also Android app developer can take advantage of the mobile hardware design and can sell the app easily in Android market. The main users of my application will be students where they can access the system by login using their ID and password. My application will have a library catalogue search feature which will return a brief summary, book details and availability for each entry. The application will also include basic information about all libraries, such as locations, opening times, contact details etc. Accessing the online resources and Epay are currently not included in the requirements but which can be implemented if time permits or at a later stage.
As the code will be written in Java, JDK from Sun has to be installed on the system. I will be using Eclipse IDE to develop the application. Android developer website offers all the guidance and required tools needed to develop an Android app which will be extremely beneficial for me as I am completely new to mobile application development. The initial stages in project development will include SWOT analysis, Use Case diagrams, requirements specification, and UML diagrams.
A project plan and a risk analysis has been devised for the smooth running of the project by taking into consideration of the varying demands of each phase.
Introduction and Background
Mobile devices have evolved significantly during the last decade making it a necessity in everyday life. They are now more than just a means to make a phone conversation. The smart phones cater for all kinds of users whether they want to do business or just to have fun. This created a boom in mobile software applications ranges from simple games to complex navigational systems. There are apps suitable for every customer making them a must have to make life a lot easier in today’s busy lifestyle.
The most popular Smartphones in the current industry are Apple iPhone, Blackberry, Microsoft Windows Mobile, Android and Symbian. I have chosen Android platform by Open Handset Alliance to develop my application because it is open source and its members such as Google, HTC and T-mobile offers extensive developer support through its developer website. According to market research Android phones are set to increase their current market share of 9% to 30% by 2014.
As the Android market offers an online application store to download both paid and free apps for its customers it is easier to access a variety of Android apps.
I will be developing an Android application for Kingston University Library System that will enable the students to access the library account to login, search books, renew books and access library hours, location and contact information. My initial approach will be to focus on Android platform but if possible I would develop this app compatible with other platforms as well.
Some institutions such as Cambridge University have their library app already implemented. So this will be a first step towards having a mobile library application for Kingston University. I will be looking into other organisations’ mobile library applications as well to give me an insight into the field.
The major stakeholders of this application will be I and students of Kingston University but maybe in the future this learning experience will enable me to develop apps for other institutions or create a universal library system by collaborating with other institutions.
Aims and Objectives
The main aim of the project will be to design and deliver a mobile application for the Kingston University Library on time. During this process I can learn about the latest trends and technologies available in the market so that after the completion of my course I can either secure a job in the mobile app development or work as a freelance app developer.
This project will enable be to implement the skills I have learned so far during the course and widen my knowledge about mobile application development tools and techniques. I am hoping to produce a professional and effective library app for Kingston University.
I will take this learning experience as an opportunity to explore the latest standards and approaches towards developing effective mobile applications. I am planning to implement extra functionalities that are not already available in other mobile apps such as adding credit to library card, though the security in mobile devices is questionable.
Technologies and Resources
Android software comes with an operating system, a middleware and key applications. It is a multi user Linux system in which each application is treated as a different user. The platform uses Java programming language. Android 2.3 is the latest version of Android operating system for Smartphone which will be used in developing my application.
Android Architecture
Following are the major development tools required:
Sun’s Java Development Kit
Eclipse IDE
Android Software Development Kit
The Android Developer tool (ADT) Plug-in for Eclipse
The Android emulator can be used to debug applications but latest Android phones such as Samsung Galaxy S || which uses Android 2.3 can be used to run the application in a real time environment.
Kingston University’s current library system uses Aquabrowser by Serial Solutions which has a user friendly interface and a feature rich environment. It will be a challenge to implement all the features of Aquabrowser for a mobile device. So at this point I am concentrating on the basic library operations.
During the project analysis phase, SWOT analysis will be executed to get a better understanding of the industry. A requirements analysis will be carried out to specify the functional and non-functional requirements. UML diagram is also very useful in plotting the activity and sequence diagrams so is the Use Case analysis. I will be adopting Agile software development approach to execute my project which involves iterations that are of short time frames.
Project Planning
A project plan has been developed using Gantt chart by breaking the project in to small manageable processes for the smooth operation. The duration allocated for each steps reflect the effort and skills needed, allocating maximum duration for implementation.
Project Management – Gantt Chart
Tasks
Start Date
Duration
End Date
Project Proposal
01/02/2011
30
03/03/2011
Analysis
01/03/2011
32
02/04/2011
Design
02/04/2011
31
03/05/2011
Interim Report
20/06/2011
10
30/06/2011
Poster Presentation
24/06/2011
10
04/07/2011
Implementation
03/05/2011
83
25/07/2011
Evaluation
25/07/2011
21
15/08/2011
Documentation
15/08/2011
31
15/09/2011
Submission
15/09/2011
7
22/09/2011
Risk Assessment and Evaluation
The major risks involved in this process that will make the project to fall behind schedule will be lack of development knowledge, hardware failure, and requirements modifications.
I have developed an action plan to minimise these risks and any unforeseen circumstances not to affect the project deadline.
Risks
Action
Requirements modifications
Update the requirements and continue
Conflict in requirements
Update the requirements and continue
Hardware failure
Always back up, Locate alternatives
Competitors new releases
Propose something different
Flaws in schedule
Edit and update the schedule
Lagging behind schedule
Always keep a diary to note activities
Poor productivity
Update skills and allocate more time
Order Now