Web项目解决方案框架

转载 2006年06月04日 20:56:00

1                  解决方案框架

 

收集基本用例:基本用例即系统功能。每个功能都是独立的或基本独立。这里的独立是指某个功能一旦实现并运作起来,那么就与系统的其它功能耦合系数很低,一般的讲,只有入的关系而无出的关系,那么该功能就可以算是个独立的功能,否则,就是一个功能的子功能而非独立功能,不算基本用例。

每个功能都是一个用例,包含细节和逻辑流程。

2                   用例文档

一般的讲,大型系统采用 UML UserCase 表达客户需求。 UML 建模

除了 UML 图,还需要文档描述,文档描述建议以下格式:

            前置条件:开始使用这个用例之前,必须满足的条件。非必需

            主事件流:用例的正常流程。必需

            其它事件流:用例的非正常流,如:错误流

            后置条件:用例执行结果“必须”为真的条件,也称为“附加条件”,非必需

 

举例:“安全登入”就是一个用例。

 

Ø          前置条件:无

Ø          主事件流:用户输入正确的用户名和密码,安全登入到 Web 应用中。向用户返回欢迎页,包括可操作的菜单,提示登陆成功。

Ø          其它事件流 1 :未输入用户名或密码,显示出错信息:用户名或密码不可为空

Ø          其它事件流 2 :用户名和密码不匹配,显示出错信息:用户名或口令错误

Ø          后置条件:该用例不是必须为真,无

 

3                   设计数据库

数据库设计的最终目标是完整的回答:“数据从何处来,保存在什么地方”。

在这一步,应该给出数据库表的 UML 描述和 XML 文档示例。 UML 描述的文档说明格式建议如下(举例说明):

 

/*

设计说明

设计人: Sun Duction

时间: 2004-12-22

目标数据库: Oracle 9i

表名: ADDR_TABLE

*/

字段

类型

说明

ID

Int(4)

记录的 ID ,自动增长

NAME

Char(25)

姓名

PHONE

Char(10)

电话

ADDRESS

Char(50)

地址

 

XML 文档示例为:

 

<?xml version="1.0" encoding="UTF-8"?>

<Table TableName="ADDR_TABLE">

       <item ID="1" NAME=" 小强 " PHONE="02483992100" ADDRESS=" 北京市海淀区 9 (110000)"/>

       <item ID="2" NAME=" 王小花 " PHONE="02483992100" ADDRESS=" 北京市海淀区 9 (110000)"/>

       <item ID="3" NAME="Jim Green" PHONE="02483992100" ADDRESS=" 北京市海淀区 9 (110000)"/>

</Table>

 

4                   业务逻辑

业务逻辑是独立于系统实现的。采用 JAVA ,还是采用 .NET ,那时实现的体系结构问题。业务逻辑描述系统中各个数据实体之间的关系。

MVC 框架下: Model 实现业务逻辑。

JAVA 中,它们是: JavaBean EJB ,实用工具类,辅助类。

.NET 中,它们是:自定义数据对象,结构,工具类,辅助类。

一般的,在业务层都采用了 DAO 模式,实现的方式有多种。 JAVA 中,比较流行的解决方案是 Hibernate JDO

.NET 下,一般采用 Data Access Application Block

 

关于如何根据需求为系统建模,是个专题,这里就不详细描述。

5                   设计 UI

UI 由需求分析而定,但必须独立于业务逻辑的实现,即: UI 不在意界面上显示的数据从何而来(但必须有一种实现的方式)。设计 UI 时,最终要完成以下任务:确定界面的总体布局和风格、文档描述各个 UI 元素、各个子 UI 元素(可复用元素)之间的关联图。

 

5.1                UI 文档描述

UI 由用例而来,包括用户界面的功能描述,与用户交互的信息, UI 切换关系几个要素。

举例:

界面

字段

字段类型

说明

欢迎界面 index

显示欢迎信息,提供登陆入口

登入 logon

username,password

String

字段可编辑

添加记录界面 insert.

Name,phone,address

String

可编辑

主菜单界面 mainMenu

提供所有操作菜单

添加数据确认 confirm

向用户显示添加成功或失败信息。

 

