软件工程-案例分析

软件工程-案例分析

Mashiroln
项目内容
这个作业属于哪个课程https://bbs.csdn.net/forums/buaa-ase2023
这个作业的要求在哪里https://bbs.csdn.net/topics/613598122
我在这个课程的目标是通过案例分析总结经验和教训,学习以现代软件工程的视角思考问题
这个作业在哪个具体方面帮助我实现目标运用《构建之法》所学的知识,对多款软件从用户、开发者、项目经理的不同角度分析

第一部分 调研,评测

1.0 概述

1.0.1 软件评测

我的评测主要从以下角度:

  1. 用户体验:前端界面设计、速度和稳定性等方面,从普通用户的角度出发评估其是否能够满足用户的需求。
  2. 功能特性:包括版本控制、协作开发、持续集成和部署等方面,从开发者的角度出发评估其功能是否完善、易用性如何以及是否满足特定的开发需求。
  3. 社区生态:包括用户数量、贡献者数量、开源项目数量、文档和教程等方面,评估社区活跃度、社区融入难度。

以Github为标杆,我评测了GitCode、GitLink、Gitee三个代码托管平台。

1.0.2 Bug分析和提交

主要关注和网站性能、用户体验相关的前端Bug。

严重性描述
1用户体验会受到略微影响,但用户的主要目标仍能完成
2小规模Bug,用户请求的主要目标功能无法提供,但可以通过其他办法提供服务(刷新、其他入口等)
3一般系统故障,用户请求的功能无法提供,且不可通过任何方法绕过,或对用户体验产生极大影响
4严重系统故障,一个或多个功能彻底不可用,用户非敏感信息可见
5致命漏洞,用户关键信息泄露、主要服务大面积失效或次要服务完全失效

1.1 GitCode

GitCode是CSDN于2020年推出的开源平台,基于GitLab搭建而成,支持权限管理、组织管理、分支管理、Merge Request、WebIDE等功能;采用Gitlab部署方案,支持多种方式部署;主要宣传点为源码级别的安全分析。

1.1.1 软件评测
使用

使用多个搜索引擎搜索GitCode,首个搜索项链接均为about.gitcode.net,即“行业资讯“界面。收费文章赫然出现在用户首次进入的界面,同时既无注册/登录入口,也无精品仓库推荐,给用户第一感觉不像代码托管平台。

image-20230303215040342

点击“首页”,此时出现注册/登录入口,搜索框、认证组织、精选项目、新秀项目等功能清晰明了,设计风格与”行业资讯“不像同一团队所为。但精选项目、新秀项目更新频率低,项目索引采用编程语言;从Star数也能看出用户规模不大。

注册后点击左上方”GitCode“橙色按钮进入工作台(对用户无提示;导航栏右侧头像的下拉框中也没有进入工作台的选项,这可能是进入工作台的唯一入口。)。导航栏选项、工作台板块简洁美观,对有一定代码仓库使用经验的开发者而言,能满足个人工作的大部分需求。但平台缺乏教程引导,很难想象入门开发者使用此平台会遇到怎样的困难。

image-20230303220221015

平台中英混杂、本地化但本地化不彻底的问题比较严重。如:不少提示信息,如web editor、合并请求等均为英文;项目成员权限均为英文;提交统计时间为英文;等等。这些算不上Bug的问题,可能是开发者基于GitLab搭建平台时不够细致。

image-20230305180641818

image-20230305180727836

注册后,我具体评测了以下功能:

  1. 代码仓库(项目)管理:

    • 新建项目过程轻量,但可配置选项过少。虽然提供了“从模板创建”(模板数量过少),可以一键生成项目结构,但模板只可选择不可配置;不管是空白项目还是模板,用户实际可自定义的只有“项目名称“,“项目标识串“,“可见性级别”等。项目创建后,对于README.md和LICENSE,有按钮方便添加;对于CI配置、.gitignore,则须手动新建文件、选择模板。在新建时能解决的问题留给用户手动处理,不算优秀的体验。
    • 提交与版本控制,体验与gitlab基本一致。
  2. 代码审查与合并:

    • “合并请求”功能等同Pull Request;新建合并请求操作简洁、选项基本齐全。

    • 代码审查:评论、批准、合并等功能支持完备。支持命令行提交时自动创建

      image-20230304134033331

      image-20230304105143851

      image-20230304105435567

      image-20230304105610452

  3. 在线编辑

    • web editor:基础的单文件文本编辑器;可以根据文件名识别类型并提供模板(LICENSE,.gitignore等);对.md文件支持markdown编辑器和预览。总体而言只适合临时编辑。

      image-20230304144249611

    • WebIDE:体验类似不装插件的vscode;支持代码高亮、代码提示但很弱;不支持方法跳转;有审阅、提交功能。同样只适合临时阅读与编辑。

      image-20230304144532200

