概要设计说明书_第1页
概要设计说明书_第2页
概要设计说明书_第3页
概要设计说明书_第4页
概要设计说明书_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、四、概要设计说明书四、概要设计说明书1引言21.1编写目的21.2项目背景21.3定义21.4参考资料22任务概述32.1目标32.2运行环境32.3需求概述32.4条件与限制33总体设计33.1 0层设计概述33.2 1层设计概述33.3 处理流程33.4 总体结构和模块外部设计74接口设计34.1外部接口34.2内部接口35数据结构设计35.1实体类图35.2实体类表35.3实体之间的关系35.4逻辑结构设计105.5 物理结构设计136具体类设计36.1创建数据库36.2创建表36.3添加文件36.4 数据管理177.运行设计37.1 运行模块的组合7.2 运行控制7.3 运行时间 8出

2、错处理设计37.1出错输出信息37.2出错处理对策39.安全保密设计31引言1.1编写目的本文档是数据库管理系统的总体设计和实现说明,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、运行设计和出错处理设计等,记录了系统整体实现上技术层面上的考虑,为程序的详细设计工作提供基础。同时该文档将作为产品实现、特性要求和控制的依据。1.2项目背景数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据

3、,数据库管理员也通过DBMS进行数据库的维护工作。它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。大部分DBMS提供数据定义语言DDL( Data Definition Language)和数据操作语言DML( DataManipulation Language),供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作。1.3定义Abbreviations Full spelling Chinese explanation SDISingle Document Interface单文档界面 MFCMicrosoft Foundation Classes

4、微软基础类库 DBMSDatabase Management System数据库管理系统RDBMSRelational Database Management System关系型数据库管理系统C/SClient/Sever客户/服务器模式MVCModel View Controller模型-视图-控制器1.4参考资料参考了软库给出的示范文档2任务概述2.1目标技术目标:1、了解项目业务背景,调研数据库管理系统,了解数据库管理系统功能等。2、掌握C+开发工具和集成开发环境(Visual C+ 6.0或Miscrosoft Visual Studio2010)。3、掌握C+面向对象的编程。理解MF

5、C基本框架,重点理解MFC、 Dialog对话框编程、常用控件编程、表格控件、树型控件、编辑与树视图、标准窗体等。4、掌握数据库管理系统的DDL、 DML和DCL功能。5、掌握操作系统概念,进程和线程操作。6、进行项目需求调研和分析,理解需求和设计技术,阅读并填充项目需求和设计文档。7、理解TSP软件开发过程,理解软件结构、迭代开发和GUI应用程序的开发。事务目标:利用计算机技术和信息技术实现现实数据的信息化。根据自己对sql server等现有数据库管理系统的认识开发自己的数据库管理系统,达到数据和表的规范有序、信息查阅快速准确、事务处理方便高效的要求。2.2运行环境Visual studi

6、o 20122.3需求概述实现基本的数据库管理系统的DDL、DML和DCL功能;实现具有不同权限的用户的访问限制2.4条件与限制1. 最小的硬件配置 CPU:1GHZ RAM: 128MB2. 为确保可以运行顺畅,硬件配置最好满足以下所给 CPU:1.8GHZ RAM: 1G3总体设计3.1 Level 0 Design Description 1. 程序结构设计按照逻辑定义,本程序可以分为三个图层集合:表示层,逻辑层,数据访问层。数据在每一层被调入“实体”类(data object)。和业务逻辑没联系的公共类可能被用在程序中的“工具类”里面。2. 数据存储结构系统用操作系统中的二进制文件存储

