【BUAA软工】软件案例分析

第一部分

安装并部署软件

visual studio code 安装

visual studio code 是一款轻量级的代码编辑IDE,安装十分简单,仅需要到官网选择下载对应的安装包,打开安装包后根据安装步骤一步一步操作即可。安装包需要选择对应系统,笔者使用的是windows系统因此选择Windows x64,并且版本有Stable和Insider两种,其中Stable是目前发行的版本最新的最稳定的版本,Insider是为对外发行的测试版本。这里选择Stable版本下载

下载安装后,打开vscode,这个时候vscode应该只是一个普通的编辑器,如果要作为开发环境开发相应语言的工程,需要安装相关语言的插件以及学会配置编译的快捷方式。以python为例,需要在左边的扩展窗口里搜索python插件,使vscode能支持python语言的检错。

这时候仅是让vscode支持了python语言的基本检错,而并不能编译运行python,需要编写相关的json配置文件,才能指定vscode执行相关的编译运行工作。json配置文件的写法网上有很多,这里仅做展示。配置文件写在当前工作区的./.vscode/文件夹下,就可以使vscode自动编译运行当前文件夹下的python文件。

visual studio 安装

visual studio是一款强大的IDE软件,与vscode的轻便不同,visual studio要比vscode要复杂,vscode很多相关配置文件是需要自己设定自己实现,而visual studio大部分都已经将配置文件给你配好了,只需要安装就行了。而且对于编程新手来说,visual studio会更适合,不仅不需要进行过多的配置,而且还具有debug,性能监测,优化编译生成等各种各样便捷开发者的功能。但同时,既然功能强大那必然会造成程序的复杂度,因此和vscode相比会显得笨重,而且不大美观。

安装visual studio也很简单,在官网选择相关版本下载installer即可。笔者选择的是2017版本的visual studio

打开installer,选择要安装的语言支持包,之后安装,这里以选择c语言为例

安装完visual studio后,不用像vscode那样需要配置多种插件才能支持编译运行,直接就可以创建工程进行程序编写。

体验软件功能

1.使用10–30分钟这个软件的基本功能(请上传使用软件的照片)

visual studio code 使用

使用vscode编写一个简单的python语言,输出从0-99的整数,并使用配置的任务自动运行:

可以观察到,vscode不仅外观简洁美观,并且在安装了python语言插件后,他可以自动为你识别语法,并且提供相关的语法检查和语法提示,以及自动补全功能,并且还会告知你相关函数的声明内容。在按下Ctrl+Shift+B后可以根据先前配置的json文件,一键运行python程序。

visual studio 使用

下面是我结对编程使用visual studio编写过程中的一个截图,是在对写好的代码进行单元测试。

visual studio的功能十分强大,不仅有相关语言的自动补全,代码提示,断点调试,而且还能进行各种性能测试,单元测试等等,各种配件都可以一键安装,不用像vscode样还需要写相关json,这对于刚刚接触这方面的新手来说确实是非常方便。

2.描述使用这个产品的过程,解决了用户的问题么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?

这两款IDE,总的来说都解决了用户的基础需求:编写代码并能够运行调试。这两款软件在各方各面都各有不同,也有不同的优缺点:

  • 界面上:

    • 在界面的简洁美观方面确实要吊打visual studio几条街,vscode的基本界面就是代码和资源管理,并且没有过多其他的装饰,
    • visual studio的各种信息提示栏太过于繁琐,即使能够关闭,但关闭后看起来仍是不如vscode简洁。
  • 数据量:
    • vscode非常轻量级,都是用户需要在让用户自己去手动配置。
    • visual studio由于功能非常强大,当你安装一个语言支持包后,就会将该语言支持包的各种调试工具,测试工具都统统给你下载了,虽然非常适合不知道装啥的新手,但是会占用大部分空间,并且减慢启动速度。
  • 功能:
    • 功能上这两者都表现的很优秀,虽然vscode的功能相对visual studio来说要少一些,但是也基本满足了用户的需求。并且vscode必要时也可以自己配置。
  • 准确度:
    • 由于vscode的大部分功能都由插件来提供,但是插件有官方的,有开源的,各种版本的插件很可能造成各种各样的不兼容问题,因此在使用上难免会出现一些冲突的问题。
    • visual studio的功能大部分都是由官方实现的,标准比较统一,因此错误率会低一些。
  • 用户体验:
    • 个人认为,大部分新手可能会喜欢visual studio,毕竟功能齐全也不用进行过多的配置,编程爱好者可能会喜欢vscode,毕竟美观以及轻量。而大工程的开发者可能选择visual studio会多一些,因为大工程配置可能比较复杂,用vscode不一定能够配置得来,并且相关的测试功能visual studio也比较强大。

3.对产品有什么改进意见?

