软件工程课程实验指导书

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

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

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

资源描述

软件工程课程实验指导书例:图书馆管理系统图书馆管理系统的开发与建设是学校信息化建设的一个重要组成部分。图书馆管理系统要实现整个图书馆信息的集中管理、分散操作、信息共享,使传统的图书馆管理向数字化、无纸化、智能化、综合化的方向发展,服务于图书馆工作人员及广大读者。系统应具有采访、编目、流通、期刊、公共查询、典藏、借阅等方面的功能。作为一个案例,不可能将实际系统中每个对象的全部属性与服务都一一列出,为了简洁,我们将系统作了简化,仅就图书馆管理中采访、编目、流通三个方面的系统分析与设计过程写出,供读者参考。编目是图书馆工作中重要的一个环节,涉及的处理和术语非常专业,对机读数据的处理与存储比较复杂,在本例中,只将其列出,不作进一步拓展,有兴趣的读者可查阅相关资料。(Coad)1面向对象的分析(OOA)[OOD]1.1系统需求根据图书馆管理中采访、编目、流通三个方面的实际工作需要,系统需满足以下八点要求:1、收集、组织各种新书信息,向读者发布预订书目信息;2、通过对读者需求信息的回收处理,对馆藏和正在订购的图书进行查重形成订单;3、能处理邮购、选购、赠送、交换等不同方式获得的文献;4、核对验收到馆文献,对未到图书进行查询和打印,作退还处理;对已验收的到馆文献,自动产生登录号和条形码;5、图书经费管理;6、查询统计查询某个供应商在某段时间内的供书情况;查询某段时间内订购图书的情况;查询某段时间到馆图书的情况;进行到书率统计,赠送统计,采购资金统计;7、图书编目处理;8、图书借阅处理提供读者借书、还书、预约操作。借不到的书可进行预约,并按读者级别排队;还书时,须检查借阅期限,超期应给予罚款;不还的书可以续借。1.2建立对象模型1.确定类-&-对象通过考察该系统需求、系统的问题域、系统边界和系统责任,我们找出了系统的候选类—&—对象,通过对候选对象逐个进行审查,删除无用对象、精简合并一些对象、将那些与具体的实现密切相关的对象推迟到OOD阶段考虑等工作,最后确定出系统的下列对象:采购员采购员是系统中重要的人员,系统需要保留其工作记录,并要模拟其订购图书的行为。订单采购员经过分析读者需求和对书目进行查重处理,产生订购图书清单,向供应商订书。要求保存每张订单,汇成账册;新书到馆时,与订单进行核对,进行图书验收。账册记录每张订单发生的款项,包括预付款、实付款、退还款等,便于统计图书经费。读者记录其借阅情况,借阅权限,预约级别。书书是图书管理系统中最主要的对象,每一个对象实例表示一种书籍,记录书籍的基本信息。如书名、数量、出版社、作者、价格、尺寸等。验收单记录新书到馆信息。图书馆书籍的来源包括购买、交换、赠送三种途径,根据管理的实际需要,特设立一个验收单对象。一般而言,验收员也应列为候选对象,我们将其信息可作为验收事件中的一个属性来处理,不再设一个验收员对象。供应商记录供应商基本情况,便于查询统计;赠送单位记录赠送单位/个人基本信息,便于查询统计;交换单位记录交换单位基本信息,便于查询统计;该系统的对象层如图1所示。采购员订单账册读者书验收单供应商赠送单位交换单位图1图书馆管理系统(对象层)2.确定属性和服务“采购员”对象的属性包括:采购员的基本信息,如职工号、姓名、登录时间。采购员在系统中的行为是进行书籍的采购。对书籍进行查重、检索等操作是分别是对“书”和“读者”对象属性的操作,应封装到这些对象中,在“采购员”对象中只设立“订购”的服务,通过消息引用其它对象的相应服务来完成。“订单”对象的属性包括订单号,订购书目列表,订购书籍的详细信息;填写订单的采购员,提供书籍的供应商,应支付的书款,预交的部分订金,填写日期,到馆期限,对超过期限的图书,要进行退订或催询处理。“订单”对象的服务包括“订购计价”,即逐条记录订购的书目清单,并累计应付款数;“入账”,即将订单的信息计入账册;“核对”,即将有订单号的到馆新书与订购书目核对。对长期不到馆(超过到馆期限)的书,作退订或催询处理;“退订”,即拒绝订购未到新书。若该书已预付书款,则修改账册中的退订款数额;“催询”,即向供应商催发已订购,而未到馆的图书。“账册”对象的属性记录采购员产生的每张订单,并累计其采购经费。通过订单号,即可得到每张订单的明细信息;通过供应商(名称/编码)即可查询每个供应商的订购情况。所以,“账册”与“订单”对象组织成整体—部分结构。“账册”对象的服务“记账”,即是记录每一张订单信息。“书”对象的属性包括书的“编号”,记录其在馆藏书目中的财产号;“书目信息列表”,记录图书编目后的所有信息;“书籍来源”,记录书籍到馆的方式。“书”的服务有“增加”,新书到馆验收后,增加书目;“编目”,对到馆图书做编目处理,形成编目卡片、书本式目录、统计报表等编目产品;“查重”就是对所有馆藏书进行检索,统计书籍的复本数和借阅率;“剔旧”就是对破损严重,不能再流通的书籍做删除处理,其记录要保存;“交换”就是将本馆藏书与其他单位交换,修改馆藏书籍信息;“赠送”就是将本馆藏书赠予其他单位,修改馆藏书籍信息。“验收单”对象的属性包括验收员、订单号,从供应商处到馆的新书,须根据订单核对;“验收书目信息列表”记录到馆书籍的所有信息,如书名、编者、出版社、单价等;到馆数量记录实到馆书籍的数量,未到馆数量记录已订购但尚未到馆书籍的数量;书籍来源用于指明图书的到馆方式。其服务“验收”包括逐条登记到馆书籍、统计到馆数量、计算未到馆数量、登记书籍来源等方面的信息,并修改库存。“读者”对象的属性包括读者编号和读者信息列表;由于读者身份不同,拥有不同的借阅权限,借阅数量上限,借阅期限;读者借阅的书目记录在“借阅书目”中,预约的书目记录在“预约书目”中。“读者”对象的服务包括“借书”(在借阅书目中增加记录,若所借书籍为预约书,则将预约书目中的记录删除)、“还书”(将借阅书目中的记录删除,同时检查借阅期限,若超期,则做罚款处理)、“预约”(将借不到的书登记在预约书目中,并按借阅权限排队)。对“供应商”对象、“交换单位”对象、“赠送单位”对象,我们通过增设一个“供货单位”对象,组成一种整体—部分结构。见图2所示。“供货单位”对象的属性有“单位名称”、“联系人”、“电话”、“账号”等基本信息,以及“供货单位类别”,可以是供应商、交换单位、赠送单位等多种类别。其服务包括“供货”、“信息增删”,实现对供货单位信息的增加、删除及修改。图2供货单位结构图供货单位单位名称联系人电话邮编地址供货供书商传真帐号其他交换经手人赠送数量通过对系统需求中的形容词和动词进行分析,确定了每个对象的属性和服务,把每个对象的属性和服务填到相应的类符号中,构成了类图的特征层。见图3所示。3.分析对象之间的关联关系(1)一般—特殊结构实际操作中,采购员产生图书预订单后,由馆长审核,通过对采购资金、借阅率、读者需求等情况进行综合考虑分析后,产生订单,则在“人员”对象中,采购员与馆长将构成一般—特殊结构,读者可自行分析,以作练习。(2)整体—部分结构“订单”是“账册”的部分对象,由“账册”类的“订单目录”属性表明一个账册中包括哪些订单;供应商、交换单位、赠送单位/个人构成了图书的供货单位。(3)实例连接“书”与“读者”之间存在多对多的实例连接关系。即采购前,采购员要先收集读者对新书的需求量,要求读者对所需要的书进行预选,然后汇总预选结果。“书”与“读者”对象之间存在复杂的实例连接关系,通过增设一个“预选清单”对象,来表明“书”与“读者”对象之间的关联。“预选清单”对象的属性包括“馆藏书号”、“新书书号”、“需求量”、“读者列表”,服务包括“增加”,读者可以对多种书做预选,读者编号添加到“读者列表”,同时增加“需求量”,“预选清单”的一个对象实例是被一到多个读者预选的一种书;“检索”服务提供“采购员”订购书籍时参考;“定期删除”功能提供当有新的一批书籍征订时,将原有的预选书目删除。经分析后发现,现有“书”的所有对象实例,都是馆藏书籍,而读者需求并不全都是馆藏书,应包括采购员提供给读者预选的新书目录。因此,在“书”与“采购员”之间,有一个“新书目录”,它继承“书”的部分属性与服务,是“书”的一个特殊类。“新书目录”对象的属性包括新书信息列表。服务包括更新和检索。同时,应在“采购员”对象中,增加一个“发布新书”服务,来更新“新书目录”。“采购员”、“书”与“供货单位”之间的实例连接通过订单反映。一个采购员可产生多张订单,一张订单送一家供货单位。按系统责任,查询某个供应商在某段时间内的供书情况,则“供货单位”与“书”之间也存在关联,增设一个对象“供应书目一览表”来表示这种关联。“供应书目一览表”对象的属性包括日期、书目列表、供货类型,服务包括种类增删、检索。如图4所示。(4)消息连接通过分析书的状态变化,绘出书的状态图,为分析系统内的消息连接提供思路,如图5所示。图5书的状态图到馆赠送交换预选订购赠送到馆交换验收收集订购到馆编目退订退订编目流通借出流通续借预约借排序还借借还借还借拒借4.建立功能模型通过以上分析,我们可以给出系统的功能模型和和部分类的动态模型。见图6、图7、图8。图7采购员类的动态模型开始查询读者预选书目情况根据预选书目进行查重确定订购书目及数量结束始按采购员、供货单位和读者这三类活动者的对象开始执行路线追踪,以发现系统中各种消息连接。(1)“采购员”对象执行“发布新书”服务,向“新书目录”对象发消息,请求其“更新”服务,以列出最近的新书信息,删除原有旧信息,供读者预选。(2)“采购员”对象在执行“订购”服务,先发消息给“预选清单”中的检索,再发消息给“书”中的查重,以获取图书的复本数,作为订购图书时的参考依据,执行时,还要发消息给“验收事件”对象,请求“检索”服务,然后发消息给“订单”对象,请求执行“订单”的订购计价、入账服务;在执行“入账”服务时,“订单”对象向“账册”对象发消息,请求“记账”服务。(3)“供货单位”对象在执行“供货”服务时,向“验收事件”对象发消息,请求其“验收”服务,若书籍来源于交换、赠送,直接添加验收书目信息与到馆数量等属性;若书籍来源于订购书籍,则需再发消息给“订单”对象,请求执行其“核对”服务,此时,“订单”对象若发现有超过到馆期限的订单,则执行“退订”或“催询”服务。(4)验收完毕,执行“验收单”的“登记”服务,发消息给“书”对象,请求执行其增加服务、编目服务。(5)“读者”对象执行“预选”服务时,发消息给“新书目录”对象,请求其“检索”服务,以获知新书情况,接着向“预选清单”发消息请求“增加”服务。综上所述得到该系统OOA模型的整个类图,如图9所示:分析得出系统类图,分析工作并没有结束,在实际分析设计过程中,此类图还需在设计过程中进一步推敲、完善,这也OO方法的特点。分析人员还需根据问题域和系统责任,进一步审查和筛选找到的类,以及类之间的静态关系与动态关系,即经过不断迭代,以最终得到反映系统问题域的类图。图9系统OOA模型的整个类图2面向对象的设计(OOD)图书馆管理信息系统采用目前比较流行的C/S模式,VisualBasic6.0作为前端开发工具,后台数据库管理系统为SQLServer2000,系统的运行平台为Windows。系统运行在图书馆工作人员与读者的客户机上;对数据库访问的并发处理,由SQLServer控制,经过综合考虑人机界面设计和数据存取部分,我们得到了系统的OOD模型。2.1设计图书馆管理系统的人机界面写出窗口中各按钮的操作顺序,以及对象调用情况,建立OOD模型的类图。在此阶段,我们对OOA模型中的类图进行了调整。VisualBasic提供了开放式数据连接(OpenDataBaseConnectivity,ODBC)功能,它可发布检索订购职工号姓名登录时间图10采购员对象窗口验收登记检索职工号姓名验收时间图11验收员对象窗口供货单位信息增加删除修改图12供货单位对象窗口读者姓名借书续借预约预选项图13读者对象窗口图书信息选定图14图书预选、借、续借、预约窗口图书信息增加删除修改返回图15图书信息编辑窗

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

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

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

×
保存成功