Architecture project: BAMAS case study
You are asked to design the software architecture for an online learning system satisfying the following requirements. Please:
- give a rationale for your decisions and demonstrate how your solution addresses the stakeholders concerns,
- follow the guidelines in the course manual,
- and give an estimate for the development effort required.
Remember to send in your architecture document no later than the date mentioned in the CourseSchedule
BAMAS stands for "Bachelor MAster Schakel site" (dutch) or "Bachelor MAster Connection site" (english), a system for providing information about routes through various curriculae of educational institutions. The system has evolved into Studiekeuze123
One of the purposes of the introduction of the Bachelor-Master system in Europe was the creation of more mobility options for students. Switching between educational institutions would be simpler, a bachelor at one institution would give access to a master at another institution. And, vice versa, a master should be accessible via different bachelors.
Such flexible routes through curriculae requires reliable information about options. At the introduction of the Bachelor-Master system acquiring this information was quite difficult. The intent of the BAMAS system was to provide this information.
The purpose of this case study is to construct an architecture for this system. The description of the requirements follows hereafter.
The following figure shows the basic relationship between curriculae (dutch: opleiding) and the required additional courses, called connection program (dutch: schakel programma).
Each curriculum is given by an institution, either a university or a hogeschool. Students can go from one curriculum on a institution to another curriculum on a possibly different institution directly without a connection program, or with a required connection program. For example, someone who did follow the UU Computer Science bachelor can directly continue with a corresponding master at the same university. Some curriculae are not connected, which means that it is not possible to continue with an already followed curriculum to the other.
Information maintained by the system
Each curriculum is registered in the CROHO
(Central Register for Higher Education Curriculae, dutch: Centraal Register Opleidingen Hoger Onderwijs). The information maintained there must be present in the BAMAS system as well. Registration in the CROHO is a necessary prerequisite for (e.g.) grading by an institution.
Usage of the system
The BAMAS system will be used by students in the following ways:
- Bachelor students are almost finished with their curriculum, they want to know whether they can continue with a particular master, and which additional courses are required for that master.
- Bachelor students are almost finished with their curriculum and want to know which master curriculae they can follow.
- 1st or 2nd year bachelor students want to know what courses to choose in their bachelor as to have the widest choice of masters.
- 1st or 2nd year bachelor students want to know what courses to choose in their bachelor as to be able to apply for their favorite master.
- Secondary school students (dutch: havo/vwo-scholieren) know what they 'want to be', have picked their favorite master, and want to know with which bachelors they can get to their master program. Also, when making a choice, they want to select on location (nice city, nightlife) and other criteria.
- Secondary school students are interested in some disciplines and search for a bachelor. When making a choice subsequent options play a role.
For these kind of queries, teachers, managers and those who take care of public relations all are in the same position as a (potential) student. In addition, these types of users also can do the following:
- They may ask the system for statistics about the kind of information asked for, its performance, and resource usage.
- They may construct new predefined queries, to be used in the same manner as the above list of queries for students. This (for example) allows institutions to incorporate queries into their own web pages, tailored to the specific institute and/or curriculum.
The system will also be used by the following persons and for the following tasks:
- Bachelor curriculae, master curriculae, and institution information are all separately maintained by possibly separate responsible people, like curriculum designers and application managers.
- The system itself is maintained by developers. Maintenance may require reorganization of the logical structure of the system and its interface.
- The system is running on host systems, maintained by system administrators. These need access to the infrastructure running the system for making backups, (e.g.) adding FAQs, and providing a helpdesk, but are not allowed to change the logical structure of the system.
These ways of using the system implicitly determine the requirements of the system, of which the following are the most important:
- Users can search on various criteria: curriculum, year, institution, but also on arbitrary keywords occurring in these and other aspects.
- Users which are allowed to modify content, can do this according to their access rights. Access rights can be 'may change bachelor curriculae', 'may change master curriculae', 'may change institution info', etc.
- The system must maintain other information then the actual content, for example 'when has some info been changed by who', or 'how many users have queried for a particular institution'.
Other functional requirements:
- All information kept by the system is available in two languages: English and Dutch. A user can choose which of these languages is used for displayed information.
- The system is to be accessed via a web interface. The interface can be used in English and Dutch, independent of the used language for displaying information.
- The system must be responsive: independent of the used network connection a responsetime for a query must be less than 0.5 seconds.
- It is expected that educational laws and structure change regularly (that is what politics tends to do). The required changes to the system must be easy to make.
- In the near future the organization running and maintaining the BAMAS system will be privatized, self supporting, and is expected to get income from advertisements on the website. However, these advertisements may not be too intrusive and/or obstruct the use of the website.
- To keep exploitation costs down, a minimal set of server machines must be used for running the system. The number of used systems must be flexible however to cater for peak hours as well as peak periods in spring period when students are expected to more heavily use the system. Adding and removing servers must therefore be easy.