OpenMRS Design Reverse Engineering Activity (Android App)
|Description||Expose student to the OpenMRS Android client and have them reverse engineer the design of the module.|
|Source||Darci Burdge, Steven P. Crain, Ruby ElKharboutly, Barrett Koster, Shamsi Moussavi, Chris Murphy|
|Prerequisite Knowledge||Java, Android, UML, dynamic and static modeling|
|Estimated Time to Completion||6-8 hours|
|Materials/Environment||Access to Internet, installed Eclipse with correct version|
|Rights||This activity is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.|
OpenMRS is... The OpenMRS Android app allows a user to... In this assignment, you will familiarize yourself with the implementation of the Android app by reviewing and documenting the software architecture and class design
The download and install take some time…be patient!! Once the download is complete, you can close the SDK Manager.
Installing OpenMRS Android project
Running the OpenMRS Android app:
Early Code Investigation
At this stage of the project I expect you to get an early sense of what the project is about. You should create a report that describes the following:
Grading Rubric :
====Detailed Design==== Produce a report that documents the Detailed Design of the software. Your target audience is to be a junior programmer would like to contribute to the project as well as a developer who is somewhat but not intimately familiar with your project. A junior programmer should be able to correctly implement any package or module given your Detailed Design. =====Report=====
Introduction and Overview About 1 to 3 pages summarizing the purpose of report, its organization, and its salient conclusions. A person should be able to read just the abstract or just the introduction and have a good idea what is in the rest of your report. Detailed Design You are to give, for each module, a clear specification for the module, such that a junior programmer can implement that module. The Detailed Design will include a clear description of the behavior of the module and its externally visible interface. A complete description of the static and dynamic modeling of the system including class diagrams, sequence for main scenarios.