[I.2] 个人作业:软件案例分析

项目 内容
这个作业属于哪个课程 2025年春季软件工程(罗杰、任健) (北京航空航天大学 - 计算机学院)
这个作业的要求在哪里 [I.2] 个人作业:软件案例分析
我在这个课程的目标是 掌握更多技术,在实践中提升自身能力
这个作业在哪个具体方面帮助我实现目标 了解其他软件的优势和不足的地方,对自己团队项目的开发有所帮助

一、选题

由于代码托管平台在学习中能经常用到,尤其是自己使用可以大大提高效率,把一版对的代码传上去,在本地可以放心地进行修改。在最开始接触git时,上手很慢,琢磨了很久,才能大概掌握,最近也新了解到svn,也接触到了一个国内的代码托管平台:coding,同时支持git和svn,所以选择这个选题。

  • 选题类别:代码仓库管理系统
  • 选定软件:coding、github、gitee、gitlab

二、调研、测评

2.1 软件测评

2.1.1 简单介绍

Coding是国内知名的码托管平台,主要服务于开发者及企业团队,提供从代码管理到软件交付的全流程工具支持。可以简单地理解为国内版“GitHub”+“GitLab”的替代方案,符合中国开发者需求。

2.1.2 软件使用

总流程和github使用方法类似,下面是使用过程中的图片。

创建项目
创建项目图片

在项目中创建代码仓库
创建代码图片

将代码克隆到本地
将代码克隆到本地

在仓库里面加上以前的作业
在仓库里面加上以前的作业

上传
三条指令
git add .
git commit -m "信息"
git push

支持云原生开发
支持云原生开发

工作台界面
工作台界面

项目界面
项目界面

代码界面
代码界面

点进侧边栏AI界面
AI界面

2.1.3 软件分析

一、基本流程介绍

Coding 的代码托管核心操作流程如下(以 Git 为例):

1. 注册与创建项目
  • 注册账号:打开 Coding.net 官网注册账号,通过邮箱验证激活。
  • 新建项目:登录后点击右上角"+"号,填写项目名称和描述,选择仓库类型。
2. 配置本地环境
  • 安装 Git:在电脑上安装 Git 客户端。
  • 设置用户信息:在 Git 中输入命令配置用户名和邮箱(示例命令:git config --global user.name "你的名字")。
  • 绑定安全连接:生成 SSH 密钥并添加到 Coding 账户(防止代码被窃取)。
3. 代码操作流程
  • 下载代码:用 git clone [仓库地址] 命令将代码复制到本地电脑。
  • 修改与保存
    • 本地修改代码后,用 git add . 标记要保存的改动。
    • git commit -m "修改说明" 记录修改内容。
  • 上传代码:用 git push origin master 将本地代码推送到 Coding 仓库。
  • 团队协作
    • 创建新分支开发功能,完成后发起合并请求。
    • 其他成员可在网页上查看修改内容并讨论。
4. 自动化部署(CI/CD)
  • 配置流程:在 Coding 后台设置自动化任务(如自动测试、打包)。
  • 触发条件:代码上传后自动运行,支持部署到腾讯云服务器。
二、是否能够解决用户的需求
1. 满足的需求
  • 基础代码管理
    • 免费创建私有仓库,且不限数量,保护个人和小团队代码隐私。
  • 团队协作
    • 提供任务分配、文档协作、代码讨论功能,适合学生小组作业或小公司项目。
  • 自动化任务
    • 自动测试和部署代码,减少手动操作,适合需要快速更新的项目。
  • 教学与开源
    • 免费版支持课堂项目练习,公开仓库可用于展示作品。
2. 不足之处
  • 容量限制
    • 免费版单个仓库超过 1GB 需付费扩容,自动化任务每月超 300 分钟需升级套餐。
  • 开源支持弱
    • 开源项目数量少,社区不活跃,难以吸引外部贡献者。
  • 学习成本
    • 自动化流程配置复杂,新手需要看教程才能上手。
3. 总结
  • 推荐使用:适合学生、个人开发者和小团队,尤其是用腾讯云服务的项目。
  • 不推荐场景:超大型项目、需要活跃开源社区支持的工作。
    局限性:
