<<

Event Manager Application for Android

AMEYA CHAUDHARY (20417934)

KAUSHIK BHARATHAN (20412310) CONTENT

• PROBLEM STATEMENT • OUR SOLUTION • TOOLS AND USED • SEQUENCE DIAGRAMS • SYSTEM ARCHITECTURE • OBJECTIFY FRAMEWORK • CBSE PRINCIPLES USED • RESULTS • FUTURE ENHANCEMENTS • REFERENCES PROBLEM STATEMENT

An event managing application for that connects people together, creating groups of users and sharing their events within groups.

Existing applications in the market that perform this activity,

• STAR event manager for Blackberry (Personal event manager/To- do, cannot share event alerts with friends, $9.99) • App Brain for Android (Personal event manager/ To-do, $1.99) OUR SOLUTION

• Event manager application for the Android OS that does more than act as a to-do list manager.

• Registered users can create groups and send e-mail invitations to request users to join the group.

• Each group has a number of users and each user can create events that will be visible to members of the group CHALLENGES TO CROSS PLATFORM DEVELOPMENT

1. Software developers have to spend a lot of time to learn how to start programming on and familiarize themselves with each kind of OS’s SDKs and APIs. 2. As the constant emergence of new smart phone OS, it is inefficient and uneconomic to migrate all software developed to new platform, because you have to do the same operations again. 3. It is complex to maintain the different versions of mobile application that runs on different OS. To update app of one OS, we have to update all versions of this application that runs on other OSs. It is difficult to maintain consistency of the application. [1] TOOLS AND SOFTWARE USED

• Android SDK Revision 15 for Android 2.3.3 (API 10) • Android development tools plugin 15.0.1 for 3.7 which is the officially supported IDE • Google App Engine to host server • Objectify- An open source persistence data framework for App Engine Data Store • Google Android Developer Phone ANDROID

What is Android? • It is the fastest growing in the world. It is developed by the led by Google. • It currently is the OS of choice for Motorola, HTC, Samsung, Sony and Ericsson. Why Android? • Simple and powerful SDK, no licensing fees and a thriving developer community. • Offers an excellent enterprise platform by using a popular enterprise such as Javas [2] UI-SEQUENCE DIAGRAMS

Use Case : Login and view user's events UI-SEQUENCE DIAGRAMS

Use Case : Login and create new event UI-SEQUENCE DIAGRAMS

Use Case : Login and create new group UI-SEQUENCE DIAGRAMS

Use Case : Login and view members of selected group UI-SEQUENCE DIAGRAMS

Use Case : Login and register new user SYSTEM ARCHITECTURE ARCHITECTURE DESCRIPTION

• We have used a blackboard architecture for our system. The blackboard model is represented in 3 parts: Knowledge sources, Blackboard data structure and control [3] • The Google App Engine data store acts as the database and stores all the user, group and event information. • The acts as the blackboard holding the current state of events. • Each device with the Android app installed acts as the client/knowledge sources and connects to the Data Store via blackboard. OBJECTIFY FRAMEWORK

• Open source persistent framework for the Google app engine (GAE) data store. • The GAE data store acts is not an RDBMS, it is more of a persistent hash map. • ENTITY – hash map of name value pairs • DATA STORE – hash map of keys to entites • OPERATIONS – get() an entity whole from DS put() an entity whole into DS delete() an entity from DS query() for entities [4] CBSE PRINCIPLES USED

• Developers need to port their applications to other operating systems without having to develop all the components of their applications each time they release it for a different OS • A Reusable program should be transportable, an orthogonal (context-independent) composition, and independent of the runtime system. [5] Hollingsworth proposed a set of discipline for constructing high-quality components based on Correctness, Composability, Reusability, and Understandability. [6] • We will employ CBSE principles of code reuse to use our Android application on the Blackberry OS. EXPECTED RESULTS

Successfully implement an Android application for event management which is hosted on the Google App Engine and utilizes the Google Data Store FUTURE ENHANCEMENTS

* Add additional functionalities to Android application such as improved UI, deployment on the Android market.

* Develop the event manager application for the Blackberry OS using principles of code reuse. REFERENCES

[1] Biao Pan, Kun Xiao, Lei Luo “Component-based application of cross platform” 2010 10th IEEE International Conference on Computer and Information Technology (CIT 2010) [2] Android developers web site. http://developer.android.com/index.html [3] David Garlan and Mary Shaw, "An Introduction to Software Architecture", Technical Report CMU-CS-94-166, January 1994. [4] Introduction to Objectify. http://code.google.com/p/objectify appengine/wiki/IntroductionToObjectify [5] Ramachandran, M. and Sommerville, I. (1995) A framework on automating reuse guidelines, Proceedings of Intl. conf. on software engineering and knowledge engineering (SEKE95), USA. [6] Hollingsworth, J (1992). Software components design for reuse: a language independent discipline applied to Ada, PhD thesis, Dept. of computing and Information, Ohio State Univ., Columbus, December. Any questions?