面
河南城建学院
《UNIX 系统与软件开发课程设计》设计说明书
设计题目: 图书管理系统
专 业: 计算机科学与技术
指导教师: 张俊峰
班 级: 0812112
学 号: 081211222
姓 名: # 龙 飞
同 组 人: # 海军 # 晶
计算机科学与工程系
2012 年 06 月 21 日
1
前 言
随着计算机技术的不断发展,计算机作为知识经济时代的产物,已被广泛应用于社
会各个行业和领域。目前,我国的科技水平高速发展,计算机作为今天使用最广的现代
化工具已深入到各个领域,并且正在成为未来社会——信息社会的重要支柱。在这样的
大背景下,现代图书管理系统的开发就是在于提高图书管理的工作效率,加强图书馆的
管理,全面实行计算机管理。
本图书管理系统是在 Linux 系统下用 C 语言开发,并使用 mysql 数据库来存储数据信
息。系统功能主要分三大块:用户管理、图书管理和借阅管理。
本文主要论述了其开发与设计的基本过程,在开发设计过程中主要运用了 Linux、C
语言、mysql 数据库等相关技术,根据面向对象开发原理,采用基于 C/S 的体系结构来开
发系统。图书管理系统使学校的图书管理变的更加方便,同时使管理人员从繁重的业务
核算工作中解脱了出来,大大减轻了管理人员的工作负担,同时系统快捷的信息存储与
查询功能很大地提高了管理人员的工作效率,节约了宝贵的时间。
目 录
一、系统环境.........................................................................................................................................................1
1.1 硬件环境...................................................................................................................................................1
1.2 软件环境...................................................................................................................................................1
1.3 算法介绍...................................................................................................................................................2
二、设计目的.........................................................................................................................................................3
2.1 系统目的...................................................................................................................................................3
2.2 实验目的...................................................................................................................................................3
三、总体设计.........................................................................................................................................................4
3.1 数据库逻辑结构设计...............................................................................................................................4
3.2 数据库模式设计.......................................................................................................................................4
3.3 系统模块图...............................................................................................................................................5
3.4 系统流程图...............................................................................................................................................6
3.5 详细设计...................................................................................................................................................6
四、调试与测试.....................................................................................................................................................8
4.1 程序的编译与链接...................................................................................................................................8
4.2 系统运行与测试.......................................................................................................................................8
4.3 程序中遇到的问题以及解决方法.........................................................................................................11
五、程序清单及执行结果与分析.......................................................................................................................13
5.1 执行 void exe_sql().................................................................................................................................13
5.2void print_result(MYSQL_RES *) 打印传入的结果集.........................................................................14
5.3 程序中导入的头文件.............................................................................................................................15
六、总结收获与体会...........................................................................................................................................16
七、参考文献.......................................................................................................................................................17
一、系统环境
本小组设计的是图书管理系统,在 Linux 下使用 C 语言和 MySql 数据库实现对图书
数据的增删查操作。
1.1 硬件环境
本次进行的系统设计基于 C 语言与 mysql 数据库,不需要太高的硬件配置。一般市面
上的 pc 机都可以满足开发的要求。
但是要注意,尽管对于硬件的要求不高,但是由于本设计中需要比较多的编译和连
接的操作,所以,有一个不错的硬件配置可以节约很多开发时间。
本小组使用的硬件配置是:
CPU Intel(R)Core(TM)2 Duo T5750 @2.00GHz 2.00GHz
内存 1.00GB
1.2 软件环境
本系统需要部署在安装有 MySQL 5.0 以上版本的 Linux 环境下才能正常运行。
由于 Linux 系统是一款功能强大的多任务、多用户的操作系统,可以应用从巨型计算
机到普通的 PC 等多种不同的平台上,是应用面最广、影响力最大的操作系统。Linux 是
一款外观、性能与 UNIX 相同或更好的操作系统,尽管 Linux 中的许多特性与 UNIX 有很
多相同之处,但 Linux 与任何版本的 UNIX 的源代码完全无关,是一个类似于 UNIX 的产
品。Linux 诞生于 1991 年的 10 月 5 日,他的诞生、发展和成长过程始终依赖着以下五个
重要的支柱:UNIX 操作系统、MINIX 操作系统、GNU 计划、POSIX 标准和 Internet。借
助于 Internet,并经过全世界各地计算机爱好者的共同努力,Linux 现已成为今天世界上使
用最多的一种 UNIX 类操作系统,并且使用的人数还在迅猛增加。Linux 是一款自由软件,
本身具有良好的兼容性、良好的界面、丰富的网络功能,并且支持多种平台。Linux 功能
强大,其本身就对 C、C++、Java 等等语言有很好的支持,所以可以在其环境下进行较顺
利的编程。
MySQL 是一个小型关系型数据库管理系统,开发者为瑞典 MySQL AB 公司。在 2008
年 1 月 16 号被 Sun 公司收购。而 2009 年,SUN 又被 Oracle 收购。MySQL 是一种关联数
- 1 -
据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓
库内。这样就增加了速度并提高了灵活性。MySQL 的 SQL“结构化查询语言”。 SQL 是用
于访问数据库的最常用标准化语言。MySQL 软件采用了 GPL。由于其体积小、速度快、
总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成
本而选择了 MySQL 作为网站数据库。
本系统的代码使用 Linux 下的 gedit 软件编辑。然后终端下使用 g++编译器进行编译
和链接。程序链接数据库时需要确保系统上安装了 MySQL 的开发包,程序编译时需要包
含 MySQL 的头文件(如 mysql.h 等),在链接时需要用到/usr/lib/mysql 目录下的
libmysqlclient.a 库文件。系统开发时用到软件包如下:
Server:MySQL-server-5.0.16-0.i386.rpm
Client:MySQL-client-5.0.16-0.i386.rpm
Dev:mysql-devel-3.23.54a-11.i386.rpm
1.3 算法介绍
由于要实现增删改查功能,所以不可避免的要使用到分支结构。而如果要在一个程
序中不断完成这方面的操作,我们还要使用循环的结构。于是,外循环内分支就成为了
整个图书管理系统的主线。
增加、删除、修改、查询这四个功能都是依靠独立函数来实现的。每个函数的大体
结构相同,都是通过用户输入,然后构建出 sql 语句,连接上 mysql 中的工作数据库,通
过 C 语言对 mysql 中的 booklib 表执行数据库的增加、删除、查询操作来达到处理数据的
目的。
- 2 -