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.jsp3.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类
- 03_struts应用的需求分析与设计
- Struts应用的需求分析与设计(摘要二) 收集和分析应用需求
- Struts应用的需求分析与设计(摘要一)
- 01_Struts与JavaWeb应用简介
- Struts应用的需求分析与设计(摘要三) 配置Sturts应用
- 需求分析与设计
- 用户界面的需求分析与设计原则
- Struts需求分析与设计
- Struts需求分析与设计
- 信息系统设计与需求分析
- 需求分析与系统设计
- 设计模式与需求分析与UML建模的关系
- 企业应用业务需求变化的分析与应对-前言
- UML需求分析与设计分析学习心得
- 需求分析与系统设计的面向对象推导过程
- 02_Struts应用:helloapp应用
- 企业应用业务需求变化的分析与应对-常见的业务需求变化
- 企业应用业务需求变化的分析与应对-业务需求中的逻辑
- Python解析XML字符串
- Too much data for RSA block fail. What is PKCS#7?
- python写xml文件的操作
- Python之文件目录遍历实例代码
- 352. Patience is the best remedy. 忍耐是良药
- 03_struts应用的需求分析与设计
- 【经验总结】第一次PCB制版经验
- NMI(Non Maskable Interrupt) 不可屏蔽中断
- 【小蒙淘金】12.13金评-联储一松再松,后市再现波涛汹涌
- wireshark表达式
- Wireshark抓包分析TCP的建立与断开过程
- Frequently Asked Questions (bouncycastle)
- 实现Linux中date命令的功能
- 如何将tomcat图标换成自己的