The sixth assignment of software engineering--pair assignment

Online English learning platform client prototype

1. Paired members

Liu Boliang 2015034643042

Yang Zilong 2015034643030

2. Demand analysis

Requirement Analysis Using the NABCD Model

2.1 N (Need, demand)

2.1.1 Background description and requirement introduction

With the development of economic globalization and information globalization, English proficiency has attracted more and more attention. As an international language, English is widely used in many important occasions. As a result, the study of English has been paid more and more attention by the society. It is not necessary to say English from elementary school to high school. English has always been one of the courses for assessment. The CET-4 and CET-6 tests in colleges also require college students to have strong English ability, and English is also one of the compulsory courses in the test. Crazy online English learning platform, as the name suggests, is a learning platform for English learning. Its main service targets are college students. The vocabulary in it includes both CET-4 and CET-6 vocabulary, as well as vocabulary needed to test English. Whether it is for CET-4 or CET-6 exams, or preparing for a research test, it is a good idea to use the Crazy online English learning platform. s Choice.

There are two types of service objects in this project, client users and background management users. The background management users can be divided into two types, super administrators and ordinary administrators. Super administrators have all the rights to operate background data, while ordinary administrators only have full operation rights to the storage of static English data, and other storage modules can only view permission.

As for the client users, they are the front-end users of this project. To become a client user, you must first register as a user. After registration, you can log in before you can use the learning platform for learning and use. Hereinafter, the client user is simply referred to as a user. After logging in, the user can enter the user's personal center to view information. In the personal center, you can view or modify the user's basic information, and then you can view the learning history. In addition, the user can also view the information of friends, check the online status of friends, send messages to friends, and at the same time in the personal center. You can also check the message board to see if there is any message to receive.

In addition to the personal center, there is also a leaderboard information view in the main interface. You can enter the leaderboard interface to view the ranking of the top 10 users. Then there is the community module, you can browse the information posts sent by other users when you enter the community, you can post in the community module, send messages in the post interface, and reply to messages.

Then there is the main module, that is, the learning module. The learning module is firstly divided into three learning levels, including English level 4 learning, English level 6 learning, and postgraduate English learning. After selecting the learning level, you can choose classified learning, combined learning and Overall learning, classified learning include word learning, phrase learning, sentence translation learning (Chinese to English for CET 4 and 6, English-to-Chinese translation for postgraduate examinations), cloze learning, reading comprehension learning, and writing practice; combined learning is from the classification The user selects the type to be combined to study the set of papers, and the overall study includes the study of all classified question types. Classified learning can choose the number of questions, at least 5 questions or more, at most 100 questions, and the number of questions can be increased in multiples of 5.

After the study is completed, the system automatically judges the questions and counts the scores and gives the completion time, and performs the integral operation according to the scores and time, and the integral is used for ranking.

2.1.2 Specific functions and data requirements

2.1.2.1 Login registration management

(1) Registration

The user fills in the basic information for registration. The information to be filled in is (account number, password, confirm password, email address, security questions, and security questions can be set to multiple, up to three)

(2) Login

The user logs in according to the account or email number

(3) Forgot password

Reset password based on security question

2.1.2.2 English data data management

The user of this module is only for administrators

(1) View data

English data data are first classified according to levels, and different levels have different topics of corresponding types.

(2) Upload data

Select the level (CET-4, CET-6, and postgraduate exam) and type to upload

(3) Modify data

The level, type, description, answer, etc. of the question can be modified

(4) Delete data

Batch delete and single delete

2.1.2.3 Personal Center Module Management

(1) Operation of basic user information

View/modify user's basic information (account name, user nickname, gender, age, email, security question, education background, graduation school)

View the user's honor information (total points, ranking, word learning points, phrase learning points, sentence translation learning points, cloze learning points, reading comprehension learning points, writing learning points)

View the study history, view the study sets that have been done, and view the score of each question, the number of prompts used, the answers and standard answers made by users, and other users' comments on the questions.

(2) Operation of friend module

View friend list, friend information (friend account, friend nickname, friend online status, friend total points, friend ranking)

Can send messages to friends

Send friend request, select account/email number to send friend request

View friend application, can reject application/accept application

(3) Operation of message information

View message information, reply message

2.1.2.4 English Learning Module Management

(1) Select the level of study

The options are: CET-4, CET-6 and research level

(2) Choose a study method

Choose classification study/combination study/overall study, among which classification study can choose word study, phrase study, sentence translation study, cloze study, reading comprehension study and writing study, etc. Combination learning can arbitrarily select one or more types in the classification learning to make a combination of sets to do the questions. Holistic learning combines all categories to produce a paper as a whole. Combined learning and overall learning can also choose the number of questions for different types of questions to learn

(3) Specific learning

In the specific study, there are two prompts for each question, and the score of the question with one prompt is divided by 2. After submitting the test paper, the system automatically gives the total score and the number of prompts used by the user.

2.1.2.5 Community Module Management

(1) Post

Users can create posts to publish, and post postings include (title, body content)

(2) Reply

You can leave a message in the specific post, or reply in the comments of other users

2.1.2.6 Leaderboard Management

(1) View the leaderboard

View the information of the top 10 users in total points (username, total points, ranking, word learning points, phrase learning points, sentence translation learning points, cloze learning points, reading comprehension learning points, writing learning points) to their Interaction with friends to add and leave messages

2.2 A (Approach, practice)

2.2.1 Project Architecture

