第二章 系统分析
图书馆管理系统包括: ? 录入:新进图书及基本信息输入 ? 删除:旧图书及基本信息删除 ? 借书:实现用户办理借书手续 ? 还书:实现用户.办理还书手续
系统以菜单方式工作,界面友好,易于操作。 系统的程序设计环境;:
本系统使用Visual C++ 作为程序开发工具。Visual C++是基于对象的快速应用程序开发工具,是当今最强大、最灵活的应用程序开发工具之一,具有良好的可视化应用程序开发环境和强大的可扩展数据库功能。利用Visual C++提供的可视化组件库进行编程,可以快速、高效地开发出基于Windows环境的各类应用程序。Visual C++语言的特点是面向对象设计的程序语言,Visual C++的基础编程语言是具有面向对象特性的语言,具有代码稳定、可读性好、编译速度快等优点,并将面向对象的概念移植到了C语言中,使这种基础语言有了新的发展空间。与其它编程软件相比,特别是在数据库和网络应用方面,Visual C++具有简便易用、灵活高效的特点。
开发软件通常要经过修改源代码、编译、测试、再修改、再编译、再测试等操作,这些操作形成了一个开发循环,所以快速的编译器可以大大地降低开发周期。Visual C++正是建立在这种高效编译器的基础之上,是针对Windows的最快的高级语言代码编译器,因此生成的代码十分精练高效,使Visual C++程序的运行速度更快。这也是本人使用Visual C++作为程序设计开发语言的重要原因。第三章 管理系统的总体设计与详细设计
3
3.1 总体设计
总体设计目标:使用者可以利用本系统进行对图书馆借阅的各项运算操作,如根据用户的需求自动的进行添加图书,删除图书,借书还书。查找所要的图书,查阅图书的详细资料,查阅读者的详细资料。最后清晰完整的结果于屏幕中。大大方便使用者对图书借阅的操作,不仅节省时间,而且提高准确性,可以达到事半功倍的效果。
总体设计策略:本系统采用的是自顶向下、层次化的模块结构。对高
层模块,采用以事务为中心的设计策略,把一个大的模块逐步分解成较小的相对简单的模块。对低层模块,采用以变换为中心的设计策略。为了提高每个模块的内聚性、降低模块间的耦合性,将每个模块设计成具有单一功能的模块(即功能内聚),使模块间的联系完全是通过主模块的控制和调用来实现(即非直接耦合)。
结合上述分析该系统应包括以下模块:信息输入、图书查找、信息删除,图书借出、图书归还。结构图如下 图书馆管理系统 信息 输入 信息 删除 图书 借出 图书 归还 图3.1 结构框图
4
3.2 详细设计
? 主函数
主函数要求设计比较简洁,只提供设输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。
流程图:
显示一系列功能选输入n ,判断n 是否0—4 根据输入的值调用各功能模块的函数 图3.2.1 主函数流程图 程序:
void main(void)
{menu: page_title(\操作选单\ printf(\请用数字键选择操作\\n\\n\
printf(\借阅图书\\t\\t\\t2 归还图书\\n\ printf(\注册新书\\t\\t\\t4 注销旧书\\n\\n\ printf(\退出\\n\ switch(getch())
{case '1' : book_out();break; case '2' : book_in();break; case '3' : book_add();break; case '4' : book_del();break;
5
case '0' : exit(0); } goto menu; } ? 输入模块
分析:该模块的功能是假如用户需要新加入新的图书信息,通过键盘输入将新信息逐条加在原来输入文件上但不能覆盖原有信息。
流程图: 显示图书信息输入操作提示 i从0到N-1 调用输入函数input(i) i!=0
保存调用函数 save(n) Y
图3.2.2 输入模块流程图 程序:
void book_add(void)
{ int n; page_title(\注册新书\ for(n=0;n<100;n++) if(books[n].id==0) break; printf(\序号:\
scanf(\
6
printf(\书名:\
scanf(\
printf(\作者:\ printf(\数量:\ printf(\存在状态:\
state(n);books[n].store=books[n].total;return_confirm(); } ? 删除模块
分析:该模块用于显示所有图书信息,由于记录较多,故而采取分屏显示。显示完所有纪录后,用户需输入图书编号进而查找图书信息。
流程图: 显示所有记录,确定哪个需要删除
输入删除图书的编号 显示找到的记录调用
图3.2.3 删除模块流程图
7
询问是否继续修改 是否有该图书记录 删除函数 提示没有找到 返回主菜单