效果 Influence

学院每学期会对学生进行“综合测评”。测评规则最早较为简单,可以通过网上常用的电子表单服务实现,但随着测评规则和配套表格的复杂化,其他班级不得不回到填写 Word 表格后手工统计的模式。本系统集成了测评表格和计算规则,设计用于班级内的测评表格收集、自动统计,直接导出要求的测评结果表格,并支持多班级分别使用。

系统在班内(29 人)已使用两个学期,应实际使用需求,在使用过程中增加了测评项目、单次填写多学期的支持。此外系统也为其他 1 个班级提供过服务。使用过的班长均反馈效果良好。

The school has a term evaluation for every student. Previously the evaluation rules are so simple that it is easy to digitalize the procedure with popular web-based form services. However, as the rules become complex, other classes have returned to the regular "fill forms in paper, and do manual aggregation in Excel" workflow. This system has implemented the complex evaluation form and calculation rules, and is designed to collect evaluation data and aggregate automatically class-wide, with output of required evaluation result forms. The system also supports use among classes.

The system has been used in my class (29 people) for two terms, and added multi-term input support afterwards. It has also served another one class. The students in charge of the evaluation in different classes spoke highly of the system.

技术概况 Technical Overview

系统初版开发时间为 50 小时左右,利用 PHP 的 Laravel 框架进行构建,数据库采用 SQLite 的轻量方案。

系统内采用学生、评测项目内容、管理用户三个模型,其中学生对应的进度设计了未填写、正在填写、已填写、已审核四个状态。评测项目内容设有学期、类别、内容、获奖情况、测评分等固定栏位。导出的表单格式为系统内置(采用 PHPOffice 的模板引擎生成),管理用户可通过后台自助导出。

测评规则包括了对单一类型项目条数、总分的限制,部分项目需支持以班级为单位进行统一填写,成绩等项目需支持统一导入、学生自助提交修改成绩分值等。系统均对这些情况进行了支持,其对象化设计非常便于后期对系统进行修改定制,本人在后期开发单次填写多学期支持时有深切体会。

The system uses PHP Laravel framework and SQLite as the database. It took about 50 hours to develop the initial version. (Actually at that time I was new to Laravel.)

In the system, there are three models: student, evaluation item content, and admin user. The students are with four status: unopened, filling, submitted, and approved. The evaluation item content has fields of term, type, content, prize, and points. The exported form file is generated by PHPOffice's template engine, which can be exported by admin users at the dashboard.

The system is built upon the specific complex evaluation rules. For example, type-based item count limit and total points limit, class-based evaluation items, pre-imported and self-modifiable items like GPA are supported. The object-oriented design in the system makes it easy to customize further, which is proved in the multi-term support development.

特点 Features

系统使用 Bootstrap 实现自适应界面,支持 PC 端、手机端访问,所有表格在手机端均会优化显示。

The system utilizes Bootstrap to have responsive views in both PC and mobile. In mobile all tables have a optimized view.

为简单起见,学生可以通过输入学号进入系统。为了防止恶意填写表单,同一学生只允许一个浏览器在线,且在提交表单前需检查测评总分。表单在未提交前,可多次登陆填写。学生提交表单后表单会锁定,不允许再通过前台查看表单,只能通过后台查看、解锁(返回给学生修改)。

For simplicity, students can log in with their student ID to fill the form. To prevent illegal filling, one student can only keep online in one browser session. Students can log in as many times as they want, and they need to check evaluation summary before submitting. After submitting, the form will be locked, which is unable to view in the "frontend". Admins can view and unlock the form (rejected for modification) in the dashboard.

测评项目详情界面,按标准网页表单进行设计,并根据测评规则深度定制,前端根据填写提示规则,后端按规则检查输入。考虑到可能有特殊情况,部分规则没有限制死,采用人工审核方式来保证。系统会根据代码中的规则自动计算出总分。

The evaluation detail interface complies with webform standards. The frontend shows evaluation rule hintings according to the input, and the backend will check the form according to the rules. There may be special circumstances though, so only some rules are enforced in the system, and other rules are enforced by manual moderation. The sum-up is automatically calcalated by rules in the code.

管理员可在后台查看、修改属于自己班级的表单,审核通过则进入导出范围,审核不通过管理员可自行修改,或通过系统外的方式自行通知学生进行重填。

Admin users can view and modify students' forms in his/her own class. If admin approves the form, the student will be exportable. If admin doubts the reported items, he can modify the specific items himself, or notify the student by means out of the system to fill the form again.

管理员可一键导出自动生成的 Excel 统计表。为满足学院的纸质处理流程,系统还支持导出 Word 详细表单。

Statistics in Excel spreadsheets can be exported. In order to meet school requirements for hard copies, the system also supports evaluation form export as Word.

Word 表单截图

 

Excel 表单截图

设想 Future

实际上这类需求根本上可以通过工作流引擎来解决。这也算是一个个人练手,解决实际问题、实现完整的信息管理系统的机会吧。

In my opinion this actually can be achieved by a workflow engine. I am glad to have this chance to solve a practical issue by building a information management system from scratch.

See in Real

Please contact me (comments are good) if you would like to see this in real. It may get offline at any time bacause of its low-frenquency usage, so the contact is necessary.

“学院综合测评系统 Student Evaluation System”的4个回复

    1. Admins can export generated Word form (to fit the school's procedure, which requires hard copy for archives) and Excel general spreadsheets.

      Forms can be generated as Word documents by administrators to meet the school requirements for hard copies. Statistics can also be exported as Excel spreadsheets.

    2. However 后面要加逗号。

      To prevent illegal filling, one student can only keep online in one browser, and they can check evaluation summary before submiting.

      主语什么鬼,一会 one student 一会 they。不如试试 Only one session per user (browser) is allowed to view the form. 也不如试试 Simultaneous form entries from different sessions for single user are strictly forbidden.

      submiting 应该是 submitting。

      https://www.zhihu.com/question/21163865/answer/58780397 被动语态那一段很有趣,可以读读看……

    3. 谢谢啦~英语功力还是不行,得靠打磨了。不过突然发现,中文表达本来就逻辑不顺,再翻译成英语简直是灾难。

发表评论

电子邮件地址不会被公开。 必填项已用*标注