日程管理系统的设计与实现

摘  要

随着经济全球化、管理现代化的到来,信息化建设已提到议事日程。国家机关、高等院校、参与国际竞争的大企业等企事业单位为了提高现代化管理水平、为了在激烈的市场竞争中获胜,纷纷不同程度地加强信息化建设,如组建自己的局域网、实施适用本单位或本部门的企业级MIS(管理信息系统)项目或ERP(企业资源计划)项目,通过Internet向外发布信息等。因此,如何更好的运用计算机技术和网络技术,变得越来越重要。

本论文所介绍的日程管理系统就是将每天的工作和事务安排在日期中,做一个有效的记录,在方便管理日常的工作和事务同时,达到工作备忘的目的,并且也具有对日常工作进行指导、监督的作用。

本系统使用Access作为数据库服务,并使用C#语言在VS2008开发环境下开发完成。日程管理系统是根据个人日程而开发的一个能够高效运行的事件管理系统。本论文主要从系统分析、系统设计、系统实施与使用等几个方面对日程管理系统的开发过程进行介绍。

关键字:办公自动化;计算机日程管理数据库;

Abstract

Under global economy and modern administration’s requirement, the information processing is becoming more and more important. In order to improve their ability of administration and to catch the step of market, many Governments, enterprises and Educational gradually realize the significance of the information processing and begin to upgrade it. For example, to organize their own Local area network, or to perform MIS (Management Information System) or ERP (Enterprises Recourse Platform), witch according to their actual condition. So,how to use computer and Internet becomes more and more important.

Schedule management is the daily work and business are arranged in date, and make an effective recording, to facilitate the management of daily work and business, achieve the purpose of the memorandum. At the same time also has on the daily work guidance, supervision effect.

The system uses.Net development platform and Access database technology, according to the schedule and the development of a funny running event management system. This paper mainly from the system analysis, system design, system implementation and use of several aspects such as the introduction of schedule management system development process.

Keywords: OAS ;Computer; Management;Database;

目  录

1   

1.1选题背景及意义

1.2现有系统存在问题的分析

1.3系统开发目标

1.4技术可行性

1.4.1 办公自动化

1.4.2 NET2.0的特性

1.4.3 ADO.NET特性

2 开发环境与技术介绍

2.1开发环境介绍

2.1.1 Microsoft Visual Studio

2.1.2 Access数据库

2.2开发技术介绍

2.2.1 ASP.NET技术

2.2.2 ADO.NET的对象模型

3 需求分析

3.1 需求分析

3.2 功能需求

3.3 性能需求

3.4 安全性需求

3.5 运行环境

4 系统设计

4.1系统设计思想

4.2 UI设计原则

4.3设计目标

4.4功能描述

4.5数据库结构的设计

4.6系统结构

4.7系统界面及代码展示

5 系统测试

5.1测试过程

5.2测试方法

5.3系统运行环境

6 结论

6.1系统评价

6.2关于下一步工作要解决的几个问题的讨论

参考文献

  

第1章 绪  论

1.1选题背景及意义

在我们日常繁杂的工作和生活中,总是有很多重要日程需要安排,个人的日常工作、重要会议以及重要的或具有特殊意义的时间日期等,都需要在特定时间给予醒目标识或者提示,日程安排就可以很好的完成这些工作。

随着科学技术的发展,计算机得到广泛应用,在给人们提供便捷生活的同时,各人的日程安排也有了明显的进步,以前我们只局限于用原始的纸笔来进行记录,而现在呢,我们可以通过计算机来进行数据记录,并可以提醒给用户。

1.2现有系统存在问题的分析

在没有计算机的时代,我们对日程安排只能通过手写来记录,并且没有相应的提醒工具,人们有时会因为没有及时翻阅记录而错过了重要会议、重要日程等,也因为翻阅日程记录而浪费了很多的时间。

在20世纪60年代在随着电子技术的发展,出现了一些好的提醒工具,比如闹钟。人们就可以通过闹钟的提示来完成日程的提醒,但是闹钟只是能提醒最近一个记录,这样就会总要去设置时间来提示,也会浪费很多的时间。像一个人错过了重要会议会有什么后果。所以日程安排的重要性尤为重要。

1.3系统开发目标

本系统能减少很多不必要的资源,不用像以前那样用冗余的纸张式的管理和记录。使人们的日常工作有一个合理的安排和不用因为过于繁忙而错过重要的日程。

用户需要对日程管理系统进行保存、更新、查询、维护等操作,这就需要数据库结构能充分满足各种信息的输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据。

