OpenMRS Architecture activity
(→Suggestions for the Open Source Project) |
|||
(One intermediate revision by one user not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
− | {| | + | {{Learning Activity Overview |
− | + | |title= | |
− | + | OpenMRS Architecture case study | |
− | | | + | |overview= |
− | + | In this activity students use OpenMRS Architecture as a case study to identify the architecture pattern used and study the components of web architecture. | |
− | | | + | |prerequisites= |
− | + | Design and architecture | |
− | | | + | |objectives= |
− | + | * Identify the architectural pattern used for a given system | |
− | * | + | * Get exposed to web applications by studying their architectures |
− | * | + | * Differentiate between server side technologies and client side technologies |
− | * | + | * Use software architecture as a starting point to approach an open source project |
− | * | + | |process skills= |
− | |} | + | }} |
=== Background === | === Background === | ||
Line 23: | Line 23: | ||
Study the architectural diagram and answer the following questions: | Study the architectural diagram and answer the following questions: | ||
+ | |||
==== Part 1: General Architecture ==== | ==== Part 1: General Architecture ==== | ||
Line 38: | Line 39: | ||
==== Part 3: Design Principles ==== | ==== Part 3: Design Principles ==== | ||
+ | |||
# OpenMRS architecture satisfies design principles such as modularity and information hiding. Explain how does the architecture satisfy these principles? | # OpenMRS architecture satisfies design principles such as modularity and information hiding. Explain how does the architecture satisfy these principles? | ||
− | #Why does the architecture follow design principles ? (Find the answer in the reading) | + | # Why does the architecture follow design principles ? (Find the answer in the reading) |
=== Deliverable === | === Deliverable === | ||
+ | |||
* A report including answers | * A report including answers | ||
− | ==Notes for Instructors== | + | == Notes for Instructors == |
+ | === Assessment === | ||
− | |||
{| class="wikitable" | {| class="wikitable" | ||
! Criteria | ! Criteria | ||
Line 80: | Line 83: | ||
=== Additional Information === | === Additional Information === | ||
− | {| | + | |
− | | | + | {{Learning Activity Info |
− | + | |acm unit= | |
− | + | |acm topic= | |
− | + | Software Engineering | |
− | | | + | |difficulty= |
− | + | Medium- Challenging | |
− | | | + | |time= |
− | + | 2 hours | |
− | | | + | |environment= |
− | + | Internet access | |
− | | | + | |author= |
− | + | Ruby ElKharboutly | |
− | | | + | |source= |
− | + | Ruby ElKharboutly | |
− | | | + | |license= |
− | + | {{License CC BY}} | |
− | + | }} | |
=== Suggestions for the Open Source Project === | === Suggestions for the Open Source Project === | ||
− | + | ''Suggestions for an open source community member who is working in conjunction with the instructor.'' | |
− | Suggestions for an open source community member who is working in conjunction with the instructor. | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
[[Category:Learning Activity]] | [[Category:Learning Activity]] | ||
[[Category:Specification and Design]] | [[Category:Specification and Design]] | ||
− | [[Category: Good Draft]] | + | [[Category:Good Draft]] |
Latest revision as of 10:48, 8 September 2018
Title |
OpenMRS Architecture case study |
---|---|
Overview |
In this activity students use OpenMRS Architecture as a case study to identify the architecture pattern used and study the components of web architecture. |
Prerequisites |
Design and architecture |
Learning Objectives |
After successfully completing this activity, the learner should be able to:
|
Process Skills Practiced |
Background
Open-MRS is an open source electronic medical record system (EMR) originally designed for developing countries. Go the open MRS website https://wiki.openmrs.org/display/docs/Technical+Overview and http://write.flossmanuals.net/openmrs-developers-guide/architecture/ . The architectural design of the Open MRS system is described in these pages.
Directions
Study the architectural diagram and answer the following questions:
Part 1: General Architecture
- Identify the basic modules in the architecture. What are the basic components and how do they interact
- What architecture style is used in Open-MRS architecture? Justify your answer.
(Grading criteria: your answer should explain how the Open-MRS architecture satisfies the constraints and rules for the chosen architecture style)
Part 2: Server and client technologies
- What technologies are used on the client side?
- What technologies are used on the server-side?
- What is Spring? (use Google to answer. Include your reference)
- What is Hibernate? (use Google to answer. Include your reference)
- What language is used for server-side programming in OpenMRS?
Part 3: Design Principles
- OpenMRS architecture satisfies design principles such as modularity and information hiding. Explain how does the architecture satisfy these principles?
- Why does the architecture follow design principles ? (Find the answer in the reading)
Deliverable
- A report including answers
Notes for Instructors
Assessment
Criteria | Level 1 (fail) | Level 2 (pass) | Level 3 (good) | Level 4 (exceptional) |
---|---|---|---|---|
Part 1 | Little to no understanding shown; Answers are made up or unrelated; Didn't read material | Limited understanding, showing that they read some, but did not dig very deep | Showed that they have done the readings with limited understanding | Clearly explain the answer to each question with supporting examples |
Part 2 | Little to no understanding shown; Answers are made up or unrelated; Didn't read material | Limited understanding, showing that they read some, but did not dig very deep | Showed that they have done the readings with limited understanding | Clearly explain the answer to each question with supporting examples |
Part 3 | Little to no understanding shown; Answers are made up or unrelated; Didn't read material | Limited understanding, showing that they read some, but did not dig very deep | Showed that they have done the readings with limited understanding | Clearly explain the answer to each question with supporting examples |
Comments
Android Development, JSON data model
Additional Information
ACM BoK Area & Unit(s) |
|
---|---|
ACM BoK Topic(s) |
Software Engineering |
Difficulty |
Medium- Challenging |
Estimated Time to Complete |
2 hours |
Environment / Materials |
Internet access |
Author(s) |
Ruby ElKharboutly |
Source |
Ruby ElKharboutly |
License |
This work is licensed under a Creative Commons Attribution 4.0 International License |
Suggestions for the Open Source Project
Suggestions for an open source community member who is working in conjunction with the instructor.