团队作业3—需求改进&系统设计

这个作业属于那个课程广工2023软件工程课程
这个作业要求在哪里团队作业3—需求改进&系统设计
这个作业的目标需求、原型改进、系统设计、Alpha任务分配计划、测试计划

一、需求&原型改进

1. 选题及需求修改

问题1:系统的吞吐量会变大,但响应时间会变长
修改1:重构资源调度模块

问题2:测试和查错的复杂度增大
修改2:模块接口严格定义,日志模块进一步完善

2. 完善需求规格说明书

2.1 不足之处

模块任务较重,推进速度较慢
在这里插入图片描述

2.2 具体改进

重新分割任务,减少不必要的开发,减轻代码量

2.3 WBS

第 5 周1.团队组队、团队博客
2.团队介绍、成员展示、角色分配、选题确定
3.制定团队计划安排,团队贡献分的规定
第6周1.需求规格说明书
2.原型设计,队员估计任务难度并学习必要的技术
3.编码规范完成、平台环境搭建完成、初步架构搭建
第7周1.原型改进
2.团队成员估计各自任务所需时间
3.测试计划
第8、9周1. 团队项目Alpha任务分配计划
2. 连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交
第10周1.用户反馈+测试计划改进
2. 团队Alpha阶段个人总结
3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理
第11周1. 团队项目Alpha博客:事后分析

二、系统设计

1. 日志模块

  1. 支持 流式日志风格格式化风格,支持日志格式自定义,日志级别,多日志分离等
  2. 支持时间,线程id,线程名称,日志级别,日志名称,文件名,行号等内容的自由配置

2. 配置模块

  1. 采用约定由于配置的思想。定义即可使用。不需要单独去解析。支持变更通知功能。
  2. 使用YAML文件做为配置内容。支持级别格式的数据类型,支持STL容器,支持自定义类型的支持

3. 线程模块

  1. 线程模块,封装pthread库里面的一些常用功能,可以方便开发中对线程日常使用

4. 协程模块

  1. 协程:用户态的线程,相当于线程中的线程,更轻量级
  2. hook可以把复杂的异步调用,封装成同步操作。降低业务逻辑的编写复杂度。

5. 协程调度模块

  1. 协程调度器:管理协程的调度,内部实现为一个线程池,支持协程在多线程中切换,也可以指定协程在固定的线程中执行
  2. 一个N-M的协程调度模型,N个线程,M个协程。重复利用每一个线程

6. I/O协程调度模块

  1. 继承与协程调度器,封装epoll(Linux),并支持定时器功能(使用epoll实现定时器)
  2. 支持Socket读写时间的添加,删除,取消功能。
  3. 支持一次性定时器,循环定时器,条件定时器等功能

7. Hook模块

  1. hook 系统底层和socket相关的APIsocket io相关的API以及sleep系列的API
  2. hook的开启控制是线程粒度的,可以自由选择
  3. 通过hook模块,可以使一些不具异步功能的API,展现出异步的性能。如(mysql)

8. Socket模块

  1. 封装Socket类,提供socket API功能,统一封装地址类,将IPv4,IPv6,Unix地址统一起来
  2. 提供域名,IP解析功能

9. ByteArray序列化模块

  1. ByteArray二进制序列化模块,提供对二进制数据的常用操作
  2. 读写入基础类型 int8_t、int16_t、int32_t、int64_t 等,支持std::string的读写支持,支持字节序转化,支持序列化到文件,以及从文件反序列化等功能

10. TcpServer模块

  1. 基于Socket类,封装一个通用的TcpServer的服务器类:提供简单的API,使用便捷,可以快速绑定一个或多个地址,启动服务,监听端口,accept连接,处理socket连接等功能

11. Stream模块

  1. 封装流式的统一接口:将文件、socket封装成统一的接口
  2. 使用的时候,采用统一的风格操作
  3. 基于统一的风格,可以提供更灵活的扩展

12. HTTP模块

  1. 采用Ragel(有限状态机),实现HTTP/1.1的简单协议uri的解析
  2. 基于 SocketStream 实现 HttpConnection(HTTP的客户端) 和HttpSession(HTTP服务器端的链接)
  3. 基于 TcpServer 实现 HttpServer 。提供完整的HTTP的客户端API请求功能,HTTP基础API服务器功能

13. Servlet模块

  1. 仿照java的servlet,实现一套Servlet接口:ServletDispatch、FunctionServlet、NotFoundServlet
  2. 支持uri的精准匹配,模糊匹配等功能
  3. 和HTTP模块,一起提供HTTP服务器功能

三、alpha任务分配计划

在这里插入图片描述

四、测试计划

1. 产品是什么

分布式服务器框架

2. 测试内容

各模块独立测试

3. 测试定义与目的

此次测试为已有模块测试,测试要求广泛收集测试数据,确保测试的客观准确性,提高测试可信度,并据测试结果向开发人员反馈意见。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值