
上QQ阅读APP看书,第一时间看更新
1.2.1 基本流程图
在1.1节的案例中,使用了大量的业务流程图来描述企业的业务需求。
业务流程图用于需求阶段,通常与业务原形图配合来描述具体的业务功能。基本流程图的绘制推荐使用微软Office中的Visio工具下的“基本流程图”模板进行绘制。
下面以大家熟悉的当当网上书城用户登录功能为例,使用业务流程图描述登录流程(如图1-12与图1-13所示)。

图1-12 用户登录

图1-13 用户登录流程图
用户登录流程说明如下。
(1)通过浏览器进入书城用户登录页。
(2)输入用户名、密码后,提交登录请求。
(3)提交登录请求后,首先需要使用JavaScript脚本校验用户名是否为空,然后校验用户名的长度是否符合项目需求、是否存在特殊字符(防止SQL注入攻击)等。用户名校验合格后,再校验密码信息。
(4)客户端校验成功后,向Web服务器发送HTTP登录请求。
(5)服务器接收请求后,仍然需要在服务器端再次校验用户名和密码信息(防止跨过浏览器的黑客攻击)。
(6)服务器校验通过后,访问数据库,通过SQL语句判断用户名与密码是否正确。
(7)登录成功,转向业务系统的欢迎页;失败则提示用户名或密码错误。
注意:上述登录流程,主要强调了用户名与密码的客户端校验+服务器校验流程,至于用户名的长度与格式的具体要求等信息,需要在功能描述中的业务规则部分进行说明。网站的密码一般都需要进行加密处理,因此服务器收到密码后,应该进行解密,这些具体处理都属于业务规则部分,不在流程图中体现。另外,用户登录到底是MVC登录模式还是AJAX登录模式,需要在模块设计阶段确定,不必在流程图中体现这些细节。