三、软件在数据量/界面/功能/准确度/用户体验上各有什么优缺点?
维度 优点 缺点
数据量 - 免费版可创建 1000 个项目
- 每个代码库默认 1GB 空间
- 超10GB代码库需额外付费
- 免费版自动化任务每月限 300 分钟
界面 - 全中文界面,操作简单直观
- 任务看板清晰,方便团队协作
- 手机端功能少
- 自动化配置步骤复杂,新手难上手
功能 - 整合代码管理、自动化测试和部署功能
- 支持网页写代码、两步验证
- 高级功能要高价购买
- 代码检查工具不够精准
准确度 - 自动化流程稳定,报错提示明确
- 代码同步无冲突
- 代码格式检查常有误报
- 部分教程过时,和实际功能不符
用户体验 - 客服响应快,有中文答疑群
- 帮助文档丰富,带图例和视频
- 开源项目少,讨论氛围不足
- 只有中文界面,国外访问速度慢

优势总结:
Coding 作为国内领先的代码托管平台,凭借腾讯云生态支持、低门槛的自动化工具链和本土化体验,特别适合以下场景:

  • 依赖腾讯云服务的国内企业
  • 中小型团队寻求低成本、一体化的代码托管与项目管理解决方案。

缺点总结:

  • 国际化能力不足,开源社区活跃度低,不适合跨国协作或开源项目运营。

  • 高阶功能价格偏高,对个人开发者或小微团队不够友好。

2.1.4 改进意见

一、降低使用门槛
  • 免费版增加更多实用功能
    • 给学生和小团队更多自动化任务时长。
    • 允许免费版创建更大的代码仓库,可以扩充到5GB。
  • 简化操作教程
    • 为新手提供“一键配置”功能,自动生成常用设置。
二、加强学习和协作功能
  • 增加教学模板
    • 提供“课堂作业模板”“毕业设计模板”,预置团队分工、文档格式等设置。
  • 优化团队协作工具
    • 在任务看板中直接关联代码修改,方便追溯问题来源。
    • 支持多人同时编辑文档,类似腾讯文档,这个也是很多小组都会选择的选题。
三、提升用户体验
  • 手机端功能升级
    • 支持手机查看代码改动、评论和简单修改。
  • 错误提示更友好
    • 用通俗语言解释自动化任务失败原因,例如“代码第 20 行少了一个括号”。
四、鼓励开源和分享
  • 建立学生作品展示区
    • 优秀课程设计/竞赛代码可被推荐展示,吸引更多人参与改进。
  • 增加学习交流版块
    • 允许用户发布技术问答或组队信息,类似校园论坛这种。
五、国际化和访问优化
  • 提供英文界面选项
    • 方便留学生或外文课程项目使用。
  • 优化国外访问速度
    • 增加海外服务器,避免留学生上传代码卡顿。

2.1.5 用户调研

首先调研了我的室友,也是王德庆和谭鑫老师班的gpf同学:

调研同学1

然后我又去问了一下大连理工大学的高中同学,也是学软件相关专业的,下面是部分记录:

发现大家普遍还是对coding这个代码托管平台不太熟悉,更为熟悉更大众化的github这种平台,意味着这个平台想要吸引更多的用户,还有更远的道路要前进。

2.1.6 测评结论

根据以上结论我们得出的测评结论:d) 好,不错

2.2 Bug分析和提交

2.2.1 测评环境

截止发稿时最新版官方网站:
https://g-ckzk4196.coding.net/user

2.2.2 Bug严重性定义

等级 系统功能影响 举例
⭐⭐⭐⭐⭐ 核心功能瘫痪 数据泄露/入侵风险
⭐⭐⭐⭐ 主要功能异常 权限漏洞
⭐⭐⭐ 辅助功能异常 信息暴露
⭐⭐ UI显示错误 低风险漏洞
文字错误 无风险

2.2.3 Bug1

当自己没有账号时,当想要注册coding账号时,跳转到注册界面,发现只能微信注册。这样想要注册多个账号的时候一般比较麻烦。

注册时界面

一般这么成熟的软件是不会出什么大bug的(笑)所以这个地方也可以算是一个可以改进的bug。

可复现性:稳定可复现。

复现描述:打开浏览器,进入coding官网,发现自己没有账号,就会去注册,然后就会发现这个问题。尤其是下次你想重新使用一个新帐号时,如果没有另外一个微信的话,发现根本没有办法。