GitCode的CI/CD(DevOps)还处于内测中,我没有体验。其配置文件是和.gitlab-ci.yml相同格式的.codechina-ci.yml。其CI方案支持构建图形/代码流水线,但图形流水线较复杂,作为刚接触CI的初学者很难使用。

总结

我对GitCode平台的推荐度为:c) 一般。

GitCode在界面、功能上都力求简洁,大部分功能都专注仓库管理和协作开发,广告较少,适合作为个人/小团队的工作站。但缺乏教程引导,教程均位于不起眼的使用文档中,不适合入门开发者首次使用代码托管平台;同时仓库、组织、issue的配置为降低上手难度而不够灵活,产生了矛盾。由于用户规模小、起步时间晚等原因,GitCode平台并没有做到“依托于3100万(2022.1)CSDN用户”,社区生态较弱、开源项目推荐数量质量均有不足,并未充分发挥潜力。同时对于“安全代码仓”等宣传在上手体验中无法感受,存在市场定位和产品功能的罅隙。

1.1.2 Bug分析和提交

Bug1: 【平板网页端工作台】竖屏下部分组件重叠

  • 测试环境:iPadOS16.2 Safari浏览器;Edge浏览器

  • 可复现性:必然发生

  • 严重程度:★

  • 复现步骤

    1. 使用平板电脑打开gitcode并登录;
    2. 点击左上角“Git Code“橙色Logo,进入工作台,在竖屏状态下发现”我的项目“column的空状态图叠在”动态“column之上。
  • 具体情况

    image-20230302173614910
  • Bug分析

    网页的确有做响应式。在电脑上“我的项目”和“动态”是column,在手机上则是row。但平板端不论Safari还是Edge都是column排列,说明响应条件没写好,或者空状态图尺寸没有限制。

    软件团队应该不知道这个Bug,Bug成因可能是测试把关不严。虽然用户确实很少在平板使用代码托管平台,但不意味不需要测试。

Bug2: 新项目首次添加LICENSE时,进入WebIDE而非web editor,没有LICENSE模板选择功能。

  • 测试环境:Window10 20H2;Chrome浏览器版本 110.0.5481.178

  • 可复现性:必然发生

  • 严重程度:★★

  • 复现步骤与具体情况

    1. 新建一个空白项目,初始化时不添加LICENSE、gitignore等配置,结果如下:

      image-20230302173627925
    2. 点击”添加LICENSE“按钮,进入WebIDE,可以发现创建了一个名称为“LICENSE”的空文件,没有模板可供选择。事实上不仅LICENSE,上述“添加自述文件”“添加更新日志”等都是直接打开WebIDE,而LICENSE引起的体验问题尤为突出。

      image-20230302173646024
  • Bug分析

    这时候有弹幕要问了:“GitCode平台也许就是希望你自己默写开源协议呢?WebIDE既然模拟IDE的体验,没有模板也是正常的吧!”(用户大概还是会从竞品平台上复制LICENSE,然后就回不来了!)

    事实上,GitCode是有做LICENSE模板功能的,这的确是一个bug而非feature。

    上述空文件直接保存,仓库如下:

    image-20230302173704345

    打开LICENSE文件并编辑,此时进入web editor

    image-20230302183432982

    神奇的是模板出现了!不仅如此,“添加自述文件”“添加更新日志”等也是以web editor打开了。

    WebIDE和web editor是两套子系统,已经做好的功能却使用了错误的打开方式,实在是一种遗憾。

    软件团队应该不知道这个Bug,Bug成因可能是开发团队没有考虑用户的各种行为,同时测试把关不严。

