课程信息

项目 内容
这个作业属于哪个课程 2025年春季软件工程(罗杰、任健)
这个作业的要求在哪里 [I.2]个人作业:软件案例分析
我在这个课程的目标是 将软件工程的规则内化于心,并落实于开发
这个作业在哪个具体方面帮助我实现目标 通过分析代码管理软件,学习更多软件工程的知识

代码仓库管理系统分析——GitCode


第一部分 调研与评测

1. 软件评测

基本功能与使用流程

GitCode是华为云与csdn联合开发的代码托管平台,支持Git版本控制,提供仓库管理、Issue跟踪、CI/CD集成等功能。其使用流程为:

  1. 注册/登录

  1. 创建仓库

  1. 代码提交与分支管理

  1. 协作开发

  1. 部署与自动化(内置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页面,赛事页面,帮助文档页面等,其深浅色不能与主题保持一致,或无法设置深色/浅色等

改进建议

  1. 提升教育功能(如作业查重、代码相似度检测、LLM使用监测)。
  2. 优化移动端体验,支持基础协作操作,提供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在国内市场中具备显著本地化优势,需增加适应教育系统的内容。