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

一、需求分析

        需求分析是软件工程中的重要步骤,它是确定和理解软件系统所需功能和性能的过程。在需求分析阶段,软件工程师与客户或用户密切合作,收集和明确软件系统的需求,并将其转化为可操作的规范,为后续的设计和开发提供基础。

        VS Code Remote Development 是 Visual Studio Code的一个功能扩展,可以让用户进行远程开发,包括远程编辑、调试代码等功能。VS Code Remote Development可以让用户进行远程代码的编辑等开发工作。

        分析其工作的整个流程,可以明确他的整个功能需求主要是以下几个方面:

  • 远程连接至服务器:用户通过VS Code远程连接插件,与远程服务器建立连接。
  • 文件传输:用户能从本地计算机上传或者下载文件及文件夹到远程主机。
  • 建立远程工作区:用户在本地的VS Code界面中打开远程工作区,可以编辑、调试和运行远程服务器上的代码。
  • 远程调试:用户可以使用VS Code的调试功能,在远程服务器上进行代码运行和调试。

        另外的非功能需求如下所示:

  • 高可靠性:要保证数据传输的稳定性和正确性,避免消息丢失。
  • 安全性:现在网络安全是必须要考虑的一个问题,应该采用必要的安全措施来保护安全性,比如身份验证以及消息加密等
  • 高性能:客户和服务器之间的通信应该要流畅且相应速度快,不影响客户的操作。

        我们从其中抽取用例分析如下:

  • 系统:VS Code 远程开发系统
  • 用户: VS Code 用户
  • 抽象用例:
    • 远程连接服务器
    • 文件传输
    • 建立远程工作区
    • 远程调试

        我们得到的用例图如下所示:

 二、逆向工程

        逆向工程是指通过对产品、系统或设备进行分析和研究,以了解其内部结构、工作原理和设计特点的过程。

        查询资料,VS Code Remote Development插件包括了两个部分即客户端和服务器端两部分,客户端负责与用户交互,并将请求发送到远程服务器,服务器负责处理请求并把结果返回。

         在官方网站上面也有一个原理图如下:

         我选取的是远程连接到服务器的用例,对于这个用例,进行了以下分析:

  1. 连接前:
  • 通信协议和传输方式
    • 由上面的图和查阅的资料也可以知道VSCode采用的是SSH连接的方式
    • 针对SSH连接,SSH建立连接的过程主要分为下面几个阶段:
      • SSH协议版本协商阶段:客户端通过TCP三次握手与服务器的SSH端口建立TCP连接。服务器通过建立好的连接向客户端发送一个包含SSH版本信息的报文来协商
      • 密钥和算法协商阶段:服务器端和客户端分别发送算法协商报文给对端,服务器端和客户端利用Diffie-Hellman密钥交换算法,主机密钥对等参数,生成共享密钥和会话ID。
      • 认证阶段:客户端向服务器端发送认证请求,请求中包含用户名,认证方法,密码或密钥。服务器端对客户端进行认证,如果认证失败,则向客户端发送失败消息,其中包含可以再次认证的方法列表。
      • 会话请求阶段:服务器等待客户端请求。认证完成后,客户端想服务器发送会话请求,服务器处理客户端请求。
      • 交互会话阶段:客户端将要执行的命令加密发送给服务器。服务器收到后,解密命令,执行后将结果加密返回客户端。
  • 身份验证和安全性
    • 这个其实在上面SSH的连接过程中已经体现,连接的时候就会进行用户名和密码的验证才会进行后面的操作。

      2.连接过程中:

  • 连接的管理和会话保持:研究如何管理远程连接和会话的生命周期,包括连接的建立和断开。
  • 错误处理和故障恢复
    • 研究远程连接中可能出现的错误和异常,如连接失败和网络中断。
    • 分析错误处理机制和恢复策略以保证系统的高可用性和稳定性。

 三、 总结

        需求分析和逆向工程是软件开发和系统设计过程中的两个关键概念,它们在不同的阶段和目的下发挥着重要的作用。通过对VS Code Remote Development相关功能的需求分析可以确保开发团队和用户之间的沟通准确无误,避免误解和偏差,最终得到用户满意的产品。通过逆向工程,开发团队可以获取关于已有系统的深入信息,为改进、集成或替换系统提供依据。这也是我们以后的工作中经常要做到的地方,所以这次实验也让我熟悉了整个流程,受益匪浅。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值