基于UML语言设计的校园失物招领系统——《软件建模与分析分析》

第1章 绪论

1.1引言

1.1.1编写目的

编写校园失物招领系统的《软件建模与分析分析》报告目的,是为了用户和开发方明确对所建校园失物招领系统所达到的功能和目标。同时,通过此篇基于UML建模语言的分析报告,开发方可以更加进一步了解客户的需求,从而严格按照流程及时、准确地完成系统的开发,以满足客户的需求。同时,该文档也作为概要设计及后续设计的基础。

1.1.2适用范围

面向用户:苏州科技大学在校学生及教职工

适用场景:用户查找他人发布的失物/招领信息,发布自己的失物/招领信息

项目形式:B/S,C/S

适用平台:浏览器(兼容谷歌浏览器、360安全浏览器、微软edge浏览器火狐浏览器等各大主流浏览器),手机app,微信小程序

注:校园失物招领系统的适用范围比较广泛,为了最大程度体现UML建模语言的优越性在这里对其B/S模式下的项目进行分析。

1.2项目概述

1.2.1概述

校园失物招领系统是一个为校园内的学生、教师和工作人员提供失物信息发布和查询的网络平台。该系统的主要功能有:

- 用户注册登录:用户可以通过账号、手机号登录,登录后可以发布或查看失物信息。

- 发布失物信息:用户可以选择发布寻物启事或招领启事,填写相关的物品信息,如名称、类别、地点、时间、图片等,系统会自动提交管理员审核并显示在平台上。

- 查看失物信息:用户可以按照不同的条件,如类别、地点、时间等,筛选和搜索平台上的失物信息,查看详情或评论。

- 评论功能:用户可以对任意一条失物信息进行评论,提供线索或询问细节,方便失主和拾主之间的沟通。

- 管理员管理:管理员可以对平台上的用户和失物信息进行管理,如审核、删除、修改等,维护平台的秩序和安全。

校园失物招领系统的设计目的是利用信息化手段,解决传统失物招领方式的不便和低效,提高校园内失物招领的成功率和便捷性。

1.2.2 研究背景和意义

校园失物招领是高校学生生活中常见的问题,每年都有大量的物品在校园内遗失或捡到,如书籍、钥匙、卡片、电子设备等。这些物品的归属和处理往往依赖于失主和拾主之间的沟通和协商,或者通过学校的相关部门进行登记和公告。然而,这些方式存在诸多不便和不足,如信息不及时、不完整、不准确,沟通成本高,公告范围小,物品存放不安全等,导致失物招领的效率低下,失主和拾主的满意度低下,甚至造成物品的损失和浪费。

为了解决这一问题,本文提出了一种基于互联网的校园失物招领系统,该系统利用现代软件技术,为高校学生提供一个方便、快捷、安全的失物招领平台。该系统具有以下特点:

  • 去中心化:该系统不依赖于学校的任何部门或机构,而是由学生自主参与和管理,实现了失物招领的民主化和自主化。

  • 实时性:该系统通过互联网实现了信息的即时发布和更新,保证了信息的及时性和有效性。

  • 完整性:该系统通过图文、语音、视频等多种方式记录和展示物品的详细信息,保证了信息的完整性和准确性。

  • 交互性:该系统通过即时通讯、评论、评价等功能实现了失主和拾主之间的有效沟通和互动,提高了沟通成本和满意度。

  • 安全性:该系统通过身份认证、权限管理、数据加密等手段保证了用户和物品的安全性和隐私性。

本文通过软件建模与分析的方法,对校园失物招领系统进行了需求分析、架构设计、功能实现等方面的研究,旨在为高校学生提供一个优质的失物招领服务,同时为软件工程领域提供一个有价值的案例

1.2.3产品前景

随着高校人口不断增加,校园内的日常生活也变得更加繁忙。很多学生在校园内忙碌的学习、生活和社交中,很容易会丢失物品或者发现别人丢失的物品。为了更好地解决这个问题,许多高校已经建立了的失物招领系统。事实证明该类产品在校园应用领域前景光明,能够很快的扩增用户,提供有效的服务。

1.3研究内容和方法

本文主要研究内容包括以下几个方面:

  • 需求分析:通过调查问卷、访谈、观察等方式收集用户需求,分析用户特征、需求类型、需求优先级等,确定系统功能需求、非功能需求和约束条件。

  • 架构设计:根据需求分析结果,采用面向对象的方法设计系统架构,包括系统组成、模块划分、接口定义等,确定系统结构和行为。

  • 功能实现:根据架构设计结果,选择合适的技术框架和工具实现系统功能,包括前端界面开发、后端业务逻辑开发、数据库设计等,完成系统开发和测试。

  • 系统评估:通过用户调查、专家评审、数据分析等方式评估系统的可用性、可靠性、可维护性等指标

1.4本文结构

本文共分为四章,各章节内容安排如下:

- 第一章 绪论:介绍了本文的编写目的、适用范围、项目概述、研究背景 义、研究内容和方法等,为后续章节的阅读提供了基础。

- 第二章 需求分析:分析了校园失物招领系统的功能需求、非功能需求和约 条件,明确了校园失物招领系统的目标和范围。

- 第三章 建模分析:采用面向对象的方法对校园失物招领系统进行了建模分析,包括用例图、类图、活动图、序列图等,描述了校园失物招领系统的结构和行为。

