event manager application for androidltahvild/courses/ece750-11/materials/... · existing...
TRANSCRIPT
Event Manager Application for Android
AMEYA CHAUDHARY (20417934)
KAUSHIK BHARATHAN(20412310)
CONTENT• PROBLEM STATEMENT• OUR SOLUTION• TOOLS AND SOFTWARE USED• SEQUENCE DIAGRAMS• SYSTEM ARCHITECTURE• OBJECTIFY FRAMEWORK• CBSE PRINCIPLES USED• RESULTS• FUTURE ENHANCEMENTS• REFERENCES
PROBLEM STATEMENTAn event managing application for smartphones 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 MOBILE APP 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 Eclipse 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 Nexus S Android Developer Phone
ANDROIDWhat is Android?• It is the fastest growing mobile operating system in the world. It is
developed by the Open Handset Alliance 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
programming language such as Javas [2]
UI-SEQUENCE DIAGRAMSUse Case : Login and view user's events
UI-SEQUENCE DIAGRAMSUse Case : Login and create new event
UI-SEQUENCE DIAGRAMSUse Case : Login and create new group
UI-SEQUENCE DIAGRAMSUse Case : Login and view members of selected group
UI-SEQUENCE DIAGRAMSUse 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 web application 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 DSdelete() an entity from DSquery() 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 RESULTSSuccessfully 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 mobile web 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/objectifyappengine/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?