面向对象详细设计举例:接口描述、算法描述、数据描述
类的详细描述,内含数据、 方法及方法的参数返回值
public class User {
private String userId;
private String userName;
private String password;
private int type;
public User(String userId,String password,int type);
public User(String userId);
public String getUserId();
public void setUserId(String userId); …
详细设计定义接口、算法、数据
public class UserBo
类的详细描述,内含数据、
方法及方法的参数返回值
{
private Connection ct=null; //获取数据库的连接
private ResultSet rs=null; //数据集
private PreparedStatement sql=null; //sql 语句 statement
//验证用户是否合法
public User checkUser(User us);
//验证 userId 的合法性
public boolean checkUserId(User user)
//根据 userId 查询 user 的所有信息
public User queryById(User user);
}
算法设计工具——判定表:
当算法中包含多重嵌套的条件选择时,判定表能够清晰地表示复杂的条件组合与 应做的动作之间的对应关系。
适合:单一条件只有两种结果供选择
一张判定表由 4 部分组成:
左上部列出所有条件;
左下部是所有可能做的动作;
右上部是表示各种条件组合的一个矩阵;
右下部是和每种条件组合相对应的动作。
例题:
假设某航空公司规定,乘客可以免费托运重量不超过 30kg 的行李。 当行李重量超过 30kg 时,对头等舱的国内乘客超重部分每公斤收费 4 元,对其 他舱的国内乘客超重部分每公斤收费 6 元。 对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤 收费比正常乘客少一半。
判定表的优点:能清晰地表示复杂的条件组合与应做的动作之间的对应关系。
判定表的缺点:判定表的含义不是一眼就能看出来的,初次接触这种工具的人理 解它需要有一个简短的学习过程。当数据元素的值多于两个时,判定表的简洁程度也将下降。