- 第四章 数据库设计:利用 E-R 图,并结合使用建模工具PowerDesigner完成数据库的物理概念模型设计。根据需求分析进一步设计并完善了校园失物招领系统的数据库结构,包括用户信表、物品信息表、招领信息表等,给出了各表的字段定义和关系说明。

此外附有以下两项内容:

- 结论:总结了本文的主要工作和创新点,指出了本文的不足之处和改进方向。

-参考文献:列出了本文所引用的相关文献,包括书籍、期刊、网站等,按照国家标准格式进行编号和排列。

第2章 需求分析

2.1功能需求

2.1.1系统结构

根据需求,校园失物招领系统拟分为以下子模块。整个系统各子模块结构图如下所示:

img

图2-1-1校园失物招领系统系统结构图

2.1.2具体功能需求

经具体分析校园失物招领系统的功能需求如下:

- 用户注册:游客可以通过填写基本信息(如姓名、学号、年级、联系方式等)来注册成为系统用户,系统需要对用户信息进行有效性验证,验证通过后,用户可以收到注册成功的提示和登录密码。

- 用户登录:用户可以通过输入用户名(学号)和密码来登录系统,系统需要对用户名和密码进行匹配验证,验证通过后,用户可以进入系统主界面。

- 用户管理:用户可以在系统主界面查看和修改自己的个人信息(如姓名、年级、联系方式等),也可以修改登录密码或注销账号。

- 招领管理:用户可以在系统主界面发布招领信息,包括失物的名称、类别、特征、地点、时间等,也可以上传失物的照片。用户还可以查看、修改或删除自己发布的招领信息,或者查看其他用户发布的招领信息,并与之联系。

- 寻物管理:用户可以在系统主界面发布寻物信息,包括失物的名称、类别、特征、地点、时间等,也可以上传失物的照片。用户还可以查看、修改或删除自己发布的寻物信息,或者查看其他用户发布的寻物信息,并与之联系。

- 留言管理:用户可以在系统主界面发布感谢留言,表达对拾到或归还失物的人的感激之情,也可以查看其他用户发布的感谢留言,并进行回复或点赞。

- 公告管理:用户可以在系统主界面查看系统公告,了解系统的最新动态和通知。

- 管理员登录:管理员可以通过输入管理员账号和密码来登录系统,系统需要对管理员账号和密码进行匹配验证,验证通过后,管理员可以进入系统后台管理界面。

- 用户审核:管理员可以在系统后台管理界面对用户注册信息进行审核,审核通过后,用户才能正常登录和使用系统,审核不通过则删除用户信息。

- 用户管理:管理员可以在系统后台管理界面对用户信息进行增删改查操作,也可以对用户进行封禁或解封操作。

- 物品管理:管理员可以在系统后台管理界面对招领和寻物信息进行增删改查操作,也可以对不合规或过期的信息进行删除操作。

- 留言管理:管理员可以在系统后台管理界面对感谢留言进行增删改查操作,也可以对不合规或恶意的留言进行删除操作。

- 公告管理:管理员可以在系统后台管理界面发布、修改或删除系统公告,向用户传达重要的信息和通知。

表2-1-2校园失物招领系统具体功能需求表

编号模块名称功能描述
1登录注册模块平台基本操作,用于用户的登录与注册
2浏览功能在网站上查看他人发布的信息
3搜索功能模糊搜索/关键词搜索平台上的失物信息
4个人主页面管理个人信息,可进行对信息的修改
5失物发布功能发布丢失物品的相关信息
6发布失物招领功能发布招领的物品的相关信息,并会获得相应审核认领权限
7认领功能用户认领他人发布的招领物品(提供证明,由管理员与招领发布人员共同确认)
8意见反馈、评论功能展示给登陆用户及管理员用户的使用反馈
9管理员维护用户信息功能对用户在注册页面及个人中心提供的申请进行审核,并通过用户信息修改的请求
10管理员审核管理员审核发布信息,招领信息管理员确认发布信息,招领信息规格及内容合规,并同意发布
11审核认领管理员通过对比招领信息,及认领证明决定认领是否通过
12系统通知管理员对系统的重大更新,及相应公告进行通知

2.2非功能需求

2.2.1性能

本系统在性能上尽量做到实时性强、数据容量小、响应速度快、稳定性高、出错率低、容错性好等优点。

故该校园失物招领系统的性能需求可以从以下几个方面来考虑:

  1. 用户访问响应时间:系统需要在用户请求时快速响应,保证用户体验。一般来说,响应时间应该控制在1-2秒之内。

  2. 并发用户数:系统需要支持同时访问的用户数量,这个数量需要根据校园的规模和使用情况来确定。如果有大量的用户同时访问系统,需要确保系统能够稳定运行,并且不会出现宕机等问题。

  3. 数据库读写速度:由于失物招领系统需要涉及到大量的数据存储和读取,因此数据库的读写速度也是一个重要的性能指标。需要确保数据库的读写速度能够满足系统的需求,并且不会出现数据丢失或者数据混乱等问题。

  4. 系统可扩展性:随着校园的规模不断扩大,失物招领系统的用户数量也会不断增加,因此系统需要具备良好的可扩展性。例如,系统需要支持分布式部署,可以通过增加服务器来扩展系统的性能。

  5. 安全性能:失物招领系统需要保证用户的信息安全,因此系统的安全性能也是一个重要的指标。需要确保用户的个人信息不会被泄露,同时需要对用户提交的信息进行有效的验证和过滤,防止恶意攻击和注入等问题。

