软件工程翻译费下载.doc_第1页
软件工程翻译费下载.doc_第2页
软件工程翻译费下载.doc_第3页
软件工程翻译费下载.doc_第4页
软件工程翻译费下载.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目 录一 文献翻译2面向对象软件的进化测试21. 引言32. 相关工作33. 测试框架43.1 进化测试53.2 静态分析54. 实验64.1 评价64.2 随机测试74.3 有静态分析的随机测试84.4 进化的测试85. 结论和讨论116. 致谢117. 参考文献11二 哈尔滨工程大学图书馆系统的评价13三 网上招聘系统需求规格说明书141. 引言141.1 项目名称:141.2 项目背景和内容概要151.3 系统的目标151.4 角色定义152. 功能及业务流程162.1系统主Use Case图162.2 用例分析193 数据描述223.1 原始数据描述223.2 数据流向图224. 界面要求235. 性能需求235.1 可靠性需求235.2 安全性需求235.3 时间特性要求245.4 可维护性和可扩展性246. 运行环境需求247. 需求确认24一 文献翻译面向对象软件的进化测试Lucas Serpa Silva1 Maarten van Someren21阿姆斯特丹大学,科学园1071098 XG,荷兰 阿姆斯特丹,+410762020757,2阿姆斯特丹大学,科学园1071098 XG,荷兰 阿姆斯特丹,+310205256791,M.W.vanSomeren uva.nl摘要:据估计,软件开发成本的80是用于检测和修复缺陷。为了解决这个问题,人们已经开发了一些工具和测试技术,以改善现有的测试框架。虽然如静态分析,抽验和进化测试技术已被用于自动化测试过程中,目前尚不清楚什么是最好的办法。进化测试以前的研究主要集中在程序的编程语言,和代码覆盖为主要的优化参数。在这项工作中,我们提出了一个把遗传算法与静态分析相结合的方法来自动测试Eiffel类,以发现故障的数目作为优化参数。在22个Eiffel类上总共进行115次实验来评估进化测试的有效性和通过运行5,30和60分钟的随机测试用例生成器产生的结果进行对比。结果表明:和一个随机的测试方法相比,遗传算法与静态分析相结合的方法,可以大大提高发现故障的数目。在某些情况下,进化测试在15分钟内发现的故障多于随机测试策略在60分钟内发现的故障。关键字:进化计算,软件测试1. 引言在过去的50年里软件在工业的各个领域的影响力越来越大,导致对复杂的和可靠的软件的需求不断增加。据一项由国家标准与技术研究所进行的研究18表明,约80的开发成本是用于识别和纠正缺陷的。同样的研究发现,软件的错误花费了美国经济的约为59.5亿美元每年,其中三分之一归因于差的软件测试基础设施。许多已经开发的能够自动化执行测试的工具,如JUnit3和GoboTest2,在努力改善现有的测试基础设施。然而,自动化生成测试数据仍然是一个研究的主题。最近,已经使用的一些方法,如启发式算法,随机测试生成和静态分析测试已经用于完全自动化测试过程,但是面向对象软件的一些工具的应用,仍然受到限制。一些工具已经使用了随机测试用例生成器(Jartege14,自动测试13,Dart6)。使测试用例的生成自动化,但多项研究发现进化的测试更有效率和在代码覆盖率上优于随机测试15,11,17,8。在这个项目中,我们使用遗传算法自动生成对Eiffel类的测试用例5。这项工作的基本假设是,和随机测试相比,进化测试能在更短的时间内发现更多的错误。我们认为,遗传算法是自动化测试的一个好方法的主要原因之一是因为它可以适应被测试的代码。这是合理的假设,每个类都有一个输入数据的最佳的集合,而这个集合将来能够触发所有的错误。使用这样的假设,然后可以使用遗传算法进化出适应每个类的测试策略。该项目使用的错误的数量来代替代码覆盖最为遗传算法的主要优化参数,和通过遗传算法与静态分析相结合的方法,来提高目前工艺的水平。它还提供了一个面向对象的程序的进化测试的一个最好的实验结果。2. 相关工作90年代初以来,已经有许多面向应用程序的进化测试的研究16,17,9,15,11,23,8。在这些研究的大多数中,分支覆盖是用来评估所生成测试用例的质量的。最近已经有许多面向对象语言的进化测试算法19,10,22,他们也是优化代码覆盖的。在过程性的程序中,生成测试用例的输入数据是原语值,如整数,而进化算法是测试面向对象的程序的,它能够创建对象,它必须确保当调用测试时,对象的类型是兼容的。在19中一个关于分支覆盖的遗传算法被用来测试6个Java类。要解决的对象类型的兼容性,染色体根据语法进行编码。然后这个语法被用于,以确保变异和交叉操作不会损坏染色体。在23中一棵树被用来代表调用方法的序列。这些树包含这样的一些信息,哪些方法应该是被顺序调用的,哪些目标对象和参数对象应为单独的方法调用使用的。它为测试类实现了100的分支覆盖率。有关进化测试的已经完成的工作中,大部分使用分支覆盖量作为优化参数。然而,基本上没有证据能证明分支覆盖和发现错误数量之间的相关性。虽然代码覆盖率是一个有用的测试工具的测量,但是一套测试能揭露的错误数目是更重要的。过去的研究表明,进化测试是一个好方法,能为结构化程序自动生成有关代码覆盖率的测试用例。然而,为了使这种方法吸引行业,系统必须能够为面向对象的程序自动生成测试用例,并使用错误的数量作为主要的优化参数。据我们所知,目前还没有现成的项目,满足这两个要求。3. 测试框架缺乏软件规范是自动生成测试用例时的主要问题之一。没有规范,确保正在运行的程序已经失败是不可能的。即使当一个测试用例导致程序崩溃或抛出一个异常,目前尚不清楚,软件是否已经发生错误,因为该程序可以不被定义为给定的输入。通常情况下,开发人员将为每个方法编写一个标头,作描述其行为的注释。虽然也有关于如何编写这些头文件的准则,但是他们没有足够规范到,允许方法的前置和后置条件的来历。此问题通过Eiffel编程语言已得到处理,除了其他方法,其实现了Contracttm12设计的概念。Contracttm设计背后的想法是,每个方法调用是主叫方(客户端)和方法(供应商)之间的合同。在这份合同中指定客户端必须提供什么和供应商保证回报什么的服务条款。本合同通常以每个方法的布尔表达式的前置和后置条件的形式书写。除了前置和后置条件,每个类都有一个不变的条件,这个条件在构造函数继续执行后,必须保持真。根据Contracttm设计,一个方法是错误的,如果它违反了另一种方法的前置条件,如果它不满足自己的后置条件,如果它违反了类的不变条件,或者如果它违反循环的变异或不变条件。这种想法是通过自动测试工具4实现的。自动测试利用已经在Eiffel中实现的Contracttm设计方法来自动生成随机测试用例。Contracttm设计的方法是用来计算被发现的错误的数量,其被作为优化参数。尽管该系统是用Eiffel语言实现的,但是它可以适应大多数面向对象的语言,因为原生的,或第三方,支持Contracttm设计,它被广泛使用。3.1 进化测试在这个项目中,自动测试是用来作为测试引擎。自动测试实现了一个基本的随机测试策略,它将随机选择一个方法来进行测试和创建测试选定的方法所需的对象,同时一个给定的超时还没有到期。要使用自动测试作为测试引擎,它被扩展了,从而可以根据一个进化了的测试策略进行执行。测试策略是由一个染色体给定的。染色体指定应测试哪些方法和以什么样的顺序执行。它通过提供一个原始值得集合,指定如何创建新对象,构造函数用来实例化对象和实例化构造函数使用的参数的初始值。使用测试引擎的主要优点是,当测试方法时,它可以用来考虑参数的类型兼容性问题。以前的研究19,10,22 23,在染色体中为每个方法调用所使用的对象进行编码,例如,在19中,一个方法的调用被编码$c=C():$b=B($c),其中对象$c属于C类型,函数B使用了一个C类型的参数。在这种方法中,突变和交叉操作必须确保,如果方法参数发生变化时,新的参数是一个兼容的类型。在19中通过指定一个用于验证突变的染色体的语法,在23中通过使用一个树状结构,在10中通过实现特定的变异和交叉操作,而这些操作是考虑到已经损坏的染色体,使此问题得到解决。在这个项目中,使用了一种新的方法。一个测试引擎是用来照顾类型的兼容性和染色体是用于指定对象或方法的索引,我们应该使用它代替实际的对象。例如,一个方法调用可以用一个4,6,2,1的整数列表来表示。测试引擎开始时选择索引等于4的方法,然后,它会检查这个方法需要多少个参数。如果它需要A型,B型和C型的三个参数,测试引擎将寻找已经创建的A型对象和用索引号6选择该对象。它将重复这个过程,对于类型B用索引号2,类型C用索引号1。当染色体编码时,因为一个给定类型的有效对象的数量是不知道的,所以测试引擎将计算索引,使用关于一个给定类型的有效对象的数量的MOD操作。自动测试使用的概率参数,以确定何时应创建一个新的对象,而不是重复的使用对象池。创建一个新对象的过程和方法调用是类似的,被调用的方法是其构造函数之一。当对象是原始类型(整型,字符型,实数型或自然型)时,测试引擎将使用一个原始值在染色体上的编码来创建对象。通过使用测试引擎,我们可以从类型系统中减弱染色体的震荡,从而使它更容易应用不同的变异和交叉操作,而不必担心会使染色体突变。3.2 静态分析染色体的作用一部分是用于编码一个原始值集合,它们被用于实例化原始值类型的对象。为了找到一些有兴趣的原始值,一个基本的静态分析技术用于检索是最可能相关的原始值。该系统将扫描有原始值出现的测试类。然后这些值和随机生成的原始值相结合,用以创建被遗传算法所使用的初始种群。4. 实验从由EiffelStudio6.3提供的两个很好使用的库,时间库和语法库中,随机抽取22个类。语法库提供了一个机制,为建设来自正则表达式的词法分析器和时间库提供了数据和时间计算的一个抽象。每个类的方法的数量,包括继承的方法,都列于表1中。表1 测试类的属性库类名所含方法数Lexautomaton38dfa42error_list121fixed_automaton99fixed_dfa112fixed_integer_set58high_builder410text_filler59lex_builder365lexical99linked_automaton116metalex420ndfa56pdfa311scanning426state_of_dfa101Timeabsolute81time408interval365duration70date_time_parser379date_time_validity_checker874.1 评价遗传算法的性能和执行随机测试生成的自动测试系统的性能进行了比较。评价的主要标准是在一个给定的时间内发现的唯一的错误的数量。要作出公平的比较,进化算法在一个时间内演变一个测试策略,并且使用此策略测试系统,自动测试执行一个相同的时间。自动测试执行三次不同的种子,记录15,30和60分钟的平均成绩进行比较。4.2 随机测试要确定一些独特的错误的数量,自动测试可以使用随机测试策略,自动测试被执行三次,分别为15,30和60分钟。每个类发现的平均错误的数量如表2所示。表2. 通过随机测试发现的错误的数量类名15分钟30分钟60分钟automaton999dfa171717error_list121314fixed_automaton101011fixed_dfa242829fixed_integer_set111high_builder192426absolute111time566interval111duration000date_time_parser000date_time_validity_checker111text_filler121314lex_builder161822lexical242626linked_automaton81010metalex222933ndfa899pdfa111213scanning293134state_of_dfa111313Sum241272290从三次15分钟,30分钟和60分钟执行的平均方差是1.27,这是小的。值得注意的是,即使是随机测试,也能在库软件的大部分中发现一个数目相当大的错误。4.3 有静态分析的随机测试使用静态分析,选择一个原始值的初始集合是一个在目前已经存在的随机测试工具中可以实现的技术。由于这种技术是在进化的测试系统使用,由自动测试实现的随机测试策略,可以扩展为使用相同的静态分析技术选择原始。然后已经增强的自动测试,也执行三次,分别为15分钟,30分钟和60分钟,发现错误的数目如表3所示。表3. 带有静态分析的随机测试发现的错误的数量类名15分钟30分钟60分钟automaton666dfa161616error_list111215fixed_automaton142231fixed_dfa303536fixed_integer_set222high_builder191628absolute222time568interval333duration000date_time_parser113date_time_validity_checker333text_filler141515lex_builder151727lexical273030linked_automaton888metalex273033ndfa999pdfa111519scanning243040state_of_dfa172025Sum264298359表3表明,在随机测试中添加静态分析,给出了一个改进了的平均数,其发现的错误数提高了10以上。这里在运行间的平均数方差是非常小的。4.4 进化的测试对于交叉,变异,选择的运算和概率,许多初步的实验(本文没有报道)已经在不同的数据集上被执行。最后的遗传算法使用部分匹配交叉算法21,交叉概率为0.4,翻转的增变基因算法21,变异概率为0.4和随机余算法21来选择交叉的种群。进化算法也执行15分钟,30分钟和60分钟。这个时间包括演变和策略的执行两部分。每次执行时使用的时间分配如表4所示。目标函数的计算方法是执行1分钟的染色体和计算发现独特的错误的数量。在演化时间结束时,发现了独特的错误数最多的染色体是用于测试类。进化算法发现错误的数量如表5所示。表4. 每次执行的时间分配执行时间演变执行15分钟51030分钟102060分钟1545表5. 进化算法发现错误的数量类名15分钟30分钟60分钟automaton999dfa161717error_list131315fixed_automaton172331fixed_dfa323941fixed_integer_set222high_builder182326absolute324time6510interval355duration000date_time_parser055date_time_validity_checker333text_filler161616lex_builder182434lexical272832linked_automaton7811metalex253143ndfa9911pdfa121423scanning273441state_of_dfa162429Sum279334408对随机测试算法,带有静态分析的随机测试算法和进化算法进行了对比,如图1所示,进化算法有最佳的性能。图1. 三个方法之间的对比这是没有预料到的,在15分钟内,随机测试算法优于进化算法,因为一个好的测试策略的演变可能需要很长一段时间。然而,实验表明,通过一个5分钟的进化出一个战略和执行10分钟,遗传算法能够找到比随机测试和带有静态分析的随机测试更多的独特的错误。实验还表明,增加演变测试策略的分配时间比增加随机测试的分配时间更能提高进化算法的性能。进化算法和随机测试相比,平均提高了25以上的性能。这种改善的主要原因之一,被认为是原始值的优化。另一种可能的假设是,进化算法给有错误的方法更高的优先级,而且测试他们更多的时间。然而,一个小的分析表明,这是不是一个因素,因为有错误的方法,在随机和进化测试策略中被测试了相同的时间。另一个原因可能是测试方法的顺序,而要说明的是,这个因素需要进一步分析。图2. 发现错误的类型为了找出进化算法发现的错误的类型,对运行60分钟的有METALEX类的进化算法发现的错误进行了分析。在430个方法中,37个方法总共发现了43个错误。共8的METALEX方法中至少有一个错误。基本上有四种类型的错误:1. 违反了类的不变量2. 违反了前置条件3. 呼叫无效的对象4. 与内存/ OS相关如图2所示,发现的错误的最突出的类型,是由调用无效对象引起的违反了前置条件。与其他类型相比,调用无效类型的错误是很少有关系的,因为静态分析技术可以用来指出调用无效对象的可能性。5. 结论和讨论大部分文献的进化测试的方法是使用代码覆盖量作为优化参数的。在这个项目中,我们用发现的错误数来代替。我们还通过把静态分析结合到进化测试里,创新性的提高了其性能,并通过引入一个测试引擎,当对面向对象的软件测试时,可用于解决类型的兼容性问题。实验结果表明,使用静态分析比随机测试平均提高10以上的性能和演变一个可以使发现错误的数量最大的测试策略能够提高一个额外的性能。通过优化原始值和测试方法的顺序,进化算法能够构造一个相比于自动测试实现的随机测试策略有更大的发现错误的概率的数据。被发现的错误中,约有一半是违反了前置条件的。相当一部分的22是实际上违反了类的不变量或与内存或操作系统相关的。当然,一些错误是由于缺乏前置条件的规范性。然而,这项研究的结果表明,自我演变的测试程序有很大潜力的适应性。一些可能的改进包括,当评估测试用例时把代码覆盖结合到发现错误的数量中,重用演变的战略,以产生遗传算法使用的初始种群和改进静态分析技术。6. 致谢我们想感谢Yi Wei 关于自动化测试的各种讨论,Manuel Oriol对静态分析技术的建议。7. 参考文献1 Beizer, B. (1990), Software testing techniques, Van Nostrand Reinhold Co., New York, NY, USA.2 Bezault, E. (2008), Gobo library, .3 Cheon, Y.; Cheon, Y.; Leavens, G. T. & Leavens, G. T.(2001), A Simple and Practical Approach to Unit Testing: The JML and JUnit Way.4 Ciupa, I.; Leitner, A.; Oriol, M. & Meyer, B. (2007), Experimental assessment of random testing for objectoriented software, in ISSTA 07: Proceedings of the 2007 international symposium on Software testing and analysis, ACM, New York, NY, USA, pp. 84-94.5 ECMA (2005), Eiffel: Analysis, Design and Programming Language, ECMA, http:/w w w ecma-internation / publications/standards/Ecma-367.htm.6 Godefroid, P.; Klarlund, N. & Sen, K. (2005), DART: directed automated random testing, SIGPLAN Not. 40(6),213-223.7 Goldberg, D. E. (1989), Genetic Algorithms in Search,Optimization, and Machine Learning, Addison-WesleyProfessional.8 Harman, M. & McMinn, P. (2007), A theoretical &empirical znalysis of evolutionary testing and hill climbing for structural test data generation, in ISSTA 07: Proceedings of the 2007 international symposium on Software testing and analysis, ACM, New York, NY, USA,pp. 73-83.9 Jones, B. F.; Sthamer, H. H. & Eyres, D. E. (1996), Automatic structural testing using genetic algorithms, Software Engineering Journal 11(5), 299-306.10 Mairhofer, S. (2008), Search-based software testing and complex test data generation in a dynamic programming language, Masters thesis, Blekinge Institute of Technology.11 Mcgraw, G.; Michael, C. & Schatz, M. (1997), Generating Software Test Data by Evolution, IEEE Transactions on Software Engineering 27, 1085-1110.12 Meyer, B. (2000), Object-Oriented Software Construction, Prentice Hall PTR.13 Meyer, B.; Ciupa, I.; Leitner, A. & Liu, L. L. (2007), Automatic Testing of Object-Oriented Software, in SOFSEM 07: Proceedings of the 33rd conference on Current Trends in Theory and Practice of Computer Science, Springer-Verlag, Berlin, Heidelberg, pp. 114-129.14 Oriat, C. (2004), Jartege: a Tool for Random Generation of Unit Tests for Java Classes, CoRR abs/cs/0412012.15 Pargas, R. P.; Harrold, M. J. & Peck, R. R. (1999), Test- Data Generation Using Genetic Algorithms, Software Testing, Verification And Reliability 9, 263-282.16 Roper, M.; Maclean, I.; Brooks, A.; Miller, J. & Wood, M. (1995), Genetic Algorithms and the Automatic Generation of Test Data, Technical report, Semin. Arthr. Rheum.17 Sthamer, H. (1996), The Automatic Generation of Software Test Data Using Genetic Algorithms, PhD thesis, University of Glamorgan, Pontyprid, Wales, Great Britain.18 Tassey, G. (2002), The Economic Impacts of Inadequate Infrastructure for Software Testing, NIST, National Institute of Standards and Technology, www.nist. gov/director/ prog-ofc/report 02-3. pdf.19 Tonella, P. (2004), Evolutionary testing of classes, SIGSOFT Softw. Eng. Notes 29(4), 119-128.20 Tracey, N.; Clark, J. & Mander, K. (1998), Automated program flaw finding using simulated annealing, SIGSOFT Softw. Eng. Notes 23(2), 73-81.21 Wall, M. (1996), GAlib: A C+ Library of Genetic Algorithm Components., MIT, /ga/.22 Wappler, S. & Lammermann, F. (2005), Using evolutionary algorithms for the unit testing of objectoriented software, in GECCO 05: Proceedings of the 2005 conference on Genetic and evolutionary computation, ACM, New York, NY, USA, pp. 1053-1060.23 Wappler, S. & Wegener, J. (2006), Evolutionary unit testing of object-oriented software using strongly-typed genetic programming, in GECCO 06: Proceedings of the 8th annual conference on Genetic and evolutionary computation, ACM, New York, NY, USA, pp. 19251932.二 哈尔滨工程大学图书馆系统的评价哈尔滨工程大学图书馆系统优缺点缺点:1. 图书馆英文版中的About the library 连接不起作用2. 图书馆英文版中的Online catalog连接不起作用3. 图书馆中文版中的一些提示,对用户不友善。例如,当点击“我的图书馆”中的“违章缴费”时,系统出现一个警告的标志。应该输出“恭喜你,请再接再厉!”4. 在图书馆的首页只有一个简单的书目检索,没有多字段搜索,且也不能进入多字段搜索页面内。5. 当没有登录我的图书馆时,页面上右上角的连接“我的书架”和“我的检索历史”是没有起作用的。所以当没有登录我的图书馆时,页面上不应该有“我的书架”和“我的检索历史”连接。优点1. 图书馆系统美观大方。2. 当添加新的通告或新的功能时,有“new”标志,可以方便的提醒用户。3. 图书馆系统功能齐全,不仅有简单的数目检索,也有多字段的搜索。而且也有一些新书推荐和热书推荐等功能。4. 用户可以在图书馆系统中进行续借书等功能,实现了图书馆的信息自动化。5. 图书馆系统的预约功能是一个亮点,很方便用户。三 网上招聘系统需求规格说明书1. 引言1.1 项目名称:某公司网上招聘系统1.2 项目背景和内容概要本文档是哈尔滨工程大学计算机学院在某单位的人力资源管理系统合同基础上编制的。本文档的编写为后续阶段的设计,开发提供依据,为项目组成员对需求的详尽理解以及在开发过程中的协同工作提供强有力的保证。同时,本文档也作为项目评审验收的依据之一。1.3 系统的目标系统能够提供友好的用户界面,使操作人员的工作量最大的限度地减少;系统具有良好的运行效率,能够达到提高生产率的目的;系统应具有良好的可扩充性,可以容易地加入其他系统的应用;平台的设计具有一定的超前性,灵活性,能够适应企业生产配置的变化;通过这个项目可以锻炼队伍,提高团队的开发能力和项目管理能力。1.4 角色定义1.4.1 应聘者应聘者是指在这个网络招聘系统中通过客户端提交简历信息的人员,这个Actor主要参与客户端的职位查询、填写简历、回答问题、提交简历等功能。1.4.2 管理用户管理用户是指管理端的用户,这个此Actor派生两个子类, HR(人力资源管理)和系统管理员,HR是指在网络招聘系统中通过管理端参与公司人力资源管理工作的人员,她又可以派生三个子类即试题管理者、职位发布者和面试管理者。系统管理员是指对网上招聘系统系统进行相关设置、维护的人员,它也是通过管理端登录对管理端的用户进行设置,分配权限等,它们的关系如图A1。图A-1 用户关系图管理用户具体说明如下:l HRn 试题管理者 管理知识库、组织相关试题。n 职位发布者 根据公司的需要发布相应的职位需求。n 面试管理者 整理应聘者简历、对合适者进行面试。l 系统管理员通过管理端对系统用户进行管理的人员,这个Actor主要负责对管理端用户的增加,权限的设置等功能。2. 功能及业务流程2.1系统主Use Case图网上招聘系统可以分为两个主要的组成部分,一个是客户端子系统,一个是管理端子系统。客户端子系统主要是指应聘者通过登录招聘网站进行操作的功能,即应聘功能。管理端子系统是招聘公司的管理人员发布招聘职位,整理应聘者简历,面试等功能。系统的主Use Case图如图A-2所示。图A-2 系统主用例图招聘过程分为职位分布、简历筛选、面试、笔试、录用几个环节。(1) 职位分布管理当某个岗位出现空缺的时候,或者随着公司的业务发展,需要招聘新员工的时候,通过这个模块发布职位需求信息。发布后的职位可以进行修改。另外,需要提供职位发布查询的功能,查询已经发布的职位,并对已经发布的职位录入应聘者信息。(2) 简历管理招聘流程的第二个环节为简历筛选环节,分两步来完成:首先是简历登记,然后是简历筛选。另外,还提供有效简历查询的功能,以查询系统中通过简历筛选且未被删除的简历。简历登记分为两种情况。一种情况是应聘者通过应聘某职位而跳转到简历登记页面,填写简历信息,这种情况职位分类和职位名称已经自动填好,不可以更改。另一种情况是应聘者直接使用简历登记功能,单击“填写简历”,然后单击“职位分类”、“职位名称”,选择系统中存在的职位分类和职位名称。(3) 面试管理管理分为两个方面:查询出被推荐面试的简历,进行面试,并登记面试结果,以及对面试结果进行筛选。(4) 招聘考试题库管理笔试考试采用机试自动评卷的方式,所以考试题库采取标准化选择试题的方式组织。为了便于出卷,每道试题都需要选择试题分类。试题分类在系统管理模块进行设置。(5) 招聘考试管理招聘考试分四步进行,即考试出题、考试答题、考试阅卷以及成绩查询筛选。(6) 录用管理首先根据面试或笔试环节推荐录用的简历,进行复核,然后正式提交录用申请。经过人事经理审批,该应聘者就成为正式员工。招聘业务流程如图A-3所示。建议笔试建议笔试招聘流程应聘者招聘专员招聘经理职位发布登记职位发布变更应聘该职位简历登记简历筛选推荐面试面试结果登记面试筛选删除简历考试出题考试答题考试阅卷成绩查询筛选删除简历通过申请录用不通过招聘经理招聘专员应聘者招聘流程录用申请释放简历录用审批正式员工图A-3 招聘业务流程图2.2 用例分析2.2.1职位选择职位选择是显示目前正在招聘的所有职位,以及每个招聘职位的描述和应聘要求等。具体描述如下:用例描述应聘职位选择执行者应聘者前置条件应聘者已登录系统后置条件选择应聘职位后,则可以输入简历基本路径a) 应聘者登录到公司的招聘网页,显示目前的招聘职位列表,发布的日期,招聘的人数等;b) 点击任何一个招聘职位可以浏览每个招聘职位的详细信息,包括职位工作描述、对应聘者的要求、招聘人数等信息;c) 如果对这个职位满意,可以点击应聘该职位进入填写简历信息页面,开始填写简历和回答问卷等环节。2.2.2简历输入用例描述简历输入执行者应聘者前置条件应聘者已选择应聘职位后置条件简历输入后,则可以回答问卷基本路径a) 基本信息输入,包括姓名、性别、年龄、身高、证件类型、证件号码、婚姻状况、工作年限、期望的月薪、居住地、电话、Email、地址、邮编等信息b) 工作经历信息输入,包括起止时间、工作单位、单位所属行业、单位性质、部门、职位、工作描述等;c) 教育经历信息输入,包括起止时间、学校、专业、学位、简单描述等d) 基本技能信息输入,包括技能名称、熟悉程度、证书、其它说明等;e) 家庭成员信息输入,包括亲属姓名、年龄、与本人的关系、工作单位、职位等;f) 自我介绍输入是对自己的简短评价,字数在100字以内。2.2.3 试题库管理用例描述题库管理执行者试题管理者前置条件试题管理者已登录系统后置条件如果题库维护成功后,则数据库中的试题库随之变化,可以组织问卷基本路径a) 进入题库管理界面,首先展示目前题库已有的题目;b) 点击每个题目可以详细浏览这个题目的具体内容,同时也可以对这个试题的具体内容进行修改;c) 提供增加题目的按钮,增加题目时,首先选择题目类别,然后题目名称、题目内容、确定可选答案(多个)等;d) 可以删除选择的题目。2.2.4 职位发布用例描述职位发布执行者职位管理者前置条件职位管理者已登录系统后置条件如果职位发布成功后,则数据库中的职位信息随之变化,应聘者可以通过网络看到招聘职位基本路径a) 进入职位发布界面,首先展示目前正在招聘的所有职位;b) 通过点击每个职位,可以详细浏览每个职位详细描述;c) 可以对每个职位信息进行修改d) 提供职位条件查询e) 提供职位删除2.2.5 简历管理用例描述简历管理执行者面试管理者前置条件面试管理者已登录系统后置条件简历整理完成后,则可以将应聘者分为几个类别,以便为面试做好准备基本路径a) 进入简历管理界面,首先展示目前的简历对应的职位列表,提供查询功能;b) 通过点击职位列表进入相应的这个职位的所有简历列表的界面;这个界面也显示了每个应聘者的名字、年龄、性别、问卷的分数以及目前的处理状态等信息;c) 简历列表中,通过点击一个应聘者可以显示这个应聘者的简历信息,这个应聘者的问卷回答情况,可以打印简历;d) 对简历有三种处理结果:通知面试、保留简历、拒绝;对简历的处理结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论