jsjdafasdfadsf

案例1、补充完整详细设计说明内容

下面是某银行管理系统的详细设计说明书的部分内容,其中对银行系统管理员功能的需求如下:

A、用户查询信息管理:可开户,销户,查询用户。

B、卡管理:可办理储蓄卡,办理信用卡,注销卡。

C、财务报表管理:可以统计该银行的用户和其相应卡的余额。

下面是对用户管理模块、系统后台信息管理模块的描述,请按照要求补充完整对应的说明。

用户管理模块

● 功能:( 1 )。

● 性能:为用户提供存款操作界面。

● 输入项目:( 2 )。

● 输出项目:卡号,卡内余额,操作记录,操作时间等。

系统后台信息管理模块

(1)自动还款管理:

● 功能:用户将信用卡绑定到储蓄卡上,并且通过储蓄卡自动给信用卡进行还款。

● 性能:为用户提供自动还款界面。

● 输入项目:( 3 )。

● 输出项目: 如果自动还款成功,则提示用户"自动还款成功!";如果自动还款失败,则提示用户"余额不足!"

答案:

用户管理模块

1:根据不同条件查询用户信息,若无用户信息,则用户需录入的基本信息(如姓名、身份证号、联系方式等),并为其创建一个唯一的用户账号。用户通过该账号,可进行存款操作。

2:姓名、身份证号、联系方式、地址、职业、初始存款金额等。

系统后台信息管理模块

(1)自动还款管理:

3:信用卡信息:信用卡号、持卡人姓名、信用卡有效期。储蓄卡信息:储蓄卡卡号、持卡人姓名、储蓄卡密码。自动还款设置:还款方式(全额还款或最低还款)、还款日期、还款金额。

案例2、补充完整详细设计说明内容

下面是某在线交流平台系统的详细设计说明书的部分内容,其中对该系统管理员功能的需求如下:

A、帖子管理:管理员查看帖子列表,逻辑审核、删除帖子。

B、标签管理:管理员查看标签列表,添加标签,修改标签信息。

C、用户管理:管理员查看用户列表,删除、恢复用户。

下面是对系统管理模块、查询统计模块、基础数据管理模块的描述,请按照要求补充完整对应的说明。

用户管理模块

● 功能:( 1 )。

● 性能:为用户提供登录界面。

● 输入项目:( 2 )。

● 输出项目:用户名密码匹配,输出"登录成功!";用户名密码匹配失败,输出"密码错误!"。

帖子管理模块

(1) 查看帖子管理:

● 功能: ( 3 )。

● 性能:为用户提供查看帖子页面

● 输入项目:帖子名称。

● 输出项目: 帖子信息。

(2) 收藏帖子管理:

● 功能: 收藏帖子

● 性能:( 4 )。

● 输入项目: ( 5 )。

● 输出项目: 正则成功,负则失败。

答案:

用户管理模块

1:用户登录。

2:用户名和密码。

帖子管理模块

3:查看帖子。

4:为用户提供收藏帖子的页面。

5:当前登录用户的唯一ID和被收藏帖子的唯一ID。

案例3、补充完整详细设计说明内容

下面是某合同管理系统的详细设计说明书的部分内容,其中对合同系统管理员功能的需求如下:

A、系统权限管理:可以进行系统维护、权限分配。

B、合同流程管理:可进行合同流程配置。

C、操作管理:对业务操作只能查询,不能对自己授予业务继续新增、修改、删除等操作。

下面是对系统管理模块、查询统计模块、基础数据管理模块的描述,请按照要求补充完整对应的说明。

系统管理模块

(1) 分配合同管理:

● 功能: 管理员选择状态为"起草"的待分配合同,指定参与会签、审批、签订的人员完成分配。

● 性能:为用户提供分配合同管理操作界面。

● 输入项目:( 1 )。

● 输出项目:待分配合同列表、合同基本信息和用户列表信息。

(2) 角色管理

● 功能: 管理员可以对系统的角色进行新增、查询、修改和删除操作。

● 性能:为管理员提供新增角色界面。

● 输入项目:( 2 )。

● 输出项目:新增成功:在新增角色页面提示"添加成功!";新增失败:提示角色权限信息不能为空。

查询统计模块

(1) 合同信息查询管理:

● 功能: 可以根据合同编号进行合同查询。

● 性能: ( 3 )。

● 输入项目:( 4 )。

● 输出项目: 显示符合查询条件的合同。

答案:

系统管理模块