2.2.2安全性

在本系统的设计中,主要从以下几个方面考虑系统和数据的安全性:

1.满足速度要求下的少余量原则:余量指的是逻辑上相同的数据,在不同的记录中重复出现,或在逻辑上能导出存在于数据库的记录中。从理论上讲,余量的存在,在数据库设计的不合理,是破坏数据库一致性的潜在危险,同时会增加数据空间开销。但是,在特殊情况下,为了满足速度要求,常常设计一些余量作为数据库记录。当余量存在时,数据库一致性不能靠数据库管理系统来保证,只能通过开发软件的计算方法来解决,余量的存在,大大增加了系统的开发难度,以余量是万不得已时才能使用,使用时,在计算方法上保证数据的一致性。

2.系统权限原则:根据不同的用户,系统管理员授予不同的权限,从而可以避免对系统的越级操作和数据泄密。

3.数据加密原则:这个主要是针对数据库端的数据进行的数据加密处理。包括对数据库服务器的用户口令管理、数据库管理系统的用户口令管理、以及数据库中部分数据的加密处理。通过以上的几种加密技术处理,来进一步限制MIS系的使用权限,从而增强其安全性。

2.2.3可用性

校园失物招领系统的可用性需求可以从以下几个方面来考虑:

  1. 系统稳定性:系统需要保持稳定的运行状态,不出现宕机、崩溃等问题,从而确保系统的可用性。

  2. 可靠性:系统需要保证用户提交的信息能够被正确地处理和存储,不会出现数据丢失或者数据混乱等问题。

  3. 易用性:系统需要设计简单易用的用户界面,让用户能够轻松地进行操作,从而提高系统的可用性。

  4. 可维护性:系统需要具备良好的可维护性,包括易于修改、易于测试、易于部署等方面。这样可以保证系统在出现问题时能够快速修复,并且能够持续地提供服务。

  5. 可恢复性:系统需要具备良好的可恢复性,包括备份和恢复数据的能力,从而在出现故障时能够快速地恢复系统的运行状态。

总之,校园失物招领系统的可用性要求非常高,需要保证系统能够稳定、可靠、易用、可维护和可恢复,从而能够持续地为用户提供服务。

2.2.4可维护性

校园失物招领系统的可维护性包括对数据的维护和对系统的维护,在设计时,主要从以下几个方面进行考虑:

1.对于正常的数据维护,管理人员可以通过档案管理系统本身来实现。数据维护包括权限设置、高级地址的集合运算、无用数据的删除、数据库的清理、数据备份与恢复等功能。

2.全面按照软件工程的要求来开发档案管理系统,做到严格管理、严格测试。每个工作阶段,都具备相应的经过严格审查的文档,为将来系统服务提供技术上的保证。

2.3设计和实现的约束和限制

a.开发环境:

该档案管理系统拟采用B/S结构,前台用面向对象开发工具Java,服务器端拟采用企业级数据库SQL Server,应用服务器Tomcat。

b.运行环境:

客户端需要满足以下条件:

-Windows 7:需要1GHz或更快的32位或64位处理器,1GB(32位)或2GB(64位)的内存,16GB(32位)或20GB(64位)的硬盘空间,支持DirectX 9或更高版本的显卡。

-Windows 10:需要1GHz或更快的32位或64位处理器,1GB(32位)或2GB(64位)的内存,16GB(32位)或20GB(64位)的硬盘空间,支持DirectX 9或更高版本(包含WDDM 1.0驱动程序)的显卡。

-Windows 11:需要现代1GHz 64位双核处理器,4GB的内存,64GB的硬盘空间,9英寸1366x768分辨率的显示器,支持UEFI, Secure Boot & TPM 2.0 compatible的固件,支持DirectX 12兼容显卡/ WWDM 2.x。

服务器端需要运行Oracle数据库和Tomcat应用服务器。

c.条件和限制:

  1. 限制整个校园失物招领系统正常实施的主要因素是基础数据的准确性和完整性。同时该系统也是对用户新系统各种代码设计的真正的一次考验。

  2. 限制校园失物招领系统的另外一个因素是系统的维护性和完善性,因为档案管理系统的建立不可能一次全部解决问题,开发后期和使用初期的维护

工程也是一个必须考虑的因素。这里的维护工作包括数据的维护,也有系统功能的维护,包括旧功能的删除和新功能的添加等。

第3章 建模分析

3.1用例图

校园失物招领系统的用例图分析可以帮助我们更清晰地了解系统的功能和流程,有助于系统的设计和开发。具体效果如下:

1.明确系统的功能:通过用例图分析,我们可以明确系统的主要功能和用例,例如发布失物信息、查询失物信息、审核失物信息、发布招领信息等,有助于我们更全面地考虑系统的设计和开发。

2.确定参与者和角色:用例图分析可以帮助我们确定系统的参与者和角色,例如学生、管理员和系统,有助于我们更清晰地划分系统的权限和职责。

3.优化系统流程:通过用例图分析,我们可以发现系统流程中可能存在的问题和瓶颈,有助于我们优化系统流程,提高系统的效率和用户体验。

4.提高系统的可靠性和安全性:用例图分析可以帮助我们识别系统可能存在的安全隐患和漏洞,有助于我们加强系统的安全性和可靠性。

3.1.1用例分析

用例图中的参与者有学生、管理员和系统。

