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

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

Remote Development插件官方介绍如下在这里插入图片描述

可以看出,用户的需求主要体现在以下几个方面

  • 远程连接:用户可以通过多种方式进行远程连接,如SSH、容器、WSL等。不同的连接方式应该能够满足不同用户的需求和偏好。
  • 文件传输:用户可以在本地和远程计算机之间进行文件传输,包括上传、下载和同步文件。这可以通过直接拖放、命令行或其他集成方式来实现。
  • 连接管理:用户可以方便地管理和配置多个远程连接,包括添加、编辑和删除连接配置。连接管理界面应该直观易用,允许用户轻松切换和访问不同的远程计算机或服务器。
  • 访问权限控制:用户可以对远程连接进行访问权限控制,确保只有授权用户可以进行远程访问。这可以通过身份验证、密钥管理或其他安全机制来实现。

本篇文章以SSH方式进行远程连接为例,进行需求分析与逆向工程。

SSH方式进行远程连接的需求分析

使用SSH进行远程连接需要考虑到以下几个方面的需求:

  • 安全性
  • 身份验证
  • 多平台支持
  • 连接管理

需求分析的两类基本方法为原型化方法和建模方法。
我们选择对SSH进行用例建模——

将需求提取用例,可以得到:

System: Remote-SSH
Actor: User
Use Cases:
	UC1: Connecting to a remote server
	UC2: Managing connections
	UC3: Using SSH keys for authentication
	UC4: File transfer and synchronisation

用例图如下:

在这里插入图片描述

对UC1:远程连接进行扩展用例表示,可以得到以下的表格

Actor: UserSystem: Remote-SSH
1.TUCBW:用户在VS Code中打开远程连接功能2.系统初始化连接管理函数
3.用户选择SSH连接选项,并输入远程服务器的IP地址或主机名。4. 系统查找服务器的IP地址是否正确,并查找密钥
5.用户提供必要的身份验证信息,如用户名和密码或私钥。6. 系统核验密钥,如果核验正确,则创建SSH连接登录到远程服务器
7.TUCEW 用户在远程服务器上可以访问和编辑文件。

逆向工程

对SSH进行远程连接这一用例进行逆向分析,可以得到其应该包括以下内容:

  1. 用户界面设计:分析信息的展示与交互方式,包括表格的设计,配置界面的显示,具体状态,例如错误信息的提示、连接状态的展示等等
  2. SSH协议解析:对SSH协议进行逆向工程,解析协议的消息格式、加密算法、身份验证流程和会话管理等细节。
  3. 远程连接管理:研究SSH客户端和服务器的连接管理机制,包括连接的建立、断开、保持活跃等细节,以及对多个并发连接的支持。
  4. 密钥交换算法:分析SSH协议中使用的密钥交换算法,如Diffie-Hellman算法或椭圆曲线算法,以了解密钥交换的具体实现和安全性。
  5. 加密和消息完整性校验:分析SSH协议中使用的加密算法和消息完整性校验算法,如AES、HMAC等,以理解数据传输的保护机制和安全性。

学号后三位:522

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值