1:管理员在分配合同管理界面选择合同类型(会签、审批、签订)。

2:管理员在新增角色界面填写角色基本信息(角色名称、角色描述等)以及选择菜单访问权限和操作权限。

查询统计模块

3:为用户提供合同信息查询界面。

4:用户在合同信息查询界面输入合同编号

实操视频一、根据题目描述,编写Java代码完成测试。

测试用例说明:

|--------|----------------------|----------|-----------------------|
| 序号 | 输入密码 | 预期输出 | 测试描述 |
| 1 | ""(空字符串) | "错误" | 验证空字符串输入的处理 |
| 2 | "a"(长度1) | "错误" | 验证长度小于等于6的输入 |
| 3 | "abc123"(长度为6) | "错误" | 验证长度等于6的输入 |
| 4 | "abc1234"(长度7) | "弱密码" | 验证长度大于6且仅包含数字和小写字母的输入 |
| 5 | "ABCDEFG"(长度7,大写字母) | "强密码" | 验证包含大写字母的输入 |
| 6 | "abc123@"(长度7,含特殊字符) | "强密码" | 验证包含特殊字符的输入 |
| 7 | "1234567"(长度7,全数字) | "弱密码" | 验证仅包含数字的输入 |
| 8 | "abcdefg"(长度7,全小写字母) | "弱密码" | 验证仅包含小写字母的输入 |

具体代码如下:

package test;

import static org.junit.Assert.assertEquals;

import org.junit.jupiter.api.Test;

public class PasswordCheck {

//测试密码空字符串

@Test

public void testEmptyPassword() {

String result=check("");

assertEquals("测试空字符串","错误",result);

}

//测试输入密码过短

@Test

public void testShortPassword() {

String result=check("a");

assertEquals("测试过短密码","错误",result);

}

//测试长度等于6的密码

@Test

public void testPasswordlengthEqual6() {

String result=check("abc123");

assertEquals("测试长度等于6的密码","错误",result);

}

//测试仅含有数字和小写字母的密码

@Test

public void testWeakPasswordAllLowerDigit() {

String result=check("abc1234");

assertEquals("测试仅含有数字和小写字母的密码","弱密码",result);

}

//测试包含大写字母的密码

@Test

public void testStrongPasswordWithUpppercase() {

String result=check("ABCDEFG");

assertEquals("测试包含大写字母的密码","强密码",result);

}

//测试包含特殊字符的密码

@Test

public void testStrongPasswordWithSpecialChar() {

String result=check("abc123@");

assertEquals("测试包含特殊字符的密码","强密码",result);

}

//测试全数字密码

@Test

public void testWeakPasswordAllDigits() {

String result=check("1234567");

assertEquals("测试全数字密码","弱密码",result);

}

//测试全小写字母密码

@Test

public void testWeakPasswordAllLowercase() {

String result=check("abcdefg");

assertEquals("测试全小写字母密码","弱密码",result);

}

public String check(String password) {

if (password.isEmpty()) {

return "错误";

}

int length = password.length();

if (length <= 6) {

return "错误";

}

if (password.matches("0-9a-z+")) {

return "弱密码";

} else {

return "强密码";

}

}

}

实操视频二、根据题目描述,编写Java代码完成测试

测试用例描述:

|----|----------------------------------|-----------------------------------|------|----------------------------|
| 序号 | 测试用例名称 | 测试用例描述 | 输入数据 | 预期结果 |
| 1 | 测试账号不能为空 | 测试账号信息不能为空字符串 | 账号信息 | 账号信息不为空 |
| 2 | 测试账号不能小于6位数(或需大于5位数) | 测试账号长度不能太短,不能小于6位数(或需大于5位数) | 账号信息 | 账号位数不小于6位数(或需大于5位数) |
| 3 | 测试账号不能大于等于12位数(或需小于12位数) | 测试账号长度不能太长,不能大于等于12(或需小于12位数) | 账号信息 | 账号位数大于等于12位数(或需小于12位数) |
| 4 | 测试账号第一位必须是大写或小写的英文字母 | 测试账号第一个字符必须是大写或小写的英文字母 | 账号信息 | 账号第一位是大写或小写的英文字母 |
| 5 | 测试账号后续位数可以是任意数量的大写或小写英文字母、下划线或数字 | 测试账号后续字符串可以是任意数量的大写或小写英文字母、下划线或数字 | 账号信息 | 账号后续位数可以包含大写或小写英文字母、下划线或数字 |

具体代码如下:

package test;

