基于Python的财经新闻获取及存储系统设计与实现 计算机毕业设计源码14257
客户用户模块:1.首页:客户用户可以在首页浏览到最新的财经新闻活动、新闻推荐以及热门资讯,方便快速了解平台的核心内容。2.公告信息:用户可以查看平台发布的最新公告通知,包括活动信息、系统升级通知等,确保用户能够及时获取重要信息。3.新闻信息:用户能够阅读平台发布的新闻资讯,了解行业动态和平台最新进展,增加用户对平台的信任度和粘性。4.新闻数据:用户可以通过新闻数据模块,查看详细的活动数据、产品销量
目录
摘 要
本系统旨在利用Python技术,构建一个高效的财经新闻获取及存储系统。该系统通过自动化手段,从各大财经网站和新闻源中抓取最新的财经新闻,确保信息的时效性和全面性。用户可以通过友好的界面,轻松浏览和搜索感兴趣的新闻内容,为投资决策提供有力支持。同时,系统还具备强大的数据存储功能,能够将新闻数据持久化保存,便于后续的分析和回顾。
系统将处理后的新闻数据存储到数据库中,以便用户进行后续的查询和分析。本系统采用模块化设计,具有良好的可扩展性和可维护性,能够为用户提供及时、准确的财经新闻信息。此外,系统还具备新闻分类功能,能够根据新闻内容自动将其归类到相应的财经领域,如股市、金融、经济等,方便用户根据自己的需求快速定位到感兴趣的新闻。同时,系统还提供了新闻推荐功能,通过分析用户的浏览历史和兴趣偏好,为用户推荐可能感兴趣的财经新闻,提升用户体验。
本系统不仅为用户提供了便捷的财经新闻获取途径,还为财经领域的分析和研究提供了有力的数据支持。未来,我们将继续优化系统功能,提升系统性能,为用户提供更加优质的财经新闻服务。
关键词:财经新闻获取及存储系统;Python;MySQL;
This system aims to utilize Python technology to build an efficient financial news acquisition and storage system. The system automatically retrieves the latest financial news from major financial websites and news sources, ensuring the timeliness and comprehensiveness of the information. Users can easily browse and search for interesting news content through a friendly interface, providing strong support for investment decisions. Additionally, the system has powerful data storage capabilities, capable of persistently saving news data for subsequent analysis and review.
The system stores the processed news data into a database for users to query and analyze later. The system adopts a modular design, offering good scalability and maintainability, and is able to provide timely and accurate financial news information to users. Furthermore, the system has a news classification feature that can automatically categorize news content into corresponding financial fields, such as stock market, finance, economy, etc., making it easy for users to quickly locate interesting news based on their needs. At the same time, the system also provides a news recommendation feature, which recommends potentially interesting financial news to users by analyzing their browsing history and interest preferences, enhancing the user experience.
This system not only provides users with a convenient way to access financial news but also offers strong data support for analysis and research in the financial field. In the future, we will continue to optimize system functions and improve system performance to provide users with even better financial news services.
Keywords: Financial News Acquisition and Storage System; Python; MySQL;
- 选题背景及意义
在信息爆炸的时代,财经新闻作为经济活动的重要风向标,其获取与处理的效率直接关系到投资者、企业决策者以及政策制定者的决策质量[1]。传统的财经新闻获取方式往往依赖于人工搜索与筛选,这一过程不仅耗时费力,而且难以保证信息的全面性和时效性[2]。因此,开发一个基于Python的财经新闻获取及存储系统,旨在通过自动化的手段,高效、准确地从海量网络资源中捕获财经新闻,并将其有序存储,以供后续分析使用,具有重要的现实意义和应用价值[3]。
该系统能够利用Python强大的网络爬虫技术,结合自然语言处理(NLP)算法,智能识别并提取财经相关的新闻内容。同时,通过构建合理的数据库结构,实现新闻数据的分类存储与高效检索,为用户提供一个便捷、全面的财经新闻信息平台。这不仅能够有效提升个人及机构获取财经信息的效率,还能为金融分析、市场预测等领域提供有力的数据支持,进一步推动金融智能化的发展。
综上所述,基于Python的财经新闻获取及存储系统的开发,不仅顺应了时代发展的潮流,满足了人们日益增长的信息需求,同时也为开发者提供了宝贵的实践经验和技能提升机会[4]。
在国内方面,Python在财经新闻获取及存储系统的设计与实现上展现出了显著的优势。Python的简洁语法和强大的数据处理能力,使其成为开发财经新闻获取系统的理想选择。众多研究机构和团队,如清华大学、中科院计算所等,都在这一领域进行了深入探索,实现了从互联网上高效抓取财经新闻的功能,并通过Pandas等库对抓取到的数据进行清洗、整理和分析[5]。此外,国内研究者还关注于如何将分析结果以直观、易懂的方式呈现给用户,如通过数据可视化技术将财经新闻的主题分布、情感倾向等信息以图表形式展示[6]。
在国外,Python同样在财经新闻获取及存储系统的设计与实现上发挥着重要作用。Python的Web框架如Django、Flask等,为开发者提供了构建高效、可扩展的Web应用的工具。国外研究者利用这些框架,结合自然语言处理(NLP)技术,对财经新闻文本进行深度挖掘和分析[7]。他们不仅关注新闻的主题和情感倾向,还致力于提取新闻中的关键信息,如公司名称、股票价格等,以为用户提供更精准、全面的财经信息服务。同时,国外研究者也重视隐私保护和数据使用规范等伦理和法律问题,确保在抓取和分析财经新闻数据时遵守相关法律法规。
综上所述,基于Python的财经新闻获取及存储系统的设计与实现,不仅涵盖了爬虫技术、数据库存储和系统架构设计等多个方面,还涉及了如何将这些技术应用于实际问题的研究。国内外的研究现状表明,这一领域具有广阔的发展前景和应用价值[8]。
首先,通过引擎搜索或者查阅相关文献资料,了解了本系统开发的背景及意义和国内外研究现状,收集用户需求信息。其次,在开发工具上,最终确定是基于MySQL数据库,在Python的django框架设计的基础上实现,设计出系统大致的功能模块。主要从方便系统用户和系统管理员的角度进行分析,明确该系统应该具有的功能。最终是测试系统,通过用例测试发现存在的问题并找到解决的方案。利用现有的开发平台,结合自己所学的知识,在老师的指导帮助下来完成该设计,确保系统的可用性、实用性。
MySQL是一个关系型数据库管理系统(RDBMS),由瑞典的MySQL AB公司开发,现在属于Oracle公司旗下产品。它使用结构化查询语言(SQL)进行数据库管理。MySQL是最流行的关系型数据库管理系统之一,尤其在WEB应用方面表现出色。
MySQL的主要特点包括:
1.关系型数据库:它使用表格来存储数据,每个表格都有行和列,行代表记录,列代表字段。这种结构使得数据的管理和查询变得非常高效。
2.SQL语言:MySQL使用SQL语言进行数据操作,这是一种非常强大且通用的语言,可以用于创建、修改、查询和删除数据库中的数据。
3.开源和免费:MySQL是开源的,意味着任何人都可以查看、修改和分发其源代码。此外,社区版是免费的,适合中小型网站的开发。
4.高效和稳定:MySQL的设计注重性能和稳定性,即使在处理大量数据时也能保持高效的性能。
5.支持多种平台:MySQL可以在多种操作系统上运行,包括Windows、Linux、Mac OS等。
6.可扩展性:MySQL支持各种扩展功能,如复制、分区、集群等,使得数据库可以适应不同的应用场景。
总的来说,MySQL是一个功能强大、易于使用且高度灵活的数据库管理系统,广泛应用于各种类型的网站和应用中。
Python是一种相对于编译型语言存在的、一种独立于机器,面向过程或对象的语言,Python表达方式简练、明了,没有冗余或多余的内容,容易理解。在通过使用统计分析方法来提取有用信息并形成结论,以支持决策制定的过程中Python都展现出了其特别的优势。Python有一个规模很大的数据处理库,这些库提供了功能性很强的数据元素的集合和数据分析手段,可以方便地对直播平台产生的海量数据进行处理、清洗和转换。Python具有多种相对前卫的推演和计算方式,这些方式提供了很多的图表类型和可视化效果,让用户可以简单易懂的了解数据信息。Python可以结合无界数据集设计的数据处理引擎,实现对直播平台数据的实时采集、处理和分析,从而为用户提供及时、准确的数据支持。
-
- Django框架
Django是一个使用Python编写的开源Web应用框架,可以快速开发安全和可维护的网站。它遵循MVC设计模式,并内置了许多功能,如认证、URL路由、模板引擎、对象关系映射(ORM)等,使得开发者能够更专注于业务逻辑的实现,而无需花费大量时间在底层代码的开发上。
在开发基于Python的B站舆情数据分析与可视化时,Django框架的优势尤为明显。首先,Django的ORM系统可以方便地处理数据库相关的操作,使得开发者无需关心底层的SQL语句编写,提高了开发效率。其次,Django的模板引擎可以实现快速的页面渲染,使得前端页面能够实时展示数据处理的结果。此外,Django还提供了丰富的第三方插件和库,如Django Rest Framework、Django Channels等,可以方便地扩展系统的功能。
PyCharm是由JetBrains公司开发的专业Python集成开发环境(IDE),旨在提供全面的开发支持和工具,以提高Python项目的开发效率。它拥有强大的代码编辑器、调试器、测试框架支持和项目管理功能,可以帮助开发人员更快地编写正确的代码、进行代码调试和问题排查,并方便地进行单元测试和集成测试。此外,PyCharm还集成了常用的版本控制系统,支持团队协作和代码版本管理。总之,PyCharm是一款功能丰富、用户友好的Python开发工具,无论是初学者还是经验丰富的开发人员都能从中受益。
B/S模式,全称为Browser/Server(浏览器/服务器模式),也被称为B/S结构,是WEB兴起后的一种网络结构模式。
B/S模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。在这种模式中,客户机上只需要安装一个浏览器,如Chrome、Safari、Microsoft Edge、Netscape Navigator或Internet Explorer等,而服务器则安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server同数据库进行数据交互。
此外,B/S模式是一种基于浏览器和服务器的应用程序架构,也被称为Web应用程序开发模式。该模式将应用程序的业务逻辑和数据处理都放在服务器端完成,而客户端只需要通过浏览器来访问服务器。这种模式实现了跨平台、跨操作系统和分布式计算等特点,主要依赖于Web技术,如HTML、CSS、JavaScript等,以及Web服务器、数据库等后端技术。
与传统的C/S(Client/Server)开发模式相比,B/S开发模式可以减少客户端的安装和维护工作,提高了应用程序的可移植性和易用性,适合于大规模企业级应用的开发。
本章内容概括了财经新闻获取及存储系统的系统目标、可行性分析、功能分析以及用例分析。
财经新闻获取及存储系统的目标是为提供一个高效、可靠且用户友好的平台,使投资者、分析师和新闻工作者能够实时获取并存储全球的财经新闻。该系统旨在整合各类财经信息源,通过智能化的筛选和分类机制,确保用户能够快速定位到他们感兴趣的新闻内容。同时,系统还应提供强大的存储和检索功能,使用户能够方便地回顾和分析历史新闻数据,为决策提供支持。
Django框架,作为一种成熟且稳定的Web开发平台,已被广泛应用于Python领域,并得到了充分的验证。它所具备的ORM(对象关系映射)功能极为强大,能够轻松处理数据库操作,特别适合于开发需要处理大量数据和复杂交互的应用,如财经新闻获取及存储系统。利用Django框架来构建财经新闻获取及存储系统,在技术上是完全可行的。通过精心的设计和实施,我们能够打造出一个功能丰富、性能卓越、安全可靠的系统,从而为用户提供便捷的服务。
经济可行性分析中,开发财经新闻获取及存储系统需评估成本与收益。成本包括软件开发、硬件购置、人员培训等,但长期可降低运营和人力成本。收益方面,系统提高订单处理效率和准确性,增强用户体验,增加订单和收益。此外,数据分析功能助商家洞察需求和市场,优化营销策略。因此,该系统经济上可行,投资回报率高。
社会可行性方面,财经新闻获取及存储系统的开发也符合当前社会信息化、网络化的趋势。随着互联网的普及和社交媒体的兴起,人们越来越倾向于在线分享和交流信息。财经新闻获取及存储系统为用户提供了一个自由、开放的平台,让他们能够展示自己的思想、才华和创意,同时也促进了信息的传播和交流。此外,该系统还有助于提升用户的网络素养和信息处理能力,培养他们的独立思考和表达能力。因此,从社会可行性的角度来看,财经新闻获取及存储系统的开发也是积极有益的。
财经新闻获取及存储系统我划分为了前端模块和后端模块两大部分。
客户用户模块:
1.首页:客户用户可以在首页浏览到最新的财经新闻活动、新闻推荐以及热门资讯,方便快速了解平台的核心内容。
2.公告信息:用户可以查看平台发布的最新公告通知,包括活动信息、系统升级通知等,确保用户能够及时获取重要信息。
3.新闻信息:用户能够阅读平台发布的新闻资讯,了解行业动态和平台最新进展,增加用户对平台的信任度和粘性。
4.新闻数据:用户可以通过新闻数据模块,查看详细的活动数据、产品销量等统计信息,为用户提供更全面的决策支持。
5.我的账户:用户可以登录账户,进入个人中心管理个人信息、查看个人状态、修改密码等,实现个人信息的自主管理和安全保护。
6.个人中心:用户可以在此页面查看自己的个人首页、收藏、新闻数据统计图等相关操作。
后端管理员模块:
1.后台首页:管理员可以查看客户用户统计图和新闻信息统计图,直观了解用户活跃度和新闻资讯的阅读情况。
2.系统用户:管理员能够管理后台系统的用户,包括管理员和客户用户,具有查询、添加、删除和详情查看的权限,确保用户信息的准确性和安全性。
3.新闻分类管理:管理员可以对新闻分类进行查询、添加、删除和详情查看,灵活调整新闻分类,满足不同新闻资讯的展示需求。
4.新闻信息管理:管理员具备新闻信息的全面管理能力,包括查询、添加、删除、详情查看以及查看评论,及时发布和更新新闻资讯,提升平台的互动性和影响力。
5.新闻数据管理:管理员可以深入管理新闻数据,包括查询、添加、删除、详情查看、查看评论以及下载和导入文档,为新闻数据的分析和决策支持提供有力保障。
6.系统管理:管理员负责系统的整体维护,包括轮播图的管理,具有查询、添加、删除和详情查看的权限。通过灵活调整轮播图,展示平台的重要信息和活动,提升用户体验。
7.公告信息管理:管理员可以高效地管理公告信息,包括查询公告详情、发布新公告、删除过期公告以及编辑公告内容,确保用户能够及时获取到平台的最新通知和活动信息。
财经新闻获取及存储系统的非功能性需求比如财经新闻获取及存储系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等,具体可以表示在如下3-1表格中:
表3-1财经新闻获取及存储系统非功能需求表
安全性 |
主要指财经新闻获取及存储系统数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
可靠性 |
可靠性是指财经新闻获取及存储系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。 |
性能 |
性能是影响财经新闻获取及存储系统占据市场的必要条件,所以性能最好要佳才好。 |
可扩展性 |
比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
易用性 |
用户只要跟着财经新闻获取及存储系统的页面展示内容进行操作,就可以了。 |
可维护性 |
财经新闻获取及存储系统开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
财经新闻获取及存储系统的完整UML用例图分别是图3-1、3-2、。
客户用户角色用例如图3-1所示。