1.2 GitLink

1.2.1 软件评测

GitLink(确实开源)平台是基于Gitea开发、由中国计算机学会CCF官方指定的开源创新服务平台。平台完全开源,代码位于https://www.gitlink.org.cn/Gitlink/

GirLink平台支持协作开发、审查合并等基础功能;提供对开源项目、组织的检索与推荐;提供用户画像功能等。同时以“开源创新服务”为宣传点,相当关注开源大赛、教学实践等业务板块。目前开发者规模为5万以上。

使用

GitLink平台的导航栏与GitCode、GitHub平台存在明显差异,没有项目(仓库)、组织、Issue等快速入口,而是指向自身业务;也不像Gitee提供下拉菜单展示仓库列表。

image-20230304154741542

要想看到自己的项目/组织非常麻烦。用户须进入个人主页->参与项目/组织;而用户的PR/Issue甚至没有相应列表,只能在个人主页->活动概览->动态查看。

”开源项目“板块推荐热门的开源项目、组织、个人,项目索引通过自选的项目分类

而从“开源大赛”到“论坛交流”,囊括了平台教学培训、组织竞赛、竞赛交流等实际业务,和我们调研关注的重点“代码托管平台“关系不大。

个人主页的”活动概览“和”数据统计“展示内容比较丰富,这也与平台竞赛、教学方面的业务契合。

image-20230304161033790

注册登陆后,我体验了以下具体功能:

  1. 项目(仓库)管理

    • 新建项目可配置性好,基本能满足此阶段的所有要求。

      image-20230304160830379

  2. PR和issue

    相较其他平台选项完备,但唯独”项目标记“和”里程碑“必须先在仓库设置好,才能在下拉菜单中选择,而不能直接添加,给用户带来不好的体验。image-20230304155444912

  3. 服务

    目前平台接入服务只有”重睛鸟代码溯源“。

    image-20230304170429965

    可以用于快速发现依赖项目的漏洞,还是很有用的。

  4. WebIDE

    **GitLink平台的WebIDE是一个功能亮点,甚至可以直接作为开发编辑器。**从编码而言,代码高亮、查看引用、符号搜索等功能一应俱全,且通过插件支持部分代码在线运行,有很强的可拓展性;从团队协作而言,查看分支、提交推送、blame等功能齐全。作为跨平台的WebIDE,我认为其可以在特殊情况下代替Editor/IDE使用。

    image-20230304165647325

总结

我对GitLink平台的推荐度为:c) 一般。

如果定义为**“开源竞赛平台”**,GitLink“附带”了代码仓库、开源社区、WebIDE等功能,可谓非常优秀;但如果定义为“代码托管平台”,GitLink给用户的感觉莫过于“重心不在于此”,代码仓库功能齐全但细节打磨不精、Bug频出,体验总是遇到卡壳;社区论坛强调主营业务、商业合作,而非开发者间的开放学习,这也导致了用户数量少、论坛内容更新慢。如果没有竞赛需求,我不认为GitLink平台对大学生而言能在竞品中有明显优势。

1.2.2 Bug分析和提交

