- 6
- 0
- 约7.4千字
- 约 41页
- 2018-05-08 发布于河北
- 举报
图书管理系统开发实例 41页
需求分析 对于图书管理系统而言,其最重要的功能是管理图书,包括增加书籍、删除书籍和查询书籍。其中,删除书籍和查询书籍的功能又可以细化为很多功能,比如删除某一个时间段内增加的书籍、删除某个作者的书籍、显示某个作者的所有书籍、显示书名带某个关键字的书籍等等。其次,需要提供一个友好的交互界面,这是用户接触到的最直接的东西,其设计必须人性化;然后还需要一些辅助功能,比如日志功能,它可以将所有的操作都记录在案。实际上,一个完整的图书系统还需要包括另外两个重要的功能:用户管理和数据库系统。由于篇幅有限,本系统将不考虑这两个功能。 需求分析 整理以上的需求分析,可以得出本图书管理系统需要实现的功能主要包括以下三点: 提供友好的用户交互界面; 提供书籍的增加、删除、查询、批量创建等操作; 提供历史日志以记录操作信息。 系统设计 系统设计阶段可以理解为程序的概要设计,需要完成对系统结构的分析和设计,以及设计系统需要的主要数据结构。本小节将基于需求分析的结果,依次讨论了图书管理系统的系统架构和数据类型。 .1 系统架构 根据需求分析的结果,本系统至少要分为以下几个模块:main函数模块、用户界面管理模块、数据管理模块和历史日志模块。其中: main函数模块的主要功能为提供程序入口、前期环境设置、调用主要的执行函数和程序结束前的数据处理。 用户界面管理模块主要提供用户交互界面,并在用户选择命令后触发相应模块。 .1 系统架构 数据管理模块的功能为本系统的核心模块,提供所有对书籍数据的操作请求的处理,包括增加书籍、删除书籍、搜索书籍、批量删除书籍、高级搜索书籍等等。 历史日志模块主要提供用户行为记录、系统信息记录、异常信息记录等功能。 辅助模块:全局配置模块。在这个模块中,会包含一些全局使用的信息,比如全局变量的定义,const变量、具名常量、枚举常量的定义等。 .1 系统架构 根据以上功能模块的划分,本系统的软件结构设计如下图所示。 .2 数据结构 本图书管理系统的核心数据对象是书籍。书籍信息中包含很多信息,包括:书名、作者、出版社、出版日期、入库日期、入库编号和页数等。因此,处理书籍信息的数据类型必须为结构体,将其命名为BookInfor。其中,书名、作者和出版社的数据类型为字符数组;入库编号和页数选择使用整型;而出版日期和入库日期由于包含年、月、日信息,因此需要使用另一个结构体,将其命名为TimeInfor。 .2 数据结构 因此,书籍信息类型可以声明如下: 01 typedef struct { 02 char name[LEN_BOOK_NAME]; /* 书名*/ 03 char author[LEN_AUTHER_NAME]; /* 作者*/ 04 char publisher[LEN_PUBLISHER_NAME]; /* 出版社*/ 05 int serial; /* 编号*/ 06 int page; /* 页数*/ 07 TimeInfor time_pub; /* 出版日期*/ 08 TimeInfor time_in; /* 入库日期*/ 09 } BookInfor; /* 书籍信息类型 */ .2 数据结构 年份的值可以处理为4位整数,可以存储在16位二进制数中;月份和日子都可以处理为2位整数,都可以存储在8位二进制数中:因此,可以将时间数据类型TimeInfor处理为位域类型,声明如下: 01 typedef struct { 02 unsigned year : 16; /* 年*/ 03 unsigned month : 8; /* 月*/ 04 unsigned day : 8; /* 日*/ 05 } TimeInfor; /* 时间信息类型*/ .2 数据结构 本系统中的书籍数据是大批量数据,因此需要选择使用数组或者链表保存书籍数据。考虑到图书管理系统会很频繁地访问书籍信息,而增加和删除的操作相对较少,因此选择使用数组来保存。而又由于书籍数目是不可预期的,因此最好使用动态数组来处理数据。 注意:数据结构要考虑时间复杂度和空间复杂度,同时还要考虑实现的复杂度。 main模块 main模块包含在main.c文件中,其主题有三个函数:main函数、configure函数和clean函数。main函数即为读者早已熟悉的程序入口函数,其负责调用系统执行时的各个主要函数。而configure函数的功能为在程序开始时初始化或配置各种必须的变量和环境。 main模块 clean函数的作用与configure函数相对应,其负责程
您可能关注的文档
- 像山那样思考公开课 奥尔多 利奥波德.ppt
- 先秦文学 p52.ppt
- 兴发教学的原理与方法 刘良华.ppt
- 写作范例:活着真好 p26.ppt
- 刑事诉讼法学教学课件强制措施 刑事诉讼中的强制措施.ppt
- 卫生行政执法文书制作 吴海棣.ppt
- 卫生行政许可培训课件 60页.ppt
- 卫生间研究 祥平房产企划部.ppt
- 危 机政策与对策人力资源管理师 教研组成员单位教师专题培训.ppt
- 危险、危害因素辨识的基本知识 世界上最大的风险是对风险不加防范 张继德.ppt
- 2026年及未来5年内中国液体氩气行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国黄铜合页行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国竹工艺家具行业投资前景及策略咨询研究报告.docx
- 2025年中国微机数显自动分析仪市场调查研究报告.docx
- 2026年及未来5年内中国微尘白色粉笔行业投资前景及策略咨询研究报告.docx
- 2025年中国微电脑型压胶机市场调查研究报告.docx
- 2026年及未来5年内中国数字化等功游泳训练测试系统行业投资前景及策略咨询研究报告.docx
- 2025年中国圆形花瓶市场调查研究报告.docx
- 2026年及未来5年内中国植物纤维静淀过滤器行业投资前景及策略咨询研究报告.docx
- 2025年中国超音波手套机市场调查研究报告.docx
最近下载
- 平潭澳海上风电场项目可研收口报告2018年4月版本15工程设计概算表.pdf VIP
- 2024年常州信息职业技术学院单招职业技能测试题库(历年真题).docx VIP
- 腹膜透析指南(2025年版).docx VIP
- 党的二十届四中全会PPT课件.ppt VIP
- 产品设计与实训 设计实训.ppt VIP
- 施工现场建筑垃圾减量化专项方案.pdf VIP
- 《数学史》数学的起源.pptx VIP
- 2026年信息科技课标试题及答案.doc VIP
- 本科课件-ArcGIS Engine地理信息系统开发教程(完整).ppt
- 北京通州区2022-2023学年高一下学期期末质量检测英语试卷 含解析.docx VIP
原创力文档

文档评论(0)