03_struts应用的需求分析与设计

来源:互联网 发布:音频编辑软件 mac 编辑:程序博客网 时间:2024/04/30 19:38

3.0 准备

软件开发过程通常包括五个阶段:分析、设计、编码、测试和发布。

本章以通讯录为例,开发步骤为:

a.收集和分析应用需求

b.设计数据库

c.设计客户界面

d.设计ActionForm

e.设计Action

f.设计应用的业务逻辑组件


3.1 收集和分析应用需求

用例分析

这个应用包括以下用例:

a.安全登入

b.添加好朋友联系地址

c.根据特定条件查询好朋友联系地址

d.列出所有好朋友联系地址清单

e.安全登出

用例1:安全登入

前置条件:无

主事件流:用户输入正确的用户名和密码,安全登入到应用中,向用户返回主操作菜单

其他事件流1:如果用户未输入用户名和密码,则显示错误提示信息:用户名和密码不允许为空

其他事件流2:如果用户输入非法的用户名和密码,则显示错误提示信息:用户名或密码不正确

用例2:添加好朋友联系地址

前置条件:用户已经安全登入到应用中

主事件流:接收用户输入的好朋友地址信息,把信息保存到数据库中,返回提示信息:记录已被成功保存到数据库

其他事件流1:如果用户未输入姓名,电话或地址,则显示错误提示信息:姓名,电话或地址不允许为空

用例3:根据特定条件查询好朋友联系地址

前置条件:用户已经安全登录到应用中

主事件流:用户输入模糊查询条件,返回符合查询条件的所有记录

其他事件流1:如果用户没有输入任何查询条件,则显示错误提示信息:至少提供一个查询条件

用例4:列出所有好朋友联系地址清单

前置条件:用户已经安全登录到应用中

主事件流:返回所有的通讯地址信息

用例5:安全登出

前置条件:用户已经安全登录到应用中

主事件流:结束当前会话,重新返回到welcome页面中


3.2 设计数据库

地址信息保存到ADDRESSBOOK_TABLE中,用户登录信息保存到userdatabase.xml中


3.3 设计应用的业务逻辑

在本应用中包括如下业务逻辑:

a.访问xml格式的用户信息

b.访问和操作数据库,包括添加和查询通信地址信息

3.3.1 访问xml格式的用户信息

UserDatabaseServlet负责访问userdatabase.xml

3.3.2 访问数据库

DBUtil负责建立和数据库的连接,AddressBookBean代表通信地址信息


3.4 设计用户界面

本应用包括以下界面:

welcome界面(index.jsp)

登入界面(logon.jsp)

添加数据界面(insert.jsp)

查询数据界面(search.jsp)

显示所有数据界面(display.jsp)

主菜单界面(mainMenu.jsp)

添加数据确认界面(confirmation.jsp

3.4.1 界面风格

大致分为:header.jsp,main.jsp,footer.jsp

3.4.2 使用客户化标签

将标签的引入独立为一个页面:taglibs.jsp


3.5 设计ActionForm

包括三个ActionForm:

LogonForm,username和password都不允许为空

InsertForm,name,phone和address都不允许为空

SearchForm,name,phone和address不允许都空


3.6 设计Action和Action映射

Action负责单个事件的流程控制,包括LogonAction,LogoffAction,InsertAction,SearchAction,DisplayAllAction,详细信息见下表:

Action入口ActionForm出口LogonActionlogon.jspLogonFormmainMenu.jspLogoffActionmainMenu.jsp无index.jspInsertActioninsert.jspInsertFormconfirmation.jspSearchActionsearch.jspSearchFormdisplay.jspDisplayAllActionmainMenu.jsp无display.jsp

3.6.1 设计LogonAction

3.6.2 设计LogoffAction

3.6.3 设计InsertAction

3.6.4 设计SearchAction

3.6.5 设计DisplayAllAction


3.7 设计客户化标签

3.7.1 设计ValidateSessionTag标签

3.7.2 设计DisplayTag标签

3.7.3 创建客户化app标签库的TLD文件


3.8 小结

视图(View)

JSP组件:

index.jsp

logon.jsp

mainMenu.jsp

search.jsp

display.jsp

confirmation.jso

ActionForm Bean:

LogonForm Bean

InsertForm Bean

SearchForm Bean

客户化标签:

struts html标签

struts bean标签

struts logic标签

app标签

控制器(Controller)

ActionServlet

UserDatabaseServlet

LogonAction

LogoffAction

InsertAction

SearchAction

DisplayAllAction

模型(Model)

AddressBookBean类

DBUtil类

UserBean类


原创粉丝点击