7、数据,在文件夹以及文件里面保存数据定义和数据信息。DBMS系统定义文件包括数据库描述文件,表描述文件,表定义文件,索引描述文件,日志文件等等.3.2 Level 1 Design DescriptionSystem Architecture该系统根据根据“分而治之”的思想进行开发的。功能被单独的分成很多版块来进行开发与管理。关于系统的详细版块分解请看如下示意图:3.3处理流程对项目的开发,采用迭代开发思想进行开发,沿着“框架开发 -> 界面开 -> 数据设计 ->功能开发”这条线路进行开发。其中功能开发又分为几个迭代, 每个迭代就当做一个完整的项目开发过程(需求 ->

8、设计 -> 实现),来进行开发。3.4总体结构和模块外部设计4接口设计 4.1外部接口用户界面1. 对于系统管理员开发的接口:1) 数据库的管理接口2) 表的管理接口3) 字段的管理接口4) 记录的管理接口5) 异常的管理接口6) 数据库管理系统的安全性、维护2. 对于普通用户的接口:1) 表的管理接口2) 字段的管理接口3) 记录的管理接口4.2内部接口程序软件结构可以按逻辑职责划分,分为"表示层"、"业务逻辑层"、"数据访问层"三层 。各层之间使用"实体类"(数据对象) 进行数据的传递。另外,程序中各层中

9、都可能用到且与业务无关的公共类作为"工具类"。表现层通过UI与用户进行交互,包括对话框、框架窗口和用户相应;业务逻辑层会处理用户输入的数据,如判断输入数据是否为空,判断数据是否可以写入表中;数据访问层会进行文件的读写,并接收业务逻辑层传递过来的数据信息。数据库管理最重要的部分是数据,因此保存有数据和数据库描述的文件是重点保护对象。为了保存多种数据,还设计了多种文件,下面会详细介绍。5数据结构设计在面向对象的设计方法中,数据也可以作为一个对象来处理,如果数据附属于某一对象,可以将其纳入该对象的属性管理之中。所以在面向对象的设计过程中,对数据的设计是在对对象的设计过程中完成的。

10、5.1实体类图5.2实体类表5.3实体之间的关系5.4逻辑结构设计1. 实现数据库的创建功能。对应SQL语句: CREATE DATABASE <database name>。数据库分为用户数据库与系统数据库两种类型,系统数据库为系统创建时由系统创建的数据库,此数据库不可以被删除。2. 实现数据库的删除功能。对应SQL语句: DROP DATABASE <database name>。数据库分为用户数据库与系统数据库两种类型,用户数据库可以删除,系统数据库为系统创建时由系统创建的数据库,此数据库不可以被删除。3.1实现数据库表的创建功能,对应的SQL语句: CREATE

11、 TABLE <table name>。创建表格时,将表格的基本信息添加到当前数据库的表信息文件中,表描述文件为: 数据库名称.tb;2. 实现数据库表的修改功能,对应的SQL语句: ALTER TABLE <table name> <alter tableaction>。当表格字段有添加,更新表中字段数,记录数,修改时间,或者路径;3. 实现数据库表的删除功能,对应的SQL语句: DROP TABLE <table name>。1. 在已建的表中,添加字段。对应SQL语句: ALTER TABLE <table name> ADD

12、COLUMN<column name> <column definition>;2. 修改表中的字段信息。对应SQL语句: ALTER TABLE <table name> MODIFY COLUMN<column name> <alter column action>;3. 删除表中的字段。对应SQL语句: ALTER TABLE <table name> DROP COLUMN<column name> <drop behavior>。1. 向数据库表中插入一条记录。对应SQL语句: INSER

13、T INTO <table name> <column name list> VALUES <insert value list>;2. 向数据库表中插入一条记录。对应SQL语句: INSERT INTO <table name> <column name list> VALUES <insert value list>;3. 查询表中的全部记录。对应SQL语句为: SELECT * FROM <table name> WHERE <search condition> ;4. 删除表中的记录。对应S

14、QL语句为: DELETE FROM <table name> WHERE <searchcondition> 。5.5.5物理结构设计数据库名字.db如图 是 数据库描述文件、表描述文件、表定义文件、记录文件之间的关系DBMS的描述文件:数据库描述文件(XXX.db):保存数据库名称、数据库数据文件夹全路径和日志文件等;表描述文件(*.tb):保存表格名称、记录数、表格记录文件路径和创建时间等;表定义文件(保存字段信息, *.tdf):字段名称、字段类型、约束信息等;DBMS 的数据文件记录文件(*.trd):多条记录日志文件(*.log):记录当前数据库进行的操作历

