软件工程实验报告
湖南科技学院数学与计算科学系实验报告
课程名称软件工程实验日期2010年10月09日姓名谢敏班级信计0701班
学号200705002027 实验日期2010年10月09日
指导教师李静老师实验名称用Visio进行功能分析
和建模
实验序号实验一实验成绩
一、实验目的及要求(本次上机实践所涉及并要求掌握在知识点):
目的:掌握结构化分析的方法。
掌握使用Visio2003软件绘制数据流图、状态转换图的一般方法和技巧。
二、实验环境(本次上机实践所使用在平台和相关软件):
软件平台:Microsoft Windows XP,软件工具:Micrisoft Visio 2003
三、实验内容(上机实践内容等):
1绘制学生成绩管理系统(案例如下)的数据流图及状态转换图。
四、实验过程及实验结果(附详细实验过程、源程序及实验结果):
案例1
某校准备开发一个学生成绩管理系统。
在该系统中,教务人员录入学生信息、课程信息和成绩信息,学生可以随时查询自己所选课程的成绩。
由于学生成绩属于敏感信息,系统必须提供必要的安全措施以防非法存取。
实验步骤及相关详细讲解:
DFD(数据流图)有四种元素,其基本符号如下图所示。
* 外部实体:与系统进行交互,但系统不对其进行加工和处理的实体,用带标记的矩形表示;
* 加工:对数据进行的变换和处理,用带标记的圆圈表示;
* 数据流:在数据加工之间或数据存储和数据加工之间进行流动的数据,用带标记的箭头表示;
* 数据存储:在系统中需要存储的实体,用带标记的双实线表示。
状态转换图通过描述状态以及导致系统改变状态的事件来表示系统的行为,它没有表示出系统所执行的处理,只表示了处理结果可能的状态转换。
STD用带标记的圆圈或矩形表示状态,用箭头表示从一种状态到另一种状态的变换,箭头上的文本标记表示引起变换的条件。
* 第0层DFD图
教务人员维护学生信息和课程信息,并登录学生的选课成绩;
学生查询自己的成绩单。
* 第1层DFD图
对第0层DFD图中的一个加工"学生成绩管理"进行展开。
* 第2层DFD图
对第1层DFD图中的一个加工"查询学生成绩"进行展开。
绘制第0层DFD的时候,将整个系统看成一个加工,然后找出作用于该加工的外部实体,以及相应的数据输入和输出。
对于"学生成绩管理系统"而言,整个系统就是一个加工"学生成绩管理"。
从用户的需求描述可知,"教务人员"是数据的源点,"学生"是数据的终点。
另外,教务人员需要录入学生信息、课程信息和成绩,说明"学生信息"、"课程信息"和"成绩"是数据流;同样,"查询请求"和"查询结果"也是数据流。
根据上述分析,得到如图所示的第0层DFD。
在"学生成绩管理"系统中,学生成绩信息需要采取安全措施,我们可以采取登录方法避免非法使用系统。
这样,该系统存在"登录"、"正常"和"出错"等状态的转换。
学生启动系统之后,系统处于"登录"状态。
在这种状态下,学生可以进行登录或取消登录。
如果取消登录,系统直接退出;如果登录失败,系统进入"出错处理"状态,在显示错误信息后,又重新回到"登录"状态;如果登录成功,系统进入"正常" 状态,即显示操作界面,等待学生查询,学生可以多次查询不同课程的成绩,直到学生选择退出为止。
五、总结(上机的心得体会及改进意见):
湖南科技学院数学与计算科学系实验报告
湖南科技学院数学与计算科学系实验报告
湖南科技学院数学与计算科学系实验报告
“operations ”这个选项,在图中的空白地方单击右键,在弹出的菜单中选“insert ”这个选项,也就只有这个选项可用。
接着输入方法名,同时可以设置该方法的返回类型,也可以在“Documentations ”的方框内填写一些相关的方法说明,设置好该方法的访问权限,类的其他方法也可以按上面来设置好。
至此,类的方法和属性都设置好了。
(6) 依此绘制其它类。
(7) 接下来就可以为各个类添加关系了。
(8) 可右击工具箱空白处,点“Customize ”,添加其它模型元素。
五、总结(上机的心得体会及改进意见):
类
接口
单向关联
类和关联的关系
依赖
泛化
实现 双向关联
湖南科技学院数学与计算科学系实验报告
添加属性
添加方法
选择构造型
(3)添加消息,开始是必须是外面的实体向系统发送消,如管理员登录时向系统发送的消息。
先添加对象消息(→),双击对象消息(即→),打开如图对话框,添加或选择消息(方法)。
(5) 可以按上一步的方法来完成其他的方法。
(6) 完成了时序图后,可以按F5键便得到“登记借书”的协作图。
五、总结(上机的心得体会及改进意见):。
软件工程试验报告
软件工程试验报告第一篇:软件工程试验报告实验项目名称:需求分析(所属课程:软件工程概论)1.实验目的1.选择要设计的系统,使用UML进行需求分析,了解所要完成系统的功能需求,性能需求,接口需求等。
2.学习实使用Rational Rose 或其它软件工程工具绘制用例图、活动图。
2.实验内容使用Rose 绘制系统的用例图。
1.Rational Rose介绍Rational Rose是基于UML而产生的,是软件开发过程中的不可或缺的一个建模工具。
(1)Rational Rose的特点:λ支持多种语言,如Ada、CORBA、Visual Basic、Java等;λ支持模型的Internet发布;λ可以生成简单、清晰且定制灵活的文档;λ双向工程保证了模型和代码高度一致;λ支持逆向工程,建立代码框架;λ支持多种关系型数据库的建模;λ从需求分析到测试,在整个软件生命周期中,都为团队开发提供强有力的支持。
(2)Rational Rose的作用λ整个开发团队可以使用用例图,来获得一个系统高层次的视图,并且可以协商项目的范畴;λ项目经理可以使用用例图和文档,把项目分解成便于管理的多个模块;λ系统分析员和客户在看到用例规格描述文档的时候,就可以明白系统将会提供什么样的功能;λ技术编写者在看到用例规格描述文档时,就可以着手编写用户手册和培训计划;λ系统分析员和软件开发者在看到时序图和协作图时,就可以明白整个系统的逻辑流程、对象以及对象之间的消息2.安装Rational Rose ①双击Rational Rose 2007的安装程序,进入安装界面;按照系统提示一步一步完成系统的安装。
其中在选择安装产品时,选择“Rational Rose Enterprise Edition”;并且在设置创建程序位置时,选择创建一个本地的应用程序而非网络的,即选择“Desktop installation from CD”。
②安装成功,进入Rational Rose界面,如图1-1所示。
软件工程数据流图实验报告
软件工程数据流图实验报告篇一:软件工程实验报告篇二:软件工程实验报告模板软件工程实验报告姓名:冯巧学号:3080702205实验题目:实验室设备管理系统1、系统简介:每天对实验室设备使用情况进行统计,对于已彻底损坏的作报废处理,同时详细记录有关信息。
对于有严重问题(故障)的要即时修理,并记录修理日期、设备名、修理厂家、修理费用、责任人等。
对于急需但又缺少的设备需以“申请表”的形式送交上级领导请求批准购买。
新设备购入后立即对新设备登记(包括类别、设备名、型号、规格、单价、数量、购置日期、生产厂家、购买人等),同时更新申请表的内容。
12、技术要求及限定条件:采用C#语言设计桌面应用程序,同时与数据库MySql进行交互。
系统对硬件的要求低,不需要网络支持,在单机环境下也能运行,在局域网环境下也能使用。
方案实施相对容易,成本低,工期短。
一:可行性分析1、技术可行性分析计算机硬件设备,数据库,实验室设备管理软件与实验室设备管理系统的操作人员组成,能够实现实验室设备管理的信息化,提高工作效率,实现现代化的实验室设备管理。
系统需要满足实验室设备管理(包括对实验设备的报废、维修和新设备的购买)、实验室设备信息查询(包括按类别进行查询和按时间进行查询)、实验室设备信息统计报表(包括对已报废设备的统计、申请新设备购买的统计和现有设备的统计)。
这些功能框图如下图所示:2、经济可行性分析依据用户的现实需求、技术现状、经济条件、工期以及其他局限性因素等等因素,考虑到工期的长短、技术的成熟可靠、操作方便等因素,本方案具备经济可行性。
3、系统可选择的开发方案?方案A用C# 开发系统的特点是:开发工具与数据库集成一体,可视化,开发速度较快,但数据库能够管理的数2据规模相对较小。
系统对硬件的要求低,不需要网络支持,在单机环境下也能运行,在局域网环境下也能使用。
方案的实施相对容易,成本低,工期短。
?方案B:以小型数据库管理系统为后台数据库,该前台操作与数据库分离,也能够实现多层应用系统。
软件工程实习报告(三篇)
软件工程实习报告一、实习概况本次实习是我在某软件公司进行的为期三个月的实习。
实习期间,我被分配到了软件开发部门,参与了一个基于Java的项目的开发工作。
在这个项目中,我主要负责了功能模块的设计、编码和测试工作。
通过这次实习,我深入了解了软件开发的流程和方法,并学习到了许多实用的技术和工具。
二、实习内容1. 需求分析与设计在项目启动前,我参与了需求分析的工作。
通过与产品部门的沟通和确认,我明确了项目的功能需求和业务逻辑。
然后,我和团队成员们一起进行了系统设计。
我们使用UML建模工具进行了类图和时序图的绘制,以明确系统的结构和交互流程。
2. 编码与调试在需求分析和设计完成后,我开始了编码和调试工作。
我们项目采用了Java作为开发语言,所以我使用了Eclipse作为开发工具。
我根据需求文档和设计图,先编写了基础代码框架,然后逐步完善各个功能模块。
在编码过程中,我遵循了代码规范和设计原则,并积极参与了代码评审和重构工作。
3. 测试与集成在编码完成后,我进行了功能测试和集成测试。
我使用Junit进行了单元测试,并通过Mockito框架进行了模拟和验证工作。
在测试中,我发现了一些潜在的问题,并及时修复了它们。
在集成测试中,我与其他成员合作,测试了系统各个模块之间的交互和兼容性。
4. 文档编写与维护在实习期间,我还负责了部分文档的编写和维护工作。
我参与了用户手册和技术文档的编写,以便使用人员和开发人员可以更好地理解项目的功能和实现细节。
我还负责了项目的版本控制和文档管理工作,确保了项目资料的安全和可追溯性。
三、实习收获1. 技术能力的提升在实习期间,我得到了大量的实践机会,提升了自己的技术能力。
我学会了使用Eclipse进行项目开发,掌握了Java语言的常用库和框架,并熟悉了常见的设计模式和软件开发方法。
我还学会了使用Git进行版本控制和团队协作,以及使用Junit和Mockito进行测试和调试。
2. 项目管理和沟通能力的提升在实习期间,我参与了团队的讨论和决策,学会了如何与他人进行有效的沟通和协作。
软件工程实验报告总结
软件工程实验报告总结(3篇)经过这学期软件工程实验的学习,深深感到用户需求对软件的重要性。
成功的软件产品是建立在成功的需求基础之上的,而高质量的需求来源于用户与开发人员之间有效的沟通与合作。
当用户有一个问题可以用计算机系统来解决,而开发人员开始帮助用户解决这个问题,沟通就开始了。
需求获取可能是最困难、最关键、最易出错及最需要沟通交流的活动。
对需求的获取往往有错误的认识:用户知道需求是什么,我们所要做的就是和他们交谈从他们那里得到需求,只要问用户系统的目标特征,什么是要完成的,什么样的系统能适合商业需要就可以了,但是实际上需求获取并不是想象的这样简单,这条沟通之路布满了荆棘。
首先需求获取要定义问题范围,系统的边界往往是很难明确的,用户不了解技术实现的细节,这样造成了系统目标的混淆。
其次是对问题的理解,用户对计算机系统的能力和限制缺乏了解,任何一个系统都会有很多的用户或者不同类型的用户,每个用户只知道自己需要的系统,而不知道系统的整体情况,他们不知道系统作为一个整体怎么样工作效率更好,也不太清楚那些工作可以交给软件完成,他们不清楚需求是什么,或者说如何以一种精确的方式来描述需求,他们需要开发人员的协助和指导,但是用户与开发人员之间的交流很容易出现障碍,忽略了那些被认为是认为是""很明显很明显""的信息。
最后是需求的确认,因为需求的不稳定性往往随着时间的推移产生变动,使之难以确认。
为了克服以上的问题,必须有组织的执行需求的获取活动。
需求获取活动要完成的任务或者步骤的过程如下:1、编写项目视图和范围文档系统的需求包括四个不同的层次:业务需求、用户需求和功能需求、非功能性需求。
业务需求说明了提供给用户新系统的最初利益,,反映了组织机构或用户对系统、产品高层次的目标要求,初利益它们在项目视图与范围文档中予以说明。
用户需求文档描述了用户使用产品必须要完成的任务,这在使用实例文档或方案脚本说明中予以说明。
软件工程实验报告
实验一:基于UML的用例模型试验实验目的:1、掌握使用visio绘制用例模型2、掌握Ration Rose绘制用例模型的方法实验内容:1、使用vise绘制用例模型2、使用Ration Rose绘制用例模型的方法实验步骤:1、使用Visio绘制用例模型(1)启动Visio中的UML模型绘制开始时需要新建一个文件存放用例模型,首先选择“开始” 一“程序” -Microsoft office visio 2003选项进入Visio启动页面,在“类别”选项区域中才、选择“软件”项:然后在“模板”选项区域中选择UML模型图,即可打开制作UML模型的全部对彖图集,Vise提供了关于制作UML模型所需要的全部图表,支持开发人员进行面向对彖的分析和设计工作。
(2)保存UML模型通过选择菜单File…Save选项或者单机工具栏的Save按钮,来保存系统模型,保存的文件类型是-VSdo(3)新建立用例图(4)建立用例中的角色(5)建立用例(6)建立角色与用例、用例与角色之间的联系(7)建立活动图2、使用Rational Rose绘制用例模型(1)Rational Rose 的启动:选择"开始"---"程序” ---Rational Software---Rational Rose Enterprise Edetion选项,弹出对话框。
这个对话框用来设置本次启动的初始动作,分为New (新建模型)Existing (打开现有模型)和Recent (最近打开模型)三个标签。
(2)新建用例图在Browser窗I I内的树形列表中选中UseCase包并右击,在弹出的快捷菜单中选择New一UseCase Diagram选项。
此时出现New Diagram用例图名称并允许修改,将NewDiagrain更名为“医疗器材管理系统用例图”双击Biowgram窗I I内树形列表中的“医疗器材管理系统用例图”,在Diagram窗I I中出现“Use CaseDiagiain: Use CaseView/医疗器材管理系统用例图”,可以在该窗1 1中绘制用例图。
大学软件工程专业实习报告(优秀范文五篇)
《大学软件工程专业实习报告(优秀范文五篇):》摘要:学号: 姓名: 指导老师: 实习成果: 实习地点: 实习时间:2011-6-29至 2011-10-29 在现今社会,就业问题就似乎总是围绕在我们的身边,成了说不完的话题,实习期间,第一阶段:主要学习了 Unix 开发环境(Unix 系统原理, Unix 常用命令, Unix开发环境 ; java 语言基础(算法基础,常用数据结构,企业编程规范 ; java 面向对象, JDK 核心 API ;并做了一个“在线考试系统项目”,语言(SQL 语言基础和提高, SQL 语句调优 ; Oracle 数据库开发; javaSE 核心编程; XML ; JDBC ;并粗略的完成“在线考试系统” 的数据部分20xx年x月,我离开了学校,进入了最后一学期的顶岗实习阶段。
从离开学校的那天起,我就当自己是一个正式的员工,做好了经历重重困难的准备,我始终坚信,我的努力与坚持不懈不会白费,我的未来不是梦。
一、实习单位介绍南京xx有限公司是我现在实习的单位,它成立于xx年,是从事教育软件、数字化教学资源、多媒体产品等开发、制作的专业公司;是江苏省信息产业厅认定的双软企业、江苏省新闻出版局审核认定的电子出版物开发制作单位。
公司长期承担高校及教育管理部门的数字化教学资源、教务教学、实验科研等管理系统的开发和信息化项目建设。
如:《数字化教学资源库-名师名课网系统》、《OA办公系统》等多个系统平台。
智风公司多年来致力于网络课程的建设服务工作,拥有一支专业化的开发团队,通过严格的开发流程和创新的教学理念为广大院校提供优质的服务。
专业化的研发队伍:从教学设计、技术开发,到交互设计、视觉设计、资源素材制作等各个方面,全面解决您的后顾之忧;丰富的开发经验:业已开发的课程中有42门被评为精品课程,累计开发的网络课程已逾1000门。
二、实习岗位、主要过程、主要内容、主要工作、收获我在该公司任职软件开发工程师,刚实习的第一个星期,主要的工作是熟悉公司的开发框架及开发流程,及时完成项目经理派发的任务。
软件过程实验报告总结(3篇)
第1篇一、实验背景随着信息技术的飞速发展,软件工程已成为计算机科学的重要分支。
软件过程是软件生命周期中各个阶段的活动,它包括需求分析、设计、编码、测试和维护等环节。
为了提高软件开发的效率和软件质量,软件过程管理显得尤为重要。
本实验旨在通过实践操作,加深对软件过程的理解,掌握软件过程管理的相关知识。
二、实验目的1. 理解软件过程的各个阶段及其相互关系;2. 掌握软件过程管理的基本方法;3. 提高软件开发的效率和质量;4. 培养团队协作能力。
三、实验内容1. 软件过程概述首先,我们对软件过程进行了概述,介绍了软件过程的定义、特点、作用以及软件过程模型。
通过学习,我们了解到软件过程是软件开发的基本框架,是保证软件开发质量的关键。
2. 需求分析需求分析是软件开发的第一步,也是最为关键的一步。
我们通过案例学习,了解了需求分析的方法和技巧。
在实验中,我们采用用户故事、用例图等方法对需求进行分析,确保需求完整、一致、可测试。
3. 设计设计是软件开发的核心环节,包括系统设计、模块设计和数据库设计等。
在实验中,我们学习了设计模式、架构风格等设计原则,通过UML图对系统进行设计,确保系统的可扩展性和可维护性。
4. 编码编码是软件开发的具体实施阶段,也是实现设计的过程。
我们学习了编程语言、代码规范等知识,通过编写代码实现设计。
在实验过程中,我们注重代码的可读性、可维护性和可测试性。
5. 测试测试是保证软件质量的关键环节。
我们学习了测试方法、测试用例设计等知识,通过编写测试用例对软件进行测试,确保软件满足需求。
6. 维护维护是软件生命周期的重要组成部分,包括软件的升级、修复、优化等。
我们学习了维护方法,了解了软件维护的重要性。
四、实验过程1. 组建团队我们将学生分成若干小组,每个小组负责完成一个软件项目的开发。
在小组内部分工合作,明确各自职责。
2. 需求分析各小组对项目进行需求分析,编写需求规格说明书,确保需求完整、一致、可测试。
软件工程试验报告
实验一方程求根的黑白盒测试一元二次方程式AX2+BX+C=0的求根程序有以下功能:○1输入A、B、C三个系数;○2输出根的性质的信息,包括两个相等或不相等的实根,两个大小相等,符号相反的实根,仅有一个实根,或有两个虚根等;○3打印根的值;源程序:#include<stdio.h>#include<math.h>main(){float a,b,c,d,s,x1,x2;printf("please input a,b,c\n");printf("a:");scanf("%f",&a);printf("b:");scanf("%f",&b);printf("c:");scanf("%f",&c);if(a==0.0){if(b!=0) printf("the answer is:x=%f",-c/b);else if(c==0.0) printf("no collect answer!");else printf("no answer");}else{d=b*b-4*a*c;if (d==0){s=-b/(2*a);printf("the answer is:%f",s);}else if (d>0){s=sqrt(d);x1=-(b+s)/(2*a);x2=-(b-s)/(2*a);printf("the answer is: x1=%f\n",x1);printf("x2=%f\n",x2);}else{s=sqrt(-d);x1=-b/(2*a);x2=abs(s/(2*a));printf("there is two virtual answer:x1=%f+%fi\nx2=%f-%fi",x1,x2,x1,x2);}}system("pause");}流程图:流图:测试过程:黑盒测试序号测试内容测试数据期望结果实际结果1 结果为任何数0,0,0 出错出错序号测试内容测试数据期望结果实际结果2 一次方程0,2,3 得出一个解得出一个解序号测试内容测试数据期望结果实际结果3 输入字符a,出错出错序号测试内容测试数据期望结果实际结果4 缺输入2,1 出错无法缺省数据(未达到满意结果)序号测试内容测试数据期望结果实际结果5 二次方程1,4,4 两个相等根两个相等根序号测试内容测试数据期望结果实际结果6 二次方程2,3,2 两个虚根两个虚根序号测试内容测试数据期望结果实际结果7 二次方程1,3,2 两个不等实根两个不等实根序号测试内容测试数据期望结果实际结果8 二次方程1,0,-1 两个实根符号相反大小相等两个实根符号相反大小相等白盒测试序号测试数据覆盖节点覆盖的边1 0,0,0 126 abim序号测试数据覆盖节点覆盖的边2 0,2,3 126 abim序号测试数据覆盖节点覆盖的边3 1,4,4 123456 abceilm序号测试数据覆盖节点覆盖的边4 2,3,2 12376 abcdgm序号测试数据覆盖节点覆盖的边5 1,3,2 123486 abcefhm序号测试数据覆盖节点覆盖的边6 a 16 akm试验截图在上面的黑盒测试中都有,就不再次列举了。
软件工程实验一
《软件工程》课程实验报告四、实验过程与结果性能需求1.系统处理的准确性和及时性系统处理的准确性和及时性是系统的必要性能。
在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足学院对信息处理的需求。
并且不能重复复两个学号的信息。
2.系统的开放性和系统的可扩充性学生信息系统在开发过程中,应该充分考虑以后的可扩充性。
比如数据在某个时间段的数据输入拥堵。
或者数据多的时候,应该确保系统有足够的空间给数据的输入和存储。
3.系统的易用性和易维护性学生信息系统针对的大部分是学生,因此系统应该更见简单,便捷。
UI界面应更加的简单易懂。
同时在维护数据的时候应该更加的方便。
这样避免了因为错误的操作而到导致数据的流逝。
2.3用户平台要求网络方面:此开发出的软件要适用于Internet网及校园内的局域网。
软件方面:支持windows系统及一些常用的办公软件如office等。
硬件方面:可以被个人电脑、平板以及功能强大的移动设备所使用。
一.业务逻辑1.1业务分解1.2业务流图A)学生信息管理:B)学业信息管理:C)学分建设:D)学生奖助信息管理:E)学生活动管理:F)素质测评:五、实验总结在本次实验,熟悉了需求分析的一般步骤,进一步弄清了业务需求、用户需求、功能和非功能需求之间的区别。
对于一个系统,我知道一开始从哪几个方面对系统进行评价。
通过画用例图,能更清新的看清使用者的操作流程,并认识到了用例图在软件或系统开发过程中的重要性,本次实验学到很多。
软件工程实验报告
软件工程实验报告学号:姓名:专业:年月实验一:白盒测试一、实验目的巩固白盒测试知识,对于给定的待测程序,能熟练应用基本控制流覆盖方法设计测试用例;能够执行白盒测试过程,并撰写白盒测试分析报告。
二、实验内容白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试,一般用来分析程序的内部结构。
测试规划基于产品内部结构进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分使用,则这种测试方法称为白盒测试方法。
白盒测试将被测程序看做一个打开的盒子,测试者能够看到被测源程序,可以分析被测程序的内部结构,此时测试的焦点集中在根据其内部结构设计测试用例。
白盒测试要求是对某些程序的结构特性做到一定程度的覆盖,或者说这种测试是“基于覆盖率的测试”。
测试内容包括语句覆盖测试、分支覆盖测试、条件覆盖测试、分支/条件覆盖测试、条件组合覆盖测试和基本路径测试。
三、程序代码要求:实现对不少于10个随机输入的数的冒泡排序算法。
#include<iostream>using namespace std;int main(){double a[100];int N;int i = 0, j = 0;cin >> N;//排序元素的个数for (i = 0; i <= N; i++){cin >> a[i];}for (i = 0; i < N-1 ; i++) {for (j = 0; j < N - 1 - i; j++){if (a[j] > a[j + 1]) {int tmp;tmp = a[j];a[j] = a[j + 1];a[j + 1] = tmp;}}}for (i = 0; i < N; i++){cout << a[i] <<" ";}cout << endl;return 0;}四、程序流程图五、测试内容(1)语句覆盖测试测试结果:①②测试结果分析:输入元素时需要输入的元素个数大于最初输入的元素个数。