Bug1: Markdown预览提供的目录功能,部分标题始终跳转失败(绝大多数为纯英文字符标题)

  • 测试环境:Window10 20H2;Chrome浏览器版本 110.0.5481.178

  • 可复现性:必然发生。

  • 严重程度:★★★

  • 复现步骤及具体情况:

    1. 以该仓库为例:https://www.gitlink.org.cn/xuxiaowei-cloud/xuxiaowei-cloud,其README.md目录部分全中文字符,部分全英文字符,部分中英混合。

    2. 测试的中文标题均能正常跳转:

      image-20230302173735438

      少部分中英文混合标题,和所有英文标题不能跳转,表现为点击标题后无响应

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zh3SoDc7-1678026353370)(C:/Users/cychen/AppData/Roaming/Typora/typora-user-images/image-20230302110352035.png)]

      可以看到url已经加上#Git,但是网页无任何反应,同时console无输出

    3. 经测试,该项目无法跳转的标题有:xuxiaowei-cloud,代码格式规范 spring-javaformat,IntelliJ IDEA, 客户ID与秘钥,Docker说明,Git,Gitlab Runner,Linux脚本说明,SQL,Windows脚本说明,Stargazers over time。

      注意:kubernetes(k8s)标题可以正常跳转,可能是因为其使用了中文括号。

      在其他仓库中进行了相同测试,结果一致。

  • Bug分析

    可能是大小写转换问题。如“客户ID与秘钥”标题,markdown文档中,对应标题处为repo_url#客户id与密钥

    <h3 class="markdown_anchors" id="客户id与秘钥">
    	<a class="anchors" name="#客户id与秘钥">
    		<i class="iconfont icon-lianjieicon font-14"></i>
    	</a>客户ID与秘钥
    </h3>
    

    然而“目录”选框的选项将页面转到repo_url#客户ID与密钥,出现不一致。

    另外,很多标题如Git,GitLab Runner并没有出现在<ant-anchor-link-title>节点中,原因未知。

    对于Bug成因,我认为软件团队不知道这个Bug,是由开发人员粗心大意导致。而且本身目录直接用antd的dropdown+anchor,悬浮/点击按钮才出现目录,没有提供大纲式目录,相比其它平台确实有些敷衍。

Bug2: Markdown预览时,图像预览工具始终最先触发,屏蔽了<a>标签

  • 测试环境:Window10 20H2;Chrome浏览器版本 110.0.5481.178

  • 可复现性:必然发生

  • 严重程度:★★★

  • 复现步骤及具体情况:

    1. 以该仓库为例:https://www.gitlink.org.cn/lightimel/xmake;其github源仓库为:https://github.com/xmake-io/xmake

    2. image-20230302173742228

      上图为该仓库README.md的一部分,红框部分均形如:

      <a href="your_link">
          <img src="img_link">
      </a>
      

      理想的效果是点击图片跳转至your_link,github,gitee,gitcode平台都是如此。例如点击左上方的build passing,跳至https://github.com/xmake-io/xmake/actions?query=workflow%3AWindows

    3. 但gitlink网站会优先触发图像预览(即查看大图),导致无法跳转。

    在这里插入图片描述

    在这里插入图片描述

    属实是第一次看见这个高清大图。(

  • Bug分析:

    我们使用浏览器DevTools将<img>节点隐藏:

    image-20230304172238558

    image-20230304172424061

    然后点击红框内的空白,发现成功跳转到https://opencollective.com/xmake#sponsors了!

    由此猜测,<img>元素的@click事件绑定了方法打开图像预览(),而这个方法没有判断父节点为<a>的情况。

    我认为Bug成因是具体的设计质量不高,整个Markdown预览功能都有欠打磨。

除此之外,还发现了jQuery版本过低,容易遭受XSS攻击;头像图片使用原尺寸而未经裁剪导致比例尺不对、加载性能降低;LICENSE文件不可预览这些问题。也许算不上Bug,但也反映了软件质量不高。

1.2.3 Bug反馈

Bug1已提issue :https://www.gitlink.org.cn/Gitlink/forgeplus/issues/72251

2023.3.2 19:16更新:目前该Bug已修复(还未上线)。

image-20230302191054372

Bug2已提issue:https://www.gitlink.org.cn/Gitlink/forgeplus/issues/72286

1.3 Gitee

1.3.1 软件评测

Gitee(码云)是开源中国推出的代码托管平台和企业级DevOps研发效能管理平台。 其中包含了代码管理、代码质量管理、持续交付、软件发布平台和项目协作管理等产品,支持公有云服务及私有化部署。目前Gitee推出了个人版、企业版、高校版,其中个人版用户超过600万名。受网络原因限制,Gitee也是我目前日常使用的平台,这里针对个人版进行评测。

使用

Gitee导航栏主要展示旗下产品,虽然不如GitCode方便快捷,但“我的”、头像、通知等下拉菜单的设计,也能让开发者快速进入工作。

主页根据项目类别、时间进行推荐,推荐质量、参与人数都比前两个平台明显增加。

image-20230305175502198

我评测了以下功能:

  1. 仓库管理:

    整体体验类似GitLink,功能齐全。新建仓库、仓库设置可配置性都比较强。仓库提供了部署公钥管理、存储库GC等特色功能。

    特别值得赞许的是Gitee平台提供了大量明显的、专业门槛较低的提示,往往还附带指向帮助中心的链接,新用户可以很快上手。

    image-20230305182324868

    image-20230305182412895

  2. PR

Gitee的Pull Request在细节上取胜。有几项特色功能:

  • 可设置评审模式,无权限推送自动创建PR;
  • 将“批准->合并”流程改为“审查->测试->合并”,细化流程,方便交给不同的人员处理,更符合《构建之法》中对代码签入流程的描述;
  • 提供合并选项:合并后删除提交分支、合并后关闭提到的issue。

image-20230305183907799

  1. CI/CD(Gitee Go)

    Gitee Go是Gitee推出的CI/CD工具,与GitLab CI、Github Action均不同。Gitee Go上手使用比较简单,开通Gitee Go->选择语言和分支即可生成常用的三条流水线模板。

    image-20230305184456308

    流水线配置分为图形视图和代码视图,图形视图明显比GitCode简单直观。触发事件、变量设置可以满足各种需求。

    image-20230305184852008

    单击任务可以在右侧配置,快速修改命令。代码视图即your_repo/.workflow/master-pipeline.yml文件。

    image-20230305184956821

    我尝试将此前编写的Rails项目上流水线(曾用GitLab-CI部署)发现编译速度过慢,可能是体验版给用户的计算资源很少。网络社区也有人反映Gitee Go宕机、断连等问题。

    image-20230305185845195

    一段bundle install执行了半小时。

  2. 除此之外,Gitee的Markdown预览功能完善、界面清晰;Web IDE虽没有插件拓展,代码高亮、代码提示支持充分,也足够应急使用;自研服务和外链服务种类多,如Gitee Pages、Jenkins、腾讯云Serverless等。

总结

我对Gitee平台的推荐度为:e) 非常推荐。

