[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界面
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同学:
然后我又去问了一下大连理工大学的高中同学,也是学软件相关专业的,下面是部分记录:



发现大家普遍还是对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
刚登录账号时,相关联的飞书会收到很多条信息,虽然这个只是辅助功能,但是会很影响使用体验,让使用者感觉乱糟糟的,界面如下:



可复现性:稳定可复现
复现描述:当用飞书账号登录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 软件工程改进建议
现存问题:
- 多人协作时任务分配不直观,经常搞不清谁该做什么
- 开源项目没人气,想展示课程设计作品也没人看
具体改进方案:
-
增加「课程设计模板」功能:
- 预置常见作业模板,如 Web 开发、数据分析等,针对这些作业自动生成任务分工表和文档结构
- 老师可以直接导入班级学生名单,一键分配小组任务
-
打造校园开发者社区:
- 开设「高校作品展」专区,优秀课程设计/竞赛代码会被推荐展示
- 增加组队功能:学生可以发帖找队友,比如"急缺前端开发!大作业求组队!"
-
任务看板升级:
- 在任务卡片上直接关联相关代码文件,比如点击任务就能跳转到对应代码
- 增加 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周 | 发布运营 | 制作教学漫画 举办校园推广活动 |
上线公告+用户手册 |