软工实践——GitCode团队实战总结

流光悦影队 流光悦影队 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
这个作业属于哪个课程软件工程实践-2023学年-W班
这个作业要求在哪里软工实践——GitCode团队实战总结
这个作业的目标团队实战
其他参考文献...

目录

  • 一、项目地址
  • 二、功能设计与实现
  • 1. 思路描述
  • 1.1 框架使用
  • 1.2 数据库设计
  • 1.3 核心功能实现思路
  • 1.4 思考并解决
  • 1.4.1 用户如何快速知道有投票功能并参与投票?
  • 1.4.2 投票结果如何告知用户?
  • 1.4.3 如何保证一人一号?防止用户多次注册账号参与投票。
  • 2. 功能需求建模分析
  • 三、程序展示
  • 1. 程序运行环境
  • 1.1 部署环境
  • 1.2 实验运行环境
  • 2. GitCode 的提交日志截图
  • 3. 各组员的commit次数统计
  • 4. 程序运行截图及说明
  • (1)用户模块
  • 1)用户登录界面
  • 2)用户注册界面
  • (2)投票模块
  • 1)投票界面
  • 2)进行投票
  • (3)排名模块
  • 排名界面
  • 四、合作分工
  • 1. 组员职责分工
  • 2. 合作中遇到的困难及解决方法
  • 2.1 和队友交接的不顺利
  • 2.2 任务完成效率低
  • 3. PSP表格
  • 五、附加功能实现
  • 5.1 附加功能一
  • 5.2 附加功能二
  • 5.3 附加功能三

一、项目地址

仓库地址
项目部署地址

二、功能设计与实现

1. 思路描述

1.1 框架使用

前端:React,TailWind CSS,antd,Less,React Route,Vite
后端:Springboot,MySql,Redis

1.2 数据库设计

img

img

img

img

img

1.3 核心功能实现思路

投票功能:使用Redis缓存机制和异步写入来应对在一定程度上高并发的请求

img

1.4 思考并解决

1.4.1 用户如何快速知道有投票功能并参与投票?

投票功能在首页的中心位置,用户访问域名即可第一时间看到并发现投票功能。

1.4.2 投票结果如何告知用户?

弹出一个通知框通知用户投票结果,并且用户可以在下方的排行表中可以查看投票结果。

1.4.3 如何保证一人一号?防止用户多次注册账号参与投票。

用户要使用邮箱进行账号的注册。

2. 功能需求建模分析

N-需求
开发一个世锦赛投票平台,为广大体育迷和游泳爱好者提供一个在线体育投票平台,能给喜欢的运动员投票并能实时查看运动员投票数排名。
A-做法
前台界面:设计响应式网页,提升用户体验。
数据安全:加强数据加密,采用HTTPS协议传输数据,确保用户信息和投票数据安全。
B-好处
提升用户体验:简化操作流程,促进用户活跃度。
保证公平性:使用邮箱注册,一定程度上防止刷票。
C-竞争
安全性优势:强化的数据保护措施为用户信息筑起坚固防线,增强用户信任。
用户体验优化:持续迭代产品,确保操作简便、响应迅速,超越竞争对手。
D-推广
利用QQ、微信等社交平台增加曝光度。

三、程序展示

1. 程序运行环境

1.1 部署环境

  1. 负载均衡服务器
    服务器商:阿里云
    地域:新加坡
    配置:20Mbps, 2 vCPU, 1 GB Memory, Nginx
  2. 主服务器
    服务器商:阿里云
    地域:杭州
    配置:100Mbps, 2 vCPU, 4 GB Memory
  3. 静态资源服务器
    服务器商:Vercel
    地域:中国香港
    配置: 0.6 vCPU, 1 GB Memory

1.2 实验运行环境

操作系统: Windows 11 企业版 23H2
浏览器环境: Chrome 124.0.0.1
CPU: i7 11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz

2. GitCode 的提交日志截图

img

img

3. 各组员的commit次数统计

学号commit次数
22210042331
22210041410
2221004163
2221004153
2221004064
2221001130
2221001300
2221004280

4. 程序运行截图及说明

(1)用户模块

1)用户登录界面

(用户登录后可进行投票操作)

img

2)用户注册界面

(用户填写基本信息进行注册)

img

(2)投票模块

1)投票界面

(左上角显示目前剩余的投票数,用户可从运动员右侧对应文本框进行投票)

img

2)进行投票

(点击投票按钮后进行投票,显示投票成功)

img

(3)排名模块

