软件案例分析——VS、VS Code
软件案例分析——VS和VS Code
第一部分 调研,测评
一、使用10–30分钟这个软件的基本功能(请上传使用软件的照片)
VS code

Visual Studio

二、主要功能和目标用户有何不同,描述使用这个产品的过程,解决了用户的问题么?
VS是个一系列开发套件,vscosde是一个编译器
VS是Microsoft 开发的一系列的开发套件,是一个完整的开发工具集,包含了软件开发中所需要的大多数工具,例如UML工具,代码管理工具,IDE等。
vscode是一个单纯的编译器,专注于开发者最常用的功能:编译器+代码理解+调试。并通过使用海量插件来满足不同用户的需要。
跨平台能力上的区别
VS只能在Windows上运行,不能进行跨平台的编辑。vscode支持跨平台,例如:Win、Mac、Linux等平台
软件大小的差别
VS大小10G+,内置了编译工具,调试工具,各种语言的开发工具,全部都已经配置好了,可以做到开箱即用。vscode是一个简介的文本编辑器,占用的内存不超过100M,刚安装时相当于一个文本编辑器,需要安装各种插件才能开始使用。
目标用户的区别
VS致力于成为世界上最好 IDE,它的确也配得上这个称号。它巨大的体量保证了功能的完整性,实际体验的感觉也很不错,上手非常快。在我刚开始编程时使用的就是VS,它可以说是我编程的启蒙老师,无论是学习还是开发都非常方便。而vscode是最近流行的编辑器,它对mac和Linux环境下的用户非常友好,但在Windows上体验不如VS,它小巧的体型也预示着它要安装大量的插件才能适应各种开发环境。
总而言之,他们的功能有交叉,也有不同。VS有很多的高级功能,也许只有专业的开发人员才会用到,甚至在用过以后就产生了依赖,成为了它的付费用户。而vscode是轻量级编辑器,能够在各种平台上适应各种工程的开发。只是用VS一小部分功能的用户可能会选择更轻便的vscode来开发。
三、两个功能性BUG
- 我在使用VS写结对项目时需要下载插件,但是在扩展下载的时候会卡死不动,无法下载。在网上查找解决办法时发现这是一个普遍性的问题,据说是因为微软在国内的服务器很不稳定,解决方法是打开右侧了解详情去到浏览器中下载。