项目目标包括以下几点:

1. 通过关于本系统管理系统的实现,是个人的日程管理更加完善。

2. 可以查看日历、月历、农历。

3. 可以编辑日程事务,了解行程。

4. 可以提醒备忘事项,大大提高了办事效率。

1.4技术可行性

1.4.1 办公自动化

办公自动化(OA-Office Automation)是将现代化办公和计算机网络功能结合起来的一种新型的办公方式,是当前新技术革命中一个非常活跃和具有很强生命力的技术应用领域,是信息化社会的产物。通过网络,组织机构内部的人员可跨越时间、地点协同工作。通过OA系统所实施的交换式网络应用,使信息的传递更加快捷和方便,从而极大地扩展了办公手段,实现了办公的高效率。

进入九十年代中期后,随着网络技术(如:100M以太网)、群件系统(特别Microsoft Exchange Server和Louts Notes)、数据库技术(成熟的关系数据库管理系统)和各种面向对象开发工具(如:JAVA)等技术和产品日渐成熟而被广泛应用,同时由于国内经济的飞速发展引发市场竞争的逐渐激烈,以及政府管理职能的扩大和优化,这一切导致政府和企业对办公自动化产品的需求快速增长。这时,办公自动化开始进入一个快速的发展阶段。随着软件市场的逐渐开拓,国内专门从事软件开发的公司也逐渐成长起来,并专门为政府和企业“度身定做”办公自动化系统,由于这些系统是根据用户的具体需求开发的,所以它功能比较完善,并能较好的满足用户的实际需要。

1.4.2 NET2.0的特性

NET Framework 2.0 Beta 扩展了.NET Framework 1.1版本,得到许多新的特性,并且提升了已有的特性,这些都被以文档的形式记录下来。这篇文章主要提供一些关键信息和修改的内容。对64位平台的支持:新一带64位计算机使得应用程序运行得比32位应用程序更快并更能充分利用内存。新增加的对64位应用程序的支持使得用户可以创建托管代码库或者很容易的使用非托管代码库于64位计算机之上。访问控制列表被用来授予和回收访问计算机资源的权限。已经被添加到.NET Framework上的新类允许托管代码访问和修改访问控制列表,这样利用一个访问控制列表就可以把新成员添加到I/O、注册表和线程类上。

1.4.3 ADO.NET特性

(1) Dataset

许多Ado.net的工作都是围绕一个对象Dataset来展开工作的,Dataset是从数据库查询得来的缓存信息。Dataset最革命性的特点是它是无连接的并且同时可以存储多个表并且可以定义他们之间的关系。

(2)无连接特性

无连接特性是Ado.net最重要的特点,在先前的连接都是在代码工作的时候保持数据库连接,可以保持即时的更新但是它限制了连接的数目。无连接就不会出现这样的问题。但是无连接也会带一些新的问题,它很容易造成不一致的更新。但是Ado.net提供了一套特性来解决这些问题。

第2章 开发环境与技术介绍

技术是完成系统设计的核心,它的选择决定了系统的整个设计流程,体现着开发系统的成败与效率。所以选择何种技术是一个非常重要环节。本系统采用了微软公司的.net开发平台和Access数据库技术。

2.1开发环境介绍

2.1.1 Microsoft Visual Studio

Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework和Microsoft Silverlight。

