图书管理系统实验报告

图书管理系统实验报告
图书管理系统实验报告

图书管理系统实验报告

一、问题描述

有一个小型书库保管了大量图书,关于图书有大量信息需要处理,这些信息包括图书的分类、书名、作者名、购买日期、价格等。现要求编写一个程序以便于对图书的管理。

基本要求:

a.建立图书信息。

b.提供想找功能,按照多种关键字查找需要的书籍。例如按书名查找,输入书名后,将显示出该图书的所有信息,或显示指定信息。

c.提供排序功能,按照多种关键字对所有的书籍进行排序,例如按出版日期进行排序。

d.提供维护功能,可以对图书信息进行添加、修改、删除等功能。

数据结构与算法分析

数据存储结构可根据需要自选。如:顺序表、单链表、双链表、栈等。

算法主要要求用到对数据的查询与排序算法。

二、概要设计

有四个模块

1)图书初始化

输入图书的一些信息,编号、作者、书名、数量,使有一定的库存。

2)新书入库

新书采编入库,输入编号后如果有次数只需输入数量,没有则继续输入书名、作者、数量。

3)查询图书信息

4)退出

退出读书管理系统并保存图书信息。

三、算法设计

进入系统后首先进行图书初始化,输入图书的信息。

1)采编入库

开始

输入图书编号、名称、作者和图书数量

进入系统 录入图书信息 图书管理系统

图书管理模块

借阅操作模块

查询操作模块

初始化图书信

息采编入库

借书系统

还书系统

读者信息查询

图书信息查询

2)查询图书信息 否

四、运行结果和调试分析

图书信息初始化

判断是否有此图书

在原有的纪录上加上现有的图书数量

向系统中加入新纪录 判断图书信息是否为空

输出图书信息:编号、名称、作者、现有和库存

结束

同一本新书入库的运行结果图

不同的新书采编入库

采编入库后查询图书信息的运行结果图

借书

借书后查询图书信息的运行结果图

借同一本书的运行结果图

退出

五、总结体会

虽然这次的程序是通过上网查出来的,但是通过这次的实验使我知道了图书管理系统的流程,知道了一些以前不知道的知识,在运行程序时也遇到了一些问题,借书时只能借一本书,再借书就不能显示是借了还是不能借,把最多能借书的数量改了一下还是不行,最后在每一个判断输出之后都加了goto END借书,就能正常借书了。程序有点长,本来一个函数就能完成一个功能,他用了两个函数就我把自己能改成一个的改了。借书系统比较复杂,不容易懂,和同学交流了一下自己看了看才明白。

这次的实验还让我复习了数据结构的一些知识,如数组,while语句,switch 语句,链表,还知道了如何使用system("cls")清屏,还知道了strcmp是用来比较字符串s1和s2大小的,strcpy使用来把字符串s2的值赋给s1的。

这次的实验增加了我们自己动手动脑的能力,希望多做一些这样的实验,很有意义,和现实生活结合的程序增加了我的兴趣。

源代码

#include

#include

#include

#include

#define Max 4

typedef struct book

{

char book_num[10];

char book_name[20];

char book_writer[10];

int book_xy;

int book_kc;

struct book *next;

}BK;

typedef struct borrow

{

char borrow_book_num[10];

char limit_date[8];

}BO;

typedef struct reader

{

char reader_num[10];

char reader_name[10];

int right;

BO borrow[Max];

struct reader *next;

}RD;

BK *h_book;

RD *h_reader;

void Login();

int Menu();

void Init();

void Init_book();

void Menu_select();

void Insert_New_Book(); void Find_Book();

void add_reader();

void Print_reader();

void Print_book();

void Borrow_Book();

void Return_Book();

void Save();

void Save_Book();

void Save_Reader();

void Load();

void Load_Reader();

void Load_Book();

void Login()

{

system("cls");

printf("\n\n\n\t\t***************************************\n"); printf("\n\n\n\t\t\t欢迎使用图书管理系统\n");

printf("\n\n\n\t\t***************************************\n"); printf("\n\n\t\t本程序制作人王学号:\n\n\n\n\n\n\n");

printf("\n\n\n\t\t 按任意键进入系统...");

getch(); system("cls");

}

int Menu() /*主菜单*/

{ int dm;

printf("\n\t\t图书管理系统主菜单\n");

printf("=================================================\n"); printf("*\t0----退出系统 \n");

printf("*\t1----采编入库 \n");

printf("*\t2----登记读者 \n");

printf("*\t3----借阅登记 \n");

printf("*\t4----还书管理 \n");

printf("*\t5----查询图书信息 \n");

printf("*\t6----查询读者信息 \n");

printf("=================================================\n"); printf("请选择相应的代码:");

for(;;)

{ scanf("%d",&dm); //dm输入的数字

if(dm<0||dm>6)

printf("\n错误!请重新输入:");

else break;

}

return dm;

}

void Menu_select()/*主菜单选择函数*/

{

for(;;)

{

switch(Menu()) /*功能选择*/

{ case 0:

system("cls");

Save();

printf("\n\n\t文件保存成功!\n");

printf("\n\n\t欢迎下次使用本系统!\n");

getch();

exit(0);

case 1:Insert_New_Book();break;

case 2:add_reader();break;

case 3:Borrow_Book();break;

case 4:Return_Book();break;

case 5:Print_book();break;

case 6:Print_reader();break;

default:printf("\n错误!");

exit(0);}

}

}

void Init() /*初始化*/

{

BK *p0;

printf("\n图书初始化开始,请输入图书信息..\n包括编号.书名.数量..\n"); p0=(BK*)malloc(sizeof(BK));

h_book=p0;

printf("\n请输入图书信息:\n");

printf("图书编号:"); /*输入图书编号(唯一)*/

scanf("%s",p0->book_num);

printf("图书名称:"); /*输入图书名称*/

scanf("%s",p0->book_name);

printf("图书作者:"); /*输入图书作者*/

scanf("%s",p0->book_writer);

printf("图书数量:"); /*输入图书数量*/

scanf("%d",&p0->book_kc);

p0->book_xy=p0->book_kc; /*开始时图书现有量和库存量相等*/ p0->next=NULL;

printf("\n图书信息初始化完毕!按任意键继续下一步操作..\n");

getch();

system("cls");

}

void Insert_New_Book()/*新书入库*/

