华东区微软杯软件构件制作大奖赛精.docx
- 文档编号:23990624
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:12
- 大小:210.58KB
华东区微软杯软件构件制作大奖赛精.docx
《华东区微软杯软件构件制作大奖赛精.docx》由会员分享,可在线阅读,更多相关《华东区微软杯软件构件制作大奖赛精.docx(12页珍藏版)》请在冰豆网上搜索。
华东区微软杯软件构件制作大奖赛精
华东区微软杯软件构件制作大奖赛
构件设计文档
构件名称:
DataBaseLinkV1.0
构件制作人:
***
指导老师:
***
编制日期:
2004-9-10
1.
概述
1.1背景
随着现今软件应用技术的不断地发展以及企业的业务的发展,企业的各个系统都面临着不断的更新与调整。
由于大多数企业使用各种异构的数据库,加上企业系统地的其它要求:
如灵活的应用模式对于软件的可扩展性的要求,复杂的分布式环境下的应用、较短的软件开发周期等因素的存在,使得开发企业系统变得十分的困难。
为了部分缓解企业系统的开发难度。
我们迫切需要一种通用的构件,来快速方便的实现新开发的系统与各种类型的数据库的连接。
鉴于此,我们开发了DataLink构件,使用这个构件能够减少数据库连接的复杂性,从而大大提高软件开发效率。
1.2目标
为提高软件开发效率,减少数据库连接的复杂性,提出采用构件化和软件复用的方法进行软件开发,此DataLink构件设计的目标是在各种情况下,程序员都能用其连接数据库。
1.3术语定义
EJB:
EJB技术定义了一组可重用的组件:
EnterpriseBeans。
可以利用这些组件,像搭积木一样的建立分布式应用程序。
当把代码写好之后,这些组件就被组合到特定的文件中去。
每个文件有一个或多个EnterpriseBeans,再加上一些配置参数。
最后,这些EnterpriseBeans被配置到一个装了EJB容器的平台上。
1.4参考资料
《TheElementsofJavaStyle》
《Java™2PlatformEnterpriseEditionSpecification,v1.4》
1.5命名规则(可选)
本构件文件名称、程序名称、数据字段名以及变量名称,都参考自《TheElementsofJavaStyle》。
如果有自己特殊的命名规则,请自行说明
2.构件范围界定与分析
2.1功能性要求
此数据库构件沿袭了对象的封装特性,但同时又并不局限在一个对象,其内部封装了多个类、原型对象甚至过程,结构更灵活,应用也更加方便、灵活,另外,此构件突出了自包容和被包容的特性,便于软件的开发生产。
此数据库构件有如下的几个基本属性:
1、此构件是可独立配置的单元,他可作为一个独立的软件,单独运行,用户使用时,可以像装配零件一样去使用。
2、此数据库构件强调与环境和其他构件的分离,因此构件的实现时严格封装的,外界没机会或没必要知道构件内部的实现细节,Home()接口对用户屏蔽了所有内部实现过程。
3、此构件可以在适当的环境中被复合使用。
在设计此构件时,一个目标就是使用户在各种需要的环境下,复用此构件,因此构件提供清楚的接口规范,可以与环境交互。
从以上四个属性可以看出,
2.2非功能性
介绍构件的非功能性特征,如:
构件并发处理要求、异常处理、安全机制等。
2.3环境依赖
描述构件对于操作系统、开发工具、容器、实现的语言和平台等的依赖。
本构件由Java语言编写,在WebSphere环境下开发,由于Java的跨平台特性,因此本构件能用于各种平台下的数据库连接.
EJB容器向程序开发人员提供了最大程度的方便,简化了分布式应用程序的复杂的方面,如:
安全性,事务协调性,数据持久性,EJB容器被打包成一个标准的JAVA文件,一个EJB文件可以包括一个或多个的EnterpriseBeans。
对每一个Enterprisebeans,都有它的接口,类,和配置描述器。
用户调用此构件的Home()接口时,在客户端生成一个EnterpriseBeans的实例,随后可对此数据库构件按用户需求进行配置。
3.可变机制的设计
用户选择数据库后,可对数据库进行选择,更新,删除操作。
对于用户不同的参数选择,构件生成不同的SQL语句,如:
当用户选定数据库表Student,要对其进行选择操作时,构件自动列出用户可选的字段(StudentNM,Name,Birthday,Sex,Major),用户可从中选择需要的字段,然后加入约束条件,如StudentNM从1-100,则相应的数据库查询语句生成为:
SelectStudentNMNamefromStudentwhereStudetNMbetween1and100
数据库连接上后,就可对数据库执行查询语句。
4.内部结构设计
4.1内部对象
1.数据库连接对象
属性:
主机名,用户名,密码,数据库名.数据库连接驱动,数据库类型.
方法:
GetConnName(StringhostName)参数为连接数据库的主机名
GetUserName(StringUserName)参数为数据库用户名
GetPWD(StringPWD)参数为登录数据库密码
GetDriver(StringDriver)参数为所要连接的数据库驱动
GetDBType(StringDBType)参数为数据库类型
GetDBName(StringDBName)参数为数据库名
Voidmain()获取数据库连接属性,实现连接数据库
4.2子构件
4.2.1构件列表
子构件编号
子构件名称
1001
OracleJDBC驱动程序
1002
SQLServer2000JDBC驱动程序
1003
DB2UniversalDatabaseJDBC驱动程序
1004
MySQLJDBC驱动程序
1005
MicrosoftAccessJDBC驱动程序
1006
试验服务器平台(Tomcat)
4.2.2构件间关系
4.2.2.1连接文件生成模块
5.数据设计
5.1内部数据结构
本构件使用标准的Ejb数据结构,如果有特殊的格式可以自行列出。
5.2数据库设计
此示例构件对于数据库没有特殊要求。
如果此构件需要特殊数据库,则进行描述。
6.接口内部设计
描述构件每个接口的功能。
图例
6.1#1001OracleJDBC驱动程序
6.2#1002SQLServer2000JDBC驱动程序(类似于#1001)
7.非功能部分设计
7.1异常处理(仅列出主要的错误类型)
异常类型
产生原因
处理方法
备注
NoSuchHostException
找不到相应主机
HandleNoSuchHostException()
ArthmaticException
数学错误
HandleArthmaticException()
NoSuchPathException
系统未发现此目录存在
HandleNoSuchPathException()
7.2安全性
1.本构件及其内部的子构件均是用JAVA语言构建的,其整体结构为一系列类的集合。
数据都采用封装的机制隐藏在类中;因此,数据无论是在调试时还是在运行时,都呈现出较好的安全特性。
2.本构件考虑到了一系列的意外情况,并相应的定义了一系列的例外处理函数,使得在程序执行中出现的大部分意外情况能得到及时、正确的处理。
3.至于数据库内部的数据的安全性,完全交由DBMS处理。
8.界面设计
本构件在组装时是通过一系列接口实现的,核心是实现与数据库的自动连接,本程序所呈现出来的界面只是作为一个功能演示;当然,如果应用程序装配员愿意,也可直接使用本程序提供的界面。
8.1
设计时
7.1.1数据库连接界面IfD#001
7.1.2数据库连接测试失败界面IfD#002
8.2运行时
由于在进行设计界面时,使用的是可视化的设计环境,所以在实际运行时,所看到的界面与上面列出的大同小异。
所不同的是,多了一些附加页面,比如对例外处理中所需要显示的警告,提示(如下图所示)页面等。
9.构件生命周期
(构件运行时从建立到撤销的整个生命周期过程)
上图中红色方框内部分即为整个构件的生命期
10.构件封装
描述构件封装后的文件结构及各文件所提供的接口。
本构件由如下文件组成
Conn.java(主要完成数据库连接工作)
Error.java(封装以上提出的异常处理,处理运行时错误的文件)
Select.java(执行记录选择操作)
Update.java(执行记录更新操作)
Delete.java(执行删除记录操作)
构件封装之后文件结构如下:
各文件的提供的接口为:
Conn.java文件:
GetConnName(StringhostName)参数为连接数据库的主机名
GetUserName(StringUserName)参数为数据库用户名
GetPWD(StringPWD)参数为登录数据库密码
GetDriver(StringDriver)参数为所要连接的数据库驱动
GetDBType(StringDBType)参数为数据库类型
GetDBName(StringDBName)参数为数据库名
Select.java文件:
GetTableName(StringTableName)参数为要进行选择操作的数据表名
GetColumnName(StringColumnName)参数为选择的列名
GetConstraints(Stringconstraint)参数为选择操作的约束条件
Update.java文件
GetTableName(StringTableName)参数为要进行更新操作的数据表名
GetColumnName(StringColumnName)参数为更新的列名
GetConstraints(Stringconstraint)参数为更新操作的约束条件
GetValue(Stringupdate)
GetValue(intupdate)
GetValue(floatupdate)参数为用户输入的更改值
Delete.java文件
GetTableName(StringTableName)参数为要进行删除操作的数据表名
GetConstraints(Stringconstraint)参数为更新操作的约束条件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华东 微软 软件 构件 制作 大奖赛