基于ASP.NET和Oracle数据库实现的农场信息管理系统

LOSER

发布日期: 2021-02-24 08:55:48 浏览量: 91
评分:
star star star star star star star star star star_border
*转载请注明来自write-bug.com

一、引言

1.1 文档目的

本文档为 农产品基础数据库系统项目管理系统详细设计,本文档用于描述 农产品基础数据库系统各部分的细节实现,为编码提供参考依据。本文档的读者范围为:系统设计人员农产品基础数据库系统,模块设计人员,编码人员,测试人员。

本文档作为双方就建立 农产品基础数据库系统需求理解达成一致共识的基础文件,作为双方界定项目范围、签订合同的主要基础,也作为本项目验收的主要依据。本项目为软件开发,不包含不部署硬件。

1.2 项目背景

随着农村经济的发展,建立农产品基础数据库,对农产品的价格进行监控,分析和决策,对于增加农民收入,抵御价格风险,指导播种面积,具有重要的意思。

本项目由项目领导小组负责监督执行,任务完成后,本系统将运行在微软的.net平台上。

1.3 术语

Microsoft .NET Framework:Microsoft .NET Framework是用于的新编程模型。它将强大的功能与新技术结合起来,用于构建具有视觉上引人注目的用户体验的应用程序,实现跨技术边界的无缝通信,并且能支持各种业务流程。

中间件:中间件是一种独立的软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯,是连接两个独立应用程序或独立系统的。相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。执行中间件的一个关键途径是信息传递。通过中间件,应用程序可以工作于多平台或环境。

1.4 命名约定

  • 类(Classes):类名是个一名词,采用大小写混合的方式,每个单词的首字母大写。例:class User

  • 接口(Interfaces):大小写规则与类名相同。并且以大写i为开头。例:Interfaces IUserService

  • 方法(Methods):方法名是一个动词,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写,例:runFast();

  • 变量(Variables):采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。变量名不应以下划线或美元符号开头 ,例:User user

  • 常量(Constants):类常量和ANSI常量的声明,应该全部大写,单词间用下划线隔开,例:static final int MAX_WIDTH = 100

  • 在对包、类、接口、方法、变量、常量命名时一定要名称反映意图的原则,避免使用非常用缩写

  • 代码规范:有些不易理解的变量或函数应作注释,难懂的代码要有注释,在文件的开始处有该文件的用途描述。一定要保持注释的一致性
    代码组织要清晰,{,},(,),if,else,do,while,for,case等要对应整齐,缩进全部用Tab键。变量的定义要集中,行数间要有空行分开,一个程序中的空行数目最好占8%-16%。多态函数和功能相近的函数集中在一起
    代码应该简洁、清楚并讲述了所发生的一切,我们的目标应该是写出最清晰的代码,而不是最巧妙的代码
    代码的重用要仔细,要讲相关的代码也拷贝过来,注意那段代码也许不适合你的应用场景
    删掉从来没有用过的函数或变量,大篇幅注释掉的代码也应该删除,以免使程序混乱难度

  • 工程文件组织规范:一个工程往往包含很多文件,向工程中加入文件或删除工程中的文件要慎重,避免把工程损坏。工程中不起作用的文件或类应删除,工程目录下的非工程文件也应该移走,保持工程的清洁,避免混淆难以管理
    一个比较大的工程应留有一定的消息接口或插件接口
    工程的版本控制要严格,版本格式为xx.xx.xx,必要时使用Build次数或日期。高版本尽量兼容低版本的用法、数据或协议
    工程的编译宏定义和工程参数设置应正确,每作一个新工程时应检查工程参数是否正确
    工程文件应经常备份,备份时注明备份日期和主要增加的功能

  • 类组织规范:类力求封装好,严格区分public,private,protect等作用域,如果一个函数与本类有莫大的关系,可以作为该类的静态成员函数,不用或少用友元函数破坏类封装性的方法和技巧
    类的成员变量在构造函数或初始化函数中应赋初值。指针在构造函数中赋NULL,析构时DEL_EMPTY它,以免内存泄露

  • 用户界面规范:风格统一,按照对方要求修改,下面效果图仅参考
    有四大类型的用户界面:对话框、单文档界面、其他界面
    对话框要易用且简洁,字体和控件的组织搭配要得体,能简单不复杂,各控件的焦点、Tab顺序等要研究。在简洁易用的前提下,力求个性化,设计得更友好。程序各对话框的分割要保持一致
    单文档和多文档界面的程序功能可以做得很好,也便于扩充和管理。其中菜单、工具栏、状态栏等设计要有特色。菜单按一定的分类弹出,必要时设计成多套菜单,在重要的窗口或区域应能弹出右键,实现常用操作。工具栏上放最常用的操作按钮,必要时动态更换按钮。状态栏显示足够多的消息

二、软件系统的结构

2.1系统的总体架构

项目的架构设计遵循平台化、组件化的设计思想,采用统一的数据交换、统一的接口标准、统一的安全保障。

项目的架构设计遵循平台化、组件化的设计思想,采用统一的数据交换、统一的接口标准、统一的安全保障。系统由下到上分为三层主框架:数据采集层、存储分析层、应用逻辑层,总体建设框架如下图所示。

农业基本信息、分类信息数据库:主要包括各种农业产品分类数据库、产品描述数据库信息管理、维护,基础字典管理、单位管理等。

  • 网络爬虫:负责从各大农业信息网站爬取农业产品、价格数据

  • 格式检查、清洗、转换:负责把从各网站的数据,对齐,处理、分析存入到大数据库中。

  • 存储分析:利用Spark完成分析查询,mongodb完成存储等

  • 安全体系:包括权限管理,安全管理、数据备份等

  • 标准体系:农产品基本信息描述等各种标准管理

  • 应用逻辑:数据可视化,领导驾驶舱,大数据展示,数据查询,指标趋势分析、决策应用等

2.2 程序关系图

2.3 软件角色定义

我们可以将这些项目工作的参与者分为四级:从软件角度考虑依次抽象为:

  • 系统管理员:负责系统基础数据的配置、管理,农产品分类数据的管理,农产品基本信息的管理

  • 工作人员:农产品信息查询,统计分析,数据导出,采集数据的管理等

  • 领导:指标分析结果查看,统计数据分析等

2.4 程序系统的结构

用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符和它们之间的层次结构关系。

三、程序设计说明

从本章开始,逐个地给出各个层次中的每个程序的设计考虑。对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层 模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。

3.1 信息门户

3.1.1 程序描述

信息门户(Portal)位于地勘项目管理系统体系结构中的最上层,实现各应用与用户的交互服务过程,是地勘项目管理系统的信息集中展示的窗口,为各类用户提供一个统一的信息服务入口。同时,信息门户根据用户身份提供满足其需求的特定信息和应用系统,为用户提供个性化的服务。

3.1.2 功能

用户登录

所有用户均通过信息门户登录地勘项目管理系统,通过统一身份认证、基于身份/角色的权限分配策略实现单点登录。

输入 处理 输出
页面加载 调用用户的个人信息及能操作的模块信息 显示其有权操作的功能模块及个人信息
输入用户名、密码、验证码 控制器提交到认证中心进行认证 认证通过返回信息门户view;不通过,返回登陆view及错误信息。

信息门户主页面

输入 处理 输出
目录树中所选的单位节点 调用manager.findDw取得下级单位列表 在显示单位信息表显示下级单位列表
在菜单功能列表中点击某功能 客户端执行主功能区新增tab的命令 在功能区新增一tab加载相应的功能模块
点注销按钮 清除其登陆信息 重定向到登陆页面
点修改密码按钮 客户端执行打开window的命令 显示用户修改密码的窗口,并提供保存、取消按钮

3.1.3 用户界面设计

登陆页面

信息门户主页面

3.2 基础信息维护

3.2.1 部门管理

部门管理是对下属单位的部门信息进行维护,即添加,修改,删除。

输入 处理 输出
页面加载 按单位级别返回部门数据 显示部门目录树
目录树列表中点击某部门信息 客户端从服务器端获取部门相关信息加载到编辑信息窗口 显示部门代码、上级部门代码、部门名称和描述等信息

3.2.2 角色管理

角色管理是独立用户管理中的另一种角度,在系统维护的权限赋予上,可直接通过角色进行权限的转移。另外一种角色的使用是可归之于在使用上的赋权或称授权。

输入 处理 输出
页面加载 返回已定义角色数据 显示角色列表
列表中选择某角色信息 客户端从服务器端获取角色相关信息 显示角色英文名,中文名及备注等信息
分配角色模块权限 给选择的权限添加系统模块并授权 角色具有相应的操作权限

3.2.3 用户及权限管理

用户及权限管理是地勘系统使用的基础,包括对用户信息的添加、修改、删除、查询,以及给用户配置角色。

输入 处理 输出
页面加载 返回已定义角色数据 显示角色列表
输入用户名、角色类型 客户端进行查询,从服务器端获取相关信息 显示用户编号、用户名、联系方式、电子邮件、是否管理员及备注等信息
单击新增、编辑、删除和角色授权按钮 在编辑界面中对用户数据进行操作,授予用户角色权限 新增用户,对用户信息进行变更

用户及权限管理页面设计

3.2.4 基础信息描述

对系统中的常用代码进行维护,农产品基础信息描述谷物类,其他参考相应国家标准。

序号 名称
1 名称
2 净含量
3 规格
4 生产者名称
5 生产者地址
6 生产者联系方式
7 代理商名称
8 代理商地址
9 代理商联系方式
10 进口商名称
11 进口商地址
12 进口商联系方式
13 经销者名称
14 经销者地址
15 经销者联系方式
16 委托单位名称
17 委托单位地址
18 受委托单位名称
19 受委托单位地址
20 统一社会信用号
21 产地
22 原产国
23 地区
24 生产日期
25 保质期
26 存储条件
27 运输条件
28 食品生产许可证编号
29 产品标准代码
30 图片
31 商标
32 品牌
33 单价
34 包装
35 检验报告
36 认证证书
37 辐照食品
38 转基因食品
39 营养成分
40 质量等级
41 批号
42 食用方法
43 适宜人群
44 致敏物质
45 感官标志
46 理化指标
47 食品安全指标
48 色泽
49 气味
50 水分

3.2.5 农产品分类管理

农业部农产品标准分类-2010

3.3 农产品信息采集

3.3.1 农产品信息管理

包括添加、修改、删除、导入、导出,包括:农产品生产企业/农村合作社、生产面积、品种、产量、上市时间、质量和技术水平、加工企业、贮存条件、保质期、售价、传统销售渠道及比例、自主品牌拥有情况、农产品电商企业等,不固定信息及信息类型、不限制信息数量

3.3.2 农产品数据抓取

使用爬虫技术,自动在互联网抓取农产品信息,并保存在系统中。

3.4 农产品信息分析

3.4.1 农产品指标分析

对农产品信息进行统计分析

3.4.2 农产品指标趋势分析

对农产品各项指标进行趋势分析及预测

3.5 农产品信息显示

3.5.1 农产品信息查询

根据条件查询农产品信息,并导出

3.5.2 农农产品信息展示

提供领导驾驶舱页面,展示包括各项指标、分布、趋势、决策分析等,能够适配2×2个55寸大屏(分辨率:1920×1080)展示

3.6 数据维护模块系统管理

数据库备份与还原功能

3.7 系统管理

3.7.1 系统日志管理

系统日志包括登陆日志和操作日志,主要是记录用户登陆详细信息和日常使用操作信息。包括日志的查询与删除功能。

输入 处理 输出
页面加载 按日期或类型返回数据 显示日志列表信息
列表中选择查询日期或类型信息 客户端从服务器端获取相关信息,对其进行相应的操作(查看详细、删除) 显示登陆日志和操作日志信息

系统日志管理页面设计

3.7.2 系统信息设置

3.7.3 用户管理

改个人信息

修改登录密码

上传的附件 cloud_download 基于ASP.NET和Oracle数据库实现的农场信息管理系统.7z ( 5.59mb, 2次下载 )
error_outline 下载需要11点积分

发送私信

越是憧憬,越要风雨兼程

13
文章数
9
评论数
最近文章
eject