排名界面

(显示运动员目前票数并进行排序)

img

四、合作分工

1. 组员职责分工

学号工作内容贡献度
222100414前端实现23%
222100416协助前端实现13%
222100428博客编写11%
222100113收集数据3%
222100415测试13%
222100423数据库设计,后端实现22%
222100130收集数据3%
222100406数据源获取,协助登录注册功能实现12%

2. 合作中遇到的困难及解决方法

2.1 和队友交接的不顺利

完善接口文档,当面交流,确认具体实现。

2.2 任务完成效率低

加强沟通,提高学习效率。

3. PSP表格

222100423

PSPPersonal Software Process Stages预估耗时(分钟)实际耗时(分钟)
• Estimate• 估计这个任务需要多少时间2020
• Analysis• 需求分析2020
• Design Spec• 生成设计文档1010
• Design• 具体设计1020
• Coding• 具体编码600600
• Code Review• 代码复审3030
• Test• 测试3030
• Repor• 写报告6050
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划3030
合计810810
222100416
PSPPersonal Software Process Stages预估耗时(分钟)实际耗时(分钟)
• Estimate• 估计这个任务需要多少时间3020
• Analysis• 需求分析2020
• Design Spec• 生成设计文档1010
• Design• 具体设计2020
• Coding• 具体编码600630
• Code Review• 代码复审3030
• Test• 测试3030
• Repor• 写报告6050
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划3030
合计830840
222100415
PSPPersonal Software Process Stages预估耗时(分钟)实际耗时(分钟)
• Estimate• 估计这个任务需要多少时间6020
• Analysis• 需求分析2020
• Design Spec• 生成设计文档1010
• Design• 具体设计1020
• Coding• 具体编码200150
• Code Review• 代码复审2020
• Test• 测试90100
• Repor• 写报告3030
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划1020
合计450390
222100414
PSPPersonal Software Process Stages预估耗时(分钟)实际耗时(分钟)
• Estimate• 估计这个任务需要多少时间105
• Analysis• 需求分析1010
• Design Spec• 生成设计文档1010
• Design• 具体设计2020
• Coding• 具体编码500600
• Code Review• 代码复审3030
• Test• 测试3030
• Repor• 写报告3050
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划3030
合计670785
222100428
PSPPersonal Software Process Stages预估耗时(分钟)实际耗时(分钟)
• Estimate• 估计这个任务需要多少时间1520
• Analysis• 需求分析2020
• Design Spec• 生成设计文档1010
• Design• 具体设计1020
• Coding• 具体编码100100
• Code Review• 代码复审3030
• Test• 测试3030
• Repor• 写报告8080
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划3030
合计325340
222100406
PSPPersonal Software Process Stages预估耗时(分钟)实际耗时(分钟)
• Estimate• 估计这个任务需要多少时间2020
• Analysis• 需求分析1020
• Design Spec• 生成设计文档1010
• Design• 具体设计1020
• Coding• 具体编码600660
• Code Review• 代码复审3030
• Test• 测试3030
• Repor• 写报告3020
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划3030
合计770840
222100130
PSPPersonal Software Process Stages预估耗时(分钟)实际耗时(分钟)
• Estimate• 估计这个任务需要多少时间1010
• Analysis• 需求分析1010
• Design Spec• 生成设计文档1010
• Design• 具体设计1010
• Coding• 具体编码10060
• Code Review• 代码复审2020
• Test• 测试2020
• Repor• 写报告2020
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划2020
合计220180
222100113
PSPPersonal Software Process Stages预估耗时(分钟)实际耗时(分钟)
• Estimate• 估计这个任务需要多少时间1010
• Analysis• 需求分析1010
• Design Spec• 生成设计文档1010
• Design• 具体设计1010
• Coding• 具体编码10050
• Code Review• 代码复审2020
• Test• 测试2020
• Repor• 写报告3020
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划2020
合计230170

五、附加功能实现

5.1 附加功能一

使用策略模式,进行了功能实现。

5.2 附加功能二

后端提供了接口,实现了部分功能。

5.3 附加功能三

由于设备限制,单台机器无法生成百万级别的并发用户,以及注册需要验证,不能实现模拟百万级别用户同时投票。
先设置好HTTP信息头管理器与HTTP请求默认值,
再写用户登录与进行投票的HTTP请求
再设置好查看结果树与聚合报告
设置好线程数与循环次数后进行测试
具体结果如下,其中用户登录的异常一般为连接超时,同时该用户登录的进行的投票也会异常以及用户可投票数不足时。

