课程信息
项目 | 内容 |
---|---|
这个作业属于哪个课程 | 2025年春季软件工程(罗杰、任健) |
这个作业的要求在哪里 | [I.2]个人作业:软件案例分析 |
我在这个课程的目标是 | 将软件工程的规则内化于心,并落实于开发 |
这个作业在哪个具体方面帮助我实现目标 | 通过分析代码管理软件,学习更多软件工程的知识 |
代码仓库管理系统分析——GitCode
第一部分 调研与评测
1. 软件评测
基本功能与使用流程
GitCode是华为云与csdn联合开发的代码托管平台,支持Git版本控制,提供仓库管理、Issue跟踪、CI/CD集成等功能。其使用流程为:
- 注册/登录
- 创建仓库
- 代码提交与分支管理
- 协作开发
-
部署与自动化(内置CI/CD流水线)
其中gitcode.yaml文件内容如下
name: gitcode-sample on: push: branches: [ "main" ] pull_request: branches: [ "main" ] jobs: build: runs-on: euleros-2.10.1 steps: - uses: checkout-action@0.0.1 - name: Use Node.js uses: setup-node@0.0.1 with: node-version: '20.10.0' - run: cd repo_workspace && npm ci - run: cd repo_workspace && npm run build --if-present - run: cd repo_workspace && npm test
选择django模板即创建流水线任务
软件需求满足情况分析
优点
-
与git相关的功能上十分完善
-
有创意性的角色权限区分,从更实际的角度区分角色,相比于github的读取,写入,管理,拥有四个权限来说,降低了使用的门槛
-
有行业动态,推荐关注等板块,对于专业开发者来说更方便了解行业动态等信息。
中国大学生需求:
- 本地化优势:国内服务器访问速度快,无需加速,中文界面友好,符合国内法规,无诱导性内容。
- 教育场景适配:支持课堂作业提交、方便小组协作,支持AI使用,有直达比赛的链接。
- 在线代码编辑功能:对于代码初学者来说,可以在此方便的编辑代码并得到运行结果。
不足:
- 核心功能:CI/CD配置灵活度低于GitHub Actions,无客户端,无vscode等软件直接支持打开的功能。
- 社区生态:第三方插件和开源项目较少,账号支持的其他平台授权较少。
- 功能清晰度较低:集成了较多与核心功能无关的零散功能,如在线编辑代码,赛事入口,资讯中心等
- AI的针对性差:ai不能对社区中的内容进行询问,而是简单粗暴的部署了deepseek模型,很割裂。
用户体验与界面
-
优点1:门槛较低,操作逻辑清晰(如仓库创建步骤仅需3步),中文文档齐全。
-
优点2:开发了gitcode小程序,可以在手机上查看项目相关的信息,但功能稚嫩
-
缺点1:界面不够简洁美观优雅,如热门精选项目中,对于项目的文字展示过少,以至于很难了解到项目相关的内容,行数太少。行业动态等似乎更应该有图片方便展示。
-
缺点2:深色/浅色模式的统一性比较差,一些额外开的新页面,如ai页面,赛事页面,帮助文档页面等,其深浅色不能与主题保持一致,或无法设置深色/浅色等
改进建议
- 提升教育功能(如作业查重、代码相似度检测、LLM使用监测)。
- 优化移动端体验,支持基础协作操作,提供clone等指令,将咨询等内容移到移动端,能更好的提升体验。
2. 用户调研
采访对象
- 背景:某高校软工专业大三学生,参与过团队项目开发。
- 需求:稳定易用的代码托管工具,支持小组协作和作业提交。
使用场景
- 主要功能:代码仓库管理、Pull Request协作、CI/CD部署。
• 问题与亮点:
- 问题:CI/CD模板太少;Issue标签自定义功能较弱。
- 亮点:Gitee账号互通、仓库导入速度快。
改进建议
- 提供代码模板库(如常见算法、课程项目框架)。
- 简化CI/CD配置流程,增加向导模式。
评测结论
- 评分:d) 好,不错
- 定量评价(满分5星):
维度 | 评分 | 理由 |
---|---|---|
界面 | ★★★ | 界面不够美观,有bug等 |
功能覆盖 | ★★★★ | 基础功能齐全,高级功能待完善 |
性能 | ★★★★★ | 国内访问延迟低 |
第二部分 分析
1.bug分析
Bug1:退出登陆后,页面无任何相关变化,个人信息仍原样显示
-
环境:Windows10系统 + Microsoft Edge版本 134.0.3124.72 (正式版本) (64 位)
-
可复现性:必然发生
-
bug描述:退出登陆后,个人信息仍原样显示
-
可能成因:前端路由问题,未能在退出登陆后进行相关的路由操作,导引到主页面或未能调用数据更新函数隐藏个人信息(本人曾进行过前端开发, 有完全一致的情况)
-
bug严重性:四星,退出登陆后不应有任何账号的痕迹,属于功能性bug,更为严重的是泄露了用户的个人隐私等关键信息,但用户可通过关闭页面解决,因此不至于到五星
-
未能修复原因:前端开发者对路由的不熟悉,测试人员的测试能力较差,对于用户个人隐私不够重视。
-
bug改进建议:导引回主页面即可
-
bug反馈:如图,已向GitCode官方社区反馈
-
Bug2:打开项目帮助文档时,深浅色无法与主页面保持一致
- 环境:Windows10系统 + Microsoft Edge版本 134.0.3124.72 (正式版本) (64 位)
- 可复现性:必然发生
- bug描述:打开项目帮助文档时,深浅色无法与主页面保持一致,第一张图片现实了已经将偏好设置为深色,而第二张打开帮助文档后仍为浅色
- 可能成因:前端未能将深浅色设置保存到localStorage
- bug严重性:二星,无功能性问题,只涉及到界面的美观,用户可自行调节
- 未能修复原因:前端开发者对界面主题一致性不重视,忽略了夜间使用情况下可能会很刺眼等问题。
- bug改进建议:读取localStorage信息,使帮助文档页面主题与主页主题保持一致。
2. 工作量估算
- 团队配置:6人(2后端、2前端、1测试、1UI),16周开发周期。
- 关键模块耗时:
模块 | 耗时(周) | 说明 |
---|---|---|
核心版本控制 | 6 | 基于Git优化分布式存储逻辑 |
CI/CD系统 | 4 | 流水线配置与模板开发 |
协作功能 | 3 | PR审核、权限管理 |
教育适配功能 | 3 | 代码查重、作业提交模块 |
2. 软件质量分析
- 行业排名:国内市场中仅次于Gitee,全球范围属于第二梯队(落后于GitHub、GitLab)。 在目前接触到的项目中排名大致为第4
- 改进方向:重视代码中的测试环节,多进行自动化测试。
第三部分 建议与规划
1. 市场现状
- 市场规模:国内高校开发者约500万,潜在用户(师生)超2000万。
- 竞品分析:
平台 | 优势 | 劣势 |
---|---|---|
GitHub | 生态完善,功能强大 | 国内访问不稳定 |
Gitee | 企业级服务,大项目更流畅 | 开源项目较少 |
2. 产品定位
- 核心用户:高校学生、初创团队(需低成本协作工具)。
- 用户生态:通过学校合作构建“课程-项目-就业”闭环生态。
3. 新功能规划
- AI代码查重与优化:
- NABCD分析:
- Need:学生需避免作业抄袭,教师需高效查重工具和LLM使用检测工具。
- Approach:集成代码相似度算法(如Simian),提供重复率报告,提供LLM使用报告。
- Benefit:节省教师时间,提升代码质量。
- Competition:GitHub无内置查重功能。
- Delivery:与高校合作推广教育版订阅。
4. 团队与计划
- 角色分配:
周次 | 任务 | 负责人 |
---|---|---|
1-4 | 核心版本控制模块开发 | 后端 |
5-8 | CI/CD系统与AI查重原型设计 | 前端+测试 |
9-12 | 协作功能优化与移动端适配 | 全团队 |
13-16 | 测试、教育合作推广 | 测试+UI |
总结:GitCode在国内市场中具备显著本地化优势,需增加适应教育系统的内容。