《软件系统设计与分析》周报告

2022秋《软件系统设计与分析》周报告

组别:第六组      周次:第四周(2022.10.3-2022.10.9)
实验名称图书管理系统
仓库地址图书管理系统

本周进展:

一、主要进展:

本周组内主要展开的仍然是各组员对自己负责代码的检查和修改,增添部分主要是增加一些类、增加存储文件用于存储密码系统中的账号密码。

新增内容:

  1. 实现了用户管理员类的开发;
  2. 实现了图书管理员类的开发;
  3. 实现了密码系统及登录认证等功能,并添加相关的测试代码;
  4. 实现了基本数据结构的文件存放。

优化内容:

  1. 优化了时间类;
  2. 优化了用户和书本的数据管理。

二、部分具体功能实现:

文件存储与加载:通过fstream、sstream等相关库函数实现。

密码系统及登录认证:主要通过MD5和哈希表算法等算法实现密码加密和账号密码匹配,不同的类(用户类、用户管理员类、图书管理员)实现类似,并使用文件存储账号密码等信息(加密过的);

详细代码完成情况请见git仓库(图书管理系统

目前仓库主要组成(大类包括一些数据结构与算法、文件存储加载、密码登录、类实现等信息):

三、本周遇到的问题以及如何解决:
1.怎么实现对结构体+vector的数据存放?

主要解决结构体类型的存放,与vector有关的操作大多可通过vector内置函数实现

在文件中只存放唯一的结构体数据时,可以分别把结构体中的每个变量分别进行存放(注意每个数据的存放大小),这样无需区分不同批次存放的数据、在存储方面没有规定的数据之间界限,只能通过记录数量等方式来体现;

在文件中需要区别每次存放行为或需要一些记录型的数据时,在上述方法的基础下还要加上类似制定协议的方法,指定开始符、结束符等特定字段(注意透明传输问题),使之能区分出每一次的存放行为(类似下图)。

2.如何测试各个函数功能?

主要通过黑盒测试和白盒测试两个测试方法展开。

黑盒测试:

​ 黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试。

​ 黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。

白盒测试:

​ 白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。

​ 测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sbOZsIVJ-1665321315890)(C:\Users\rem  busband\AppData\Roaming\Typora\typora-user-images\image-20221009211318166.png)]

参考文献:

1
2
黑盒测试
白盒测试

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值