Internet is the industry developing most rapidly on the world,and education is also an important industry.So people try to put them together,and they create a new product called online LMS system(Learning Management System).The theme of this thesis is SaaS base online LMS system,which is a logically complicated web application.It allows users to creaete,track and manage separated learning material.It can be used on consulting companies focusing on staffing and training,schools and all the cooperations that hopes their employee to continue their education.The traditional scenery is the e-learning course that schools provided.This system includes course delivery module,message management module,discussion group module,content management module and feedback module.All these modules cover every workflow for LMS system,including the scenery of course creation by instructor,communication between instructor and students,course discussion group,publishing test and assignment,make grading.Based on the actual project of the company,this paper studies the business scenario of LMS system,analyzes the business requirements of LMS system,describes the necessary functional modules of LMS system from the functional perspective,and analyzed the use cases in detail.In addition,from the perspective of architecture,this paper gives the key architecture design and implementation of the system from the front end to the server end in detail,in which the front-end architecture uses a series of technical ecology,such as the single page application development framework angular.js and the front-end task management tool grunt.js,to build a standard front-end engineering architecture based on the single page application.The server uses the traditional Java ecological environment to develop,uses the springMVC open source framework to develop rest API services,designs a set of unique architecture on the code isolation and persistence layer,and adopts the ehcache framework and redis on the cache strategy.The main task of this thesis covers requirement analysis,technical architecture,technology selection,system design,code implementation,and testing for the LMS system.This thesis also make the design for the SaaS architecture of the system,including SaaS system application layer design,database design,content storage,file sharing,pay on demand and modular design,system log,message notification and system disaster recovery.The online LMS system implemented by this paper has significant practical values.The technical solution provided covers functional design,architecture design,design based on SaaS characteristics,system implementation and test verification,which will present us its use for other web applications for reference. |