主要用例包括:

  1. 学生/教职工发布失物信息:学生/教职工可以在系统中发布失物信息,并填写相关信息,如失物类型、时间、地点等。

  2. 学生/教职工查询失物信息:学生/教职工可以在系统中查询失物信息,并根据自己的需求进行筛选和排序。

    3.管理员审核失物信息:管理员可以审核学生/教职工发布的失物信息,确保信息的真实性和准确性。

4.管理员发布招领信息:管理员可以在系统中发布招领信息,并填写相关信息,如招领类型、时间、地点等。

5.管理员查询失物信息:管理员可以在系统中查询失物信息,并根据自己的需求进行筛选和排序。

6.系统自动匹配失物和招领信息:系统可以根据失物和招领信息的相似度自动匹配,并向相关学生/教职工和管理 员发送匹配信息。

7.学生/教职工确认招领信息:学生/教职工可以在系统中确认自己的失物已经被找到,并与管理员联系取回失物。

8.管理员确认归还失物:管理员可以在系统中确认失物已经归还给学生/教职工,并更新失物信息状态。

3.1.2用例图

img

图3-1-1校园失物招领系统用例图

3.2顺序图

校园失物招领系统的顺序图分析可以帮助我们更具体地了解系统的交互过程和时序关系,有助于系统的设计和开发。具体效果如下:

  1. 明确系统的交互过程:通过顺序图分析,我们可以明确系统中各个参与者之间的交互过程和信息流动,例如学生发布失物信息、管理员审核失物信息、系统自动匹配失物和招领信息等,有助于我们更全面地考虑系统的设计和开发。

  2. 确定系统的时序关系:顺序图分析可以帮助我们确定系统中各个交互过程的时序关系,例如学生发布失物信息后,管理员审核失物信息,系统自动匹配失物和招领信息等,有助于我们更清晰地了解系统的运行流程和时序关系。

  3. 优化系统交互流程:通过顺序图分析,我们可以发现系统交互过程中可能存在的问题和瓶颈,例如信息传递不及时、交互流程复杂等,有助于我们优化系统交互流程,提高系统的效率和用户体验。

  4. 提高系统的可靠性和安全性:顺序图分析可以帮助我们识别系统可能存在的安全隐患和漏洞,例如信息传递过程中的数据泄露、篡改等,有助于我们加强系统的安全性和可靠性。

综上所述,校园失物招领系统的顺序图分析对于系统的设计和开发具有重要的意义,可以提高系统的效率、可靠性和安全性,提升用户体验。

3.2.1顺序图分析

校园失物招领系统的顺序图分析如下:

  1. 学生/教职工发布失物信息的顺序图分析:

    学生/教职工 -> 失物招领系统:请求发布失物信息

    失物招领系统 -> 学生/教职工:返回发布失物信息表单

    学生/教职工 -> 失物招领系统:提交失物信息表单

    失物招领系统 -> 学生/教职工:返回发布成功信息

  2. 管理员审核失物信息的顺序图分析:

    管理员 -> 失物招领系统:请求查看待审核失物信息列表

    失物招领系统 -> 管理员:返回待审核失物信息列表

    管理员 -> 失物招领系统:选择某一失物信息进行审核

    失物招领系统 -> 管理员:返回该失物信息详情

    管理员 -> 失物招领系统:审核失物信息

    失物招领系统 -> 管理员:返回审核结果

  3. 学生/教职工查询失物信息的顺序图分析:

    学生/教职工-> 失物招领系统:请求查看失物信息列表

    失物招领系统 -> 学生/教职工:返回失物信息列表

    学生/教职工 -> 失物招领系统:选择某一失物信息进行查看

    失物招领系统 -> 学生/教职工:返回该失物信息详情

以上是校园失物招领系统的部分顺序图分析,它们展示了系统中不同参与者之间的交互过程和时序关系,有助于设计和开发人员更好地理解系统的功能和流程。

3.2.2顺序图

img

图3-2-2校园失物招领系统登陆注册顺序图

img

图3-2-2校园失物招领系统学生发布失物信息顺序图

img

图3-2-2校园失物招领系统管理员审核失物信息顺序图

img

图3-2-2校园失物招领系统学生查询失物信息顺序图

3.3协作图

校园失物招领系统的协作图分析可以帮助我们更好地理解系统中各个参与者之间的协作关系和交互模式。具体来说,协作图分析的效果包括以下几个方面:

1.明确参与者的角色和职责:协作图可以清晰地展现出系统中各个参与者的角色和职责,从而更好地理解系统的运行方式和交互模式。

2.捕捉参与者之间的交互过程:协作图可以帮助我们捕捉系统中各个参与者之间的交互过程,从而更好地理解系统的运行流程和时序关系。

3.识别潜在的问题和瓶颈:通过协作图,我们可以识别系统中可能存在的问题和瓶颈,从而及时进行优化和改进。

4.促进团队沟通和协作:协作图可以作为团队沟通和协作的工具,帮助团队成员更好地理解和协作开发系统。

总之,校园失物招领系统的协作图分析可以有效地提高系统开发的效率和质量,帮助我们更好地理解和使用该系统

3.3.1协作图分析

校园失物招领系统的协作图主要描述了系统中各个参与者之间的协作关系和信息交互过程。下面是该系统的协作图分析:

1.学生发布失物信息

学生是该系统的主要参与者之一,当学生在校园中发现有物品丢失时,可以通过系统发布失物信息。在协作图中,学生与系统之间的协作关系如下:

· 学生首先通过系统的用户界面进入“发布失物信息”的页面。

