个人博客作业-软件案例分析
项目 | 内容 |
---|---|
这个作业属于哪个课程 | 班级博客 |
这个作业的要求在哪里 | 具体要求 |
我在这个课程的目标是 | 通过这门课锻炼软件开发能力和经验,强化与他人合作的能力 |
这个作业在哪个具体方面帮助我实现目标 | 尝试评价软件,进一步理解软件的要求 |
前言
我选择分析的产品是VS 和 VSCode,因为这两款产品我用的时间最多,尤其是VSCode,许多人都称之为“万能IDE”,因为它可以通过丰富的插件来扩展自己的功能,让自己成为一个功能完备的IDE,而且占用的内存很小。VS是编译器课程设计要求下我才安装开始使用的,因此两款IDE我都比较喜欢。
第一部分 调研,评测
-
使用10–30分钟这个软件的基本功能,描述使用这个产品的过程,解决了用户的问题么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?对产品有什么改进意见?
VS2019
这是我在编写结对项目作业的代码时的软件运行截图,VS2019的功能十分强大,代码提示、格式化、单元测试、调试、代码分析等功能一应俱全并提供详细的分析报告,自动静态检查代码可能出现的语法错误,帮助用户尽早发现可能的隐患,并且可以安装扩展插件来增加部分自己喜欢的功能,通过设置也可以自定义窗口样式和布局。
但是,在首次接触VS时,我的体验是比较差的,也许是因为我没有详细阅读使用说明所致,首先在用VS Installer下载时可以看到,VS占用的体积非常大,而且可安装的类型、package让人眼花缭乱,新人根本不知道“我该下载哪一种”,可能有人就会说,不知道下载什么就全下载了不就好了嘛,就算只是下载windows平台的开发集,也需要12.6GB(系统驱动盘)+7GB(其他硬盘)的体积,可能很多用户的C盘就根本不够使用,其次,运行时占用的内存也很高,我现在只开了一个VS内存占用就差不多到了60%(8GB内存),如果再加上其自动反复的静态检查应该会更高。而且打开项目时,和其他IDE不同,它又会有很多可供选择的项目来创建,而且把编译这个过程称之为”解决方案“,我当时就没明白这个解决方案是什么意思,也不知道如何编译,后来查了资料才知道”生成解决方案“就是编译,如果没有网上的教程参考,以及编译器课设的强制要求,我可能到现在也不会用VS吧(笑)。
总结一下:
- 优点:功能非常全面,信息详尽,非常适合用来做项目
- 缺点:软件体积过大,对新手不友好,功能需要自己去摸索,不适合用来写小程序
- 改进意见:希望可以有个比较详尽的入门说明,增加新手用户的体验,减小占用的系统盘体积
VSCode
这是我在编写一个普通c++程序时候的软件截图,VSCode是在同学的推荐之后才接触的,起初我还以为是像Dev C++那样的只是界面更加美观一点的编译器,但是使用后才发现其实没有插件就和一个记事本差不多,虽然有调试等看上去像是普通编译器的功能,但是也需要自己去配置launch.json来自己配置编译选项和目录,VSCode的核心就是在于插件,通过插件来自定义VSCode,让其成为自己的”专属“IDE,并且插件市场可以说是”应有尽有“,基本上各种主流语言都可以支持。同时,可能在你创建文件的时候,VSCode就会自动根据文件名后缀给你推荐插件,对新手比较友好。
但是这款软件还是有它的缺点,插件虽然是核心功能,但是不可避免地会出现冲突,此时就只能禁用多个冲突插件的其中几个,之后如果再想用的话还得打开,有点麻烦。其次,插件默认安装在C盘的User目录下,还是那个老问题,比较占系统盘的空间,而且如果要自定义插件的安装位置的话需要比较麻烦的设置。最后,它和VS相反,如果要做项目的话配置起来会比较麻烦,而且可能需要自行为每种语言配置编译环境,这对新手并不友好,需要借助搜索引擎来帮助解决,但是好在有些插件可以自动地帮助配置。
总结一下:
- 优点:轻量、可定制、功能(在插件合理安装后)比较齐全,对新手友好
- 缺点:自行配置编译环境对新手来说比较困难,但是有些插件可以自动解决
- 改进意见:是否可以根据系统环境变量自动配置编译环境,降低上手难度
-
结论
指标 | Visual Studio | Visual Studio Code |
---|---|---|
功能 | 5.0(真的非常全面) | 4.5(在许多插件的支持下功能全面,但是插件并不万能) |
用户体验 | 4.0(对新手不友好,下载安装慢) | 5.0(对新手较友好,有详尽及时的帮助和提示) |
辅助功能 | 3.0(定制能力一般,只支持界面) | 5.0(都可以定制) |
软件效能 | 3.0(占用内存和硬盘空间都很大) | 4.5(除了编译环境配置和插件冲突有点麻烦外,其他没什么大问题) |
平均分 | 3.75(在某些场合很好用) | 4.75(非常推荐!) |
-
bug寻找
VSCode Zen Mode的bug
Zen Mode可以隐藏其他窗口,只有代码页,帮助开发者提高效率,在之前的版本,这个模式可以通过鼠标向右拖动来打开资源管理器切换文件,但是在某次更新以后这个功能就没有了,我相信这是一个bug。
VS 调试功能的bug
VSCode在调试的时候一直有一个问题,就是如果主函数返回了,命令窗口就会自动关闭,从而看不到输出,唯一的解决办法就是在return 0语句出添加断点来查看,但是好像断点功能在有些情况下不能使用,例如在运行这个斐波那契数列的时候,当我在控制台输入3并按下回车的时候,这个回车好像没有作用,但是显示程序运行已经到达了断点,我再按下回车的时候,程序运行就结束了。
第二部分 分析
-
使用此服务的所有功能,估计这个软件/网站/服务做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI支持)
VS和VSCode的功能过于强大,我认为如果仅仅是计算机大学毕业生,而且只有6人团队的话,可能会需要5-8年的开发时间,VS的体积这么大,可以想象里面倾注了多少开发人员的心血,光最简单的调试功能,追踪所有变量我就没有什么头绪,更不用谈性能分析、代码静态检查之类的实现了,前期必须要经过漫长的学习和构思架构才有可能实现这些软件的基本功能。
-
分析这个软件目前的优劣(和类似软件相比),这个产品的质量在同类产品中估计名列第几?
VS的话就是老毛病,体积太大,冗余功能太多,相比之下我更愿意使用Jetbrain公司的CLion软件,功能差不多强大,但是比VS更好用,VSCode在业界的口碑普遍都很好,但是由于VS支持的平台和功能实在是太多了,因此我认为应该是排在前三名的,VSCode应该紧随VS之后。
这是各类IDE的搜索趋势图:
可以看到VS是在一位,VSCode在四位。Jetbrain公司的IDE普遍都很好,推荐!
-
从各方面的问题,推理出这个软件团队在软件工程方面可以提高的一个重要方面(具体建议)
从我刚才发现的bug来看,应该都是回归测试的问题,原来在老版本没有问题的功能,在新版本却无法使用了。测试人员可能由于功能太多就没有多所有功能进行回归测试,而且这些bug真的比较细微,也不影响正常使用,所以希望微软测试人员可以更加地重视回归测试。
第三部分 建议和规划
-
市场有多大?潜在的用户有多少?
IDE的市场很广,因为目前的程序员越来越多,学计算机编程的也越来越多,不从事计算机行业的也可能需要学习编程。
-
目前市场上有什么样的产品了,它们的优势劣势在哪里?和它直接竞争的产品在那里?
市场上的IDE多种多样,但是好用的就那么几种,其他不怎么被使用的原因就是功能不够全面,不支持扩展等。和VS竞争的产品就如我前面所提到的,JetBrain公司开发的IDE,对每种语言都有一个IDE,并且都非常好用。软件占用的体积也不是很大。
-
作为新的项目经理,这个产品的核心用户群是什么样的人,典型用户长什么样?学历,年龄,专业,爱好,收入,表面需求,潜在需求都是什么?
核心用户是程序员,学历参差不齐,但是高学历人员居多。年龄普遍比较年轻,爱好也参差不齐,但一般来说都会比较宅,收入水平普遍较高。表面需求是需要一款功能强大的IDE,能提高软件开发的效率,潜在需求是希望可以自己定制IDE,让界面看着更加舒服。