移动互联网开发技术
一、任务与要求
-
任务描述:开发一个班费日常使用记录的APP,记账员记录班费的收支情况,每笔支出需要包含日期、金额、购买的实物照片、购物小票(如果有)、实物的验收人。班级成员可以查看和查询班费的开支情况,可以在1周内(讨论期)对当笔开支提出质疑,班委成员回复质疑,所有质疑和应答全员可见。班级成员半数以上确认且所有质疑经发起人确认可以close的记录,可以标记为已确认状态,之后任何人无权再修改。超过讨论期未close的质疑自动close。
-
鼓励扩展的功能:记录归档、多班级支持。
-
前后端分离,鼓励使用区块链、跨端开发、云平台等新技术。
二、评分和验收标准
1.评分标准
课程考察环节、分值、评价细则与课程目标的对应关系
考察环节 | 评价标准 | 权重分值/100 | ||||
---|---|---|---|---|---|---|
优秀(90-100) | 良好(80-89) | 中等 (70-79) | 及格 (60-69) | 不及格 (<60) | ||
方案 架构 | UI逻辑合理。 数据存储方案合理。 前端和后端的架构和逻辑合理。 后端有访问控制和角色控制和相关逻辑。 | UI逻辑合理。 数据存储方案合理。 前端和后端的架构和逻辑合理。 后端缺少访问控制和角色划分。但业务逻辑或控制逻辑有明显不合理的地方。 | UI逻辑合理。 数据存储方案合理。 后端提供了简单的访问接口,但缺少访问控制。 | UI逻辑合理。 数据存储方案合理。 后端提供了部分访问接口。 | UI逻辑一般。 数据没有远端控制。 | 20 |
使用工具 | 能够在实机和虚拟机上操作演示。 有版本控制。 使用开发工具和技术链配合较好。 | 仅能在虚拟机上演示。 有版本控制。 使用了集成开发工具,但各工具配合紧密度一般。 | 能在虚拟机上演示。 有版本控制。 使用了单一工具。 | 能在虚拟机上演示。 无版本控制。 使用了单一工具。 | 无法在虚拟机上演示。 | 20 |
方法创新 | 系统设计有独到见解或设计有较大创新,对课题有较深刻的分析和研究。 | 系统设计有所创新,对课题有较正确的分析和研究。 | 系统设计正确,论证严密,但见解不多。 | 系统设计基本正确,论证基本清楚,但缺乏见解。 | 系统设计不对,内容空泛,结构混乱。 | 20 |
文档质量 | 内容准确、完整,文字流畅,排版优美,设计方案内容详实充分。结合核心源代码说明方案的实现。 | 内容比较准确、完整,文字比较流畅,排版比较优美,设计方案内容准确。 有源代码说明但对核心代码的把握有偏差。 | 内容完整,无大的语法错误,有设计方案内容。 有源代码的copy但缺少说明。 | 内容残缺不全,但基本能看懂,有一定的设计方案内容。 源代码缺少说明。 | 逻辑混乱,无设计方案内容。 无法对代码给出说明。 | 20 |
软件质量 | 系统有一定的工作量,系统界面优美,软件功能完整,源程序代码规范、清晰、整洁,有较高的质量,无明显bug | 系统界面友好,源程序代码规范,软件质量较好,bug较少 | 系统界面一般,源程序代码规范,软件质量一般,bug较多 | 系统界面一般,软件质量一般,bug较多,功能基本实现 | 软件设计能力差界面一般,软件质量较差,bug较多,功能没有实现 | 20 |
三、报告内容
1 概述
1.1任务分解
系统分为三个功能角色:记账员、班委成员、班级成员,其主要职能如下:
1.记账员主要对日常的开支进行记录
2.班委成员主要对班级成员提出的质疑进行回复说明
3.班级成员主要对记账员记录的开支进行质疑,以及对班委成员的回复进行通过
1.2开发工具和工具的配合
使用的主要开发工具有IntelliJ IDEA2021(后端spring boot项目开发),Android Studio(前端app开发),Mysql(数据库),Navicat for Mysql,夜神模拟器,华为nova7手机(真机安装运行),腾讯云轻量服务器(后端云部署)
2 总体设计
2.1设计模式
后端spring boot项目采用MVC设计模式如下图:
2.2Android核心组件
Recylerview、Glide(图片加载)、activity、fragment、Okthhp(实现客户端与服务器端通信)
3 详细设计
3.1spring boot属性配置
配置应用端口88,配置腾讯云服务器远端数据库及其密码,以及图片上传云端位置
server.port=88 spring.thymeleaf.cache=false spring.datasource.name=spell-group-datasource