基于UML测试用例的研究和实现学士学位论文Word下载.docx

上传人:b****5 文档编号:19853161 上传时间:2023-01-10 格式:DOCX 页数:34 大小:60.01KB
下载 相关 举报
基于UML测试用例的研究和实现学士学位论文Word下载.docx_第1页
第1页 / 共34页
基于UML测试用例的研究和实现学士学位论文Word下载.docx_第2页
第2页 / 共34页
基于UML测试用例的研究和实现学士学位论文Word下载.docx_第3页
第3页 / 共34页
基于UML测试用例的研究和实现学士学位论文Word下载.docx_第4页
第4页 / 共34页
基于UML测试用例的研究和实现学士学位论文Word下载.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

基于UML测试用例的研究和实现学士学位论文Word下载.docx

《基于UML测试用例的研究和实现学士学位论文Word下载.docx》由会员分享,可在线阅读,更多相关《基于UML测试用例的研究和实现学士学位论文Word下载.docx(34页珍藏版)》请在冰豆网上搜索。

基于UML测试用例的研究和实现学士学位论文Word下载.docx

firstabstractfromspecificissuesinanappropriatemathematicalmodel,andthendesignasolutionofthismathematicalmodelalgorithm(Algorithm),andfinallycompiletheprogram,test,adjustmentuntilyougetthefinalanswer.Seekingtheessenceofthemathematicalmodeloftheproblem,extracttheobjectoftheoperation,andtoidentifytherelationshipbetweentheoperationtargetcontaining,andthenusethelanguageofmathematicswillbedescribed.Computeralgorithmsanddatarelatedtothestructure,algorithmsareallattachedtoaspecificdatastructure,thedatastructuredirectlyrelatedtotheselectionandefficiencyofthealgorithm.DesignedtotakeadvantageofthepowerfulforceoftheC#programmingefficiencyandreliability.Thealgorithmdesignsoftwareengineering,computerscienceandrelatedprofessionalimportantprofessionalandtechnicalfoundationcoursesandcriticalcorecurriculumisanimportantfoundationofthesystemsoftwareandlarge-scaleapplications.Thiscourseintroducesthesoftwaredesignalgorithmdesignandanalysismethods,trainingstudentstoanalyzeproblemsandproblem-solvingskills,andlayasolidfoundationforthedevelopmentofefficientsoftwaresystemsandrelatedresearchinthefield,learningcurriculumandimprovesoftwaredesignlevelandlayagoodfoundation.

Keywords:

Programming;

C#;

Forms

目次

摘要I

AbstractII

摘要II

1绪论1

1.1课题背景及其意义1

1.2当前国内外发展概况调研1

1.2.1系统理论的发展1

1.2.2应用技术的发展1

1.3课题任务2

1.4本文的组织结构3

2系统需求分析4

2.1系统可行性分析4

2.2功能需求分析4

2.5本章小结5

3系统概要设计6

3.1系统功能设计6

3.2系统的体系结构设计7

3.2.1系统实现技术7

3.2.2开发语言9

3.2.3系统结构9

3.4本章小结10

4系统数据库设计11

4.1数据库表结构11

4.2本章小结11

5系统的具体实现12

5.1数据访问层的实现12

5.1.1配置数据库连接12

5.1.2数据库类成员12

5.2业务逻辑层的实现13

5.3页面显示层的实现13

5.4本章小结15

6系统测试16

6.1系统测试目的16

6.2测试方法16

6.3测试结果16

6.3.1结构信息测试16

6.3.2系统用户界面测试17

6.3.3系统登录测试17

7总结与展望18

7.1总结18

7.2展望18

参考文献19

1绪论

1.1课题背景及其意义

有限状态自动机(FSM"

finitestatemachine"

或者FSA"

finitestateautomaton"

)是为研究有限内存的计算过程和某些语言类而抽象出的一种计算模型。

有限状态自动机拥有有限数量的状态,每个状态可以迁移到零个或多个状态,输入字串决定执行哪个状态的迁移。

有限状态自动机可以表示为一个有向图。

有限状态自动机是自动机理论的研究对象。

经过大学四年理论课程的学习,以及校内校外的实践,极大的丰富了自身的理论基础,并且也具备了一些处理简单问题的能力,但即将踏上社会的我深知这还远远不够,因此我利用了毕业设计的机会,在老师的指导下去完成一个具有挑战性的,其具体应用及社会服务相结合的项目,深知通过对它的开发,将对我的能力有更高层次的突破。

开发软件的一个目的是针对目前市面上的系统存在的功能不全,操作复杂,系统要求高等一系列问题,而设想一个具有个性化系统。