总的来说vscode和visual studio的体验感还是不错的,希望这两个产品能够持续了解用户的需求,了解用户在使用时遇到的各种问题,并且能够在一定周期内进行修复和更新,提供新功能满足需求。

希望visual studio能够做一些优化,尽可能解决数据量大带来的笨重的问题,并且希望能够将界面设计的更加美观一些,显得不那么复杂。

测评并找bug

Bug 1:vscode退出时不提示保存可能会触发的问题

vscode在退出窗口时,如果窗口中有未保存的文件,vscode并不会提示保存,而是将你编写一般的程序默默的保存到了工作区缓存区中(并没有保存到原文件中)。这样当然有好处,就是当程序因莫名原因崩溃退出时,你编写一般的文件并不会丢失,再次打开vscode并打开上一次编辑的工作区或文件夹(注意必须是上一次编辑该文件的文件夹或工作区)便能够恢复自动保存的文件。

但是如果是你忘记保存文件,然后默默的点击了关闭窗口,然后再使用vscode打开另一个文件夹下的文件。那么当你再下一次打开vscode时,并不会再次帮你打开你上次忘记保存的那个文件的工作区。而你在磁盘下用其他编辑器打开该文件时并不是你最新修改完的文件。因此当你要找你之前写一半的文件时,你必须得用vscode再次打开同一工作区才能恢复。但是你如果忘了具体的工作区是哪个,那可能就会比较麻烦。

例如上图,笔者打开了在/week5/目录工作区下打开并编辑了test.txt文件,关闭vscode后用vscode打开/week5/test2/output.txt的文件,这时候你的test.txt文件并没有保存到磁盘,如果你能记得之前是使用/week5/文件夹工作区编辑的文件,那么还能找回文件,但如果你忘了而是打开了根目录/工作区,那么并不能恢复test.txt,而要找到原工作区不一定非常简单,如果目录结构非常复杂,那么可能需要一个一个尝试,会非常麻烦。

因此vscode可以完善一下这方面的功能,比如在主界面展示有未保存文件的工作区目录,以便用户方便的找回忘记保存的文件。

Bug 2:vscode使用系统自带的终端时存在吃字符的情况

当没有安装vscode的终端插件时,使用的是默认的系统终端。但是如果终端中存在的信息达到一定数量时,可能会存在吃字符的情况。比如使用vscode终端运行刚刚编写的简单python程序(输出0-99),当运行了几十次后,想往上翻看之前的运行结果,很可能会在中间某个地方看到某一次的运行结果的字符被吞了:

例如上图,在终端的某个位置,发现59这个结果不见了。这个bug曾经困扰了我很多次,比如在调试程序时,程序输出结果较长,想要往上翻翻输出的结果时却发现结果不见了,误以为是自己程序写出了bug。但使用了系统自带的终端后就没有问题了。因此这个bug虽然复现率并不高,但是造成的用户体验却并不好。

Bug 3:visual studio的部分自动补全存在bug

例如下图所示。使用visual studio写switch语句。当第一次进行自动补全时,可以将switch自动补全显示,但当第二次想要对switch变量进行修改时,按下自动补全的回车后,光标却自动跳到了后边的地方,需要重新输入才行,非常不方便。

我认为这个地方可能是某个功能和自动补全冲突了,因为可以观察到一开始出现的switch_on是红色字体的,可能这里存在某种提示功能,但我尚不明白此处是什么功能,导致第一次自动补全不能正常进行。并且这个bug是稳定复现的,用户体验不佳。

结论

  • vscode:非常推荐
  • visual studio:好,不错
  • 下表每项满分5分
visual studio code visual studio
核心功能 5.0 5.0
辅助功能 4.3 4.8
用户体验 5.0 4.0
美观 4.8 3.8
软件可拓展性 4.5 4.4
可成长性 4.3 4.0

原文地址:https://www.cnblogs.com/lpxofbuaa/p/12569154.html

时间: 2024-08-28 02:56:10

【BUAA软工】软件案例分析的相关文章

软件案例分析

软件案例分析 评测软件:CSDN APP 环境:iOS10.3.2 软件版本:v4.1.7 第一部分 调研,评测 1.体验 之前一直是用的是网页版,这次尝试了移动版,核心功能和网页版区别不大,虽然用手机编辑博客有点不舒服(可以看出已经很尽力优化体验了),但读博客还是很舒服的. 2.Bug 虽然整体功能不错,但还是有一些影响体验的小Bug: (顺便吐槽下博客园插入竖版图片咋这么大) 夜间模式不能做到全覆盖 打开夜间模式后,多数功能都能调整主题颜色至深灰色,但有些功能,一些是由于背景是由图片构成,无

[BUAA软工]个人总结

