3. Chosen Solution
Although I have kept an open mind throughout developing how my solution would be implemented, I have been leaning towards a mobile application from the very start due to its easy accessibility by the targeted users and given the context of the school’s facilities. I would like my application to be easily deployable to other primary schools that share the same Wi-Fi capability, thus both the desktop and mobile programs will rely on the same cloud database backbone – this will provide a robust and relatively simple-to-program framework on which the applications will send and receive data. Another option would have been to implement a standalone server application – however, that would require manually transferring packets to and from the server and all the clients, and the server application would have to relay the commands received to the database. This would introduce an unnecessary level of complexity and make it more difficult to debug and maintain the software, since I would have to closely monitor the code of three separate applications.
When it comes to coding these applications, I have selected C# as a programming language, as not only is my knowledge of the language more extensive than other languages I have worked with (e.g. Java and Visual Basic), but it also provides me with a great solution to implement my solution to both Android and iOS devices. The open-source platform Xamarin enables me to implement both the appearance and function of the mobile apps once, and platform-specific compilers will make sure it will function on almost every modern smartphone running a specific version of Android/iOS or higher. Another option for this implementation would be the use of Basic for Android to design an Android version of the mobile app efficiently, or XCode’s built-in Storyboards which makes designing apps a drag-and-drop process – However these are platform-specific solutions which would not only increase the coding time necessary (as I would have to technically develop two separate apps), but they would also once again make my solution more difficult to debug and maintain. Therefore, my familiarity with C# which acts as the code-behind the mobile apps when using Xamarin and even allows me to easily create the Forms necessary for the Desktop program. These all add up to make C# the more logical way to approach this problem in my opinion.
The use of SQL Databases will be demonstrated throughout developing my solution; being run in the cloud, safety and data integrity have to be the priority if my solution is to be trusted for storing sensitive information such as mobile phones of parents etc. (include final location of database and explain why, mention strengths and weaknesses of LAN database/server).
Moreover, the addition of the Feed functionality may introduced a level of interactivity with the staff when it comes to the Secretary and the Principal, and it can also be implemented with a database so it would not introduce another level of difficulty when it comes to implementing features in code.
Last updated