管理人员软件操作的适应时间和操作感觉这些方面都将大大的提高。

给定xml格式的自动机(自动机描述了逻辑信息)(有代码),xml里面存储逻辑控制信息,,生成脚本(这个脚本里面就是控制信息)(所谓的控制信息,就是测试场景),这些信息是由自动机转换来的,自动机里有什么逻辑,转换的脚本就包含什么逻辑,然后和数据库里的数据合并为一个最后的执行脚本

二.当自动机描述的逻辑是,加减乘除的时候,就是用来测试计算器的

三.数据驱动脚本是将测试输入和期望输出存储在数据文件中,而不是存储在脚本中,脚本中只存放控制信息。

执行测试时,从文件中而不是从脚本中读取测试输入。

1.2当前国内外发展概况调研

1.2.1系统理论的发展

系统的基本理论研究,正朝着以下几个方向的发展:

(1)系统研制方法的进一步系统化的研究。

(2)系统研制工具的进一步改善和完善的研究。

(3)系统模型的进一步研究。

(4)信息系统对人、组织和社会影响的进一步研究。

1.2.2应用技术的发展

C#是Microsoft为.NET平台量身定做的语言,是基于.NET平台的最佳语言。

它不仅能轻松的完成其他语言的程序设计任务,对高级程序设计任务的支持也吸引了大批的程序员,如网络编程、数据库连接[1]、多线程、安全和保护特性等。

C#是Microsoft专用在.NETFramework平台上进行开发的一门新型编程语言。

.NETFramework由两部分构成:

托管代码执行的运行环境和几乎可以完成所有编程任务的众多类库。

虽然很多语言都能够编写.NET代码,但C#是惟一针对.NETFramework而设计的语言,因此在今后几年内,C#将会成为编写.NET应用程序的首选。

B/S模式:

将服务器分解成一个数据服务器和一个或多个应用服务器,从而构成一个三层结构体系。

利用B/S构架技术,即可在内部网上发布各种信息,供查询、借阅。

在查询过程中,我们可以在客户机通过浏览器实现,不必另外安装软件,从而减少了维护工作量,同时还可以不断推出新的查询版本,以满足用户不断增长的需要。

C/S模式:

将系统分布于两个独立的实体客户机和数据库服务器中,开发的应用程序安装在每个客户机端,并与网络服务器数据库相连。

其优点在于人机交互方面具有更大的灵活性,在数据访问处理速度和数据安全上有一定的优势;

缺点是在更新客户端服务程序时,大大增加维护量,造成维护工作困难。

1.3课题任务

有多种类型的有限状态自动机:

接受器判断是否接受输入;

转换器对给定输入产生一个输出。

常见的转换器有Moore机与Mealy机。

Moore机对每一个状态都附加有输出动作,Mealy机对每一个转移都附加有输出动作。

有限状态自动机还可以分成确定与非确定两种。

非确定有限状态自动机可以转化为确定有限状态自动机。

有限状态自动机识别的语言是正规语言。

有限状态自动机除了它在理论上的价值,还在数字电路设计、词法分析、文本编辑器程序等领域得到了应用。

自动机接受的所有字串构成了自动机识别的语言L(M)。

非确定有限状态自动机

一个非确定有限状态自动机(NFA"

Non-deterministicfiniteautomaton"

)M是由下述元素构成的五元组(Q,Σ,δ,q0,F)

有穷状态集合Q;

有穷输入字母表Σ;

转移函数δ:

Σ->

2Q;

初始状态q0;

终结状态集合F,F包含于Q。

自动机从初始状态q0起,逐一读入输入串(由输入字母表Σ的字母构成)的每一个字母,根据当前状态、输入字母和转移函数δ决定自动机的下一步状态;

如果输入串结束时,自动机处于终结状态集合F的某一个状态,这表示自动机接受该字串;

否则自动机不接受该字串。

非确定有限状态自动机与确定有限状态自动机的唯一区别是它们的转移函数不同。

确定有限状态自动机对每一个可能的输入只有一个状态的转移。

非确定有限状态自动机对每一个可能的输入可以有多个状态转移,接受到输入时从这多个状态转移中非确定地选择一个。

1.4本文的组织结构

本文以基于C#的设计与实现为主题,围绕c#所采用的技术,及其需求和设计进行详细阐述,分为七部分:

第一章主要介绍了课题产生的背景,围绕背景阐述此课题研究目的和意义,并结合国内外的研究现状,分析理论的发展以及在实际应用中的发展。