软工总结 一.课程初阅读提问博客 link Q1.1: 敏捷开发对于产品的可靠行要求不高? 这里的可靠性应当是相对而言,对于安防国防领域的软件,由于自身特性,在软件设计时首先考虑可靠性.相对来说,敏捷开发对于产品的可靠性要求要低一点点,容忍度好一点. Q1.2: 这本书适合作为教材吗? 我个人还是觉得,这本书和教材的定位并不同,让我选,是不会用这本书作为教材的.如果从开始筹划一本教材,那么它一定是完全针对于某一门具体的课,融合进多年的教学经验,凸显学习过程中的重点难点的,旨在为同学们构建一个完善

第四次作业——个人作业——软件案例分析

一.调研,评测 1.评测:对于这一部分我并没有发现什么bug,想来也是,毕竟该款软件已经发布了这么久,要是有bug早已被发现和修正了.就算现在有的话,以我目前的使用我是察觉不出来了,因为在此次作业之前用的也不是该款英语软件,我都是用“有道词典”. 而我测试该软件的平台是Windows7,软件版本:必应词典3.5.0,没有发现BUG. 2.调研:我所调查的用户对象都是在校的本科生,他们使用英语软件的目的有考四六级.看英语文章.检查代码运行报错原因等:他们本来也不知道“必应词典”该款软件,直到我要求

软工初体验

软件工程是设计思想,主要是运用现代科学技术知识来开发工程的相关文件资料.从软工开始就开始进入C/S的学习,这也就代表这我们的计算机学习进入正规化的阶段,软工视频看完很长时间了,一直没有总结起来,颗粒归仓是一件很重要的事,在接下来的学习中,一定注意总结! 软件工程的概论    软件有自己的生存周期,从开始使用到最后有新的软件代替这段时间是他的生存周期,而软件开发的生存周期:分析,设计,实现,调试,支持.与生存周期相对应的还有他在开发的过程中要注意的六个步骤:制定计划,需求分析,软件设计,编写程序,

软工15作业3——案例分析

题目 很多同学有误解: 软件工程课是否就是理论课? 或者是几个牛人拼命写代码,其他人打酱油的课? 要不然就是学习一个程序语言,搞一个职业培训的课? 都不对!软件工程有理论,有实践,更重要的是分析,思辨,总结.在课程中,自己组织团队写一个软件,然后分析,这样能根据切身体会来分析,很有价值,但也有可能"身在此山中",未能看清全局.而且,课程时间有限,我们也不能做很多具体的项目.因此,我们也需要从间接经验中学习,分析.别人的项目的成败同样能够给我们很多启发! 我们生活中很多时候要和软件打交道

【软工视频】软件、软件工程

现在正在学习软工视频,总结了一下什么是软件和软件工程的由来. 看到这张图,"软件"这个模糊的玩意儿就在我的大脑里异常清晰起来,so easy!我就不多说些什么了.. 软件的开发是一段历史,分别经历了程序设计.系统设计和软件工程.软工技术的发展,源于软件危机,可以说是软件危机敲开了软件工程的大门.. 看到这张图,我也没什么好说的,很清晰,也不值得写什么了,足矣!!大家可能会发现,红色的字体看不清,没关系,那不是重点.. 重点是软件工程的三要素:开发方法.工具和过程.它们三个共同构成了软件

【软工视频】软件、软件project

如今正在学习软工视频,总结了一下什么是软件和软件project的由来. 看到这张图,"软件"这个模糊的玩意儿就在我的大脑里异常清晰起来,so easy.我就不多说些什么了. . 软件的开发是一段历史.分别经历了程序设计.系统设计和软件project. 软工技术的发展,源于软件危机,能够说是软件危机敲开了软件project的大门.. 看到这张图.我也没什么好说的,非常清晰.也不值得写什么了,足矣! ! 大家可能会发现,红色的字体看不清,没关系,那不是重点. . 重点是软件project的

软工作业: (2)硬币游戏—— 代码分析与改进

软工作业: (2)硬币游戏-- 代码分析与改进 一.作业要求 1.Python 程序阅读理解 2.学习Python 编码风格指南中译版(Google SOC)(http://blog.csdn.net/damotiansheng/article/details/43867175),改进Python程序 3.设计游戏规则,使得慈善事业可持续. 地铁口放置硬币箱(初始值500硬币),顾客可取.可放.请设计一组规则,使得该钱箱永远有钱取(尽量符合实际) 注:参考http://www.cnblogs.c

系统分析师笔记-案例分析-软件开发方法

案例分析-软件开发方法 原型开发方法的问题: 1,客户时候已经看到了软件的工作版本,却无法理解,原因在于为了使原型能够很快使用,开发者没有考虑软件的总体质量和长期可维护性. 2,开发者常常需要实施上的折中使原型能尽快工作. XP(极限编程)缺点 1,"非要用文档时才编写",实际执行中非常容易不忽视文档. 2,简单设计.测试先行.重构.集体代码所有制.持续集成某种意义上维背了程序员的传统习惯. 3,小型发布.结对编程.每周工作40小时,经常让管理者不可理解. 4,现场客户实践经常无法得到