Developing a new LMS function

目录

Task1:

Requirement analysis:

2.fact-finding

Background reading

2.Questionnaires

3.Ideas about a new function

requirement definition:

requirement specification:

Software Specification Details:

1.type of files

2.Operation priority of documents

3.Use-case

Task2:

Task3:

Analysis:

Inception

Elaboration

Construction

Transition


Task1:

Propose one new LMS function by providing the requirement analysis, requirement definition and requirement specification. In addition, you can use a use case diagram to illustrate the new function. 


Requirement analysis:

1.Analysis process

2.fact-finding

Due to the impact of the current pneumonia epidemic, all face-to-face data collection is difficult. All data collection used in this report comes from the Internet, and all user experience and user observations are performed by myself.

Understanding the existing system (computer or human system) requires fact-finding.

SQIRO fact-finding techniques

  1. Background reading

Learning Management System (LMS) is a management platform in the e-learning system, corresponding to the content of learning-courseware. LMS is a collective name for all platforms that have the ability to support online learning. There are many types, and the differences between various platforms are very large. No matter how the platform functions change, supporting the SCORM (Sharable Content Object Reference Model) standard is a trend for LMS. The main functions of the learning management system include student management, course management, and tracking and summarization of learning records.

After investigating common learning management systems in the market, it was found that this software mainly has the following 5 functions:

  • Student management functions
  • Teaching function
  • Student Autonomous Learning Function
  • Acceptance of teaching achievements
  • Provide learning materials

Fig.2 main function

2.Questionnaires

In order to investigate the current users' feedback on the use of a blackboard-like learning management system, a corresponding questionnaire was produced to collect user feedback.

      

   

Fig. Questionnaire

3.Ideas about a new function

Through the analysis of the questionnaire results, it is found that users believe that the functions related to group work and data sharing in the blackboard need to be improved.

Fig.result from questionnaire

In view of these two aspects, we have proposed the following new features and surveyed their support.:

  • Collaborative editing function for online shared documents
  • Course task due reminder
  • Teaching satisfaction feedback function
  • Application-side assignment and examination paper review

Fig.result from questionnaire

The results of the questionnaire analysis were combined with the actual situation. Obviously, for the student group using blackboard, adding an online shared document collaborative editing function is expected by users. Therefore, in this report, I recommend the original learning management system add a similar feature to the management system.

requirement definition

The learning management system must provide a platform that can upload or create Diverse personal files. Files stored in this platform can be browse/create, edited, downloaded, File naming or deleted by the uploader / creator and his designated users at the same time.

requirement specification

  • Software must provide tools that can create multiple types of personal files.
  • Software must provide a platform that can store multiple types of personal files.
  • There should be a permission system in the software to determine whether the user can operate the file.
  • Each kind of file should be equipped or introduced with corresponding tools to enable users to manipulate the file.
  • There should be a priority order between different operations (e.g. when two users download and delete files at the same time at the same time, the download operation should be performed first).
  • The system should allow different types of files to use different identification icons.
  • When the user clicks on an icon representing a file, the corresponding result should be the application of file-related tools to the file represented by the chart.
  • The system should create a log file for each file in the platform (for querying which user when performed in which file).

Software Specification Details:

1.type of files

2.Operation priority of documents

User action

Operation priority (decreasing priority from large to small)

edited

3

File naming

3

downloaded

2

browse/create

1

Delete

1

3.Use-case

3.1step-by-step form

Actor action

System response

1. User clicks create / upload file

2. The system stores the corresponding file and displays the file in the display interface with the corresponding file icon

3. The user specifies other users with operation rights

4. The platform grants corresponding user file operation rights

5. Users with permissions click the file icon

6. The system enters the file editing interface

7. The user performs in-privilege operations on the file

8. The system displays the contents of the file after the operation

9. The user clicks to save the file

10. The system stores the current file content

11. The user clicks to close the file

12. The system exits the editing interface and displays all current user-editable files in the display interface

13. The user double-clicked the document name

14. Change document name to editable state

15. User enters new file name

16. Show file with new file name

17. User clicks edit history button

18. Show all users with permissions how to operate on the document

Task2:

Explain how Agile / Iterative software development approach can be beneficial in this context.

Iterative development repeats 4 processes, namely Planning, risk analysis, software development, user evaluation. In the user evaluation process, we propose a new function of shared documents based on user comments, and then iterative development will start the planning process again. A new function is included in the scope of consideration and becomes a new function of the learning management system. This development method will not affect the already developed functions when adding new functions. During the development of new functions, the system is always available, and the use of the system will not be affected by the development of new functions.

Agile development takes the evolution of user needs as the core, and adopts an iterative, step-by-step method for software development. In agile development, a software project is divided into multiple sub-projects at the initial stage of construction. The results of each sub-project are tested and have the characteristics of visibility, integration, and operation. In other words, a large project is divided into multiple interconnected but small projects that can also be run independently and completed separately. During this process, the system has always been in a usable state. At this time, the shared document is developed as a new sub-project, which will not affect the use of the system. When the development is completed, the sub-project has been tested and only needs to be connected to the system to be put into use.