Visual Studio .NET是用于快速生成企业级ASP.NET Web应用程序和高性能桌面应用程序的工具。Visual Studio包含基于组件的开发工具(如Visual C#、Visual J#、Visual Basic和Visual C++),以及许多用于简化基于小组的解决方案的设计、开发和部署的其他技术。

2.1.2 Access数据库

Microsoft Office Access是由微软发布的关联式数据库管理系统。其性能和安全性相比其前一版本有了巨大的进步,是一个全面的数据库管理平台,大大增强了系统的兼容性,并增加了有关XML、.NET、用户自定义数据类型以及许多特别服务的特征集。

Microsoft Access在很多地方得到广泛使用,例如小型企业,大公司的部门。

Access的用途体现在两个方面:

一、用来进行数据分析: Access有强大的数据处理、统计分析能力,利用Access的查询功能,可以方便地进行各类汇总、平均等统计。并可灵活设置统计的条件。比如在统计分析上万条记录、十几万条记录及以上的数据时速度快且操作方便,这一点是Excel无法与之相比的。 这一点体现在:会用Access,提高了工作效率和工作能力。

二、用来开发软件: Access用来开发软件,比如生产管理、销售管理、库存管理等各类企业管理软件,其最大的优点是:易学!非计算机专业的人员,也能学会。低成本地满足了那些从事企业管理工作的人员的管理需要,通过软件来规范同事、下属的行为,推行其管理思想.(VB、.net、 C语言等开发工具对于非计算机专业人员来说太难了,而Access则很容易)。 这一点体现在:实现了管理人员(非计算机专业毕业)开发出软件的“梦想”,从而转型为“懂管理+会编程”的复合型人才。

另外,在开发一些小型网站WEB应用程序时,用来存储数据。例ASP+Access这些应用程序都利用ASP技术在InternetInformation Services运行.比较复杂的WEB应用程序则使用PHP/MySQL或者ASP/Microsoft SQL Server.

2.2开发技术介绍

2.2.1 ASP.NET技术

对于ASP.NET这个术语,在狭义范围内指的是.NET类库中专门用于设计Web页面那一部分类库。但是另一方面,ASP.NET也可以用来泛指所有与.NET Web应用程序开发相关的技术。

ASP.net 是Microsoft 开发的一种基于.Net 平台的新技术,是建立、管理、部署Web 应用程序最佳的平台。整个ASP.net 由功能强大的Visual Basic.net、VisualC#.net、Visual C++.net|、Jscript.net、Managed Exrensions for C++、XML、VisualJ++等. NET 兼容语言编写而成的,它与.NET Framework 紧密地整合,提供了更模块化的设计方式。ASP.net 的每个网页都可视为一个完全编译过的执行时期的对象,能够享受面向对象设计、及时编译与动态快取技术所带来的好处。

2.2.2 ADO.NET的对象模型

ADO.NET建立在NetFramwork一些核心类的基础之上,可以将这些类分为两组:用于包含于管理数据的容器类与用于连接特定数据源的控制类。

容器类是通用的,无论使用什么样的数据源,都可以使用相同的数据容器实现数据存储。

用于连接特定数据源的类成为ADO.NET的数据提供程序。此处仅研究AQL Server数据库提供程序。

几个重要的命名空间:

System.Data:包含了DataSet与DataRelation类,支持结构化关系数据的操纵。独立于特定的数据库类型与连接方式。

System.Data.Common:提供特定的数据源自定义版本

System.Data.SqlClient:用于连接SqlServer数据库与执行命令的类。

System.Data.SqlTypes:包括了SqlServer数据类型的结构。可以运用这些类型对SqlServer数据库类型直接操作。

System.Data.OracleClient:

System.Data.Odbc

ADO.NET是微软在.NET中对数据存取问题的解决方案,也是.NET开发平台的核心服务之一,使用它的目的就是为了开发高效多层的数据库应用程序。在.NET框架中,ADO.NET是一套类库,它为开发人员提供数据访问服务,以创建分布式的数据共享应用程序。ADO.NET的对象模型如图1所示,其中包含了能够完成各种数据操作的对象。连接不同类型的数据存储区(如Microsoft SQL Server、Oracle、Access)等,只需使用不同数据提供程序的相关对象即可。

图1-1  Ado.Net体系结构图

第3章 需求分析

3.1 需求分析 

日程管理系统是为了帮助人们更好的完成日常工作计划制定和备忘录等功能的系统。通过本系统,人们可以更高效率的完成工作和生活中的日程安排和任务管理。

3.2 功能需求

1.录入功能:用户进入此系统,可以添加每日日程事务,对日程事务进行修改、查询、删除等。

2.提醒功能:日程管理系统会根据系统当前时间对用户添加的日程事务进行提醒,人性化方面的是用户可以根据自己的兴趣爱好自主选择提醒的音乐。

3.设置功能:用户可以根据自己的喜好不同,个性化设置日程提醒时间、日程提醒次数、提醒音乐。

4.最小化功能:系统可以最小化为系统托盘,安静运行,不影响用户日常操作。

5.退出功能:结束并关闭系统。

下表1详细列出该系统特性包含的功能集。这些是须提交给用户的软件功能,使用户可以使用所提供的特性执行特定的服务。描述各功能需求如何响应可预知的出错条件或者非法输入或动作。对每个功能需唯一标识。

表1-1日程安排功能需求

功能编号

功能名称

功能描述

1

当日事务

  1. 包含当日已处理事务、当日未处理事务
  2. 添加按钮可以对事务进行取消提醒、修改事务、删除事务操作。

2

管理事务

  1. 所有事务模块:包含事务内容、提醒音乐、提醒日期等详细信息。
  2. 添加按钮可以对事务进行取消提醒、修改事务、删除事务、清空已处理、清空所有操作。
  3. 新增事务模块:包含新增事务提醒日期、时间、提醒音乐、事务等级等详细信息。

3

系统设置

  1. 用户可以根据个人喜好不同对事务提醒音乐、系统运行情况进行个性化设置。

3.3 性能需求

详细描述不同应用领域对软件性能的需求,解释它们的原理以帮助设计人员做出合理的设计选择。确定相互合作的用户数或者所支持的操作、响应时间以及与实时系统的时间关系。定义容量需求,例如存储器和磁盘空间的需求或者存储在数据库中表的最大行数等。

3.4 安全性需求

详细描述与系统安全性、完整性或与登录到该系统的使用人员的隐私相关的需求,这些问题会影响到软件系统的使用以及创建或使用的数据的保护。定义用户身份确认或授权需求。明确产品必须满足达到安全性或保密性策略。

如有必要,须描述与产品使用过程中可能发生的损失、破坏或危害相关的需求。定义必须采取的安全保护或动作,预防潜在的危险动作。明确软件系统必须遵循的安全标准和规则。例如如果油箱的压力超过了规定的最大压力的95%,那么必须在1秒钟之内停止操作。

3.5 运行环境

硬件环境:

最低配置:CPU Pentium 3/1.0GHZ 内存128M 硬盘10.0G

建议配置:CPU Pentium 4/1.0GHZ 内存512M 硬盘40.0G

软件环境:

操作系统:Windows XP

数据库:Access数据库

第4章 系统设计

系统的设计与实现,确定了对系统的设计基本思想、系统的逻辑结构设计、数据库设计和系统各个窗体的设计和功能实现。本节详细的介绍了系统的主要模块设计内容和设计思路。

4.1系统设计思想

1.采用现有的资源,先进的管理系统开发方案,充分利用现有的资源,减少开发中的时间和财力、物力、提高系统开发的水平和应用效果。

2.系统就满足用户的需求,例如用户对个人日程的增加、修改、删除等。用户对日程提醒默认的提醒音乐、间隔时间的个人设置等。

3. 系统具有根据用户需求进行数据添加、删除、修改等操作。

4.2 UI设计原则 

UI设计是系统具有良好的易用性的一个重要因素,基于本系统的特殊应用范围考虑,本系统的UI设计主要从两个方面去考虑:一是功能,二是风格。

针对页面功能上的要求是:应具有系统所有功能在用户眼中一目了然,方便用户操作,具备良好的导航性。

针对页面风格上的要求是:体现美观、简约、大方、现代、友好易用等设计元素。

本系统UI设计应该遵循以下几个原则:

操作界面友好,美观,大方。

项目风格统一,让用户可以快速熟悉项目的功能,设计结构,信息显示一目了然。

风格简约,突出功能与重点。

4.3设计目标

本文通过进行比较详细透彻的调研工作和后期的设计实现,从大的功能模块上要实现当日事务、管理事务、系统设置三个大的功能模块。

从具体的业务流程中可以抽取出:包括添加、删除、编辑、查询在内的维护功能,数据库文件的导入功能,对于数据库中的数据进行查询功能等。通过概要设计、具体设计以及编码实践,能够用计算机实现日程安排,并最终通过测试能够交付用户使用。

4.4功能描述

1.设定开机启动,当已设开机启动下次计算机启动的时候,本系统会自动运行.

2.定期提醒,到达设定好的日期时候,系统会主动弹出消息框和音乐提醒,提醒用户当日有重要日程安排需要完成.

3.定时提醒,到达指定的时间时候,系统会进行音乐提醒和弹出消息对话框,提醒用户设定好的时间已到,有计划好的日程需要完成.

4.音乐设定,在提醒时候可以播放音乐,音乐的路径和名称可以根据用户喜好自由调节.

5.个性设置,用户可以根据需要对系统自动运行、最小化运行、提醒次数等进行设置。

4.5数据库结构的设计

数据结构是开发应用系统中非常重要的一个环节,数据结构设计的好坏直接关系到程序的后期开发效率及开发的成败,因此在具体编写代码前,一定要做好数据结构的设计工作。

设计一个好的数据结构需要进行详细的应用系统需求分析,另一方面设计经验也是个重要因素,根据经验提出一下几条建议:

1.字段的唯一性。不允许同名异义的字段或异名同义的字段出现,这使数据的一致性得到的基本保证。

2.检索频率相差较大的数据项不直接放在同一库中。这样可以提高检索速度,减少数据传输量。

3.避免不同数据中重复出现同一类非关键字。

4.把共享数据尽可能集中存放。

5.应用统一的设计准则,即数据库维护权限准则、子系统接口设计的路径名、数据库名、模块名统一准则。

本系统只包含一个数据表,详细信息如下:

表1-2  事务数据表

字段名称

数据类型

说明

ID

自动编号

主键

D_SOLAR_CALENDAR

日期/时间

日程事务对应的阳历

D_LUNAR_CALENDAR

日期/时间

日程事务对应的阴历

D_CONTENT

文本

日程事务内容。

D_REMIND_MUSIC_PATH

文本

日程事务默认提示音乐

D_LEVEL

数字

日程事务等级暂时分为五级,0代表特急,1代表紧急,默认为2(中级),3代表缓慢,4代表过期。

D_REMIND_FLAG

数字

提醒标志,0代表已经提醒,1代表没有提醒,默认1。

4.6系统结构

本系统从功能上划分可分为以下两大模块:日程管理和新增事务。

1.日程管理模块:用户运行系统可以查看当前日程事务安排,其中,当日日程事务分为已处理事务和未处理事务两种。用户可以根据自己的需要对这两种事务进行修改、删除、清除历史记录等操作。

2.新增事务模块:此模块列出了新增事务的详细信息,包括:事务内容、提醒音乐、阴历或者阳历日期等详细信息。方便用户根据需要可以随时调整自己的日程。

4.7系统界面及代码展示

本系统是小型管理系统,操作简单易于上手,适用于各大人群,为了使系统变得简明扼要,本系统主要包括以下几个界面:

1.当日事务界面:此界面包含当日待处理事务和当日已处理事务两个模块。每个模块都包括事务内容、紧急程度、阳历、阴历、处理状态、提示音乐等详细信息。同时,模块中都添加了一些方便操作的按钮,便于用户对事务进行操作处理。

图1-2 当日事务界面

1.初始化窗体图标与皮肤。

public static void InitForm(Form frmUI, SkinUI dailySkinUI)

        {

MemoryStream mStream = new MemoryStream(Properties.Resources.dailySkin);

dailySkinUI.SkinSteam = mStream;

frmUI.Icon = Properties.Resources.Icon;

        }

public static void InitForm(Form frmUI)

        {

            frmUI.Icon = Properties.Resources.Icon;

        }

2.构造系统运行参数。

public static void InitSysParameter()

        {

            ChineseCalendarInfo cClaendar = new ChineseCalendarInfo(DateTime.Today);

            XmlDocument xml = new XmlDocument();

            string fileName = Application.StartupPath + "\\Config.xml";

            try

            {

                xml.Load(fileName);

            }

            catch (Exception ex)

            {

                MessageHandle.MessageError(ex.Message, "错误信息");

                Application.Exit();

            }

            XmlNode xmlNode = xml.SelectSingleNode("Root");

            if (xmlNode != null && xmlNode.HasChildNodes)

            {

                XmlNodeList xmlNodeList = xmlNode.ChildNodes;

                if (xmlNodeList.Count == 4)

                {

                    Int32.TryParse(xmlNodeList[0].InnerText.Trim(), out TIMES);

                    Int32.TryParse(xmlNodeList[1].InnerText.Trim(), out MINUTES);

                    DEFAULT_MUSIC_PATH = xmlNodeList[2].InnerText.Trim();

                    bool.TryParse(xmlNodeList[3].InnerText.Trim(), out RUN_BACKGROUND);

                }

            }

            RegistryKey dailyRun = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");

            string[] subkeyNames = dailyRun.GetValueNames();

            foreach (string key in subkeyNames)

            {

                if (key.ToLower() == "daily")

                {

                    RUN_ON_START = true;

                    break;

                }

            }

            BusinessFacade.BusAdminDaily.InitTodayUnDoDaily();

        }

}