接着介绍了课题任务和文章的章节安排。

第二章主要对进行系统的可行性分析,并按照由简单到细致的顺序对用户需求进行分析以及从业务流程的角度对系统的功能需求进行详细描述。

第三章主要研究分析系统的功能模块和体系结构。

第四章主要是对系统的实现进行数据库设计。

第五章陈述了系统的具体实现过程,分别对系统的表示层、业务层和数据层的实现进行了说明。

第六章介绍了系统的测试过程。

第七章总结了全文的工作,并提出了系统需要进一步完善和改进的地方。

2系统需求分析

2.1系统可行性分析

可行性分析又称为可行性研究,是在系统调查的基础上针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会方面进行分析和研究,以避免投资失误,保证新系统的开发成功。

可行性研究的目的就是用最小的代价在尽可能短的时间内确定难题是否得到解决。

作为该系统的开发,该系统的可行性分析包括以下几个方面。

(1)经济可行性。

主要指费用的支出与收益回报的比例,二者是否匹配。

用计算机代替人工进行录入,核对,统计,不但节约了时间,也节约了人力,例如实现了无纸化输入,节约了纸张的开销;

网上订购和信息发布,可以减少采购中间环节的成本,及时将读者的需求进行反馈,大大提高了工作的效率。

(2)技术可行性。

随着Internet网络的发展,利用互联网进行信息的采集和发布已经用在任何地方任何场合,为此本系统考虑采用C/S结构,利用先进的、效率高的新的系统开发工具C#来开发该系统,后台数据库[2]使用安全性高、可移植性好的SQLServer2000,利用ADO.NET接口技术实现对后台数据库的访问。

(3)人力资源可行性。

可行性的重点应在人员素质方面。

在使用c#的过程中,新的业务流程,新的操作方式。

(4)时机可行性。

为了提高学C#编程研管理能力,改变以往传统的管理方法,考虑使用效率更高、技术更先进的管理方式。

在这种环境下,开发该系统有非常大的实际意义和可行性。

2.2功能需求分析

用户对系统的功能要求主要包括:

信息要求、处理要求、安全性要求、完整性要求。

信息要求:

能够通本系统,达到任务书要求的规范和完成系统功能,。

处理要求:

当系统信息和交互信息发生变化时候,系统能正确处理。

安全性要求:

系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用。

完整性要求:

各种信息记录的完整性,信息记录内容不能为空;

各种数据间相互的联系的正确性;

相同的数据在不同记录中的一致性。

2.5本章小结

本章首先对系统的可行性进行了详细分析,接着对用户需求进行分析。

其次对论文的组织结构进行概述。

最后功能需求分析中首先介绍对系统的总体功能需求,然后在简析各个功能的要求。

3系统概要设计

3.1系统功能设计

通过前面章节所述的用户需求可以看出,要功能模块如图3.1所示:

图3.1系统主要功能模块图

功能描述如下:

(1)读取数据库的值。

(2)读取XML的符号。

(3)自动生成结果。

(4)导出txt。

3.2系统的体系结构设计

3.2.1系统实现技术

  sqlDataReader对象datareader对象允许你获得从command对象的SELECT语句得到的结果。

考虑性能的因素,从datareader返回的数据都是快速的且只是“向前”的数据流。

这意味着你只能按照一定的顺序从数据流中取出数据。

这对于速度来说是有好处的,但是如果你需要操作数据,更好的办法是使用DataSet。

DataSet对象该对象包括多个DataTable对象,而DataTable包含列和行,就象一个普通的数据库中的表。

你甚至能够定义表之间的关系来创建主从关系(parent-childrelationships)。

DataSet是在特定的场景下使用――帮助管理内存中的数据并支持对数据的断开操作的。

DataSet是被所有DataProviders使用的对象,因此它并不像DataProvider一样需要特别的前缀。

  SqlDataAdapter对象该对象通过断开模型来帮助用户方便的完成对以上情况的处理。

当在一单批次的对数据库的读写操作的持续的改变返回至数据库的时候,Dataadapter填充(fill)DataSet对象。

dataadapter包含对连接对象以及当对数据库进行读取或者写入的时候自动的打开或者关闭连接的引用。

另外,dataadapter包含对数据的SELECT,INSERT,UPDATE和DELETE操作的command对象引用。

你将为DataSet中的每一个table都定义dataadapter,它将为你照顾所有与数据库的连接。

所有你将做的工作是告诉dataadapter什么时候装载或者写入到数据库

3.2.2开发语言

C#是微软公司研究员AndersHejlsberg的最新成果[9]。