Gitee在代码托管、协作开发功能上已经十分完善,在日常使用中基本挑不出毛病;同时中文支持完备,教程引导总能出现在合适的位置,初学者也能很快上手;庞大的用户规模、入驻组织奠定了充足的仓库数量,社区潜力充足,已是国内开源项目不可绕过的平台;CI/CD方案使用便捷,但性能可能仍需提高。总体而言,由于GitHub连接不稳定,我非常推荐使用Gitee作为日常开发协作使用的代码托管平台。

1.3.2 Bug分析和提交

Bug1:评论功能无法使用

  • 测试环境:Window10 20H2;Chrome浏览器版本 110.0.5481.178

  • 可复现性:必然发生

  • 严重程度:★★★

  • 复现步骤及具体情况:

    1. 打开任意支持评论的仓库,如:https://gitee.com/fire-framework/fire

    2. 右下角浮窗有“评论”按钮,点击后网页无反应;可以看到url已经加上了#tree_comm_title,实际上跳转到仓库首页,并没有出现评论。

  • Bug分析:

    这个Bug实在是令人匪夷所思,我暂时没有发现其成因。

第二部分 分析

三个平台在产品定位上各有所侧重,我们不妨以最专注“代码托管平台”主题的GitCode为例,展开分析。

工作量分析

  1. 使用此服务的所有功能,估计这个软件/网站/服务做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI支持)。

工作量估计如下:

  1. 基础架构和系统设计(4周)

    需要研读GitLab架构,设计系统的基础架构,包括数据库架构、代码仓库管理系统、用户(组织)认证和权限管理系统等。

  2. UI设计(2周)

  3. 开发代码仓库管理系统(19周)

    • 代码上传和下载功能(2周)
    • 版本控制+分支管理(6周)
    • 冲突记录和解决(2周)
    • Issue+Pull Request(8周)
    • 开发代码片段管理功能(1周)
  4. 开发Web前端应用,同步进行文档教程编写(12周)

  5. 开发API接口,以便其他应用可以访问(4周)

  6. 集成第三方工具(6周)

    如持续集成工具(GItLab CI)、代码质量检测工具等,提高代码库的质量和可用性。

  7. 测试和部署(4周)