3.应用程序主入口点。

static void Main()

        {

            Process[] processes = Process.GetProcessesByName("daily");

            if (processes != null && processes.Length == 2)

            {

                processes[1].CloseMainWindow();

                ShowWindowAsync(processes[0].MainWindowHandle, 1);

                SetForegroundWindow(processes[0].MainWindowHandle);

            }

            else

            {

                Global.GlobalVariable.InitSysParameter();

                Application.EnableVisualStyles();

                Application.SetCompatibleTextRenderingDefault(false);

                Application.Run(new UI.FrmMainThread());

            }

        }

2.管理事务界面:此界面包含所有日程事务和新增日程事务两个模块。

图1-3 管理事务界面

点击增加按钮,如果选定事务时间与当前系统时间相同,跳转到新增事务窗口。个人日程的增加日程流程图如下图1-4

图1-4 个人日程的增加日程流程图

1.取消提醒。

private void btnCancelToday_Click(object sender, EventArgs e)

        {

            if (dgvToday.SelectedRows.Count > 0 && MessageHandle.MessageAsk("确定要取消该日程事务?", "确定取消") == DialogResult.OK)

            {

                DataGridViewSelectedRowCollection selectedRows = dgvToday.SelectedRows;

                if (BusAdminDaily.UpdateDaliyState(selectedRows[0].Cells[0].Value.ToString(), "0"))

                {

                    selectedRows[0].Cells["colRemindFlag_Today"].Value = "已处理";

                    DataRow dr = ((DataRowView)selectedRows[0].DataBoundItem).Row;

                    _dsDidToday.Tables[0].Rows.Add(dr.ItemArray);

                    dgvDidToday.CurrentCell = dgvDidToday.Rows[dgvDidToday.Rows.Count - 1].Cells[1];

                    if (_dailyEntity != null && _dailyEntity.ID == selectedRows[0].Cells[0].Value.ToString())

                    {

                        _dailyEntity.D_REMIND_FLAG = "0";

                    }

                    dgvToday.Rows.Remove(selectedRows[0]);

                    MessageHandle.MessageInfo("恭喜,取消成功!", "提示信息");

                }

            }

        }

