1、本 科 毕 业 论 文瑞晟办公系统的设计与实现The Design and Implementation of RISEN Office System 姓 名:学 号:学 院:软件学院系:软件工程专 业:软件工程年 级:校内指导教师: 年 月摘 要制造业,作为中国国民经济发展的主要源泉,是一个传统的、技术含量较低的行业。中小型制造业企业在发展壮大的过程中,容易遇到信息化方面的瓶颈。它在生产的各环节上的数据信息量,会随着企业规模的扩大,以较快的速度增长。当落后的生产统计工具已无法跟上企业的发展水平,瓶颈就来临了。针对这样的问题,企业决定为自己量身打造一套办公系统,以解决当前遇到的问题,提高企业运
2、作效率。办公系统的开发是遵循软件工程的基本方法来进行的。系统采用 C/S(Client/Server)架构,并使用 Microsoft Visual Studio 2005 开发工具,Visual C#语言,MySQL 数据库管理系统,配合以.Net Framework 2.0 的系统运行环境。该系统从本质上看,就是服务端与客户端不断地进行数据传输和操作。由于系统是多用户,所以服务端必须是一个多线程的结构,才能保证在同一时刻与多个用户进行高效的数据通信。用户需先登录系统,然后进行产品产量单录入,领料回料单录入等。系统根据用户的查询条件,呈现基于基础数据资料的综合处理结果,用以指导生产,为领导的
3、决策提供支持。同时,系统还包括对公司员工的档案管理,公司业务规则制定与修改等功能。管理员根据各个用户不同的职能,分配相应职能范围的权限,以规范用户的行为操作。用户将在各自的区域内处理业务,互不干扰。不管企业的规模如何扩大,该办公系统将始终符合企业的业务需求,帮助企业快速成长。关键词: 制造业;C/S(Client/Server)架构;C# 语言Abstract. Manufacturing,which is the main power of Chinese economic development, is a traditional and low-tech industry. It is
4、common for manufacturing enterprises on small scale to be confronted a difficult situation due to its inefficiency. Especially for the enterprises on expansion, there will be huge amount of data to be collected and processed. Due to inefficiency, the work will not be finished in time. Then, the ente
5、rprises stop from progressing.So, the RISEN enterprise decided to develop an office system to improve its performance. The system is developed in the principle of Software Engineer. It sets up the Client/Server Structure, with tools of Microsoft Visual Studio 2005 and MySQL Database Management, in t
6、he circumstance of .Net Framework 2.0.Actually, what the system do is communicate and process data between the server and clients. The server has to be designed as multi-thread so as to effectively communicate with many clients at the same time.The users have to input name and password first to log
7、in the system. Then, he could choose to work on a product quantity sheet, or on a material sheet, or other else. Also, users could query for some purposes with available options. The results will help manager to make decision on scheduling manufacturing.The administrator will give users different pe
8、rmission due to their different duties. This will help users to do their own work without mistakes.Undoubtedly, the system will help the enterprise well during its expansion and improve its efficiency significantly.Key words: Manufacturing; C/S(Client/Server) Structure; Visual C# languge目录第一章 引言 11.
9、1 项目起源 11.2 开发意义 11.3 开发工具 11.4 全文的论述结构 .2第二章 系统的总体设计 .42.1 确定需求 42.2 确定工作环境 .52.2.1 硬件环境 .52.2.2 软件环境 .52.3 概念性系统设计 .62.3.1 业务流 62.3.2 系统模块 .62.4 系统部署 C/S 架构 62.4.1 架构部署 .62.4.2 服务器采用三层架构 .72.4.3 客户端采用 MDI 窗体 .82.5 数据库设计 8第三章 系统的详细设计 .113.1 登录模块 113.2 数据输入模块 .113.2.1 产品产量单 .113.2.2 领料回料单 .123.2.3 前
10、测报表 .123.2.4 后测报表 .123.2.5 员工信息 .133.3 查询模块 133.4 管理模块 143.4.1 密码修改 .143.4.2 权限分配 .143.4.3 用户管理 .14第四章 系统的运行结果 .16第五章 总结与展望 21参考文献 22附录 .23致谢 .25ContentsChapter 1 Introduction.11.1 Origin of The System.11.2 Significance for Developing.11.3 Tools in use .11.4 Structure of This Thesis .2Chapter 2 The
11、General Design 42.1 Requirements .42.2 Running Conditions.52.2.1 Hardware Conditions.52.2.2 Software Conditions.52.3 Design in Conception.62.3.1 Business Stream 62.3.2 Modules of The System62.4 Deployment of The System 62.4.1 How to Deploy.62.4.2 3-tier Structure.72.4.3 Multiple Document Interface 8
12、2.5 Database Designing8Chapter 3 The Detailed Design.113.1 Login Module.113.2 Data Input Module.113.2.1 Product Quantity Sheet .113.2.2 Material Sheet123.2.3 Previous Test Sheet123.2.4 Rear Test Sheet123.2.5 Employee Infomation133.3 Query Module133.4 Management Module.143.4.1 Updating Password.143.4
13、.2 Assigning Privileges 143.4.3 Users Management.14Chapter 4 Snapshots of Running Results.16Chapter 5 Summary 21References22Appendix 23Acknowledgements.25瑞晟办公系统的设计与实现1第一章 引言1.1 项目起源福州瑞晟电子有限公司,是一家中小型制造型企业,主要生产制造数码管和LED 等产品。该企业目前通过使用 Excel 表格来记录并整理大量复杂的生产数据信息,以 U 盘拷贝或网络传输 Excel 文件的方式来移动数据,达到信息的共享。随着企业
14、规模的逐渐扩大,以及负责数据整理工作的岗位的流动性较大,培养该岗位员工的时间成本较高,原有的工作方式渐渐地无法快速地为企业领导提供有关生产的实时信息。因此,企业决定开发一套为自己量身打造的办公系统,提高企业生产信息处理的效率,以满足企业当前的发展需要。1.2 开发意义新开发的办公系统的使用,可以帮助企业解决生产数据管理低效的问题。这样就可以改善由于岗位流动性大,培养时间成本高而导致企业在生产信息反馈环节上滞后的情况,为企业的高速度发展提供及时有效的数据支持,促进生产效率的提高。让企业在发展壮大的道路上,随时掌握生产的实时信息,为生产管理决策的正确制定提供有力的保障和坚实的信心。1.3 开发工具
15、根据公司的使用要求,以及结合学生本人所擅长的软件技术,确定本系统开发环境如下:1. 开发平台:Window XP Professional2. 开发工具:Microsoft Visual Studio 2005Visual Studio 2005 是微软公司于 2005 年推出的一套完整的开发工具集,用于生成 ASP.NET Web 应用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic、Visual C+、Visual C# 和 Visual J# 全都使用相同瑞晟办公系统的设计与实现2的集成开发环境 (IDE),利用此 IDE 可以共享工具且有助于
16、创建混合语言解决方案。该工具可以大大减少程序开发人员的工作量和缩短项目的生命周期,提高软件工程的效率和质量,促进软件产业的进步。3. 开发语言:Visual C#4. 数据库:MySQL 5.1.31MySQL 是世界上最受欢迎的开源的关系型数据库管理系统,它是由 MySQL AB 开发、发布和支持。由于其体积小、速度快、总体成本低,尤其是开放源码这一特点,使得 MySQL 成为中小型企业的首选。而且 MySQL 还拥有许多激动人心的特性,如下 采用 C 和 C+编写,并使用了多种编译器进行测试,保证源代码的可移植性。 支持多种操作系统。 为多种编程语言提供了 API。 支持多线程,充分利用
17、CPU 资源,支持多用户;优化的 SQL 查询算法,有效地提高查询速度。 既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中;提供多语言支持,常见的编码如中文的 GB 2312、BIG5,日文的 Shift_JIS 等都可以用作数据表名和数据列名。 提供 TCP/IP、ODBC 和 JDBC 等多种数据库连接途径。 提供用于管理、检查、优化数据库操作的管理工具。 可以处理拥有上千万条记录的大型数据库。 5. 数据库设计:MySQL System Tray Monitor这是一款同样由 MySQL AB 开发、发布和支持的软件,它是专门为 MySQL设
18、计的图形用户界面工具,可以方便地创建表和数据库,以及其他数据库操作。它强大的功能,几乎可以满足你所有的使用需求。瑞晟办公系统的设计与实现31.4 全文的论述结构项目按照软件工程的基本方法,依次经历需求分析,总体设计,详细设计,编码,测试五个阶段。贯穿于这五个阶段,开发任务主要包括四大模块, 。其中,数据输入模块具体包括产品产量单,领料回料单,前测报表,后测报表,员工档案等输入表单。而管理模块具体包括修改密码功能,权限管理功能,用户管理功能。为了详细介绍该办公系统,本文从以下几部分进行论述: 第一部分是引言。简要描述项目起源、开发意义和使用的工具。 第二部分是系统的总体设计。确定用户的需求,明确
19、系统工作环境和业务模块。在详细了解业务流程后,确定系统采用 C/S 架构部署,并进行数据库设计。 第三部分是系统的详细设计。该部分详细描述了系统的四大模块,分别是用户登录模块,数据输入模块,查询模块,管理模块。基于对各个模块的业务分析,提出设计与实现方案。 第四部分介绍系统的运行结果。这部分包含对系统进行测试和运行结果截图。 第五部分是总结和展望。提出对项目过程的总结和收获,并展望未来。瑞晟办公系统的设计与实现4第二章 系统的总体设计2.1 确定需求根据企业的安排,在头两个星期的时间里,每一天我都会被分配到不同的生产部门和车间,和员工进行交流,观看他们的作业过程,熟悉一步步的流程。在认识完整个
20、生产过程之后,我又和数据录入整理人员探讨了有关对数据处理的细节和要求。在深入了解企业生产过程和管理目标之后,从用户引入系统的原因,软件要实现的功能,操作人员的情况等几个方面,在与用户沟通协调后,确定该软件的主要功能和要求包括:(1)产品种类包括数码管,发光二极管,发光管等,系统以实现数码管系列产品为首要任务。每种产品有几种不同的产品型号,不能混淆。(2)数码管的生产流程包含 34 道工序,有的工序可能有不止一种生产工艺类型供选择。(3)不同工序上的作业员每天下班后,需要向数据录入员提交经过核实确认的当日产品产量单,原材料领料回料单,前测报表,后测报表。(4)每一个员工都有一个工号区别于其他员工
21、。一个员工可能在不同的时刻负责不同的工序。(5)数据录入员负责每日的产品产量录入,并于每日早上向经理提交最新的生产进度报告。(6)领导可随时根据不同查询条件,查询任一产品种类,产品型号,固定时刻的生产线上半成品结存。针对主要功能,考虑到用户实际需求、工作环境和用户成本,用户与项目管理人员确定软件最终需求:(1)产品种类共有 3 种,包括数码管,发光二极管,发光管。(2)数码管包含 15 种不同型号,比如“N02841CG-3A”,” B2510AG”等,并可继续增加新的型号。(3)数码管的生产流程包含 34 道工序,有的工序(少数)有不同工艺供选择。瑞晟办公系统的设计与实现5每道工序有各自的工
22、序号。(4)员工信息包括工号,身份证号,常做工序号等信息。(5)录入员登录系统后,需要进行基础数据输入,包括产品产量单,领料回料单,前测报表,后测报表等。(6)用户可根据不同查询条件,包括产品种类,产品型号,固定时刻等条件,来查询生产结存。(7)软件使用权限管理方式。根据软件的功能用途和用户的不同职责范围,划分为三种权限:数据输入权限,查询权限,管理权限。数据输入权限,包括对各种数据表单的输入和修改功能,查询权限是对各种基础数据的分析结果的查询功能,管理权限包含用户创建,规则的制定和决定其他用户的权限分配。2.2 确定工作环境2.2.1 硬件环境软件的运行,必须依托在完善的硬件设备上,要使软件
23、正常有效地运行,必须具备以下硬件环境:1. 操作系统必须是 586 以上,64M 内存配置:为了更好更快地运行,尽量采用内存较大的电脑。2. 运行畅通的网络环境:办公系统是由在网络上的不同用户共同使用的。如果网络出现问题,则系统将无法正常工作。2.2.2 软件环境在安装办公系统之前,还必须具备相应的软件环境,系统才能更好地运行。1. .Net FrameWork 2.0 环境。2. 应采用统一的操作系统(Windows XP) , 保证办公系统的稳定运行。3. 服务器上安装数据库系统(MySQL 5.1.31) ,从而实现信息资源安全化管理。4. 安装防病毒软件,病毒防火墙等。因为系统的正常运
24、行的前提是有一个安全稳定,不受攻击的网络环境。瑞晟办公系统的设计与实现62.3 概念性系统设计2.3.1 业务流管理人员创建用户,并分别分配用户以录入员权限和生产进度查询人员权限。拥有录入员权限的用户,进行基本数据输入;拥有生产进度查询权限的用户进行查询操作,获得所需信息,指导生产。这就是基本的业务流程2.3.2 系统模块对整个软件的整体结构进行大致的设计,在坚持细分、一致性、提高代码重用性、从上而下层层分析、提高独立性、降低耦合性和模块大小适中的原则下,将用户需求模块化如下:1. 用户登录模块。用户输入用户名和密码,服务器验证登录信息,经缺认无误,客户端用户才能成功登录系统,得以进行其他操作
25、。2. 数据输入模块,包括产品产量单的输入,领料回料单的输入,前测报表的输入,后测报表的输入等功能。这些是系统的基础数据,后续的数据查询处理都是建立在这之上的。3. 查询模块。生产经理通过选择各种查询条件,查询准确的对应条件的生产进度信息,获得进行下一步生产安排的决策支持。4管理模块。通过权限管理,用户管理,规则管理,软件将发挥作用规范化用户的行为,让不同的用户做相应职能范围的事。2.4 系统部署 C/S 架构2.4.1 架构部署C/S 架构是美国 Borland 公司最早研发。C/S 架构的特点是面向固定的用户群,信息不对外公开,对信息安全的控制能力很强,从这样的角度来看,本系统确定采用 C
26、/S 架构。从代码层面来看,C/S 架构是用 Socket,通常也称作套接字,组建起来的。这种架构将核心的处理逻辑放在了服务端,同时客户端也分担了一部分工作瑞晟办公系统的设计与实现7量,为服务器减轻载荷。在服务端安装有数据库,便于对数据资源进行集中地安全有效地管理和利用。处在企业内部局域网上的用户,通过该系统,可以方便地进行信息共享和高效工作。2.4.2 服务器采用三层架构服务器端是采用三层架构,就是将整个业务应用划分为:表现层(UI) 、业务逻辑层(BLL) 、数据访问层(DAL) 。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构,它的目的即是为了“高内聚,低耦合”的思想。结
27、合图 2-1,我们来看三个层次的具体含义,图 2-1 系统的三层架构实例图(1)表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。如本系统实例中的 UI 项目,包含 Server.cs, ClientThread.cs 等文件。瑞晟办公系统的设计与实现8(2)业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。如本系统实例中的 BLL 项目,包含 Sheet.cs 等文件。(3)数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。如本系统中的 DAL 项目,包含 DBCommand.c
28、s,DBException.cs,DBOperator.cs,DBParameter.cs 等文件。采用三层架构的原因很简单,那就是因为它明显的优点,(1)提高程序的可维护性:三层架构层次分明,一旦运行出现问题,可以快速的判断是哪一层的问题,利于维护。(2)可以合理快速的开发:三层之间除了调用没有其他关联,只需先把三层之间的接口定义好,可以并行开发,提高开发的进度。(3)提高系统的安全性:每层都有安全设置,即使表示层被攻破,那下一层的安全还有保障。(4)提高系统的扩展性:三层结构最大的好处就是在扩展应用系统时,改动的部分不影响大局。正是由于它的明显优势,本系统确定在服务端采用三层架构的设计。同
29、时,它也完全满足系统对可扩展性、安全性、健壮性等的要求。2.4.3 客户端采用 MDI 窗体客户端的处理任务量较小,所以不需要考虑三层架构。但是用户有时需要同时操作多份表格,为了避免客户端界面出现多个窗口杂乱重叠,MDI 的应用正好解决了这个问题。MDI( Multiple Document Interface) 就是所谓的多文档界面 , 它是微软公司从Windows 2.0 下的 Microsoft Excel 电子表格程序开始引入的,这是 ERP 软件或办公系统所常用的窗体格式。因为用户有时需要同时操作多份表格,MDI 为这种操作多表格提供了很大的方便,所以客户端确定采用 MDI 窗体。2
30、.5 数据库设计关系型数据库是当前广泛应用的数据库类型,本系统即按照关系数据库设计瑞晟办公系统的设计与实现9的要求和标准设计。关系数据库设计是对数据进行组织化和结构化的过程,核心问题是关系模型的设计。简洁、结构明晰的表结构对数据库的设计是相当重要的。规范化的表结构设计,在以后的数据维护中,不会发生插入、删除和更新时的异常。要设计规范化的数据库,就要求我们根据数据库设计范式,也就是数据库设计的规范原则来做。一般情况下,要满足范式的前三级标准,即:(1)第一范式(1NF):数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。(2)第二
31、范式(2NF):第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,满足第二范式(2NF)必须先满足第一范式(1NF) 。第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一地区分,即若 R1NF,且每一个非主属性完全函数依赖于码,则 R2NF。(3)第三范式(3NF):满足第三范式(3NF)必须先满足第二范式(2NF) 。若 R3NF,则每一个非主属性既不部分依赖于码,也不传递依赖于码。结合设计三范式,并按照企业的产品特点,生产流程,公司制度等材料来进行设计。除了数据库表的设计外,还包括 StroeProcedure, StoredFunction(为MySQL 数据库所特有
32、)的设计。以下是部分的表设计。表 2-1 产品代号表列名 数据类型 描述PRODUCTCODE VARCHAR(45), PK, not null 产品代号,如 N02841CG-3A 等。PRODUCTKIND INT, FK, not null 产品种类DESCRIPTION VARCHAR(45) 产品代号描述表 2-2 工序表列名 数据类型 描述PRODUCTKIND INT, PK, FK, not null 产品种类,如数码管。瑞晟办公系统的设计与实现10。 。FLOWID INT, PK, not null 工序号 FUNCID INT,PK , not null 功能号。FLO
33、WNAME VARCHAR(45),Unique,not null工序名称表 2-3 产量日报表列名 数据类型 not null 描述ID INT, PK 行标识符PRODUCTKIND INT, FK 产品种类FLOWID INT, FK 工序号FUNCID INT, FK 功能号PRODUCTCODE VARCHAR(45) , FK 产品型号WORKERID VARCHAR(45) , FK 生产该物品的员工工号TOTALNUM INT 总的生产数量CERTIFIEDNUM INT 合格数量MANUFACTURETIME DATE 产品的出厂日期,就是生产日期TIMECONSUME DE
34、CIMAL(14,4) 所花劳动时间RECORDTIME DATE 录入员录入数据的当前时间USERNAME VARCHAR(45), FK 记录者,即登录系统的用户名数据库设计的好坏决定了一个系统最终的质量的好坏。一个项目的商业特点集中体现在数据库的设计当中,因而如果数据库设计没做好,那么系统就可能达不到具体的某些业务要求,也就称不上是一个成功的系统。好的数据库设计,不仅仅限于满足业务的需求,或提升系统的性能和加快系统的处理速度,还应该能支持扩展性,尽可能地满足将来可能的需求。数据库设计是系统的非常关键的环瑞晟办公系统的设计与实现11节,它直接影响到系统的好坏。瑞晟办公系统的设计与实现12第
35、三章 系统的详细设计3.1 登录模块常用的登录模式,多会附带验证码,以保证登录的安全。但是考虑到 C/S 架构本身的对信息安全的控制能力很强,所以即使不采用附带验证码的登录模式,就可以保证非常高的安全性了。因此,系统确定采用普通的只需输入用户名和密码就可以尝试登陆的形式。用户通过输入用户名和密码,将登录信息提交到服务器之后,等待服务器的应答。服务器核对登录信息,将登录成功与否的消息发回至客户端。客户端根据登录结果,将相应的信息以对话框的形式告诉给用户。登录窗口的作用域仅限于客户端 MDI 窗体的 Form_Load()事件中。因此在登录失败,并选择退出登录的情况下,MDI 窗体将不被加载,而直
36、接退出系统。在客户端与服务端的通信过程中,实际上是按照事先约定好的自定义的通信协议来达到有效沟通的。通信协议规定了通信的格式,双方按照通信格式来解析消息内容,获取所需要的数据。这些数据并非都是简单的字符串,还可能是字符串数组或者 DataTable 对象。因为 socket 只能发送由字符串转化的字节数组,当需要用 socket 传递 DataTable 对象时,便遇到了困难。解决办法就是,采用序列化和解序列化(见附录代码1和代码2)的函数方法来处理这些非字符串对象,然后便可以用于发送和接收。3.2 数据输入模块3.2.1 产品产量单产品产量单是用来记录生产车间的作业员的每日产品产量。它包含产
37、品种类,产品型号,工序号,工号,合格量,不合格量,生产时间,耗费时间等重要属性字段。当把所有员工的产品产量单汇聚在一起的时候,它的统计结果代表着各种型号产品的生产进度。这样类型的表单,为查询提供了数据基础。当用户输入完成后,点击“保存”按钮,即可提交表格到服务器,然后等待瑞晟办公系统的设计与实现13处理结果。服务器处理完之后,将把处理结果发回至客户端,客户端在表单和状态栏同时显示处理的结果。产品产量单的类 QuantityForm.cs, 采用 Singleton 设计模式。该设计模式保证了产品产量单窗口类最多只存在一个实例化对象,即在客户端 MDI 窗口中,这种类型的窗口最多只有一个。程序代
38、码参见附录代码3。3.2.2 领料回料单领料回料单是用来记录生产车间的员工由于生产需要领取生产原材料和退还原材料的表单。领料和回料的数据统计,将得出投入生产的原材料的数量,这部分数据对于成本计算是有用的。该表单含有的重要属性字段包括,物料 ID,数量,领料或退料,发生时间等。当用户输入完成后,点击“保存”按钮,即可提交表格到服务器,然后等待处理结果。服务器处理完之后,将把处理结果发回至客户端,客户端在表单和状态栏同时显示处理的结果。同样,领料回料单窗体类 InOutSheetForm.cs 采用的是 Singleton 设计模式,以保证窗体的唯一性。3.2.3 前测报表前测报表是用来记录经过前
39、测试这一道工序时的半成品的合格量以及不合格量的表单,同时记录对应缺陷的数量。这部分的表单,将反映出半成品的合格率,和半成品不合格的原因,为生产管理者提供依据来指导生产,减少不合格的发生率。该表单含有的重要属性字段包括,固工号,焊工号,日期,投料,合格量,不合格原因等。同样,前测报表窗体类 PrvTestForm.cs 采用的是 Singleton 设计模式,以保证窗体的唯一性。瑞晟办公系统的设计与实现143.2.4 后测报表后测报表是用来记录经过后测试这一道工序时的成品的合格量以及不合格量的表单,同时记录对应缺陷的数量。这部分的表单,将反映出生产成品的合格率,和产品不合格的原因,为生产管理者提
40、供依据来指导生产,减少不合格的发生率。该表单含有的重要属性字段包括,灌胶工号,日期,投料,合格量,不合格原因等。同样,后测报表窗体类 RearTestForm.cs 采用的是 Singleton 设计模式,以保证窗体的唯一性。3.2.5 员工信息员工信息是用来记录员工的信息的表单,包括工号,身份证号,姓名,性别,住址等信息。该表的工号,是许多其他表的外键。它也同样是属于基本数据信息。在这里,可以插入新员工的信息记录,也可以修改已有的记录。这部分操作,通常是由录入员负责完成的。新员工的加入,老员工的离职,录入员都需要及时地将结果反映在软件中,保证员工信息的实时更新。同样,员工信息窗体类 Work
41、ersForm.cs 采用的是 Singleton 设计模式,以保证窗体的唯一性。3.3 查询模块数据查询模块是用户对已录入数据的所作的各种查询。查询条件包括产品种类,产品型号,截止日期这三种条件。客户端将查询条件集合发送至服务器,并等待服务器的应答。服务器将按照公式计算得出结果,并将结果保存至临时表,待所有的查询条件都计算完毕后,将临时表中的所有结果发回至客户端。然后删除临时表的内容。客户端显示接收到的结果。这些查询结果,对下一步如何调用生产力,来执行生产调度有非常重要的意瑞晟办公系统的设计与实现15义。通常,这部分功能的权限会分配给生产经理。同样,数据查询窗体类 BalanceForm.c
42、s 采用的是 Singleton 设计模式,以保证窗体的唯一性。3.4 管理模块3.4.1 密码修改用户通过输入原密码,和两次输入新密码,点击“确认”按钮,将修改密码信息发送至服务器,等待服务器答复。服务器在确认原密码无误之后,将修改密码成功的信息发送至客户端,客户端修改密码窗体将自动关闭,并在状态栏显示密码修改成功信息;若修改密码失败,将弹出提示框,并让用户重新填写原密码和新密码。同样,用户修改密码窗体类 UpdatePasswordForm.cs 采用的是 Singleton 设计模式,以保证窗体的唯一性。3.4.2 权限分配权限分配是为了明确用户的职能范围,规范用户行为,让系统有条不紊地
43、运行。分配权限的过程,就是分配职能的过程。不同职能的用户被授予不同的权限,超级用户决定了其他用户的权限分配情况。系统共划分了三种权限:数据输入权限,查询权限,管理权限。录入员拥有数据输入权限和查询权限,复杂日常的数据输入工作和为上级提交各项查询结果信息;生产经理拥有查询权限,可随时查询生产的实时信息,进而安排生产,调度任务;企业领导拥有所有的权限,最重要的是其中的管理权限。管理权限除了可以修改公司某些业务规则的功能,还可以决定其他用户的权限分配内容。企业领导同时拥有数据输入权限和查询权限,是一个超级用户。同样,权限管理窗体类 FuncForm.cs 采用的是 Singleton 设计模式,以保
44、证窗体的唯一性。瑞晟办公系统的设计与实现163.4.3 用户管理只有具备管理权限的用户才可以创建新用户,并分配一个相应的密码。用户刚被创建的时候,没有任何权限,需要管理人员为其分配相应职能的权限,新用户才能正常使用系统所提供的功能。通常管理人员不会把管理权限,即最高权限分配给别的用户,这是为了保证自己超级用户的地位和特权。除了新增用户,管理人员还可以修改用户信息,或删除用户。同样,用户管理窗体类 UsersForm.cs 采用的是 Singleton 设计模式,以保证窗体的唯一性。瑞晟办公系统的设计与实现17第四章 系统的运行结果在开发完成之后,就进入测试阶段。对所开发出来的系统,只有通过软件
45、测试,才知道项目完成的好坏,并对软件质量负责。软件测试的概念是,使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别.软件测试的重要性不言而喻,它是软件质量保证的重要手段。有些研究数据显示,国外软件开发机构 40%的工作量花在软件测试上,软件测试费用占软件开发总费用的 30%至 50%。对于一些要求高可靠、高安全的软件,测试费用可能相当于整个软件项目开发所有费用的 3 至 5 倍。由此可见软件测试的重要性。本系统主要采用黑盒测试。黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑
46、盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。黑盒测试法注重于测试软件的功能需求,主要试图发现下列几类错误:(1)功能不正确或遗漏。(2)界面错误。(3)数据库访问错误。(4)性能错误。(5)初始化和终止错误等。以下是一些经过测试之后的系统运行效果图。系统一开始,需要在打开客户端之前,先启动服务器,以便监听可能请求连
47、接的客户端,并作出响应。服务端没有打开,客户端将无法进行验证登录,更不必说进行数据输入操作和查询操作。系统必须按照先启动服务器,再打开客户端的顺序来运行。服务器启动后,内容窗口上将显示其他用户登录或退出的情况,系统运行期间,这些信息可用于跟踪服务端和客户端两者的通信情况,确保系统瑞晟办公系统的设计与实现18的良好运行情况。启动服务器的效果如图 4-1 所示。图 4-1 服务器的启动在服务端启动之后,接下来就可以打开客户端了。输入用户名和密码之后,点击“登录”按钮,访问服务端,尝试登录。如果服务端检验出用户名或密码错误,将发回登录失败的消息至客户端。客户端对用户提示出错信息,并要求重新输入,直至
48、输入正确的用户名和密码。当然,用户也可以选择点击“取消” ,退出客户端登录窗口。客户端登录的界面效果如图 4-2 所示。图 4-2 客户端的登录窗口客户端输入正确的用户名和密码,并登录成功后,登录窗口将自动关闭,并直接跳转到客户端的主界面。客户端主界面是一个多文档类型窗口,可同时有效管理多个窗口,这为用户同时操作多个表格提供了极大的方便。主窗口上提供有大量的菜单项和一些工具栏按钮,为用户提供软件的各个功能。客户端主界面的瑞晟办公系统的设计与实现19效果如图 4-3 所示。图 4-3 客户端主界面在客户端上点击“产量日报表”的菜单项,将打开产量日报表的输入窗口,用户可输入产品种类,工序,产品时间
49、等数据。该功能是为录入员设计的,他的职责是记录每日的员工的产量。产量日报表的界面效果如图 4-4 所示。图 4-4 客户端的产量日报表窗口瑞晟办公系统的设计与实现20在客户端上点击“结存查询”菜单项,将打开结存查询窗口。这是为生产经理查询当前各产品的生产进度而设计的。通过选择产品类型,产品型号,截止日期等查询条件来获得所需的结果,并以此为依据来确认之前的任务完成情况和安排下一步的生产任务。查询结果不仅具有针对性,还具有全面性。查询结果可导出到系统外的 Excel 表格,或打印,或交付上级领导查看。结存查询的界面效果如图 4-5 所示。图 4-5 客户端的结存查询窗口在客户端点击“修改密码”菜单项,将打开修改用户密码的窗口。该窗口置顶,也就是说,在修改密码的同时,无法进行其他操作,除非先退出密码修改窗口。用户输入原密码,两次输入新密码,点击“确认”按钮,等待服务端的回应。如果原密码正确,并且两次输入的新密码相同,那么服务端将发回修改成功的消息;如果原密码错误,服务端将发回修改密码失败的信息,提醒用户。密码修改的界面效果如图 4-6 所示。经过软件测试之后,确定系统满足了基本的功能需求,并在性能方面经受住了考验。对一些运行出错的地方,也及时找出了问题的根源。经过一系列的修改,程序变得更加健壮,运行得更加稳定