|
|
|
@ -17,38 +17,94 @@
|
|
|
|
|
| 102201121 | 邵子瑞 | https://www.learnerhub.net/#/resources/3196 | 前端开发以及后端代码优化 |
|
|
|
|
|
| 102201112 | 李文杰 | | 后端开发 |
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
##1.2 描述结对的过程**(1分)
|
|
|
|
|
|
|
|
|
|
##1.2 描述结对的过程(1分)
|
|
|
|
|
我和李文杰平时就会一起讨论代码,因此我们会一起组队
|
|
|
|
|
##1.3 非摆拍的两人在讨论设计或结对编程过程的照片**(2分)
|
|
|
|
|
|
|
|
|
|
##1.3 非摆拍的两人在讨论设计或结对编程过程的照片(2分)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 二、原型设计(16分)
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
**2.1 原型工具的选择**(2分)
|
|
|
|
|
##2.1 原型工具的选择(2分)
|
|
|
|
|
|
|
|
|
|
(在此处说明选择了什么原型设计工具?为什么选择这一款原型软件?)
|
|
|
|
|
选择了mockplus这一工具,首先是因为mockplus是国内的原型设计工具,因此自带的UI有很多国内的元素,例如Harmony UI以及Wechat UI,其次,此原型设计工具可以实现多人同时对一个画板进行设计,方便了结对编程双人的合作
|
|
|
|
|
|
|
|
|
|
**2.2 遇到的困难与解决办法**(3分)
|
|
|
|
|
##2.2 遇到的困难与解决办法(3分)
|
|
|
|
|
|
|
|
|
|
(原型设计过程中的困难描述、解决尝试、是否解决、有何收获)
|
|
|
|
|
刚开始时对如何实现交互还不是很了解,经过查阅资料之后了解到需要内置连接,最后成功解决如何实现交互的问题
|
|
|
|
|
|
|
|
|
|
**2.3 原型作品链接**(5分)
|
|
|
|
|
|
|
|
|
|
(静态原型作品得2分,交互性强的原型作品得5分)
|
|
|
|
|
##2.3 原型作品链接(5分)
|
|
|
|
|
|
|
|
|
|
**2.4 原型界面图片展示**(6分)
|
|
|
|
|
https://rp.mockplus.cn/run/OQHkOev8AU/6FZZmdkDN?cps=expand&rps=expand&nav=1&ha=0&la=0&fc=0&out=1&rt=1&as=true
|
|
|
|
|
|
|
|
|
|
(尽可能**图文并茂**地在此处介绍你们队伍设计的各功能模块,创新点也在此处展示说明)
|
|
|
|
|
```
|
|
|
|
|
##2.4 原型界面图片展示(6分)
|
|
|
|
|
|
|
|
|
|
## 三、编程实现(14分)
|
|
|
|
|
###2.4.1登录界面
|
|
|
|
|
登录界面:设计一个专为教师服务的点名系统,需要登录教师自己的账号
|
|
|
|
|
###2.4.2主界面名单导入按钮
|
|
|
|
|
名单导入按钮:设计一个按钮,让不同学科的老师选择不同的名单进行导入
|
|
|
|
|
###2.4.3点名按钮
|
|
|
|
|
点名按钮:设计一个按钮,让老师点击后可以进行随机点名,同时还要进行对名单是否导入的判断,若没有导入名单则弹窗显示没有名单
|
|
|
|
|
###2.4.4特殊模式按钮
|
|
|
|
|
特殊模式开启按钮:点击后可以开启特殊规则点名,例如周四加分到五十分
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
**3.1 开发工具库(如文件读取包等)的使用**(1分)
|
|
|
|
|
|
|
|
|
|
**3.2 代码组织与内部实现设计(类图)**(3分)
|
|
|
|
|
## 三、编程实现(14分)
|
|
|
|
|
|
|
|
|
|
##3.1 开发工具库(如文件读取包等)的使用**(1分)
|
|
|
|
|
###3.1.1后端
|
|
|
|
|
Flask: 轻量级的Web框架,用于构建RESTful API。
|
|
|
|
|
Flask-CORS: 处理跨域请求(如果前端与后端分开运行)。
|
|
|
|
|
requests: 用于处理HTTP请求。
|
|
|
|
|
###3.1.2前端
|
|
|
|
|
Fetch API: 用于发送HTTP请求。
|
|
|
|
|
###3.1.3数据库
|
|
|
|
|
SQLAlchemy: ORM工具,用于与数据库交互(如果需要持久化存储
|
|
|
|
|
##3.2 代码组织与内部实现设计(类图)(3分)
|
|
|
|
|
+-------------------+
|
|
|
|
|
| Student |
|
|
|
|
|
+-------------------+
|
|
|
|
|
| - id: str |
|
|
|
|
|
| - name: str |
|
|
|
|
|
| - isPresent: bool |
|
|
|
|
|
+-------------------+
|
|
|
|
|
| + mark_present() |
|
|
|
|
|
| + mark_absent() |
|
|
|
|
|
+-------------------+
|
|
|
|
|
|
|
|
|
|
+-------------------+
|
|
|
|
|
| Class |
|
|
|
|
|
+-------------------+
|
|
|
|
|
| - class_id: str |
|
|
|
|
|
| - class_name: str |
|
|
|
|
|
| - students: List[Student] |
|
|
|
|
|
+-------------------+
|
|
|
|
|
| + add_student(student: Student) |
|
|
|
|
|
| + remove_student(student: Student) |
|
|
|
|
|
| + get_student_list() |
|
|
|
|
|
+-------------------+
|
|
|
|
|
|
|
|
|
|
+-------------------+
|
|
|
|
|
| AttendanceRecord |
|
|
|
|
|
+-------------------+
|
|
|
|
|
| - date: str |
|
|
|
|
|
| - class: Class |
|
|
|
|
|
| - attendance_list: List[Student] |
|
|
|
|
|
+-------------------+
|
|
|
|
|
| + add_record(student: Student) |
|
|
|
|
|
| + get_attendance_summary() |
|
|
|
|
|
+-------------------+
|
|
|
|
|
|
|
|
|
|
+-------------------+
|
|
|
|
|
| API |
|
|
|
|
|
+-------------------+
|
|
|
|
|
| + add_student(data: dict) |
|
|
|
|
|
| + get_students() |
|
|
|
|
|
| + take_attendance(data: dict) |
|
|
|
|
|
| + get_attendance(date: str) |
|
|
|
|
|
+-------------------+
|
|
|
|
|
|
|
|
|
|
**3.3 说明算法的关键与关键实现部分流程图**(2分)
|
|
|
|
|
|
|
|
|
|