Requirements Analysis and Prototyping

Prototype of the Carzy Online English Learning Platform

1. Paired members

Liu Boliang 2015034643042

Yang Zilong 2015034643030

2. Demand analysis

Requirement Analysis Using the NABCD Model

3 Prototyping Tools

photoshop

2.1 N (Need, demand)

2.1.1 Background description and requirement introduction

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. Pairing process

I have benefited a lot from the book The Law of Construction. From this book, I learned about the development model of software development for the first time, which opened the door to my understanding of software engineering. Then learn the development process and teamwork process,

As well as the concept of requirements analysis and the concept of the NABCD model. After in-depth discussion with Bo Liang, we made a demand analysis that satisfied us. Of course, the most important part is what we need to analyze the project.

Provide technical support and build the overall framework of the project.

Our knot comparison

7. Feelings

Liu Boliang: In the past, most of the projects were personal development, and one person did the requirements, design, architecture, development, testing, deployment, etc. Of course, I have experience in team development and team programming, but I haven't tried pairing. This pairing cooperation is considered a good feeling. The two people cooperate with each other, and the effect of 1+1 > 2 is still very obvious. When doing demand analysis, we encountered a lot of problems, and everyone had their own ideas, but in the end, we slowly ran in and unified the ideas. The progress was getting faster and the efficiency was getting higher and higher. This project is a project I proposed, it is an idea of ​​mine, so I have a feeling for this project, so the whole process is regarded as my leading role, but Zilong also gave me a lot of suggestions, there is a Good teammates are still very good. We cooperated with each other when we paired up, discussed together when we were doing architecture, and made up for each other when prototyping. The overall progress was relatively smooth.

Yang Zilong:  I have always been working on projects by myself. I took this opportunity to hold Boliang's thighs and cooperate in pairs. I felt that my knowledge has been sublimated, I have learned a lot of professional knowledge, and I have overcome many difficulties that have not been encountered before, which has improved both of us. friendship. From requirement analysis to project structure to prototype design, the two of us think together like brothers, analyze and research together, and constantly have new inspirations. In short, I can learn more about how to cooperate with people and how to work in a team, which has laid a foundation for me to enter the enterprise in the future, which is very valuable.

Guess you like

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