A Software Subsystem of Learning Management System Solution



This project develops a learning management system (LMS) to help a university IT department their activities and improve their services, and for the management to track student’s basic information. Typical LMS includes Blackboard or Moodle. This class project is intended to be done by a team of 4-5 undergraduate students during an academic semester, in conjunction with lectures and other class activities. It is similar to Blackboard or Moodle LMS system.

  1. Project Description

Generally speaking, Learning Management System deals with all kind of student details, academic related reports, college details, course details, curriculum, batch details and other resource related details too. It tracks all the details of a student from the day one to the end of his course which can be used for all reporting purpose, tracking of attendance, progress in the course, completed semesters years, coming semester year curriculum details, exam details, project or any other assignment details, final exam result etc. This project doesn’t need to cover all the features and functions as a Learning Management System. During the project, the following factors should be considered.

    1. Requirements

The clients need to build a student information management system. This system doesn’t need to include all features and functions as shown in the paragraph above. The software system only stores and retrieves students’ partial information in the current semester and other basic information including student’s name, student’s ID, registered courses in the current semester, each exam’s score in one course, GPA calculation in the current semester. Use the strategies studied in the lectures to accomplish the requirement artifacts. The goal system has two types of accessing modes, administrator and user. Student information management system is managed by an administrator. It is the job of the administrator to insert update and monitor the whole process. When a user log in to the system. He/she would only view details of the student. He/she can’t perform any changes.

    1. Analysis

Based on the requirements, analyze the software and give a planning. Note, use the analysis strategies studied in the lectures to produce necessary artifacts of analysis.

    1. System Development Life Cycle

Apply the knowledge you learned from the class, apply 2D life cycle models on the project. Select the suitable life cycle models and present your reasons.

    1. Team Work

Select a team model as presented in the chapter 4. Describe your team organization and clarify each team member’s responsibility. Since this is a team project, the collaboration among team members is required. Corresponding artifacts are required to be submitted.

    1. Version Control

Register account on https://github.com/ to study version control techniques for your team work on the project. A list of basic git commands is attached with this project assignment instruction.


    1. Apply UML Method

Through requirements and analysis of the project, draw out necessary UML diagrams in the project.

    1. Data Records

Data storage is critical for all businesses. A good data storage does not allow any form of anomalies and stores only relevant information in an ordered manner. If a data storage has anomalies, it is affecting the efficiency and data integrity. For example, delete anomaly arise upon the deletion of a row which also forces other useful data to be lost. In this project, you need to design data record files to build this software system. Include the necessary artifacts related to data storage in the project. You don’t need to design a database for the project. Plain text files are enough to achieve the goals for this project.

    1. Graphical User Interface (GUI)

You are expected to design simple GUI in the project. The following figure present several sample GUI. Open source GUI development platforms (e.g. Qt) are recommended. Note this GUI is not complete, because no text on the buttons and other widgets.

  1. Project Report and Items

The final grade of the project will be evaluated comprehensively based on the completeness of the all submitted items. During and after the project, the following items are expected to be submitted.

    1. Submit a project report to answer the following questions?

How many members are you in your team? List all team members.

What type of team model is used in the project (chapter 4)?

Paste all UML diagrams you used in the project. Some important diagram are expected to be included like architecture diagram, use case diagram, class diagram, and so forth.


    1. One Presentation in the classroom during the whole semester. Each team leader and members are expected to present your work at the presentation. The presentation will be counted as a partial grade in your final grade.

The presentation: 30% of the final grade of your project.

During the presentation, each teams needs to demonstrate basic operations of LMS system like adding, deleting, inserting, and modifying a record (record could be a course and a student profile), logging in/out system, browsing all records, checking a student or all students’ GPA, GitHub demonstration, and so forth.


    1. Submit all artifacts you used in the project. These artifacts include source code, UML diagrams, SPMP, version control documentation, test cases, data storage files, and other necessary artifacts we studied in the class. For example, if you have used design pattern for software reuse, design pattern document should be uploaded. All artifacts should have two copies, one copy will be uploaded on Blackboard and the second copy exists in GitHub of your team project. The GitHub account is set to be visible for all users so that your GitHub can be accessed for review.