目录

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

Developing a new LMS function相关推荐

  1. Cost Function

    首先本人一直有一个疑问缠绕了我很久,就是吴恩达老师所讲的机器学习课程里边的逻辑回归这点,使用的是交叉熵损失函数,但是在进行求导推导时,google了很多的课件以及教程都是直接使用的,这个问题困扰了很久 ...

  2. 自适应滤波:最小均方误差滤波器(LMS、NLMS)

    作者:桂. 时间:2017-04-02  08:08:31 链接:http://www.cnblogs.com/xingshansi/p/6658203.html 声明:欢迎被转载,不过记得注明出处哦 ...

  3. LMS Virtual Lab对发动机噪声进行仿真的2种方法

    LMS Virtual Lab对发动机噪声进行仿真的2中方法: 一.已知发动机激励,利用结构有限元算法求位移响应,然后利用声学有限元或者声学边界元算法求噪声. 二.已知发动机振动试验的位移响应(ODS ...

  4. matlab blms算法程序,LMS算法Matlab程序

    LMS滤波器MATLAB函数 function [yn,W,en]=LMSPrediction(xn,M,mu,k) % LMS(Least Mean Squre)算法 % 输入参数: % xn 输入 ...

  5. 翻译 - 【Dojo Tutorials】Part 2 - Developing a Dojo Mobile Application: FlickrView

    原文:Developing a Dojo Mobile Application: FlickrView 在本系列的第一篇文章Getting Started with Dojo Mobile中,详细的讲 ...

  6. LMS Algorithm 最小均方算法

    承接上一篇博文中的线性回归中的的cost function.我们想要找出能使得 J(θ)最小的θ(也叫weights). 其中J(θ)如下所示: 为了做到使其值最小,让我们使用一个search alg ...

  7. 系统业务逻辑书籍_Python框架:Django写图书管理系统(LMS)

    今天我会带大家真正写一个Django项目,对于入门来说是有点难度的,因为逻辑比较复杂,但是真正的知识就是函数与面向对象,这也是培养用Django思维写项目的开始 Django文件配置 Django模版 ...

  8. Python框架:Django写图书管理系统(LMS)

    今天我会带大家真正写一个Django项目,对于入门来说是有点难度的,因为逻辑比较复杂,但是真正的知识就是函数与面向对象,这也是培养用Django思维写项目的开始 Django文件配置 Django模版 ...

  9. JDBC Mybatis 调用 ORACLE 存储过程 函数 返回 varray 类型 function return varray out varray

    ORACLE中使用VARRAY解决字符串数组问题 博客分类: ORACLE/MYSQL总结 OracleSQLJDBCCC++ 如何从 PL/SQL 存储函数中返回数组类型 思路:在 Oracle 数 ...

最新文章

  1. Oracle中的字符处理方法
  2. Windows程序员如何转向Linux开发应用?
  3. movsb movsw movsd 指令详解
  4. 简单插入排序,折半插入排序和2路插入排序 c源码
  5. 为什么Nginx的性能要比Apache高很多?
  6. SHA-1退休:数千万用户通向加密网站之路被阻
  7. Caffe中如果高效实现卷积层
  8. El 表达式、jstl学习
  9. Permutations
  10. visual studio(vs)中项目解决方案的目录组织安排
  11. dict( )、zip( )函数——python小练
  12. RIME中州韵输入法词库扩充(搜狗词库,QQ拼音词库,清华词库,拆字词库U模式等)
  13. MongoDB可视化工具MongoChef永久有效
  14. UltraEdit使用正则表达式(通配符)进行查找和替换
  15. 易基因|m6A甲基化修饰在神经元发育和成体神经形成中的作用研究:文献科普
  16. 树莓派安装中文输入法
  17. 软件测试课程设计——智云云盘
  18. 成交量占比过半 优信拍继续领跑二手车电商B端市场
  19. WordPress标签云小工具详解
  20. 今年IBM公司庆祝成立100周年

热门文章

  1. 【软考备战·希赛网每日一练】2023年4月28日
  2. BUUCTF 逆向工程(reverse)之findit
  3. 美股罕见暴跌,A股该恐惧还是贪婪?
  4. C语言进阶——地址和指针
  5. 全球及中国有机食品市场供需规模与未来竞争态势研究报告2022版
  6. unity 手机上获取手指触摸位置_Unity 操作检测的各种实现#2手机端 - 触屏与手势...
  7. R树:处理空间存储问题
  8. 单片机自动售货机c语言,单片机自动售货机源代码
  9. 云南师范大学商学院二级计算机报名,云南师范大学商学院教务网
  10. 征服 JavaScript 面试:什么是闭包?| Eric Elliott