{

BK *p,*p0,*p1;

p=p1=h_book;

printf("\n新书入库模块...\n");

printf("\n请输入新书信息..\n包括书号.书名.数量..\n");

p0=(BK *)malloc(sizeof(BK));

printf("图书编号:");

scanf("%s",p0->book_num);

while(strcmp(p0->book_num,p1->book_num)!=0&&p1->next!=NULL)

p1=p1->next;

if(strcmp(p0->book_num,p1->book_num)==0) /*此处分两种情况,若图书编号存在,则直接进库,只须输入书的数量*/

{

printf("\n此编号图书已存在!!直接入库!\n");

printf("图书数量:");

scanf("%d",&p0->book_kc);

p1->book_kc+=p0->book_kc;

p1->book_xy+=p0->book_kc;

}

else/*若不存在,则需要输入其他的信息,然后在进行插入操作*/

{

printf("图书名称:");

scanf("%s",p0->book_name);

printf("图书作者:");

scanf("%s",p0->book_writer);

printf("图书数量:");

scanf("%d",&p0->book_kc);//库存数量

while(p->next)

{ p=p->next; }

if(h_book==NULL) h_book=p0; /*此处分两种情况,链表中没有数据,head 直接指向p0处*/

else p->next=p0; /*此处分两种情况,链表中有数据,链表中最后元素的next指向p0处*/

p0->next=NULL;

p0->book_xy=p0->book_kc;

}

printf("\n新书入库完毕!按任意键继续下一步操作..\n");

getch();

system("cls");

void add_reader()/*添加读者*/

{ RD *p0;

int i;

printf("\n读者初始化开始,请输入读者信息..\n包括书证号.姓名..\n"); p0=(RD*)malloc(sizeof(RD)); /*申请新结点存储空间*/

h_reader=p0;

printf("\n请输入读者的信息:\n");

printf("读者书证号:");

scanf("%s",p0->reader_num);

printf("读者姓名:");

scanf("%s",p0->reader_name);

p0->right=0;

for(i=0;i

{

strcpy(p0->borrow[i].borrow_book_num,"0"); /*所借图书直接置为(即没有借书)*/

strcpy(p0->borrow[i].limit_date,"0");

}

p0->next=NULL;

printf("\n读者信息初始化完毕!按任意键继续下一步操作..\n");

getch();

system("cls");

}

void Borrow_Book() /*借书模块*/

{

BK *p0; RD *p1;

char bo_num[10],rea_num[10],lim_date[8];

int i;

p0=h_book; p1=h_reader;

printf("\n借书模块...\n");

printf("\n请输入借书的读者书证号:");

scanf("%s",rea_num);

while(p1->next!=NULL&&strcmp(rea_num,p1->reader_num)!=0)

p1=p1->next;

if(p1->next==NULL&&strcmp(rea_num,p1->reader_num)!=0)

{

printf("\n此读者编号不存在!按任意键返回..\n");

goto END;

}

printf("\n请输入你要借的书的编号:");

scanf("%s",bo_num);

while(strcmp(bo_num,p0->book_num)!=0&&p0->next!=NULL)

p0=p0->next;

if(p0->next==NULL&&strcmp(bo_num,p0->book_num)!=0)

{

printf("\n此图书编号不存在!按任意键返回..\n");

goto END;

}

else if(p0->book_xy<=0)

{

printf("\n抱歉,此书已借完!请等待新书的到来!!\n按任意键返回...."); goto END;

}

else if(p1->right>Max||p1->right==Max)

{

printf("\n不好意思,借书数目已满!不能借书!\n按任意键返回....");

goto END;

}

else if(strcmp(p1->borrow[0].borrow_book_num,"0")!=0)

{

for(i=0;i

{

if(strcmp(p1->borrow[i].borrow_book_num,bo_num)==0)

{

printf("\n抱歉!同一个读者不能同借两本相同的书!\n按任意键返回....");

goto END;

}

else if(strcmp(p1->borrow[i].borrow_book_num,"0")==0)

{

printf("\n请输入你要归还图书的日期:");

scanf("%s",lim_date);

strcpy(p1->borrow[p1->right++].borrow_book_num,bo_num); strcpy(p1->borrow[p1->right-1].limit_date,lim_date);

p0->book_xy--;

p0->book_kc--;

printf("\n读者编号%s借书完毕!按任意键继续下步操

作..",p1->reader_num);

goto END;

}

}

else

{

printf("\n请输入你要归还图书的日期:");

scanf("%s",lim_date);

strcpy(p1->borrow[p1->right++].borrow_book_num,bo_num); strcpy(p1->borrow[p1->right-1].limit_date ,lim_date );

p0->book_xy--;

p0->book_kc--;

printf("\n读者编号%s借书完毕!按任意键继续下步操

作..",p1->reader_num);

}

END:getch(); system("cls");

}

void Return_Book() /*还书模块*/

{

BK *p; RD *q;

int i,j,find=0;

char return_book_num[10],return_reader_num[10];

p=h_book; q=h_reader;

printf("\n还书模块...\n");

printf("\n请输入要还书的读者编号:");

scanf("%s",return_reader_num);

while(q->next!=NULL&&strcmp(return_reader_num,q->reader_num)!=0) q=q->next;

if(q->next==NULL&&strcmp(return_reader_num,q->reader_num)!=0)

{

find=2;

printf("\n此读者编号不存在!按任意键返回..\n");

goto end;

}

printf("\n请输入读者还书的编号:");

scanf("%s",return_book_num);

while(p->next!=NULL&&strcmp(return_book_num,p->book_num)!=0)

p=p->next;

if(p->next==NULL&&strcmp(return_book_num,p->book_num)!=0)

{

find=2;

printf("\n错误!此图书编号不存在!按任意键返回..\n");

goto end;

for(i=0;i

if(strcmp(return_book_num,q->borrow[i].borrow_book_num)==0) /*如果此读者借了此书*/

{

find=1;

for(j=i;j

{

strcpy(q->borrow[j].borrow_book_num,q->borrow[j+1].borrow_book_num); strcpy(q->borrow[j].limit_date,q->borrow[j+1].limit_date);

}

strcpy(q->borrow[Max-1].borrow_book_num,"0");

strcpy(q->borrow[Max-1].limit_date,"0");

p->book_xy++;

p->book_kc++;

q->right--;

printf("\n编号%s的读者还书完毕!按任意键继续下步操

作..",return_reader_num);

}

if(find==0)

printf("\n错误!此读者未借此书!按任意键返回..\n");

end: getch(); system("cls");

}

void Print_book() /*查询图书信息*/

{

BK *p;

p=h_book;

printf("\n图书信息如下:\n\n");

printf("图书编号\t图书名称\t图书作者\t现有\t\t库存\n");

while(p!=NULL)

{

printf("%s\t\t%s\t\t%s\t\t%d\t\t%d\n",p->book_num,p->book_name,p->book_w riter,p->book_xy,p->book_kc);

p=p->next;

}

printf("\n图书信息打印完毕!按任意键继续下一步操作..");

getch();

system("cls");

}

void Print_reader() /*查询读者信息*/

{

RD *p;

int i;

p=h_reader;

printf("\n读者信息如下:\n\n");

printf("读者书证号\t\t读者姓名\n");

printf("\n");

while(p!=NULL)

{

printf("\t%s\t\t%s",p->reader_num,p->reader_name);

for(i=0;i

{

printf("\n");

printf("图书编号",i+1);

printf("\t还书日期",i+1);

printf("\n");

printf("\t%s",p->borrow[i].borrow_book_num);

printf("\t\t%s",p->borrow[i].limit_date);

}

printf("\n");

p=p->next;

}

printf("\n读者信息打印完毕!按任意键继续下一步操作..");

getch();

system("cls");

}

void Save() /*保存信息*/

{

Save_Reader();

Save_Book();

}

void Save_Reader() /*保存读者信息*/

{

FILE *fp_reader;

RD *p,*p0;

p=h_reader;

if((fp_reader=fopen("Reader.txt","wb"))==NULL) /*创建文件,进行保存*/ {

printf("\n文件保存失败!\n请重新启动本系统...\n");

exit(0);

}

while(p!=NULL)

{

if(fwrite(p,sizeof(RD),1,fp_reader)!=1) /*将链表中的信息写入文件中*/

printf("\n写入文件失败!\n请重新启动本系统!\n");

p0=p;

p=p->next;

free(p0); /*释放所有结点*/

}

h_reader=NULL;

fclose(fp_reader); /*关闭文件*/

}

void Save_Book() /*保存图书信息*/

{

FILE *fp_book; /*创建文件型指针*/

BK *p,*p0;

p=h_book;

if((fp_book=fopen("Book.txt","wb"))==NULL) /*创建文件,进行保存*/ {

printf("\n文件保存失败!\n请重新启动本系统...\n");

exit(0);

}

while(p!=NULL)

{

if(fwrite(p,sizeof(BK),1,fp_book)!=1) /*将链表中的信息写入文件中*/

printf("\n写入文件失败!\n请重新启动本系统!\n");

p0=p;

p=p->next;

free(p0);

}

h_book=NULL;

fclose(fp_book); /*关闭文件*/

}

void Load() /*加载信息*/

{

Load_Reader();

Load_Book();

}

void Load_Reader() /*加载读者信息*/

{

RD *p1,*p2,*p3;

FILE *fp; /*创建文件型指针*/

fp=fopen("book.txt","rb"); /*打开文件*/ p1=(RD *)malloc(sizeof(RD));

fread(p1,sizeof(RD),1,fp);

h_reader=p3=p2=p1;

while(! feof(fp)) /*读出信息,重新链入链表*/ { p1=(RD *)malloc(sizeof(RD));

fread(p1,sizeof(RD),1,fp);

p2->next=p1;

p3=p2;

p2=p1;

}

p3->next=NULL;

free(p1);

fclose(fp); /*关闭文件*/

}

void Load_Book() /*加载图书信息*/

{

BK *p1,*p2,*p3;

FILE *fp; /*创建文件型指针*/

fp=fopen("Book.txt","rb"); /*打开文件*/

p1=(BK *)malloc(sizeof(BK));

fread(p1,sizeof(BK),1,fp);

h_book=p3=p2=p1;

while(! feof(fp)) /*读出信息,重新链入链表*/ { p1=(BK *)malloc(sizeof(BK));

fread(p1,sizeof(BK),1,fp);

p2->next=p1;

p3=p2;

p2=p1;

}

p3->next=NULL;

free(p1);

fclose(fp); /*关闭文件*/

}

void main()

{

FILE *fp_book,*fp_reader; /*创建文件型指针*/

Login();

if((fp_book=fopen("Book.txt","rb"))==NULL||(fp_reader=fopen("Reader.txt" ,"rb"))==NULL)

{ Init(); }

else Load();

Menu_select(); /*调用主菜单*/

}

图书管理系统心得精选多篇

图书管理系统心得(精选多篇) 为期两个星期的c#图书管理系统实习终于结束了,总算松了一口气,在这短短的两周时间内承受了很大的压力现在终于能够得到“释放”了,感觉到很轻松。回顾这两周所做过的工作和努力,感觉到收获不少,这里面除了实习本省的内容外,还包括许许多多超乎实习本身意义之外的东西。 说实话本来我多程序编写这相关的都不怎么感兴趣,甚至可以说是害怕,因为大一的时候曾经有过程序设计的实训,但是包括之前的一学期的学习我感觉到自己学的很差,就这样懵懵懂懂的学过来了,虽然最后实训的时候我对程序设计有了一知半解,也学到了一些知

识,但是这也只是些皮毛。 但是这次的实习不一样,可以说我觉得实习给我带来的最大的帮助就是使我对这门课程有了兴趣,有时候我自己都会感到很奇怪为什么自己会突然迷上了编程,近乎痴迷的爱,以前下了课堂书本就扔的远远的,但是自从这学期开始学c#我就开始期盼着最后的实习,可以自己独立设计出一套系统之类的程序,所以我上课充满了激情,下了课有时我还喜欢自己在电脑上捣鼓捣鼓一些程序,去做一些小小的钻研。从以前的“惧怕”上课到现在的“期盼”上课,我自己都说不上来是什么原因,如果非要找出一点理由的话,我想应该是从这学期的程序设计的课程中我已经渐渐地开始有点“入门”,相对于以前我只是站在“程序设计”的大门外徘徊,可以说现在我们能够独立完成这次的实习,变化是巨大的,这种变化还主要原因还在于程序设计给我带来了一种信息,一种前所未有的成就感。

此次我们实习的内容是基于基于c 和sql server的数据库应用系统开发一个图书管理系统,根据图书管理系统的需求设计出图书管理系统的具体功能然后再编写代码。但唯一不同的是,这次图书管理系统的开发是由我们每个人独立开发完成的,一开始我们有些不理解,不是说实际过程中真正开发一个软件不可能完全靠哪一个人自己的能力去完成,而是要靠一个团队的分工协作,最终才有可能设计出一个完美的程序吗?那现在靠我们一个人能做什么呢?最终会来得及吗? 后来两周的实习下来,我才发现这种怀疑和担忧是没有必要的。因为我们这次编写的图书管理系统虽然是一个系统,但其实图书管理系统所要实现的功能都是平常我们练习过的,所以我们独立完成起来并不是特别的困难,最主要的是我们现在必须先要把个人的能力提高起来才有能力将来和别人一起协作,我们这次的实习主要是锻炼个人的能力

图书管理系统的设计(C语言)

图书管理系统设计 图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等 功能描述: 1.新进熟土基本信息的输入 2.图书基本信息的查询 3.对撤消图书信息的删除 4.为借书人办理注册 5.办理借书手续 6.办理换书手续 要求:以文件方式存储数据,系统以菜单方式工作。 这是本人大一第二学期初C语言课程设计的作品,嘿嘿,本来以为已经找不到原稿了,今天无意中竟然在QQ网络硬盘中找到了当初的teta版,发布于此,以作纪念。

C源代码如下: #include #include #include struct book{ char book_name[30]; int bianhao; double price; char author[20];

char state[20]; char name[20]; char sex[10]; int xuehao; struct book *book_next; }; struct club{ char name[20]; char sex[10]; int xuehao; char borrow[30]; struct club *club_next; }; void Print_Book(struct book *head_book);/*浏览所有图书信息*/ void Print_Club(struct club *head_club);/*浏览所有会员信息*/ struct book *Create_New_Book();/*创建新的图书库,图书编号输入为0时结束*/ struct book *Search_Book_bianhao(int bianhao,struct book *head_book); struct book *Search_Book_name(char *b_name,struct book *head_book); struct book *Search_Book_price(double price_h,double price_l,struct book *head_book); struct book *Insert_Book(struct book *head_book,struct book *stud_book);/*增加图书,逐个添加*/

图书管理系统项目计划书

图书管理系统项目计划书 1.引言 1.1编写目的 尽量采用学校现有的软硬件环境,及先进的管理系统开发方案,从而达到充分利用学校现有资源,提高系统开发水平的应用效果的目的。便于学校教师和学生图书管理,通过查询可立即定位该读者的相应的信息,可以对图书进行查询、增加、修改,读者可以预约已借图书。 1.2背景 a.产品名称:图书管理系统 b.任务提出者:项目经理 开发者:图书管理系统开发团队 用户及产品实现单位:淮海工学院图书馆 1.3术语 PM (Project Manager)----------------------------------------项目经理 Cost Estimating ----------------------------------------成本估算 Contract ----------------------------------------合同 Finish Date ---------------------------------------- 完成日期 2.项目概述 2.1工作容 本系统主要用于学校教师和学生图书管理,主要任务是通过建立图书管理系统,完善学校图书录入、租借、预约以及读者信息的管理,管理员通过查询可立即定位该读者的相应的信息,同时可以对图书进行查询、增加、修改,用户则可以预约已借图书,针对这些问题设计此系统。 2.2主要参加人员 组长:XX 该组成员:XX XXX XX XX XXX 2.3产品

2.3.1程序 提供软件安装包。 2.3.2文件 以用户操作说明书形式向用户说明文件的名称及容要点。 2.3.3服务 通过查询可立即定位该读者的相应的信息,可以对图书进行查询、增加、修改,同时读者可以预约已借图书。 2.3.4非移交的产品 项目可行性研究报告、项目开发计划书、需求规格说明书、概要设计说明书、详细设计说明书、测试计划、测试分析报告、开发进度报告、项目开发总结报告、维护手册.... 2.4验收标准 按照需求规格说明书进行验收。 2.5完成期限 3.实施计划 3.1工作任务的分解和人员分工 3.2接口人员 a、负责本项目同用户的接口人员:XX、XXX; b、负责本项目同本企业各管理机构,如计划管理部门、合同管理部门、采购部门、质量管 理部门、财务部门等的接口人员:XXX、XX; c、负责本项目同分包方的接口人员:XX、XXX。

java需求文档-图书管理系统

开发背景 早年的图书馆才用的都是手工操作的管理方式,随着图书馆藏书种类的增长,藏书量的不断增加,读者群的不断增多,这种传统的管理方式,暴露出了许多的管理漏洞.随着计算机和网络技术在我国的快速发展,图书馆迫切需要一个能够实现自动化管理的管理系统。通过该系统能够实时显示图书的库存数量和种类信息,还能够对读者进行管理,还能够实时显示书籍借阅情况和订购情况。通过该系统来提高图书馆的管理水平,同时提高工作效率。 需求分析 图书管理系统是一个高度集成的图书信息处理系统,通过将图书管理的各种功能进行整合,从而打到高速检阅信息、提高工作效率、降低管理成本等目的。一个典型的图书馆管理系统应该能够管理所有的图书种类、图书信息以及读者信息,还需要提供各种图书信息的检索查询功能。该系统还需要能够对图书借阅、归还进行管理,并对读者的罚款进行自动计算。通过该系统的自动化管理,能够大大减少图书馆管理人员,还能减少管理人员的工作任务,从而降低管理开销和成本。 功能分析 图书管理系统是管理图书的一种重要工具,一个能够完善的图书管理系统需要提供6个功能模块,分别是图书类别管理模块、图书信息管理模块、读者信息管理模块、新书订购模块、图书借阅管理模块,以及系统维护模块。其中各功能模块的具体说明如下。 图书类别管理系统模块:该模块主要负责管理图书馆的图书信息,如图书编号、图书名称、作者、出版社等信息。 读者信息管理模块:该模块主要负责管理图书的读者信息,如读者编号、读者信息、证件号码、最大借书量等信息、 新书订购管理模块:该模块主要负责管理图书馆的新书订购信息,包括新书订购和验收新书两个字模块。 图书借阅管理模块:该模块主要负责管理图书的书记借阅和归还信息,包括图书借阅、图书归还、图书搜索3个子模块。 系统维护模块:该模块主要负责管理图书馆的工作人员信息,包括用户管理和更改系统口令两个子模块。 系统设计 图书馆管理系统是一个内部人缘使用的系统,也就是说不是所有人都能够使用它,只有图书馆的工作人员才能使用。而图书馆的工作人员也分为两类,一类是操作员,主要负责图书的借阅和归还的工作;一类是管理人员,除了操作员的所有功能外,还能够对书籍列表、书籍信息、读者信息等进行管理。下面以管理人员为例绘制其所对应的用例图如图1-1所示。

图书管理系统项目个人总结报告

粒药招仲喂庙称盟世寇晶蒋敲崩仿具活捌怯虾刻步捂攀巳培克疵算谜纶榔宇暮咯噎努辊埃狂胸赎嗅猴剔挑狈详陛砾富藏迫岛复具驾腕周谴凄佩奎尘剿颐忍稍脓概啤妊护乔啮讶渤吭屠肛巾砧君别安爵来稍并览苦腥壬既畅谐臆茬柴毒租烤迄梆骑娩泽忿把调受硒堪遍鄂么耀睫幌亦劳曳醛稽疗驼谈陕痔掌苑宿净异旁狙赏某窝郊应借而觅慢祟仆尾洗涌竿卖倍苑退撬弟鸟峪娜瞎接以毡叹乐伞城仁枉肮尧蓝锁瞩火颂披钓拔诲纳保协篇核肛酪靠递尧疙敝野芦衡栏杉蜕茁涝抉娠色并祈文群你捞哆适颜柄脂消借咕擅冻砧词扑预擅危毙告峪癌嗅儿关隆到券糯牌贫幽绳钾借诊判零涧糠钳耕昨钥哇妙诸忿图书管理系统项目个人总结报告 图书管理系统项目个人总结报告 一、项目简介: 进入21世纪以来,信息技术从根本上推动了图书馆的飞速发展, 计算机和计算机管理系统已成为图书馆进行图书管理的主要设备和 系统。虽然目前很多大型的图书馆已经有一整套比较完善的管理系 统,但是在一些中小型的图书馆中,大部分工作仍需手工完成,工作 起来效率比较低,不便于动态、及时地调整图书结构。为了更好地适应当前图书馆的管理需求,解决手工管理中存在的弊端,越来越多的中小型图书馆正在逐步向计算机信息化管理转变。 高校拥有一个小型图书馆,为全校师生提供一个阅读、学习的空间。近年来,随着生源不断扩大,图书馆的规模也随之扩大,图书数量也相应地大量增加,有关图书的各种信息成倍增加。面对如此庞大的信息量,校领导决定使用一套合理、有效、规范、实用的图书馆管理系统,对校内图书资料进行统一、集中的管理。 受高校的委托,开发一个图书馆管理系统,其开发宗旨是实现图 书管理的系统化、规范化和自动化,达成图书资料集中、统一管理的 目标。 个人在项目中承担的任务

图书管理系统用例文档--教程文件

作者:尤帅 信息工程学院 《软件模型》课程期中报告 学年:2015—2016第一学期专业:软件工程 班级: 小组成员: 课程教师: 完成时间:2015年11月5日

图书馆信息管理系统 用例文档 成员: 日期:2015-11-05 目录 1. 前言 (3)

1.1编写目的 (4) 1.2内容概述 (5) 2.用例列表 (5) 3.用例图 (7) 3.1子系统(局部)用例图 (7) 3.1.1读者参与用例 (7) 3.1.2管理员管理用例 (8) 3.1.3数据用例 (9) 3.1.4登录用例整合 (9) 3.1.5账号信息管理整合 (10) 3.2系统用例图 (10) 4.用例描述 (11) 编写总结 (19) 1.前言 图书馆信息管理系统的需求获取过程中,根据分析系统和外部对

象的交互当中所执行的行为序列,及场景的层次性描述,提取了相关用例。 本文档给出了需求获取阶段使用的用例列表和用例描述。 1.1编写目的 整理和归类需求获取行为得到的消息。由于直接从用户的到的信息具有荣誉、遗漏、模糊、错误等,我们需要对他们进行分析并进行归类和系统化。 为详细的信息分析提供背景基础和上下文知识。由于软件系统的每项功能都依存于一定的背景和上下文环境,有利于开发者获取精准的信息进行系统开发。 在得到用户需求并将其转化成一个目标时,需要为目标组织信息,建立场景。用例就是一种场景的文化表现方式,实用叙述性的文本来描述场景。可以将解决方案用自然语言描述出来,便于用户理解,和用户达成共识,以便于进一步完善。 该文本是对用户的所有操作的描述,经过一系列的描述可以实现用户的业务需求。可以说是对用户前景的实现,从而使得软件系统由抽象变成具体。

图书管理系统设计个人总结

图书管理系统 实训内容 我在这次试验中参与了“需求分析”、“表中数据输入”,“存储过程”和“触发器”的设计。在“需求分析”阶段我们遇到的主要问题有用户需求的分析和流程图的设计。进行用户需求的分析时,由于时间和范围的限制我们很难对用户的需求做出准确全面的了解分析,因此不可避免的会存在这样或那样的缺陷,这就需要我们在不断的改进。在流程图的设计中,我们遇到的问题有数据在系统中的流向问题,在一些数据上我们存在着数据流向错误,还有的数据之间的流向是双向的,但我们没有在流程图中体现出来。经过老师的指点后我们及时的做出了修改,同时还明白了一张表格设计出来关键在与有没有人看,如果没有人看那这张表格就是多余的。因此表格设计的关键在于明确要给谁看。在实验过程中我明白了需求分析是数据库设计的起点,也是整个设计过程的基础,需求分析做得不好,开发出的系统的功能可能就会与用户要求之间存在差距,甚至有可能导致整个工作从头再来,因此一定要保证需求分析准确全面。 在“表中数据输入”过程中,当向借阅信息表输入数据时虽然没设还书日期为必填字段,也没设默认值。但即使没输还书日期,表中也会自动生成一个日期,而且还不能删除。我们讨论了很久也没得出原因,请教老师后才知道在我们的借阅信息表中字段图书编号和图书名称存在部分函数依赖导致出错。我们删除了图书名称一列,并运行成功。在这个问题上更让我们明白了需求分析的重要性。 在“存储过程设计”和“触发器”的设计中我们也遇到了一些问题,最主要的是不清楚应该怎样用代码来实现我们想要系统完成的功能。这主要是由于我们对知识掌握的不全面。因此我们只能写一些简单的命令或通过网络搜索来实现,但这也导致了我们想的功能和实际做出来的功能存在一些差距。同时我们也在设计过程中遇到了一些具体的问题。例如,在设计“未还图书信息”存储过程时,我们想要输出未还图书的借书证号、图书编号、姓名、图书名称。但运行后发现它输出了很多重复的项,而且他们的借书证号全是一样的,虽然这个借书证号是存在未还图书的借书证号,但她把所有人的姓名全输出来了。一开始我们不知道这是为什么,试了很多次还是不行,最后如果只要求输出借书证号和图书编号又能运行成功,因此我们想应该是在命令中没有体现两表中的关系,违背了关系的完整性。于是我们又在条件中输入了“借阅信息表.借书证号 =读者信息表. 借书证号,借阅信息表. 图书编号 = 图书信息表. 图书编号”命令运行成功。 从这些问题中我看到了自己的不足,这些细节上的问题更需要我们细心的对待。 实训总结 通过项目实训我体会最深的是团队合作的重要性,我们所做的工作都不是独立的,不能只想到自己。当遇到问题不能自己解决,通过大家一起完成时,那份快乐也是加倍的。在实训过程中我明白了我们不应该只想着如何避免难题而应学着解决它。更重要的是平时就应该积累知识。

图书管理系统设计方案

图书管理系统设计方案 目录 1、引言.................................................................. . (1) 2、需求分析.................................................................. .. (1) 3、系统设计.................................................................. .. (2) 、设计图书管理系统的功能结 构.......................................................................... .2 、图书管理系统的用户管理实体—关 系 (2) 、图书管理系统的借阅管理实体—关 系 (2) 、图书管理系统的读者管理实体—关 系 (3) 、图书管理系统的图书库管理实体—关 系 (3)

4、系统详细设计.................................................................. (4) 、数据库的设计.............................................................................. . (4) 、管理模块的具体设 计.......................................................................... (6) 、数据库和管理模块的连 接.......................................................................... (11) 5、软件调试.................................................................. (12) 、管理员权限操作.............................................................................. .. (12) 、普通用户操作.............................................................................. (17) 6、设计总结及分析.................................................................. (18) 7、课程设计体会.................................................................. . (18)

图书管理系统项目个人总结报告

图书管理系统项目个人总结报告 一、项目简介: 进入21世纪以来,信息技术从根本上推动了图书馆的飞速发展,计算机和计算机管理系统已成为图书馆进行图书管理的主要设备和 系统。虽然目前很多大型的图书馆已经有一整套比较完善的管理系统,但是在一些中小型的图书馆中,大部分工作仍需手工完成,工作起来效率比较低,不便于动态、及时地调整图书结构。为了更好地适应当前图书馆的管理需求,解决手工管理中存在的弊端,越来越多的中小型图书馆正在逐步向计算机信息化管理转变。 高校拥有一个小型图书馆,为全校师生提供一个阅读、学习的空间。近年来,随着生源不断扩大,图书馆的规模也随之扩大,图书数量也相应地大量增加,有关图书的各种信息成倍增加。面对如此庞大的信息量,校领导决定使用一套合理、有效、规范、实用的图书馆管理系统,对校内图书资料进行统一、集中的管理。 受高校的委托,开发一个图书馆管理系统,其开发宗旨是实现图书管理的系统化、规范化和自动化,达成图书资料集中、统一管理的目标。 二、个人在项目中承担的任务: 1.GUI设计和用户使用手册 2.GUI设计图如下:

用户使用手册部分内容: 图书馆管理系统是图书馆管理工作中不可缺少的部分,它对于图书馆的管理者和使用者都非常重要,所以图书馆管理系统应该为管理者与读者提供充足的信息和快捷的数据处理手段,但长期以来,人们使用传统的人工方式或性能较低的图书馆管理系统管理图书馆的日常事务,操作流程比较繁琐。一个成功的图书馆管理系统应提供快速的图书信息检索功能、快捷的图书借阅、归还流程。从读者与图书馆管理员的角度出发,本着以读者借书、还书快捷、方便的原则,本系统具有以下特点: ●确保系统具有良好的系统性能,友好的用户界面。 ●较高的处理效率,便于使用和维护。 ●采用成熟技术开发,使系统具有较高的技术水平和较长的生命 周期。 ●系统尽可能简化图书馆管理员的重复工作,提高工作效率。 ●简化数据查询、统计难度。 三、收获和体会: 通过本次课程设计,我对数据库的应用有了更深刻的体会。网络

图书管理系统代码

#include #include #include using namespace std; const int BMAX=50; class bdatabase { public: book btarray[BMAX]; int top; public: bdatabase() { book b; top=-1; fstream file("book.txt",ios::in);//打开文件 while(1) { file.read((char*)&b,sizeof(b)); if(!file)break; top++; btarray[top]=b; } file.close();//关闭文件 } ~bdatabase()//析构函数,将btarray[]写到book.txt文件中{ fstream file("book.txt",ios::out); for(int i=0;i<=top;i++) { if(btarray[i].b_del==1) file.write((char*)&btarray[i],sizeof(btarray[i])); } file.close(); } void addbooks()//往图书数据库中加图书 { book bk; int no; charbname[20]; cout<<"请输入书号:"; cin>>no; cout<

cin>>bname; cout<>no; for(int i=0,i<=top;i++) { if(btarray[i].no==no&&btarray[i].b_del==1) { return i; } } return -1; } int findbooks()//查找图书,这个函数用于图书维护 { int no; char value[6]; cout<<"请输入书号:"; cin>>no; for(int i=0;i<=top;i++) { if(btarray[i].no==no&&btarray[i].b_del==1) { if(btarray[i].b_flag==1)strcpy(value,"在架"); if(btarray[i].b_flag==2)strcpy(value,"借出"); cout<<"书号:"<

图书管理系统的设计与实现

摘要 图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求应用程序功能完备,易使用等特点。结合图书馆公共检索管理的要求,对MS SQL Server2000数据库管理系统、SQL语言原理、Power Builder 9.0应用程序设计,Power Builder 9.0数据库应用技术进行了较深入的学习和应用,主要完成对图书管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。 本设计所完成的图书管理系统软件是功能较完善的数据管理软件,数据操作方便高效。该软件采用功能强大的数据库软件开发工具进行开发,可在应用范围较广的Windows系列操作系统上使用。 关键词:图书管理系统;数据库安全性;Power Builder 9.0;MS SQL Server2000

ABSTRACT Search public library management information system is a typical management information system (MIS), including the development of its database background to the establishment and maintenance, and front-end application development aspects. With regard to the former request to establish strong data consistency and integrity, data security a good database. For the latter request applications fully functional, easy to use and so on. Search the management of public libraries with the requirements of the MS SQL Server2000 database management system, SQL language principle, Power Builder 9.0 application design, Power Builder 9.0 database application technology for a more in-depth study and application of the completion of the main public library management information retrieval System requirements analysis, functional module of the database model analysis and design of this structure of the database and applications. The design by the Public Library Management Information Retrieval System Software is a function of a better system of data management software, with data to facilitate efficient operation of the advantages of the rapid. The software used a powerful database software development tools for development, has a good portability, the application of a wide range of Windows family of operating systems used. Keywords: Public library management information retrieval system, Database security; Power Builder 9.0; MS SQL Server2000

软件工程--图书管理系统项目开发总结报告

软件工程--图书管理系统项目开发总结报告 设计题目:图书管理系统 小组成员:非常“2+3” 指导老师: 2013年6月1日

目录 1.引言 (1) 1.1编写目的 (1) 1.2背景 (1) 1.3定义 (1) 1.4参考资料 (1) 2.项目概述 (2) 2.1项目简介 (2) 2.2开发环境 (2) 2.3开发成果 (2) 2.3.1产品 (2) 2.3.2主要功能和性能 (3) 2.3.3进度 (3) 2.3.4费用 (4) 3.开发总结 (4) 3.1项目整体部分 (4) 3.2需求及设计部分 (5) 3.3软件开发部分 (5) 4.开发工作评价 (5) 4.1对生产效率的评价 (5) 4.2对产品质量的评价 (6) 4.3对技术方法的评价 (6) 4.4出错原因的分析 (6) 5.未来展望 (6)

1.引言 1.1编写目的 近期结束了现代软件工程中关于图书馆管理系统的开发,这也是我第二次较为正式的组织团队成员进行开发工作。图书馆管理系统规模不算大,但是在组织的过程中,却还是发现“2+3”团队在很多地方的不足,现总结之。 预期读者:XX老师、项目小组。 1.2背景 软件系统的名称:图书管理系统 本项目的任务提出者:现代软件工程 开发者: 用户及实现该软件的计算机中心或计算机网络:互联网 该软件系统同其他系统或其他机构的基本的相互来往关系:无 1.3定义 .NET:Microsoft XML Web services 平台; IDE:集成开发环境; C/S:客户机/服务器结构; MVC:模型-视图-控制器的缩写,一种软件设计典范; CRUD:增删改查。 1.4参考资料 (1)、《软件工程导论——第5版》,张海藩编著,清华大学出版社 (2)、《实用软件工程》,Leszek A.Maciaszek Bruc Lee Liong著,机械工业出版社

图书管理系统需求文档

图书管理系统需求文档-标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

图书管理系统需求文档 图书管理系统需求规格说明书一、引言 计算机技术的迅猛发展,特别是随着网络技术的出现标志着信息时代已经来临。信息化浪潮、网络革命在给社会带来冲击的同时,也使图书馆业务受到了强烈的冲击,图书馆传统的管理和服务方式已不能适应读者对日益增长的文献信息的需求,建设图书馆信息网络系统,是图书馆现代化建设的客观要求。建设以计算机为核心的图书馆信息网络,实现图书馆管理和服务的自动化,更好地为科技工作服务,是图书馆发展的必由之路。目前,国内大部分大型的公共图书馆和高校图书馆都实现了网络管理,中小型图书馆(包括企业图书馆),也在朝着这个方向发展。 为了西安建筑科技大学信控学院的图书管理方面而开发此系统,图书馆为全学院人员提供图书借阅、文献检索的服务,在管理中发挥了应有的作用。该馆的各工作环节一直使用的是传统的手工方式,这种方式的缺点是手续繁琐、检索困难、不便于管理,造成资源的利用率低下。随着馆藏量的不断增加,图书资料的著录和查询的难度也就相应增加,手工方式已经不能满足要求,如何运用先进的信息技术,提高科技图书的管理和服务水平,是我们面临的一个新的挑战。 实现图书资料的网络管理,至少有以下优点: 1)著录规范化,为图书资料的采编、著录、查询质量的提高打下基础。 2)查询自动化和检索途径多样化,可以更方便、及时地找到所需图书资料。 3)资源共享的优势,通过局域网可以在全学院范围内实现资源共享,为读者提供便利条件。 二、系统设计 2.1 系统指导思想和建设目标 2.1.1 任务

图书管理系统心得.doc

图书管理系统心得(精选多篇) 第一篇:图书管理系统心得 为期两个星期的c#图书管理系统实习终于结束了,总算松了一口气,在这短短的两周时间内承受了很大的压力现在终于能够得到"释放"了,感觉到很轻松。回顾这两周所做过的工作和努力,感觉到收获不少,这里面除了实习本省的内容外,还包括许许多多超乎实习本身意义之外的东西。 说实话本来我多程序编写这相关的都不怎么感兴趣,甚至可以说是害怕,因为大一的时候曾经有过程序设计的实训,但是包括之前的一学期的学习我感觉到自己学的很差,就这样懵懵懂懂的学过来了,虽然最后实训的时候我对程序设计有了一知半解,也学到了一些知识,但是这也只是些皮毛。 但是这次的实习不一样,可以说我觉得实习给我带来的最大的帮助就是使我对这门课程有了兴趣,有时候我自己都会感到很奇怪为什么自己会突然迷上了编程,近乎痴迷的爱,以前下了课堂书本就扔的远远的,但是自从这学期开始学 c#我就开始期盼着最后的实习,可以自己独立设计出一套系统之类的程序,所以我上课充满了激情,下了课有时我还喜欢自己在电脑上捣鼓捣鼓一些程序,去做一些小小的钻研。从以前的"惧怕"上课到现在的"期盼"上课,我自己都说不上来是什么原因,如果非要找出一点理由的话,我想应该是从这学期的程序设计的课程中我已经渐渐地开始有点"入门",相对于以前我只是站在"程序设计"的大门外徘徊,可以说现在我们能够独立完成这次的实习,变化是巨大的,这种变化还主要原因还在于程序设计给我带来了一种信息,一种前所未有的成就感。 此次我们实习的内容是基于基于c和sql server的数据库应用系统开发一个图书管理系统,根据图书管理系统的需求设计出图书管理系统的具体功能然后再编写代码。但唯一不同的是,这次图书管理系统的开发是由我们每个人独立开发完成的,一开始我们有些不理解,不是说实际过程中真正开发一个软件不可能完全靠哪一个人自己的能力去完成,而是要靠一个团队的分工协作,最终才有可能设计出一个完美的程序吗?那现在靠我们一个人能做什么呢?最终会来得及吗?

图书管理系统[完整版]

河北科技大学 课程设计报告 学生姓名:候成龙学号:14L0752077 专业班级:软件工程L142班 课程名称:项目管理与案例分析 学年学期: 2 016 — 2 017学年第2学期 指导教师:王会勇

2015 年11 月课程设计成绩评定表

目录一、设计题 (1)

二、设计目的及要求 (1) 三、设计任务 (4) 四、项目估算与进度计划 (3) 五、成本计划 (1) 六、质量计划 (4) 七、配置计划 (5)

图书馆管理系统课程设计报告 一、课设题目 图书馆管理系统 二、目的与要求 随着经济的发展和社会信息化进程的进一步推进,各行各业各领 域都在不同程度上应用信息化手段来提高自身的工作效率和市场竞 争力。近些年来,随着学院的办学规模的不断扩大,学生和教师的数量 在不断的增加,图书馆规模也随着不断增加,对于图书的管理工作变得 日益复杂起来。随着高校信息化的建设的全面开展以及学院信息化 工作的展开,图书馆信息管理系统的建设也成为学院信息化建设中非 常重要的一部分,图书馆管理信息系统的开发与建设势在必行。本课 题主要是结合学院图书馆信息管理的相关需求并实地进行调研。本 项目所设计的软件方便了图书馆信息的管理,提高了图书馆管理工作 效率,实现了图书管理的“集中管理,分布存放,实时使用,高效可靠”要求。

目前该系统已经通过了试运行,功能方面和性能方面均能很好的满足用户的需求,系统运行可靠、准确、方便,能够很好的为读者和图书管理员服务。 三、项目的功能 (1)图书管理 ①图书类别管理:增、删、改等管理。 ②图书信息管理:新书入库,图书购入后由图书管理人员将书籍编码并将其具体信息录入书籍信息表,及删改功能。 (2)读者管理 读者信息管理:录入,修改,删除,查询读者信息。 (3)流通管理 ①图书借阅:读入借阅者证号,然后通过扫描读入所需借阅的图书编号。 ②图书归还:通过扫描读入图书编号,自动识别图书证号。同时提示读者已借书数、超期图书应缴罚款等参考信息。自动计算罚金。 ③图书丢失、损坏处理:如果图书丢失或者损坏,根据罚款规则计算罚款,同时记录需要出库的图书信息。 (4)统计管理:按类别统计借还信息。 (5)查询管理:管理员按不同方式查询,读者按不同方式查询。 四、需求分析及项目功能

图书管理系统心得(精选多篇)

图书管理系统心得 为期两个星期的c#图书管理系统实习终于结束了,总算松了一口气,在这短短的两周时间内承受了很大的压力现在终于能够得到“释放”了,感觉到很轻松。回顾这两周所做过的工作和努力,感觉到收获不少,这里面除了实习本省的内容外,还包括许许多多超乎实习本身意义之外的东西。 说实话本来我多程序编写这相关的都不怎么感兴趣,甚至可以说是害怕,因为大一的时候曾经有过程序设计的实训,但是包括之前的一学期的学习我感觉到自己学的很差,就这样懵懵懂懂的学过来了,虽然最后实训的时候我对程序设计有了一知半解,也学到了一些知识,但是这也只是些皮毛。 但是这次的实习不一样,可以说我觉得实习给我带来的最大的帮助就是使我对这门课程有了兴趣,有时候我自己都会感到很奇怪为什么自己会突然迷上了编程,近乎痴迷的爱,以前下了课堂书本就扔的远远的,但是自从这学期开始学c#我就开始期盼着最后的实习,可以自己独立设计出一套系统之类的程序,所以我上课充满了激情,下了课有时我还喜欢自己在电脑上捣鼓捣鼓一些程序,去做一些小小的钻研。从以前的“惧怕”上课到现在的“期盼”上课,我自己都说不上来是什么原因,如果非要找出一点理由的话,我想应该是从这学期的程序设计的课程中我已经渐渐地开始有点“入门”,相对于以前我只是站在“程序设计”的大门外徘徊,可以说现在我们能够独立完成这次的实习,变化是巨大的,这种变化还主要原因还在于程序设计给我带来了一种信息,一种前所未有的成就感。

此次我们实习的内容是基于基于c和sql server的数据库应用系统开发一个图书管理系统,根据图书管理系统的需求设计出图书管理系统的具体功能然后再编写代码。但唯一不同的是,这次图书管理系统的开发是由我们每个人独立开发完成的,一开始我们有些不理解,不是说实际过程中真正开发一个软件不可能完全靠哪一个人自己的能力去完成,而是要靠一个团队的分工协作,最终才有可能设计出一个完美的程序吗?那现在靠我们一个人能做什么呢?最终会来得及吗? 后来两周的实习下来,我才发现这种怀疑和担忧是没有必要的。因为我们这次编写的图书管理系统虽然是一个系统,但其实图书管理系统所要实现的功能都是平常我们练习过的,所以我们独立完成起来并不是特别的困难,最主要的是我们现在必须先要把个人的能力提高起来才有能力将来和别人一起协作,我们这次的实习主要是锻炼个人的能力和让我们自己去发现问题和解决问题。 实习刚开始我先安排了一下自己的进度计划,因为“磨刀不误砍柴工”,虽然图书管理系统的开发不是很难,但是对于我们这些初级学者来说,还是有必要做好规划和时间进度的安排,只有这样最后才能够按时完成任务。但是由于实习中有一些小小的变化,所以我也及时调整了自己事先安排好的计划,虽然如此,但是最后还是能够完成了任务。当然不可避免的我们所开发设计的图书管理系统肯定还存在方方面面的缺陷和问题,可能并没有那么完美,但是最基本的功能都实现了,最起码能够给我一种莫大的鼓舞,剩下的系统功能的继续的完善就需要在今后的时间内我自己去不断的学习和总结经验,去钻研的更深、更透彻。

图书管理系统设计与实现报告

JIANGSU UNIVERSITY 项目实践 II 图书管理系统 Library Management System 学院名称:计算机科学与通信工程 专业班级:嵌软1201 学号:3120609022 学生姓名:史禹 指导教师:宋和平 2014年6 月 [正文]

一、课程设计概述 目的: 通过本项目实践的准备与总结,复习、领会、巩固和运用软件工程课堂上所学的软件开发方法和知识,为学生综合应用本专业所学习的多门课程知识创造实践机会,使每个学生了解软件工具与环境对于项目开发的重要性,并且重点深入掌握好一、两种较新或较流行的软件工具或计算机应用技术,提高学生今后参与开发稍大规模实际软件项目和探索未知领域的能力和自信心。 任务: 假设图书馆委托大学生为他创建一个图书管理系统,以便能够科学管理、提高效益。开发环境:vs2010 sqlserver2008 二、项目的需求分析 (1)所有人员需要登陆才能操作系统,可以修改密码。 (2)图书管理员可以添加图书(包括书号、书名、出版社、作者、图书简介、价格、封面图片等信息)、删除图书,假设每种图书只有一本。图书管理员可以 添加借阅者(包括借书证号、姓名、类别(教师或学生)、学院、性别、照片 等信息)、删除借阅者。 (3)借阅者可以根据书名或者作者模糊查询图书(模糊查询是指在查询语句中使用like关键字),可以查看自己所借图书信息。 (4)借阅者可以借阅图书,此时需要记录借书日期和应还日期信息(设置借阅日期为30天)。借阅者包括教师和学生,教师最多可以借阅10本图书,学生最 多可以借阅5本图书。借阅者如果有超期图书则不能再借。 (5)借阅者还书时,检查是否超期,如果超期,按照0.1元/天计算罚款金额,缴纳罚款后还书。如果图书丢失,按照图书价格的两倍赔偿。 (6)实现系统时请考虑数据的参照完整性,例如借阅图书时应该是存在的图书,删除图书时同时删除该图书的借阅信息。

图书管理系统 项目开发总结报告

项目开发总结报告(GB8567——88) 目录 1引言 (3) 1.1编写目的 (3) 1.2背景 (3) 1.3定义 (3) 1.4参考资料 (4) 2实际开发结果 (4) 2.1产品 (4) c.1图书信息表 (5) e. 4.2读者信息表 (5) g. 4.3借阅信息表 (6) i. 4.4图书类别表 (6) k. 4.5出版社信息表 (7) m. 4.6读者类别表 (7) p. 4.7图书注销信息表 (7) 2.2主要功能和性能 (8) 2.3基本流程 (9)

2.4进度 (9) 2.5费用 (10) 3开发工作评价 (10) 3.1对生产效率的评价 (10) 3.2对产品质量的评价 (10) 3.3对技术方法的评价 (10)

3.4出错原因的分析 (11) 4经验与教训 (11) 4.1签定合同 (11) 4.2需求的调研 (12) 3.4出错原因的分析 (12) 4经验与教训 (12) 4.1签定合同 (12) 4.2需求的调研 (13) 4.3做好开发计划 (13) 4.4良好的沟通 (13) 1引言 1.1编写目的 对项目作出总结. 1.2背景 开发软件名称: 项目任务提出者: 项目开发者: 用户:系统管理员、操作员、读者 实现软件单位:强记股份有限公司 1.3定义 图书管理系统对于现代图书馆而言,是能否发挥其教学科研的作用的至关重要技术平台。对于读者和图书管理员来说,是能否方便快速获取信息的关键。所以,图书管理系统应该能够为用户提供充足的信息和快捷方便的操作手段。

1.4参考资料 钱乐秋等,《软件工程》,青还大学出版社; 张害藩,《软件工程导论》(第四版),清华大学出版社; 王珊等,《数据库原理及设计》,清华大学出版社; 赵池龙等,《软件工程实践教程》,电子工业出版社。 2实际开发结果 2.1产品 图书管理系统 a.程序系统共有两个版本,分别是管理员1.0 源程序行数:14600行100M与公共版 1.0 源程序行数13200行98M; b.数据表结构设计

相关文档
最新文档