图 3-1财经新闻获取及存储系统客户用户角色用例图
管理员角色用例如图3-2所示。

图 3-2财经新闻获取及存储系统管理员用户角色用例图
本章主要通过对财经新闻获取及存储系统的、系统目标、可行性分析、功能需求分析、系统用例分析,确定整个财经新闻获取及存储系统要实现的功能。同时也为财经新闻获取及存储系统的代码实现和测试提供了标准。
- 财经新闻获取及存储系统总体设计
本章主要讨论的内容包括财经新闻获取及存储系统的功能模块设计、数据库系统设计。
本财经新闻获取及存储系统从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。

图 4-1财经新闻获取及存储系统架构设计图
表现层(UI):也称为用户界面层,它负责与用户进行直接的交互。一个优秀的UI设计能够显著提升用户的体验,确保用户在使用财经新闻获取及存储系统时感到舒适和便捷。为了确保良好的兼容性,UI界面设计需要适应不同版本的平台和各种屏幕尺寸的分辨率。此外,UI交互功能必须合理设计,确保用户的操作能够得到相应的反馈和结果,这要求表现层与业务逻辑层之间保持良好的通信和协同工作。
业务逻辑层(BLL):这一层主要处理财经新闻获取及存储系统的数据和业务逻辑。当用户通过表现层提交数据时,业务逻辑层会接收这些数据,进行处理,并将结果传递给数据层进行存储或查询。同时,当系统需要从数据层读取数据时,业务逻辑层会处理这些数据,并将其传递给表现层进行展示。
数据层(DL):虽然本财经新闻获取及存储系统的数据存储在服务端的MySQL数据库中,但数据层仍然作为一个独立的部分存在。它的主要功能是存储和管理财经新闻获取及存储系统的数据。数据层与MySQL数据库进行交互,执行数据的增、删、改、查等操作,确保数据的完整性和安全性。
这三个层次相互独立但又紧密协作,共同构成了财经新闻获取及存储系统的完整架构。通过合理的分层设计,可以提高系统的可维护性、可扩展性和可重用性,为用户提供更好的服务和体验。
在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本财经新闻获取及存储系统中的用例。那么接下来就要开始对本财经新闻获取及存储系统的架构、主要功能和数据库开始进行设计。财经新闻获取及存储系统根据前面章节的需求分析得出,财经新闻获取及存储系统的功能模块图如下图所示。