5.2                确定界面布局( layerout )和风格( style

由美工确定符合该项目的总体页面布局和配色方案,给出基础 CSS 文件。

5.3                页面复用技术

如果采用 .NET 技术,那么建议采用模版页+自定义控件的方式,动态载入生成 HTML 页面。

如果采用 JSP 技术,那么,可以使用 Tiles 框架。

其实,两个体系的解决方案在内部实现上,几乎是相同的,只不过 JAVA 领域成熟的开源框架多的多而已。

这一步应该确定页面关联,即每个功能页面与其它片断页面的关系。这是为了达到页面级别的最大程度复用而做的。这是值得的,因为这一步做的好,会大大缩短开发,测试的时间。

对于 JSP 项目,建议将申明标签库的语句方在一个文件中,如 taglibs.jsp ,其它文件引用它,并对特定应用使用定制标签。

 

6                   设计页面处理组件

对于 Struts 而言,每个页面对应一个 ActionForm ,对于 ASP.NET 而言,每个页面关联一个代码隐藏类。由于 ASP.NET 技术,微软的 IDE 给予的大量的自动化支持,且 ASP.NET 运行库给予了大量的底层支持,天生的支持 MVC 框架。这里就不详细描述如何实现 ASP.NET 的代码隐藏类。

ActionForm Bean 用于在视图组件和控制器组件之间传递 HTML Form 数据。通常,每个 HTML Form 对应一个 ActionForm Bean HTML Form 中的字段和 ActionForm Bean 中的属性一一对应。

对于 Struts 应用,请采用如下表格:

ActionForm

属性

Validate 方法

LogonForm

username,password

二者不可为空

InsertForm

Name,phone,address

三者不可为空

注意,这里要保证 validate 方法不访问 Model 层,即:它不执行业务逻辑验证。比如,口令不匹配这个逻辑所代表的代码决不可以放在该方法中。

 

7                   设计操作流

在需求阶段确定了事件的流,为了实现这个流控制,需要在各个页面之间切换。对于 ASP.NET ,由于代码隐藏类给予了对页面和逻辑完全的控制,并提供了类似于面向对象的编程方法,故界面切换直接根据业务的事件流处理即可。


如何在.NET下将控制流在外配置,有什么好的解决方案,希望大家讨论啊!

对于
Struts 应用,这是由 Action struts-config.xm 文件联合完成。所以必须在这一步就确定好 Action Action 之间的映射关系。

Action 负责单个事件的流程控制。那么,一个事件,就必然对应一个 Action

Action 映射决定了 Action 与其它 Web 组件之间的关联。在实际应用中,最好提供下表:

Action

入口

Action Form

出口

LogonAction

Logon.jsp

LogonForm

mainMenu.jsp

LogoffAction

mainMenu.jsp

Index.jsp

InsertAction

Insert.jsp

InsertForm

Confirm.jsp

DisplayAllAction

mainMenu.jsp

Display.jsp

 

该表如果使用图的方式给出,将更加完美。

Web项目解决方案框架

  • 2005年03月17日 13:06
  • 0B
  • 下载

DOTNET框架解决方案项目实训

  • 2014年04月15日 16:22
  • 7.12MB
  • 下载

Asp.Net MVC及Web API框架配置会碰到的几个问题及解决方案(转)

前言 刚开始创建MVC与Web API的混合项目时,碰到好多问题,今天拿出来跟大家一起分享下。有朋友私信我问项目的分层及文件夹结构在我的第一篇博客中没说清楚,那么接下来我就准备从这些文件怎么分文...
  • xwnxwn
  • xwnxwn
  • 2015年01月27日 17:17
  • 527

iPhone / iPod Touch 文件传输解决方案 – 开源框架:Cocoa Web Resource Project

到目前为止,也就是iPhone SDK 2.2 ,苹果仍然没有为开发者提供一个文件传输的解决方案。如果一个应用需要为用户提供往iPhone上传文件的功能,大抵会采用下面几种方法之一: 通过一...

Asp.Net MVC及Web API框架配置会碰到的几个问题及解决方案

前言 刚开始创建MVC与Web API的混合项目时,碰到好多问题,今天拿出来跟大家一起分享下。有朋友私信我问项目的分层及文件夹结构在我的第一篇博客中没说清楚,那么接下来我就准备从这些文件怎么分文件夹...

Asp.Net MVC及Web API框架配置会碰到的几个问题及解决方案

前言 刚开始创建MVC与Web API的混合项目时,碰到好多问题,今天拿出来跟大家一起分享下。有朋友私信我问项目的分层及文件夹结构在我的第一篇博客中没说清楚,那么接下来我就准备从这些文件怎么分文...
  • nic7968
  • nic7968
  • 2014年06月25日 18:18
  • 562

java web项目生成验证码的解决方案

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本人声明。否则将追究法律责任。 作者:永恒の_☆ 地址:http://blog.csdn.net/chenghui0317...

做Java Web项目过程中遇到的几个问题及解决方案

本文转载自: javax.servlet.ServletException:java.lang.NoClassDefFoundErr 怎么将int数据转换成String数据? Eclipse如何设...

ltelliJ IDEA 创建Maven web项目无src目录的解决方案

一、缘由 这几天闲来无事,突然想试试IDEA这个编译器,之前一直都在用Eclipse 和 Myeclipse。下好满怀期待建了个Maven项目后,还在加载init就去吃饭了,半小时回来后,居然发现没有...

ltelliJ IDEA 创建Maven web项目无src目录的解决方案

http://blog.csdn.net/woshizhhblog/article/details/68491952?locationNum=14&fps=1 一、缘由 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Web项目解决方案框架
举报原因:
原因补充:

(最多只允许输入30个字)