从需求分析到软件设计

文章讨论了VSCode的RemoteDevelopment功能,特别是通过GitHubCodespaces进行远程开发的用例。需求分析包括创建和编辑codespace,以及在远程环境中进行编码。逆向工程涉及通信协议、安全性、会话管理和性能优化等方面。文章还提到了需求分析对于项目的重要性以及可能带来的挑战。
摘要由CSDN通过智能技术生成

以VS Code Remote Development相关功能为例,选择一个用例进行需求分析和逆向工程,按课堂要求完成一篇博客文章。


VS Code Remote Development功能

        通过vscode得官方文档可以得知,Remote Dev允许用户使用容器、远程计算机或 WSL作为完善开发环境。用户可以做到在同一操作系统上进行开发,或者分离开发环境等。Remote Dev packages中的扩展都可以直接在容器内、WSL 中或远程计算机上运行。总而言之,我们无需在本地搭建繁琐复杂得环境进行开发,甚至无需在本地上保存源代码!这一特点具有便捷、安全的意义,使使用者感觉像在本地运行时一样。其架构如下所示:        

        vscode remote有许多用例,包括但不限于ssh、live share等。

       


用例选择--GitHub Codespaces

        github是十分常用的远程仓库,通过vscode进行基于远程库的合作开发是十分常见的场景。再次基础上,GitHub提供了codespaces功能。开发者不仅限于通过远程库进行版本管理了,现在甚至可以直接进行远程开发。而vscode也配备了这一remote dev插件。

         GitHub Codespaces 为任何项目提供云托管的开发环境。用户可以从Visual Studio Code或基于浏览器的编辑器连接到Codespace。此外,GitHub Codespaces 为开发环境带来了许多好处,这些优势通常是为生产工作负载保留的,例如可重复性和可靠性。GitHub Codespaces 也是可个性化的,允许开发人员自定义。


需求分析

1、创建codespace

可以看到,需求有:创建新的codespace

2、编辑codespace

        在codespace初始选项中,需求有,选择模板代码仓库、初始分支、地区选择、机器类型选择等。用户可以根据自己的需要自定义这个空间,类似于华为的云ai平台。当然,可能都是要付费的。

3、进行Codespace code!

        可以看到,我们就进入了一个“网页版”的vscode。同样的,如果使用vscode codespace插件,也大差不差。资源管理器中是默认的仓库模板,包含了基本的前端目录,npm包管理,git版本管理等。在这个编辑器上,我们可以编写配置进行debug,或生成页面,添加扩展等,简直和本地使用vscode别无两样。

        在此页面的需求有:链接远程环境

        当然会有人说,那岂不是可以当作远程的服务器使用。当然可以,但是限时。

 4、用例图


逆向工程

  1. 通信协议和传输方式:远程连接到代码仓库的通信协议和传输方式。可能是SSH、HTTPS等,在使用远程仓库时也有各种连接到github的方式。针对选择的协议和传输方式,需要了解其相关规范和实现细节。例如,如何与远程环境建立链接以及传输数据,如何控制远程环境。

  2. 身份验证和安全性:在创建codespace时就需要指定用户,在之后用户离开后,研究如何对环境进行保存,以及用户登录后如何回复,如何在远程安全保存代码,防止身份攻击。
  3. 连接管理和会话保持:在用户远程编辑代码时,需要保持稳定的链接,并考虑自动保存等问题。
  4. 远程文件系统访问:需要考虑如何实现远程文件系统访问,包括文件的上传、下载和同步等,以便于用户同步代码、扩展、静态资源等。同时研究文件系统访问的协议和API,如SSH文件传输协议(SFTP)等。
  5. 用户界面和交互设计:分析用户界面的实现,如何连接到远程编辑器并通过浏览器等显示出来。研究如何模拟本地用户的各种具体需求,使用户感觉不到远程本地的差异等。
  6. 错误处理和故障恢复:研究远程连接中可能出现的错误和异常情况,如连接失败、网络中断等。分析错误处理机制和故障恢复策略,以保证系统的可靠性和稳定性。
  7. 性能优化:分析远程连接的性能瓶颈和优化点,如减少连接建立时间、优化数据传输速度等。了解并研究相关技术和算法,以提升系统的性能和响应速度。

感想

需求分析是一个好的项目的开始,需求分析越完备,在我看来会产生一下两条问题:

1、软件 Erosion,需求越来越跟不上实际生产的要求。

2、无止尽的新需求,改都改不完。。。

逆向工程是竞品提升的通道之一,也比较关键,但是我不是很懂。

就像最早的电话黑客,分析实现方式,很有极客范!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值