bug分析

1、严重性:⭐⭐⭐ 辅助功能异常

2、可能成因:开发或者产品没有考虑到这个方面

3、建议:增加功能,可以允许邮箱注册,以提高用户体验。

2.2.4 Bug2

刚登录账号时,相关联的飞书会收到很多条信息,虽然这个只是辅助功能,但是会很影响使用体验,让使用者感觉乱糟糟的,界面如下:

图片1 图片2 图片3

可复现性:稳定可复现

复现描述:当用飞书账号登录coding,飞书会收到很多条信息。

bug分析

1、严重性:⭐⭐⭐ 辅助功能异常
2、可能成因:想要通知我们进行了什么操作,但是其实这些都是没有必要的功能,实现了反而会劝退用户,我觉得是没有做好需求分析的问题。
3、建议:简化一些比较少用的功能,可以借鉴github这种使用量比较高的平台,减少不必要的界面和功能,真正做到简洁,尽量大众化。

2.2.5 Bug反馈

官方提供的反馈渠道
官方提供的反馈渠道
已经向邮箱反馈

三、分析

3.1 工作量分析

假设团队有 6 人(含后端开发 3 人、前端开发 2 人、测试运维 1 人),并有专业 UI 设计师帮忙,开发类似 Coding 的代码管理平台大概需要:

功能模块 开发时间 说明
基础代码管理功能 2.5 个月 实现上传下载代码、多人协作修改、保存历史版本等功能。
任务管理工具 1.5 个月 做任务看板、需求清单、Bug 跟踪,类似小组作业分工表但能在线协作更新。
自动化流程 2 个月 让代码提交后自动测试错误、打包成软件并发布到服务器。
团队文档协作 1 个月 支持多人一起写文档、保存修改记录,类似腾讯文档但能和代码关联。
账号安全系统 1 个月 做注册登录、两步验证、权限管理。
界面美化与适配 1.5 个月 UI 设计师设计好看易用的界面,并让手机端能基本操作,比如查看代码和任务。
测试和上线 1 个月 全员找 Bug、优化速度,最后把系统放到云服务器上运行。

总时间估算:约 10 个月

3.2 当前优劣对比

1. 优劣对比与排名

Coding 的核心优势

  • 本土化体验:全中文界面、文档及客服支持,适合国内开发者使用习惯。
  • 一体化:集成代码托管、CI/CD、云部署,降低工具切换成本。
  • 腾讯云生态整合:与微信小程序开发、云函数等服务无缝衔接,适合腾讯云用户。

主要劣势

  • 开源生态薄弱:开源项目数量少,社区活跃度远低于 GitHub/Gitee。
  • 高阶功能限制:自定义构建节点、企业级审计等功能需高价订阅,免费版功能有限。
  • 国际化不足:缺乏多语言支持,海外访问速度较慢。

同类产品排名: 第 5-6 名,落后于 GitHub、GitLab等国际平台。在国内应该可以算是比较靠前的代码托管平台。

3.3 软件工程改进建议

现存问题

  • 多人协作时任务分配不直观,经常搞不清谁该做什么
  • 开源项目没人气,想展示课程设计作品也没人看

具体改进方案

  1. 增加「课程设计模板」功能

    • 预置常见作业模板,如 Web 开发、数据分析等,针对这些作业自动生成任务分工表和文档结构
    • 老师可以直接导入班级学生名单,一键分配小组任务
  2. 打造校园开发者社区

    • 开设「高校作品展」专区,优秀课程设计/竞赛代码会被推荐展示
    • 增加组队功能:学生可以发帖找队友,比如"急缺前端开发!大作业求组队!"
  3. 任务看板升级

    • 在任务卡片上直接关联相关代码文件,比如点击任务就能跳转到对应代码
    • 增加 Deadline 提醒功能,可以使用发邮件警告

预期效果

  • 学生用 Coding 做小组作业更方便,形成使用习惯
  • 积累大量学生项目案例,吸引更多高校用户,提升平台技术影响力。
  • 改善多项目管理体验,增强中小团队的协作效率。

四、建议和规划

4.1 市场现状

4.1.1 市场概况

