资源描述
基于ASP.NET的网络账本管理系统设计与实现毕业设计论文摘要:收支管理是一个家庭日常生活中不可缺少一部分,也是财务管理的重要组成部分。它的内容对于财务管理者来说都至关重要,所以网络账本管理系统应该能够为用户提供完整、正确和灵活的理财信息和快捷的分析手段。但一直以来人们使用传统人工的方式文件和纸张记账管理模式,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。所以利用计算机实现财务信息的管理的自动化将势在必行。网络账本系统是典型的管理信息系统,其设计主要包括数据库的建立、维护以及应用程序的开发两个方面。前者要求建立的数据库,数据一致性和完整性强、数据安全性好。而后者则要求应用程序具备完善的功能、易使用和易维护等特点。整个系统的开发利用软件工程原理,采用面向对象的编程方法,其开发主要包括后台数据库的建立、维护以及前端应用程序开发,实现了网络账本的自动化和信息化。关键词:收支管理 家庭日常 管理系统 数据库管理系统目 录引言41 绪论51.1课题背景及目标51.2课题意义51.3 预期的读者和阅读建议61.4研究目的及使用范围62 系统概述72.1 概述72.2 功能72.3 运行环境82.4 假设与依赖92.5 数据库连接技术的选择92.6 系统性能要求102.7 系统开发工具113 需求分析183.1 性能需求183.2 安全性需求183.3 可用性需求193.4 用户文档193.5 其它需求193.6界面需求分析204 系统设计224.1设计要求224.2设计模式224.3采用的关键技术及复杂性分析254.4 登陆管理254.5账簿管理264.6家庭成员管理274.7 收支项目管理274.8数据库设计28第五章 网络账本软件的界面及程序设计335.1系统登录模块的设计与实现3352主界面的设计与实现335.3账簿管理3454家庭成员管理355.5收入/支出项目维护356. 致谢387 参考文献39附录40引言随着社会的飞速发展,现代家庭在网络账本上面对的项目和事物越来越多,需要处理的信息急剧增加。为了可以对诸多的信息实现科学的管理,网络账本软件的需求也就应运而生。网络账本系统在强调管理、强调信息、强调经济效益的现代社会中越来越普及,越来越重要。而网络账本一直运用于企业单位,是体现一个企业的竞争力,市场力和凝聚力的方面,可以说,没有一个符合企业状况的网络账本系统,这样的企业就没有良好的发展前景。现在,收支管理不再仅仅是企业所要具备的,小到一个家庭,也是必不可少的。本人的这个网络账本系统就是为家庭而设计的,通过这个程序,我们可以便捷的记录每年每月每天的日常开销和收入,我们只需要点击鼠标,就可以计算出收支的平衡情况,为家庭的网络账本提供帮助,有利于收支的良性发展。收支管理是一个家庭日常生活中不可缺少一部分,也是财务管理的重要组成部分。它的内容对于财务管理者来说都至关重要,所以网络账本管理系统应该能够为用户提供完整、正确和灵活的理财信息和快捷的分析手段。但一直以来人们使用传统人工的方式文件和纸张记账管理模式,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 所以利用计算机实现财务信息的管理的自动化将势在必行。该文档详尽说明了这一软件产品的需求和规格,这些规格说明是进行设计的基础,也是编写测试用例和进行系统测试的主要依据。同时,该文档也是用户确定软件功能需求的主要依据。1 绪论1.1课题背景及目标日常生活是一个小小的管理单元,他的管理已经成为世人瞩目的焦点。随着时代的发展,日常生活的格局发生重大变化,日常生活的收入与支出是一个零碎又与切身利益相关的问题。很多家庭对于一段时期的收入和开支不是很明了。陷入经济烦恼中。所以很多家庭都需要一个智能的管家来帮助管理家庭的财务。每个家庭来说,获取收入的多少是家庭生活条件好坏的前提。然而保证每一项开支都合理、有效则是每个家庭生活好坏的必要条件。因此,如何标准化、方便化的管理来提高家庭经营效益,就成为一个新的议题。 本人设计的这个网络账本管理系统,用于管理家庭收支状况,统计一段时间内的收支情况,检查在家庭成员获取收入后的关键信息点,分析和预测家庭在开支过程中存在的问题,为家庭成员提供必要的信息,从而使得家庭的金钱利用得到最大化,以及帮助家庭管理整理家庭的整个财务。通过网络账本管理系统,能给你带来下面的价值: 1.提高您一生中拥有、使用、保护财富资源的有效性; 2.提高您的财富控制力,避免过度债务、破产、依附他人寻求财富 安全等问题的产生; 3.提高您个人经济目标的实现力,拥有不再困囿于未来开支的自由感。1.2课题意义当今社会是一个信息社会,信息已成为继劳动力、土地、资本之后的又一大资源。谁控制的信息越多,谁利用信息资源的效率越高,谁就会在各方面的竞争中占有一席之地,谁就会有更多的优势。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用,计算机业飞速发展,技术淘汰指标高得惊人,价格下降以及软件应用的快速扩展引发了以信息处理计算机化为标志的“微机革命”。 微型计算机的出现和普及,为信息处理提供了物美价廉的手段,对于推动我国管理信息处理现代化起到了重要作用。使用计算机对家庭理财信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高信息管理的效率,也是家庭日常财务收支管理的科学化、正规化管理及与世界接轨的重要条件。1.3 预期的读者和阅读建议本文档的主要内容共分4部分:综合描述、系统特性、和非功能性需求和外部接口描述。综合描述部分主要对系统的整体结构进行了大致的介绍;系统特性部分对系统的功能需求进行了详细描述,是本文的主要部分;非功能性需求部分对非功能需求进行了详细的描述;外部接口需求部分对用户界面、软件接口、硬件接口和通讯接口等进行了描述。 本文档面向多种读者对象: (1)项目经理:项目经理可以根据该文档了解预期产品的功能,并据此进行系统设计、项目管理。 (2)设计员:对需求进行分析,并设计出系统,包括数据库的设计。 (3)程序员:配合设计报告,了解系统功能,编写用户手册。 (4)测试员:根据本文档编写测试用例,并对软件产品进行功能性测试和非功能性测试。 (5)销售人员:了解预期产品的功能和性能。 (6)用户:了解预期产品的功能和性能,并与分析人员一起对整个需求进行讨论和协商。 (7)其他人员:如部门领导、公司领导等可以据此了解产品的功能和性能。 在阅读本文档时,首先要了解产品的功能概貌,然后可以根据自身的需要对每一功能进行适当的了解。 1.4研究目的及使用范围该产品是在积累了丰富业务经验的基础上进行开发的,在需求上,充分考虑了具体用户的实际情况。本产品将主要适用于网络账本的管理,主要完成家庭成员管理,家庭的收入/支出的帐簿管理及报表统计等业务。2 系统概述2.1 概述网络账本管理系统是针对家庭的财务软件,他能轻松帮你完成记帐以及理财规划。用户可以自由的设置收支类型(如生活费、通讯费、交通费、水电费、医药费等类型),可以制定每月的收入支出预算,还可以详细统计出各项网络账本指标,便于您分析自己的财务。其它功能如:家庭亲友通讯录、家庭备忘录、家庭重要信息等。具体模块应包括:记账、资产管理、负债管理、投资理财管理、计划和提醒、家庭信息管理、统计报表(比如现金流报表、资产负债报表等)等模块。2.2 功能1.登陆管理系统管理员可以设置家庭成员,修改或者删除。家庭成员应该包括“编号,姓名,登录名,登录密码”等。家庭成员可以用登录名和登录密码登录网络账本管理系统进行记账管理。 2. 账薄管理(1)记账记录收支项目,收支日期,收支家庭成员,收支金额,备注等内容。币种只支持人民币。(2)账薄管理显示给用户一个账薄,可以账薄上新增、修改、删除、查询记账,查询记账可以选定一个日期范围进行查询。3. 家庭成员管理可以设置家庭成员,修改或者删除。家庭成员应该包括“编号,姓名,登录名,登录密码”等。家庭成员可以用登录名和登录密码登录网络账本管理系统进行记账管理。 4. 收支项目管理可以设置收支项目,修改或者删除。收支项目要求分为两层,比如“车辆维护-保养费”;任意一层次都可作为收支项目记账,用户在不清楚支出是否属于“保养费”的时候,可以选择大类“车辆维护”作为支出项;收支项目具体应该包括“编号,项目名称,收入还是支出”,编号不用显示在收支账薄中。5.家庭成员收支报表管理6.退出管理图2-1.系统功能图2.3 运行环境该系统为B/S三层结构,它的运行环境分客户端、应用服务器端和数据库服务器端三部分。 以下是系统的软件环境。 (1)客户端 操作系统:Windows XP 或更新版本。 浏览器:IE6以上,其它常见浏览器如FireFox。 (2)应用服务器端 操作系统:Windows XP 应用服务器:IIS 5.0或更新版本。 数据库访问:LINQ。 (3)数据库服务器端 操作系统:Windows XP 数据库系统:SQLServer 2005。2.4 假设与依赖本项目是否能够成功实施,主要取决于以下的条件: (1)本团队能够积极地与安博配合,为了项目的开发和实施,合理分配和调整团队各成员的工作任务。(3)安博为团队提供完整的功能和性能需求资料,以便于对其进行分析,从而形成完善的软件需求。 (4)安博为软件系统的运行提供必要的且能够满足系统运行条件的硬件环境和通讯环境,不合适的硬件环境和通讯环境将会影响系统的性能。 (5)安博掌握先进的能够适用于该项目的技术,这是系统的性能是否优化和项目能否成功的保证。 2.5 数据库连接技术的选择本系统采用ADO.NET技术连接数据库。ADO.NET的名称起源于ADO(ActiveX Data Objects),这是一个广泛的类组,用于在以往的Microsoft技术中访问数据.之所以使用ADO.NET名称,是因为Microsoft希望表明,这是在.NET编程环境中优先使用的数据访问接口。它提供了平台互用性和可伸缩的数据访问。ADO.NET增强了对非连接编程模式的支持,并支持RICH XML.由于传送的数据都是XML格式的,因此任何能够读取XML格式的应用程序都可以进行数据处理。事实上,接受数据的组件不一定要是ADO .NET组件,它可以是基于一个Microsoft Visual Studio的解决方案,也可以是任何运行在其它平台上的任何应用程序。ADO.NET是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel表格或者XML文件。ADO.NET允许和不同类型的数据源以及数据库进行交互。然而并没有与此相关的一系列类来完成这样的工作。因为不同的数据源采用不同的协议,所以对于不同的数据源必须采用相应的协议。一些老式的数据源使用ODBC协议,许多新的数据源使用OleDb协议,并且现在还不断出现更多的数据源,这些数据源都可以通过.NET的ADO.NET类库来进行连接。ADO.NET提供与数据源进行交互的相关的公共方法,但是对于不同的数据源采用一组不同的类库。这些类库称为Data Providers,并且通常是以与之交互的协议和数据源的类型来命名的。ADO.NET是与数据源交互的.NET技术。有许多的Data Providers,它将允许与不同的数据源交流取决于它们所使用的协议或者数据库。然而无论使用什么样的Data Provider,你将使用相似的对象与数据源进行交互。SqlConnection对象管理与数据源的连接。SqlCommand对象允许你与数据源交流并发送命令给它。为了对进行快速的只“向前”地读取数据,使用SqlDataReader。如果想使用断开数据,使用DataSet并实现能进行读取或者写入数据源的SqlDataAdapter。2.6 系统性能要求(1)实用性要求要求所需业务能实时处理,数据集中管理,充分利用系统资源。(2)高效率要求确保每次操作数据及时传递到数据库中。确保每次试卷查询快速准确,在技术上优先考虑系统的可靠性,保证系统具有良好的容错性。保证系统的功能正常。(3)先进性要求在系统的建设中,要在有经济条件的前提下多采用适用的先进技术,以保证系统的后继建设能够顺利进行,保护系统的有效性。(4)安全性要求基于ASP.NET的网络账本管理系统设计与实现的信息涉及财产的信息,具有特殊性和重要性。系统应对基于ASP.NET的网络账本管理系统的安全保护措施。通过数据库本身安全机制、系统的安全设置、严格管理等多种技术和管理手段,保证数据的使用安全。作为系统本身,最宝贵的财富就是在系统中存储的数据,应建立有效、快速的数据备份和恢复系统,保证数据的存储安全。(5)灵活性与易维护要求基于ASP.NET的网络账本管理系统设计与实现的设计中应充分考虑系统的灵活性和可扩展性。系统的维护都不应对系统的运行造成太大影响。(6)可扩展性要求系统设计时,从系统的功能和结构设计都充分考虑这一需求,保证系统的扩展和维护。建设易于扩展的系统结构,保证系统的扩展和维护。(7)界面要求界面友好,操作简单方便。保证用户输入数据时操作简单方便,并且在安排考试时操作简单、方便、快捷。广泛使用操作向导,使教务员不必记住复杂的操作流程,就可以进行操作。用户界面是一个应用程序很重要的一面它直接影响程序的使用价值。对于大多数用户来说,用户界面就是他们对一个产品的全部的了解。所以对他们来说,一个内部设计良好但用户界面不好的应用程序就是一个不好的程序。一个应用程序的用户界面框架是决定它的商业价值的重要因素。什么是优秀的用户界面?说到底一句话:一个优秀的用户界面即是一个直观的、对用户透明的界面:用户在首次接触了这个软件后就觉得一目了然,不需要多少培训就可以方便地上手使用,而且用户在使用过程中甚至会获得愉悦快乐的心情。说起来很简单,可是在实际开发中,真正能够做到这一点却很不容易。要想设计优秀的图形用户界面,应该在软件的设计开始,也就是需求分析阶段就予以足够的重视。2.7 系统开发工具.net+iis 6.0+window xp+SqlServer20002.7.1 .net Net具有很多明显的优点,可以提高开发人员的效率,减少bug,加快应用开发并简化使用。IT人员对.Net保持了应有的警惕,因为它毕竟还是个新事物,需要有一个比较艰难的学习曲线。但是对于大多数组织而言,其优点远远多于缺点。有了.Net,可以在未来的开发项目中赢得更高的生产力。主要优点如下:1标准集成:XML、SOAP及其它过去,微软的体系结构建立在COM/DCOM基础上,COM/DCOM是进程间通信的二进制标准。虽然这个标准本身没有什么失误,但是它与微软以外的领域格格不入。也就是说,这个标准成了实现与其它软件平台互操作的瓶颈。 除此之外,数据也是一个问题。虽然ADO简化了数据访问,但是把数据从一个地方传送到另外一个地方就成了问题。ADO Recordset(记录集)对象是一个存储了数据的二进制结构,而这种二进制格式对于非微软的平台没有任何意义。.Net弥补了这些缺陷,因为它完全基于标准。比如,数据用XML的格式通过进程边界,而这个数据有一个到XSD的连接,所以任何客户端都可以正确地转化数据。SOAP基于XML,用于与Web服务的通信。集成SOAP以后,不管客户端运行的是不是微软的操作系统,都可以实现简单的可编程访问。2简化应用COM所面临的一个头痛的问题就是应用。COM利用Windows注册表来定位机器上的组件。这个想法是不错的:每个注册的组件只有一个实例,所有的应用程序都使用相同的版本。COM具有向后兼容性,也就是说新版本兼容老版本,但是开发人员可能会破坏这种兼容性。.Net则采用了不同的方法:它根本就没有使用注册表。相反,微软的建议是每个应用程序使用自己局部的组件(在.Net称为“assembly”)。利用这种方法,用于应用程序Foo的Assembly X如果发生变化,Assembly X的Application Bar不会受到任何影响。这种方法听起来好象以前一台机器上同一个DLL的多个拷贝,的确是这样。不过你不会遇到应用程序查找WindowsSystem32目录的问题。由于.Net不使用注册表,很多应用都可以用简单的拷贝命令来完成,通常没有必要开发安装程序。此外,应用程序不会琐定assembly,所以升级DLL的时候不必关闭应用程序。3Web服务支持在流行的Web服务方面,微软发挥着重要的作用,而.Net为开发Web服务带来了前所未有的便利。用Notepad就可以建立简单的Web服务,甚至不必利用编译器,只要对它们进行简单的调用即可,因为.Net会对它们进行编译,甚至提供一个测试页供用户检验其功能。.Net 拥有所有必需的渠道,可以生成用户所需的所有文件,比如WSDL文件。.Net也是一个聪明的Web服务使用者:只要设置了指向某个Web服务的索引,你就可以把它当作本地的assembly。你可以获得完整的Intel许可和功能实现帮助。Web服务对于发送数据是非常重要的,感谢ADO.Net,Web服务可以利用简单或者复杂的数据,并以XML格式把它们发送到任何客户端,最后设置一个链接,指回到一个描述数据模式的XSD。4用于所有.Net语言的标准工具集最终,你会拥有一个适用于所有语言的集成工具集。你会拥有一个统一的IDE、调试工具以及其它类似的工具。因此,其它公司可以把他们的语言嵌入IDE环境,并获得.Net工具所有的支持。比如富士通开发了netCOBOL .Net,它已经直接集成到IDE中,因此可以用 COBOL编写Web服务和Windows应用并获得微软提供的调试和profiling(监管)工具。.Net是个开放的架构,所以其它厂商也可以提供自己的工具。比如Borland,该公司已经宣布其下一版Delphi将具有建立.Net应用的功能,同时它也保证,Delphi会拥有自己的IDE,不会嵌入Visual Studio .Net。5对移动设备的支持Visual Studio .Net发布不久,微软就推出了移动Internet工具包(Microsoft Mobile Internet Toolkit ,MMIT),以便用.Net构建移动应用。该工具包提供了可视化功能,你可以直观地拖动和下拉面向移动设备的窗体和控件。该工具包有利于正确书写标记语言(比如WML、WAP等等)。 .Net简化架构(.Net Compact Framework)不久就会面市,它是.Net架构的缩略版,设计用于Pocket PC设备。有了这个架构,开发人员就可以开发出丰富的Pocket PC计算机应用。你可以编写一个运行于小型设备上的应用,比如用于Pocket PC设备或者具有Web功能的手机。事实上,MMIT包含了很多仿真程序,它们使用了真正为这类设备编写的ROM代码,所以在你的应用程序投入使用之前,可以首先测试其用于此类设备时的性能。6代码管理.Net管理用户的代码,从很多方面看,这一点都是很重要的,比如减少bug以及构建更多可扩展的应用。.Net可以处理以下操作:内存分配和回收,进程及线程的创建和终止,以及运行代码的访问许可。VB开发人员先前面临的问题比如内存管理、线程和进程创建现在都可以由.Net来处理。而C+程序员可以转向C#,.Net代替他们处理这些操作后,内存泄露和其它bug出现的可能性将大大减少。拥有了被管理的代码,你可以访问.Net所有跨语言的能力。7平台独立虽然.Net是为微软的操作系统创建的,但是微软的确为ECMA标准委员会发布了一部分框架和C#。比如,Mono project实现了Linux的.Net,包括架构和C#编译器。这意味着很多应用(特别是基于Web的应用)一次编写完成后就可以运行于多种平台上。8充足的学习资源.Net的学习曲线非常重要,可能.Net的方面的书要比其它所有编程技术的书都多。此外,微软和第三方团体开设了很多课程,可以让开发人员很快就上手。最后,很多网站为开发人员员学习.Net提供了技术和指导。9现代化语言VB.Net和C#都是现代化的语言。它们完全是面向对象的,设计的时候消除了很多VB 和C+的矛盾。这两种语言使用了多层式架构 (n-tier),这是一种基于组件的方法。比如,C#取消了指针和其它一些结构,它们曾经给C+程序员(特别是新手)带来很多严重的问题。代码由.Net架构管理后,VB.Net 和C#都从中受益。这个架构还包括一些基础的对象,它们是开发多线程、支持XML等应用所必须的。10跨语言标准基本类型VB开发人员曾经面临一个致命的问题:VB中的字符串与C+中的字符串不同,所以调用Windows API函数的时候会出现一些问题。.Net确定了所有类型的标准定义,所以VB中的字符串和C#中的字符串相同,也和netCOBOL .Net中的字符串相同。这意味着你再也不必担心语言A中的整型数据是32位而语言B中只有16位。你可以确信不同语言的数据类型都相同,可以更好地进行跨语言集成。2.7.2 IIS6.0容错进程架构 IIS 6.0的容错式进程架构将Web站点和应用程序隔离到一个自包含的单元之中(又称应用程序池)。应用程序池为管理员管理一组Web站点和应用程序提供了便利,同时提高了系统的可靠性,因为一个应用程序池中的错误不会引起另外一个应用程序池或者服务器本身发生故障。 健康状况监视 IIS 6.0定期检查应用程序池的状态,并自动重新启动应用程序池中发生故障的Web站点或应用程序,从而提高了应用程序的可用性。通过自动禁用在短时间内频繁发生故障的Web站点和应用程序,IIS 6.0可以保护服务器和其它应用程序的安全。 自动进程回收 IIS 6.0可以根据一组灵活的标准和条件例如CPU利用率和内存占用情况,自动停止和重新启动发生故障的Web站点和应用程序,同时将请求放入队列。IIS 6.0还可以在回收一个工作进程时对客户机的TCP/IP连接加以维护,将Web服务客户端应用程序与后端不稳定的Web应用程序隔离开来。 快速的故障保护 如果某个应用程序在短时间内频繁发生故障,IIS 6.0将自动禁用该程序,并且向所有新发出和排入队列的针对该应用程序的请求返回一个“503服务不可用”错误信息。例如,此外,还可以触发某些定制操作,例如触发一个调试操作或者向管理员发出通知。快速故障保护可以保护Web服务器免遭拒绝服务攻击。 优点如下:IIS 6.0 和 Windows Server 2003在网络应用服务器的管理、可用性、可靠性、安全性、性能与可扩展性方面提供了许多新的功能。IIS 6.0同样增强了网络应用的开发与国际性支持。IIS 6.0和 Windows Server 2003提供了最可靠的、高效的、连接的、完整的网络服务器解决方案。可靠性与可伸缩性 IIS 6.0提供了更智能的、更可靠的Web服务器环境,新的环境包括应用程序健康监测、应用程序自动地循环利用。其可靠的性能提高了网络服务的可用性并且节省了管理员用于重新启动网络服务所花费的时间,IIS 6.0将提供最佳的扩展性和强大的性能从而充分发挥每一台Web服务器的最大功效。 更安全、易于管理 IIS 6.0在安全与管理方面做出了重大的改进。安全性能的增强包括技术与需求处理变化两方面。另外,增强了在安全方面的认证和授权。IIS 6.0的默认安装是被全面锁定的,这意味着默认系统的安全系数就被设为最大,它提供的增强的管理性能改善了XML metabase的管理及新的命令行工具。 服务器合并 IIS 6.0是一个具有高伸缩性的Web服务器,它为Web服务器的合并提供了新的机遇。通过将可靠的体系结构和内核模式驱动程序完美结合在一起,IIS 6.0允许您在单台服务器上托管更多的应用程序。服务器合并还可以降低企业与人工、硬件以及站点管理相关的成本。 增强的开发与国际化支持 通过Windows Server 2003 与IIS 6.0支持的先进功能如内核模式缓存,应用程序开发人员将从Windows Server 2003 与IIS 6.0 单一的、完整的应用平台环境中受益。基于IIS 6.0,Windows Server 2003为开发者提供高标准的附加功能,包括快速应用程序开发以及广泛的语言选择,同时也提供了国际化支持和支持最新的Web标准。 更高的安全性 IIS 6.0显著改进了Web服务器的安全性。IIS 6.0在默认情况下处于锁定状态,从而减少了暴露在攻击者面前的攻击表面积。此外,IIS 6.0的身份验证和授权功能也得到了改进。IIS 6.0还提供了更多更强大的管理功能,改善了对XML元数据库(metabase)的管理,并且提供了新的命令行工具。IIS 6.0在降低系统管理成本的同时,大大提高了信息系统的安全性。 基于XML的配置文件 IIS 6.0中XML格式的纯文本元数据库(metabase)为发生故障的服务器带来了经过改进的备份和恢复功能。此外,它还提供了得到改进的故障处理和元数据库损坏恢复。使用常见的文本编辑工具对其进行直接编辑提供了更为出色的可管理性。 运行程序的同时对其进行编辑,在服务器保持运行的同时,IIS 6.0允许管理员对服务器配置做出各种修改。例如,管理员可以使用该特性添加一个新的站点,创建虚拟目录,或者修改应用程序池和工作进程的配置所有这些都是在IIS 6.0继续处理请求的同时发生的,并且无需进行重新编译或者重新启动服务器。 基于命令行和脚本的管理 IIS 6.0的管理员可以使用Windows Server 2003的命令行工具完成很多常见的管理工作。利用一个简单的命令,管理员即可管理多个本地或远程计算机。IIS 6.0还提供了一个完整的脚本环境,以在不使用图形用户界面的情况下,从命令行自动完成多种常见的管理任务。 对WMI的支持 IIS 6.0全面支持Windows Management Instrumentation(Windows管理规范,WMI), Web管理员可以通过它获取重要的企业管理数据,例如性能计数器和配置文件。WMI的接口从本质上说类似于继续享受支持的Microsoft Active Directory Service Interfaces(ADSI),可以在管理脚本中使用,并且可以用来修改基于XML的配置元数据库。 ASP.NET和IIS的集成 通过将ASP.NET和IIS集成在一起,Windows Server 2003提供了更为美妙的开发体验。Windows Server 2003的各种增强建立在IIS 6.0的基础之上,为开发人员提供了高水平的功能特性,例如快速应用程序开发(RAD)和广泛灵活的语言选择。在Windows Server 2003中,使用ASP.NET和.NET Framework的得到了进一步优化,因为用来处理请求的体系架构与IIS 6.0紧密集成在一起。 Microsoft .NET Framework Microsoft .NET Framework允许开发人员在ASP.NET和其它技术的帮助下创建优秀的Web应用程序。此外,它还可以帮助他们开发与他们目前正在设计和开发的应用程序完全相同的程序。.NET Framework和语言无关;实际上您可以使用任何语言为它开发程序。开发人员可以使用各种语言构建基于.NET的应用程序和服务,包括: Microsoft Visual C+ .NET、Visual Basic .NET、JScript以及Visual C# .NET。 XML Web 服务 IIS 6.0提供了一个高性能的XML Web服务平台。XML Web服务为用户远程访问服务器功能提供了手段。通过使用Web服务,企业可以将编程接口暴露给他们的数据或业务逻辑,也可以通过客户端和服务器应用程序获得和操纵这些数据和业务逻辑。 跨越组织地理边界的信息共享 跨越组织的地理边界使用各种语言进行信息共享正在经济全球化浪潮中发挥越来越大的作用。过去,HTTP协议的非Unicode结构将开发人员限制在系统代码页上。现在,利用经过UTF-8(UCS Transformation Format 8)编码的URL ,Unicode成为了可能,它带来的好处之一便是:人们可以支持更复杂的语言了,例如中文。IIS 6.0允许用户使用Unicode访问服务器变量。此外,它还添加了新的服务器支持函数,允许开发人员访问以Unicode形式表述的URL地址,因此改善了产品的国际化支持能力。 2.7.3window xpWindows XP中文全称为视窗操作系统体验版。是微软公司发布的一款视窗操作系统。它发行于2001年10月25日,原来的名称是Whistler。Windows XP拥有豪华亮丽的用户图形界面。非常方便应用系统的快速开发。2.7.4 Sqlserver2000SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。 SQL Server近年来不断更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用户见面;SQL Server 2000是Microsoft公司于2000年推出的最新版本。 其特点有:(1)真正的客户机/服务器体系结构。 (2)图形化用户界面,使系统管理和数据库管理更加直观、简单。 (3)丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。(4)SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQL Server也可以很好地与Microsoft BackOffice产品集成。 (5)具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windows 2000的大型多处理器等多种平台使用。 (6)对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。(7)SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。 (8)支持XML(Extensive Markup Language,扩展标记语言) (9)强大的基于Web的分析 (10)支持OLE DB和多种查询 (11)支持分布式的分区视图 开发工具与开发平台都是根据,本系统设计的。选择配置好一个优秀的开发平台非常方便系统的开发,能很好的保证以后系统的稳定性。选择好的开发工具能最大程度的减少系统代码的编写,非常适合快速开发,并能保证系统以后的可维护性。下面就是工具: Microsoft Visual Studio 2005+Sqlserver2000+Microsoft visio2003的低成本方式。3 需求分析现在,人们的生活水平和文化素质的普遍提高,并且开始注重生活质量。随着市场经济的快速发展,观念的不断更新,个人理财意识普遍增强,特别是家庭理财得到很大的发展。在意识上,一方面,人们对家庭和个人的各方面消费有进行统计和分析的愿望,以便更好的做好家庭收支计划和网络账本管理。另一方面,各种理财手段不断丰富,如何把各种手段统一起来,并且能更方便的操作。随着精神和物质生活的提高,人们购置电脑的的能力也在增强,因此更加需要一款软件去帮助管理网络账本。开放这款软件,技术上主要涉及界面涉及和数据库设计,在开放方面,可以使用数据库,采用面向对象的编程方法,其开发主要包含前台操作和后台数据库的建立。实现家庭理财的自动化和信息化,用户可以按照权限的不同去操作数据库。在技术上可以使用VS2008和SQL Sever2000。3.1 性能需求(1)客户端一般响应时间不超过1秒。 (2)报表统计时间不超过30秒。 (3)支持2000名用户信息的一次性导入,导入时间不超过300秒。 (4)支持5000名用户并发使用,并保证性能不受影响。3.2 安全性需求(1)权限控制 根据不同用户角色,设置相应权限,用户的重要操作都做相应的日志记录以备查看,没有权限的用户禁止使用系统。普通用户只可查看和修改家庭成员和收支项目,管理员只可查看普通用户的相关资料并可对其进行修改。 (2)重要数据加密 本系统对一些重要的数据按一定的算法进行加密,如用户口令、重要参数等。(3)数据备份 允许用户进行数据的备份和恢复,以弥补数据的破坏和丢失。 (4)记录日志本系统应该能够记录系统运行时所发生的所有错误,包括本机错误和网络错误。这些错误记录便于查找错误的原因。日志同时记录用户的关键性操作信息。 3.3 可用性需求(1)方便操作,操作流程合理 尽量从用户角度出发,以方便使用本产品。如:新增用户信息时,敲入回车键光标的自动跳转、输入法的自动转换,信息检索时输入汉语简拼快速检索到结果等。可以通过快速键方便用户录入信息,所有操作可仅通过键盘完成。 (2)支持没有计算机使用经验、计算机使用经验较少及有较多计算机使用经验的用户均能方便地使用本系统。 (3)控制必录入项 本系统能够对必须录入的项目进行控制,使用户能够确保信息录入的完整。同时对必录入项进行有效的统一的提示。 (4)容错能力 系统具有一定的容错和抗干扰能力,在非硬件故障或非通讯故障时,系统能够保证正常运行,并有足够的提示信息帮助用户有效正确地完成任务。(5)操作完成时有统一规范的提示信息 例如删除操作时,系统可提示警示框“您确认删除记录吗?操作不可恢复!”,用户点击确认后,系统才执行删除操作,删除后可直接返回相关页面。(6)用户可自定义 为了满足业务的不断变化,一些重要的参数应该可以灵活设置。 (7)联机帮助与操作指南。 3.4 用户文档同本软件一起发行的用户文档包括: (1)安装手册:Word格式文件。 (2)用户手册:Word格式文件。 (3)在线帮助:HTML Help格式文件,联机式。 3.5 其它需求(1)支持多浏览器。(2)系统安装方便,易于维护。3.6界面需求分析(1)界面元素通常一个软件界面的元素包括界面主颜色、字体颜色、字体大小、界面布局、界面交互方式、界面功能分布、界面输入输出模式。其中,对用户工作效率有显著影响的元素包括:输入输出方式、交互方式、功能分布,在使用命令式交互方式的系统中,命令名称、参数也是界面元素的内容,如何设计命令及参数也很重要。影响用户对系统友好性评价的元素则有:颜色、字体大小、界面布局等,这种划分不是绝对的,软件界面作为一个整体,其中任何一个元素不符合用户习惯、不满足用户要求都将降低用户对软件系统的认可度,甚至影响用户的工作效率,而使用户最终放弃使用系统。围绕界面元素所要达到的设计目的是让最终用户能够获得美感、提高工作效率、易于操作使用系统。目前在界面元素的选择、布局设计等方面的研究进行得较多,内容涵盖了可用性工程学、人机工程学、认知心理学、美学、色彩理论等方面的探讨。(2)用户角色界面需求分析必须围绕用户为中心,不同于客观功能需求分析,具有很大的主观性。虽然,界面设计人员可以按照通行的原则来设计,但是用户个体的文化背景、知识水平、个人喜好等是千差百异的,其界面需求也是相差很大。不同的用户,对软件界面有不同的要求,表达自己要求的方式也尽不相同。而且用户的界面要求通常不象业务功能需求那样容易明确、有据可查、可以利用专门工具进行分析。多数用户往往并不能提出明确的、全局的界面需求,其需求同自身主观因素联系紧密,是模糊、变化的。调查用户的界面需求,必须先从调查用户自身特征开始,将不同特征用户群体的要求进行综合处理,再有针对性地分析其界面需求。(3)需求变化 用户对于界面通常只能提出基本的要求,而且提出的要求也不一定科学,因此如何诱导用户在项目进行中尽早明确自己的需求,是任何需求分析人员都会面临的问题。 用户根据自己想象中的理想系统向分析开发人员提出自己的要求。开发方实现目标后交给用户,在系统实施运行后,用户将实际目标系统同自己想象中的理想系统对比,同时,目标系统的使用会刺激用户修正想象中的理想系统,然后提新的需求。由于软件界面的评审因素同用户的心理状况、认识水平有很大关系,所以对于软件界面,用户只有在使用过之后才能知道是否符合自己的操作习惯,颜色、字体等界面元素是否满足自己的要求,从而提出更明确的要求。 (4)界面原型 由于在软件开发前期,用户的界面需求很模糊,甚至没有自己的理想模型,用户提出的要求就很难量化,结果很容易被需求分析人员忽略。因此在用户角色定义完成后应用快速原型法来设计用户界面,可以帮助用户尽快完善自己的理想模型。 利用界面原型可以将界面需求调查的周期尽量缩短,并尽可能满足用户的要求。快速原型法是迅速地根据软件系统的需求产生出软件系统的一个原型的过程,其主要好处是可尽早获得更完整、更正确地需求和设计。利用界面原型,用户可以很感性地认识到未来系统的界面风格以及操作方式,从而迅速作出判断:系统是否符合自己的感官期望,是否满足自己的操作习惯,是否能够满足自己工作的需要。需求分析人员可以利用界面原型,诱导用户修正自己的理想系统,提出新的界面要求。因此,界面需求分析的步骤可为:确定所涉及的界面元素,分析用户特征并定义用户角色,依据用户角色的界面需求设计界面原型并不断改进完善。设计界面的常见原则包括:简易性。界面的简洁是要让用户便于使用、便于了解、并能减少用户发生错误选择的可能性。用户的语言。界面中要使用能反应用户本身的语言,而不是设计者的语言。要选择主动式语言而非被动式。记忆负担最小化。人脑不是电脑,在设计界面时必须要考虑人类大脑处理信息的限度。人类的短期记忆极不稳定、有限,24小时内存在25%的遗忘率。所以对用户来说,浏览信息要比记忆更容易。一致性。是每一个优秀界面都具备的特点。界面的结构必须清晰且一致,风格必须与内容相一致。清楚。在视觉效果上便于理解和使用。用户的熟悉程度。用户可通过已掌握的知识来使用界面,但不应超出一般常识。从用户的观点考虑。想他们所想,做他们所做。用户总是按照他们自己的方法理解和使用。通过比较两个不同世界(真实与虚拟)的事物,完成更好的设计。安全性。用户能自由的作出选择,且所有选择都是可逆的。在用户作出危险的选择时有信息提示。灵活性。简单来说就是要让用户方便的使用,但不同于上述。即互动多重性,不局限于单一的工具(包括鼠标、键盘或手柄)。人性化。高效率和用户满意度是人性化的体现。应具备熟练用户和生疏用户两种界面,即用户可依据自己的习惯定制界面,并能保存设置。系统界面设计严格按照了如上的设计要求。所以具有美观的效果,并方便以后的维护。4 系统设计4.1设计要求初步了解开发网页的基本工具,必备条件,基本流程。提供管理员账户管理功能,提供对课程进行添加、删除、修改以及查看修改等功能。掌握.net编程的原理及实用方法,实现快速开发。完善代码并进行测试。4.2设计模式4.2.1MVC设计模式MVC模式是一个复杂的架构模式,其实现也显得非常复杂。但是,我已经终结出了很多可靠的设计模式,多种设计模式结合在一起,使MVC模式的实现变得相对简单易行。Views可以看作一棵树,显然可以用Composite Pattern来实现。Views和Models之间的关系可以用Observer Pattern体现。Controller控制Views的显示,可以用Strategy Pattern实现。Model通常是一个调停者,可采用Mediator Pattern来实现。现在了解一下MVC三个部分在J2EE架构中处于什么位置,这样有助于理解MVC模式的实现。MVC与J2EE架构的对应关系是:View处于Web Tier或者说是Client Tier,通常是JSP/Servlet,即页面显示部分。Controller也处于Web Tier,通常用Servlet来实现,即页面显示的逻辑部分实现。Model处于Middle Tier,通常用服务端的javaBean或者EJB实现,即业务逻辑部分的实现。4.2.2 MVC设计思想MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。 视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。 模型(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业务模型的设计。MVC设计模式告诉我,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太远,也不能太近。MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。我们可以用对象编程来做比喻,MVC定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。这点对编程的开发人员非常重要。 业务模型还有一个很重要的模型那就是数据模型。数据模型主要指实体对象的数据 保存(持续化)。比如将一张订单保存到数据库,从数据库获取订单。可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。 控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。 模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。模型、视图、控制器三者之间的关系和各自的主要功能,如图5-1所示。 图4-1 MVC组件类型的关系和功能(1)MVC的优点MVC要求对应用分层,虽然要花费额外的工作,但产品的结构清晰,产品的应用通过模型可以得到更好地体现。 首先,最重要的是应该有多个视图对应一个模型的能力。在目前用户需求的快速变化下,可能有多种方式访问应用的要求。例如,订单模型可能有本系统的订单,也有网上订单,或者其他系统的订单,但对于订单的处理都是一样,也就是说订单的处理是一致的。按MVC设计模式,一个订单模型以及多个视图即可解决问题。这样减少了代码的复制,即减少了代码的维护量,一旦模型发生改变,也易于维护。 其次,由于模型返回的数据不带任何显示格式,因而这些模型也可直接应用于接口的使用。 再次,由于一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变。一个应用的业务流程或者业务规则的改变只需改动MVC的模型层。 控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起完成不同的请求,因此,控制层可以说是包含了用户请求权限的概念。 最后,它还有利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码。(2)MVC的不足 增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制 器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。视图与控制器间的过于紧密的连接。视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。目前,一般高级的界面工具或构造器不支持MVC模式。改造这些工具以适应MVC需要和建立分离的部件的代价是很高的,从而造成使用MVC的困难。4.3采用的关键技术及复杂性分析(1)实现快速查找文件的功能,主要进行模糊查找。 (2)利用。Net编程很容易出现乱码,本系统一致采用gb2312编码,防止了系统出现乱码的问题。(3)当数据量比较大的时候必须实现分页功能,才能减少服务器的负担,不会让服务器因为处理数据比较大时候死机。经过艰苦的调试,编程。终于实现了数据读取的分页功能。4.4 登陆管理使用者:用户目的:使用不同的角色进行登陆管理操作基本事件流:1、进入登陆界面,本用例开始2、普通用户通过注册后进入系统进行操作。3、超级用户进入系统后进行管理操作。用例结束 图3-1.管理者示意图 图3-2.普通成员示意图4.5账簿管理4.5.1 查看账簿信息使用者:用户目的:查看账簿具体信息基本事件流:1、进入账簿管理界面,点击查看,本用例开始2、查看具体的收支属性。3、点击确定,用例结束4.5.2 编辑账簿信息使用者:用户目的:编辑收支条目基本事件流:1、进入账簿管理界面,点击编辑,本用例开始。2、对当前选
展开阅读全文