2.修改事务。

private void btnModifyToday_Click(object sender, EventArgs e)

        {

            if (dgvToday.SelectedRows.Count > 0)

            {

                DataGridViewSelectedRowCollection selectedRows = dgvToday.SelectedRows;

                mFromWhere = 1;

                ModifyDaily(selectedRows);

            }

        }

3.删除事务。

private void btnDelToday_Click(object sender, EventArgs e)

        {

            if (dgvToday.SelectedRows.Count > 0 && MessageHandle.MessageAsk("注意:该日程还没执行!\n 确定要删除该日程事务?", "确定删除") == DialogResult.OK)

            {

                DataGridViewSelectedRowCollection selectedRows = dgvToday.SelectedRows;

                if (BusAdminDaily.DeleteDailyById(selectedRows[0].Cells[0].Value.ToString()))

                {

                    if (_dailyEntity != null && _dailyEntity.ID == selectedRows[0].Cells[0].Value.ToString())

                    {

                        _dailyEntity = null;

                        ClearForm();

                    }

                    dgvToday.Rows.Remove(selectedRows[0]);

                    MessageHandle.MessageInfo("恭喜,删除成功!", "提示信息");

                }

            }

        }

4.清空已处理。

private void btnClearDidToday_Click(object sender, EventArgs e)

        {

            if (dgvDidToday.SelectedRows.Count > 0 && MessageHandle.MessageAsk("确定要删除当日所有已处理日程事务?", "确定删除") == DialogResult.OK)

            {

                if (BusAdminDaily.DeleteDailyOfToday())

                {

                    if (_dailyEntity != null)

                    {

                        foreach (DataGridViewRow dataRow in dgvDidToday.Rows)

                        {

                            if (_dailyEntity.ID == dataRow.Cells[0].Value.ToString())

                            {

                                ClearForm();

                                _dailyEntity = null;

                                break;

                            }

                        }

                    }

                    _dsDidToday.Tables[0].Rows.Clear();

                    MessageHandle.MessageInfo("恭喜,清空成功!", "提示信息");

                }

            }

        }