总工作量估计51周,将近一年。

软件质量分析

  1. 分析这个软件目前的优劣(和类似软件相比),这个产品的质量在同类产品中估计名列第几?

优势:

  • 网站性能高,ighthouse评测工作台页面达到可观的96分;仓库页面评分也高于Gitee和Gitlink(仓库相同内容);

    image-20230305201501374

  • 功能轻量,对有一定经验的小项目开发者友好;

  • 由CSDN开发,用户基数有很大发展潜力;

  • 根据平台宣传,安全性高,能够有效保障用户代码安全。

劣势:

  • 用户数量相对较少,开源项目的数量和活跃度也相对较低;
  • 社区生态相对不够完善,缺少一些社区贡献者的支持和参与;
  • 功能还不够完善,如CI/CD处于内测中,接入外部服务很少;
  • 本地化工作、文档教程比较敷衍。

同类产品中,质量可以排在第四,Github>GitLab≈Gitee>GitCode>Gitlink

  1. 从各方面的问题,推理出这个软件团队在软件工程方面可以提高的一个重要方面(具体建议)。

关于本地化、文档、功能等方面的建议前文已有所体现,这里谈一谈社区生态建设。作为大社区CSDN推出的平台,我找遍CSDN只能在发布->建项目找到GitCode入口,社区平台和代码仓库几乎割裂。建议双向加强联动,CSDN社区加强推广,如发布文章可快速选择、嵌入gitcode仓库链接;引导社区活跃开发者率先使用GitCode。GitCode平台利用社区优势,改进项目推荐搜索系统;利用社区的文档支持;等等。

image-20230305202053722

第三部分 建议和规划

市场概况

  1. 首先市场有多大?
  • 根据https://octoverse.github.com/,Github账户已达9400万,开源项目数量超4.1亿。

image-20230305204154163

  • Gitee宣称拥有超过600万的开发者用户,托管了超过250万个代码仓库。
  • Stack Overflow在2020年进行的一项调查中显示,有超过82%的开发者使用过GitHub。

可见代码托管平台市场规模庞大,全球用户数量和托管项目数量都在不断增长,每一位开发者都极有可能成为代码托管平台的用户。随着软件开发和云计算等领域的发展、人工智能技术在不同领域落地开花,代码托管平台的重要性也越来越高。

  1. 直接的用户有多少?潜在的用户又有多少?
  • 直接用户:Evans Data Corporation在2021年的一项调查中估计,全球有超过2690 万的软件开发者,软件开发者都是代码托管平台的直接用户。
  • 潜在用户:
    • Github2021年增加1600万账户,2022年增加2000万账户;Evans Data Corporation预计到 2023 年和 2024 年,软件开发者数量将分别增长到 2770 万和 2870 万。
    • 人工智能相关技术在不同领域广泛应用,业余开发爱好者、计算机相关专业学生数量有不断增加的趋势,人文社科、金融等领域也出现使用代码托管平台的需求。

市场现状

  1. 目前市场上有什么样的产品了?

Github,GitLab,Gitee,GitCode,GitLink等。

  1. 上述产品的定位、优势与劣势在哪里?
产品定位优势劣势
Github全球最大的代码托管平台,主要面向开源社区和个人开发者丰富的开源代码库;强大的协作和社交功能;广泛的第三方工具和插件支持国内访问速度较慢;对企业和私有仓库支持较弱;
GitLab开源的代码托管和协作平台,面向企业用户和开发团队可在自己的服务器上搭建;安全性好;社区和资源较小;专业性强;
Gitee国内最大的代码托管平台,面向企业、个人、高校分别开发应用提供了一系列适合国内用户的功能和服务;代码托管、协作开发功能强大;国际化程度较低;商业化影响体验;开源资源较少;
GitCode国内创新代码托管平台,主打安全代码仓海量CSDN用户基础和品牌加持;轻量便捷体量小;功能不完善;
GitLinkCCF支持的开源创新服务平台,重视竞赛与教学;与其他产品不构成明显竞争关系作为竞赛平台功能齐全,团队协作方便用户数量少;细节打磨不精;