15、史,在操作出现错误后可以根据这个文件回退6. 具体类设计6.1创建数据库6.2创建表6.3添加文件6.4数据管理6.41插入记录6.4.2查询记录7运行设计7.1运行模块的组合说明对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,说明每种运行所历经的内部模块和支持软件数据库管理表管理数据管理字段管理 管理员 普通用户客户端管理数据库维护数据库安全7.2运行控制a.说明对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,说明每种运行所历经的内部模块和支持软件。 b. 说明每一种外界运行控制的方式方法和操作步骤。 c. 说明每种运行模块

16、组合将占用各种资源的情况。d. 说明系统运行时的安全控制。7.3运行时间及时相应用户操作8出错处理设计8.1出错输出信息出错后弹出消息提示框,列出详细错误说明8.2出错处理对策1. 出错后交给系统开发者进行维修;2. 出错后使用者需重新启动,但错误并不影响系统性能;3. 系统每隔一段时间会自动备份已有的数据库描述文件,间隔时间由系统开发者设定,系统重启后若找不到原文件位置可自动读写备份文件9.安全保密设计1. 用户登录使用的密码进行加密后再存入文档。2. 表中的数据也进行加密后再存入文档3.在DBMS外层实现加密和解密选择适合于数据库系统的加密算法应该满足以下的要求:由于数据库中的记

17、录保存时间相对较长,因此加密算法强度要求高;数据库加密以后,明密文数据长度相同或者相当,不应明显增加,避免数据库管理系统有较大变动;对于大型数据库系统而言,数据库最常见的使用方式是随机访问,所以加脱密速度要足够快,对数据操作响应时间的影响应在用户可接受的范围内;加密算法应该能够直接对记录或者字段进行加密。考虑到数据库数据量大、数据访问频繁的特点,数据库加密算法应采用对称密码算法,并且由于数据库字段的长度一般较小,适合采用小分组加密算法。目前数据库加密常用的算法如下:(1)数据加密算法(Data Encryption Algorithm,DEA)是一种对称加密算法,很可能是使用最广泛的密钥系统,

18、特别是在保护金融数据的安全中,最初开发的DEA是嵌入硬件中的。(2)3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称。它相当于是对每个数据块应用三次DES加密算法。由于计算机运算能力的增强,原版DES密码的密钥长度变得容易被暴力破解;3DES即是设计用来提供一种相对简单的方法,即通过增加DES的密钥长度来避免类似的攻击,而不是设计一种全新的块密码算法。(3)AES加密算法,密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国

19、联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。(4)RC5分组密码算法是1994由麻萨诸塞技术研究所的Ronald L. Rivest教授发明的,并由RSA实验室分析。它是参数可变的分组密码算法,三个可变的参数是:分组大小、密钥大小和加密轮数。在此算法中使用了三种运算:异或、加和循环。4,。加密粒度选择较之一般的计算机数据加密技术,数据库系统的数据加密情况比较复杂。根据应用场合的不同,可分别选取以文件、记录或者字段作为加密的基本单位。由于层次不同,这3个加密粒度的适用环境与实现难度各不相同。(1)以文件为单位进行加密把数据库文件作为整体,用加密算法对整个数据库文件加密来保证信息的真实性和完整性。这种方法存在极大的缺点:由于数据库文件只有在解密后才能使用,因此,用户在使用数据库前需要解密整个数据文件。这样造成用户操作数据库过程中,数据库文件是以明文形式存放在磁盘上,用户在关机前必须确保明文数据库文件彻底删除以防止泄密,同时对索引文件、临时文件等一切可能引起泄密的文件也要彻底删除。(2)以记录为单位进行加密在某种程度上说,数据库系统中的每条记录完整地存储了一个实体的数据。因此,基于记录的加密粒度是最常用方式。这种方式是将数据库中每条记录使用不同的密钥加密后存于数据库文件中。一般来说,记录的长度一般较短,而在数据库中存储时间相对较长

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论