图 4-2财经新闻获取及存储系统功能模块图
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
-
-
- 数据库概念结构设计
-
下面是整个财经新闻获取及存储系统中主要的数据库表总E-R实体关系图。

图 4-3财经新闻获取及存储系统总E-R关系图
通过上一小节中财经新闻获取及存储系统中总E-R关系图上得出一共需要创建多个数据表。在此我主要罗列几个主要的数据库表结构设计。
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
token_id |
int |
10 |
0 |
N |
Y |
临时访问牌ID |
|
2 |
token |
varchar |
64 |
0 |
Y |
N |
临时访问牌 |
|
3 |
info |
text |
65535 |
0 |
Y |
N |
||
4 |
maxage |
int |
10 |
0 |
N |
N |
2 |
最大寿命:默认2小时 |
5 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
6 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
7 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户编号: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
auth_id |
int |
10 |
0 |
N |
Y |
授权ID: |
|
2 |
user_group |
varchar |
64 |
0 |
Y |
N |
用户组: |
|
3 |
mod_name |
varchar |
64 |
0 |
Y |
N |
模块名: |
|
4 |
table_name |
varchar |
64 |
0 |
Y |
N |
表名: |
|
5 |
page_title |
varchar |
255 |
0 |
Y |
N |
页面标题: |
|
6 |
path |
varchar |
255 |
0 |
Y |
N |
路由路径: |
|
7 |
parent |
varchar |
64 |
0 |
Y |
N |
父级菜单 |
|
8 |
parent_sort |
int |
10 |
0 |
N |
N |
0 |
父级菜单排序 |
9 |
position |
varchar |
32 |
0 |
Y |
N |
位置: |
|
10 |
mode |
varchar |
32 |
0 |
N |
N |
_blank |
跳转方式: |
11 |
add |
tinyint |
3 |
0 |
N |
N |
1 |
是否可增加: |
12 |
del |
tinyint |
3 |
0 |
N |
N |
1 |
是否可删除: |
13 |
set |
tinyint |
3 |
0 |
N |
N |
1 |
是否可修改: |
14 |
get |
tinyint |
3 |
0 |
N |
N |
1 |
是否可查看: |
15 |
field_add |
text |
65535 |
0 |
Y |
N |
添加字段: |
|
16 |
field_set |
text |
65535 |
0 |
Y |
N |
修改字段: |
|
17 |
field_get |
text |
65535 |
0 |
Y |
N |
查询字段: |
|
18 |
table_nav_name |
varchar |
500 |
0 |
Y |
N |
跨表导航名称: |
|
19 |
table_nav |
varchar |
500 |
0 |
Y |
N |
跨表导航: |
|
20 |
option |
text |
65535 |
0 |
Y |
N |
配置: |
|
21 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
22 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
code_token_id |
int |
10 |
0 |
N |
Y |
||
2 |
token |
varchar |
255 |
0 |
Y |
N |
||
3 |
code |
varchar |
255 |
0 |
Y |
N |
验证码 |
|
4 |
expire_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
失效时间 |
5 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
6 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
collect_id |
int |
10 |
0 |
N |
Y |
收藏ID: |
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
收藏人ID: |
3 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
4 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
5 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
6 |
title |
varchar |
255 |
0 |
Y |
N |
标题: |
|
7 |
img |
varchar |
255 |
0 |
Y |
N |
封面: |
|
8 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
9 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
comment_id |
int |
10 |
0 |
N |
Y |
评论ID: |
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
评论人ID: |
3 |
reply_to_id |
int |
10 |
0 |
N |
N |
0 |
回复评论ID:空为0 |
4 |
content |
longtext |
2147483647 |
0 |
Y |
N |
内容: |
|
5 |
nickname |
varchar |
255 |
0 |
Y |
N |
昵称: |
|
6 |
avatar |
varchar |
255 |
0 |
Y |
N |
头像地址:[0,255] |
|
7 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
9 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
10 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
11 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
customer_users_id |
int |
10 |
0 |
N |
Y |
客户用户ID |
|
2 |
customer_name |
varchar |
64 |
0 |
Y |
N |
客户姓名 |
|
3 |
customer_gender |
varchar |
64 |
0 |
Y |
N |
客户性别 |
|
4 |
customer_identity |
varchar |
64 |
0 |
Y |
N |
客户身份 |
|
5 |
examine_state |
varchar |
16 |
0 |
N |
N |
已通过 |
审核状态 |
6 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户ID |
7 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
hits_id |
int |
10 |
0 |
N |
Y |
点赞ID: |
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
点赞人: |
3 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
4 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
5 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
6 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
7 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
news_classification_id |
int |
10 |
0 |
N |
Y |
新闻分类ID |
|
2 |
news_category |
varchar |
64 |
0 |
N |
N |
新闻类别 |
|
3 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
4 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
news_data_id |
int |
10 |
0 |
N |
Y |
新闻数据ID |
|
2 |
title |
varchar |
64 |
0 |
Y |
N |
标题 |
|
3 |
source |
varchar |
64 |
0 |
Y |
N |
来源 |
|
4 |
release_time |
varchar |
64 |
0 |
Y |
N |
发布时间 |
|
5 |
number_of_shares |
varchar |
64 |
0 |
Y |
N |
分享数 |
|
6 |
number_of_comments |
varchar |
64 |
0 |
Y |
N |
评论数 |
|
7 |
related_stocks |
varchar |
64 |
0 |
Y |
N |
相关股票 |
|
8 |
pictures_linking |
varchar |
64 |
0 |
Y |
N |
图片链接 |
|
9 |
abstract |
text |
65535 |
0 |
Y |
N |
摘要 |
|
10 |
text |
text |
65535 |
0 |
Y |
N |
正文 |
|
11 |
news_link |
text |
65535 |
0 |
Y |
N |
新闻链接 |
|
12 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击数 |
13 |
praise_len |
int |
10 |
0 |
N |
N |
0 |
点赞数 |
14 |
collect_len |
int |
10 |
0 |
N |
N |
0 |
收藏数 |
15 |
comment_len |
int |
10 |
0 |
N |
N |
0 |
评论数 |
16 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
17 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
news_information_id |
int |
10 |
0 |
N |
Y |
新闻信息ID |
|
2 |
news_title |
varchar |
64 |
0 |
Y |
N |
新闻标题 |
|
3 |
news_category |
varchar |
64 |
0 |
Y |
N |
新闻类别 |
|
4 |
date_of_occurrence |
date |
10 |
0 |
Y |
N |
发生日期 |
|
5 |
news_location |
varchar |
64 |
0 |
Y |
N |
新闻地点 |
|
6 |
news_pictures |
varchar |
255 |
0 |
Y |
N |
新闻图片 |
|
7 |
news_introduction |
text |
65535 |
0 |
Y |
N |
新闻简介 |
|
8 |
news_text |
text |
65535 |
0 |
Y |
N |
新闻正文 |
|
9 |
news_detail |
longtext |
2147483647 |
0 |
Y |
N |
新闻详情 |
|
10 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击数 |
11 |
praise_len |
int |
10 |
0 |
N |
N |
0 |
点赞数 |
12 |
collect_len |
int |
10 |
0 |
N |
N |
0 |
收藏数 |
13 |
comment_len |
int |
10 |
0 |
N |
N |
0 |
评论数 |
14 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
15 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
notice_id |
mediumint |
8 |
0 |
N |
Y |
公告id: |
|
2 |
title |
varchar |
125 |
0 |
N |
N |
标题: |
|
3 |
content |
longtext |
2147483647 |
0 |
Y |
N |
正文: |
|
4 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
5 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
praise_id |
int |
10 |
0 |
N |
Y |
点赞ID: |
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
点赞人: |
3 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
4 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
5 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
6 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
7 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
8 |
status |
bit |
1 |
0 |
N |
N |
1 |
点赞状态:1为点赞,0已取消 |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
schedule_id |
smallint |
5 |
0 |
N |
Y |
日程ID:[0,32767] |
|
2 |
content |
varchar |
255 |
0 |
Y |
N |
日程内容 |
|
3 |
scheduled_time |
datetime |
19 |
0 |
Y |
N |
计划时间 |
|
4 |
user_id |
int |
10 |
0 |
N |
N |
用户id |
|
5 |
create_time |
datetime |
19 |
0 |
Y |
N |
创建时间 |
|
6 |
update_time |
datetime |
19 |
0 |
Y |
N |
更新时间 |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
score_id |
int |
10 |
0 |
N |
Y |
评分ID: |
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
评分人: |
3 |
nickname |
varchar |
64 |
0 |
Y |
N |
昵称: |
|
4 |
score_num |
double |
5 |
2 |
N |
N |
0.00 |
评分: |
5 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
6 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
7 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
8 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
9 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
slides_id |
int |
10 |
0 |
N |
Y |
轮播图ID: |
|
2 |
title |
varchar |
64 |
0 |
Y |
N |
标题: |
|
3 |
content |
varchar |
255 |
0 |
Y |
N |
内容: |
|
4 |
url |
varchar |
255 |
0 |
Y |
N |
链接: |
|
5 |
img |
varchar |
255 |
0 |
Y |
N |
轮播图: |
|
6 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击量: |
7 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
upload_id |
int |
10 |
0 |
N |
Y |
上传ID |
|
2 |
name |
varchar |
64 |
0 |
Y |
N |
文件名 |
|
3 |
path |
varchar |
255 |
0 |
Y |
N |
访问路径 |
|
4 |
file |
varchar |
255 |
0 |
Y |
N |
文件路径 |
|
5 |
display |
varchar |
255 |
0 |
Y |
N |
显示顺序 |
|
6 |
father_id |
int |
10 |
0 |
Y |
N |
0 |
父级ID |
7 |
dir |
varchar |
255 |
0 |
Y |
N |
文件夹 |
|
8 |
type |
varchar |
32 |
0 |
Y |
N |
文件类型 |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
user_id |
int |
10 |
0 |
N |
Y |
用户ID:[0,8388607]用户获取其他与用户相关的数据 |
|
2 |
state |
smallint |
5 |
0 |
N |
N |
1 |
账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
3 |
user_group |
varchar |
32 |
0 |
Y |
N |
所在用户组:[0,32767]决定用户身份和权限 |
|
4 |
login_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
上次登录时间: |
5 |
phone |
varchar |
11 |
0 |
Y |
N |
手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 |
|
6 |
phone_state |
smallint |
5 |
0 |
N |
N |
0 |
手机认证:[0,1](0未认证|1审核中|2已认证) |
7 |
username |
varchar |
16 |
0 |
N |
N |
用户名:[0,16]用户登录时所用的账户名称 |
|
8 |
nickname |
varchar |
16 |
0 |
Y |
N |
昵称:[0,16] |
|
9 |
password |
varchar |
64 |
0 |
N |
N |
密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 |
|
10 |
|
varchar |
64 |
0 |
Y |
N |
邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 |
|
11 |
email_state |
smallint |
5 |
0 |
N |
N |
0 |
邮箱认证:[0,1](0未认证|1审核中|2已认证) |
12 |
avatar |
varchar |
255 |
0 |
Y |
N |
头像地址:[0,255] |
|
13 |
open_id |
varchar |
255 |
0 |
Y |
N |
针对获取用户信息字段 |
|
14 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
表user_group (用户组:用于用户前端身份和鉴权)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
group_id |
mediumint |
8 |
0 |
N |
Y |
用户组ID:[0,8388607] |
|
2 |
display |
smallint |
5 |
0 |
N |
N |
100 |
显示顺序:[0,1000] |
3 |
name |
varchar |
16 |
0 |
N |
N |
名称:[0,16] |
|
4 |
description |
varchar |
255 |
0 |
Y |
N |
描述:[0,255]描述该用户组的特点或权限范围 |
|
5 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
6 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
7 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
8 |
register |
smallint |
5 |
0 |
Y |
N |
0 |
注册位置: |
9 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
10 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
整个财经新闻获取及存储系统的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。
财经新闻获取及存储系统详细设计与实现
财经新闻获取及存储系统的详细设计与实现主要是根据前面的财经新闻获取及存储系统的需求分析和财经新闻获取及存储系统的总体设计来设计页面并实现业务逻辑。主要从财经新闻获取及存储系统界面实现、业务逻辑实现这两部分进行介绍。
-
- 前端首页模块
前端首页模块的设计和实现是整个财经新闻获取及存储系统的重要部分。该模块主要承担向用户展示首页内容的功能,包括最新发布的首页、公告信息、新闻信息、新闻数据、我的账户、个人中心等。
在设计前端首页模块时,我们采用了简洁明了的界面风格,使用户能够快速获取所需信息。首页的布局结构清晰,顶部设有导航栏,方便用户快速切换至其他页面。中间部分则以轮播图形式展示,轮播图包含文章的标题、作者、发布时间和摘要等信息,使用户在浏览时能一目了然。前台首页模块展示如下图所示。

