图书管理系统的架构设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

学生学号实验课成绩学生实验报告书实验课程名称软件设计与体系结构开课学院计算机科学与技术学院指导教师姓名陈明俊学生姓名学生专业班级软件14022016--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完成图书管理系统的数据库设计。数据库的设计是以领域模型为基础的,经过分析类图和设计类图的细化,找出需要持久化的类,转化为关系模型。第二部分:实验过程记录(可加页)(包括实验原始数据记录,实验现象记录,实验过程发现的问题等)用例模型图书管理系统图书管理员A处理赔偿借出书目返还书目取消预定处理超期增加借阅者删除借阅者查询借阅者管理借阅者系统管理员预定查询图书查询借书情况A登录借书者管理图书管理员A修改借阅者管理图书增加图书删除图书修改图书查询图书«extend»«extend»«extend»«extend»«extend»«extend»«extend»«extend»«extend»用例文档登录SCENARIOSBasicPath.BasicPath1.用户进入图书馆的登录页面2.用户输入用户名和密码Alternate:2a.用户输入用户名错误Alternate:2b.用户输入的密码错误3.登陆成功Alternate.用户输入用户名错误1.显示用户名错误2.用户重新输入用户名Alternate.用户输入的密码错误1.显示密码错误2.用户重新输入用户名借出书目BasicPath.BasicPath1.图书管理员请求系统处理借书业务2.系统显示借书处理界面3.图书管理员输入借阅证信息4.系统验证借阅证的有效性Exception:4a.借书证不合法5.图书管理员输入图书信息6.系统添加新的借阅记录Exception:6a.借阅者借书数量已达到上限Alternate:6b.书籍库存为07.系统显示借书后的借阅信息,图书管理员重复5-7步,直到结束Exception.借书证不合法1.系统显示借书证不合法2.图书管理员进行确认Exception.借阅者借书数量已达到上限1.系统显示借书者借书详细信息并报警2.图书管理员处理报警并结束借书Alternate.书籍库存为01.显示库存为02.管理员结束借书取消预定SCENARIOSBasicPath.BasicPath1.借阅者取消预定图书Alternate:1a.系统收不到取消预定的信息2.图书管理员修改借阅者信息3.取消预定成功Alternate.系统收不到取消预定的信息1.取消预定失败2.提醒借阅者重新取消预定图书处理超期SCENARIOSBasicPath.BasicPath1.图书管理员检查到归还图书超期2.图书管理员根据超出的时间计算罚金3.图书管理员要求借书证缴纳罚金4.超期处理完成处理赔偿SCENARIOSBasicPath.BasicPath1.图书管理员检查到借阅的图书已损坏2.图书管理员根据图书的损坏情况要求借阅者赔偿3.处理赔偿完成预定SCENARIOSBasicPath.BasicPath1.借阅者登录图书管理系统2.借阅者预定图书Exception:2a.该图书库存为0,确定预定时间Exception:2b.该图书库存不为0,确定预定时间3.预定图书成功Alternate.图书库存为01.显示该图书库存为0Exception.该图书库存为0,确定预定时间1.显示该图书的预定时间Exception.该图书库存不为0,确定预定时间1.按规定显示预定时间返还书目SCENARIOSBasicPath.BasicPath1.学生携带图书借阅证,进入图书馆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.系统验证该图书是不是本馆藏书类图(领域模型)本科生借书策略-cardno:String-Department:String-lendedbook:int-major:String-name:String-type:String+getinformation():String研究生借书策略-cardno:String-department:String-director:String-lendedbook:int-major:String-name:String-type:String+getinformation():String本科生借杂志策略-lendedmagazine:int-name:String+getinformation():String研究生借杂志策略-lendedmagazine:int-name:String+getinformation():String借书策略-bookID:String-booktype:String-card:String-today:Date+setbookID()+setbooktype():void+settoday():void借杂策略-card:String-magazineID:String-today:Date+setmagazineID()+settoday():void罚款策略-judge:boolean-money:int+getmoney():int+pay()+setjudge()书籍罚款策略-money:int+setmoney()杂志罚款策略-money:int+setmoney()到期时间-duedate:Date书项-librarycode:String书籍-press:String-publishdate:Date-version:String+havebook():boolean书目-author:String-borrowednumber:int-isbn:String-name:String-price:float-totalnumber:int-tpye:String杂志-press:String-volume:String+havemagazin

1 / 30
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功