4.1.3.2 业务处理模块
本模块包含了在线CD销售系统的主要业务工作,相当于一个实体店中的核心营业员。以下用一个营业员所要做的工作来形象的表示系统改模块实现的功能[8]。
(1)CD管理
CD管理包括的主要工作可以笼统的分为对CD的工作和对分类的工作。对于CD的工作可以分为现有CD的盘点、登记和分类管理,新到CD的登记和分类管理。而针对分类的管理工作,主要是对分类信息的维护工作,如及时添加新的分类或者及时删除过时信息。
(2)订单管理
在线CD销售系统对于订单的管理与传统实体店营业员的工作略有不同。普通的CD店营业员只需要处理用户交给他的订单,也就是在线CD销售系统中已经提交成功的订单。但事实上,在用户提交订单前,会有更多的选择作为被选的选项,掌握了这些CD的清单,会帮助我们进一步了解该用户的购买动向及兴趣所在,从而实施更有针对性也更为有效的营销策略。很简单,如果我们能够为用户提供更多备选CD的信息,也许就可以促成购买行为的完成。同样的,如果能为用户推荐更多他们所感兴趣的CD,那么更多的交易行为就有可能发生。所以掌握用户购物车里的备选清单,对于下一步的销售有着非常重大的影响。
而在用户购买动向和兴趣所在的收集方面,即使是有着多年销售经验的销售人员也很难在短时间内准确判断。传统销售中的这一弱点,在线销售系统可以很好的弥补。通常被用户放入购物车的CD一般都是他们所感兴趣的,购买的可能也就大很多,所以只要我们及时查看用户购物车资料,就可以了解到每个用户的购买习惯和动向。
总而言之,在线销售系统在订单的管理中包含了已提交订单和购物车订单的管理。
(3)用户管理
针对会员的管理,在线CD销售系统与传统实体店基本相同。对比实体店购买过程,首先要求会员申请会员资格,相当于用户网上的注册。随后进行购物时要出示会员资格证明,即网上的用户登陆行为。购买行为发生时,销售人员要登记该会员的编号和所购买的CD,以便随时更新该会员的,就是在线销售系统的用户管理行为。
(4)销售统计
销售统计对于店主及时掌握销售情况有着重大的意义。由于功能强大的SQL Server数据库的使用,在线CD 销售系统在销售统计功能方面有着传统实体店无法想象的便捷和高效。从数据库记录中,系统管理用户可以任意查看各日、各周、各季度的销售记录,同时还可以分类查询,获得不同唱片公司、不同歌手、不同风格CD的销售情况。
4.1.3.3 数据库模块
本模块主要进行数据的录入、更新、检索等工作,相当于传统实体店里认真负责而又分毫不差的库存管理员[9]。
运用面向对象思想中类的概念,系统结构设计图如图4-4所示。
4.2 数据结构设计
4.2.1数据库需求分析
对比传统实体店,并结合在线购物的特点,综合系统功能分析,本系统的需求信息主要有:用户分一般用户和管理员用户。订单分单张详细订单和总订单。每一张CD都从属于一种类型。一个用户可以购买多张CD。一个用户对应一张订单列表信息。一个列表对应多张订单信息。
经过系统数据库的功能分析和需求总结,将数据项和数据结构做如下设计:
(1) 管理员信息,包括数据项:用户名、密码
(2) 普通用户,包括数据项:用户ID、用户名、密码
(3) CD,包括数据项:CD编号、CD名称、分类编号等
(4) CD分类,包括数据项:分类编号、分类名
(5) 订单列表,包括数据项:订单编号、CD编号、购买数量
(6) 订单,包括数据项:订单编号、用户编号、下单时间等
. SHAPE /* MERGEFORMAT
4.2.2 数据库概念结构设计
根据数据项和数据结构的分析,在数据库概念结构设计部分可以设计出满足用户需求的各种实体以及实体之间的关系,为逻辑结构设计打下基础。实体包含各种具体信息,通过相互之间的作用形成层数据流动。
本系统数据库中包含的实体有:管理员信息实体、普通用户实体、CD实体、CD分类实体、订单实体、订单列表实体。
实体之间关系的E-R图如图4-5所示。
管理员信息实体E-R图如图4-6所示。
普通用户信息实体E-R图如图4-7所示。
CD实体E-R图如图4-8所示。
CD分类实体E-R图如图4-9所示。
订单实体E-R图如图4-10所示。
订单列表实体E-R图如图4-11所示。
SHAPE /* MERGEFORMAT
SHAPE /* MERGEFORMAT
SHAPE /* MERGEFORMAT
SHAPE /* MERGEFORMAT
4.2.3 数据库逻辑结构设计
数据库概念结构设计完毕后,可以将数据库概念结构转化为SQL Server数据库系统所支持的实际数据模型,就构成了数据库的逻辑结构。
在线CD销售系统数据库中各个表的设计结果如表4-1到表4-6所示。
(1) 每个表格表示数据库中的一个表,订单信息列表allorders如表4-1所示,记录每个用户的订单总信息。
表4- SEQ 表格 /* ARABIC 1 订单信息列表allorders
Field | Type | Null | Key | Default | Extra | Comment |
Id | int | NULL | PRI | NULL | IDENTITY(1,1) | 主键,递增 |
order | int | NULL | 0 | 0 |
| 订单号 |
cdNo | int | NULL | 0 | 0 |
| CD编号 |
amount | int | NULL | YES | NULL |
| 订货数量 |
(2) CD信息列表cdName如表4-2所示,记录商店现有的CD信息。
表4-2 CD信息列表cdName
Field | Type | Null | Key | Default | Extra | Comment |
Id | int |
| PRI | (NULL) | IDENTITY(1,1) | 主键,递增 |
cdName | Varchar(10) |
|
|
|
| CD名称 |
cdClass | int |
|
| 0 |
| CD分类名称 |
Singer | Varchar(25) | YES |
| (NULL) |
| 歌手名 |
Publish | Varchar(150) | YES |
| (NULL) |
| 发行唱片公司 |
cdNo | Varchar(30) | YES |
| (NULL) |
| CD发行编号 |
musicList | Varchar(30) | YES |
| (NULL) |
| 歌曲列表 |
Price | float | YES |
| (NULL) |
| 原价 |
Amount | int | YES |
| (NULL) |
| 总数量 |
Leav_No | int | YES |
| (NULL) |
| 剩余数量 |
RegTime | datetime |
|
|
|
| 登记时间 |
picture | Varchar(200) | YES |
| (NULL) |
| CD封面 |
(3) 商店管理员信息表cdAdmin如表4-3所示,记录管理员的帐号密码。
表4-3 管理员信息表cdAdmin
Field | Type | Null | Key | Default | Extra | Comment |
AdminUser | varchar(20) | YES |
| (NULL) |
| 用户名 |
AdminPass | varchar(50) | YES |
| (NULL) |
| 密码 |
(4) 商店CD类别列表cdClass如表4-4所示,记录商店现有的CD分类。
表4-4 商店CD类别列表cdClass
Field | Type | Null | Key | Default | Extra | Comment |
Id | int |
| PRI | (NULL) | IDENTITY(1,1) | 分类编号 |
Classname | varchar(30) |
|
| (NULL) |
| 分类名称 |
(5)订单详细表orders如表4-5所示,记录单张订单的具体信息。
表4-5 订单详细表orders
Field | Type | Null | Key | Default | Extra | Comment |
Id | int |
| PRI | (NULL) | IDENTITY(1,1) | 主键,递增 |
orderId | varchar(20) |
|
|
|
| 订单编号 |
UserId | int |
|
| 0 |
| 用户编号 |
SubmitTime | datetime |
|
|
|
| 订单提交时间 |
ConsignmentTime | datetime | YES |
| (NULL) |
| 交货时间 |
TotalPrice | float | YES |
| (NULL) |
| 总金额 |
content | text | YES |
| (NULL) |
| 备注 |
IPAddress | varchar(20) | YES |
| (NULL) |
| 用户IP |
IsPayoff | int | YES |
| (NULL) |
| 是否已付款 |
IsSales | int | YES |
| (NULL) |
| 是否发货 |
(6)用户信息表shop_user如表4-6所示,记录商店的所有用户的详细信息。
4.2.4 数据流图
根据“自顶向下、逐层分解”的思想,使用分解和抽象两种手段来控制系统的复杂度。根据前述分析,得出系统顶层数据流图如图4-12所示。
登陆功能数据流图如图4-13所示。
查询功能数据流图如图4-14所示。
购买功能数据流图如图4-15所示。
表4-6 用户信息表shop_user
Field | Type | Null | Key | Default | Extra | Comment |
Id | int |
| PRI | (NULL) | IDENTITY(1,1) | 主键,递增 |
UserName | varchar(20) |
|
|
|
| 用户名 |
PassWord | varchar(50) |
|
|
|
| 密码 |
Names | varchar(20) | YES |
| (NULL) |
| 真实姓名 |
Sex | char(2) | YES |
| (NULL) |
| 性别 |
Address | varchar(450) | YES |
| (NULL) |
| 地址 |
Phone | varchar(25) | YES |
| (NULL) |
| 联系电话 |
Post | varchar(8) | YES |
| (NULL) |
| 邮编 |
| varchar(50) | YES |
| (NULL) |
| E-mail地址 |
RegTime | datetime | YES |
| (NULL) |
| 注册时间 |
RegIPAdress | varchar(20) | YES |
| (NULL) |
| 注册IP |
SHAPE /* MERGEFORMAT
SHAPE /* MERGEFORMAT
SHAPE /* MERGEFORMAT
SHAPE /* MERGEFORMAT
4.3 界面设计
为了提高代码的重用性,在线CD销售系统的界面采用框架形式,即页面头尾部分只需要设计一次。之后的jsp文件,其中只需写上以下两句代码,就可以看见页面头尾效果。
<%@include file=”inc/head.inc”>
<%@include file=”inc/tail.inc”>
4.3.1 用户图形界面的设计
(1) 用户登陆模块设计
为了验证用户是否合法,系统需要用户提供用户名和密码来进行验证,这一功能由用户登陆模块完成。本模块需要运用login.java这个bean,来设计一个表单让用户输入用户名和密码。在本模块中,对于用户输入的用户名和密码,系统在发现错误时,应及时做出错误报告。
用户登陆模块的预览效果如图4-16所示。
(2) 在线购买功能模块设计
针对用户界面,由于“CD列表”和用户导航条等部分是只有用户界面可以看到的,所以将这两部分设计成一个新的框架形式,提高复用性。在本模块中用户可以浏览现有CD、用不同的方法查找CD(分类查询、关键字查询)、查看CD详细资料、把CD放入购物车、转到其他模块等。
在线购买功能模块运行截图如图4-17所示。
图4-16 用户登陆模块的预览效果
图4-17 在线购买功能模块运行截图
(3) 我的购物车功能模块设计
在本模块中,用户可以修改购买数量、删除已经选购的CD、提交购物车(在提交时可以简单附言说明)、清空购物车、继续购买或查询CD、转到其他模块等。
我的购物车功能模块运行效果图如图4-18所示。
图4-18 我的购物车功能模块运行效果
(4) 订单信息功能模块设计
本模块中用户可以看见自己已经提交的所有订单,可以查看订单的详细情况。确认订单时,系统采用弹出窗口的形式显示相信信息,在弹出窗口中可以进行付款。
订单信息功能模块的运行效果图如图4-19所示。
图4-19 订单信息功能模块的运行效果图
[8]电大学习网.免费论文网[EB/OL]. /d/file/p/2024/0424/fontbr />(5) 销量统计功能模块设计
这个模块可以显示销量排名在前100的CD名称和数量。销量统计模块首先生成销量统计管理类op_sale_statistics的实例对象,然后调用该对象的getSaleNumOrder()方法,从数据库取出销量前100名的CD的名称和销售数量并显示在页面上。
销量统计功能模块的运行效果图如图4-20所示。
4.3.2 管理员图形界面的设计 (1) 管理员登陆功能模块设计
为了验证管理员的身份,系统需要进行用户名和密码的验证,与用户图形界面的设计类似,本模块也需要运用login.java这个bean,设计一个表单让管理员输入用户名和密码。
(2) 现有CD管理功能模块设计
在这个模块里,管理员拥有对现有CD的详细资料进行查看、修改CD名称、删除CD
等权限。
图4-20 销量统计功能模块的运行效果图
(3) 添加新CD功能模块设计
在这个模块中,要添加一段JavaScript代码,对表单数据的合法性进行验证。
<script language="javascript">
function checkform() {
if (document.form1.cdname.value=="") {
document.form1.cdname.focus();
alert("CD名为空!");
return false;
}
if (document.form1.Singer.value=="") {
alert("歌手名为空!");
document.form1.Singer.focus();
return false;
}
return true;
}
</script>
(4) 添加新CD分类功能模块设计
这个模块列出了商店现有CD分类,管理员可以删除现有分类,也可以添加新的分类。但在删除操作之前,通过在连接的onclick事件里调用confirm方法,提醒用户是否真的要删除选中的信息,减少误操作。
(5) 订单管理功能模块设计
管理员可以查看下订单用户的详细资料、查看订单的详细情况并且可以删除订单。
订单管理模块中首先生成op_buy类的对象,然后调用该对象的ger()Order方法,取得当前商店的所有订单,分页显示在页面上,下单用户名提供链接,当管理员在用户名列单击某个用户名时,能够弹出新的页面显示该用户的详细资料。然后为每个订单提供查看订单详细情况和删除订单的链接,当管理员单击“详细情况”链接时能够弹出新的窗口显示订单信息。当管理员单击“删除”链接时弹出提示,提示管理员是否确认删除当前订单,如果管理员选择“是”,则从数据库删除该订单,如果选择“否”,则退回详细订单情况页面。
(6) 用户管理功能模块
管理员通过这个模块对用户进行管理,其中包括:查看用户资料、修改用户资料、删除已存在用户等。
4.4 本章小结
本章主要对系统的详细设计过程进行阐述。详细设计是在总体设计基础上进一步细化、具体化、物理化,主要内容有:模块设计是按照功能独立、规模适当的模块化设计方法,对总体设计中各大模块进一步分细,成为各功能小模块,并绘出它们之间的联系及各模块内容及功能,它们的算法及流程;数据分级分类及编码设计;数据库设计。详细设计阶段最重要的目标就是编写出可读性好、容易理解、容易测试、容易修改的程序,对系统实现具有重大意义。
第5章 系统实现
5.1 组件的编写
基于系统功能分析,首先利用JBuilder新建一个工程,在这个工程里新建议个包cdshop,然后在这个包下新建三个包cd、util和run。系统包图如图5-1所示。
SHAPE /* MERGEFORMAT
5.1.1 util包
如图4-12所示,util包里包含2个类,作用分别为:
(1) DataBase类:主要负责数据库的连接。
(2) dataFormat类:负责数据的格式转换,如将字符串格式化成HTML代码输出等。
5.1.2 cd包
这个包中共有6个类,其作用为:
(1) allorder类:订单列表类。
(2) cd类:CD类,时CD实体的抽象。
(3) cdclass类:CD分类类,是CD分类实体的抽象。
(4) order类:订单类,是订单实体的抽象。
(5) shopcar类:购物车类,是购物车实体的抽象。
(6) user类:用户类,是用户实体的的抽象。
5.1.3 run包
在系统run包下,共包含了6个类,分别是:
(1) login类:管理用户登陆类。
(2) op_cd类:管理CD类,包括CD的查询、修改、删除、添加等。
(3) op_cdclass类:管理CD分类类,包括CD分类的查询、删除和添加。
(4) op_buy类:管理订单类,包括订单的查询、添加、修改和删除。
(5) op_user类:管理用户类,包括用户的查询、添加、删除和修改等。
(6) op_sale_statistics类:管理CD的销售统计。
5.2 部分源代码摘录及分析
5.2.1 数据库连接问题和实现
首先安装SQL Server数据库软件时,在选择【验证模式】时,选择混合验证模式,在学习的时候可以设置用户名sa,密码为空;利用JDBC驱动程序连接数据库一定要设置好驱动程序,使用数据源名称时,首先要在控制面板配置好数据源。
本系统采用通过JDBC驱动连接数据库的方式链接数据库。需要在微软的官方网站下载Microsoft SQL Server Driver for JDBC驱动程序在本地机器上进行安装。
public Boolean connect(){
try{
Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”)
newInstance();
//注册驱动程序
String url=”jdbc:Microsoft:sqlserver://localhost:1433;DatabaseName
=cdstore”;
//连接字符串,cdstore为数据库名称
String user=”sa”; //数据库用户名称
String password=””; //数据库密码,这里设为空
conn= DriverManager.getConnection(url,user,password); //获得连接
……
5.2.2 JSP的大小写敏感
JSP程序是区分大小写的,在编写JSP程序时一定注意不要将大小写混淆,例如:
String acd;与String Acd;
他们代表两个不同的字符串形变量。用过其他编程语言的人最容易犯这个错误。
另外,在浏览器的地址栏中输入的,访问JSP页面的地址也是区分大小写的。
5.2.3 管理用户登陆bean的编写
为了验证用户的合法性,系统需要用户输入用户名和密码,管理用户的登陆由JavaBean:login.java来完成。login类类图如图5-2所示。
SHAPE /* MERGEFORMAT
第四章中的图4-13中省略了部分方法,下面简单介绍getSql()方法。
这个方法的功能是根据用户的不同获得不同的查询SQL语句,返回的是字符串型的SQL语句。其设计思路见图5-3所示。
SHAPE /* MERGEFORMAT
5.3 本章小结
通过本章的系统实现,最组件的的编写介绍,可以概要的说明系统的实现的前提条件和一些方法。
第6章 系统运行评估
在线CD销售系统开发完毕到投入使用之前,需要进行一系列系统集成和确认测试。软件测试的根本目的应该是找出软件中存在的漏洞和问题,而开发人员往往不容易找出自己的程序中存在的漏洞和问题,所以从理论上讲,系统的测试工作应该由专业测试人员进行。但鉴于本系统为个人毕业设计作品,所以暂时由本人进行测试[10]。
6.1软件测试概述
软件测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。软件测试是为了发现错误而执行程序的过程。软件测试在软件生存期中横跨两个阶段:通常在编写出每一个模块之后就对它做必要的测试(称为单元测试)。编码和单元测试属于软件生存期中的同一个阶段。在结束这个阶段后对软件系统还要进行各种综合测试,这是软件生存期的另一个独立阶段,即测试阶段。
6.1.1软件测试的目的
软件测试的目的, 论文检测天使-免费论文检测软件http://www.jiancetianshi.com
第一是确认软件的质量,其一方面是确认软件做了你所期望的事情(Do the right thing),另一方面是确认软件以正确的方式来做了这个事件(Do it right)。
第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。
第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的。
6.1.2软件测试的原则
软件测试从不同的角度出发会派生出两种不同的测试原则,从用户的角度出发,就是希望通过软件测试能充分暴露软件中存在的问题和缺陷,从而考虑是否可以接受该产品,从开发者的角度出发,就是希望测试能表明软件产品不存在错误,已经正确地实现了用户的需求,确立人们对软件质量的信心。
为了达到上述的原则,那么需要注意以下几点:
(1) 应当把“尽早和不断的测试”作为开发者的座右铭。
(2) 程序员应该避免检查自己的程序,测试工作应该由独立的专业的软件测试机构来完。
(3) 设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况要制造极端状态和意外状态,比如网络异常中断、电源断电等情况。
(4) 一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系。
(5) 对测试错误结果一定要有一个确认的过程,一般有A测试出来的错误,一定要有一个B来确认,严重的错误可以召开评审会进行讨论和分析。
(6) 制定严格的测试计划,并把测试时间安排的尽量宽松,不要希望在极短的时间内完成一个高水平的测试。
(7) 回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多的错误出现的现象并不少见。
(8) 妥善保存一切测试过程文档,意义是不言而喻的,测试的重现性往往要靠测试文档。
6.2 系统测试
6.2.1 系统入口测试要点
测试要点:用户名、密码和验证码。
测试路径:用户名、密码验证码是否为真。
测试结果:为真,进入系统;为假,提示重新输入用户信息。
适用范围:管理员登录、用户登录等。
6.2.2 数据录入测试要点
测试要点:数据录入类型。
测试路径:录入类型是否正确。
测试结果:录入类型正确能写入数据库增加新记录;否则提示重新输入。
当录入数据为数据表中限定的类型时,才能增加新的记录;若录入的数据类型不正确,则无法增加新的记录。
适用范围:添加类别、添加信息。
6.2.3 用户界面窗体设计测试
窗体大小。大小要合适,控件布局合理;
缩放窗体。窗体上的控件应随窗体的大小变化而变化;
显示分辨率。必须在不同的分辨率的情况下测试程序的显示是否正常。
经过测试,发现系统用户界面窗体的大小在大部分台式机和笔记本电脑显示器上效果不一。后经分析发现,开发使用的笔记本电脑系宽屏设计,因此造成了一般尺寸的台式机显示器显示不正常的现象。及时修改页面大小可以修正此问题。其他功能未发现异常。
6.2.4 文本框的测试
输入正常的字母或数字;
输入超长字符。例如在“名称”框中输入超过允许边界个数的字符,假设最多25个字符,尝试输入 26个字符,检查程序能否正确处理;
输入默认值,空白,空格;
若只允许输入字母,尝试输入数字;反之;尝试输入字母;
利用复制,粘贴等操作强制输入程序不允许的输入数据;
输入特殊字符集,例如,NUL及/n等;
输入超过文本框长度的字符或文本,检查所输入的内容是否正常显示;
输入不符合格式的数据,检查程序是否正常校验,如,程序要求输入年月日格式为yy/mm/dd,实际输入yyyy/mm/dd,程序应该给出错误提示;
经过测试,系统在文本框输入功能中表现正常,在出现异常输入时能够及时报错并提醒用户重新输入。
6.3 本章小结
本章首先是对系统的测试方法进行了讨论,找出最适合本系统设计的测试方法,最后分析本系统的测试过程。我们一定要注意好养成一个尽早和不断的测试的习惯,这样才能及早发现问题。
总结
本系统设计并实现一个在线CD销售网站的模型。本网站采用了流行的三层架构,通过将整个系统分为不同的逻辑模块,大大降低了应用程序系统开发和维护的成本,提高了系统模块的复用性,同时使系统的可扩展性大大提高。由于JSP自身的优点,本网站对系统的要求较低,兼容性很好,为网站的推广使用提供了便利和可能。
在线CD销售系统的开发过程中,通过对JSP技术的学习和运用,我充分体会到了JSP技术在系统移植方面出众的优点以及它的无限魅力。JSP技术正在不同的方式影响者企业、个人和开发人员。对于个人,JSP技术将网络商店变得更加普遍的同时也更加个性化。对于企业和网站开发人员,JSP技术让开发变得更加简便和实用,与传统开发方法相比执行效率也更高,它将改变企业的销售模式,使IT真正成为企业成功的重要因素。本系统也存在一些问题,界面不够美观、 购物车功能尚不完善,相信在今后不断的开发和维护过程中,系统的功能会一步步趋于完善,真正做到购销双方都得心应手。
参考文献
1 徐成志, 申丁.组建中小型电子商务网站的研究[J]. 泰山学院学报, 2004, 26:54-60
2 夏阳,张强,陈小林.基于ASP.Net的电子商务网站设计[J].计算机工程与设计,2004:11-15
3 余杰.JSP动态网站建设[M].北京:国防工业出版社,2002:101-125
4 胡铮.数据库管理[M].北京:华夏出版社,2006:56-65
5 姜力.SQL Server数据库设计与管理[M].北京:中国林业出版社,北京大学出版社,2006:7-55
6 玛依拉·别克强塔伊娃.基于JSP技术的通用考试系统[J]. 计算机应用, 2003:104-135
7 Robert Brunner. JSP: Practical Guide for Programmers (The Practical Guides). San Francisco: Morgan Kaufm, , ann Publisher, 2003:29-48
8 孙梅. JSP应用的安全性研究[J] .佳木斯大学学报(自然科学版), 2003,(04):56-78
9 任艳,李九龄.应用JSP进行数据库信息发布[J]. 计算机工程与应用, 2002,(07):36-72
10 张海藩.软件工程. 北京:人民邮电出版社, 2004:128-139
[8]电大学习网.免费论文网[EB/OL]. /d/file/p/2024/0424/fontbr />
相关文章:
论IT环境下企业风险管理的完善04-26
国土资源数据中心插件式系统模型研究04-26
煤矿企业供应物流信息系统研究04-26
浅论网络营销发展模式及其创新04-26
ControlLogix系统冗余故障分析及改进措施04-26
关于企业市场营销模式与创新略论04-26
国内鞋业企业的品牌营销战略研究04-26
市场营销模式分析04-26
网络营销发展及策略浅析04-26