




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于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系统登录模块的设计与实现335.2主界面的设计与实现335.3账簿管理345.4家庭成员管理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)客户端操作系统:WindowsXP或更新版本。浏览器:IE6以上,其它常见浏览器如FireFox。(2)应用服务器端操作系统:WindowsXP应用服务器:IIS5.0或更新版本。数据库访问:LINQ。(3)数据库服务器端操作系统:WindowsXP数据库系统:SQLServer2005。2.4假设与依赖本项目是否能够成功实施,主要取决于以下的条件:(1)本团队能够积极地与安博配合,为了项目的开发和实施,合理分配和调整团队各成员的工作任务。(3)安博为团队提供完整的功能和性能需求资料,以便于对其进行分析,从而形成完善的软件需求。(4)安博为软件系统的运行提供必要的且能够满足系统运行条件的硬件环境和通讯环境,不合适的硬件环境和通讯环境将会影响系统的性能。(5)安博掌握先进的能够适用于该项目的技术,这是系统的性能是否优化和项目能否成功的保证。2.5数据库连接技术的选择2.6系统性能要求(1实用性要求要求所需业务能实时处理,数据集中管理,充分利用系统资源。(2高效率要求①确保每次操作数据及时传递到数据库中。②确保每次试卷查询快速准确,在技术上优先考虑系统的可靠性,保证系统具有良好的容错性。③保证系统的功能正常。(3先进性要求在系统的建设中,要在有经济条件的前提下多采用适用的先进技术,以保证系统的后继建设能够顺利进行,保护系统的有效性。(4安全性要求基于ASP.NET的网络账本管理系统设计与实现的信息涉及财产的信息,具有特殊性和重要性。系统应对基于ASP.NET的网络账本管理系统的安全保护措施。通过数据库本身安全机制、系统的安全设置、严格管理等多种技术和管理手段,保证数据的使用安全。作为系统本身,最宝贵的财富就是在系统中存储的数据,应建立有效、快速的数据备份和恢复系统,保证数据的存储安全。(5灵活性与易维护要求基于ASP.NET的网络账本管理系统设计与实现的设计中应充分考虑系统的灵活性和可扩展性。系统的维护都不应对系统的运行造成太大影响。(6可扩展性要求系统设计时,从系统的功能和结构设计都充分考虑这一需求,保证系统的扩展和维护。建设易于扩展的系统结构,保证系统的扩展和维护。(7界面要求界面友好,操作简单方便。保证用户输入数据时操作简单方便,并且在安排考试时操作简单、方便、快捷。广泛使用操作向导,使教务员不必记住复杂的操作流程,就可以进行操作。用户界面是一个应用程序很重要的一面——它直接影响程序的使用价值。对于大多数用户来说,用户界面就是他们对一个产品的全部的了解。所以对他们来说,一个内部设计良好但用户界面不好的应用程序就是一个不好的程序。一个应用程序的用户界面框架是决定它的商业价值的重要因素。什么是优秀的用户界面?说到底一句话:一个优秀的用户界面即是一个直观的、对用户透明的界面:用户在首次接触了这个软件后就觉得一目了然,不需要多少培训就可以方便地上手使用,而且用户在使用过程中甚至会获得愉悦快乐的心情。说起来很简单,可是在实际开发中,真正能够做到这一点却很不容易。要想设计优秀的图形用户界面,应该在软件的设计开始,也就是需求分析阶段就予以足够的重视。2.7系统开发工具.net+iis6.0+windowxp+SqlServer2000Net具有很多明显的优点,可以提高开发人员的效率,减少bug,加快应用开发并简化使用。IT人员对.Net保持了应有的警惕,因为它毕竟还是个新事物,需要有一个比较艰难的学习曲线。但是对于大多数组织而言,其优点远远多于缺点。有了.Net,可以在未来的开发项目中赢得更高的生产力。主要优点如下:1.标准集成:XML、SOAP及其它过去,微软的体系结构建立在COM/DCOM基础上,COM/DCOM是进程间通信的二进制标准。虽然这个标准本身没有什么失误,但是它与微软以外的领域格格不入。也就是说,这个标准成了实现与其它软件平台互操作的瓶颈。除此之外,数据也是一个问题。虽然ADO简化了数据访问,但是把数据从一个地方传送到另外一个地方就成了问题。ADORecordset(记录集)对象是一个存储了数据的二进制结构,而这种二进制格式对于非微软的平台没有任何意义。.Net弥补了这些缺陷,因为它完全基于标准。比如,数据用XML的格式通过进程边界,而这个数据有一个到XSD的连接,所以任何客户端都可以正确地转化数据。SOAP基于XML,用于与Web服务的通信。集成SOAP以后,不管客户端运行的是不是微软的操作系统,都可以实现简单的可编程访问。2.简化应用COM所面临的一个头痛的问题就是应用。COM利用Windows注册表来定位机器上的组件。这个想法是不错的:每个注册的组件只有一个实例,所有的应用程序都使用相同的版本。COM具有向后兼容性,也就是说新版本兼容老版本,但是开发人员可能会破坏这种兼容性。.Net则采用了不同的方法:它根本就没有使用注册表。相反,微软的建议是每个应用程序使用自己局部的组件(在.Net称为“assembly”)。利用这种方法,用于应用程序Foo的AssemblyX如果发生变化,AssemblyX的ApplicationBar不会受到任何影响。这种方法听起来好象以前一台机器上同一个DLL的多个拷贝,的确是这样。不过你不会遇到应用程序查找Windows\System32目录的问题。由于.Net不使用注册表,很多应用都可以用简单的拷贝命令来完成,通常没有必要开发安装程序。此外,应用程序不会琐定assembly,所以升级DLL的时候不必关闭应用程序。3.Web服务支持在流行的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,不会嵌入VisualStudio.Net。5.对移动设备的支持VisualStudio.Net发布不久,微软就推出了移动Internet工具包(MicrosoftMobileInternetToolkit,MMIT),以便用.Net构建移动应用。该工具包提供了可视化功能,你可以直观地拖动和下拉面向移动设备的窗体和控件。该工具包有利于正确书写标记语言(比如WML、WAP等等)。.Net简化架构(.NetCompactFramework)不久就会面市,它是.Net架构的缩略版,设计用于PocketPC设备。有了这个架构,开发人员就可以开发出丰富的PocketPC计算机应用。你可以编写一个运行于小型设备上的应用,比如用于PocketPC设备或者具有Web功能的手机。事实上,MMIT包含了很多仿真程序,它们使用了真正为这类设备编写的ROM代码,所以在你的应用程序投入使用之前,可以首先测试其用于此类设备时的性能。6.代码管理.Net管理用户的代码,从很多方面看,这一点都是很重要的,比如减少bug以及构建更多可扩展的应用。.Net可以处理以下操作:内存分配和回收,进程及线程的创建和终止,以及运行代码的访问许可。VB开发人员先前面临的问题——比如内存管理、线程和进程创建——现在都可以由.Net来处理。而C++程序员可以转向C#,.Net代替他们处理这些操作后,内存泄露和其它bug出现的可能性将大大减少。拥有了被管理的代码,你可以访问.Net所有跨语言的能力。7.平台独立虽然.Net是为微软的操作系统创建的,但是微软的确为ECMA标准委员会发布了一部分框架和C#。比如,Monoproject实现了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++中的字符串不同,所以调用WindowsAPI函数的时候会出现一些问题。.Net确定了所有类型的标准定义,所以VB中的字符串和C#中的字符串相同,也和netCOBOL.Net中的字符串相同。这意味着你再也不必担心语言A中的整型数据是32位而语言B中只有16位。你可以确信不同语言的数据类型都相同,可以更好地进行跨语言集成。容错进程架构IIS6.0的容错式进程架构将Web站点和应用程序隔离到一个自包含的单元之中(又称应用程序池)。应用程序池为管理员管理一组Web站点和应用程序提供了便利,同时提高了系统的可靠性,因为一个应用程序池中的错误不会引起另外一个应用程序池或者服务器本身发生故障。健康状况监视IIS6.0定期检查应用程序池的状态,并自动重新启动应用程序池中发生故障的Web站点或应用程序,从而提高了应用程序的可用性。通过自动禁用在短时间内频繁发生故障的Web站点和应用程序,IIS6.0可以保护服务器和其它应用程序的安全。自动进程回收IIS6.0可以根据一组灵活的标准和条件——例如CPU利用率和内存占用情况,自动停止和重新启动发生故障的Web站点和应用程序,同时将请求放入队列。IIS6.0还可以在回收一个工作进程时对客户机的TCP/IP连接加以维护,将Web服务客户端应用程序与后端不稳定的Web应用程序隔离开来。快速的故障保护如果某个应用程序在短时间内频繁发生故障,IIS6.0将自动禁用该程序,并且向所有新发出和排入队列的针对该应用程序的请求返回一个“503服务不可用”错误信息。例如,此外,还可以触发某些定制操作,例如触发一个调试操作或者向管理员发出通知。快速故障保护可以保护Web服务器免遭拒绝服务攻击。优点如下:IIS6.0和WindowsServer2003在网络应用服务器的管理、可用性、可靠性、安全性、性能与可扩展性方面提供了许多新的功能。IIS6.0同样增强了网络应用的开发与国际性支持。IIS6.0和WindowsServer2003提供了最可靠的、高效的、连接的、完整的网络服务器解决方案。可靠性与可伸缩性IIS6.0提供了更智能的、更可靠的Web服务器环境,新的环境包括应用程序健康监测、应用程序自动地循环利用。其可靠的性能提高了网络服务的可用性并且节省了管理员用于重新启动网络服务所花费的时间,IIS6.0将提供最佳的扩展性和强大的性能从而充分发挥每一台Web服务器的最大功效。更安全、易于管理IIS6.0在安全与管理方面做出了重大的改进。安全性能的增强包括技术与需求处理变化两方面。另外,增强了在安全方面的认证和授权。IIS6.0的默认安装是被全面锁定的,这意味着默认系统的安全系数就被设为最大,它提供的增强的管理性能改善了XMLmetabase的管理及新的命令行工具。服务器合并IIS6.0是一个具有高伸缩性的Web服务器,它为Web服务器的合并提供了新的机遇。通过将可靠的体系结构和内核模式驱动程序完美结合在一起,IIS6.0允许您在单台服务器上托管更多的应用程序。服务器合并还可以降低企业与人工、硬件以及站点管理相关的成本。增强的开发与国际化支持通过WindowsServer2003与IIS6.0支持的先进功能如内核模式缓存,应用程序开发人员将从WindowsServer2003与IIS6.0单一的、完整的应用平台环境中受益。基于IIS6.0,WindowsServer2003为开发者提供高标准的附加功能,包括快速应用程序开发以及广泛的语言选择,同时也提供了国际化支持和支持最新的Web标准。更高的安全性IIS6.0显著改进了Web服务器的安全性。IIS6.0在默认情况下处于锁定状态,从而减少了暴露在攻击者面前的攻击表面积。此外,IIS6.0的身份验证和授权功能也得到了改进。IIS6.0还提供了更多更强大的管理功能,改善了对XML元数据库(metabase)的管理,并且提供了新的命令行工具。IIS6.0在降低系统管理成本的同时,大大提高了信息系统的安全性。基于XML的配置文件IIS6.0中XML格式的纯文本元数据库(metabase)为发生故障的服务器带来了经过改进的备份和恢复功能。此外,它还提供了得到改进的故障处理和元数据库损坏恢复。使用常见的文本编辑工具对其进行直接编辑提供了更为出色的可管理性。运行程序的同时对其进行编辑,在服务器保持运行的同时,IIS6.0允许管理员对服务器配置做出各种修改。例如,管理员可以使用该特性添加一个新的站点,创建虚拟目录,或者修改应用程序池和工作进程的配置——所有这些都是在IIS6.0继续处理请求的同时发生的,并且无需进行重新编译或者重新启动服务器。基于命令行和脚本的管理IIS6.0的管理员可以使用WindowsServer2003的命令行工具完成很多常见的管理工作。利用一个简单的命令,管理员即可管理多个本地或远程计算机。IIS6.0还提供了一个完整的脚本环境,以在不使用图形用户界面的情况下,从命令行自动完成多种常见的管理任务。对WMI的支持IIS6.0全面支持WindowsManagementInstrumentation(Windows管理规范,WMI),Web管理员可以通过它获取重要的企业管理数据,例如性能计数器和配置文件。WMI的接口从本质上说类似于继续享受支持的MicrosoftActiveDirectory®ServiceInterfaces(ADSI),可以在管理脚本中使用,并且可以用来修改基于XML的配置元数据库。Microsoft.NETFrameworkMicrosoft.NETFramework允许开发人员在ASP.NET和其它技术的帮助下创建优秀的Web应用程序。此外,它还可以帮助他们开发与他们目前正在设计和开发的应用程序完全相同的程序。.NETFramework和语言无关;实际上您可以使用任何语言为它开发程序。开发人员可以使用各种语言构建基于.NET的应用程序和服务,包括:MicrosoftVisualC++®.NET、VisualBasic®.NET、JScript®以及VisualC#.NET。XMLWeb服务IIS6.0提供了一个高性能的XMLWeb服务平台。XMLWeb服务为用户远程访问服务器功能提供了手段。通过使用Web服务,企业可以将编程接口暴露给他们的数据或业务逻辑,也可以通过客户端和服务器应用程序获得和操纵这些数据和业务逻辑。跨越组织地理边界的信息共享跨越组织的地理边界使用各种语言进行信息共享正在经济全球化浪潮中发挥越来越大的作用。过去,HTTP协议的非Unicode结构将开发人员限制在系统代码页上。现在,利用经过UTF-8(UCSTransformationFormat8)编码的URL,Unicode成为了可能,它带来的好处之一便是:人们可以支持更复杂的语言了,例如中文。IIS6.0允许用户使用Unicode访问服务器变量。此外,它还添加了新的服务器支持函数,允许开发人员访问以Unicode形式表述的URL地址,因此改善了产品的国际化支持能力。WindowsXP中文全称为视窗操作系统体验版。是微软公司发布的一款视窗操作系统。它发行于2001年10月25日,原来的名称是Whistler。WindowsXP拥有豪华亮丽的用户图形界面。非常方便应用系统的快速开发。SQLServer是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。SQLServer近年来不断更新版本,1996年,Microsoft推出了SQLServer6.5版本;1998年,SQLServer7.0版本和用户见面;SQLServer2000是Microsoft公司于2000年推出的最新版本。其特点有:(1真正的客户机/服务器体系结构。(2图形化用户界面,使系统管理和数据库管理更加直观、简单。(3丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。(4SQLServer与WindowsNT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQLServer也可以很好地与MicrosoftBackOffice产品集成。(5具有很好的伸缩性,可跨越从运行Windows95/98的膝上型电脑到运行Windows2000的大型多处理器等多种平台使用。(6对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。(7SQLServer提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。(8支持XML(ExtensiveMarkupLanguage,扩展标记语言(9强大的基于Web的分析(10支持OLEDB和多种查询(11支持分布式的分区视图开发工具与开发平台都是根据,本系统设计的。选择配置好一个优秀的开发平台非常方便系统的开发,能很好的保证以后系统的稳定性。选择好的开发工具能最大程度的减少系统代码的编写,非常适合快速开发,并能保证系统以后的可维护性。下面就是工具:MicrosoftVisualStudio2005+Sqlserver2000+Microsoftvisio2003的低成本方式。
3需求分析现在,人们的生活水平和文化素质的普遍提高,并且开始注重生活质量。随着市场经济的快速发展,观念的不断更新,个人理财意识普遍增强,特别是家庭理财得到很大的发展。在意识上,一方面,人们对家庭和个人的各方面消费有进行统计和分析的愿望,以便更好的做好家庭收支计划和网络账本管理。另一方面,各种理财手段不断丰富,如何把各种手段统一起来,并且能更方便的操作。随着精神和物质生活的提高,人们购置电脑的的能力也在增强,因此更加需要一款软件去帮助管理网络账本。开放这款软件,技术上主要涉及界面涉及和数据库设计,在开放方面,可以使用数据库,采用面向对象的编程方法,其开发主要包含前台操作和后台数据库的建立。实现家庭理财的自动化和信息化,用户可以按照权限的不同去操作数据库。在技术上可以使用VS2008和SQLSever2000。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)在线帮助:HTMLHelp格式文件,联机式。3.5其它需求(1)支持多浏览器。(2)系统安装方便,易于维护。3.6界面需求分析(1界面元素通常一个软件界面的元素包括界面主颜色、字体颜色、字体大小、界面布局、界面交互方式、界面功能分布、界面输入输出模式。其中,对用户工作效率有显著影响的元素包括:输入输出方式、交互方式、功能分布,在使用命令式交互方式的系统中,命令名称、参数也是界面元素的内容,如何设计命令及参数也很重要。影响用户对系统友好性评价的元素则有:颜色、字体大小、界面布局等,这种划分不是绝对的,软件界面作为一个整体,其中任何一个元素不符合用户习惯、不满足用户要求都将降低用户对软件系统的认可度,甚至影响用户的工作效率,而使用户最终放弃使用系统。围绕界面元素所要达到的设计目的是让最终用户能够获得美感、提高工作效率、易于操作使用系统。目前在界面元素的选择、布局设计等方面的研究进行得较多,内容涵盖了可用性工程学、人机工程学、认知心理学、美学、色彩理论等方面的探讨。(2用户角色界面需求分析必须围绕用户为中心,不同于客观功能需求分析,具有很大的主观性。虽然,界面设计人员可以按照通行的原则来设计,但是用户个体的文化背景、知识水平、个人喜好等是千差百异的,其界面需求也是相差很大。不同的用户,对软件界面有不同的要求,表达自己要求的方式也尽不相同。而且用户的界面要求通常不象业务功能需求那样容易明确、有据可查、可以利用专门工具进行分析。多数用户往往并不能提出明确的、全局的界面需求,其需求同自身主观因素联系紧密,是模糊、变化的。调查用户的界面需求,必须先从调查用户自身特征开始,将不同特征用户群体的要求进行综合处理,再有针对性地分析其界面需求。(3需求变化用户对于界面通常只能提出基本的要求,而且提出的要求也不一定科学,因此如何诱导用户在项目进行中尽早明确自己的需求,是任何需求分析人员都会面临的问题。用户根据自己想象中的理想系统向分析开发人员提出自己的要求。开发方实现目标后交给用户,在系统实施运行后,用户将实际目标系统同自己想象中的理想系统对比,同时,目标系统的使用会刺激用户修正想象中的理想系统,然后提新的需求。由于软件界面的评审因素同用户的心理状况、认识水平有很大关系,所以对于软件界面,用户只有在使用过之后才能知道是否符合自己的操作习惯,颜色、字体等界面元素是否满足自己的要求,从而提出更明确的要求。(4界面原型由于在软件开发前期,用户的界面需求很模糊,甚至没有自己的理想模型,用户提出的要求就很难量化,结果很容易被需求分析人员忽略。因此在用户角色定义完成后应用快速原型法来设计用户界面,可以帮助用户尽快完善自己的理想模型。利用界面原型可以将界面需求调查的周期尽量缩短,并尽可能满足用户的要求。快速原型法是迅速地根据软件系统的需求产生出软件系统的一个原型的过程,其主要好处是可尽早获得更完整、更正确地需求和设计。利用界面原型,用户可以很感性地认识到未来系统的界面风格以及操作方式,从而迅速作出判断:系统是否符合自己的感官期望,是否满足自己的操作习惯,是否能够满足自己工作的需要。需求分析人员可以利用界面原型,诱导用户修正自己的理想系统,提出新的界面要求。因此,界面需求分析的步骤可为:确定所涉及的界面元素,分析用户特征并定义用户角色,依据用户角色的界面需求设计界面原型并不断改进完善。设计界面的常见原则包括:①简易性。界面的简洁是要让用户便于使用、便于了解、并能减少用户发生错误选择的可能性。②用户的语言。界面中要使用能反应用户本身的语言,而不是设计者的语言。要选择主动式语言而非被动式。③记忆负担最小化。人脑不是电脑,在设计界面时必须要考虑人类大脑处理信息的限度。人类的短期记忆极不稳定、有限,24小时内存在25%的遗忘率。所以对用户来说,浏览信息要比记忆更容易。④一致性。是每一个优秀界面都具备的特点。界面的结构必须清晰且一致,风格必须与内容相一致。⑤清楚。在视觉效果上便于理解和使用。⑥用户的熟悉程度。用户可通过已掌握的知识来使用界面,但不应超出一般常识。⑦从用户的观点考虑。想他们所想,做他们所做。用户总是按照他们自己的方法理解和使用。通过比较两个不同世界(真实与虚拟的事物,完成更好的设计。⑧安全性。用户能自由的作出选择,且所有选择都是可逆的。在用户作出危险的选择时有信息提示。⑨灵活性。简单来说就是要让用户方便的使用,但不同于上述。即互动多重性,不局限于单一的工具(包括鼠标、键盘或手柄。⑩人性化。高效率和用户满意度是人性化的体现。应具备熟练用户和生疏用户两种界面,即用户可依据自己的习惯定制界面,并能保存设置。系统界面设计严格按照了如上的设计要求。所以具有美观的效果,并方便以后的维护。
4系统设计4.1设计要求初步了解开发网页的基本工具,必备条件,基本流程。提供管理员账户管理功能,提供对课程进行添加、删除、修改以及查看修改等功能。掌握.net编程的原理及实用方法,实现快速开发。完善代码并进行测试。4.2设计模式MVC模式是一个复杂的架构模式,其实现也显得非常复杂。但是,我已经终结出了很多可靠的设计模式,多种设计模式结合在一起,使MVC模式的实现变得相对简单易行。Views可以看作一棵树,显然可以用CompositePattern来实现。Views和Models之间的关系可以用ObserverPattern体现。Controller控制Views的显示,可以用StrategyPattern实现。Model通常是一个调停者,可采用MediatorPattern来实现。现在了解一下MVC三个部分在J2EE架构中处于什么位置,这样有助于理解MVC模式的实现。MVC与J2EE架构的对应关系是:View处于WebTier或者说是ClientTier,通常是JSP/Servlet,即页面显示部分。Controller也处于WebTier,通常用Servlet来实现,即页面显示的逻辑部分实现。Model处于MiddleTier,通常用服务端的javaBean或者EJB实现,即业务逻辑部分的实现。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-1MVC组件类型的关系和功能(1MVC的优点MVC要求对应用分层,虽然要花费额外的工作,但产品的结构清晰,产品的应用通过模型可以得到更好地体现。首先,最重要的是应该有多个视图对应一个模型的能力。在目前用户需求的快速变化下,可能有多种方式访问应用的要求。例如,订单模型可能有本系统的订单,也有网上订单,或者其他系统的订单,但对于订单的处理都是一样,也就是说订单的处理是一致的。按MVC设计模式,一个订单模型以及多个视图即可解决问题。这样减少了代码的复制,即减少了代码的维护量,一旦模型发生改变,也易于维护。其次,由于模型返回的数据不带任何显示格式,因而这些模型也可直接应用于接口的使用。再次,由于一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变。一个应用的业务流程或者业务规则的改变只需改动MVC的模型层。控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起完成不同的请求,因此,控制层可以说是包含了用户请求权限的概念。最后,它还有利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码。(2MVC的不足①增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。②视图与控制器间的过于紧密的连接。视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。③视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。④目前,一般高级的界面工具或构造器不支持MVC模式。改造这些工具以适应MVC需要和建立分离的部件的代价是很高的,从而造成使用MVC的困难。4.3采用的关键技术及复杂性分析(1实现快速查找文件的功能,主要进行模糊查找。(2利用。Net编程很容易出现乱码,本系统一致采用gb2312编码,防止了系统出现乱码的问题。(3当数据量比较大的时候必须实现分页功能,才能减少服务器的负担,不会让服务器因为处理数据比较大时候死机。经过艰苦的调试,编程。终于实现了数据读取的分页功能。4.4登陆管理使用者:用户目的:使用不同的角色进行登陆管理操作基本事件流:1、进入登陆界面,本用例开始2、普通用户通过注册后进入系统进行操作。3、超级用户进入系统后进行管理操作。用例结束图3-1.管理者示意图图3-2.普通成员示意图4.5账簿管理使用者:用户目的:查看账簿具体信息基本事件流:1、进入账簿管理界面,点击查看,本用例开始2、查看具体的收支属性。3、点击确定,用例结束编辑账簿信息使用者:用户目的:编辑收支条目基本事件流:1、进入账簿管理界面,点击编辑,本用例开始。2、对当前选中的收支条目进行修改编辑。3、编辑完点击确定,用例结束。删除账簿信息使用者:用户目的:删除条目基本事件流:1、进入账簿管理界面,点击删除,本用例开始。2、对当前选中的收支条目进行删除操作。3、点击确定删除,用例结束。4.6家庭成员管理增加家庭成员使用者:管理员目的:增加家庭成员基本事件流:1.1、用户进入增加家庭成员管理界面,本用例开始1.2、系统显示家庭成员信息输入界面,用户输入家庭成员姓名、称号、性别、出身日期、年龄,身高,体重。1.3、用户确认输入信息,系统确认姓名是否唯一,若唯一,则增加成员信息,本用例结束。否则,提示该用户已存在。修改家庭成员信息1.1、用户进入修改家庭成员管理界面,本用例开始1.2、系统显示家庭成员信息输入界面,用户输入家庭成员姓名、称号、性别、出身日期、年龄,身高,体重。1.3、用户确认输入信息,系统确认姓名是否唯一,若唯一,则修改成员信息,本用例结束。删除家庭成员信息使用者:用户目的:删除条目基本事件流:1、进入账簿管理界面,点击删除,本用例开始。2、对当前选中的收支条目进行删除操作。3、点击确定删除,用例结束。4.7收支项目管理查看收支项目使用者:用户目的:查看收支具体信息基本事件流:1、进入收支项目管理界面,点击查看,本用例开始。2、查看具体项目收支情况。3、点击确定,用例结束。编辑收支项目使用者:用户目的:编辑收支条目基本事件流:1、进入收支项目管理界面,点击编辑,用例开始。2、对当前选中的收支条目进行修改编辑。3、编辑完后点确定,用例结束。删除收支项目使用者:用户目的:删除条目基本事件流:1、进入收支项目管理界面,点击删除,本用例开始。2、对当前选中的收支条目进行删除操作。3、点击确定删除,用例结束。4.8数据库设计数据库处理在信息系统的研究中一直是非常重要的主题,近年来随着网络的发展,数据库更是成了最热门的技术之一。数据库与互联网的相结合应用,使得数据库的重要性体现的更加突出。数据库的设计帮助人们对相关的数据进行操作,用户可以存储,修改、删除、调用数据等。对于一个完整的系统来说,数据库是不能缺少的。合理的数据库可以提高数据库的运行速度和存储效率,保证数据的完整性和一致性。对于数据库的设计的好坏,直接关系到整个系统的好坏,本系统针对网络账本的增加、修改、统计、删除等要求。以及短期内对资金的预算和结算,做一个完整的数据库,用来存储用户的数据,并且根据用户需求,调用资料。在整个数据设计中,家庭成员和家庭的收入和支出作为最重要的一个环节,而记账、查询、预算、结算等操作都要依靠收入支出这两个数据。系统通过对数据的存储、查询、更改来满足用户的需求,因为是网络账本管理系统,所以涉及的仅仅只是以家庭为单位,用户可以先进行试用,到期后如需继续使用,可以购买。数据表是SqlServer2000中最基本的数据库对象,它包含数据库中所有数据。数据在表中是按行和列的格式组织排列的,每行代表惟一的一条记录,而每列代表记录中的一个字段(或域),在表中行和列的顺序是任意的。在SqlServer2000数据库中表名是惟一的,而且同一个表中列的名称也必须是惟一的。该系统的数据库设计非常简单就只用到了基本几张表,这些表还是根据需求分析设计的。实体-联系图(Entity-RelationDiagram用来建立数据模型,在数据库系统概论中属于概念设计阶段,形成一个独立于机器,独立于DBMS的ER图模型。通常将它简称为ER图,相应地可把用ER图描绘的数据模型称为ER模型。ER图提供了表示实体(即数据对象)、属性和联系的方法,用来描述现实世界的概念模型。一个简单的例子构成E-R图的基本要素是实体、属性和联系,其表示方法为:˙实体型:用矩形表示,矩形框内写明实体名;˙属性:用椭圆形或圆角矩形表示,并用无向边将其与相应的实体连接起来;多值属性由双线连接;主属性名称下加下划线;˙联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型在E-R图中要明确表明1对多关系,1对1关系和多对多关系。˙1对1关系在两个实体连线方向写1;˙1对多关系在1的一方写1,多的一方写N;˙多对多关系则是在两个实体连线方向各写N,M系统E-R图如下:数据字典数据字典(Datadictionary)是一种用户可以访问的记录数据库和应用程序源数据的目录。主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由DBMS自动更新的数据字典。被动数据字典是指修改时必须手工更新其内容的数据字典。数据字典是一个预留空间,一个数据库,这是用来储存信息数据库本身。数据字典可能包含的信息,例如:数据库设计资料、储存的SQL程序、用户权限、用户统计、数据库的过程中的信息、数据库增长统计、数据库性能统计。数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果.数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合.数据字典还有另一种含义,是在数据库设计时用到的一种工具,用来描述数据库中基本表的设计,主要包括字段名、数据类型、主键、外键等描述表的属性的内容。数据字典最重要的作用是作为分析阶段的工具。任何字典最重要的用途都是供人查询对不了解的条目的解释,在结构化分析中,数据字典的作用是给数据流图上每个成分加以定义和说明。换句话说,数据流图上所有的成分的定义和解释的文字集合就是数据字典,而且在数据字典中建立的一组严密一致的定义很有助于改进分析员和用户的通信。用户表:ConsumerInfo字段描述字段列名数据类型默认值用户IDUser_IdIntNew(主键随机获取姓名User_RealnameVarChar(8用户名User_NameVarChar(20用户密码User_PasswordVarChar(200用户权限User_PopedomBit备注User_RemarkText账簿表:BooksInfo字段描述字段列名数据类型可空默认值约束类型账簿IdBooks_IdIntnew(主键随机获取账簿名称Books_NameVarchar(50帐簿类型Books_TypeVarchar(50收支父类IdExpenditreFather_IdInt外键收支子类IdExpenditreChild_IdInt用户IdUser_IdInt外键收支日期Books_ExpenditureDateDateTimegetdate(收支金额Books_ExpenditureMoneymoney(0.0创建日期Books_CreateDateDateTimegetdate(备注Books_Remarktext√收支父类表:ExpenditureFather字段描述字段列名数据类型可空默认值约束类型收支父类IdExpenditreFather_IdIntnew(主键随机获取收支父类编号ExpenditureFather_NumberVarChar(10收支父类项目名ExpenditureFather_NameVarChar(20收支父类类型ExpenditureFather_TypeBit√创建日期ExpenditureFather_CreateDateDateTimegetdate(收支子类表:ExpenditreChild字段描述字段列名数据类型可空默认值约束类型收支子类IdExpenditreChild_IdIntnew(主键随机获取收支父类IdExpenditreFather_IdInt外键收支子类编号ExpenditreChild_NumberVarChar(10收支子类项目名ExpenditreChild_NameVarChar(20创建日期ExpenditreChild_CreateDateDateTimegetdate(
第五章网络账本软件的界面及程序设计5.1系统登录模块的设计与实现在进入系统之前,必须要有符合本系统的用户以及每个用户对应的密码。如果没输入用户名,点击登入将会提示请输入用户名。如果用户名错误和用户的密码不符合也将会有错误提示。登录界面如图如图所示:图5-1登录界面5.2主界面的设计与实现主模块负责应用程序的主界面,由它调用其他模块。因此主模块应该具有操作性好、界面清晰的特点,使用户能够方便地找到所需功能。用户和密码验证正确后,将进入网络账本系统的主界面。在这个界面里,将实现本系统所有的功能。如图5-2所示:图5-2主界面5.3账簿管理进入主界面以后,点击菜单中的账簿管理,会出现三个按钮,账簿的新增、删除和查找。如图5-3所示图5-3账簿管理界面5.4家庭成员管理账簿的成员管理功能主要有成员的新增和删除图5-4家庭成员管理5.5收入/支出项目维护考虑到使用本系统的不同用户会有不同的经济来源和消费渠道,为了方便用户使用本系统,故特别设计了用户对网络账本系统收支项目的增删改功能。这样可以更全面更系统的记录用户的收支信息,从而增加财务的可管理性。图5-6收入/支出项目维护运行界面5.6月/年报表的设计与实现为了方便用户对自己的财务状况做系统的总结,本系统还以报表形式生成了数据查看的功能。以年报表为例,月报表和年报表功能和形式基本相同。界面制作界面的设计方法同上。制作内容如图5-11:图5-7年报表设计图用户只需选择收入或支出,并选择查询年/月份,点击查询即可。系统测试与部署1.1测试目的与目标在此系统进行初步实现之后,开始进行对系统进行测试,找出系统中存在的Bug,通过测试,用提交的Bug报告来为以后软件的改进提供标准和参考,能够在以后的系统改进中找到依据。测试后的软件各模块基本功能能顺利进行,尽可能的提高软件的健壮性。1.2测试方法系统的测试有两种方法分别为黑盒测试和白盒测试。黑盒测试又称为功能测试,在程序接口进行,只检查程序功能是否能够按照规格说明书的规定正确使用,程序是否能适当地接收输入数据并发生正确的输出信息,而且要能够保持外部信息的完整性。白盒测试又叫结构测试,完全了解程序的结构和处理过程,这种方法按照程序内部的逻辑测试程序,检验程序中每条通路是否都能按照预定要求正确工作。本系统开发过程进行的测试步骤如下:模块测试:也叫单元测试,目的是保证每一个模块作为一个单元能正确运行,本测试所发现的往往是编码和详细设计的错误,主要评价模块的下述五个特点:模块接口,局部数据结构,重要的执行路径,出错处理通路,影响上述各方面特性的边界条件。模块测试主要由代码审查和软件测试两部分组成。集成测试:包括系统测试和子系统测试。集成测试是组装软件的系统技术,主要目标是发现与接口有关的问题。集成测试有两种方法:非渐增式和渐增式,但比较而言,渐增式方法比较好,因为:编写的测试软件较少,开销较小;较早地发现模块间的接口错误;错误位置容易判断;测试更彻底。因此,本系统集成测试采用渐增式测试中的混合法,即对软件结构中较上层使用自顶而下的测试方法,而对软件结构中较下层,使用的是自底向上方法,两者结合,这是对模块较多时测试的一种折衷方法。验收测试:这一步是验证软件的有效性。目的是向未来的用户表明系统能够象预定的那样工作,验收测试一般使用黑盒测试法,验收测试有两种可能的结果:功能和特性与用户的要求有差距;功能和性能与用户要求一致,软件是可以接受的。这个阶段发现的问题往往和需求分析阶段的差距有关。平行运行。所谓平行运行就是同时运行。新开发出来的系统和将被它取代的旧系统,以便比较新旧两个系统的处理结果。目的有:可以在准生产环境中运行新系统而有不冒风险;用户能有一段熟悉新系统的时间;可以验证用户指南和使用手册之类的文档;能够以准生产模式对新系统进行全负荷测试,可以用测试结果验证性能指标。1.3测试用例本系统采用黑盒测试,设计测试方案是测试阶段的关键技术问题。所谓测试方案包括预定要测试的功能。应该输入的测试数据和预期的结果,目标是设计一组可能发现错误的数据。本系统中应用了如下测试方案:基本用到逻辑覆盖;语句覆盖;判断覆盖;条件覆盖;判定/条件覆盖;条件组合覆盖;点边路径覆盖,由于功能模块较多,测试内容篇幅较长,所以在本论文中只介绍登入系统的测试用例,表5.1是本系统会员登入的测试表,从测试的结果来看与期望结果完全相同。表5.1登入系统测试用例功能特性会员登录验证测试目的验证是否输入合法的信息测试数据会员ID:1111密码:1111测试内容操作描述数据期望结果实际结果测试状态1输入会员ID,按“登陆”按钮。会员ID:1111,密码为空显示警告信息“用户名或密码误!”显示警告信息“用户名或密码误!”与期望结果相同2输入密码,按“登陆”按钮。会员ID为空,密码:1111显示警告信息“用户名或密码误!”显示警告信息“用户名或密码误!”与期望结果相同3输入会员ID和密码,按“登陆”按钮。会员ID:1,密码:1显示警告信息“用户名或密码误!”显示警告信息“用户名或密码误”与期望结果相同4输入会员ID和密码,按“登陆”按钮。用户名:1111,密码:1111正确登入到会员操作界面正确登入到会员操作界面与期望结果相同1.4测试结论把开始的代码写得越好,它出现的错误也就越少,你也就越能相信所做过的测试是彻底的。系统化测试以一种有序方式设法探测潜在的麻烦位置。同样,毛病最可能出现在边界,这可以通过手工的或者程序的方式检查。自动进行测试是最理想的,用得越多越好,因为机器不会犯错误、不会疲劳、不会用臆想某此实际无法工作的东西能行来欺骗自己。回归测试检查一个程序是否能产生与它们过去相同的输出。在做了小改变之后就测试是一种好技术,能帮助我们将出现问题的范围局部化,因为新问题一般就出现在新代码里面。测试和排错常常被说成是一个阶段,实际上它们根本不是同一件事。简单地说,排错是在你已经知道程序有问题时要做的事情。而测试则是在你在认为程序能工作的情况下,排错是在你已经知道程序有问题时要做的事情。而测试则是在你在认为程序能工作的情况下,为设法打败它而进行的一整套确定的系统化的试验。
6.致谢在这次毕业设计中,在老师的指导下完成了网络账本管理系统的系统调研、平台论证、需求分析、总体设计、详细设计、界面设计。其中主要的可行性分析、需求分析、总体设计,它们都是比较重要的组成部分,也是后期设计软件的基础与必备。需求分析文档编辑的好坏直接影响整个软件设计工作。本系统基本能够实现客户远程购书的功能,,在进一步完善的基础上,将可以投入实际的应用。此次所作课题是网络账本管理系统,由于我的编程水平和经验不足,有些功能的实现并不完美、并不理想。在已经完成的程序中,也存在许多不尽人意的算法,也没有统一优化,系统有待进一步改善,而这些问题也让我充分认识到了软件开发的困难程度。通过这次毕业设计,使我对网络账本管理网站的开发有了一定的了解。对软件开发方法和手段,我都有了一定的认识;丰富了我的软件开发的经验,提高了程序编写的水平。加深理解了在课程中、书本上学到的知识和理论,并使其在实际开发中得到运用。同时通过编写毕业设计论文,掌握了软件文档的书写方法和书写格式。在老师的关心帮助支持下,经过很长的辛勤探索、不懈努力,终于顺利完成了本次毕业设计任务。并为我今后继续学习、深造奠定了基础,我非常感谢各位老师、同学的支持与帮助。
7参考文献[1]密君英.ASP.NET动态网站开发技术实用教程[M].北京:中国电力出版社,2008.08[2]张玉平等.ASP.NET+SQL组建动态网站[M].北京:电子工业出版社,2006.03[3](美)MichaelOtey,DenielleOtey.MicrosoftSQLServer2000开发指南[M].北京:清华大学出版社,2007.01[4]龙马工作室.新编ASP.NET2.0+SQLServer2000从入门到精通[M].北京:人民邮电出版社,2008[5]陈志泊.ASP.NET数据库应用程序开发教程[M].北京:人民邮电出版社,2005.7[6]王权.用ASP.NET实现网上书店系统[J].甘肃科技,GansuScienceandTechnology,2005年01期
[7]田洪云.基于三层模型的网上书店系统设计与实现[J].微计算机信息,MicrocomputerInformation,2007年30期
[8]严芸;孙力.基于ASP.NET技术的电子商务系统设计与实现[J].黑龙江科技信息,HeilongjiangScienceandTechnologyInformation,2009年16期
[9]徐岩柏.ASP.NET数据库访问技术[J].中国科技信息,ChinaScienceandTechnologyInformation,2009年11期
[10]于倩;罗静.ASP.NET中ADO.NET对数据库的管理[J].微计算机应用,Microcomputerapplications,2004年03期
附录外文翻译:COM互操作性与微软的COM互操作性。NET从传统的C#平台是一个痛苦的经历。可选的参数和命名参数的C#4.0功能做许多事情来减轻这一点,但仍然存在一些问题,其中大部分是由本节中的功能处理。重要的是要注意,这些功能是微软的C#语言特定的扩展。这些功能的实现并不需要是一个标准的C#4.0实现。这些特点是共同的,他们的工作与“COM类型”,即实现一个GUID类型的属性成员。在下面的中,“COM方法”指的是一个COM类型的方法。1参考参数值传递给在C#中引用参数的一个普遍使用的只有一个方法拟修改的内容所传递的变量。为了确保来电者是这个潜在的突变知道,C#要求明确的ref关键字时使用这种方法被调用。然而,在不同的模式普遍存在的COM:COM方法很可能因为在参数感知的性能,超值的参数传递引用参数根本利益。在一般情况下COM方法不会修改其即使按引用传递的参数。因此,似乎是不必要地抑制了这种方法从C#调用者应该要申报所有这些论点临时变量,并通过引用传递的。出于这个原因调用COM方法允许按值传递(即无ref关键字)参数,即使在方法签名表示参考参数。语义如下:•一个适当类型的临时变量是由编译器分配•该参数的值被分配到临时变量•临时变量传递给该方法返回时临时变量将被丢弃,任何修改时被调用的方法所造成无法观察。这不以任何方式改变的参数计算顺序。作为一个例子,给出一个COM方法签名如下:voidM(inti,refintr1,refintr2,refintr3并调用:intx=0;M(1,2,x,refx;第一个参数1是按值传递。对于第二个实参2创建一个临时变量,并认为参考价值的调用中传递。对于第三个参数x,即使表达式x是一个变量,它是重新归类为一个值,因为裁判不使用修饰符。因此,创建一个临时变量,x的值是分配给它,而变数是参照调用中传递。因此,任何修改R1的值和r2的方法内被丢弃在返回后与他们一起创建的临时变量。第四个参数,参考x是通过正常的方式,参照变量x方法体中的任何修改将反映到R3在返回时变量x。2连接的主互操作程序集NET代码调用COM类型。传统上,COM的调用C#代码是对PIA的编译,并在运行时执行环境在PIA将被载入,方便调用COM功能的包装。在C#4.0PIA的可“挂钩”,而不是“引用”。其重要意义是,任何PIA的一部分,这是从客户端程序调用将被纳入客户大会本身复制。在运行时,因此,没有必要加载和执行环境咨询一个PIA。这种做法的好处:首先所有正在运行的程序大小通常会大幅减少,因为PIA的往往是大的,其中只有一小部分往往是从任何给定的程序调用。此外,版本问题而可能产生的分歧之间的PIA的编制和执行机是可以避免的。而不是引用的连接使用的大部分语义透明。举例来说,即使同一PIA的类型复制到这是一起下载,就不会出现执行程序,以不同类型的多种组件。但也有一些语义差异。3动态相连COM成员COM方法往往是设计的语言环境,更比C#动态。这意味着,他们往往会返回弱类型的结果,并依靠调用动态语言上查找这些成果的进一步行动。这种方法更具体的COM类型的变体,它可以指定任何对象返回结果。这将导致成特定类型的非常频繁的返回值等需要进一步操作可以被应用。在某些情况下这会导致不必要的笨拙的代码,全部由一间通话的实际语言环境不匹配而产生了C#环境,该方法的期望。现在,C#具有动态类型,似乎更为合适的地图COM的进入该变种类型。不幸的是,出于兼容性问题,我们不能改变PIA的代表变量类型,也不能改变的C#进口的PIA是在现有的方式引用类型。但是,因为与PIA的是一种新的功能,我们可以给这些不同的语义,而事实上我们做的。具体来说大会中的任何一个链接,它有返回类型对象将被视为在C#如果返回类型是动态的COM方法。因此,在这种方法的结果进一步调用将被动态地绑定。4COM运行时粘合剂即使他们不是动态的对象,基于COM对象的动态操作不是由C#运行时绑定,而是派出了一个特殊的COM运行时绑定是在多个语言共享。这意味着功能,如默认属性和索引属性将得到尊重,即使这种功能是未知的为C#。5范例这里是一个更大的办公自动化示例,展示了新的C#在行动中的许多功能。usingSystem;usingSystem.Diagnostics;usingSystem.Linq;classProgram{staticvoidMain(string[]args{varexcel=newExcel.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 员工服务合同范本模板
- 《流行性感冒》课件
- 《伏特加营销战略》课件
- 《家长会被动画副本》课件
- 《资本运营策略与应用》课件
- 《化学应用》课件
- 《生态与自然环境》课件
- 入学申请书模板范文高中
- 商铺装饰合同范本
- 2025年《义务教育小学美术课程标准测试卷2022版》测试题库及答案
- 2025年中国羊毛绒线市场调查研究报告
- 肥料登记申请书
- 矿产勘探数据分析-深度研究
- 人教版高中英语挖掘文本深度学习-选修二-UNIT-4(解析版)
- 2025年北京控股集团有限公司招聘笔试参考题库含答案解析
- 医院诊断证明书word模板
- 珍珠的质量分级及评估
- 3-001-铁路货物运价规则
- 麦肯锡——建立成功的财务管理体系(1)
- 评审会专家意见表
- 国际标准ISO13920
评论
0/150
提交评论