Designing for the Future of Education: A Tutorial on Building Secure Applications

The biggest challenge for any software tutorial is what the example to use. Most software engineering tutorials are just too simple. They have the basic functionality of a to do application. Most software security tutorials use perceived high value data set like financial data.

The reason for this is that these tutorials often used to teach concepts at a basic level. The challenge is going from the basic level to the complex level leads to false assumptions or uncertainty. Our goal is to provide a sample application which demonstrates how factoring security in, even if the law doesn’t require it, can provide a cleaner implementation and reduce the total cost of ownership.

On-line educational software has become more widely available and a necessity for remotely learning. This software package provides the areas where the law does require better security, areas where security is needed for business reasons, and areas where security is not really needed at all.

It is important to note that we will only be discussing implementation at a theoretical level. This will not really involve detailed code examples. That would make it way more complicated. We are going to try to walk that gray line of enough detail to get the points across while not getting way too in the weeds that the story is lost. We will also not be going into all of the features that would be required.

The following table demonstrates the features that will be the focus on the tutorial

Feature NameDescriptionRoles Needing Access
User ManagementAllows for the creation, management, and deletion of user accounts.Administrators
Course CreationEnables educators to create, edit, and organize course content, including syllabus and materials.Educators, Administrators
Enrollment ManagementManages student enrollment in courses, including adding, dropping, and waitlisting.Students, Educators, Administrators
Assignment SubmissionA platform for students to submit assignments and for educators to review and grade them.Students, Educators
Grading SystemFacilitates the grading of assignments and exams, including the calculation of final grades.Educators
Discussion ForumsOnline forums for students and educators to discuss course material and related topics.Students, Educators
Quizzes and ExamsEnables the creation, administration, and grading of quizzes and exams.Educators
Attendance TrackingRecords and monitors student attendance for classes.Educators, Administrators

It is important to note that there are a significantly larger set of features that will be required in order for a really complete system.

The next section will discuss the prioritization of characteristics for the software. This will include a discussion on prioritizing the security attributes of availability, confidentiality, and integrity.