Skip to content

Latest commit

 

History

History
75 lines (73 loc) · 5.61 KB

161220179_RE2.md

File metadata and controls

75 lines (73 loc) · 5.61 KB

161220179作业2

访谈参与人员

  • 沈天琪:模拟客户
  • 艾山江:模拟需求工程师
  • 周科:记录员
  • 吴晗:记录员

访谈信息:(K表示客户,G表示需求工程师)

  • G:作为此次smart IDE的项目负责人,您希望我们此次的项目做成哪种类型?或者说市面上有没有类似的参考?
  • K:大致类似于vscode或者visual studio这类。
  • G:那您觉得我们相比这两类IDE,需要我们做出哪些创新、改进之类的呢?
  • K:你有用过visual studio吧,那你有没有觉得它的启动速度很慢呢?
  • G:是的,的确有这类感受。
  • K:那我就得需要我的这个smart IDE启动一定得快。
  • G:通常来说VS启动需要载入库函数之类的,所以会慢。至于咱们这个,我们会想尽方法给他的启动速度进行优化的。还有什么需求吗?
  • K:我记得VS是没法开发Java的。但我希望咱们的这个IDE可以开发这个世界上大部分流行的编程语言(榜单TOP10)。
  • G:这个是可以操作的。但通过机器给代码进行两类语言的相互转换,这个我们是很难完成的。
  • K:哦这个我们倒是不需要的。
  • G:那还是可以实现的。
  • G:请问一下贵公司是打算多少人同时运行这个软件呢?
  • K:大概30-50人吧。说起这个,我需要提一下,我们公司想要我们的程序员可以在本地编译代码,也可以上传到一个测试服务器上进行编译。小项目最好还是能够在本地编译,遇到大的项目就把它放在一个特别的生产集群上去编译。我们需要你给我们的程序员提供一个接口,可以自主选择上述两类编译方式。
  • G:可以的。那你们是否需要几个人同时编写一个项目,各自在各自的本地编写各自的部分,然后再一起编译呢?
  • K:按我们以往来看是不会需要2人及以上来共同完成一个项目的,当然也不排除后续可能会需要这个功能。这个需求暂时还是作为不必要需求来看吧。
  • G:明白了。那您对于这个产品的使用界面是否有什么要求呢?
  • K:我觉得可以让这个界面能够根据当前的天气情况,或者节日信息来提供自动更改界面风格的功能,这样至少可以让我们的程序员上班心情好一些。
  • G:好的。每个人的代码风格是不一样的,那我们需不需要提供一些特定的编写规则之类的呢?
  • K:我们公司是有代码审核的,不合规则的是会打回去重写的。对于软件这方面的要求也不是特别高。我想了一下,那是不是我们公司可以给定一个描述代码风格的文件,你的IDE能根据这个文件来对程序员的代码进行自动审核,这样也省去人工的麻烦了,你看可以吗?
  • G:是可以的。那你们这个IDE需不需要类似屏幕使用时间提示的功能呢?比如说到一定使用时间就会弹窗提醒程序员需要休息一会。
  • K:这个我觉得是可以的。
  • G:那您给我们多长时间来开发这款产品呢?大概多久需要提供第一次版本呢?
  • K:你觉得你们需要多久能开发完?
  • G:半年时间吧。
  • K:那什么时候能提供一个最基础的能运行的原型需要多久呢?
  • G:三个月吧。
  • K:那是可以的。你们打算用什么语言来编写我的这个产品呢?
  • G:Java或者C#
  • K:使用Java的话会不会影响程序运行效率呢?
  • G:稍慢,但也无伤大雅。您这个软件对运行环境有啥要求吗?
  • K:Windows上需要实现完整功能,在Linux上能够实现远程链接功能即可。
  • G:好的。产品开发完成以后,贵公司需要我们提供多久的代码维护时间呢?
  • K:Windows10的使用寿命再加上两年吧。
  • G:OK。贵公司的程序员一般来说是刚入职的应届毕业生,还是5年以上编程经验的程序员呢?
  • K:通常而言是2年编程经验以上,对市面上流行的IDE至少熟练掌握一款。然后就是我们公司程序员最主要用的语言就是C和Java.但是我们公司最近也在寻求转型,所以最好你们的IDE需要支持python和Go。后续升级可能会需要支持添加新的编程语言。
  • G:那我们的软件需要在最低那种配置的机器上支持流畅运行呢?
  • K:这个相对来说比较宽松。正常Core i5 7代,8g内存,128g 固态硬盘的电脑上能够流畅使用就可以了。
  • G:好的了解了。

需求整理:

  1. 启动运行性能快。
  2. 多语言支持
  3. 使用规模30-50人
  4. 支持多人同时编辑
  5. 自动更换UI界面
  6. 代码风格审查(规则自定义)
  7. 人性化服务(使用时间提示)
  8. 自动化检测内存泄漏
  9. 开发时限6个月
  10. 编写所用的语言
  11. 系统维护时间
  12. 适用人群
  13. 语言支持可拓展
  14. 运行机器性能要求
  15. 自动提供简易代码框架(后续讨论中加入)
  16. 按权重(相似度、历史被采用度)列出代码报错的相应可能解决方案(后续讨论中加入)
  17. 自动代码风格匹配(后续讨论中加入)
  18. 跨语言代码转换(后续讨论中加入)

基于Smart需求的整理:

  1. 自动更换UI界面(基于天气、节日)
  2. 代码风格审查(规则自定义)
  3. 人性化服务(使用时间提示)
  4. 自动化检测内存泄漏
  5. 自动提供简易代码框架(后续讨论中加入)
  6. 按权重(相似度、历史被采用度)列出代码报错的相应可能解决方案(后续讨论中加入)
  7. 自动代码风格匹配(后续讨论中加入)
  8. 跨语言代码转换(后续讨论中加入)