模块化分析设计(简单的注册登录模块)
用户注册模块:{
注册开始:
表单:{
邮箱:{
初始状态;
获取焦点: 给出提示。
失去焦点:{
邮箱检测:{
检测规则:为空,不符合规则,邮箱已存在。
错误情况:给出错误提示,状态为:不允许注册。
正常情况:通过验证,给出提示。
}
}
};
密码:{
初始状态 ;
获取焦点:给出提示。
失去焦点:{
密码检测:{
检测规则:(密码由6-20位字母、数字或符号(半角字符)组成,至少包含任意两类,字母区分大小写)
错误情况:给出错误提示,状态为:不允许注册。
正常情况:给出正确提示。
}
}
};
确认密码:{
初始状态 ;
获取焦点:给出提示。
失去焦点:{
密码检测:{
检测规则:确认密码是否和密码项一致。
错误情况:给出错误提示,状态为:不允许注册。
正常情况:给出正确提示。
}
}
};
用户名:{
初始状态 ;
获取焦点:给出提示。
失去焦点:{
检测:{
检测规则:用户名由2-10个汉字、英文字母或数字组成。
错误情况:给出错误提示,状态为:不允许注册。
正常情况:给出正确提示。
}
}
};
手机:{
初始状态 ;
获取焦点:给出提示。
失去焦点:{
检测:{
检测规则:为空,手机是否符合格式,手机是否存在。
错误情况:给出错误提示,状态为:不允许注册。
正常情况:给出正确提示。
}
}
};
验证码:{
初始状态 ;
获取焦点:给出提示。
失去焦点:{
检测:{
检测规则:为空,是否正确。
错误情况:给出错误提示,状态为:不允许注册。
正常情况:给出正确提示。
}
}
};
提交按钮:{
初始状态 ;
表单提交:{
检测:{
检测规则:是否符合当前表单规则,状态是否允许注册。
错误情况:给出错误提示,状态为:不允许注册。
正常情况:表单提交,锁定,进行注册。
}
}
};
}
后台注册处理:{
检测:{
错误情况:处理终止,返回,给出提示。
正常情况:入库,发送邮件验证。
}
}
邮箱激活注册:{
检测:{
检测规则:是否已激活,是否删除,是否过期,处于激活。
错误情况:激活失败,给出错误提示。
正常情况:激活成功,跳转登录。
}
}
个人资料完善:{
表单:{
姓名:{};
性别:{};
邮箱:{};
电话:{};
微博:{};
密码:{};
...
}
}
注册完成;
}
用户登录模块:{
表单:{
用户名:{
初始状态;
获取焦点:{};
失去焦点:{};
表单提交:{
检测:是否为空,密码是否匹配
错误情况:给出提示,登录状态失败。
正常情况:登录成功,跳转。
};
}
密码:{
初始状态;
获取焦点:{};
失去焦点:{};
表单提交:{
检测:是否为空,密码是否匹配
错误情况:给出提示,登录状态失败。
正常情况:登录成功,跳转。
};
}
验证码:{
初始状态:多次登录失败显示验证码,根据type决定;
获取焦点:{};
失去焦点:{};
表单提交:{
检测:是否为空,验证码是否正确
错误情况:给出提示,登录状态失败。
正常情况:登录成功,跳转。
};
}
}
忘记密码:{
表单:{
绑定邮箱:{
初始状态;
获取焦点:{};
失去焦点:{};
表单提交:{
检测:是否为空,邮箱是否注册
错误情况:给出提示,找回密码失败。
正常情况:发送邮件到指定邮箱,等待确认,给出提示查看修改。
};
}
找回密码:{
初始状态:必须从密码重置链接进入;
错误情况:该链接非法,该链接已失效。
正常情况:
表单:{
新密码:{
初始状态 ;
获取焦点:给出提示。
失去焦点:{
密码检测:{
检测规则:(密码由6-20位字母、数字或符号(半角字符)组成,至少包含任意两类,字母区分大小写)
错误情况:给出错误提示,状态为:不允许注册。
正常情况:给出正确提示。
}
}
}
确认密码:{
初始状态 ;
获取焦点:给出提示。
失去焦点:{
密码检测:{
检测规则:确认密码是否和密码项一致。
错误情况:给出错误提示,状态为:不允许注册。
正常情况:给出正确提示。
}
}
}
表单提交:{
验证:是否为空,是否符合规则,两次密码是否一致
错误情况:给出提示,找回密码状态失败
正常情况:密码修改成功,页面跳转登录。
}
}
}
}
}
}