图 5-1前台首页模块图
-
- 用户注册模块
注册模块允许用户在财经新闻获取及存储系统上创建个人账户,通过填写必要的个人信息并进行身份验证后,用户可以登录系统享受各项求职服务。注册功能确保了用户信息的安全性,并为用户提供了一个个性化的求职平台。用户注册流程图如下所示。

图 5-2 注册流程图
其用户注册模块展示如下图所示。

图 5-3注册模块图
注册代码如下:
def Register(self, ctx):
print("===================注册=====================")
userService = service_select("user")
body = ctx.body
if "username" not in body and body["username"] == '':
return ctx.response(json.dumps({
"error": {
"code": 70000,
"message": "用户名不能为空",
}
}, ensure_ascii=False))
if "user_group" not in body and body["user_group"] == '':
return ctx.response(json.dumps({
"error": {
"code": 70000,
"message": "用户组不能为空",
}
}, ensure_ascii=False))
if "password" not in body and body["password"] == '':
return ctx.response(json.dumps({
"error": {
"code": 70000,
"message": "密码不能为空",
}
}, ensure_ascii=False))
post_param = body
post_param['nickname'] = body["nickname"] or ""
post_param['password'] = md5hash(body["password"])
obj = userService.Get_obj({"username": post_param['username']}, {"like": False})
if obj:
return ctx.response(json.dumps({
"error": {
"code": 70000,
"message": "用户名已存在",
}
}, ensure_ascii=False))
ret = {
"error": {
"code": 70000,
"message": "注册失败",
}
}
bl = userService.Add(post_param)
if bl:
ret = {
"result": {
"bl": True,
"message": "注册成功"
}
}
return ctx.response(json.dumps(ret, ensure_ascii=False))
-
- 登录模块
财经新闻获取及存储系统中的前台上注册后的用户是可以通过自己的用户名+密码进行登录的,当用户输入完整的自己的用户名+密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的用户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到财经新闻获取及存储系统的首页中;否则将会提示相应错误信息,用户登录流程图如下所示。