· 在该页面中,学生需要填写相关信息,如失物类型、失物描述、联系方式等。

· 当学生提交信息后,系统会自动将该信息存储在数据库中,并发送通知给管理员。

2.管理员审核失物信息

管理员是系统的另一个重要参与者,负责审核学生发布的失物信息。在协作图中,管理员与系统之间的协作关系如下:

· 管理员通过系统的用户界面进入“审核失物信息”的页面。

· 在该页面中,管理员可以查看学生提交的失物信息,并对其进行审核。

· 如果信息符合要求,管理员会将其标记为“已审核”,并将其发布到系统的失物信息列表中。

· 如果信息不符合要求,管理员会将其标记为“未通过审核”,并将其退回给学生。

3.用户查看失物信息

除了学生和管理员外,其他用户也可以通过系统查看失物信息。在协作图中,用户与系统之间的协作关系如下:

· 用户通过系统的用户界面进入“查看失物信息”的页面。

· 在该页面中,用户可以浏览所有已发布的失物信息,并可以根据自己的需求进行筛选和搜索。

· 当用户找到自己丢失的物品时,可以通过系统提供的联系方式与发布者取得联系。

3.3.2协作图

通过PowerDesigner设计的顺序图直接生成如下协作图:

img

图3-3-2校园失物招领系统登陆注册协作图

img

图3-3-2校园失物招领系统学生发布失物信息协作图

img

图3-3-2校园失物招领系统管理员审核失物信息协作图

img

图3-3-2校园失物招领系统学生查询失物信息协作图

3.4状态图

校园失物招领系统的状态图分析可以帮助设计和开发人员更好地理解系统的状态变化和对应的行为。通过状态图分析,可以得到以下效果:

1.明确系统的状态集合:状态图分析能够明确系统中可能存在的状态集合,例如失物信息待审核状态、失物信息已审核状态、失物信息已归还状态等。这有助于设计和开发人员更好地把握系统的状态变化和对应的行为。

2.描述状态之间的转换关系:状态图分析能够清晰地描述系统中状态之间的转换关系,例如失物信息待审核状态可以转换为失物信息已审核状态,失物信息已审核状态可以转换为失物信息已归还状态等。这有助于设计和开发人员更好地理解系统的状态变化和对应的行为。

3.确定状态转换的触发条件:状态图分析能够明确状态转换的触发条件,例如失物信息待审核状态可以转换为失物信息已审核状态,需要管理员审核通过。这有助于设计和开发人员更好地理解系统的行为逻辑和实现方式。

综上所述,校园失物招领系统的状态图分析能够帮助设计和开发人员更好地理解系统的状态变化和对应的行为,有助于系统的设计和开发工作

3.4.1注册登录状态图

img

图3-4-1校园失物招领系统注册登录状态图

3.4.2用户系统状态图

img

图3-4-2校园失物招领系统用户状态图

3.4.3管理员系统状态图

img

图3-4-3校园失物招领系统管理员状态图

3.5活动图

当我们使用活动图对校园失物招领系统进行分析时,可以清晰地展现出系统中各个活动之间的关系和流程。通过活动图分析,我们可以更好地理解系统的功能和特点,提高系统的设计和开发效率。

具体来说,校园失物招领系统的活动图分析可以帮助我们:

1.理解系统的主要功能和用例:通过活动图,我们可以清晰地展现出系统中各个活动的功能和用途,从而更好地理解系统的主要功能和用例。

2.捕捉系统的流程和交互:活动图可以帮助我们捕捉系统中各个活动之间的流程和交互,从而更好地理解系统的运行方式和交互模式。

3.识别系统中的潜在问题:通过活动图,我们可以识别系统中可能存在的问题和瓶颈,从而及时进行优化和改进。

4.促进团队沟通和协作:活动图可以作为团队沟通和协作的工具,帮助团队成员更好地理解和协作开发系统

3.5.1活动图分析

校园失物招领系统的主要参与者包括学生/教职工、管理员和招领者。系统的主要功能包括发布失物信息、查询失物信息、审核失物信息、发布招领信息等。下面是该系统的活动图分析:

  1. 学生/教职工发布失物信息活动

学生/教职工可以通过系统发布失物信息,该活动包括以下子活动:

  • 输入失物信息:学生输入失物的相关信息,包括失物名称、丢失地点、丢失时间等。

  • 上传失物照片:学生/教职工可以上传失物的照片,方便其他人辨认。

  • 发布失物信息:学生/教职工确认无误后,可以发布失物信息到系统中。

2.管理员审核失物信息活动

管理员可以审核学生发布的失物信息,该活动包括以下子活动:

  • 查看待审核失物信息:管理员登录系统后,可以查看待审核的失物信息列表。

  • 审核失物信息:管理员查看失物信息后,可以审核通过或驳回该失物信息。

  • 发送通知:如果失物信息审核通过,管理员可以向学生/教职工发送通知,告知审核结果。

3.查询失物信息活动

用户可以通过系统查询失物信息,该活动包括以下子活动:

  • 输入查询条件:用户输入查询条件,包括失物名称、丢失地点、时间等。

  • 查询失物信息:系统根据用户输入的查询条件,查询匹配的失物信息,并展示给用户。

4.发布招领信息活动

招领者可以通过系统发布招领信息,该活动包括以下子活动:

  • 输入招领信息:招领者输入招领的失物信息,包括失物名称、招领地点、招领时间等。

  • 上传招领照片:招领者可以上传招领的照片,方便失主辨认。

  • 发布招领信息:招领者确认无误后,可以发布招领信息到系统中。

