张鹏 | 软件代码开发技术作业五 | 代码开发、测试及发布
作业五:代码开发、测试及发布
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/2021Softwarecodedevelopmenttechnology |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/gdgy/2021Softwarecodedevelopmenttechnology/homework/12043 |
| 这个作业的目标 | 学会代码开发、测试及发布,熟悉系统开发流程 |
代码开发
开发过程
| 日期 | 开发事项 |
|---|---|
| 2021/04/28 | 使用 Django 新建项目工程,规定系统结构,包括增加插件功能等 |
| 2021/04/29 | 上传需求开发文档、需求规格说明书 |
| 2021/04/30 | 完善系统框架,增加 i18n 支持 |
为系统增加统一工具类,使用 Github API 进行更新检查 |
|
| 2021/05/01 | 统一管理系统的错误代码输出 |
| 2021/05/22 | 使用 SQLite 作为数据库,创建用户表、管理员表、时间表、服务表 |
增加 Django 内置 SuperUser,用于测试与管理 Web 端功能 |
|
| 2021/05/23 | 改用攥写 dev.log 文件,用于记录更新开发日志,避免 Github commits 中出现大量无意义的提交 |
增加网页功能中的 注册、登录 功能的路由,同时增加对应的网页 |
|
使用 Static 文件用于存放静态文件,包括网页模板、CSS文件、JS文件以及图片资源 |
|
| 2021/05/26 | 更新登录以及注册网页的样式,提交注册信息时同时提交 CSRF Token,确保用户数据安全 |
| 2021/05/27 | 更新路由表,迁移注册、注销页面至登录路由的二级地址 |
| 2021/05/31 | 迁移开发进度至 branch:dev,关闭 branch:main 中的所有开发文件,Main 中仅保存 README 以及 MIT 授权声明 |
| 2021/06/01 | 接管 Django 中的日志输出,让插件工作可以正确输出状态信息 |
| 2021/06/04 | 提供存储自由职业者解决方案模块支援 |
很抱歉到现在依旧没有完成一个完整的系统,由于个人技术能力不足,到目前能实行的功能只有登录、注册,以及销号功能。
不得不说即使 Django 框架已经很方便地可以部署一个耦合度极高的前后端系统了,从零开始开发一个系统对我来说依旧是痛苦的。
但是在这个过程中我依旧学到了很多,遇到很多开发中不能理解的问题也可以通过阅读官方文档解决大部分需求,或者到 Stack Overflow 中提问,或查阅别人的提问以及解决方法。
项目燃尽图

项目更新记录(代码/文档签入记录)
签入应当指的是 Github Commits,还是 Github Issue?

测试
测试过程出现的 Bug
| Bugs Type | Count |
|---|---|
| 修复的 Bug | 5 |
| 不能重现的 Bug | - |
| 这个产品就是这样设计的,不是 Bug | 1 |
| 没有能力修复,将来也不打算修复 | 1 |
| 这个 Bug 应当推迟到下一个版本 | 2 |
场景测试
-
预期不同的用户会怎样使用你的软件?
- 对于服务器管理员,应当以 PYPI 直接安装,做到开箱使用。
- 对于普通用户,访问 WEB 端即可。
-
他们有什么需求和目标?
- 简单开箱使用。
- 清晰易用的用户图形界面。
- 确保信息安全。
-
软件提供的功能怎么组合起来满足他们的需要?
- 使用模板功能,为用户提供清晰的导航。
- 多分辨率适配。
- 每次关键操作都需要提交 csrf_token,确保数据安全。
- 获取 SSL 证书,让服务器支持 HTTPS。
你们在什么样的平台、硬件配置、浏览器类型等条件上对你们的软件进行测试?
-
Platform
- Operating System
- Windows 10 OS Version 2009 (Build 19043.985)
- Ubuntu 20.04 LTS base on WSL2
- Python Versions
- Python 3.8
- Python 3.9
- Django v3.2.3
- MySQL v8.0.25
- Operating System
-
Hardware
- Processor: Intel(R) Core(TM) i5-8400 CPU @ 2.8.0GHz 2.81 GHz
- Installed RAM: 16.0 GB
- System type: 64-bit operating system
-
Browser
- Google Chrome: 91.0.4472.77 (Official Build) (64-bit) (cohort: Stable)
- Microsoft Edge: 91.0.864.41 (Official build) (64-bit)
你的软件在什么条件下,就可以认定其已经足够好,可以发布Alpha版本?
- 能实现软件需求规格说明书上要求的所有功能
Alpha 版本发布
现在功能极度残缺( ̄︶ ̄)↗
软件发布
Github Repo:https://github.com/DioPong/ServiceRentalSystem
发布说明
-
功能支持
- 账号注册
- 用户登录
- 用户注销
- 用户销号
- 日志输出以及备份
-
以原有项目为基础开发的,这一版本修复的缺陷
- Not for now
-
运行环境需求
- Any operating system
- Python >= 3.6
- Django 3.0.2
- MySQL v8.0.25
- Installed RAM >= 512MB
-
安装方法
# Clone Github repo. git clone https://github.com/DioPong/ServiceRentalSystem.git SRS # cd srs folder. cd SRS # Install requirements with visual environment. python -m venv .venv source ./venv/bin/activate.sh python install -r requirements.txt # Create Database in MySQL, named it `srs`. # Migrate data to MySQL cd ./srs/SRS/ python manage.py migrate python manage.py makemirgration # Run server cd .. python manager.py [-args|-args] # or run django project directly cd ./srs/SRS python manage.py runserver
系统已知的问题和限制
- 用户使用手机号作为用户表主键,用户修改手机号将比较复杂
- 使用
Github API来检测 Github Releases 有请求数量限制
项目发布方式以及发布地址
Github Repo © DioPong 2021 MIT License
运行截图
-
注册页面

-
后台页面,查看用户

-
控制台端

版权声明
虽然我这个系统写的稀烂,但是该有的仪式感还是要的 <( ̄︶ ̄)↗[GO!]
本软件系统使用 MIT License 授权,您可以获取本系统做出任意修改,我不对您的二次创作负任何法律责任。
快夸我(不是

浙公网安备 33010602011771号