图 5-4 用户登录流程图
登录模块如下图所示。

图 5-5登录模块图
登录代码如下:
def Login(self, ctx):
print("===================登录=====================")
ret = {
"error": {
"code": 70000,
"message": "账户不存在",
}
}
body = ctx.body
password = md5hash(body["password"]) or ""
obj = service_select("user").Get_obj(
{"username": body["username"]}, {"like": False}
)
if obj:
user_group = service_select("user_group").Get_obj({'name': obj['user_group']}, {"like": False})
if user_group and user_group['source_table'] != '':
user_obj = service_select(user_group['source_table']).Get_obj({"user_id": obj['user_id']}, {"like": False})
if user_obj['examine_state'] == '未通过':
ret = {
"error": {
"code": 70000,
"message": "账户未通过审核",
}
}
return ret
if user_obj['examine_state'] == '未审核':
ret = {
"error": {
"code": 70000,
"message": "账户未审核",
}
}
return ret
if obj["state"] == 1:
if obj["password"] == password:
timeout = timezone.now()
timestamp = int(time.mktime(timeout.timetuple())) * 1000
token = md5hash(str(obj["user_id"]) + "_" + str(timestamp))
ctx.request.session[token] = obj["user_id"]
service_select("access_token").Add(
{"token": token, "user_id": obj["user_id"]}
)
obj["token"] = token
ret = {
"result": {"obj": obj}
}
else:
ret = {
"error": {
"code": 70000,
"message": "密码错误",
}
}
else:
ret = {
"error": {
"code": 70000,
"message": "用户账户不可用,请联系管理员",
}
}
return ctx.response(json.dumps(ret, ensure_ascii=False))
-
- 前端客户用户功能模块
用户可以查看平台发布的最新公告通知,包括活动信息、系统升级通知等,确保用户能够及时获取重要信息。公告信息模块如下图所示:

图 5-6公告信息模块图
用户能够阅读平台发布的新闻资讯,了解行业动态和平台最新进展,增加用户对平台的信任度和粘性。新闻信息模块如下图所示。

图 5-7新闻信息模块图
用户可以通过新闻数据模块,查看详细的活动数据、产品销量等统计信息,为用户提供更全面的决策支持。新闻数据模块如下图所示。

图 5-8新闻数据模块图
“用户可以访问个人首页,查看自己在系统中的活动记录,包括在收藏的文章和评论管理,个人中心也可以查看新闻数据统计图。个人中心模块如下图所示。

图 5-9个人中心模块图
管理员能够管理后台系统的用户,包括管理员和客户用户,具有查询、添加、删除和详情查看的权限,确保用户信息的准确性和安全性。系统管理模块如下图所示。

图 5-10系统用户模块图
管理员可以对新闻分类进行查询、添加、删除和详情查看,灵活调整新闻分类,满足不同新闻资讯的展示需求。新闻分类管理模块如下图所示。

图 5-11新闻分类管理管理模块
管理员具备新闻信息的全面管理能力,包括查询、添加、删除、详情查看以及查看评论,及时发布和更新新闻资讯,提升平台的互动性和影响力。新闻信息管理流程图如下所示。

图 5-12新闻信息管理流程图
增删查改代码如下:
增
def Add(self, ctx):
body = ctx.body
unique = self.config.get("unique")
obj = None
if unique:
qy = {}
for i in range(len(unique)):
key = unique[i]
qy[key] = body.get(key)
obj = self.service.Get_obj(qy)
if not obj:
error = self.Add_before(ctx)
if error["code"]:
return {"error": error}
error = self.Events("add_before", ctx, None)
if error["code"]:
return {"error": error}
result = self.service.Add(body, self.config)
if self.service.error:
return {"error": self.service.error}
res = self.Add_after(ctx, result)
if res:
result = res
res = self.Events("add_after", ctx, result)
if res:
result = res
return {"result": result}
else:
return {"error": {"code": 10000, "message": "已存在"}}
删
def Del(self, ctx):
if len(ctx.query) == 0:
errorMsg = {"code": 30000, "message": "删除条件不能为空!"}
return errorMsg
result = self.service.Del(ctx.query, self.config)
if self.service.error:
return {"error": self.service.error}
return {"result": result}
改
def Set(self, ctx):
error = self.Set_before(ctx)
if error["code"]:
return {"error": error}
error = self.Events("set_before", ctx, None)
if error["code"]:
return {"error": error}
query = ctx.query
if 'page' in query.keys():
del ctx.query['page']
if 'size' in query.keys():
del ctx.query['size']
if 'orderby' in query.keys():
del ctx.query['orderby']
result = self.service.Set(ctx.query, ctx.body, self.config)
if self.service.error:
return {"error": self.service.error}
res = self.Set_after(ctx, result)
if res:
result = res
res = self.Events("set_after", ctx, result)
if res:
result = res
return {"result": result}
查多条数据:
def Get_list(self, ctx):
query = dict(ctx.query)
config_plus = {}
if "field" in query:
field = query.pop("field")
config_plus["field"] = field
if "page" in query:
config_plus["page"] = query.pop("page")
if "size" in query:
config_plus["size"] = query.pop("size")
if "orderby" in query:
config_plus["orderby"] = query.pop("orderby")
if "like" in query:
config_plus["like"] = query.pop("like")
if "groupby" in query:
config_plus["groupby"] = query.pop("groupby")
count = self.service.Count(query)
lst = []
if self.service.error:
return {"error": self.service.error}
elif count:
lst = self.service.Get_list(query,
obj_update(self.config, config_plus))
if self.service.error:
return {"error": self.service.error}
self.interact_list(ctx, lst)
return {"result": {"list": lst, "count": count}}
查一条数据:
def Get_obj(self, ctx):
query = dict(ctx.query)
config_plus = {}
if "field" in query:
field = query.pop("field")
config_plus["field"] = field
obj = self.service.Get_obj(query, obj_update(self.config, config_plus))
if self.service.error:
return {"error": self.service.error}
if obj:
self.interact_obj(ctx, obj)
return {"result": {"obj": obj}}
在系统管理模块,管理员可以对轮播图进行添加、修改、删除和重置操作,确保系统首页的展示内容更新及时。轮播图添加模块如下图所示。