3.5.2活动图

img

图3-5-2校园失物招领系统活动图

第4章 数据库设计

4.1数据库设计的概述

校园失物招领系统需要一个数据库来存储所有的物品信息、用户信息、管理员信息以及相关的操作记录等数据。在数据库设计过程中,需要遵循数据库设计的基本原则,包括数据完整性、数据一致性、数据安全性和数据可靠性等。

4.2实体关系模型(ERM)的介绍

实体关系模型(ERM)是一种用于描述实体、属性和关系的图形化工具,可以帮助我们更好地理解和设计数据库。在校园失物招领系统中,我们需要设计以下实体:

  1. 物品实体:包括物品名称、物品类型、物品描述、拾取地点、拾取时间、拾取人等属性。

  2. 用户实体:包括用户ID、用户名、密码、联系电话、邮箱等属性。

  3. 管理员实体:包括管理员ID、管理员姓名、密码等属性。

  4. 操作记录实体:包括操作记录ID、操作时间、操作类型、操作人等属性。

4.3 ERM的符号和表示法

在实体关系模型中,常用的符号和表示法包括实体框、属性、关系线、基数等。其中,实体框表示一个实体,属性表示实体的属性,关系线表示实体之间的关系,基数表示关系的数量。

4.4 ERM的设计步骤

在设计实体关系模型时,可以遵循以下步骤:

  1. 确定实体:确定需要存储的实体,包括物品、用户、管理员和操作记录等。

  2. 确定属性:确定每个实体的属性,包括物品名称、物品类型、物品描述、拾取地点、拾取时间、拾取人、用户ID、用户名、密码、联系电话、邮箱、管理员ID、管理员姓名、密码、操作记录ID、操作时间、操作类型、操作人等。

  3. 确定关系:确定实体之间的关系,包括用户和物品之间的关系、管理员和物品之间的关系、管理员和用户之间的关系、操作记录和物品之间的关系、操作记录和用户之间的关系等。

  4. 绘制ER图:根据实体、属性和关系,绘制ER图。

4.5 ERM的优化和规范化

在设计实体关系模型时,需要进行优化和规范化,以确保数据的完整性、一致性和安全性。常用的优化和规范化方法包括:

  1. 去除冗余数据:去除重复的数据,减少数据存储空间。

  2. 规范化:将数据分解成更小的表,以减少数据冗余和提高数据一致性。

  3. 设计数据约束:使用数据约束来限制数据的输入和修改,以确保数据的有效性和安全性。

4.6数据库管理系统(DBMS)的选择和安装

在校园失物招领系统中,可以选择一种适合的数据库管理系统(DBMS),如MySQL、Oracle、SQL Server等,并进行安装和配置。

4.7数据库的物理设计

在数据库的物理设计中,需要确定数据库的表结构、索引、存储空间等。在校园失物招领系统中,可以使用以下表结构:

  1. 物品表:包括物品ID、物品名称、物品类型、物品描述、拾取地点、拾取时间、拾取人等字段。

  2. 用户表:包括用户ID、用户名、密码、联系电话、邮箱等字段。

  3. 管理员表:包括管理员ID、管理员姓名、密码等字段。

  4. 操作记录表:包括操作记录ID、操作时间、操作类型、操作人等字段。

4.8数据库表结构设计

根据分析校园失物招领系统应具备如下基本数据表:

  1. 用户表(user)

  • 用户ID(user_id):主键,自增长

  • 用户名(username):唯一,不为空

  • 密码(password):不为空

  • 姓名(name):不为空

  • 手机号码(phone):唯一,不为空

  • 电子邮件(email):唯一,不为空

  • 用户角色(role):唯一,不为空

  • 用户状态(status):唯一,不为空

  • 注册时间(register_time):不为空

  • 最后登录时间(last_login_time):可以为空

  1. 物品表(item)

  • 物品ID(item_id):主键,自增长

  • 物品名称(item_name):不为空

  • 物品描述(description):可以为空

  • 拾取时间(pick_up_time):不为空

  • 拾取地点(pick_up_location):可以为空

  • 是否归还(is_returned):默认为0,表示未归还;1表示已归还

  • 归还时间(return_time):可以为空

  • 归还地点(return_location):可以为空

  • 物品图片(item_image):可以为空

  1. 失主表(owner)

  • 失主ID(owner_id):主键,自增长

  • 失主姓名(owner_name):不为空

  • 失主电话(owner_phone):不为空

  • 失主电子邮件(owner_email):可以为空

  1. 拾取者表(finder)

  • 拾取者ID(finder_id):主键,自增长

  • 拾取者姓名(finder_name):不为空

  • 拾取者电话(finder_phone):不为空

  • 拾取者电子邮件(finder_email):可以为空

  1. 类别表(category)

  • 类别ID(category_id):主键,自增长

  • 类别名称(category_name):不为空

  1. 物品-类别关联表(item_category)

  • 物品ID(item_id):外键,关联物品表

  • 类别ID(category_id):外键,关联类别表

4.8.1用户信息表

用户信息表的表结构如表4-8-1所示。

表4-8-1用户信息表