市场与产品生态

  1. 这个产品的核心用户群是什么样的人?典型用户是什么样的?学历,年龄,专业,爱好,收入,表面需求,潜在需求都是什么?

核心用户群主要是从事软件开发的人员。

  1. 学历:主要是计算机科学、软件工程等相关专业的本科生、研究生以及博士生,以及专业开发者。

  2. 年龄:集中在18-44岁之间(from StackOverflow)。

    image-20230305211417810

  3. 专业:主要是计算机科学、软件工程、网络工程等相关专业的毕业生。

  4. 爱好:这些用户对计算机和编程有浓厚的兴趣,乐于尝试新技术和新工具。

  5. 收入:用户群体中的学生收入有限、消费水平较低;专业开发者通常收入水平较高。

  6. 表面需求:一个可靠的代码托管平台,以实现版本控制、协作开发、问题跟踪、CI/CD等基础功能。

  7. 潜在需求:实现更好的团队协作、更高效的代码管理、更多的自动化和集成工具、更好的社交网络等功能。此外,还可能需要更好的开发者社区、更多的学习资源、更好的文档和教程等。

  1. 产品的用户群体之间是否存在一定的关系?是否有利用其相互作用二次构成特定用户生态的可能性?

以下关系可能利用其相互作用二次构成特定用户生态:软件开发者和开源社区的用户;企业平台和员工的个人工作空间;相关专业的老师和学生;等等。

  1. 产品的子产品,以及其他相关产品之间是否存在一定的关系?是否有利用各个产品特性之间的相互关系二次构成产品生态的可能性?

如前文提到,CSDN社区和GitCode代码托管平台可以形成完整的开源社区产品生态。

产品规划

  1. 你要在当前软件的基础上设计什么样的新功能?为何要做这个功能,而不是其他功能?为什么用户会用你的产品/功能?你的创新在哪里?可以用NABCD分析

我计划在GitCode平台加入“工作流水线”,可设置不同强度的提醒方式,并展示数据统计,指导用户规范使用代码托管平台工作。

  • N(Need,需求)

GitCode平台的用户基石——CSDN用户中存在大量入门开发者,仅凭文档教程很难建立对代码仓库的使用习惯和规范。

例如习惯本地代码使用文件系统做版本管理、全部写完只commit一次等现象。

企业实习生、业余开发爱好者也有相同需求。

  • A(Apprroach,做法)

系统预配置/用户自定义“工作流水线”,以不同强度等级提醒和引导用户执行commit、提PR、测试等规范流程。

  • B(Benefit,好处)

初学者快速适应使用代码仓库,参与开源社区生态建设;企业用户规范工作流程,提高自动化水平。

  • C(Competitors,竞争)

Github、Gitee等平台的教程只告诉用户如何使用功能,却不告诉用户何时需要功能。我们的功能正是为初学者提供了规范和鞭策。

  • D(Delivery,推广)

借助CSDN的影响力、高校老师的推荐推广。

  1. 如果你是项目经理,可以招聘6个人,并且有4个月的时间,你认为应该如何配置角色(开发,测试,美工等等) 才能在第16周如期发布软件的改进版本,并取得预想中的成绩。

前端开发:2人

后端开发:2人

美工:1人

测试和对接:1人

  1. 请为你的团队设计16个周期每周的详细规划。
时间(周)任务
1需求分析与市场调研
2学习GitCode基本框架
3-4前端UI设计与制作原型;后端设计“工作流水线”实现架构;完成接口设计
5前端测试用户系统与前后端通信模块;后端开发系统预置“工作流水线”,完成功能测试
6前端开发流水线界面;后端开发用户自定义“工作流水线”,完成功能测试
7前端测试流水线界面,开发提醒组件、数据统计可视化;后端开发提醒功能及配置、数据统计,完成功能测试
8前端测试提醒组件、数据统计可视化;后端并发测试;
9适配多终端;集成测试;编写使用手册和用户帮助文档
10Alpha版本发布与Bug修复
11Beta版本发布与听取反馈
12根据反馈完成新需求开发、Bug修复
13再次发布Beta版本与Bug修复
14完善使用手册、用户帮助文档;灰度部署
15压力测试
16发布、推广
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值