1 引言
为了让手机用户能够在任何时候(Anytime)、任何地方(Anywhere)、以任何方式(Anyway)查询企业所提供的服务,一种高效的办法是将应用系统的功能拓展到手机终端。用手机通过移动网和互联网访问企业网站并处理各项业务(移动商务系统)。从市场的角度来讲,3G入网证即将发放,对提供这种服务的开发商,将是很好的机遇。仅在中国,现有手机用户人数已接近6亿,并且每年以15%的速度在增长,据权威部门分析,移动通信商务将成为未来世界的支柱产业之一。将企业提供的服务通过现代的先进技术拓展到手机终端,是一项具有极大潜在市场的技术。为此,本文提出了一套设计模式,并在实际中得到实现。
2 系统需求分析
根据市场的调查研究和分析,目前用手机终端办公的客户群正在迅速增长,为了创造一个新的移动商务的应用领域,提出下面的业务和功能。
2.1 手机终端
手机终端具有如下功能:
能够在手机界面选择不同业务访问企业提供的服务;
能够在手机界面上呈现查询各种信息的不同查询方法,如:“正好搭配”、“包含”、“由…开始”、“由…结束”;
能够对查到的数据以不同的方式处理;
能够在手机界面上输入各种查询关键字,并能提交到Web Site;
能够使手机终端和Web Site建立会话;
能够以数据流对象的方式接收Web Site返回不同类型的数据;
能够提供注册界面,输入注册信息;
能够提供登录界面,输入登录信息;
能够验证用户帐号(Username)和密码(Password)。
2.2 网络应用层
能够接收Cell Phone终端发来的请求request;
能够将Request对象传递到数据访问对象DAO;
能够调用对象关系映射ORM(Obiect Relationship Mapping)引警;
能够将所查询的数据库中的数据映射成Javabeans对象;
能够将用户输入的注册信息对象持久化(Persistent)到数据库中对应的关系表中;
能够将查询到单词和相应不同语言的翻译和例句以数据流的对象Respose到手机终端;
能够进行Web Site远程数据维护。
3 系统设计
根据以上需求分析,采用UML对系统建模(Model)。图l为系统用例图,图2为系统活动图,图3为系统时序图,图4为系统类图。
根据以上系统分析和设计结果.系统可划分为如下组件(Components):
(1)手机部分
MIDiet:手机应用程序生命管理组件;
MainMenu;手机菜单组件;
ViewCanvas:手机图标生成组件;
SelectView:手机服务项目选择组件;
ViewScreen:手机屏幕容器组件;
CorrectScreen:手机查询信息无误解析组件;
IncorrectScreen:手机查询信息有误解析组件;
FinishScreen:手机查询信息显示组件;
MiDPConnector:手机无线通信会话创建组件。
(2)网络应用程序组件
Servlet组件:通过Wireless Network接收手机终端提交的KeyWords接口组件;
JavaBeans组件:存放数据库中不同表中记录数据对象组件;
DAO:数据访问对象组件(Data Access Obiect),主要业务逻辑封装对象;
DBAccess组件:数据库ORM引警组件。
接下来,根据现有的数据库结构,建立数据库关系表。这里是以50个关系数据表,20个存储过程进行计算。
4 系统开发工作量估算
系统需要完成的工作估算包括:本系统估算分为14个大功能模块。根据以上系统分析结果,每个模块基本建表量为3~5,这样建表数应:{(3+5)/2}×14=53~56。基本操作功能点数:14x6=84。
系统完成工作量估算包括:
系统分析工作量=功能点数×(6工作小时/人)=84x6=504(小时/人)
系统设计工作量=功能点数×(6×1.5工作小时/人)=86×9=774(小时/人)
系统编码工作量=功能点数×(12工作小时/人)=84×12=l 018(小时/人)
系统测试工作量=功能点数×(1.5工作小时/人)=84×1.5=l 26(小时/人)
系统管理工作量=功能点数×(0.5工作小时/人)=84x0.5=42(小时/人)
系统解决风险工作量=(业务风险数量+技术风险数量)=20(小时/人)
系统建表和存储过程工作量=20×6+50×2=220(小时/人)
系统完成工作量需要工作小时/人的估算结果为:工作小时/人=(504+774+1018+126+42+20+220)=2 704(工作时/人)
系统开发成本费用估算为:{工作小时/人}×平均日工资/人=2704x平均日工资/元。
需要注意的是:以上计算不包涵上税,而且是最基本的成本费用。报价时应考虑到多方面的其他费用。
5 系统开发周期
根据以上工作量的计算估计,本系统的开发周期为6~8个月,开发技术人员4个,分以下几个阶段:组件完成阶段:4~5个月;组件集成阶段:一个月;组件测试阶段:一个月;组件提交用户:一个月。