5.清除所有。

private void btnDeleteAll_All_Click(object sender, EventArgs e)

        {

            if (dgvAll.Rows.Count > 0)

            {

                bool bHasToDo = false;

                if (dgvAll.Rows[0].Cells[5].Value.ToString() == "未处理")

                {

                    bHasToDo = true;

                }

                if (bHasToDo && MessageHandle.MessageAsk("注意:有日程事务还没执行!\n确定要删除所有日程事务?", "确定删除") == DialogResult.OK)

                {

                    BusAdminDaily.DeleteDailyOfAll();

                    if (_dailyEntity != null)

                    {

                        foreach (DataGridViewRow dataRow in dgvAll.Rows)

                        {

                            if (_dailyEntity.ID == dataRow.Cells[0].Value.ToString())

                            {

                                ClearForm();

                                _dailyEntity = null;

                                break;

                            }

                        }

                    }

                    _dsAll.Tables[0].Rows.Clear();

                    MessageHandle.MessageInfo("恭喜,删除成功!", "提示信息");

                }

                else if (!bHasToDo && MessageHandle.MessageAsk("确定要删除所有日程事务?", "确定删除") == DialogResult.OK)

                {

                    BusAdminDaily.DeleteDidDailyOfAll();

                    if (_dailyEntity != null)

                    {

                        foreach (DataGridViewRow dataRow in dgvAll.Rows)

                        {

                            if (_dailyEntity.ID == dataRow.Cells[0].Value.ToString())

                            {

                                ClearForm();

                                _dailyEntity = null;

                                break;

                            }

                        }

                    }

                    _dsAll.Tables[0].Rows.Clear();

                    MessageHandle.MessageInfo("恭喜,删除成功!", "提示信息");

                }

            }

        }

