评论

哈理软微实验室预约开发经验分享

哈理软微实验室预约开发经验分享

哈理软微实验室预约开发经验分享

基于我们学校的当前的实践教学管理系统是基于B/S架构,前端未做响应式布局。在手机高度普及的今天,实验老师在排课时只能通过Web页面,在手机上进行Web页面操作,适应性很不好,且排课过程繁琐,因此实验教师们常常先把课程安排写在排课记录本上,再统一上传。

初期,我们团队只是为了实现学院实验教学的排课业务需求,而设计了本小程序,小程序实现后,得到了老师的一致好评,小程序开发周期短,功能开发时迭代灵活,部署简单。随着实验室预约小程序的使用与完善。项目组又有了新的业务需求目前,考勤业务需求已完成初期功能的实现,已经试运行,后续还会有更多功能上的完善。

这就是我们设计这款小程序的初衷。

1.项目简介

本小程序用于哈尔滨理工大学软件与微电子学院实验室预约服务,第一阶段是为了充分利用本学院的实验室资源,方便老师和同学们管理和查看实验课程,致力于为同学和老师们提供一个关于实验室信息的平台。

第一阶段产品上线后,该小程序基本上满足了本学院实践教学老师对于实验课的排课需求。老师们在使用后,反馈小程序,方便,快捷。针对老师们新的需求,分析并设计了签到功能,项目进入第二阶段。当前,已实现了签到功能,接下来会在定位,与数据分析上进行完善。方便老师对学生进行实验考勤,评定分数。

这就是我们小程序迭代的过程。

2.开发过程

首先我们对整个流程进行了详细的划分和分析,以下是大致的分析情况。

第一阶段

1. 需求分析:

解决教师对于实验课排课问题,由软微学院11名实验老师对进行课程预约。预约课程的因素包括课程名称,上课班级,上课时间,任课教师以及任课地点。

2. 操作规则:

a. 教师登录后才可预约课程。
b. 教师在指定选定教室后,在指定日期点击预约该教室,该时间段的实验课,并在点击加号后的界面根据提示输入课程名,上课班级。
c. 教师可以对并且只能对自己预约的课程进行删除,如果需要修改课程信息,则需要将课程删除后重新预约。
d. 教师预约只能点击空白区域,已经有课的区域只能查看,不能进行预约。
e. 教师退出后即恢复游客身份。
f. 游客身份可对所有已经预约的课程进行查看,但无法进行任何预约修改等操作。

3. 功能迭代:

在使用了一段时间后,我们对预约功能做了升级。在教师预约课程后可点击我的预约来查看已经预约了的课程信息

4. 遗留问题:

教师预约课程时如对班级的命名不规范,会对于课程的相关信息可能会产生歧义。

第二阶段:

1. 需求:

在满足了教师排课的功能,以及游客的浏览后,进一步希望解决学生的考勤问题。因此又新增了学生的签到和登陆等功能,并规范了之前的遗留问题。

2. 操作规则:

A. 教师可以对自己预约的课程开始签到,并让学生在倒计时结束之前登录签到
B. 学生签到前需登录
C. 一个微信号只能签到一次,如使用不同学号签到则会覆盖之前操作。

3. 数据库:

数据库较上一阶段基本没有变化。

第三阶段

将会继续优化前几阶段的用户体验,并重新架构后台,在取得校方进一步支持后,将本小程序的业务扩展到全校范围内,并扩展功能,更好服务教师和学生。

开发经验:

——划重点!!!——
本部分主要分享的是项目设计开发的经验。由于本团队成员都是学生开发者,所以下面就是我们作为学生角度在开发过程中遇到的问题,和学到的一些经验。

1 计划并记录:

开发是一项周期性的工作,很多的idea会在项目立项时出现,但是作为一名合格的大学生记忆力是真的大不如前了。

图1:头脑风暴过境现场(画面过于优美emm。。。
遇到这种情况记忆力一般来说不到7秒,所以即时记录整理的意义相当的重要。具体来说,文档至少应该有需求文档,产品设计文档,与接口文档。文档的作用一来是能帮助团队保持开发的一致性,第二是防止成员甩锅(bug发生了快速的定位是谁的错误才能快速的解决问题)。

2 UI设计:

在我们团队所有的成员均是软件工程的学生,根本没人会设计软件的UI界面也没有艺术细胞,所以借鉴是一项相当重要的过程。我们常使用的是Behance网站,在这个网站上的设计师大佬有很多,设计全部都相当的高大上,我们可以从中参考基础的界面设计布局,界面功能分布,调色等相关的方法。其中有一些附带GitHub项目,我们参考模仿。

图2 BeHance App
其次,我们应该去参考同类产品的设计。例如在我们开始设计我们参考了同类的比较经典的app——“超级课程表”。通过他人的成功设计方案与自身的需求设计相结合,创造出自己的设计方案。

图3 超级课程表的界面

图4 实现(这就是成品截图啦,大佬们快来强势围观(~ ̄▽ ̄)~

总而言之,编程嘛最重要的是快乐,ui最重要的是看的顺自己眼,不能过自己这一关的程序无法称之为及格。

3来自害羞的后台小哥的心得分享:

参加了微信小程序大赛后,看到推出了微信小程序的云开发解决方案,所以抱着试一试的心态使用了云开发,下面写一下我使用云开发时的一些心得。

  • ① 首先云开发确实比较方便,它屏蔽掉了对于服务器搭建的一些细节,使得用户仅仅需要考虑业务逻辑然后进行编码,极大的提高了项目上线效率。
  • ② 使用了非关系型数据库,可能对于单表查询和数据的处理能够提高效率,但对一直使用非关系型数据库的我来说不是特别习惯,在调用数据库api的时候遇到了很多坑,在微信社区里也看到了类似的问题,有的时候不得不改变数据存储方式来满足业务,希望云开发能越来越完善,为开发者提供更多的便利。
  • ③ 云开发的收费问题,随着我们项目的逐步迭代和更新,基础版本已经不能满足业务需求,但上调资源只能邮件申请,而且期限有限,没有看到可以购买的入口。

————————分割线o()o——————————
ヽ( ̄▽ ̄)و本次的分享就到这里,欢迎大家来访交流鸭!

最后一次编辑于  2019-06-19  
点赞 1
收藏
评论
登录 后发表内容