2023-07-05
2023-06-18
2023-07-05
2023-06-29
2023-03-19
更新时间:2024-04-02 10:07:46 发布时间:24小时内 作者:文/会员上传 下载docx
2023-07-05
2023-06-18
2023-07-05
2023-06-29
2023-03-19
系统设计人员理解需求
在系统设计人员理解需求之前,业务分析人员必须提供相关模块的客户需求文档。 系统设计人员阅读并理解客户需求文档。
l 理解需求文档的交付结果(可配置项)
业务需求对于客户来讲,目的是什么,解决什么问题,有什么意义?
具体业务的执行逻辑是什么?
在业务流转过程中的业务数据有哪些?
l 需求理解时间要求:
简单的需求,理解时间为2-3 小时
复杂需求:理解需求时间4-8小时
l 复杂的业务需求需要需求分析人员确认。
复杂的业务需求按照涉及到的业务的复杂度来决定的。
用例(Use Case)是把现实世界的需求捕获下来的方法。用例定义了一组用例实例,其中每个实例都是系统所执行的一系列操作。
一个完整的用例定义由参与者、前置条件、场景、后置条件构成。
用例的特征:
示例:
在该需求中,用户所有的活动都集中在登录认证的活动中,所以登录认证作为本需求的业务用例。我们就可以画出如下用例图:
对于用例图中无法表示的内容,可以通过用例规约进行详细说明,以上用例的用例规约如下:
用例名称:
用户登录认证
简要说明:
用户访问系统登录页,通过口令及验证码登录的过
事件流:
基本事件流:
扩展事件流:
非功能需求:
前置条件
无
后置条件
a)如果用户输入正确的用户名、密码、验证码,则登录成功。
b)如果用户输入的用户名、密码、验证码之一不正确,则登录失败。
c)如果用户连续X次登录失败,则系统锁定用户。锁定一定时间后才可继续登录。
说明:
以上示例中仅包含一个业务主角和一个业务用例,在我们实际的需求中,通常都会有多个业务主角和多个业务用例,设计人员在需求分析时,可按照如上方法,找出所有的业务主角,针对每一个业务主角识别出该业务主角所有的业务用例。
图 登录控制组件
类设计
类名
LoginController
包路径
方法列表
说明
login
处理用户登录请求
checkCaptcha
校验验证码
checkAccountPassword
校验用户名密码
createSession
创建Session
handleFail
失败处理
checkLockedAccount
校验账户是否处于锁定状态
lockAccount
锁定账户
unlockAccount
解锁账户
方法
public User login(String account, String password, String captchaCode)
参数
含义
出、入参类型
说明
account
password
captchaCode
验证码
处理逻辑
方法
private Boolean checkCaptcha(String captchaCode)
参数
含义
出、入参类型
说明
captchaCode
验证码
处理逻辑
方法
private Boolean checkAccountPassword(String account, String password)
参数
含义
出、入参类型
说明
account
password
处理逻辑
将password按照加密规则加密,将加密后的字串与用户信息中的password字段进行比较,如果匹配返回true,否则返回false。
方法
private Boolean createSession(String account, String password)
参数
含义
出、入参类型
说明
account
password
处理逻辑
将password按照加密规则加密,将加密后的字串与用户信息中的password字段进行比较,如果匹配返回true,否则返回false。
方法
private String handleFail(User user)
参数
含义
出、入参类型
说明
account
password
处理逻辑
如果超过阈值,则将用户设置为锁定状态,记录锁定时间,返回错误消息“登录失败超过X次,用户已锁定,请Y分钟后重试”。
方法
private Boolean checkLockedAccount(User user)
参数
含义
出、入参类型
说明
user
用户信息
处理逻辑
方法
private void lockAccount(User user)
参数
含义
出、入参类型
说明
user
用户信息
处理逻辑
方法
private Boolean unlockAccount(User user)
参数
含义
出、入参类型
说明
user
用户信息
处理逻辑
图 验证码处理组件
类名
CaptchaGenerater
包路径
方法列表
说明
createCaptcha
创建验证码
gnenrateCaptchaCode
生成验证码code
codeToImage
将验证码code转换成图片
图 会话管理
类名
SessionManager
包路径
方法列表
说明
createSession
创建session
getSession
获得本地session
removeSession
销毁session
图 数字转图片
类名
CaptchaImage
包路径
方法列表
说明
codeToImage
将code转换为图片
方法
public static BufferImage codeToImage(String code)
参数
含义
出、入参类型
说明
code
待转换的code
处理逻辑
图 加密处理
类名
EncryptUtil
包路径
方法列表
说明
encryptMd5
md5编码
方法
public static String encryptMd5(String content)
参数
含义
出、入参类型
说明
content
加密内容
处理逻辑
详细设计阶段分两个步骤
l 第一步骤,系统设计人员根据业务需求的理解,详细设计业务模块,并出详细设计文档
l 第二步骤,核心设计人员对系统设计人员的详细设计文档进行技术评审。
系统设计人员详细设计阶段
系统设计人员根据业务需求,详细设计模块。
l 详细设计阶段的交付结果(可配置项)
详细设计文档:
业务接口定义
数据库的数据项定义
Web页面和Js接口定义等
注:对于复杂的模块可以在详细设计文档中可以包含了UML类图,和时序图 ,从而进一步描述设计的内容
l 详细设计时间要求:
简单的业务需求:2-4小时
复杂的业务需求4-12小时
l 详细设计文档的书写原则:
系统设计人员在文档中能描述清楚业务模块的详细设计,不拘泥于格式。
技术评审阶段
l 技术评审流程:
1)系统设计人员在技术评审之前,将自己的详细设计文档分发给技术评审的与会人员。
2)在技术评审过程中,系统设计人员首先讲述详细设计文档
3)评审人员对详细设计中各个环节进行询问和确认,提出修改方案。
4)最后项目技术负责人确认调整后的设计方案。
l 技术阶段的交付结果(可配置项)
业务确定的详细设计文档。
注:此文档是交付确认的标准之一。
图 实体关系图
实体类
类名
User
包路径
属性列表
说明
String id
String name
String password
String account
Integer sex
String mobile
手机号码
Date birthday
出生日期
User createUser
创建用户
Timestamp createTime
创建时间
Timestamp modifyTime
修改时间
Integer status
类名
LoginLog
包路径
属性列表
说明
String id
String account
Timestamp loginTime
登录时间
Integer loginStatus
登录状态
将本文的Word文档下载到电脑
推荐度: