1、厦门大学软件学院本科生毕业论文 本科毕业论文 (科研训练、毕业设计 ) 题目 :基于 WEB的数据平台 GF2000 系统核心库设计与实现 姓 名: 学 院:软件学院 系: 专 业:软件工程 年 级: 学 号: 指导教师(校内): 职称: 指导教师(校外): 职称: 年 月 日厦门大学软件学院本科生毕业论文 基于 WEB 的数据平台 GF2000 系统核心库设计与实现 摘要 厦门恒好进出口有限公司 ( Good Forever)是 厦门 一家 对外 贸易公司 , GF2000 项目为该贸易公司提供一个统一的数据平台 ,以加强数据共享 ,提高工作效率 ,为公司决策提高量化数据。以改变该公司现有的
2、以文件级共享为基础、大量手工操作为方法的低效信息共享方式。 GF2000 项目的关键之一是设计系统核心库。系统核心库是本套系统的通用 方法 集合, 包含在 Utils.asp 中 。 系统核心库的开发对于代码复用以及系统良构方面都有重要意义。 系统核心库的实现有效降低了具体页面的开发工作量与开发难度。 系统核心库的内部组织结构是基于 MVC 构架。 MVC 即 Model(模型)、 View(视图)、Controller(控制器),是一种目前广泛流行的软件设计模式。 MVC 把一个应用的输入、处理、输出按照 Model、 View、 Controller 的方式进行分离,形成三个层模型层、视图
3、层、控制层。 关键词 MVC 构架 WEB 应用 函数库设计 厦门大学软件学院本科生毕业论文 Abstract The Good Forever Co. is a foreign trade company in Xiamen. The GF2000 system provide the Data Platform for the Good Forever Co. to improve the data-sharing and work-efficiency, and better the decision-making for the company. The GF2000 system r
4、eform the way to share the information. One of the key process of this project is the design for the System-Core-Library 。 The System-Core-Library is the set of general method for this system. The file named “Utils.asp” include the System-Core-Library. It makes significant sense not only to the reus
5、eabilty of the code but also to the architecture of the system. The application of the System-Core-Library lower the workload and difficulty of the page coding. The System-Core-Library is organized by MVC truss. MVC, which means Model, View and Controller, is a widely used design pattern. MVC separa
6、tes the input, processing and output according to model, view and controller. It has three layers - model layer, view layer and control layer. Keyword MVC WEB application function-library design. 厦门大学软件学院本科生毕业论文 目录 第 1章 绪论 . 1 1.1 引言 . 1 1.2 主要工作 . 1 第 2章 需求分析 . 2 2.1 开发软件环境 . 2 2.2 项目任务概述 . 2 2.3 功
7、能需求概述 . 3 2.4 性能需求概述 . 3 第 3章 系统核心库设计与实现 . 4 3.1 系统核心库简介 . 4 3.2 系统核心库设计 . 4 3.2.1 设计目标 . 4 3.2.2 设计思想 . 5 3.2.3 本系统界面功能说明 . 6 3.2.4 提取通用方法 . 12 3.2.5 MVC 构架的组织 . 16 3.3 可扩展部分设计 . 20 第 4章 系统核心库应用 . 22 4.1.1 核心库主要接口 . 22 4.1.2 核心库应用示例 . 23 第 5章 总结 . 30 致谢 . 31 参考文献: . 32 厦门大学软件学院本科生毕业论文 1 第 1章 绪论 1.1
8、 引言 厦门恒好进出口有限公司基于业务扩展的需要,迫切需要一个统一的数据平台,以加强数据共享,提高工作效率,为公司决策提高量化数据。拟开发一个“恒好工作平台”( Good Forever Working Platform) ,命名为 GF2000 平台 。 GF2000 开发过程中,希望首先设计一个可通用的函数集合 ,集成大量功能实现方法 ,形成系统核心库供具体页面调用。 通过系统核心库的开发实现代码的高复用性以及系统的良构性。 开发系统核心库,首先应该依据 功能需求,抽象出公共的可 复用的行为,提取 通用方法。 系统核心库内部结构将使用 MVC 构架 对提出的通用方法进行组织,封装大部分函数
9、,留下少量接口。 系统核心库的实现有效降低了具体页面的开发工作量与开发难度。 1.2 主要工作 1 熟悉恒好公司的整体业务流程 ,收集整理所需管理的数据。 2 对 GF2000 项目进行需求分析,形成完整的需求分析文档。 3 完成 对 数据库 的 设计。 4 完成系统核心库的设计、 实现 与测试 。 5 根据需求 分析 文档,应用系统核心库,编写具体的 ASP 页面实现需求。 6 对完成页面进行单元测试与集成测试。 本人主要负责 数据库设计与 系统核心库 设计实现 的部分工作,以及出货管理与收汇管理功能模块的需求分析与设计实现工作。 厦门大学软件学院本科生毕业论文 2 第 2章 需求分析 2.
10、1 开发 软件 环境 软件类型 软件名称 服务器 操作系统 Windows 2000 Professional 服务端软件 IIS5.0 数据库软件 SQL Server 2000 开发工具 UltraEdit11.0, FrontPage2000 客户端 应用平台 Windows 2000/98 应用软件 IE、 Office 系列 表 格 2.1 开发软件环境表 2.2 项目 任务概述 恒好 公司( Good Forever)是厦门的一家贸易公司, GF2000 项目为该贸易公司提供一个统一的数据平台 ,以加强数据共享 ,提高工作效率 ,为公司决策提高量化数据。以改变该公司现有的以文件级共
11、享为基础、大量手工操作为方法的低效信息共享方式。 该数据管理平台主要涵盖系统管理模块与数据管理模块。通过系统管理模块,可提供对不同用户的访问权限控制。通过数据管理模块,可实现对客户与项目信息、定单、收汇及出货信息,以及产品与样品信息的实时跟踪与自动化管理。 该数据管理平台可很大程度上加快信息交流速度与信息共享质量,从而提高 公司工作效率。通过对该数据平台的设计与开发,有效组织公司的大量数据,实现办公的自动化,继而实现公司信息管理的系统化。通过对该系统的研究,形成一套针对于中小型的贸易型公司的数据管理平台的开发思路与模式。 开发过程中形成高复用性模块 ,以加速今后类似数据管理平台的开发速度与质量
12、。系统采用 B/S 结构,后台基于 SQL Server 2000 数据库,前台采用 ASP 开发,完成后的系统将可在厦门大学软件学院本科生毕业论文 3 浏览器上完成绝大部分的数据显示与操作,另外涉及到需要输出的文档均以文本文件、邮件、Word 文档或 Excel 文档的形式,方便易用。 2.3 功 能 需求 概述 根据公司的业务特点与业务流程,系统划分为: 业务模块和系统模块。 业务模块包括 产品管理、 项目管理、样品管理、定单管理、出货管理、收汇管理六个子模块 系统管理模块包括用户管理和基础数据子模块。 图 表 2.1 GF2000 功能模块分解图 2.4 性能需求 概述 1 数据有效性
13、要求:系统对用户输入数据有效性进行验证, 尽可能的将验证放在客户端进行,以减轻服务器负担。对于无效的数据输入,要求有相关的提示信息。 2 时间特性:要求系统 实时响应 。 查询结果与数据 库提交结果均要求在 1 秒内返回。 3 负载要求:支持 30 个左右连接,系统仍能实时相应用户操作。 4 安全要求:运行于 内部网络,安全要求不高,但需禁止跳过登陆而直接输入 URL 访问 。 GF2000 系统 业务模块 收汇管理 产品管理 系统管理模块 项目管理 样品管理 定单管理 出货管理 基础数据维护 用户管理 厦门大学软件学院本科生毕业论文 4 第 3章 系统核心库设计 与实现 3.1 系统核心库简
14、介 系统核心库是本套系统 的一个函数集合,包含在 Utils.asp。它集成 了业务层 与 表示层的实现 。 系统核心库的内部组织结构是基于 MVC 构架 (3.2.2)的。 系统核心库封装大量函数,提供一些接口,其他页面通过接口加载并调用其中的函数,完成相应的功能。应用系统核心库使得页面代码变得简单清晰 , 易于编写与 维护 。 使用 语句,将系统核心库加载至具体页面中。 3.2 系统核心库设计 3.2.1 设计目标 开发系统核心库主要基于以下两点原因: a.实现高复用性 与功能集成性。 从需求分析的角度看,本系统可分为八个模块,各个模块的业务逻辑相差甚大。但从程序内部的实现逻辑上看,却有较
15、大的共性,换而言之,即内部实现上可能通过抽取通用部分,形成 可 复用 代码 , 减少代码的重复 ,提高开发效率。 b.实现逻辑层与表示层分离 。 一般的, ASP 页面编写时, 存在显示与逻辑结合紧密的弊病。当页面较复杂时,显示与逻辑紧密结合的页面代码可读性就会变得很差,也不利于调试。抽取通用方法,并且将这些通用方法有机的组织封装起来,留下少数接口,编写页面时只需调用这些接口,页面代码清晰易读并且代码量小。页面代码不包含复杂的显示与逻辑代码,也便于跟踪调试。 厦门大学软件学院本科生毕业论文 5 3.2.2 设计思想 3.2.2.1 基本思路 设计系统核心库的思路就是 通过对功能需求与界面需求的
16、研究,抽象出通用方法,再应用 MVC 构架,将大量的通用方法集成 起来,留下少量的接口 供其他页面直接调用。 系统核心库设计思想是基于 MVC 设计模式的 ,用以 实现功能与显示的解耦合。 3.2.2.2 MVC 介绍 模型视图控制器( MVC)是 Xerox PARC 在八十年代为编程语言 Smalltalk 80 发明的一种软件设 MVC 是许多交互和界面系统的构成基础。 对于界面设计可变性的需求, MVC 把交互系统的组成分解成模型、视图、控制三种部件。 模型( Model):封装的是数据源和所有基于对这 计模式,至今已被广泛使用。 些数据的操作。在一个组件中, Model往往表示组件的
17、状态和操作状态的方法。 视图( View):封装的是对数据源 Model 的一种显示。一个模型可以由多个视图,而一个视图 理论上也可以同不同的模型关联起来。 控制器( Controller):封装的是外界作用于模型的操作。通常,这些操作会转发到模型上,并调用模型中相应的一个或者多个方法。一般 Controller 在 Model和 View 之间起到了沟通的作用,处理用户在 View 上的输入,并转发给 Model。这样 Model和 View 两者之间可以做到松散耦合,甚至可以彼此不知道对方,而由 Controller 连接起这两个部分。 模型,即相关的数据,它是对象的内在属性;视图是模型的
18、外在表现形式,一个模型可以对应一个或者多个视图,视图还具有与外 界交互的功能; 控制器是模型与视图的联系纽带,控制器提取通过视图传输进来的外部信息转化成相应事件,然后由对应的控制器对模型进行更新; 相应的,模型的更新与修改将通过控制器通知视图,保持视图与模型的一致性。 图3.1 描述了这三者之间的关系: 厦门大学软件学院本科生毕业论文 6 图 表 3.1 MVC 结构 MVC 式的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性 。 3.2.2.3 MVC 实现思路 分析应用问 题,分离出系统的内核功能、对功能的控制输入、系统的输出行
19、为三大部分。设计模型部件使其封装内核数据和计算功能,提供访问显示数据的操作,提供控制内部行为的操作以及其他必要的操作接口。以上形成模型类的数据构成和计算关系。这部分的构成与具体的应用问题紧密相关。 设计每个视图的显示形式,它从模型中获取数据,将它们显示在屏幕上。 对于每个视图,指定对用户操作的响应时间和行为。在模型状态的影响下,控制器使用特定的方法接受和解释这些事件。控制器的初始化建立起与模型和视图的联系,并且启动事件处理机制。事件处理机制的具体实现方 法依赖于界面的工作平台。 就本系统而言 ,由于用户输入的形式比较固定,所以 响 应用户输入的工作 就不必经过控制器 (Controller),而是直接放在模型 (Model)中进行处理。 3.2.3 本系统界面 功能 说明 从本数据平台的界面需求来看,要求界面风格统一,主要的功能页面可分为两种类型:查询列表页面与明细关联页面。 一般的,某个查询列表页面必与某个明细关联页面一一对应。 查询列表页面 主要负责根据用户输入的条件,列出满足条件的数据,该类页面可细分为