import static org.junit.jupiter.api.Assertions.assertFalse;

import static org.junit.jupiter.api.Assertions.assertTrue;

import org.junit.jupiter.api.Test;

public class AccountCheck {

//1. 空字符串测试

@Test

public void testEmptyString() {

assertFalse(check(""));

}

//2. 长度边界测试

// 长度=5 (<6),预期 false

@Test

public void testTooShort() {

assertFalse(check("abcde"));

}

// 长度=6 (合法最小值),预期 true

@Test

public void testMinimumLength() {

assertTrue(check("abcdef"));

}

// 长度=11 (合法最大值),预期 true

@Test

public void testMaximumLength() {

assertTrue(check("abcdefghijk"));

}

// 长度=12 (≥12),预期 false

@Test

public void testTooLong() {

assertFalse(check("abcdefghijkl"));

}

//3. 首字符测试

// 首字符=字母,预期 true

@Test

public void testStartWithLetter() {

assertTrue(check("user123"));

}

// 首字符=数字,预期 false

@Test

public void testStartWithDigit() {

assertFalse(check("1user23"));

}

// 首字符=_,预期 false

@Test

public void testStartWithUnderscore() {

assertFalse(check("_user23"));

}

//4. 内容字符测试

// 包含字母、数字、_,预期 true

@Test

public void testValidCharacters() {

assertTrue(check("a_123_B"));

}

@Test

public void testInvalidCharacters() {

// 包含非法字符 !,预期 false

assertFalse(check("user!23"));

// 包含空格,预期 false

assertFalse(check("user 23"));

// 包含 -,预期 false

assertFalse(check("user-23"));

}

public boolean check(String account) {

if (account.isEmpty()) {

return false;

}

int length = account.length();

if (length < 6 || length >= 12) {

return false;

}

if (account.matches("a-zA-Za-zA-Z_0-9*")) {

return true;

}

return false;

}

}

实操视频三、根据题目要求,使用工具进行功能调试。

具体代码如下:

/**

* @Description 颜色类

* @Author THINKPAD

* @Date 2025/4/9 18:35

* @Version 1.0

**/

public class ColorX {

private int red, green, blue;

public ColorX() {

red = 0;

green = 0;

blue = 0;

}

public ColorX(int red, int green, int blue) {

this.red = red;

this.green = green;

this.blue = blue;

}

@Override

public String toString() {

return String.format("%02X%02X%02X", red, green, blue);

}

}

/**

* @Description 调色板类

* @Author THINKPAD

* @Date 2025/4/9 18:36

* @Version 1.0

**/

public class Palette {

public int number; // 颜色数

private ColorX\[\] palette; // 颜色表

public Palette(ColorX\[\] palette, int number) {

this.number = number;

this.palette = palette;

}

public void addColor(ColorX color) {

this.palettethis.number = color;

this.number+=1;

}

@Override

public String toString() {

StringBuffer sb = new StringBuffer();

sb.append(String.format("%02X", number));

for (int i = 0; i < number; i++) {

sb.append(palettei);

}

return sb.toString();

}

}

public class Draw {

public static void main(String\[\] args) {

Palette palette = new Palette(new ColorX13,0);

palette.addColor(new ColorX(223, 32, 219));

palette.addColor(new ColorX(38, 213, 217));

palette.addColor(new ColorX(128, 187, 68));

palette.addColor(new ColorX(190, 198, 57));

palette.addColor(new ColorX(214, 50, 41));

palette.addColor(new ColorX(150, 250, 155));

palette.addColor(new ColorX(149, 202, 251));

palette.addColor(new ColorX(176, 199, 223));

palette.addColor(new ColorX(234, 166, 208));

palette.addColor(new ColorX(70, 17, 50));

palette.addColor(new ColorX(133, 86, 203));

palette.addColor(new ColorX(100, 100, 189));

palette.addColor(new ColorX(250, 184, 205));

System.out.println(palette);

}

}

  1. 运行结果为一串十六进制的大写字符串:0DDF20DB26D5D980BB44BEC639D6322996FA9B95CAFBB0C7DFEAA6D04611328556CB6464BDFAB8CD
相关推荐
SelectDB4 小时前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
zzzzzz3102 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode2 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220702 天前
如何搭建本地yum源(上)
运维
大树885 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠5 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质5 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
小宇宙Zz5 天前
Maven依赖冲突
java·服务器·maven
Inhand陈工5 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智5 天前
ARP代理--工作原理
运维·网络·arp·arp代理