表名用户信息表 User
说明记录系统用户的信息
字段名数据类型是否可为空是否主键说明
UserIdINTNY用户唯一标识符
UserNameVARCHAR(50)NN用户名
PasswordVARCHAR(50)NN密码
RealNameVARCHAR(50)NN姓名
EmailVARCHAR(100)NN邮箱
PhoneVARCHAR(20)NN电话
RoleINTNN用户角色
StatusINTNN账户状态
CreateTimeDATETIMENN创建时间
UpdateTimeDATETIMENN更新时间

用户表(user):该表用于存储用户的基本信息,UserId是用户的唯一标识符,采用自增长整数类型,作为表的主键;Username用作登录名,设置为非空和唯一,以确保每个用户名都是唯一的;Password保存密码的单向加密内容,并设置为非空;Role是用户角色,0表示普通用,1表示管理员,并设置为非空,缺省值为0。Status 是账户的状态标识,0表示未激活,1表示已激活,并设置为非空,缺省值为0。使用该表可以实现用户的基本信息管理,并区分用户角色以便进行权限控制。

4.8.2物品表

物品表的表结构如表4-8-2所示。

表4-8-2物品表

表名物品表 Item
说明记录系统物品的信息
字段名数据类型是否可为空是否主键说明
item_idINTNY物品ID
item_nameVARCHAR(50)NN物品名称
descriptionVARCHAR(50)NN物品描述
pick_up_timeDATETIMENN拾取时间
pick_up_locationVARCHAR(100)YN拾取地点
is_returnedBOOLEANNN是否归还
return_timeDATETIMEYN归还时间
return_locationVARCHAR(100)YN归还地点
item_imageDATETIMEYN物品图片

物品表(item):该表用于存储拾取的物品信息,包括物品ID、物品名称、物品描述、拾取时间、拾取地点、是否归还、归还时间、归还地点和物品图片等字段。物品ID(item_id)为主键,采用自增长整数类型,保证每个物品有唯一的ID号。物品名称(item_name)为非空字段,用于记录物品的名称。物品描述(description)可以为空,用于记录物品的详细描述。拾取时间(pick_up_time)不为空,用于记录物品的拾取时间。拾取地点(pick_up_location)可以为空,用于记录物品的拾取地点。是否归还(is_returned)为默认值为0的字段,表示物品未被归还。归还时间(return_time)和归还地点(return_location)均可以为空,用于记录物品的归还情况。物品图片(item_image)可以为空,用于记录物品的图片信息。

4.8.3失主表

失主表的表结构如表4-8-3所示。

表4-8-3失主表

表名失主表 Ower
说明记录系统失主的信息
字段名数据类型是否可为空是否主键说明
owner_idINTNY失主ID
owner_nameVARCHAR(50)NN失主姓名
owner_phoneVARCHAR(50)NN失主电话
owner_emailVARCHAR(50)YN失主电子邮件

失主表(owner):该表用于记录失主的信息,包括失主ID、失主姓名、失主电话和失主电子邮件等字段。失主ID(owner_id)为主键,采用自增长整数类型,保证每个失主有唯一的ID号。失主姓名(owner_name)和失主电话(owner_phone)均为非空字段,用于记录失主的基本信息。失主电子邮件(owner_email)可以为空,用于记录失主的联系方式。

4.8.4拾取者表

拾取者表的表结构如表4-8-4所示。

表4-8-4拾取者表

表名拾取者表 Finder
说明记录系统拾取者的信息
字段名数据类型是否可为空是否主键说明
finder_idINTNY拾取者ID
finder_nameVARCHAR(50)NN拾取者姓名
finder_phoneVARCHAR(50)NN拾取者电话
finder_emailVARCHAR(50)YN取者电子邮件

拾取者表(finder):该表用于记录拾取者的信息,包括拾取者ID、拾取者姓名、拾取者电话和拾取者电子邮件等字段。拾取者ID(finder_id)为主键,采用自增长整数类型,保证每个拾取者有唯一的ID号。拾取者姓名(finder_name)和拾取者电话(finder_phone)均为非空字段,用于记录拾取者的基本信息。拾取者电子邮件(finder_email)可以为空,用于记录拾取者的联系方式。

4.8.5类别表

类别表的表结构如表4-8-5所示。

表4-8-5类别表

表名类别表 Category
说明记录物品类别的信息
字段名数据类型是否为可空是否主键说明
category_idINTNY类别ID
category_nameVARCHAR(50)NN类别名称

类别表(category):该表用于存储物品的类别信息,包括类别ID和类别名称等字段。类别ID(category_id)为主键,采用自增长整数类型,保证每个类别有唯一的ID号。类别名称(category_name)为非空字段,用于记录类别的名称。

4.8.6物品-类别关联表

物品-类别关联表的表结构如表4-8-6所示。

表4-8-6物品-类别关联表

表名物品-类别关联表item_category
说明记录系统物品-类别对应关系的信息
字段名数据类型是否可为空是否主键说明
item_idINTNY物品ID
category_idVARCHAR(50)NN类别ID

物品-类别关联表(item_category):该表用于记录物品和类别之间的关联关系,包括物品ID和类别ID等字段。物品ID(item_id)为外键,关联物品表,用于记录物品所属的类别。类别ID(category_id)为外键,关联类别表,用于记录物品所属的类别。

4.9 数据库的安全性和完整性

在数据库的安全性和完整性方面,需要采取以下措施:

  1. 数据库访问控制:限制非授权用户的访问权限。

  2. 数据库备份和恢复:定期备份数据库,以防止数据丢失。

  3. 数据库加密:对敏感数据进行加密,以保护数据安全。

  4. 数据库完整性:使用数据约束和触发器等方法,确保数据的完整性和一致性。