图 5-13轮播图添加模块图
管理员可以深入管理新闻数据,包括查询、添加、删除、详情查看、查看评论以及下载和导入文档,为新闻数据的分析和决策支持提供有力保障。新闻数据管理如下图所示。

图 5-14新闻数据管理模块图
管理员可以高效地管理公告信息,包括查询公告详情、发布新公告、删除过期公告以及编辑公告内容,确保用户能够及时获取到平台的最新通知和活动信息。公告信息管理模块如下图所示。

图 5-15公告信息管理模块图
在系统开发的流程中,前台、后台以及数据库的建设只是整个项目的基础构建部分,完成了这些仅仅意味着系统框架的搭建告一段落。然而,一个系统的真正成熟与稳定,关键在于其是否能经受住严格的测试。测试是系统开发流程中不可或缺的一环,它对于确保系统质量至关重要。
一个系统测试的目的就是检验系统在真正的工作环境和条件下是不是能够正常运行,各种功能能不能符合设计的要求,通过测试发现系统当中存在的一些潜在的错误,然后对系统进行改进,使得系统最终以完美的形式展现给用户,提高用户使用过程中的体验度,真正达到项目的实际使用目的。
评论测试用例如表6-1 所示。
表6-1 评论测试用例
测试用例编号 |
YL_03 |
|
测试用例名称 |
系统使用者进行在线交流 |
|
测试用例描述 |
使用者输入交流标题、内容等信息 |
|
系统入口 |
浏览器 |
|
步骤 |
预期结果 |
实际结果 |
输入完整的评论标题和内容 |
点击“评论成功”,并进入系统 |
预期结果 |
不输入评论标题和内容 |
提示“请输入完整” |
预期结果 |
-
-
- 创建数据测试
-
在系统中,创建功能也是基础功能之一,因此创建功能的测试很有代表性。在此章节主要列举在创建时各种情况下系统结果的测试。由于系统涉及创建功能操作过多,因此将多处统称创建功能。
创建数据用例如表6-2 所示。
表6-2 创建数据测试用例
测试用例编号 |
YL_05 |
|
测试用例名称 |
系统使用者进行创建数据 |
|
测试用例描述 |
使用者输入要创建的数据 |
|
系统入口 |
浏览器 |
|
步骤 |
预期结果 |
实际结果 |
输入完整并且格式正确的数据 |
提示“创建成功”,并显示所有数据 |
预期结果 |
核心位置数据但非必要位置不输入数据 |
提示“创建成功”,并显示所有数据 |
预期结果 |
核心数据位置不输入数据 |
提示“创建失败” |
预期结果 |
-
-
- 修改数据测试
-
在系统中,修改功能是系统主要实现功能,因此修改功能的测试很有代表性。在此章节主要列举在修改时各种情况下系统结果的测试。由于系统涉及修改功能操作过多,因此将多处数据表记录修改和状态修改统称修改功能。
修改数据用例如表6-3所示。
表6-3 修改数据测试用例
测试用例编号 |
YL_06 |
|
测试用例名称 |
系统使用者进行修改数据 |
|
测试用例描述 |
使用者对可修改的数据项进行修改 |
|
系统入口 |
浏览器 |
|
步骤 |
预期结果 |
实际结果 |
将现有数据修改成正确的数据 |
提示“修改成功”,并显示所有数据 |
预期结果 |
将现有数据修改成错误的数据 |
提示“修改失败” |
预期结果 |
-
-
- 查询数据测试
-
在系统中,查询功能是使用系统使用最多也是最基础的功能,因此查询功能的测试很有代表性。在此章节主要列举在查询时各种情况下系统结果的测试。
查询数据用例如表6-4所示。
表6-4 查询数据测试用例
测试用例编号 |
YL_05 |
|
测试用例名称 |
系统使用者进行查询数据 |
|
测试用例描述 |
全部查询以及输入关键词查询 |
|
系统入口 |
浏览器 |
|
步骤 |
预期结果 |
实际结果 |
界面自动查询全部 |
显示对应所有记录 |
预期结果 |
输入已存在且能匹配成功的关键字 |
显示所查询到的数据 |
预期结果 |
输入不存在的关键字 |
显示数据界面为空 |
预期结果 |
在本次测试的过程主要针对所有功能下的添加操作,修改操作和删除操作,并以真实数据一一进行相关功能项目的输入,最终能够保证每个项目涉及的功能都能够正常运行,因此能够保证本次设计的,已实现的功能能够正常运行并且相关数据库的信息也同样保证正确。
经过深入研究与分析,我们明确了基于Python和MySQL数据库的财经新闻获取及存储系统的可行性。该系统结合Python与Django技术,实现了高效的财经新闻获取及存储系统。通过本次开发实践,我们深刻认识到学习的无止境和实践的重要性。尽管在初期遇到了如页面显示不规范、数据库连接问题以及参数传递困难等挑战,但通过查阅资料和团队协作,我们成功解决了这些问题。在此过程中,我们积累了丰富的知识和问题解决能力,尤其是学会了如何从海量信息中筛选出有价值的内容。
我们意识到,尽管理论知识是宝贵的,但每个人的编程思路和数据处理方法各不相同。因此,实践成为了找到解决方案的关键。在毕业设计过程中,我们不断提升自我,积累了丰富的经验,这将对未来的职业发展产生积极影响。
在开发财经新闻获取及存储系统的过程中,我们参考了众多相关系统的成功案例,取其精华、去其糟粕,逐步完善了系统功能。然而,该系统仍存在诸多不足,需要我们在后续的学习中不断改进。实践表明,财经新闻获取及存储系统具有广阔的发展前景。经过严格的测试与运行,该系统功能完善、界面美观、操作简便,技术理论上已趋成熟。
- 和方远. AI时代下财经媒体的转型策略与创新发展 [J]. 卫星电视与宽带多媒体, 2024, 21 (24): 138-140.
- 张冬英. 媒体融合背景下新闻档案资料管理运用研究[C]// 冶金工业教育资源开发中心. 2024精益数字化创新大会平行专场会议——冶金工业专场会议论文集(下册). 石家庄市正定县融媒体中心(正定县广播电视台);, 2024: 3.
- 邓光韬. 财经新闻采编的创新实践及对策建议 [J]. 采写编, 2024, (07): 150-152.
- 马圣男. 大数据时代财经新闻中数据的应用研究 [J]. 新闻研究导刊, 2024, 15 (11): 78-80.
- 周婷. 融媒体时代传统媒体财经新闻发展策略 [J]. 新闻世界, 2024, (04): 91-94.6
- 温瑞林,马银萍,杨宏辉,等. 基于多级存储的高性能抗故障任务队列系统[C]// 中国计算机用户协会网络应用分会. 中国计算机用户协会网络应用分会2023年第二十七届网络新技术与应用年会论文集. 北京大学计算机学院;北京大学计算中心;北京大学长沙计算与数字经济研究院;北京大学软件与微电子学院;, 2023: 7.
- 蔡松江. 浅析“互联网+时代”下企业财经管理改革研究[C]// 中国智慧工程研究会. 2023新时期社会发展研讨会论文集. 福州外语外贸学院;, 2023: 2.
- 张晖. 基于多数据源的大数据平台采集系统设计[C]// 中国水力发电工程学会自动化专业委员会. 中国水力发电工程学会自动化专委会换届大会暨2023年全国水电厂智能化应用学术交流会论文集. 南京南瑞水利水电科技有限公司;, 2023: 3.
- 王永辉,尹华煌,房一. 重庆市新闻选题管理平台建设[C]// 中国新闻技术工作者联合会. 中国新闻技术工作者联合会2022年学术年会论文集. 重庆广电集团(总台);, 2022: 4.
- 李易峰,刘文龙,黄俊珲,等. 探索“业务+管理”模式 全面深化融媒体时代新闻宣传工作的思考[C]// 中国电力企业管理党建创新实践(2020). 国网新疆电力有限公司;, 2022: 4.
- 林铁. 财经院校网络与新媒体人才培养的学科基础与实践体系 [J]. 湖南财政经济学院学报, 2021, 37 (06): 99-105.
- 谢卓华,何婧. 多元智能理论视域下财经新闻人才培养模式与教学设计改革探析 [J]. 高教论坛, 2021, (03): 40-44.
- 宁宣凤,吴涵,杨楠. 开启互联网新闻监管新时代——《互联网新闻信息服务管理规定》述评[C]// 《上海法学研究》集刊(2020年第15卷 总第39卷)——数字经济法治文集. 金杜律师事务所;, 2020: 3.
- 张雪婷. 国内外财经类数据新闻平台对比研究——以财新“数字说”和彭博“graphics”栏目为例 [J]. 文化与传播, 2019, 8 (05): 97-105.
- 于黎冰,关辉,王晓晨,等. 融媒体视域下体育新闻视频媒体管理系统的分析与设计[C]// 中国体育科学学会. 第十一届全国体育科学大会论文摘要汇编. 哈尔滨体育学院;沈阳体育学院;, 2019: 3.
- 王晓东. 浅谈财经深度报道新闻信息资源的管理与开发 [J]. 传播力研究, 2019, 3 (18): 260.
- 宋雯,赵亮. 智能时代网络新闻发布的规制与平衡[C]// 西北政法大学,陕西省法学会. 传媒法与法治新闻研究2018年卷. 西北政法大学新闻传播学院;西安广播电视台;, 2018: 7.
- Ben Shaw; Saurabh Badhwar; Andrew Bird; Bharath Chandra K S; Chris Guest, Web Development with Django: Learn to build modern web applications with a Python-based framework , Packt Publishing, 2021.
- Werth D ,Pinol L ,Petel R S . CosmoFlow: Python package for cosmological correlators [J]. Classical and Quantum Gravity, 2024, 41 (17): 175015-175015.
- Salunke V S ,Ouda A . A Performance Benchmark for the PostgreSQL and MySQL Databases [J]. Future Internet, 2024, 16 (10): 382-382.
财经新闻获取及存储系统的设计与实现项目已圆满结束。尽管在过程中遭遇了诸多挑战,但内心却充满了自豪与满足感。在此,我要向大学四年间所有教导过我的老师们表达最深的谢意,他们的专业知识和人生智慧使我成长为一名能够独立完成系统的学子。特别要感谢我的指导老师,他以耐心解答我的疑惑,引导我解决问题,从而提升了我的自主解决问题的能力。同时,室友和同学们的宝贵建议与支持也极大地促进了我的进步。展望未来,我将继续不懈追求卓越,以不负所学所悟以及老师的期望。坚信只要持之以恒,未来必将取得更加辉煌的成就。期待一个更加美好的未来!
此外,财经新闻获取及存储系统的设计与实现不仅是一次技术上的挑战,更是个人成长的催化剂。挫折和困难成为了我成长道路上的垫脚石,让我更深入地理解问题,并精确地找到解决方案。每一次成功解决问题,都让我感到莫大的满足和自豪。
对于未来,我满怀期待与信心。无论道路多么崎岖,只要保持坚定的信念并持续努力,我相信必将取得更大的成就。期待将所学的知识和技能应用于实践,为社会作出更大的贡献。
最后,我要向所有帮助和支持我的人表达最诚挚的感谢。你们的教诲、鼓励和支持是我取得今日成就的重要因素。我将继续努力,不辜负大家的期望,为实现更加美好的未来而不懈奋斗。
点赞+收藏+关注 → 私信领取本源代码、数据库
更多推荐
所有评论(0)