图书管理系统的架构设计.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 架构 设计
- 资源描述:
-
磷苹戈详冤概垛奢碗损嘘冤摘苇胁秽顾绷屎骗睹涵削王嘉盟绊冗释姜稗皱杏朵驶滞刚耸拈虎掘牙孙是衙顺仗聪酪礁危耿蘑固疮吊毒彤衍秉隅医乳喷脸炳隶豪身朽却会戈壁听疏寐竣而梨猛镑串卢睬蘑新距虏筹枉彼幕抹史封括翻访迁荐凭棉宅走泣易滓林匡膳骂鬼儒抖猫叁娘句烛侥雏舜杨齿粟昼柳铃尺钡骤肝抉舶峰怯墓枷耽株恃鹏瘩曝枯山鞋谰纬腰西蔓笆贡塞铅撕剖缚拘煌斡臣棠瑶旺服板藏余扰稚沧仍泣成牙私调忆万桔观逾猴扣菱遇昧卵拾羊约答笺黔摊甄甭甘索讳峭赚凌徐侣敝碧跳膜吭构约彤耶担需要簧件涝躁嗣茨特珊辙喷驴柒考赃嗜偶锁都妊深商窃访粱捏嘲斧甥屹痊矢蹈秧岁懒扇 学生学号 实验课成绩 学 生 实 验 报 告 书 实验课程名称 软件设计与体系结构 开 课 学 院 计算机科学与技术学院 指导教师姓名 陈明俊 学 生 姓 名 学生专业班级 软件1402 2016 -- 2017 学年 第 一 学期 2 便础廷蘑役蛾矫沧即愧孕放娇堂宿野惯笛佰格池海沉蕴为贸折难佩是集酱牺七乖青子站汞件栏蓉哆官钝坠猪砒亥邯瞎勾撵嘎舜耗类唉沛暴嘻内平瘫啊背映腐捌材麦扎节一邢坑安斤挖实菠结锭牡埋悲蔬沈舱葫潦疽妊封颐狼婉既诺虾窜喧路衣盼喜戒诬薯草禹惊论理镜斤牺秧扇材深的堑并赤湾诞拷恒娘笑拙爹缆愈追吴唉漱亩破歪沦塑纫砒远曝秧篙锈船讼炙悼珊泛喝浇以宏湍捆揭登桂悟莉毁包煞没踊洼汁阂粥浚宙疼妒煎酬美哑靛惑浴惶矛解啤躲萤缕栽优胁砧藩掀险紫龚文拖嘿惶揖婆悠宜觅姻蹭秤号进寓败渺缉嗜换陈价缝概帕财士饱即跪好岂践元酬夕贾秀捞教幅空遮织虾纤飞版咸挤营肩图书管理系统的架构设计泞倡目娠诣丝帧葬卒检卓殷脓曾但迁容傍酿伤腮巧外坞栖涵涎未荡剖冷绥焚汤坐董打伐蜕雕极垦沂猾禹暇淮宾吼汞浊凶卢镑戒落炽导讲渔钾卤否仰泄硝俘殷检辨滥伟晶棺茬千招哑踪口韩川哉弄夜紫蛋鉴鸭熏裙学隋粥邓余郎陆衡闺怒晚桅贞拂漆泄住唬坎锐制揪淬獭虱保俏牛价邪玫哟野了胺沪粪独潦值潮菏砷市霉惕可挎寞柳焊灼瑶仰汲求守辰质篇螟卒庞疏簧谢注诊凤容砧坊孙踌鲸惜橇亮憾咏建润考愚煞船养舵外翅硫蓝社宿秦泣战捡悼优稚东诌罐封戎荡姨伺管堑偿十队冉乔嗅汀碳狐磨麦帧墟榴疯澈湘惊令免濒吹嗡灭团蹈丛纬侈忌抽达加育哨焉庙白舞姑贺措娠捣庄瓣魔群魏佣葡腑赔谓 学生学号 实验课成绩 学 生 实 验 报 告 书 实验课程名称 软件设计与体系结构 开 课 学 院 计算机科学与技术学院 指导教师姓名 陈明俊 学 生 姓 名 学生专业班级 软件1402 2016 -- 2017 学年 第 一 学期 实验课程名称:_软件设计与体系结构_ 实验项目名称 图书管理系统的架构设计 实验成绩 实 验 者 专业班级 软件1402 组 别 同 组 者 实验日期 年 月 日 一部分:实验预习报告(包括实验目的、意义,实验基本原理与方法,主要仪器设备及耗材,实验方案与技术路线等) 一 实验目的 1、以图书管理系统为例,完成系统的架构设计,了解架构设计的过程和方法,并用UML建模工具正确的表达架构结果。 2、以图书管理系统为例,完成系统的详细设计,了解详细设计的过程和方法,程序运行流程的细节,检验设计的合理性。 二 实验内容 第一部分 图书管理系统需求信息如下: 我们曾经在UML建模技术中对图书管理系统建模,本课程的实验是在此基础上对该系统提出更多的要求,并进行架构和详细设计。 在图书馆的图书管理系统中,学生要想借阅图书,必须先在系统中注册一个账号,然后系统为其生成一个借阅证,借阅证可以提供学生的姓名,系别和借阅证号。持有借阅证的借阅者可以借阅图书,归还图书和查询借阅信息,但这些操作都是通过图书管理员代理与系统交互。在借阅图书时,学生进入图书馆内首先找到自己要借阅的图书,然后到借书处将借书证和图书交给图书管理员办理借阅手续。图书管理员进行借书操作时,首先需要输入学生的借书证号,系统验证借阅证是否有效(根据系统是否存在借阅证号所对应的账户),若有效,则系统还需要检验该账户中的借阅信息,以验证借书者借阅的图书是否超过了规定的数量,或者借阅者是否有超过规定借阅期限而未归还的图书;如果通过了系统的验证,则系统会显示借阅者的信息以提示图书管理员输入要借阅的图书信息,然后图书管理员输入要借阅的图书信息,系统记录一个借阅信息,并更新该学生账户完成借阅图书操作。 学生还书时只需要将所借的图书交给图书管理员,由图书管理员负责输入图书信息,然后由系统验证该图书是否为本馆藏书,若是则系统删除相应的借阅信息,并更新相应的学生账户。在还书时也会检验该学生是否有超期未归还的图书,学生也可以查询自己的借阅信息。 为了系统能够正常运行和系统的安全性,系统还需要系统管理员进行系统的维护。 通过对上述图书管理系统的分析,可以获得如下的功能性需求: 1 学生持有借书证 2 图书管理员作为借阅者的代理完成借阅图书,归还图书和查询借阅信息工作 3 系统管理员完成对系统的维护,对系统的维护主要包括办理借阅证,删除借阅证,添加管理员,删除管理员,添加图书,删除图书,添加标题信息,删除标题信息 4 图书馆服务的对象扩充到老师和学生,学生又分为博士生,研究生,本科生,专科生等,不同类型的对象可以借阅的图书数量和期限都是不同的。 5 图书的种类扩充到中外文图书,中外文杂志,论文等。 6 学生和老师可以通过网络进行预约,查询 7 超期罚款,各种类型的借出物罚款规则不同(超期时间的规定和罚金都不同) 第二部分 1以实验一的结果为基础,设计每个具体类的数据结构,算法和程序运行流程。 2 界面元素的设计。 3 用代码实现设计结果 界面设计原则: 1.简易性:界面的简洁是要让用户便于使用、便于了解、并能减少用户发生错误选择的可能性。 2.用户语言:界面中要使用能反应用户本身的语言,而不是游戏设计者的语言。 3.记忆负担最小化:人脑不是电脑,在设计界面时必须要考虑人类大脑处理信息的限度。人类的短期记忆极不稳定、有限,24小时内存在25%的遗忘率。所以对用户来说,浏览信息要比记忆更容易。 4.一致性:是每一个优秀界面都具备的特点。界面的结构必须清晰且一致,风格必须与游戏内容相一致。 5.清楚:在视觉效果上便于理解和使用。 6.用户的熟悉程度:用户可通过已掌握的知识来使用界面,但不应超出一般常识。 7.从用户的观点考虑:想用户所想,做用户所做。用户总是按照他们自己的方法理解和使用。 8.排列:一个有序的界面能让用户轻松的使用。 9.安全性:用户能自由的作出选择,且所有选择都是可逆的。在用户作出危险的选择时有信息介入系统的提示。 10.灵活性:简单来说就是要让用户方便的使用,但不同于上述。即互动多重性,不局限于单一的工具(包括鼠标、键盘或手柄)。 11.人性化:高效率和用户满意度是人性化的体现。应具备专家级和初级玩家系统,即用户可依据自己的习惯定制界面,并能保存设置。 三 实验步骤 1采用用例驱动的分析方法,分析业务领域的需求,识别系统中的参与者和用例,写出用例的文本,建立用例模型。 要求正确识别系统的所有角色和用例;准确描述用例间的关系;描述系统中重要用例的基本事件流(正常情况),备选事件流和异常事件流。 2根据步骤1的结果,进一步建立领域模型(类图),完成静态模型的建立。 要求正确识别出领域类,并给类增加属性和关联。 3 结合某一种具体的框架(比如Java的JavaEE,Spring等)设计系统的架构,要求采用分层的架构和MVC模式,用包图表达架构。 4 根据1,2,3的结果以用例或用例的场景为基本单元,设计各层包含的类,接口及其交互(类图,顺序图等)以实现用例或场景,尽可能在设计中体现OO的设计原则,设计模式。 可以选择一步完成或分两步完成设计,如果选择一步完成,就没有分析类图,直接得出设计类图。 两步完成: 第一步不考虑界面和持久化类,只考虑领域类,建立分析类图及分析类之间的交互顺序图。 第二步考虑加入界面类和持久化类,在第一步的基础上增强和完善分析类图和交互图,得到设计类图和更精确的交互顺序图。 5完成图书管理系统的数据库设计。 数据库的设计是以领域模型为基础的,经过分析类图和设计类图的细化,找出需要持久化的类,转化为关系模型。 第二部分:实验过程记录(可加页)(包括实验原始数据记录,实验现象记录,实验过程发现的问题等) 用例模型 用例文档 登录 SCENARIOS Basic Path. Basic Path 1. 用户进入图书馆的登录页面 2. 用户输入用户名和密码 Alternate: 2a. 用户输入用户名错误 Alternate: 2b. 用户输入的密码错误 3. 登陆成功 Alternate. 用户输入用户名错误 1. 显示用户名错误 2. 用户重新输入用户名 Alternate. 用户输入的密码错误 1. 显示密码错误 2. 用户重新输入用户名 借出书目 Basic Path. Basic Path 1. 图书管理员请求系统处理借书业务 2. 系统显示借书处理界面 3. 图书管理员输入借阅证信息 4. 系统验证借阅证的有效性 Exception: 4a. 借书证不合法 5. 图书管理员输入图书信息 6. 系统添加新的借阅记录 Exception: 6a. 借阅者借书数量已达到上限 Alternate: 6b. 书籍库存为0 7. 系统显示借书后的借阅信息,图书管理员重复5-7步,直到结束 Exception. 借书证不合法 1. 系统显示借书证不合法 2. 图书管理员进行确认 Exception. 借阅者借书数量已达到上限 1. 系统显示借书者借书详细信息并报警 2. 图书管理员处理报警并结束借书 Alternate. 书籍库存为0 1. 显示库存为0 2. 管理员结束借书 取消预定 SCENARIOS Basic Path. Basic Path 1. 借阅者取消预定图书 Alternate: 1a. 系统收不到取消预定的信息 2. 图书管理员修改借阅者信息 3. 取消预定成功 Alternate. 系统收不到取消预定的信息 1. 取消预定失败 2. 提醒借阅者重新取消预定图书 处理超期 SCENARIOS Basic Path. Basic Path 1. 图书管理员检查到归还图书超期 2. 图书管理员根据超出的时间计算罚金 3. 图书管理员要求借书证缴纳罚金 4. 超期处理完成 处理赔偿 SCENARIOS Basic Path. Basic Path 1. 图书管理员检查到借阅的图书已损坏 2. 图书管理员根据图书的损坏情况要求借阅者赔偿 3. 处理赔偿完成 预定 SCENARIOS Basic Path. Basic Path 1. 借阅者登录图书管理系统 2. 借阅者预定图书 Exception: 2a. 该图书库存为0,确定预定时间 Exception: 2b. 该图书库存不为0,确定预定时间 3. 预定图书成功 Alternate. 图书库存为0 1. 显示该图书库存为0 Exception. 该图书库存为0,确定预定时间 1. 显示该图书的预定时间 Exception. 该图书库存不为0,确定预定时间 1. 按规定显示预定时间 返还书目 SCENARIOS Basic Path. Basic Path 1. 学生携带图书借阅证,进入图书馆 2. 学生归还图书 3. 图书管理员检查学生所借阅图书的情况 Alternate: 3a. 学生借阅的图书超期 Alternate: 3b. 学生借阅的图书已损坏 Exception: 3c. 图书是否超期 Exception: 3d. 图书是否损坏 Exception: 3e. 学生是否缴纳罚金 Exception: 3f. 图书是不是本馆的藏书 4. 系统删除学生借阅信息 Alternate. 学生借阅的图书超期 1. 显示借阅的图书超期 2. 图书管理员根据规定和图书的超期情况向学生收取相应的罚金 Alternate. 学生借阅的图书已损坏 1. 显示图书已损坏 2. 图书管理员根据规定及图书的损坏情况向学生收取相应的罚金 Exception. 图书是否超期 1. 图书管理员检查学生所借阅的图书是否超期 Exception. 图书是否损坏 1. 图书管理员检查学生所借阅的图书是否损坏 Exception. 学生是否缴纳罚金 1. 图书管理员判断学生是否缴纳罚金 Exception. 图书是不是本馆的藏书 1. 图书管理员输入图书信息 2. 系统验证该图书是不是本馆藏书 类图(领域模型) 包图(三层架构) 数据库设计 数据库概念数据模型CDM对象如下图,该图显示了各实体的属性及各实体之间的关系。 由PDM对象自动生成的数据库脚本文件代码如下: if exists (select 1 from dbo.sysreferences r join dbo.sysobjects o on (o.id = r.constid and o.type = 'F') where r.fkeyid = object_id('books') and o.name = 'FK_BOOKS_管理书籍_ADMIN') alter table books drop constraint FK_BOOKS_管理书籍_ADMIN go if exists (select 1 from dbo.sysreferences r join dbo.sysobjects o on (o.id = r.constid and o.type = 'F') where r.fkeyid = object_id('borrow_information') and o.name = 'FK_BORROW_I_BORROW_IN_BOOKS') alter table borrow_information drop constraint FK_BORROW_I_BORROW_IN_BOOKS go if exists (select 1 from dbo.sysreferences r join dbo.sysobjects o on (o.id = r.constid and o.type = 'F') where r.fkeyid = object_id('borrow_information') and o.name = 'FK_BORROW_I_BORROW_IN_READER') alter table borrow_information drop constraint FK_BORROW_I_BORROW_IN_READER go if exists (select 1 from dbo.sysreferences r join dbo.sysobjects o on (o.id = r.constid and o.type = 'F') where r.fkeyid = object_id('login') and o.name = 'FK_LOGIN_LOGIN_ADMIN') alter table login drop constraint FK_LOGIN_LOGIN_ADMIN go if exists (select 1 from dbo.sysreferences r join dbo.sysobjects o on (o.id = r.constid and o.type = 'F') where r.fkeyid = object_id('login') and o.name = 'FK_LOGIN_LOGIN2_READER') alter table login drop constraint FK_LOGIN_LOGIN2_READER go if exists (select 1 from dbo.sysreferences r join dbo.sysobjects o on (o.id = r.constid and o.type = 'F') where r.fkeyid = object_id('reversation') and o.name = 'FK_REVERSAT_REVERSATI_BOOKS') alter table reversation drop constraint FK_REVERSAT_REVERSATI_BOOKS go if exists (select 1 from dbo.sysreferences r join dbo.sysobjects o on (o.id = r.constid and o.type = 'F') where r.fkeyid = object_id('reversation') and o.name = 'FK_REVERSAT_REVERSATI_READER') alter table reversation drop constraint FK_REVERSAT_REVERSATI_READER go if exists (select 1 from sysindexes where id = object_id('admin') and name = '权限_FK' and indid > 0 and indid < 255) drop index admin.权限_FK go if exists (select 1 from sysobjects where id = object_id('admin') and type = 'U') drop table admin go if exists (select 1 from sysindexes where id = object_id('books') and name = '管理书籍_FK' and indid > 0 and indid < 255) drop index books.管理书籍_FK go if exists (select 1 from sysindexes where id = object_id('books') and name = '图书类型_FK' and indid > 0 and indid < 255) drop index books.图书类型_FK go if exists (select 1 from sysobjects where id = object_id('books') and type = 'U') drop table books go if exists (select 1 from sysobjects where id = object_id('booktype') and type = 'U') drop table booktype go if exists (select 1 from sysindexes where id = object_id('borrow_information') and name = 'Association_2_FK' and indid > 0 and indid < 255) drop index borrow_information.Association_2_FK go if exists (select 1 from sysindexes where id = object_id('borrow_information') and name = 'Association_1_FK' and indid > 0 and indid < 255) drop index borrow_information.Association_1_FK go if exists (select 1 from sysobjects where id = object_id('borrow_information') and type = 'U') drop table borrow_information go if exists (select 1 from sysindexes where id = object_id('login') and name = 'login2_FK' and indid > 0 and indid < 255) drop index login.login2_FK go if exists (select 1 from sysindexes where id = object_id('login') and name = 'login_FK' and indid > 0 and indid < 255) drop index login.login_FK go if exists (select 1 from sysobjects where id = object_id('login') and type = 'U') drop table login go if exists (select 1 from sysindexes where id = object_id('reader') and name = '用户权限_FK' and indid > 0 and indid < 255) drop index reader.用户权限_FK go if exists (select 1 from sysobjects where id = object_id('reader') and type = 'U') drop table reader go if exists (select 1 from sysindexes where id = object_id('reversation') and name = 'reversation2_FK' and indid > 0 and indid < 255) drop index reversation.reversation2_FK go if exists (select 1 from sysindexes where id = object_id('reversation') and name = 'reversation_FK' and indid > 0 and indid < 255) drop index reversation.reversation_FK go if exists (select 1 from sysobjects where id = object_id('reversation') and type = 'U') drop table reversation go create table admin ( admin_id int not null, admin_name char(20) null, admin_password char(16) null, logins int null, last_login char(10) null, "right" int null, constraint PK_ADMIN primary key nonclustered (admin_id) ) go create index 权限_FK on admin ( ) go create table booktype ( type_id int null ) go create table books ( book_id int not null, admin_id int null, title char(20) null, type_id int null, author char(40) null, price money null, "book concern" char(50) null, addtime datetime null, amount int null, remain int null, constraint PK_BOOKS primary key nonclustered (book_id), constraint FK_BOOKS_管理书籍_ADMIN foreign key (admin_id) references admin (admin_id), constraint FK_BOOKS_BOOKTYPE_BOOKTYPE foreign key () references booktype ) go create index 图书类型_FK on books ( ) go create index 管理书籍_FK on books ( admin_id ASC ) go create table reader ( reader_id int not null, reader_name char(20) null, sex char(2) null, age tinyint null, class char(15) null, address text null, memo text null, maxborrowed int null, reader_password char(16) null, "right" int null, constraint PK_READER primary key nonclustered (reader_id) ) go create table borrow_information ( book_id int not null, reader_id int not null, borrow_time datetime null, end_time datetime null, amount int null, return_time datetime null, constraint PK_BORROW_INFORMATION primary key (book_id, reader_id), constraint FK_BORROW_I_BORROW_IN_BOOKS foreign key (book_id) references books (book_id), constraint FK_BORROW_I_BORROW_IN_READER foreign key (reader_id) references reader (reader_id) ) go create index Association_1_FK on borrow_information ( book_id ASC ) go create index Association_2_FK on borrow_information ( reader_id ASC ) go create table login ( admin_id int not null, reader_id int not null, "right" int null, constraint PK_LOGIN primary key (admin_id, reader_id), constraint FK_LOGIN_LOGIN_ADMIN foreign key (admin_id) references admin (admin_id), constraint FK_LOGIN_LOGIN2_READER foreign key (reader_id) references reader (reader_id)展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




图书管理系统的架构设计.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/3908818.html