在使用QT+VS编写工程时,我才了解到了VS中Release和Debug两种调试功能的不同
- Debug通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任何优化,以为开发人员提供强大的应用程序调试能力。
- Release通常称为发布版本,是为用户使用的,一般客户不允许在发布版本上进行调试。所以不保存调试信息,同时,它往往进行了各种优化,以期达到代码最小和速度最优。为用户的使用提供便利。
但是在debug模式和release模式下程序执行的结果可能会不一致,这是因为在Release版本会对程序进行优化处理以提高代码的运行速度,对于错误的处理也没有debug编译时的全面,所以在debug编译时不是问题的问题都会暴露出来。例如:内存分配问题:变量未初始化;以及最为严重的“DLL的灾难”,当人们将不同版本的DLL混合在一起使用所造成的不一致称被称为“DLL Hell”。这种不一致只能在写代码时自己注意。
四、对产品有什么改进意见
微软作为计算机界的龙头之一,所开发的产品质量当然是毋庸置疑的。VS是我最喜欢使用的IDE,界面美观,使用方便。而VS code是我刚刚接触到的新编译器,所以两个软件能提供的建议都十分有限。
- VS在编译一个巨大的工程时可能会花费大量的时间,有时会显得十分卡顿,当程序较为复杂时语法检测的速度可能会更不上编程的速度,如果优化一下可能会更加优秀。
- VS code在今天下载好一打开就让我眼前一亮,他的界面十分简洁。但当真正使用起来时,对于环境的配置和插件的下载略显复杂。对于刚刚接触这款编译器的萌新来说很不友好,需要一些适应期才能熟悉。
五、软件评价
| 描述 | VS | VS Code | |
|---|---|---|---|
| 功能(20) | 编译器的强大性, | 19 | 18 |
| 界面(10) | 界面的美观 | 10 | 10 |
| 用户体验(10) | 用户使用时的舒适度 | 10 | 9 |
| 辅助功能(10) | 优化用户的使用体验的功能 | 10 | 9 |
| 扩展功能(10) | 支持插件扩展的程度 | 9 | 10 |
| 软件效能(10) | 启动速度,运行速度 | 8 | 10 |
| 软件的适应性(10) | 跨平台性 | 5 | 10 |
| 用户有控制权(10) | 让用户方便地从错误中恢复工作, 快捷操作键可调整。 | 9 | 9 |
| 软件的上手难度(10) | 10 | 8 | |
| 总分 | 90 | 93 |
两个软件我都十分推荐使用,而我自己在今后的学习工作中肯定离不开他们了。
第二部分 分析
1.使用此服务的所有功能,估计这个软件/网站/服务做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI支持)。
对于VS来说仅仅使用六人的计算机大学毕业生,我认为是非常困难的项目。VS背后应该是一个接近千人的团队共同开发的产品,它的许多功能我甚至都没有接触过,甚至以后也不会接触到,所以难度可想而知。我估计至少得需要五年的时间,才能开发出一个基本的结构,能够有一些基本的功能,例如IDE。想要彻底完善,可能需要更久的时间。
VS code:据我了解,VS code因其体量小的缘故,它的开发团队只有20多个人,大部分功能都是依赖插件,而插件都有对应的团队在开发,不用自己去操心。所以VS Code的开发相对于VS来说比较容易,我估计大概一年的时间就可以开发出可发行版。
2.分析这个软件目前的优劣(和类似软件相比),这个产品的质量在同类产品中估计名列第几?
作为VS的“老用户”,我认为它给我带来的体验是比较好的,无论是界面还是编写程序时的体验都很好。当然其他的同类工具例如:IDEA,Eclipse等,都有他们各自的优势,是好是坏都需要使用者自己去评判。但VS应该是这几年里我心中的业界第一,再加上微软这个靠山,我相信它带给用户的体验不会逊色与其他同行。
VS code据说是因为微软看不下去同类软件做的糟糕至极,所以要自己来开发一个。虽然这种说法具有夸张之意,但短短的体验也带给了我莫大的震惊,它如同万能拼图,想要什么形状都可以,使用过的人都连连称赞。所以,虽然交情不深,但我还是把它排到业界第一。
3.你在第一部分发现的bug,为何软件团队不能在发布前修复?他们是不知道,还是有意不修复?你觉得是什么原因?
第一个BUG可能是无法更根治的问题,也可能是因人而异的而问题,如果要彻底解决服务器不稳定的状况可能需要大量的投入,况且还有备用方案可以使用,所以解决它不是很大的问题。
第二个称不上是BUG,但在出现时微软也对它束手无策,但随着使用者的约定几乎解决了这个问题,只要将DLL的版本号写入文件夹中,识别到版本不同的DLL就拒绝编译。当大家都遵守编程规范时,这个问题就不是问题了。
第三部分 建议和规划
1.首先,市场有多大?潜在的用户有多少?
对于VS和VS Code来说,几乎所有接触到编程的人,上至项目经理,下至刚刚接触的小学生,都是潜在用户,可以说市场如大海般广阔。
2.目前市场上有什么样的产品了,它们的优势劣势在哪里?和它直接竞争的产品在那里?
因为这是一个很大的市场,所以竞争也相当的激烈。
VS和VS Code
本公司的明星产品。
NetBeans
NetBeans是一个免费开源的Java集成的开发环境软件,主要用于Java开发。适合从零开始或者对已有工程进行开发。NetBeans支持多种编译器,如CLang/LLVM、Cygwin(GNU)、MinGW和Oracle Solaris Studio。
NetBeans是一款跨平台的IDE,支持Windows,Linux,OS X等多种平台。
PyCharm
PyCharm是著名的PythonIDE,有知名的IDE开发商JetBrains出品。除了最常用的IDE功能支持外,PyCharm特别对Python Web开发进行优化设计(Django、Flask、Pyramid、Web2Py)。PyCharm还支持Google App Engine和IronPython/Jupyter。除了Python之外,它还支持其他Web开发语言:JavaScript、Node.js、CoffeeScript、TypeScript、Dart、CSS、HTML。它可以很容易地与Git,Mercurial和SVN等版本管理(VCS)工具集成。
IntelliJ IDEA
IntelliJ IDEA由Jet Brains出品的另外一款IDE。主要用于JAVA开发,集成了广泛的工具,可以用于Web和安卓移动应用程序开发。除了Java、Sass和Ruby之外,它还支持与Pycharm相同的语言。同样的它也支持Google App Engine,IDEA目前开源,有免费的社区版本,但是重要功能的版本是收费的。
Eclipse
被广泛应用的免费开源的Java编辑器和IDE。可以灵活的适用于初学者和专业人。有很好的插件机制,支持各种各样的扩展和插件。最初是一个Java IDE。现在扩展到支C/C ++,Java、Peri、PHP、Python、Ruby以及更多的语言。Eclipse也是一个跨平台的IDE,支持Windows、Linux和Mac OS X。
Code:: Blocks
Code:: Block免费开源的自由软件,是一款支持高度定制跨平台IDE,并坚持所有平台上执行始终如一地的效果。对于经常在不同平台切换的开发人员而言,非常方便。它主要支持C、C ++语言。还支持很多预设和定制插件。
3.作为新的项目经理,这个产品的核心用户群是什么样的人,典型用户长什么样?学历,年龄,专业,爱好,收入,表面需求,潜在需求都是什么?
本用户的核心用户群应该是软件的开发者和学习者,学历是本科及本科以上,年龄从18岁到38岁居多,专业大多是是计算机和软件,爱好是自己写代码、与他人一起写代码和阅读学习他人的代码,收入普遍较高。表面需求是寻找一款适合自己做软件开发和学习的工具,一定要用起来舒适方便。潜在需求是能够快且正确的写出尽量多还要清晰的代码。
4,如果你有钱可以招聘6个人,有4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?描述你的团队在16周期间每周都要做什么,才能在第16周如期发布软件的改进版本,并取得预想中的成绩。
| 时间 | 开发 | 测试 | 美工 |
|---|---|---|---|
| 1-8周 | 4 | 1 | 1 |
| 8-14周 | 2 | 2 | 2 |
| 15-16周 | 2 | 3 | 1 |
一个项目最终要的就是开发,开发者必须思路清晰,分工合理,最后的成品才能经得住检验,所以开发者之中一定要有一个先锋角色来引导团队的开发。在前8周,必须快而好的拿出一个半成品,需要许多人力,而测试和美工不需要太着急。在8-14周要抓紧时间完善美工,同时推进测试的进行,软件开发进入收尾阶段。12-16周,最后的时间里要确保软件处于最佳状态,测试成为了重中之重同时开发者要修复之前犯下的错误。我相信16周之后一定能取得好的成绩。
软件案例分析——VS、VS Code的更多相关文章
- 软件案例分析——VS和VS Code
软件案例分析--VS和VS Code 项目 内容 这个作业属于哪个课程/ 2020年春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里? 软件案例分析 我在这个课程的目标是? 提高代码水平,熟 ...
- 【BUAA软工】软件案例分析
项目 内容 课程:2020春季软件工程课程博客作业(罗杰,任健) 博客园班级链接 作业:BUAA软件工程结对编程项目作业 作业要求 课程目标 学习大规模软件开发的技巧与方法,锻炼开发能力 作业目标 个 ...
- 2020BUAA软工个人博客作业-软件案例分析
2020BUAA软工个人博客作业-软件案例分析 17373010 杜博玮 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人博客作业-软件案例分 ...
- BUAA2020软工作业(五)——软件案例分析
项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 软件案例分析作业 我在这个课程的目标是 进一步提高自己的编码能力,工程能力 这个作业在哪个具体方面 ...
- BUAA软件工程_软件案例分析
写在前面 项目 内容 所属课程 2020春季计算机学院软件工程(罗杰 任健) (北航) 作业要求 软件案例分析 课程目标 培养软件开发能力 本作业对实现目标的具体作用 对案例进行分析以学习软件开发的经 ...
- SE_Work4_软件案例分析
项目 内容 课程:北航-2020-春-软件工程 博客园班级博客 要求:分析软件案例 个人博客作业-软件案例分析 班级 005 这个作业在哪个具体方面帮助我实现目标 分析对比一类软件,学会规划分析软件的 ...
- “深度评测官”——记2020BUAA软工软件案例分析作业
项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任建) 这个作业的要求在哪里 个人博客作业-软件案例分析 我在这个课程的目标是 完成一次完整的软件开发经历并以博客的方式记录开发 ...
- BUAA SE 软件案例分析-CSDN
Q A 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人博客作业-软件案例分析 我在这个课程的目标是 系统地学习软件工程开发知识,掌握相关流程和技术,提升 ...
- [软工作业]-软件案例分析-CSDN
[软工作业]-软件案例分析-CSDN(app) 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人博客作业-软件案例分析 我在这个课程的目标是 ...
随机推荐
- Docker(40)- docker 实战三之安装 ES+Kibana
背景 参考了狂神老师的 Docker 教程,非常棒! https://www.bilibili.com/video/BV1og4y1q7M4?p=16 es 前言 es 暴露的端口很多 es 十分耗内 ...
- openswan中的in_struct和out_struct函数
openswan中的in_struct和out_struct函数 文章目录 openswan中的in_struct和out_struct函数 1. 花絮 2. in_struct代码实现分析 3. 它 ...
- [CVE-2020-1956] Apache Kylin远程命令执行漏洞复现
Apache Kylin是一个开源的.分布式的分析型数据仓库,提供Hadoop/Spark之上的 SQL 查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由 eBay 开发并贡献至开源社区. ...
- bash-completion linux命令补全
1.有时候用docker run 或者kubectl 想tab补全的时候用不了 这个时候可以安装一个神奇的包bash-completion yum install bash-completion 2. ...
- electron-vue 开发问题合集
(一)Found 'electron' but not as a devDependency, pruning anyway 原因:对electron没有严格要求的话可以忽略,不影响打包,但会影响第三 ...
- npm WARN ajv-keywords@2.1.1 requires a peer of ajv@^5.0.0 but none is installed. You must install peer dependencies yourself.
解决: npm install -g npm-install-peers npm install -g npm npm i ajv 但是好像没啥用
- 🧚♂️全套Java教程_Java基础入门教程,零基础小白自学Java必备教程👨💻004 # 第四单元 流程控制语句上 #
一.本单元知识点概述 二.本单元目标 (Ⅰ)重点知识目标 1.if语句的格式及执行流程2.switch语句的格式及执行流程 (Ⅱ)能力目标 1.掌握if语句的格式及执行流程2.掌握switch语句的格 ...
- Dockerfile 的常用参数注解和范例
一. docker hello world 1.1 Dockerfile FROM centos:7.5.1804 MAINTAINER 11@qq.com CMD echo "hello ...
- P3170-[CQOI2015]标识设计【插头dp】
正题 题目链接:https://www.luogu.com.cn/problem/P3170 题目大意 给出\(n*m\)的网格上有一些障碍,要求用三个\(L\)形(高宽随意,不能退化成线段/点)覆盖 ...
- WPF进阶技巧和实战03-控件(5-列表、树、网格04)
ListView控件 ListView继承自简单的没有特色的ListBox,增加了对基于列显示的支持,并增加了快速切换视图或显示模式的能力,而不需要重新绑定数据以重新构建列表. ListView类继承 ...