202206-WGYG 实验九 团队作业6:团队项目编码
项目 | 内容 |
---|---|
课程班级博客链接 | 班级博客 |
这个作业要求 | 作业要求 |
团队名称 | WGYG |
团队成员分工概述 | 魏瑾川: 使用Bootstrap,JQuery进行背包知识社区前端设计 郭清华:使用Django进行背包知识社区后端设计,编制《软件设计说明书1.2》 姚恪:对前后端页面进行测试实现代码对接,并完成博客 古丽妮尕尔:对整体代码进行测试,查找bug |
团队的课程学习目标 | 掌握软件编码实现的工程要求。 |
这个作业在哪些方面帮助团队实现学习目标 | 1.了解了软件编码实现的工程要求 2.掌握了软件开发过程 |
团队博客链接 | 博客链接 |
团队项目Github仓库地址链接 | 仓库链接 |
任务一:完善《实验八 项目需求分析建模与系统设计(2)》的项目系统设计说明书,进一步细化分析系统设计模型,精化类的属性和操作,详细定义类中服务参数和具体实现逻辑,调整类的层次关系和关联关系,定义软件数据库表结构等。并编制《XXX软件设计说明书1.2》发布在团队项目Github仓库。
根据要求进行修改
-
细化系统设计模型
- 本小组的背包知识社区总共分为七个模块,分别为用户模块,问答模块,文章模块,资源模块,私信模块,消息通知模块,全局检索模块
- 用户模块:注册,登录和个人信息修改
- 问答模块:发表问题,点赞/评论功能,回答问题
- 文章模块:发表/编辑文章,评论文章和点赞文章
- 资源模块:上传数据集/代码和上传文献
- 私信模块:发送私信和接受私信
- 消息通知模块:点赞通知和评论通知
- 全局检索模块:搜索用户,搜索文章和搜索问答
-
详细定义类中服务参数和具体实现逻辑,调整类的层次关系和关联关系
-
Model类
-
From类
-
Views类
-
login逻辑
-
register逻辑
-
logout逻辑
-
个人中心逻辑
-
index的逻辑
-
article的逻辑
-
article_list逻辑
-
article_add
-
article_edit逻辑
-
article_delete逻辑
-
resource_list逻辑
-
paper_list逻辑
-
resource_add逻辑
-
-
-
定义软件数据库结构
1.用户表
字段名 | 类型 | 描述 |
---|---|---|
id | bigint | 主键 |
account | varchar(32) | 账号 |
password | varchar(50) | 密码 |
varchar(50) | 邮箱 | |
phone | varchar(20) | 手机号 |
avator | varchar(100) | 头像 |
introduction | varchar(200) | 简介 |
created_at | date | 创建时间 |
update_at | date | 更新时间 |
2.文章表
字段名 | 类型 | 描述 |
---|---|---|
id | bigint | 主键 |
title | varchar(50) | 标题 |
content | longtext | 内容 |
image | varchar(100) | 文章图片 |
user | bigint | 创建者id |
edited | Boolean | 是否可编辑 |
tags | varchar(30) | 标签 |
created_at | date | 创建时间 |
update_at | date | 更新时间 |
3.评论表
字段名 | 类型 | 描述 |
---|---|---|
id | bigint | 主键 |
user | bigint | 用户 |
content | text | 内容 |
liked | bignit | 点赞用户 |
created_at | date | 创建时间 |
update_at | date | 更新时间 |
4.问题表
字段名 | 类型 | 描述 |
---|---|---|
id | bigint | 主键 |
user | bigint | 提问用户 |
title | varchar(50) | 标题 |
content | text | 内容 |
has_anser | Boolean | 是否有被采纳 |
tags | varchar(30) | 标签 |
created_at | date | 创建时间 |
update_at | date | 更新时间 |
5.回答表
字段名 | 类型 | 描述 |
---|---|---|
id | bigint | 主键 |
user | bigint | 回答用户 |
question | bignit | 回答问题 |
content | text | 内容 |
is_anser | Boolean | 回答是否被接受 |
created_at | date | 创建时间 |
update_at | date | 更新时间 |
6.私信表
字段名 | 类型 | 描述 |
---|---|---|
id | bigint | 主键 |
sender | bigint | 发送者 |
receiver | bignit | 接受者 |
message | text | 内容 |
created_at | date | 创建时间 |
update_at | date | 更新时间 |
7.通知表
字段名 | 类型 | 描述 |
---|---|---|
id | bigint | 主键 |
actor | bigint | 触发者 |
receiver | bignit | 接收者 |
verb | varchar(50) | 通知类别 |
created_at | date | 创建时间 |
update_at | date | 更新时间 |
8.资源表
字段名 | 类型 | 描述 |
---|---|---|
id | bigint | 主键 |
url | varchar(200) | 触发者 |
type | varchar(2) | 资源类别(0:代码,1:数据集,2:文献) |
created_at | date | 创建时间 |
update_at | date | 更新时间 |
9.模型图展示
软件设计说明书上传到Github
软件设计说明书
任务二:团队软件项目编码准备
搭建并配置软件开发环境
-
后端准备
-
后端编码准备
-
配置环境
-
后端环境完成
-
-
前端准备
-
前端编码准备
-
前端环境完成
-
团队商议制定团队项目编码规范
-
团队商议项目编码规范
-
项目编码规范
项目编码规范上传至Github
任务3:以团队作业的前期成果为基础,采用团队协作方式编写软件代码,创建程序开发软件关联数据库,进行必要代码测试
GitHub源码构程截图
进行代码测试
-
测试目标
- 主要为功能测试,对注册、登录、社区、资源、文章管理、个人中心等功能进行测试,对本系统的功能、界面等进行全面的测试。对系统的可靠性和安全性等进行测试评估,也就是发现bug的过程。
-
测试环境
- 操作系统:windows 11家庭版
- 硬件配置:Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz 2.59 GHz 16.0 GB RAM
- 网络环境:西北师范大学校园网
- 软件环境:Python 3.10,Django 4.0.3,
-
测试过程
-
注册
-
登录
-
主页
-
文章详情
-
评论功能
-
代码资源
-
文献资源
-
资源下载
-
资源上传
-
用户中心
-
个人管理
-
新增文章
-
编辑文章
-
后台管理
-
文章管理
-
评论管理
-
用户管理
-
资源管理
-
文章内容审核
-
-
测试文档
- 上传测试文档
代码签入仓库情况统计
项目上传至Github
任务4:实验总结
记录完成实验各项任务实际花费的时间和分工
- 花费的时间
任务内容 | 预计花费时间 | 实际花费时间 |
---|---|---|
任务一 | 100min | 120min |
任务二 | 120min | 110min |
任务三 | 500min | 520min |
完成博客 | 120min | 150min |
合计时间 | 840min | 900min |
- 任务分工
姓名 | 分工 |
---|---|
魏瑾川 | 使用Bootstrap,JQuery进行背包知识社区前端设计 |
郭清华 | 使用Django进行背包知识社区后端设计,编制《软件设计说明书1.2》 |
姚恪 | 对前后端页面进行测试实现代码对接,并完成博客 |
古丽妮尕尔 | 对整体代码进行测试,查找bug |
每位成员结合任务分工总结本次实验心得,最后由项目组长进行总结陈述
-
成员结合任务总结
- 魏瑾川:这次我们的合作很愉快,从一开始的不熟悉到后来的很默契,每个团队成员都很努力,很荣幸是这次的项目负责人,在这次的合作学习项目开发的过程中使我得到了很多的锻炼,明白了一个项目的上线不仅仅是编程敲代码这么简单,从一开的立项项目需求分析等等到最后的开发测试,每一部分都很重要,缺一不可,原来以为编程是最重要的,现在来看编程反而是水到渠成的事情,总之这次的项目开发很有成效,每个人都学到了很多。
- 郭清华:通过此次实验,学习到了软件开发的重要流程的一部分,软件开发。本次实验中承担后台逻辑设计及界面设计,让我更多的学会了后台逻辑设计,更加学会了前端美观设计。团队之间的合作更加顺利,分工合作,任务明确,工作效率提高了很多。也更加理解了软件工程前期工作的重要性,学会了更多软件工程的知识。
- 姚恪:通过此次的项目小组合作,我收获了很多,包括知识上的充实和协作完成方面的经验。学习画图,整理项目的整体思路和流程图,深入了解了软件工程的进行规范。通过此次协作,我对于原本并不怎么在意的前期工作有了不同的看法,前期的每一步都是在为后期的编码、编程做准备。项目进行到后期大家合作也越来越默契,项目的完成离不开每一位成员的辛勤付出,我在遇到困难时成员们也会耐心指导我,这一点体会颇深。
- 古丽妮尕尔:通过此次的小组合作,收获了很多,学习了process on的使用,第一次接触燃尽图,更重要的是熟悉了整个软件开发的流程。本次合作中我主要负责前端界面设计及系统的测试,学到了怎样一步一步的测试,改善,设计。团队间的默契度也越来越高,分工明确,工作效率直线式提升。总之通过这次设计让我深刻的意识到了团队合作与软件工程的重要性。
-
组长总结
重要的事情说三遍
super川:通过撰写本次实验团队作业,我们每个人与其他成员的交流与沟通,首先我非常开心的是我们小组整体来说合作氛围非常良好,每个人都能各尽其责,在遇到问题时自主发言,都可以按时完成自己的任务,同时也能够帮助其他同学,共同进步,共同学习;其次,就像我们小组其他成员说的,在此次实验中,由于前期设计不够完善,我们在此次实验中出现了很多的问题,这点是需要我们小组每位成员在以后的软件开发中注意的。同时通过本次团队作业,我在各方面也有了非常大的成长和进步,这的确是一次非常系统,非常全面的软件开发过程,使我们每一个都受益匪浅,且体会到了团队协作的重要性及从中得到的乐趣!
super川:通过撰写本次实验团队作业,我们每个人与其他成员的交流与沟通,首先我非常开心的是我们小组整体来说合作氛围非常良好,每个人都能各尽其责,在遇到问题时自主发言,都可以按时完成自己的任务,同时也能够帮助其他同学,共同进步,共同学习;其次,就像我们小组其他成员说的,在此次实验中,由于前期设计不够完善,我们在此次实验中出现了很多的问题,这点是需要我们小组每位成员在以后的软件开发中注意的。同时通过本次团队作业,我在各方面也有了非常大的成长和进步,这的确是一次非常系统,非常全面的软件开发过程,使我们每一个都受益匪浅,且体会到了团队协作的重要性及从中得到的乐趣!
super川:通过撰写本次实验团队作业,我们每个人与其他成员的交流与沟通,首先我非常开心的是我们小组整体来说合作氛围非常良好,每个人都能各尽其责,在遇到问题时自主发言,都可以按时完成自己的任务,同时也能够帮助其他同学,共同进步,共同学习;其次,就像我们小组其他成员说的,在此次实验中,由于前期设计不够完善,我们在此次实验中出现了很多的问题,这点是需要我们小组每位成员在以后的软件开发中注意的。同时通过本次团队作业,我在各方面也有了非常大的成长和进步,这的确是一次非常系统,非常全面的软件开发过程,使我们每一个都受益匪浅,且体会到了团队协作的重要性及从中得到的乐趣!