img

...全文

相关推荐

gitcode工作区

节点版本 v12.17.0 跑 yarn start:api yarn start:webapp

菊次郎的回南天

软件开发GitCode从零开始:新手入门、核心配置与实战操作全流程指南

内容概要:本文详细介绍了GitCode的使用方法,从新手入门到实战操作,涵盖了GitCode平台的全面指南。首先解释了GitCode是什么,它是CSDN与华为联合打造的开源开发者平台,旨在为开发者提供高效、安全的云端开发环境。接着阐述了前期准备工作,包括注册GitCode账号和安装Git。核心配置部分重点讲解了SSH密钥的生成与上传、本地全局配置等步骤,确保本地与GitCode平台之间的安全连接。实战操作部分详细描述了如何在GitCode上创建项目、克隆项目到本地、关联本地工程与远程仓库、上传与更新文件以及拉取远程代码。最后,针对常见问题如推送冲突、权限不足和密钥配置错误提供了详细的解决方案。 适合人群:适合初学者和有一定编程基础的开发者,特别是那些希望深入了解GitCode平台功能并掌握其使用技巧的人群。 使用场景及目标:①帮助开发者快速上手GitCode平台,掌握从注册账号到项目管理的全流程;②提高开发者的团队协作能力和代码管理效率;③通过参与开源项目,促进技术交流与成长。 阅读建议:本文内容详尽,适合逐步学习和实践。建议读者在阅读过程中结合实际操作,特别是在安装Git、生成SSH密钥、创建和管理项目等环节,通过动手实践加深理解。同时,遇到问题时可以参考文中的常见问题解决部分,确保学习过程顺利。

大雨淅淅

Git本地工程同步GitCode[项目代码]

本文详细介绍了如何使用Git将本地工程上传至GitCode仓库以及从GitCode下载工程到本地的完整流程。内容包括准备工作(安装Git、配置Git、创建GitCode账户)、上传本地工程到GitCode(创建远程仓库、初始化本地仓库、关联远程仓库、推送代码)、从GitCode下载工程(克隆远程仓库、拉取最新代码)、常用Git命令(查看状态、提交历史、撤销更改、分支管理)以及总结。通过本文,读者可以掌握Git的基本操作,轻松管理代码并与团队协作。

coffee

GitCode使用教程[项目代码]

本文详细介绍了如何使用GitCode进行代码托管,包括从安装git工具、生成SSH密钥、配置SSH密钥、新建项目、克隆项目到本地、关联本地工程到远程仓库、添加文件、提交文件等一系列操作。此外,还提供了一些实用的小技巧,如如何在README.md中显示图片和换行,以及常用的git命令。文章适合初学者快速上手GitCode,同时也为有经验的开发者提供了便捷的操作指南。

peace

【团队协作与代码管理】基于GitCode权限管理的精细化开发管控配置:提升协作效率与安全性了文档的核心内容

内容概要:本文档《团队协作避坑指南:用GitCode权限管理|10分钟配置精细化开发管控》主要介绍了如何利用GitCode进行权限管理,以实现团队协作中的高效、安全和精细化管控。首先,文档解释了GitCode权限管理的核心概念,包括不同级别的权限(如组织级、项目级、仓库级和分支级)及其作用范围和典型角色。接着,文档详细描述了10分钟快速配置权限的具体步骤,从创建组织到设置权限模板,再到创建项目组与成员。随后,文档深入探讨了精细权限控制方案,涵盖分支保护规则配置、文件级代码拥有者(CODEOWNERS)以及合并请求(MR)审批规则等内容。最后,文档提出了企业级管控策略,包括敏感操作限制、合规性审计方案和定期权限审查流程,并分享了某50人团队采用此方案后的显著成效,如权限配置时间减少85%,越权操作事故下降92%,代码审核效率提升60%。 适合人群:适用于有一定GitCode使用基础的技术负责人、项目经理和开发工程师等团队成员。 使用场景及目标:①帮助团队快速搭建和配置权限管理体系;②确保代码库的安全性和稳定性;③提高团队协作效率,降低越权操作风险;④为新入职员工提供标准化的权限配置流程。 阅读建议:本指南不仅提供了详细的配置步骤,还强调了权限管理的最佳实践和持续优化建议。读者在学习过程中应结合实际应用场景,灵活应用所学内容,并定期审查和调整权限设置,以适应团队发展的需要。

LCG元
评论 1
收藏 已收藏
分享
返回顶部