实验2 用例分析
实验报告2--用例图
实验二用例图一、实验目的1.熟悉用例图的基本功能和使用方法。
2.掌握如何使用建模工具绘制用例图方法。
二、实验器材1. 计算机一台;2. Rational Rose 工具软件;三、实验内容开发一套图书馆管理系统来管理图书馆的日常业务。
对系统的需求建模,得到用例模型后,画出用例视图。
四、实验步骤1.分析该系统的需求,确定系统中的参与者和主要用例,并画出用例视图。
(1).通过分析该系统的业务描述,我们总结了出现在系统中的主要活动,如下:①读者需要借书籍,需要还书籍。
②读者可以预约书籍,也可以撤消预约。
③管理员根据读者要求提供服务。
④管理员可以添加、修改、删除读者。
⑤管理员可以添加、修改、删除书籍。
(2).确定系统参与者。
经过对系统中主要活动的分析,我们可以看到,严格意义上的参与者只有两个:管理员和读者。
系统的实际操作者是管理员,读者没有操作系统的权限,只能向管理员提出服务请求。
(3).确定系统用例。
一个完整的需求分析,要求找出所有的用例。
但在这里,我们只分析最主要的部分。
在这个系统中,可以总结出如下的用例:①读者信息管理模块●新增读者●修改读者信息●删除读者②书籍信息管理模块●删除书籍●删除书目●新增书籍●新增书目●修改书籍信息③图书馆业务功能模块●还书●借书●预约书籍●取消预约④信息查询模块●查询读者信息●查询书籍信息2.使用Rational Rose绘制用例图。
①读者信息管理用例图的绘制②书籍信息管理用例图的绘制③图书馆业务用例图的绘制④信息查询用例图的绘制五、实验报告要求1.整理实验结果。
2.小结实验心得体会。
实验报告二 需求分析
韩山师范学院计算机与信息工程学院实验报告1、引言机票预定系统1.系统简介航空公司为给旅客乘机提供方便,需要开发一个机票预定系统。
各个旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码(护照号码)、旅行时间、旅行始发地和目的地,航班舱位要求等)输入到系统中,系统为旅客安排航班。
当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客。
此外航空公司为随时掌握各个航班飞机的乘载情况,需要定期进行查询统计,以便适当调整。
2.技术要求和限制条件(1)在分析系统功能时要考虑有关证件的合法性验证(如身份证、取票通知和交款发票)等。
(2)对于本系统还应补充一下功能:1.旅客延误了取票时间的处理2.航班取消后的处理3.旅客临时更改航班的处理(3)系统的外部输入项至少包括:旅客、旅行社和航空公司。
2、任务概述目标:在计算机网络,数据库和其他的开发平台上,利用现有的软件,开发一个易扩易维护、具有良好人机交互界面的机票预定系统,实现航空公司的机票销售的自动化的计算机系统以及方便广大需要购买机票的人们,实现航空公司把旅客信息(姓名、性别、身份证号码(护照号码)、航班起飞时间、航班始发地和目的地、航班舱位要求等)输入到系统中,系统为旅客安排航班功能。
用户特点:用户为广大人民群众,通过登陆相应信息而进入机票预订系统,然后输入用户基本信息和要求,系统自动为其查询并且做出相应的航班安排,旅客根据系统显示的信息选择航班进行预订,网上支付,然后系统在用户终端输出相应取票通知和账单。
3、非技术要求第一阶段:机票预订系统需求分析说明书(一周)第二阶段:系统初步模型(一周)第三阶段:系统各功能实现(三周)第四阶段:系统最终测试使用4、系统环境系统架构(功能逻辑架构或物理、网络架构等)、软硬件运行环境、软硬件开发环境等。
1.1.1硬件要求:服务器:CPU i7标压,240G硬盘空间客户机:最低CUPi31.1.2软件要求服务器:Tomcat 7.0客户机:IE9以上;所用到的技术有:JDBC JSP&ServletJavascriptJquery所用到的工具:myeclispexamppNavicatPremiummysql数据库 Tomcat5、非功能需求(1)系统处理准确,响应及时;(2)客户订票不受时间的限制;(3)系统提供订票操作步骤供无订票经验的人群参考;(4)系统提供易用的人机交互界面;(5)系统确保用户信息的安全性;(6)系统提供方便手段供维护人员进行数据备份和对系统意外崩溃的维护。
操作系统lab2实验报告
操作系统lab2实验报告实验目的:本实验的目的是通过设计和实现一个简单的操作系统内核,加深对操作系统基本概念和原理的理解。
具体实验内容包括进程管理、内存管理和文件系统的设计与实现。
实验环境:1.操作系统:Linux2.编程语言:C语言一、实验背景1.1 操作系统简介操作系统是计算机系统中的一个重要组成部分,负责管理和控制计算机的各种资源,提供用户和应用程序的接口,以及协调和调度各种任务的执行。
1.2 实验目标本实验的主要目标是设计和实现一个简单的操作系统内核,包括进程管理、内存管理和文件系统等功能。
二、实验内容2.1 进程管理①进程创建描述进程创建的过程和相关数据结构,包括创建新进程的系统调用、进程控制块等。
②进程调度描述进程调度的算法和实现方式,包括进程调度队列、调度算法等。
③进程同步与通信描述进程同步和通信的机制和方法,包括信号量、互斥锁、条件变量等。
2.2 内存管理①内存分配描述内存分配的算法和实现方式,包括连续内存分配、非连续内存分配等。
②页面置换描述页面置换的算法和实现方式,包括最优页面置换算法、先进先出页面置换算法等。
2.3 文件系统①文件操作描述文件操作的系统调用和相关数据结构,包括文件打开、读写、关闭等。
②文件系统结构描述文件系统的组织结构和实现方式,包括超级块、索引节点、块位图等。
三、实验步骤3.1 环境搭建搭建实验环境,包括安装Linux操作系统、编译器等。
3.2 进程管理实现根据设计要求,实现进程创建、调度、同步与通信等功能。
3.3 内存管理实现根据设计要求,实现内存分配、页面置换等功能。
3.4 文件系统实现根据设计要求,实现文件操作和文件系统结构。
3.5 测试与调试编写测试用例,对实现的操作系统内核进行测试和调试,并记录实验结果。
四、实验结果分析分析测试结果,评估实验过程中遇到的问题和解决方法,总结操作系统内核的性能和功能特点。
五、实验总结对实验过程中的收获和经验进行总结,提出改进和优化的建议。
信息管理系统 UML实验二__活动图
实验一活动图
【实验内容】
1.分析Add Course(添加课程)用例的事件流,画出Add Course用例的活动图。
在用例图中分析过,选课系统中的添加课程(Add Course)用例的事件流如下:(1)管理员选择进入管理界面,用例开始。
(2)管理员输入课程各项信息;
(3)系统验证是否和已有课程冲突;
A1:有冲突
(4)系统添加新课程,提示课程添加成功;
(5)系统重新进入管理主界面,显示所有课程;
(6)用例结束。
其他事件流:
A1:有冲突
(1)系统提示冲突,显示冲突课程信息;
(2)用户重新输入;
(3)继续验证直至无冲突;
(4)进入添加课程事件流第4步。
根据以上描述并进一步细化,绘制出Add Course用例的活动图。
2.远程网络教学系统
(1)对于“远程网络教学系统”,学生登录后可以下载课件。
在登录时,系统需要验证用户的登录信息,如果验证通过系统会显示所有可选服务。
如果验证失败,则登录失败。
当用户看到系统显示的所有可选服务后,可以选择下载服务,然后下载需要的课件。
下载完成后用户退出系统,系统则会注销相应的用户信息。
请画出学生下载课件的活动图。
(2)在“远程网络教学系统”中,系统管理员登录后可以处理注册申请或者审核课件。
在处理注册申请后,需要发送邮件通知用户处理结果;在审核完课件后,需要更新页面信息以保证用户能看到最新的课件,同时系统更新页面。
当完成这些工作后,系统管理员退出系统,系统则注销系统管理员账号。
请画出系统管理员的工作活动图。
《软件测试技术》 实验二 实验报告
《软件测试技术》
实验报告
实验二测试用例设计与自动化测试
专业:
班级:
学号:
姓名:
完成时间:2020年月日
实验二测试用例设计与自动化测试(4学时)
实验类别:综合性实验
实验目的:
1、掌握QTP进行功能自动化测试。
2、掌握LoaderRunner进行性能自动化测试。
3、掌握其他自动化测试工具。
4、掌握编写测试报告方法。
实验内容:
实验课前准备一个系统,选择QTP进行功能自动化测试或选择Loadrunner进行性能自动化测试。
实验步骤
1、拟定测试计划。
2、撰写测试方案。
3、设计测试用例。
4、录制或编写脚本。
5、执行自动化测试。
6、填写测试报告。
7、分析测试结果。
以下为学生填写报告内容(注意排版格式,间距根据实际调整)
1、测试计划(包括被测对象介绍)
2、测试方案(包括采用测试工具)
3、测试用例
4、脚本录制或编写(抓图)
5、自动化测试抓图(根据需要抓图,体现自动化测试即可)
6、测试结果分析
7、实验总结。
实验二 黑盒测试(判定表法)
广西师范大学计信学院《软件测试技术》课程实验实验报告题目:黑盒测试法——判定表法班级:10计本1班学号:201012301006姓名:焦德伟完成日期:2012/10/17实验二黑盒测试法——判定表法实验目的:1.掌握因果图、判定表的方法2.掌握按判定表设计测试用例实验时间:2学时实验内容:1、题目一:隔一天日期问题功能描述:输入年份、月、日;输出:输入日期在日历上的隔一天日期。
如输入1912年12月15日,应输出1912年12月17日。
要求:(1) 读源码并分析程序,给出问题规定的可能采取的操作(即列出所有的动作桩)。
所有的动作桩:(1)、年份超过界限,请重新输入a1(2)、月份超过界限,请重新输入a2(3)、日期超过界限,请重新输入a3(4)、本月为二月,请重新输入日期a4(5)、month+1 and day=1 a5(6)、month+1 and day=2 a6(7)、day=day+2 a7(8)、year++ and month=1and day=1 a8(9)、year++ and month=1and day=2 a9 (9)、输入非法a10 (2) 画出简化后的决策表,设计测试用例。
实验的决策表:条件桩:年份越界:Y1月份越界M1日期越界D1闰年:Y2平年:Y3月份二月:M2月份为十二月:M3月份为30天每月:M4月份为31天非十二月:M5日期小于27:D7日期为27:D2日期为28:D3日期为29:D4日期为30:D5日期为31:D6实验测试用例:测试用例:(3)执行测试用例,进行测试记录和缺陷统计。
实验测试记录的部分效果:缺陷报告书:缺陷统计:总过19组数据,其中10组出现错误!。
软件测试-实验2-白盒测试案例分析
实验2 白盒测试一、实验目的与要求1、掌握白盒测试的语句覆盖和判定覆盖测试方法的原理及应用2、掌握条件覆盖、条件组合覆盖的方法,提高应用能力3、掌握路径法测试二、实验设备1、电脑PC三、实验原理白盒测试原理:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。
它是把测试对象看作装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。
这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作,其又称为结构测试。
1、语句覆盖语句覆盖指代码中的所有语句都至少执行一遍,用于检查测试用例是否有遗漏,如果检查到没有执行到的语句时要补充测试用例。
无须细分每条判定表达式,该测试虽然覆盖了可执行语句,但是不能检查判断逻辑是否有问题。
2、判定覆盖又称判断覆盖、分支覆盖,指设计足够的测试用例,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断真假取值均曾被满足。
判定覆盖比语句覆盖强,但是对程序逻辑的覆盖度仍然不高,比如由多个逻辑条件组合而成的判定,仅判定整体结果而忽略了每个条件的取值情况。
3、条件覆盖、条件判定覆盖条件覆盖指程序中每个判断中的每个条件的所有可能的取值至少要执行一次,但是条件覆盖不能保证判定覆盖,条件覆盖只能保证每个条件至少有一次为真,而不考虑所有的判定结果。
条件判定覆盖是条件覆盖和判定覆盖的组合,指设计足够的测试用例,使得判定中每个条件的所有可能的取值至少出现一次,并且每个判定取到的各种可能的结果也至少出现一次。
条件判定覆盖弥补了条件和判定覆盖的不足,但是未考虑条件的组合情况。
4、条件组合覆盖又称多条件覆盖,设计足够的测试用例,使得判定条件中每一个条件的可能组合至少出现一次。
线性地增加了测试用例的数量。
5、基本路径法在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行的路径集合,从而设计测试用例的方法。
实验二 白盒测试 (2)
实验二白盒测试一、实验目的1、掌握白盒测试的基本方法;2、掌握白盒测试用例的编写。
二、实验要求1、根据给出的程序分别使用语句覆盖、判定覆盖(也称为分支覆盖)、条件覆盖、判定-条件覆盖、条件组合测试、路径测试设计测试用例。
2、输入数据进行测试,填写测试用例。
三、实验内容1、用C++或者Java编写一个类,完成下面函数的功能,并编写另外一个类,调用该方法:void DoWork(int x,int y,int z){int k=0,j=0;if((x>3)&&(z<10)){k=x*y-1; //语句块1j=sqrt(k);}if((x= =4)||(y>5)){j=x*y+10; //语句块2}j=j%3; //语句块3}要求:(1)画出上面函数的流程图。
(2)分别使用语句覆盖、判定覆盖(也称为分支覆盖)、条件覆盖、判定-条件覆盖、条件组合测试、路径测试设计测试用例(注意测试用例的格式)。
语句覆盖:用例:x=4,y=6,z=8判定覆盖:用例1:x = 4 , y = 6 , z = 8用例2:x = 3 , y = 5 , z = 8条件覆盖:用例1:x=3,y=8,z=8用例2:x=4,y=5,z=13判定-条件覆盖:用例1:x=4,y=8,z=8用例2:x=3,y=5,z=13条件组合测试用例1:x=4,y=8,z=8用例2:x=4,y=3,z=13用例3:x=2,y=8,z=8用例4:x=2,y=3,z=13路径测试:用例1:x=4,y=8,z=8用例2:x=4,y=3,z=13用例3:x=6,y=2,z=8用例4:x=2,y=3,z=13(3)执行每个测试用例,执行完毕后填写测试用例。
2、用C++或者Java编写“计算被输入日期是星期几,例如公元1年1月1日是星期一,只要输入年月日,能自动回复当天是星期几。
”测试用例;程序说明:A程序思路:计算输入日期与公元1年1月1日所相差的天数,具体如下:总天数=公元1年到输入日期上一年年底天数+输入年份的1月到上月月底天数+输入日期的天数;B闰年满足条件(year%4==0)&&(year%100!=0)||(year%400==0)。
实验2 用例分析)
-5-
模型组织:按备选构架组织
按MVC构架寻找相应的 对象(类)
边界类
➢Boundary Classes
控制类
➢Control Classes
实体类
➢Entity Classes ➢ 领域模型
-6-
模型组织:由用例实现来组织
发现的类(对象)放入到相应的层次结构中 对实验1中已经完成用例规约的一个用例进
行用例分析:
➢ 完成该用例的参与类类图(VOPC类图)
两个用例
维护个人考勤(简化版-只考虑基本路径) 计算工资(简化版-只考虑临时工)
思考:为什么?
-4-
模型组织:4+1视图
-12-
实体类的典型问题
“系统”实体类
系统是一个什么样的实体类?事实上,它应该是一 个全局的控制类,负责所有的核心流程,成了上帝 类!它掩盖了实际的业务流程, 使得分析过程失去 意义!
“数据库系统”实体类
在您做这个系统之前已经有现成的数据库吗? 如果有的话,那么它应该作为外围系统,对于本系
统而言就应该是一个接口 如果没有,您就应该做数据库设计,而这是在分析
之后工作的,分析是还没有数据,又谈何数据库接 口呢?
-13-
“系统”实体类带来错误的交互图
-14-
记录考勤-添加新考勤
-15-
记录考勤-提交考勤
-16-
记录考勤-VOPC类图
-17-
计算工资(小时工)-交互图
-18-
计算工资VOPC图
用例分析过程围绕着用例完 成,通过用例实现(usecase realization)来组织
实验二 UML用例图建模参考答案
1. 找出actor和外部系统,确定系统边界.参与者:呼叫者、邮箱用户2. 主要功能分析(参与者期望的系统行为等)(1). 呼叫者保留信息(留言).(2). 邮箱用户管理信息: 收听/存储/删除.(3). 邮箱用户更改问候语.(4). 邮箱用户更改密码.3. 初步找到的用例呼叫者:保留信息邮箱主人:接收信息、更改问候语、更改密码4. 进一步寻找用例邮箱主人:登录邮箱呼叫者、邮箱主人:拨打邮箱号码5. 分析用例之间的关系本例较为简单,只使用“包含关系”即可.6. 绘制初步用例图7. 编写每一个用例的脚本8. 区分脚本中的主事流或异常情况事件流9. 细化用例图,完成用例模型(略)用例1: 拨打邮箱号1. 呼叫者拨打语音邮件系统的主号码.2. 语音邮件系统发出提示音:输入邮箱号码并加#号.3. 呼叫者输入接收者的邮箱号.4. 语音邮件系统发出问候语:已进入XX的邮箱,请留言. 用例2: 保留信息1. 呼叫者完成邮箱号输入操作.2. 呼叫者说出信息.3. 呼叫者挂断电话.4. 语音邮件系统将记录的信息存放在接收者的邮箱中. 用例3: 登录系统1. 邮箱用户完成邮箱号输入操作.2. 邮箱用户键入密码并后跟#键.(默认号码与邮箱号相同)3. 语音邮件系统播放邮箱菜单:按1键接收信息.按2键更改密码.按3键更改问候语.用例4: 接收信息1. 邮箱用户完成登录操作.2. 邮箱用户选择“接收信息”菜单选项.3. 语音邮件系统播放信息菜单:按1收听当前信息; 按2存储当前信息; 按3删除当前信息;按4返回邮箱菜单.4. 邮箱用户选择“收听当前信息”菜单选项.5. 语音邮件系统播放当前新信息,若无新信息,播放当前已有信息.(注意: 只播放,不删除)6. 语音邮件系统播放信息菜单.7. 用户选择”删除当前信息”,则信息被永久删除.8. 继续执行第3步.用例4变体#1: 存储一条信息1.1 以第6步作为开始.1.2 用户选择“存储当前信息”.1.3 当前信息从新信息队列中删除并添加到旧信息队列中.1.4 继承执行第3步.用例5: 更改问候语1. 邮箱用户完成登录操作.2. 邮箱用户选择“更改问候语”菜单选项.3. 邮箱用户说出新的问候语.4. 邮箱用户按下#键.5. 邮件系统设置新的问候语.用例5变体#1: 在确认前挂断电话1.1 以第3步作为开始.1.2 邮件用户挂断电话.1.3 邮件系统保留旧的问候语.用例6: 更改密码1. 邮箱用户完成登录操作.2. 邮箱用户选择“更改密码”菜单选项.3. 邮箱用户输入新的密码.4. 邮箱用户按下#键.5. 邮件系统设置新的密码.用例6变体#1: 在确认前挂断电话1.1 以第3步作为开始.1.2 邮件用户挂断电话.1.3 邮件系统保留旧的密码.。
实验2白盒测试
实验2⽩盒测试实验2 ⽩盒测试⼀、实验⽬的1. 了解⽩盒测试的概念。
2. 掌握⽩盒测试的主要⽅法。
3. 掌握⽩盒测试⼯具JUnit的安装和使⽤⽅法。
4. 利⽤⽩盒测试⼯具JUnit,针对⼀个具体问题进⾏测试,掌握测试的基本过程、测试⽤例的编写和测试结果的分析⽅法。
⼆、实验内容1. ⽩盒测试⼯具JUnit的安装和使⽤⽅法。
2. 利⽤⽩盒测试⼯具JUnit测试某个Java类(⿎励测试⾃⼰编写的Java类)。
三、实验要求1. ⾃⼰编写测试⽤例。
2. 使⽤JUnit软件对测试⽤例进⾏测试。
3. 记录并分析测试结果。
四、操作⽅法与实验步骤0. 准备⼯作在Eclipse中新建项⽬Calculator,再创建类Calculator。
该类实现加、减、乘、除四则运算。
为了体验测试过程,故意给出某些错误。
代码如下:public class Calculator {private static int result;public void add(int n) {result=result+n;}public void substract(int n) {result=result-1; 正确的是result=result-n}public void multiply(int n) { 该⽅法待定义,预留接⼝}public void divide(int n) {result=result/1; 正确的是result=result/n }public int getResult() {return result;}}1. 步骤⼀:将JUnit4测试包引⼊Calculator项⽬2. 步骤⼆:⽣成JUnit4测试框架3. 步骤三:在前述⾃动⽣成的测试框架下,⾃⼰编写测试⽤例程序。
4. 步骤四:运⾏测试代码五、测试⽤例测试⽤例代码如下:import static org.junit.Assert.*;import org.junit.After;import org.junit.Before;import org.junit.Test;public class CalculatorTest {private static Calculator calculator=new Calculator();@Beforepublic void setUp() throws Exception {}@Afterpublic void tearDown() throws Exception {}@Testpublic void testAdd() {calculator.add(2);calculator.add(3);assertEquals(5,calculator.getResult());}@Testpublic void testSubstract() {calculator.add(10);calculator.substract(3);assertEquals(7,calculator.getResult());}@Testpublic void testMultiply() {fail("Not yet implemented");}@Testpublic void testDivide() {calculator.add(6);calculator.divide(2);assertEquals(3,calculator.getResult());}}六、测试结果及分析测试运⾏结果如下图所⽰:图2.1 测试运⾏结果图根据报错信息将测试⽤例表补充完整:结合测试⽤例代码和测试结果,分析得错误原因为每⼀次运算调⽤的add()⽅法将输⼊的数据不断累加,⽽⾮初始化,因此对代码做出以下修正:①完善Calculator类中multiply⽅法:public void multiply(int n) {result=result*n;}②在每⼀项测试⽤例前增加语句:calculator.multiply(0);程序修正后测试运⾏结果如下图所⽰:图2.2 修正后的测试运⾏结果图。
实验2:ATM系统的分析建模
实验内容
本次实验完成如下内容:
完成ATM系统的建模分析
实验结果(学生填写)
1.画ATM(自动柜员机)系统总的用例图
2.画ATM系统中“客户插入卡”的活动图
3.画ATM系统中取款这个用例的类图
4.画某客户Joe取20美元的序列图
5.画某客户Joe取20美元的协作图
atm系统的分析建模姓名院系学号任课教师实验指导教师实验地点软件学院机房实验时间软件名称rationalrose实验目的1
软件建模与UML课程实验报告
实验2:ATM系统的分析建模
姓名ห้องสมุดไป่ตู้
院系
学号
任课教师
实验指导教师
实验地点
软件学院机房
实验时间
软件名称
Rational Rose
实验目的
1.学会用面向对象的思想去分析和设计相关系统;
6.账目类的状态图
7.ATM系统客户的构件图
8.ATM系统的实施图
扣分原因(有扣分时填写)
扣分
0
日期:
缺席:扣10分实验报告雷同:扣10分实验结果填写不完整:扣1 – 10分
其他情况:扣分<=5分总扣分不能大于10分
实验二 等价类划分法测试用例设计与执行
实验二
实验的目的和要求:
目的:
(1)掌握等价类划分方法的步骤;
(2
c1
实验步骤:
一、分析问题,得出等价类列表,分析三角形问题中给出和隐含的对输入条件的要求:(1)整数(2)三个数(3)非零数(4)正数(5)两边之和大于第三边(6)等腰(7)等边,如果a、b、c满足条件(1)~(4),则输出下列四种情况之一:如果不满足条件(5),则程序输出为“非三角形”。
如果三条边相等即满足条件(7),则程序输出为“等边三角形”。
如果只有两条边相等、即满足条件(6),则程序输出为“等腰三角形”。
如果三条边都不相等,则程序输出为“一般三角形”。
二、设计测试用例
importjava.io.*; classsanj{ publicstaticinta,b,c;
publicstaticvoidmain(Stringarg[])throwsIOException{
try{
BufferedReaderstdin=newBufferedReader(newInputStreamReader(System.in));//接收键值
a=Integer.valueOf(stdin.readLine());
}
}
{
}
}
}。
实验二使用RationalRose绘制用例图
实验二使用Rational Rose绘制用例图一、实验目的与要求1、熟悉用例图的基本功能和使用方法。
2、掌握如何使用建模工具绘制用例图方法。
二、实验内容根据某图书管理系统开发进度,在完成对系统的需求建模,得到用例模型后,应针对每个用例进行业务分析,说明其具体的业务流程,现系统分析部指派你完成该项任务。
要求:(1)确定图书管理系统的用例。
(2)绘制图书管理系统的用例图。
(3)对图书管理系统的用例进行描述。
三、实验步骤2 确定系统的参与者借阅者、图书馆管理员、系统管理员。
3 确定系统的用例(1) 借阅者请求服务的用例①登录系统②查询自己的借阅信息③查询书籍信息④预定书籍⑤借阅书籍⑥归还书籍(2) 图书馆管理员处理借书、还书等的用例①处理书籍借阅②处理书籍归还③删除预定信息(3) 系统管理员进行系统维护的用例①查询借阅者信息②查询书籍信息③增加书目④删除或更新书目⑤增加书籍⑥删除书籍⑦添加借阅者帐户⑧删除或更新借阅者帐户4 使用Rational Rose绘制用例图的步骤以“删除借阅者信息”用例为例:a.绘图步骤:(1)在用例图上双击main,出现如图1.1所示,为绘制用例图做好准备。
图1.1(2)在图中的工具栏选取Actor图标,在右边的图中添加一个Actor,并输入名称:administrator,如图1.2所示。
(3)在左边的工具栏中,选取用例的图标,在右边的图中画出一个用例,并输入用例的名称:login 。
图1.2(4)按照步骤(3),绘制出如图1.4和图1.5的两个用例。
图1.3图1.4(5)在绘出了用例后,接下来的是绘制参与者与用例实现,如图1.6所示。
图1.6(6)根据步骤(5),同时完成如图1.7和图1.8。
此时,删除借阅者用例图就到此完成。
其系统查询借阅者信息等其他的功能会在时序图和活动图中描绘。
(7)根据分析情况,进一步添加或细化用例图。
图1.7图1.8b.描述用例“删除借阅者信息”用例的用例描述:(1)管理员在录入界面,输入待删除的借阅者名;(2)“业务逻辑”组件在数据库中,查找待删除的借阅者名;(3)如果不存在,则显示出错信息,返回步骤(1),如果存在则继续;(4)“业务逻辑”组件判断“待删除的借阅者”是否可以删除;(5)如果不可以,则显示出错信息,返回步骤(8),如果可以则继续;(6)在数据库中,删除相关信息;(7)显示删除成功信息;(8)结束。
实验2、GISSE--Rational_Rose应用实验报告
实验二Rational Rose的应用
一、实验目的:
1、明确Rational Rose软件的功能,加深对Rational统一软件过程的理解;
2、理解UML模型构成;
3、掌握用例图、静态图、行为图、交互图的表达和绘制方法。
二、原理与方法:
通过Rational Rose软件、采用UML语言对仓库零件管理事件绘制用例图、静态图、行为图、交互图。
三、实验内容与步骤
1、安装Rational Rose软件。
2、熟悉软件环境,了解软件的功能、用途和使用方法。
3、学习用例图、静态图、行为图、交互图的表达和绘制方法。
4、“某装配厂有一座存放零件的仓库,仓库中现有的各种零件的数量以及
每种零件的库存量临界值等数据记录在库存清单主文件中。
当仓库中零
件数量有变化时,应该及时修改库存清单主文件,如果那种零件的库存
量少于它的库存量临界值,则应该报告给采购部门以便定货,规定每天
向采购部门送一次定货报告”。
用面向对象的方法对该库存管理过程进行
分析和设计,在rational rose中用相应的视图反映用例捕获、系统分析
和系统设计的成果。
了解根据实体类图设计数据库逻辑结构的方法。
四、实验成果
五、实验总结。
软件测试-实验2-白盒测试案例分析
实验2 白盒测试一、实验目的与要求1、掌握白盒测试的语句覆盖和判定覆盖测试方法的原理及应用2、掌握条件覆盖、条件组合覆盖的方法,提高应用能力3、掌握路径法测试二、实验设备1、电脑PC三、实验原理白盒测试原理:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。
它是把测试对象看作装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。
这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作,其又称为结构测试。
1、语句覆盖语句覆盖指代码中的所有语句都至少执行一遍,用于检查测试用例是否有遗漏,如果检查到没有执行到的语句时要补充测试用例。
无须细分每条判定表达式,该测试虽然覆盖了可执行语句,但是不能检查判断逻辑是否有问题。
2、判定覆盖又称判断覆盖、分支覆盖,指设计足够的测试用例,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断真假取值均曾被满足。
判定覆盖比语句覆盖强,但是对程序逻辑的覆盖度仍然不高,比如由多个逻辑条件组合而成的判定,仅判定整体结果而忽略了每个条件的取值情况。
3、条件覆盖、条件判定覆盖条件覆盖指程序中每个判断中的每个条件的所有可能的取值至少要执行一次,但是条件覆盖不能保证判定覆盖,条件覆盖只能保证每个条件至少有一次为真,而不考虑所有的判定结果。
条件判定覆盖是条件覆盖和判定覆盖的组合,指设计足够的测试用例,使得判定中每个条件的所有可能的取值至少出现一次,并且每个判定取到的各种可能的结果也至少出现一次。
条件判定覆盖弥补了条件和判定覆盖的不足,但是未考虑条件的组合情况。
4、条件组合覆盖又称多条件覆盖,设计足够的测试用例,使得判定条件中每一个条件的可能组合至少出现一次。
线性地增加了测试用例的数量。
5、基本路径法在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行的路径集合,从而设计测试用例的方法。
实验2、黑盒测试:边界值分析法及测试用例设计
49
9
T12
85
75
10
1
T13
80
71
9
5
T14
95
90
5
1
T15
55
51
4
4
T16
60
60
0
0
3执行测试,填写软件缺陷报告(软件缺陷报告格式同实验1)。
测试模块:
找零钱计算模块
开发者:
赵永标
测试员:
李超
测试日期:
2011年4月28日
软件缺陷列表
缺陷ID
缺陷详细信息
BUG1
付款为-1,总价为50时,预期为超出范围,但输出为50的张数为:-1;10的张数为0;5的张数为:0;1的张数为:-1;总张数为:-2
2运用健壮性边界条件法设计测试用例,得到测试用例表(测试用例表格式同实验1)。
付款
总价
余额
预期输出
T1
-1
50
超出范围
T2
0
50
不可能
T3
100
50
50
1
T50
-1
超出范围
T6
50
0
50
1
T7
50
100
不可能
T8
50
101
超出范围
T9
50
51
不可能
T10
60
59
1
1
T11
72
BUG2
付款为100,总价为50时,预期为:1,但输出为50的张数为:0;10的张数为0,5的张数为:0;1的张数为:0;总张数为:0
BUG3
付款为50,总价为-1时,预期为超出范围,但输出为50的张数为:1;10的张数为0;5的张数为:0;1的张数为:1;总张数为:2
实验2-动态白盒测试
云南大学软件学院实验报告课程:软件测试技术任课教师:代飞实验指导教师(签名):姓名:赵宇学号:20101120128 专业:软件工程日期:2012年11月23 成绩:实验二动态白盒测试一、实验目的(1)熟练掌握静态白盒测试与动态白盒测试的相关概念;(2)熟练掌握白盒测试相关测试技术;(3)能够熟练应用语句覆盖、判定覆盖、条件覆盖、组合覆盖、路径覆盖等相关技术进行白盒测试用例设计。
二、实验内容1. 求解一元二次方程的程序如下:#include <stdio.h>main(){float a,b,c,x1,x2,mid;scanf("%f,%f,%f",&a,&b,&c);if(a!=0){mid=b*b-4*a*c;if(mid>0){ x1=(-b+sqrt(mid))/(2*a);x2=(-b-sqrt(mid))/(2*a);printf("two real roots\n");}else{ if (mid==0){ x1=-b/2*a;printf("one real root\n");}else{ x1=-b/(2*a);x2=sqrt(-mid)/(2*a);printf("two complex roots\n");}}printf("x1=%f,x2=%f\n",x1,x2);}}请分析以上程序,给出控制流图,设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖。
流程图:语句覆盖:判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖、路径覆盖:三、实验总结本次实验主要是运用白盒测试的方法,设计测试用例。
白盒测试也称为结构测试,是基于覆盖的测试,其目标是尽可能覆盖程序的逻辑路径,主要包括语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖和路径覆盖。
实训报告二:用例图
览区中列出面向对象工程模型的 use case (用例视图) 、 logic view(逻辑视图)、 component view(组 件视图)、deployment(配置视图),每个视图可以包含多个图描述模型。
工具选择按钮,按下是非工具选择状态。 输入文本按钮,可以在用例图区适当地方加上文本说明 注释说明。对某个角色或用例说明 连线:角色或用例与其注释的连线, 包:一个软件系统可以由若干个包构成。 用例:对应系统的功能,经过需求分析获得功能,用该符号表示。 角色:参与系统活动的人或事 关联:建立角色或用例之间的关联关系 依赖:建立角色或用例之间的依赖关系 泛化:建立角色或用例之间的泛化关系 用鼠标点击某个工具,在绘图区点击出现相应的图符,右击图符,弹出菜单中,单击 open specification 菜单项,出现规格说明窗口。在此窗口中可以修改角色或用例的属性。
《软件工程》――Photoshop 学生实训报告
《软件工程》――OOSE
学生实训报告
信息技术 系 软件技术 专业 076 班级
实训名称 课程名称 姓名 同组者
实训二、visio/rose 的应用及用例图 软件工程 主讲教师 年级 汪松松
软件 076
辅导教师 时间
9 月 15 日
一、熟悉 Rational Rose 集成环境、掌握创建用例图方法。 二、创建学生选课、教师开课用例图。
需求描述: 每学期开始学生需要一份课程表,它包含本学期所提供的课程列表及每门课程的相关信息。 比如:导师名称、科系、必要条件、课程时间、上课地点,可以帮助学生作出合理的决定,系统 规定学生可以选择四门必修课程。此外,他还要选择两门候补课程以防某门课程人员满额或被取 消。每门课程人数不得多余 10 人或少余 3 人。一旦学生完成登记过程,登记系统将信息传入记 费系统以便计算学生在本学期的学费数额. 导师需要随时访问系统, 知道有那一门课程需要任教。 他也可以了解他的课有那些学生选修。 每学期开始,学生有一段试听时间,学生可以改变所选课程内容。在这段时间学生必须可以 访问系统随时更改课程选项。 要求:(以 Rational Rose 为例) 1、对上述问题需求进行分析,确定系统的参与者(角色); 2、对上述问题需求进行分析,确定系统的功能(用例); 3、使用 Rational Rose 创建系统的用例图(功能模型); 4、对模型中的用例,用自然语言(汉语)进行描述; 5、建立角色和用例之间的关系。 6、实训后,将上述设计过程与结果写出实训报告,交给任课教师。
ATM建模实验-参考实验二
UML建模实验1. 环境简介Rose模型〔包括所有框图、对象和其他模型元素〕都保存在一个扩展名为.mdl的文件中。
1.1 Rational Rose可视化环境组成Rose界面的五大局部是浏览器、文档工具、工具栏、框图窗口和日志。
见图1-1。
图1-1:Rose界面●浏览器:用于在模型中迅速漫游。
●文档工具:用于查看或更新模型元素的文档。
●工具栏:用于迅速访问常用命令。
●框图窗口:用于显示和编辑一个或几个UML框图。
●日志:用于查看错误信息和报告各个命令的结果。
1.2浏览器和视图浏览器是层次构造,用于在Rose模型中迅速漫游。
在浏览器中显示了模型中增加的一切,如参与者、用例、类、组件等等。
Rose浏览器见图1-2。
浏览器中包含四个视图:Use Case视图、Logical视图、ponent视图和Deployment视图。
点击每个视图的右键,选择new就可以看到这个视图所包含的一些模型元素。
图1-2:Rose浏览器1.3框图窗口在图1-3所示的框图窗口中,我们可以浏览模型中的一个或几个UML框图。
改变框图中的元素时,Rose自动更新浏览器。
同样用浏览器改变元素时,Rose自动更新相应框图。
这样,Rose就可以保证模型的一致性。
图1-3:框图窗口2.UML各类框图的建立2.1建立用例图use case diagram从用例图中我们可以看到系统干什么,与谁交互。
用例是系统提供的功能,参与者是系统与谁交互,参与者可以是人、系统或其他实体。
一个系统可以创立一个或多个用例图。
创立用例图〔图2-1-1〕在浏览器的Use Case视图中,双击Main,让新的用例图显示在框图窗口中。
也可以新建一个包〔右击Use Case视图,选择new→package,并命名〕,然后右击这个新建包的,选择new→use case diagram。
对系统总的用例一般画在Use Case视图中的Main里,如果一个系统可以创立多个用例图,那么可以用包的形式来组织。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模型组织:4+1视图
用例分析是面向对象的分析阶段,其产生的工件应 该都组织在逻辑视图(Logical View)中
-5-
模型组织:按备选构架组织
按MVC构架寻找相应的
对象(类)
边界类
Boundary
Classes
控制类
Control
Classes
实体类
Entity
Classes 领域模型
实验2 用例分析
实验要素
迭代周期1的选取
模型的组织
实体类的完备性 交互图:正确性、完备性、可行性等 参与类类图(VOPC):正确性、完备
性等 ……
-2-
实验2:用例分析-题目要求
在实验1所构建的用例模型基础上,完成
分析过程
确定第一个迭代周期(提供该周期的用例图) 简单描述系统的备选构架,并将分析过程所
发现的类(对象)放入到相应的层次结构中 对实验1中已经完成用例规约的一个用例进 行用例分析:
完成该用例的参与类类图(VOPC类图) 描述一个基本路径的交互
-3-
考勤系统第一个迭代周期
两个用例
维护个人考勤(简化版-只考虑基本路径)
计算工资(简化版-只考虑临时工)
思考:为什么?
-4-
-13-
“系统”实体类带来错误的交互图
-14-
记录考勤-添加新考勤
-15-
记录考勤-提交考勤
-16-
记录考勤-VOPC类图
-17-
计算工资(小时工)-交互图
-18-
计算工资VOPC图
-19-
识别出用例规约中的名词和名词短语,
将它们作为实体或属性的候选对象
来自用例规约 名词性短语
系统的关键抽象
实体类的完备性
实体类是后续数据库设计的基础
-10即在 需求中揭示的系统核心概念,系统必 须处理的信息 关键抽象的来源
领域知识 需求 词汇表 领域模型(业务模型)
-6-
模型组织:由用例实现来组织
用例分析过程围绕着用例完 成,通过用例实现(usecase realization)来组织
该用例实现与用例模型中用 例之间的关系
跟踪图
该用例的实现过程交互图
基本路径 备选路径
VOPC类图
该用例的参与类类图
-7-
边界类和控制类
在分析的前期,一般情况下
为每对参与者/用例定义一个边界类
为每个用例定义一个控制类
在用例分析过程中,可以根据实际情
况进行灵活分析,如:
在维护个人考勤时存在两个非常独立的
路径:记录考勤(分创建和提交两个阶 段)、查询考勤 可以每个路径定义一个边界类和控制类
-8-
考勤系统迭代周期1边界和控制类
-9-
实体类
难点!也是用例分析的重点 实体类体现系统的核心业务数据
-11-
本系统迭代周期1实体类类图
-12-
实体类的典型问题
“系统”实体类
系统是一个什么样的实体类?事实上,它应该是一 个全局的控制类,负责所有的核心流程,成了上帝 类!它掩盖了实际的业务流程, 使得分析过程失去 意义!
“数据库系统”实体类
在您做这个系统之前已经有现成的数据库吗? 如果有的话,那么它应该作为外围系统,对于本系 统而言就应该是一个接口 如果没有,您就应该做数据库设计,而这是在分析 之后工作的,分析是还没有数据,又谈何数据库接 口呢?