4.10 数据库的备份和恢复

在数据库备份和恢复方面,可以采取以下措施:

  1. 定期备份数据库:定期备份数据库,以防止数据丢失。

  2. 定期检查备份:定期检查备份文件,确保备份文件的完整性和可用性。

  3. 数据库恢复:在数据丢失或损坏的情况下,使用备份文件进行数据库恢复。

4.11 数据库的性能优化

在数据库的性能优化方面,可以采取以下措施:

  1. 索引优化:使用索引来加快数据检索的速度。

  2. 查询优化:优化查询语句,减少查询时间。

  3. 数据库缓存:使用数据库缓存来提高数据访问速度。

4.12 数据库的维护和管理

在数据库的维护和管理方面,需要进行以下工作:

  1. 定期清理数据库:删除不需要的数据,以减少数据存储空间。

  2. 定期更新数据库:更新数据库软件和补丁,以确保数据库的安全性和稳定性。

  3. 监控数据库性能:监控数据库的性能指标,及时发现和解决问题。

4.13 数据库的扩展和升级

在数据库的扩展和升级方面,可以采取以下措施:

  1. 数据库分区:将数据库分成多个分区,以提高数据访问速度。

  2. 数据库复制:将数据库复制到多个服务器上,以提高数据可用性和容错性。

  3. 数据库升级:在需要升级数据库软件或升级数据结构时,进行数据库升级。

4.14 数据库的应用开发和集成

在数据库的应用开发和集成方面,需要进行以下工作:

  1. 数据库编程:使用数据库编程语言,如SQL、PL/SQL等,进行数据库应用开发。

  2. 数据库API:使用数据库API,如JDBC、ODBC等,进行数据库应用集成。

  3. 数据库连接池:使用数据库连接池,以提高数据库访问速度和效率。

4.15数据库的文档和测试

在数据库的文档和测试方面,需要进行以下工作:

  1. 数据库文档:编写数据库文档,包括数据库设计、表结构、索引、存储空间等。

  2. 数据库测试:进行数据库测试,包括功能测试、性能测试、安全测试等,以确保数据库的质量和可靠性。

查重报告

Paperpass查重附图

结 论

校园失物招领系统是一个非常实用的应用软件,可以帮助学生和教职工方便地管理和寻找失物和拾遗。本文主要对校园失物招领系统进行了软件建模和分析,包括需求分析、建模分析和数据库设计等方面的内容。

在需求分析方面,我们详细地分析了系统的功能需求和非功能需求,包括系统结构、具体功能需求、性能、安全性、可用性和可维护性等方面。通过需求分析,我们可以清晰地了解系统的功能和性能要求,为后续的建模分析和数据库设计提供了基础。

在建模分析方面,我们采用了多种建模方法,包括用例图、顺序图、协作图、状态图和活动图等。通过建模分析,我们可以清晰地了解系统的各个模块之间的关系和流程,为后续的数据库设计提供了指导。

在数据库设计方面,我们采用了实体关系模型(ERM)的设计方法,详细地设计了用户表、物品表、失主表、拾取者表、类别表和物品-类别关联表等表格的字段和关系。通过数据库设计,我们可以完整地描述系统的数据结构和操作,为后续的系统实现和应用提供了基础。

总的来说,通过本文的软件建模和分析,我们可以清晰地了解校园失物招领系统的各个方面,包括需求分析、建模分析和数据库设计等方面的内容。这些分析和设计为后续的系统实现和应用提供了基础,也为类似应用软件的开发提供了参考和借鉴。

参 考 文 献

  1. 钱若芸,任雨杰。基于微信公众平台的失物招领系统设计[J]. 电脑知识与技术,2017(13):361-362。

  2. 高校失物招领管理系统的研究与分析[J]. 科技广场,2015(11):45-46。

  3. 刘婷婷。基于Java的校园失物招领系统设计与实现[D]. 河南科技大学,2019

  4. "一物寻一物"——用于失物招领的图像匹配功能的实现[J]. 电子制作,2021(012)。

  5. 陈晓红, 刘晓娟. 基于Web的校园失物招领系统设计与实现[J]. 计算机与现代化, 2019(11): 161-164.

  6. 王晓峰, 李晓峰. 基于Java EE的校园失物招领系统设计与实现[J]. 计算机工程与应用, 2018, 54(17): 144-149.

  7. 郭志强, 张鹏. 基于SSM框架的校园失物招领系统设计与实现[J]. 计算机编程技巧与维护, 2019(12): 72-75.

  8. 赵晨阳, 李娜. 基于Vue.js和Spring Boot的校园失物招领系统设计与实现[J]. 计算机应用与软件, 2020, 37(10): 1-5.

  9. 王回甘. 校园失物招领系统 软件工程导论[N/OL]. 博客园: https://www.cnblogs.com/WScoconut/p/16063983.html

  10. asdJJkk. [内附完整源码和文档] 基于JAVA EE的失物招领系统[N/OL]. 知乎: [内附完整源码和文档] 基于JAVA EE的失物招领系统 - 知乎.

  11. 卓怡工作室. 【计算机毕业设计】147校园失物招领系统[N/OL]. CSDN博客: 【计算机毕业设计】147校园失物招领系统_卓怡学长计算机毕业设计的博客-CSDN博客.

  • 6
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Antidote 

欢迎打赏,给点动力呀大佬们

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值