Task3:

Discuss how the new function can be developed based on the Unified Process.

In Unified Process, there are five core workflows (disciplines):

Requirements, Analysis, Design, Implementation, Testing

There are four major phases:

Inception, Elaboration, Construction, Transition

These five core workflows are executed sequentially and iteratively in different stages of system development, and each workflow has different main functions.
Requirements:

Determine the client's need.

Developer determines what client really needs and the actual constraints, from an imprecise and vague client description outline of the software.
A document for business model needs to be developed and refined to show cost-effectiveness of software.

Analysis:

Analyze and refine requirements for detailed understanding of requirements essential to develop software correctly.

Analysis workflow adds details to requirements, which are important to ensure correct development of software.

Determine the architecture.

Draw up a more detailed plan.

Design:
Determine the internal structure of software.

Design goes from what to do to how to do, by refining the output from analysis workflow to a form detailed enough for implementation by programmers.

Implementation:
Implement the software designed in the chosen language (s).

The implementation of a system is jointly developed by many programmers, and each person is only responsible for the development of one or a part of the functions. As long as the format of the interface is defined with a unified specification, it can ensure that the developed functions can be merged together in the end and Normal use.

Testing:

Test whether the functions in the system can be used normally. In this step, nature of testing varies with what to be tested. But we usually use the data of the numerical boundary allowed by the system to test to ensure that the system can respond correctly when facing the boundary value or ambiguous input.

Testing is often performed in parallel with other workflows. To ensure that the system does not make major mistakes during the development process.

The focus of work in each stage is on different workflows.

Inception

First of all, in the Inception stage, we need to determine the client's need, focusing on analyzing the requirements for new features, that is why we should add a shared document function in the learning management system. We can investigate users who have used this system to understand the user’s experience is good or not and what they think are the deficiencies in the system. After a series of investigations, we know that users think that there is a need to improve the function of the team. At this time, the development will take the next step.

Elaboration

Later in the Elaboration phase, we will begin to analyze the needs of users, analyze and refine requirements for detailed understanding of requirements essential to develop software correctly. For example, users believe that the current learning system cannot support students to complete group work well, making students have some difficulties in the group discussion. At this time, we must provide students with support functions for group work. In order to make the discussion between the discussion group members more efficient and intuitive, we believe that students should have a shared interface. Considering that team members may need to work together to complete a report, then perhaps we can present the shared interface in the form of a shared document. In this way, we initially got a prototype of a new function.

Of course in this part we also want to do some design work, design goes from what to do to how to do, by refining the output from the analysis workflow to form a detailed enough for implementation by programmers. Here we need to determine the function of internal structure, For example, we use two class diagrams to represent the relationship between users and Shared documents:

        

Here we can see that there is a user id and a document id in the user class and the online shared document class. The user id is used as the primary key in the user class and as the foreign key in the document class, so that the system can more easily know Which user has operation authority on which file.

Construction

Later in the Construction phase, we need to start the implementation process while further improving the design, which is implement the software designed in the chosen language (s). At this time, we program the three types of objects: document, user, and system platform to ensure that At the same time, it needs to ensure that the interface between objects can be used normally, so that when three objects are combined in the system, there will be no errors.

Whether it is Elaboration or Construction is an iterative process, we need to repeat the Elaboration process to ensure that the understanding of the function is correct, and then repeat the Construction process to ensure that there is no problem with the function coding

Transition

Finally, there is the Transition stage. At this stage, our main job is to test the function. We need to write a complete set of test cases to ensure that the function can be used normally. Taking the added document as an example, we give a template for a test case:

Case number

Case name

Premise of testing

Importance

priority

version

001

add

The user is logged in and authenticated

High

High

1.0

Test environment

Test type

Test procedure

Expected result

Actual result

editor

operator

Google

Manual test

1. Enter the documentation page
2. Select the Add Document button
3. Determine the document name
4. Select the document authorized user

Jump to the established document page

XXXXX

xx

xx

But we need to note that testing is usually parallel to other workflows. If you start testing after all work is completed, it will greatly slow down the progress of system development. If you find that there is a function in the final stage through the testing process Problem, at this time, re-modifying the function again will cause additional consumption.

The nature of the test varies depending on the content to be tested.

Demand artifacts: Ensure traceability, that is, each item in the analysis artifacts can be traced to the requirements to ensure that any artifacts are a true reflection of customer needs.

Analysis artifacts: analysis and review by the analysis team and customer representatives to ensure correctness (correctly define customer needs). Also check costs and plans.

Design artifacts: Design review is performed by the design and SQA team to ensure correctness (conformance to specifications, logic, interfaces, exception handling).
Implement artifacts: perform code reviews and run each component against test cases (unit tests). After integrating the components, perform integration and system testing, and then perform acceptance testing.

The above is the general process of developing a new function by the unified process

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值