3.关于系统界面:简单介绍系统及作者联系信息。

图1-5 关于系统界面

4.系统设置界面:用户登陆后提醒今天一天中的所有任务。

图1-6 系统设置界面

(1)自动运行设置     A.自动运行,此项的标示数据是从ini文件进行读取.     B.如果选中“自动运行”项在菜单项要有一个“√”标示,并把该系统的文件写到注册表自动启动项中。     C.如果已有“√”标示再次点击时,应更改ini文件,同时删除注册表中自动启动项目中的内容。(2)设置播放音乐目录     A.当提醒的消息框弹出时,播放指定的音乐,这个音乐设定在ini文件中,如原来有播放的音乐,打开目录对话框时要提示原来的音乐文件。      B.音乐文件格式首选MP3,也可以是其它音乐格式。      C.当按“打开”按钮后更新ini文件。

图1-7选择提醒音乐

选择提醒音乐:

private void btnBrowseDefaultFile_Click(object sender, EventArgs e)

        {

            openfiledlgMuicePath.Filter=“常见音频文件

(*.mp3;*.wav;*.wma;*.mid;*.asf)|*.mp3;*.wav;*.wma;*.mid;*.asf";

            if (openfiledlgMuicePath.ShowDialog() == DialogResult.OK)

            {

                txtDefaultMusicPath.Text = openfiledlgMuicePath.FileName;

            }

        }

5.日程事务提醒界面:

图1-8 日程事务提醒界面

在日历卡中选择某一天的日程,个人日程中就会显示该天的内容,流程如图6,与修改日程按钮流程如图1-7。

图1-9显示个人日程流程图

6.系统托盘实现

图1-10系统托盘实现

系统启动后将他们自身的图标放入状态栏中,用鼠标点击该图标会弹出一个菜单,可实现系统设置、显示主界面、退出系统等功能。如下图

图1-11系统托盘右键菜单

第5章 系统测试

由于毕业设计提交的系统只是为需求服务的原型,因此其系统测试相对简单,采用的是软件工程中的白盒测试与黑盒测试相结合的方式。即首先进行黑盒测试,出现错误后再进行白盒测试。

在黑盒测试中,直接输入可能出现错误结果的数据,查看结果,如果出现错误,再进行白盒测试,检验程序中出错的程序段或查出没有考虑到的情况。

5.1测试过程

本系统的测试过程分两个步骤:

(1)界面测试:界面是否美观大方,是否与系统风格相符,按钮、标签等布局是否合理,页面在窗口中的显示是否正确、美观,结合兼容性测试对不同分辨率下页面显示效果;

(2)功能测试:模拟用户通过日程事务管理系统对日常事务进行一些增加、修改、删除等操作,验证本系统是否能完整完成功能。

经过以上步骤的测试,系统未发生错误,可以正常运行,功能可以满足系统应有功能,测试符合标准和规范。

5.2测试方法

测试过程按4个步骤进行,即单元测试、集成测试、确认测试和系统测试及发布测试。

5.3系统运行环境

硬件环境:

最低配置:CPU Pentium 3/1.0GHZ 内存128M 硬盘10.0G

建议配置:CPU Pentium 4/1.0GHZ 内存512M 硬盘40.0G

操作系统:Windows XP          

数据库:Access数据库

第6章 结论

6.1系统评价

办公自动化软件的发展已经有很多年了,随着计算机技术的迅速发展,办公自动化软件的内涵也得到了大大的拓展,从最早的单机软件到现在的网络软件,从简单的文字处理到现在的知识管理,办公自动化在企业中起到了越来越大的作用。而对于广大中国企业用户来说,系统界面友好,操作简单,易学易用是非常重要的。