C#看起来与Java有着惊人的相似;

它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。

但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角。

C#是一种安全的、稳定的、简单的,由C和C++衍生出来的面向对象的编程语言[10]。

它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。

C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。

C#已经成为ECMA与ISO的标准规范[11]。

C#看似基于C++写成,但又融入其它语言如Delphi、Java、VB,大大方便熟悉不同语言的程序员的使用。

3.2.3系统结构

C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。

它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。

目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;

因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。

3.4本章小结

本章首先对系统所包含的功能模块进行划分,明确各功能模块所面向的用户类型和应当实现的功能;

最后从系统建设的角度,对系统的宏观结构进行划分,系统结构确定选用C/S架构,选择C#编程语言进行系统的开发。

4系统数据库设计

4.1数据库表结构

idintUnchecked

num1nvarchar(MAX)Checked

num2nvarchar(MAX)Checked

num3nvarchar(MAX)Checked

num4nvarchar(MAX)Checked

在系统中,数据库还是最佳的数据存储方式,虽然已经有很多的书籍在指导我们进行数据库设计,但应该那种方式是设计数据库的表结构的最好方法、设计时应遵从什么样的原则、四个范式如何能够用一种方式达到顺畅的应用等是我一直在思考和总结的问题,下文是我针对这几个问题根据自己的设计经历准备总结的一篇文章的提纲,欢迎大家一块进行探讨,集思广益。

其中提到了领域建模的概念,但未作详细解释,希望以后能够有时间我们针对这个命题进行深入探讨。

1)不应该针对整个系统进行数据库设计,而应该根据系统架构中的组件划分,针对每个组件所处理的业务进行组件单元的数据库设计;

不同组件间所对应的数据库表之间的关联应尽可能减少,如果不同组件间的表需要外键关联也尽量不要创建外键关联,而只是记录关联表的一个主键,确保组件对应的表之间的独立性,为系统或表结构的重构提供可能性。

2)采用领域模型驱动的方式和自顶向下的思路进行数据库设计,首先分析系统业务,根据职责定义对象。

对象要符合封装的特性,确保与职责相关的数据项被定义在一个对象之内,这些数据项能够完整描述该职责,不会出现职责描述缺失。

并且一个对象有且只有一项职责,如果一个对象要负责两个或两个以上的职责,应进行分拆。

3)根据建立的领域模型进行数据库表的映射,此时应参考数据库设计第二范式:

一个表中的所有非关键字属性都依赖于整个关键字。

关键字可以是一个属性,也可以是多个属性的集合,不论那种方式,都应确保关键字能够保证唯一性。

在确定关键字时,应保证关键字不会参与业务且不会出现更新异常,这时,最优解决方案为采用一个自增数值型属性或一个随机字符串作为表的关键字。

4)由于第一点所述的领域模型驱动的方式设计数据库表结构,领域模型中的每一个对象只有一项职责,所以对象中的数据项不存在传递依赖,所以,这种思路的数据库表结构设计从一开始即满足第三范式:

一个表应满足第二范式,且属性间不存在传递依赖。

5)同样,由于对象职责的单一性以及对象之间的关系反映的是业务逻辑之间的关系,所以在领域模型中的对象存在主对象和从对象之分,从对象是从1-N或N-N的角度进一步主对象的业务逻辑,所以从对象及对象关系映射为的表及表关联关系不存在删除和插入异常。

6)在映射后得出的数据库表结构中,应再根据第四范式进行进一步修改,确保不存在多值依赖。

这时,应根据反向工程的思路反馈给领域模型。

如果表结构中存在多值依赖,则证明领域模型中的对象具有至少两个以上的职责,应根据第一条进行设计修正。

第四范式:

一个表如果满足BCNF,不应存在多值依赖。

7)在经过分析后确认所有的表都满足二、三、四范式的情况下,表和表之间的关联尽量采用弱关联以便于对表字段和表结构的调整和重构。

并且,我认为数据库中的表是用来持久化一个对象实例在特定时间及特定条件下的状态的,只是一个存储介质,所以,表和表之间也不应用强关联来表述业务(数据间的一致性),这一职责应由系统的逻辑层来保证,这种方式也确保了系统对于不正确数据(脏数据)的兼容性。

当然,从整个系统的角度来说我们还是要尽最大努力确保系统不会产生脏数据,单从另一个角度来说,脏数据的产生在一定程度上也是不可避免的,我们也要保证系统对这种情况的容错性。

这是一个折中的方案。

8)应针对所有表的主键和外键建立索引,有针对性的(针对一些大数据量和常用检索

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1