个人博客作业
项目 | 内容 |
---|---|
这个作业属于哪个课程 | 博客园班级博客 |
这个作业的要求在哪里 | 个人项目作业 |
我在这门课程的目标是 | 学会团体和个人的软件开发方式 |
这个作业在哪个具体方面帮我实现目标 | 帮助我更好地理解用户对软件的需求 |
一、选择评测的软件
我选择visual studio和vs code
二、调研与测评
(一)visual studio和vs code的差别:
这两款软件都是代码编辑器,都属于微软公司。一个公司为什么要开发两个代码编辑器呢?当然是因为这两个软件是有区别的。
vs code与其说他是一个IDE,不如说他是就是一个简单的轻量级编辑器,它针对的是单个的源代码而不是一个项目,当然vs code也是可以安装各种组件使其具有强大功能的。相比较之下,visual studio是一个真正意义上的、优秀的IDE,他针对的是一个庞大的项目,项目中可以有各种组件(比如库文件、单元测试等)而不仅仅是源代码。而且visual studio的工具栏为安装各类插件提供了专用选项,所以用户用visual studio安装插件更为方便。可以这么说,vs code有的功能visual studio都有,所以这次作业,我将会主要针对visual studio来进行讨论。
(二)使用visual studio 2019的基本功能:
首先是vs2019的自动纠错功能:举个例子,比如用c++写一个简单的hello world程序,然后我特意没有写using namespace std,如图:
按它的提示:alt+enter,vs2019会帮你自动纠错。
打开链接器的输入附加依赖项,我们可以看到,即使一个简单的hello world也是需要很多的lib文件来完成静态链接的,这个vs2019就帮你做了(这个是IDE最基本的功能)
然后点击编译运行:
我们可以看到,IDE在将源码编译并链接成exe文件后,在运行时还需要很多的dll文件来完成动态链接,这个vs2019也帮你做了(当然,这个也是IDE最基本的功能)
接下来就是vs2019的代码自动补全功能:
vs2019能够记住之前用户定义过的变量名、函数名、类名等。在你要用你之前定义的变量的时候,vs会自动为你补全这些代码。这个功能在用户定义的变量、函数、类等很多或者变量名、函数名、类名等很长的时候,就体现出了它的优势(当然对那种取名没有逻辑性的用户也很有用)
(三)测试时发现的bug(更多指的是功能上的不足,vs2019作为一款成熟的、优秀的软件,真的要找出bug太难了):
<1> 我要说的第一个bug也许是我自己系统上的问题(因为我身边的人安装vs2019的时候都没有出现这个问题)。我在安装vs2019的时候,也许是因为vs是微软的软件,安装它需要修改系统盘的一些文件。我在安装的过程中,由于一个系统文件的访问权限的问题(具体哪个文件忘记了,毕竟两年前装的,只记得当时为了这个问题整了好久),我无法安装vs2019的某个组件(都是微软自己的东西竟然还会起冲突),即使用管理员权限运行也不行。实在没办法,我只能在网上找了一种办法改动了这个文件的访问权限才正常安装了vs2019。这样的情况对大多数用户来说是很麻烦的事,首先,一般用户不会处理这种由于权限引发的问题(比如说我就不会,当时懵了还久),其次,修改权限是一件非常危险的行为,大大增加了系统被攻击的危险,甚至于不用别人攻击,一些重要的文件权限如果被错误的修改了,系统会直接崩溃(不知崩了多少次系统的我深有体会...)。
<2>第二个bug是vs2019安装插件的问题——vs2019安装很多插件多非常慢,甚至下载不下来。当然这个也不能怪vs,只能怪国内网访问一些外网实在是太慢了,所以这个问题对于所有具有安装插件功能的IDE基本都有(比如IDEA也很慢)。当然,我觉得这个问题也不是不能解决。vs官方可以针对中国用户(毕竟中国用户还是很多的),提供一些国内网络能够访问资源地址(比如一些镜像网站,当然这个涉不涉及版权问题我就不知道了)。
(四)评价:非常推荐,vs2019作为一款IDE可以说无所不能,其功能在我用过的IDE里无疑是最强大的(当然JetBrains公司的IDEA也很好用,但是我觉得vs还是更好用,首先vs的插件功能无疑是比IDEA全面的,毕竟微软做的;其次,vs的联想和纠错功能也比IDEA更准确;再次vs的界面我更喜欢,这个纯属于个人因素。)
类别 | 描述 | 评分 |
---|---|---|
核心功能 | 分析三个核心功能,功能设计和质量。 | 10 |
细节 | 有什么为用户考虑的细节? | 10 |
用户体验 | 当用户完成功能时,不干扰用户 | 8 |
辅助功能 | 一些辅助功能如皮肤等 | 10 |
差异化功能 | 这个软件独特的功能. 它对用户的吸引力有多大? | 9 |
软件的效能 | 占用内存, 启动速度, 内存泄漏情况 | 9 |
软件的适应性 | 在联网/断网, 大小屏幕, 没有鼠标的情况下都可以顺畅操作. 和不同平台的软件能流畅协作 | 8 |
成长性 | 记住用户的选择, 适应用户的特点,用户越用越方便 | 9 |
用户有控制权 | 系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 让用户方便地从错误中恢复工作, 快捷操作键可调整。 | 9 |
三、分析
(一)使用此服务的所有功能,估计这个软件/网站/服务做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI支持)。
vs是一款十分完备的IDE,期间经过了多次的完善和更新,如果要给一个专业的6人团队一次性开发出这样的工程项目,得反复经过编程、测试、debug、再测试、再debug的过程,少说也得要一年。
(二)分析这个软件目前的优劣(和类似软件相比),这个产品的质量在同类产品中估计名列第几?
vs在现有的IDE里应该算是最好的了。现在的IDE还有很多,比如我先前说的IDEA就是其中一个,这两个IDE我在之前已经做出了比较。除了这两个IDE以外,code::block也是一个用的很多的IDE,但是code::block的界面我是真的不喜欢,而且没有自带的纠错和联想功能,所以不管是功能上还是界面上,我都会选择vs。
(三)你在第一部分发现的bug,为何软件团队不能在发布前修复?他们是不知道,还是有意不修复?你觉得是什么原因?
就像之前提到的,只要是可以安装插件的IDE都存在下载速度慢的问题,但是大家还是坚持从官方渠道下载,我想这样做的原因,确实是涉及到版权的原因。IDE开发者的考虑应该是:如果中国用户需要从境外网站上下载插件,可以自己使用vpn。或者找相应的资源,事实上这些不是从官方网站上下载的插件,一样是可以在vs上运行的。
四、市场建议和规划
(1)市场有多大?潜在的用户有多少?
vs市场肯定是在世界范围。事实上不仅是程序员,现在这样的信息化社会,很多与计算机看似无关的专业,编程能力都是必要的。所以不管是对于专业人士,还是只是只是需要一些编程知识来辅助完成其他事情的业余人士,vs都是一款功能强大的、简单易上手的IDE。
(2)目前市场上有什么样的产品了,它们的优势劣势在哪里?和它直接竞争的产品在那里?
目前市场上,和visual studio功能相似的IDE有主要用于java的IDEA、NetBeans,主要用于python的pychrm,以及主要用于c、c++的code::block。这几款IDE首先在所支持的语言数量上就比不上vs,因为vs只要安装了相应的插件基本上可以说是支持所有的编程语言。而且vs的界面也更美观,工具栏分布条理清晰,用户使用起来更有流畅感。当然,也由于vs这种支持多种语言的IDE,在某一种语言的功能上可能没有个别IDE强大,毕竟术业有专攻。
(3)作为新的项目经理,这个产品的核心用户群是什么样的人,典型用户长什么样?学历,年龄,专业,爱好,收入,表面需求,潜在需求都是什么?
现代社会越来有信息化,IDE的接受群体并不仅仅局限于程序员。对于专业人士来说,它们可能对IDE的优化的要求比较高,因为程序员写的毕竟是源代码,真正跑在机器上的还是经过编译链接之后的二进制机器码,所以如果IDE能在编译、链接的时候对代码进行无错误的优化,使得同样的代码在vs上编译链接后产生的可执行文件比用别的IDE要更高效,这样的IDE会具有更大的竞争力。此外,IDE的报错纠错以及联想能力也会帮助程序员在编码和debug环节省下很多力气,这方面能力越强大的IDE当然后更引人注意。对于非专业和专业人士都很重要的是,编辑界面使用的流畅感,以及如何把一个工程中的复杂问题以一个简单的形式呈现在用户面前。