本论文所描述的“基于C#的日程管理系统设计与实现”是本人在本科生毕业设计期间设计并实现的。在详细功能设计中抽取出各个功能模块共性的具体功能,对其进行了详细的描述设计,这样各功能模块在后来的实际编码中能够快速地实现。整个系统界面友好、美观、使用方便、大大降低了对使用者计算机知识的要求,特别适合于企业机关和各企事业单位的内部办公自动化系统的建设。

6.2关于下一步工作要解决的几个问题的讨论

由于本系统的开发时间有限,再加上我本身对该领域知识掌握的有限,所以我在这个系统的整体设计和功能实现上还存在一些有待改进和增加的地方。

1.日历卡页面显示

我目前仅仅可以实现系统的需求,在页面中可还达不到以字体的变化(字体大小,斜体等)来显示特殊日期。现在的日历卡看起来还不是十分的醒目。

2.日程显示功能

在日程事务选项卡缺少鼠标右键功能,这样使得在对事务进行删除、修改等操作时候需要每一个都选定,操作不够简洁。

3.代码量方面。

 有些代码可以进一步细化,减少代码的冗余。实现代码的复用。

4.安全性问题:由于日程安排与个人的日常生活和隐私有关,用户信息一旦泄露或被恶意更改将会造成极其严重的后果,因此安全性问题在这个子模块显得尤为重要。采取的措施:

(1) 安装防火墙

安装防火墙并且屏蔽数据库端口能有效地阻止来自Internet 上对数据的攻击。

(2) 添加用户用户名、用户密码登录模块。

参考文献

[1]施燕妹,陈培,陈发吉.C#语言程序设计教程.北京:中国水利水电出版社,2004.

[2]李存斌,《.net程序设计及其应用开发》,[M].中国水利水电出版社,2002.3.

[3]孙永强等.C#.NET入门与提高.北京:清华大学出版社,2002.

[4]吴柏林,《信息技术及其应用》,[M].复旦大学出版社,2004.7.

[5]Samir Barman. Perceived relevance and quality of POM journals: a decade[J].Journal of Operations Management,2001,19(3).

[6]万新恒,《信息化校园.大学的革命》,[M].北京大学出版社,2003.6.

[7]飞思科技,《.net数据库开发》,[M]电子工业出版社,2002.1.

[8]I.C. Cornforth. Selecting indicators for assessing sustainable land management.[J].Journal of Environmental Management,1999,56(3).

[9]薛化成 .管理信息系统.北京:清华第2版). 电子工业出版社, 2008大学出版2007.

[10]汪斌.  基于ASP.NET的MVC框架的应用研究[J]. 电脑知识与技术. 2009(07).

[11]陈晓丹,郑毅.  ASP.NET开发环境下的WebForm与MVC设计模式[J]. 武汉工程职业技术学院学报. 2009(02).

[12]翁小兰.  基于ADO.NET的数据库访问技术研究[J]. 石河子大学学报(自然科学版). 2006(04).

[13]霍静.  基于ASP的动态信息发布系统实现初探[J]. 科技信息. 2010(34).

[14]李浩,梅清,郑祥稳.  ADO.NET中的数据集访问技巧[J]. 软件导刊. 2006(13).

[15]曹亮.  浅谈.net技术及其在企业办公自动化系统研发中的应用[J]. 中国新技术新产品. 2010(13).

[16]訾秀玲. Access数据库技术及应用教程.清华大学出版社.2007.

[17]Robin M. Cross. Value data and the Bennet price and quantity indicators.[J].Economics Letters,2008,102(1). 

致  谢

首先真诚的感谢指导老师//老师,没有老师的帮助与指导,我得这份毕业设计不可能完成得这么顺利。在毕业设计的过程中,我得到了刘老师耐心和认真的辅导,这种严谨求实、认真负责的工作态度是值得我们永远学习的。此外,身边周围同学在我的毕业设计中也给予了莫大的关怀和帮助,同学们认真的学习态度、刻苦钻研的精神也永远是我学习的榜样。

大学四年中,毕业设计是一个很重要的环节,是我们独立完成完整项目规划、实施与实现的一次极好的展示。毕业设计是四年学习的总结与提高,要求我们用严谨务实的态度来对待它。

这次毕业设计是对我四年以来所学内容的综合应用,虽然时间有限,过程曲折,但我还是从这次毕业设计中学到了好多知识,为我以后走向工作岗位和继续深造打下了良好的基础。在以后的学习和工作中,我仍然要不断努力,严格要求自己,实现自己的人生理想……

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

等天晴i

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值