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

需求分析 

场景描述

        假设有一位软件开发者 Alice,她在使用 VS Code 编辑器进行 Python 开发。Alice 的代码仓库存放在远程服务器上,而且她需要在远程服务器上运行代码并调试。由于网络环境的限制,直接在本地运行代码会受到很大的延迟,因此 Alice 希望能够通过 VS Code 远程连接到远程服务器,并在该服务器上进行开发、编译和调试。

功能需求

  1. 连接到远程服务器:Alice 希望能够通过 VS Code 连接到远程服务器。
  2. 显示远程文件系统:Alice 希望能够浏览远程服务器上的文件,并在编写代码时方便地访问这些文件。
  3. 在远程服务器上运行代码:Alice 希望能够在远程服务器上通过 VS Code 运行自己的代码,并且能够在本地查看代码运行结果。
  4. 在远程服务器上调试代码:Alice 希望能够在远程服务器上通过 VS Code 调试自己的代码,并且能够在本地查看代码的调试结果。
  5. 在远程服务器上安装依赖项:Alice 希望能够通过 VS Code 在远程服务器上安装 Python 依赖项,以便于自己的代码能够正常运行。

非功能需求 

  1. 安全性:VS Code 连接到远程服务器时需要进行身份验证,确保连接是安全的。
  2. 性能:由于 Alice 的代码仓库存放在远程服务器上,因此需要确保连接和数据传输的性能和稳定性。

逆向工程 

实现方式

        VS Code Remote Development 功能基于 SSH 协议实现。用户可以在 VS Code 内部配置远程服务器的相关信息(如 IP 地址、用户名、密码/密钥等),然后通过 SSH 协议连接到远程服务器。VS Code 会将本地的 VS Code 编辑器界面映射到远程服务器上,并能够访问远程服务器上的文件系统、执行命令等操作。

        具体来说,VS Code Remote Development 实现了以下主要功能:

  1. 通过 SSH 连接远程服务器:用户在 VS Code 中配置远程服务器的相关信息(如 IP 地址、用户名、密码/密钥等),然后通过 SSH 协议连接到远程服务器。
  2. 显示远程文件系统:在连接到远程服务器后,VS Code 会将远程服务器上的文件系统映射到本地,用户可以通过 VS Code 访问远程服务器上的文件和目录。
  3. 在远程服务器上运行代码:用户可以在 VS Code 中编写代码,并使用 VS Code 内置的终端在远程服务器上执行自己的代码。代码的运行结果将返回到本地 VS Code 编辑器中。
  4. 在远程服务器上调试代码:用户可以使用 VS Code Remote Development 功能在远程服务器上进行代码调试。VS Code 会在远程服务器上启动调试进程,并将调试信息返回到本地 VS Code 编辑器中。
  5. 在远程服务器上安装依赖项:用户可以通过 VS Code 内置的终端在远程服务器上安装 Python 包管理工具(如 pip),并使用该工具安装自己需要的 Python 依赖项。

实现细节 

  1. 连接远程服务器:当用户在 VS Code 中配置好远程服务器的相关信息后,VS Code 会使用 SSH 协议连接到远程服务器。在连接时,VS Code 会将用户提供的身份验证信息(如用户名和密码/密钥)传输给远程服务器进行身份验证。如果身份验证成功,则会建立 SSH 通道并将本地 VS Code 编辑器界面映射到远程服务器上。

  2. 显示远程文件系统:在连接到远程服务器后,VS Code 会将远程服务器上的文件系统映射到本地,并在 VS Code 编辑器中以树状结构展示。用户可以通过 VS Code 访问远程服务器上的文件和目录,并在本地对其进行编辑、保存等操作。在编辑远程文件时,VS Code 会将更改上传到远程服务器上。

  3. 在远程服务器上运行代码:用户可以在 VS Code 内部编写代码,并使用 VS Code 内置的终端在远程服务器上执行自己的代码。在终端中输入运行命令后,VS Code 会将命令发送到远程服务器上执行,并将输出结果返回到本地 VS Code 编辑器中显示。

  4. 在远程服务器上调试代码:用户可以使用 VS Code Remote Development 功能在远程服务器上进行代码调试。首先需要在本地 VS Code 编辑器中设置好断点,然后使用 VS Code 内置的调试器启动远程服务器上的调试进程。在调试过程中,调试器会将调试信息返回到本地 VS Code 编辑器中显示。

  5. 在远程服务器上安装依赖项:用户可以通过 VS Code 内置的终端在远程服务器上安装 Python 包管理工具(如 pip),并使用该工具安装自己需要的 Python 依赖项。在终端中输入安装命令后,VS Code 会将命令发送到远程服务器上执行,并将输出结果返回到本地 VS Code 编辑器中显示。

总结 

        VS Code Remote Development 功能基于 SSH 协议实现,用户可以在 VS Code 中配置相关信息连接到远程服务器,实现对远程文件系统的访问、代码的编写、运行和调试,以及依赖项的安装等操作。在使用过程中,VS Code 会将本地的编辑器界面映射到远程服务器上,从而为用户提供了一种方式,使得能够像在本地开发一样方便地进行远程开发。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值