代码托管平台的市场有多大?

  • 直接用户:含企业团队和学生全球开发者约8000万人,中国开发者占比约15%。
  • 潜在用户
    • 高校学生:每年新增计算机相关专业学生约100万人
    • 中小企业:中国中小企业超4000万家,60%需要代码管理工具
  • 增长驱动
    • 企业数字化转型需求,如搭建私有代码仓库
    • 高校编程课程普及,比如很多学生需要提交代码作业

4.1.2 竞争产品

平台名称 类型 核心功能 优势 劣势
GitHub 国际平台 代码托管+开源社区 用户基数大,生态完善 国内访问不稳定
GitLab 企业级 私有部署+CI/CD 定制化强,适合大企业 配置复杂,学习成本高
Gitee 国内平台 代码托管+国产化适配 符合国内政策,速度快 社区活跃度低
Coding 综合平台 代码托管+项目管理 集成DevOps工具链 文档不够详细

4.1.3 产品定位

平台 定位 优势 劣势
Coding 中小企业+教育市场 集成多个功能,性价比高 国际知名度低
GitHub 全球开源社区 海量开源项目,技术氛围浓厚 企业级功能收费高

4.2 市场与产品生态

4.2.1 核心用户画像

用户类型 典型场景 需求痛点
学生 提交编程作业、参加比赛 需要免费私有仓库、作业模板
创业团队 3-5人小团队开发App 需要协同开发和简单项目管理
企业 搭建内部代码仓库,管理多个项目 需要权限管理和数据安全

4.2.2 用户生态关系

  • 学生 → 教师:学生用Coding交作业,教师可以推荐给其他班级
  • 企业 → 高校:企业招聘时优先录用熟悉Coding的学生

4.2.3 产品生态

现有功能 可扩展方向 生态价值
代码托管 集成在线IDE 实现"写代码-托管-运行"闭环
项目管理 连接微信/钉钉通知 提升团队协作效率

4.3 产品规划

4.3.1 新功能设计:项目新人快速上手助手

这个新功能的目的是将项目文档、代码结构可视化,帮助团队成员快速理解项目。这个功能对学生和小团队来说很实用,也容易理解,技术实现上不需要复杂的AI,主要靠可视化工具和文档整合。

4.3.2 NABCD分析

维度 详细说明
N(需求)
开发者痛点
- 新成员加入项目时,需要很长时间理解代码结构
- 75%的开源项目缺乏规范的文档说明
典型案例
大学生参加实习,面对多个仓库不知从何入手
A(做法)
核心功能
- 自动生成项目地图
- 智能问答机器人
- 新人任务清单,如自动推荐首个PR任务
技术实现
- 代码目录分析生成架构图
- 基于文档/注释训练问答模型
B(好处)
• 新成员上手时间缩短50%
• 项目维护成本降低
• 降低开源项目参与门槛
C(竞争)
• GitHub:仅有基础的CODEOWNERS功能
• Notion:文档与代码分离
竞争力:代码与知识库深度整合
D(推广)
• 在高校开展相关计划,签订协议等等
• 与企业合作制定《新人入职指引》标准

4.3.3 团队分工

角色 人数 核心任务 例子
前端开发 1人 架构图可视化 画代码目录树
后端开发 2人 代码分析引擎 解析项目结构
算法工程 1人 问答机器人训练 微调模型
UI设计师 1人 交互界面设计 设计新手引导动效
测试+运维 1人 保障系统稳定 模拟多人同时使用

4.3.4 任务详细规划

周数 阶段 具体任务 交付成果
1-2周 需求验证 采访10个开发团队
收集20个典型项目案例
需求文档
3-4周 技术选型 选择可视化库
确定代码解析方案
技术架构图
5-6周 核心功能 开发代码目录分析器
生成基础架构图
可解析Java项目
7-8周 问答模块 搭建FAQ知识库
训练基础问答模型
能回答10类问题
9-10周 界面开发 制作新手引导页面
开发任务推荐模块
交互原型演示版
11-12周 内部测试 邀请5个校园团队试用
收集反馈
bug清单+优化建议
13-14周 体验升级 增加多语言支持
优化可视化效果
支持Python项目
15周 压力测试 模拟企业级项目导入
优化加载速度
测试报告
16周 发布运营 制作教学漫画
举办校园推广活动
上线公告+用户手册
posted @ 2025-03-15 22:29  22373177石通  阅读(37)  评论(0)    收藏  举报