作业4:从需求分析到软件设计

        VS Code Remote Development允许开发人员通过本地的Visual Studio Code编辑器与远程开发环境进行连接。

        选择  VS Code Remote Development 项目作为用例进行需求分析和逆向工程

需求分析

功能需求

  1. 允许用户通过 SSH、容器或 Windows 子系统连接到远程主机。
  2. 在本地打开远程文件夹并在本地 VS Code 编辑器中进行编辑。
  3. 提供本地和远程之间的文件同步和自动更新机制。
  4. 用户需要选择将代码运行在远程主机上,而不是本地计算机上。
  5. 用户需要能够断开与远程主机的连接。
  6. 用户需要等待VS Code建立连接,并确认连接成功。
  7. 用户需要能够在VS Code中打开远程主机上的文件或目录,并在本地计算机上进行编辑。

性能需求

1.低延迟

2.在多种网络环境下提供稳定的连接和操作性能。

3.对 CPU 和内存资源的占用要求较低

安全需求

  1. 保护用户的身份验证信息和连接安全。
  2. 防止对远程主机进行未授权的访问或更改。
  3. 防止网络攻击或恶意注入

逆向工程

        对代码库进行分析,以确定其实现细节。VS Code 使用 Electron 作为底层框架,并使用 TypeScript 进行开发。其中,插件可以访问 VS Code API 来扩展编辑器的功能。 

        识别系统的组成部分和之间的关系:该系统由本地计算机、远程主机和VS Code Remote Development插件组成。本地计算机和远程主机之间通过SSH或Windows远程桌面建立连接,VS Code Remote Development插件作为连接和编辑器的中间层。

        识别系统的输入和输出:系统的输入是用户输入的IP地址、主机名和登录凭据,以及用户在VS Code中进行的编辑和代码运行命令;系统的输出是在本地计算机上打开并编辑远程主机上的文件、将更改同步到远程主机上以及在远程主机上运行代码的结果。remoteExplorer.ts 提供了与远程资源管理器相关的类和函数。其中最重要的类是 RemoteFileService 和RemoteFileSystemProvider,它们分别处理文件服务和文件系统提供程序的功能。

        识别系统的功能和特性:该系统的主要功能是让用户能够在本地计算机上使用VS Code编辑远程主机上的文件,并能够在远程主机上运行代码。特性包括自动同步文件更改、断开与远程主机的连接等。extensionHostProcessManager.ts 管理远程扩展主机进程的生命周期。在用户打开远程文件夹时,该组件会运行并启动扩展插件进程,在本地 VS Code 编辑器中显示远程扩展插件。

        识别系统的限制和局限性:该系统需要远程主机安装SSH或Windows远程桌面服务,并需要用户进行连接验证。同时,该系统的性能可能受到网络延迟等因素的影响。environmentService.ts 提供了用于获取和设置 VS Code 环境变量的方法。该模块还包含 DataprotocolServer 类,该类充当数据协议服务器并接受来自客户端的请求和响应。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值