The whole project is roughly divided into six module layers. The first module is the data operation layer, which mainly stores data and operates at the bottom of the data; the second module is the business logic module, which mainly provides the business logic processing of the website, and communicates with the network layer. The data operation layer is closely integrated; the third module is the server communication layer, which mainly provides network communication and stable network services. In this layer, we consider using nginx as the server for network communication services; the fourth module is the front-end module, mainly for customer service. The friendly display of the page and the provision of front-end service logic, this module is divided into two versions, one is the responsive version of the PC page, and the other is the mobile page version. The fifth module is the crawler and data processing module, which is mainly used for distributed crawler to crawl the data needed by the website. The crawled data will be temporarily stored in Mongodb, and it is also responsible for data cleaning and data crawling. filter. The sixth module is the data analysis module. This module uses machine learning algorithms to analyze user data, automatically makes intelligent learning reports for users' English learning, and intelligently recommends topics, allowing users to better and more efficiently. Targeted learning.

For the deployment server, we use Tencent cloud server centos 7.12 for project deployment, and then the database uses MySQL and MongoDB, where MySQL stores the stable data in the project, and MongoDB stores the crawler data.

The background server language uses Python3, the web framework uses the Django framework, and the management interface will use the relatively complete xadmin background management interface.

Front-end technology is developed using HTML, CSS, JavaScript, Jquery, Bootstrap, Vue, Swiper and other languages ​​and frameworks. Our entire project is based on the separation of front and back ends, so a large number of asynchronous Ajax will be used to communicate json packets

2.3 B (Benefit, benefit)

Users can customize the study plan, and can define your study plan for English learning according to your study rules and study habits.

The system intelligently analyzes your learning situation, and intelligently recommends topics for learning.

At the same time, you can also learn with friends, supervise each other, and grow together

Get your study records at any time, check your study and knowledge, so you can improve your study plan and study better

2.4 C (Competitors)

Give users more freedom to learn a suitable learning plan for learning, after determining the learning plan. At the same time, the system will intelligently push topics according to your learning situation.

There are many types of questions. In addition to vocabulary questions and multiple-choice questions, there will also be various translation questions and even writing questions to provide exercises, and the system will make intelligent judgments on the questions.

The question bank is huge and the questions are of high quality. We use distributed crawlers on the whole network to crawl data, use big data for data cleaning and data screening, and then the system intelligently integrates the data and turns it into various types and different levels of difficulty. topic.

Better interactive learning with friends, can invite friends to PK learning, provide learning fun

There are community modules for English learning and communication, data sharing, etc.

2.5 D (Delivery, promotion)

Online promotion: We will write QQ robots and WeChat robots, and push advertisements concurrently. At the same time, we will also establish a WeChat public account for public account promotion.

Offline promotion: Promote to friends, brothers and sisters, brothers and sisters, etc. If necessary, you can promote flyers, and contact some associations and organizations of the school to cooperate with us for promotion

Front-end use case diagram

4.PSP

PSP Personal Software Process Stages estimated time actual time
Planning plan 20 10
· Estimate · Estimate how much time the task will take 20 10
Development develop 400 320
· Analysis · Requirements analysis (including learning new technologies) 220 150
· Design Spec · Generate design documentation 60 60
· Design Review · Design review (review design documents with colleagues) 20 20
· Coding Standard Code Specifications (to develop appropriate specifications for current development) 30 30
· Design · Specific design 180 130
· Coding · Specific code --- ---
· Code Review · Code review --- ---
· Test · Testing (self-testing, modifying code, committing changes) 60 30
Reporting Report 115 130
· Test Report · testing report 90 120
· Size Measurement · Computational workload 5 5
· Postmortem & Process Improvement Plan · Summarize after the fact and propose a process improvement plan 20 5
total   610 520

5. Prototyping


There are many front-end interfaces, so only part of the interface is displayed here.

6.结对过程

首先是阅读<<构建之法>>到第八章,充分了解到了软件开发的开发模式,开发流程和团队合作的流程,以及需求分析和NABCD模型

然后我们对项目进行深入地探讨进行需求分析,甚至已经进行了逻辑模式的设计

接着我们分析项目需要的技术点,根据团队的技术能力情况,综合整个项目来进行架构分析

然后是利用NABCD模型进行分析,PSP分析和原型设计

我们的结对照

7.心得感想

刘博良:以前做项目大多数是个人开发,一个人做需求,做设计,架构,开发,测试,部署等。当然也有过团队开发和组队编程的经验,但却没试过结对合作。这次结对合作,算是感觉良好,两个人相互配合,1+1 > 2 的效果还是很明显的。在做需求分析的时候,遇到挺多难题,大家各有想法,不过最终我们慢慢磨合好,把想法合为一致,进度也越来越快,效率越来越高。这个项目是我提出的一个项目,算是我的一个想法,所以我对这个项目是比较有感觉的,所以整个流程算是我作为一个主导的作用,不过子龙也算是给我了很多建议,有个好队友还是很不错的,我们结对时候互相配合,做架构的时候也是一起探讨,原型设计的时候相互弥补,整体进行的算是比较顺利。

杨子龙: 一直没怎么做过团队项目,借此机会跟博良进行结对合作,感觉收获良多,从中遇到了很多以前没遇到的困难,不过在我们的坚持下也是能把它们一一解决,从需求分析到项目架构,再到原型设计,我们两个一起思考,一起分析研究,从中不断地有新的灵感迸发,这种感觉是极其愉快的。总之从中能学到更多如何与人合作,如何进行团队协作,如何让1+1>2。

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324870358&siteId=291194637