2020BUAA-个人博客-案例分析
个人博客作业-软件案例分析
项目 | 内容 |
---|---|
北航2020软工 | 班级博客 |
作业要求 | 具体要求 |
我的课程目标 | 通过案例分析提升自己对于软件工程的认识 |
课程收获 | 分析软件,了解软件的定位 |
第一部分 调研,评测(VS 和 VS Code)
调研评测:
微软对于Visual Studio系列的整体定义是:面向任何开发者的同类最佳工具。
其中VS:更快地进行代码编写。 更智能地执行操作。 使用同类最佳 IDE 创建未来。一向有着“宇宙第一IDE”的美称!
而VS Code是免费(大杀器),跨平台和基于开放源代码构建的一个编辑器,就是一个编辑器,莫得编译的功能。当然,得益于其强大的插件系统,我个人认为在使用上已经不输很多的IDE,也因此被遍布985、人均百万年薪的知乎er的狂热爱好者的疯狂安利!
-
VS的主要目标用户应该是各种团队开发者,主打一条龙服务的团队合作开发模式,替你考虑各种方面,真父母般的关怀,因此会帮你做很多事情。就拿C++为例,如果你(新手)不小心打开了cmake项目,想着吃第一只螃蟹,结果你会发现,事情可能没那么简单,一旦项目复杂起来,你会首先遇到编译不过的难题。即VS帮我们做了很多东西,隐藏了很多细节,可以让我们专注于代码层面,岂不美哉?而如果你想深入了解工程的内部逻辑等等,还留了cmake的坑给你使用。如此全心全意的为用户考虑,所以VS的体量就很宽广,全部模块预计需要不下50G的硬盘,不过根据需要下载不同的模块也支持,总之是很不错的,对于新手的支持个人感觉很友好。
-
VS Code的目标用户应该更多倾向于个体用户和轻量级使用的用户,而且目前在JS领域的使用者已经无人能挡,依据插件功能,VS Code可以变成几乎任何一个你想要的IDE,甚至是音乐播放器、知乎等等,打开VS Code,各种各样的插件供你选择,已然形成一个良好的生态。当然,因为是一个编辑器,不具备编译运行等功能,就需要自己配置,对于新手来说一定程度不友好(不过现在各种教程当道,也不存在配不出来的问题)。总之,VS Code更像是一个个性化十足的私人使用物,彰显着不同大佬的不同品味和B格!
所以我个人的理解是VS是专业化的需求,而VS Code更多迎合的是个性化的需求!
下面是使用:
-
VS:运行的是结对项目。VS很适合工程化的项目,管理起来比较简单,更多的关注逻辑和代码实现层面!对于这种需要一定管理和测试的项目很友好,用户体验很不错。
-
但是如果运行一个hello world,VS就显得十分的臃肿,其本身主要是适用于大型项目,而对于较小的程序,在打开VS的时候,我已经在其他的环境下编译完成并且运行了。
-
在功能上,VS没得说,几乎满足了用户的全部需求。但正是因为复杂的功能,在深度使用时没有一定的经验会因找不到需要的功能而感到迷惑。
-
个人建议:
- 我个人在使用过程中对于错误和警告往往不得要领,不太会用微软的错误处理的论坛,感觉通过链接跳过去也往往无法获得有效的信息,有时候错误框的信息更是令人头大,没有重点,令人伤心。希望这方面有加强!
-
VS Code:如图,想要用个C++,往往需要配置一些文件,不过之后的使用流畅感让人直呼“知乎诚不欺我!”
-
轻量级,个人感觉界面设计比VS更加令人舒适,可扩展性强,插件众多,功能也越来越丰富,缺点是管理大型的项目较为不利,不过通过cmake也有奇效。
-
个人建议:因为使用很舒适,目前没有!
那么问题来了,对标的某全家桶,如何呢?我个人都有使用过,不得不说全家桶的IDE也是真香,感觉更像是介于二者之间,没有体量大到让电脑望而却步,但是提供的功能相差无几,自定义方面也是有模有样!
Bug:
-
如下图,在VS中,如果我想要修改项目名字,直接右键重命名后,VS中对应的名字得到修改,文件夹中却莫得任何变化,但是,编译却可以正确的执行?若是我把文件夹中的名字对应的改过来,反而会报错!这个问题的解决需要更改一堆的名字才可以得到正确解决(参考),而我只是想修改项目名而已,要是没有注意到这个,存在着手动误删文件的可能性,
我不是,我没有。当然我不太清楚这算不算一个BUG,但是我个人十分不理解这个设计,也没有找到关于这个设计的好的解答。
-
VS Code中对一个文件做了修改,但是没有保存,直接关闭VS Code,不会有保存确认信息,而且再次打开也是上一次做了修改的样子,但是本地用其他的编辑器打开文件并没有得到修改。即VS Code似乎在帮我记录修改的文件,但是之间关闭VS Code的时候不会提醒我修改没有保存。
当然,我也同样不确定这个是bug还是我对VS的理解有问题,但是个人实验结果如下:
修改后,直接关闭VS Code,用VS Code和VIM打开同一文件。结果如上图。
推荐指数:
VS:d)好,不错!
VS Code:e)非常推荐!!
VS我个人使用不是很频繁,主要是因为在自己电脑上运行比较吃力,而VS Code的轻量级给我带来了不错的体验,所以从个人观点出发,强推VS Code!
第二部分 分析
1. 使用此服务的所有功能,估计这个软件/网站/服务做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI支持)。
以VS Code为例,我在知乎上了解到这个研发团队是一个20多人的小团队,但是其中不乏大佬;不考虑众多的插件,就是一个裸版的VS Code,我觉得算上各种学习成本,3年的时间或许可以研制出来。
但是如果是VS,那么就不一样了,其所有的功能都实现,这六个人或许得007工作20年以上吧!毕竟VS已经2019了......
2. 分析这个软件目前的优劣(和类似软件相比),这个产品的质量在同类产品中估计名列第几?
如下,VS和VS Code名列前茅,可见微软“同类最佳工具”的说法不是空穴来风。
优劣分析:
-
优:
- VS的最大优势就是一条龙服务,尽管体量大,看起来臃肿,但是这一整套都帮你安排的妥妥当当,自然受众会很多,而且几乎主流语言都支持,各种开发需求都满足,当然,最最重要的是,只要使用.net,那么VS就绕不开,整体走的是“宇宙级IDE”的道路!
- VS Code因其插件的强大,现在不仅仅是一个简单的编辑器,更是一个除了不能生孩子,什么都能干的编辑器,打开知乎随便一搜就能找到许多各种各样的配置文章,而且其生态圈越来越好,使用者越来越多,适用范围也逐步扩展,简直是走的“一力(插件)降十会”的猛男道路!(作为一个编辑器在IDE排行中位列第四就说明了一切)
- VS和VS Code的整体优势就是全面且不失效率。从两个角度出发,针对不同定位的用户,不论是团队还是个人,都很容易成为粘性用户。而且,其致力于打造一个无所不能的编辑器和IDE的想法也是越来越成功了,就说VS Code,甚至都支持了VIM,从某种角度,有了VS Code,你就有了VIM,进一步,你就有了一切,哇偶!
- 我觉得还有就是历史遗留用户的粘性,很多人习惯了使用VS,就不太愿意再使用新的工具,不太愿意去增加学习成本,更愿意选择之前使用的IDE和编辑器。
-
劣:
- 如果用户不需要这么全面的功能,只需要一个方面,那么VS的体验或许就没有单纯的良好,jetbrains家族中的IDE是单一语言向,个人感觉其使用也更加丝滑,尤其是pyCharm。
- 个人感觉VS的劣势主要是在对Java的支持上,所以才会被Eclipse夺去那么多用户,不过如果把所有的语言都支持了,那VS要上100G了。
4. 你在第一部分发现的bug,为何软件团队不能在发布前修复?他们是不知道,还是有意不修复?你觉得是什么原因?
-
第一个bug:
我猜测是没有注意到或者是有其设计的目的,一般不会有人有改了名字后看到旧文件就要删除的强迫症吧,
然后发现文件全没了。对于第一个问题,我个人猜测是VS的设计理念就是想改名字就得一整套来,否则这些背后的工作就很难自动化,我在google上找到了类似的经历,不过也没有说明这样子设计的目的何在?
-
第二个bug:
第二个bug我更倾向于我不理解VS Code,因为如果直接关闭文件,会提醒保存,但直接关闭VS就不会,如果真是一个bug,那么我猜测是可能是被漏掉了
第三部分 建议和规划
市场
这个市场应该是巨大的,就目前而言,IT界的火热发展,使用编辑器和IDE的人不胜枚举。而且在目前盛行的编程思想下,学习和从事与编程相关的人员越来越多,市场也就越来越大。并且随着技术的发展,人们对于电脑的使用要求越来越高,IDE和编辑器可能也会慢慢被普通人所使用(其实编辑器已经在被广泛使用),这种情况下面向新手良好的IDE和编辑器我觉得会有很大的优势。各种新性行业的从业者都可能是潜在用户,所以市场前景应该是光明的!
目前市场上的产品
目前市场上的产品就是上面的TOP排序图(不全)中的各种IDE和编辑器,每一种都有其具体的受众,其中VS和VS Code合起来占比30%多,可以说占据绝对优势,不过,因为VS不支持Java,所以这块市场莫得办法,但是VS Code在这方面开始发力,支持Java,估计也会被更人多使用,所以整体上看微软的IDE和编辑器貌似处于大优势。
直接的竞争产品主要是Jetbrains的IDE系列和Eclipse,其中Eclipse目前占比17%多,除非微软能够显示出其IDE和编辑器巨大的优势,不然我估计这些用户大概率是一些历史遗留用户,陷于习惯,不想改变。
核心人员
使用IDE和编辑器的人大多是程序员(码农),他们往往是高学历,爱好技术,收入较高,表面的需求是IDE和编辑器工具时候好用,是否能够满足基本要求,甚至有超出预期的功能,这一点会很吸引用户。
而潜在的需求,我认为是对个性化和审美的需求,很多的程序员对于主题和定制有着强烈的需求,比如说我舍友,主题必然是暗色系,普通风格能逼疯他,也常常会加入一些自己的定制化,使得IDE与自己高度相配,透露出浓浓的B格!
这一点,我觉得VS Code就很棒,各种插件以及配置,完全打造自己需要的编辑器,尽管看起来有难度,但是网络上有的是教程,直接拿过来用也能获得很好的体验,我想这也是其越来越受欢迎的原因吧!
16周的开发
我会配置2个开发人员,2个测试人员,2个美工。
这里我更看重美工,因为我认为当前的文化,偏向于花里胡哨,技术做的很硬,但是没有人欣赏,不能吸引人的目光,那么就是很失败的。
按照正常的流程走:
前两周充分调研和设计开发计划(尤其调研用户的审美需求);
之后两轮的迭代开发:两周开发,两周测试;期间进行内测,改进项目;
剩余的六周,前两周用于全面测试和软件布置;
最后四周进行公测,根据反馈修改,完善项目。
公测期间进行增量维护和测试,同时进行市场调研,根据反馈来调整美工的任务。
当然,对于VS和VS Code,其基础的软件维护肯定是更重要的,不过我个人希望改善一下VS的界面会令人更加舒适。