软件工程实验(四个实验)
- 格式:doc
- 大小:384.03 KB
- 文档页数:14
实验报告(2013-2014 第二学期)课程:软件工程学号:班级:计科201201姓名:实验名称:结构化分析设计方法成绩:一、实验目的1.系统的功能描述、性能描述方法;2.握需求分析工具数据流图、数据字典等;掌握系统需求分析的步骤和方法;3.和学会使用一个结构化的软件分析和设计的软件工程工具:VISIO 2003 简体中文版;4.利用工具软件绘制:DFD,HIPO,PAD,流程图。
二、实验内容软件工程的基本思想是面对复杂的问题,让软件的开发按照工程的概念、原理、技术和方法模式来实施,有计划地按照要求分阶段实现。
针对大型项目开发,为了保证软件产品质量,提高软件开发效率,在进行详细设计、程序设计之前,必须先确定软件总体结构。
软件总体结构设计的方法主要有结构化设计、面向数据结构的设计和面向对象的设计,其中结构化设计方法是应用最广泛的一种,它是建立良好程序结构的方法,提出了衡量模块质量的标准是“高内聚、低耦合”。
另外,结构化设计(structured design,SD)方法是一种面向过程的设计方法或面向数据流的设计方法,它可以与结构化分析(structured analysis,SA)方法、结构化程序设计(structured programming)方法前后呼应,形成了统一、完整的系列化方法。
结构化设计方法以需求分析阶段获得的数据流图为基础,通过一系列映射,把数据流图变换为软件结构图。
三、实验步骤1.从程序中执行visio程序2.学习帮助中的入门教程本教程讲授关于 Microsoft Office Visio 环境:如何创建和共享图表,如何创建形状、模具和模板,如何建立一些常见图表类型。
在每一讲中:播放动画以观看所执行的步骤。
自行按照步骤指导来创建图表。
(1)开始创建图表。
(2)移动形状和调整形状的大小。
(3)添加文本。
(4)连接形状。
设置形状格式。
(5)保存和打印图表。
3.创建自己的流程图,例子如下:(1)画出图书预定系统DFD图。
《实用软件工程方法》实验指导书廖美英编广东科学技术职业学院广州学院2010年9月目录第1章传统的结构化分析与设计 (3)实验1 分析系统业务流程和绘制系统业务流程图 (3)实验2 分析数据流和绘制数据流图 (7)实验3 总体设计和数据库设计 (11)第2章面向对象的分析与设计 (17)实验4 面向对象的分析与设计—用例图 (17)实验5 面向对象的分析与设计—类图 (21)实验6 面向对象的分析与设计—时序图 (26)实验7 面向对象的分析与设计—活动图 (31)实验8 面向对象的分析与设计—状态图和通信图 (34)实验9 面向对象的分析与设计—包图、组件图和部署图 (39)实验10 项目开发计划—Project软件的使用 (43)第1章:传统的结构化分析与设计实验1 分析系统业务流程和绘制系统业务流程图实验目的1、掌握结构化分析方法2、掌握业务流程分析方法和业务流程图的绘制实验内容:任务一绘制系统业务流程图系统流程图是描绘物理系统的传统工具。
是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等等)。
表达的是信息在系统各部件之间流动的情况,而不是对信息进行加工处理的控制过程。
试绘制工资管理系统的系统流程图,根据系统流程图的符号说明仔细理解下图含义:图1-1 工资管理系统系统流程图系统业务流程图的符号:图1-2 基本符号图1-3 系统符号操作步骤:1.运行Microsoft Office Visio 2007图1-4 运行Microsoft Office Visio 2007 2.选择流程图中的基本流程图模板图1-5 选中基本流程图模板3.用鼠标选拉图标进行绘图任务二分析系统业务流程和绘制系统业务流程图案例一:总务办公管理系统系统简介:某单位准备开发一个购买办公用品和设备的总务办公管理系统。
办公用品的购买申请由各科室提出,由负责总务工作的办公室统一收集。
其中,购买申请的金额低于500元(含500元)可以由总务办公室直接审批,而高于500元的购买申请由机构主管领导审批,批准的购买申请形成采购清单由采购员负责购买,同时应记录每次实际购买清单,进行入账。
软件工程课程实验指导书软件工程是随着计算机系统的发展而逐步形成的计算机科学领域中的一门新兴学科。
通过软件工程课程的学习,能够达到正确的安排软件的结构,合理组织、管理软件的生产的教学目的。
教学的实践环节是本课程的重要部分,通过实验例证理解掌握软件工程各阶段的任务和完成后的文档是什么及完成方法。
本课程实验环节安排10学时,主要完成需求分析、模块设计、数据库设计、详细设计和测试分析六个部分。
具体安排如下:课时分配:内容实验一实验二实验三实验四实验五课时 2 2 2 2 2实验一编写系统需求说明书一、实验题目对系统进行需求分析。
并编写系统需求分析说明书。
二、实验目的通过对选定系统进行系统分析和编写需求说明书,掌握系统需求分析的步骤和方法,明确需求说明书内容和格式。
通过对visio2003的熟悉应用,把系统的逻辑模型画出来。
三、预习1、系统的数据描述、功能描述方法;2、需求分析工具(业务流程图、数据流图、数据字典);3、系统需求分析步骤和内容;四、实验设备与环境1、运行和使用visio2003;2、收集整理资料的资料室和虚拟用户或实际用户。
五、实验内容选定系统后,进行系统分析,然后按如下编写提示撰写需求说明书。
1、引言⑴编写目的说明编写软件需求说明的目的,指出预期的读者。
⑵背景说明说明待开发的软件系统的名称;本项目的任务提出者、开发者、用户及实现该软件的计算机中心或网络中心;该软件系统同其他系统或其他机构的基本的相互来往关系。
⑶定义列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
⑷参考资料列出有关的参考资料及资料的来源。
2、任务概述⑴目标叙述该软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。
解释被开发软件与其他有关软件之间的关系。
如果本系统是一项独立的软件,而且全部内容自含,则说明这一点。
如果所定义的系统是一个更大的系统的组成部分,则应说明本系统与该系统中其他各组成部分的关系,用方框图来说明该系统的组成和本系统同其他各个部分的联系和接口。
软件⼯程实验报告-⼗个实验(银⾏系统)软件⼯程实验报告班级:****学号:**********姓名:***实验⼀软件需求分析实验项⽬名称:软件需求分析实验⽬的:1) 根据所选定题⽬进⾏需求分析⼯作;2) 通过实例掌握结构化数据流分析技术;3) 进⾏业务需求分析、⽤户需求、功能需求、⾮功能需求分析;4) 写出需求规格说明书(含数据流图)。
实验内容:⽤结构化数据流分析技术进⾏软件系统需求分析,得出系统得数据流图和数据字典。
实验步骤:1) 到相关单位进⾏需求分析。
2) 综合利⽤Internet ⽹和相关书籍整理并完善需求分析。
3) 画出系统数据流图(分清系统是事务型还是加⼯型)。
4) 得出系统数据字典。
1.软件系统需求描述:(从功能,性能上进⾏描述)(1)功能需求:银⾏系统系统所要完成的主要功能有两⽅⾯:①填写存款单或取款单交给业务员键⼊系统,如果是存款,系统记录存款⼈姓名、住址、存款类型、存款⽇期、利率等信息,完成后由系统打印存款单给储户。
②如果是取款,业务员把取款⾦额输⼊系统并要求储户输⼊密码以确认⾝份,核对密码正确⽆误后系统计算利息并印出利息清单给储户。
(2)性能需求:为了满⾜储户的要求,系统必须要有⾼的运作速度,储户填写的表单输⼊到系统,系统必须能快速及时作出响应,迅速处理各项数据、信息,显⽰出所有必需信息并打印出各项清单,所以要求很⾼的信息量速度和⼤的主存容量;由于要存贮⼤量的数据和信息,也要有⾜够⼤的磁盘容量;另外,银⾏计算机储蓄系统必须有可靠的安全措施,以保证储户的存储安全。
2.软件系统数据流图(由加⼯、数据流、⽂件、源点和终点四种元素组成):1) 顶层数据流打印存单打印清单2) 1层数据流图3) 2层数据流图3.软件系统数据字典:1) 数据流条⽬(1)数据流名:存单(反馈信息)说明:银⾏系统给⽤户每次存款打印的存款资料表单数据流来源:银⾏计算机储蓄系统数据流去向:⽤户数据流组成:存单=存款⼈+存款银⾏+业务员编号+存款⾦额+存款⽇期+⼿续费+帐户余额业务员编号=“01”..“99”存款⽇期=年+⽉+⽇位置:输出到打印机数据量流通量:暂不统计(2)数据流名:取款单说明:记录⽤户每次取款的资料和情况数据流来源:⽤户数据流去向:银⾏计算机储蓄系统数据流组成:取款单=取款⼈+取款银⾏+业务员编号+取款⾦额+取款⽇期业务员编号=“01”..“99”取款⽇期=年+⽉+⽇数据量流通量:暂不统计(3)数据流名:利息清单(或账单)说明:当⽤户取款时,银⾏内库要把利息清单(或账单)给银⾏计算机储蓄系统处理,再把利息清单(或账单)交于⽤户数据流来源:书库数据流去向:事务处理数据流组成:取款信息=取款⼈+取款银⾏+受理业务员+取款⾦额+取款⽇期+⼿续费+帐户余额业务员编号=“01”..“99”取款⽇期=年+⽉+⽇位置:输出到打印机数据量流通量:暂不统计2) 加⼯条⽬a)加⼯名:银⾏计算机储蓄系统加⼯编号:0层简要描述:对⽤户存取款进⾏管理和处理输⼊数据流:存款单、取款单输出数据流:存单、利息清单(或账单)加⼯逻辑:若存取款信息正确且密码正确⽆误则存取款成功,否则提⽰重写或重填。
实验一:基于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中绘制用例图。
软件⼯程实验报告软件⼯程实验报告⼀、实验名称掌握运⽤Rational Rose⼯具及安装⼆、实验⽬的通过安装Rational Rose⼯具,掌握UML的设计⽅法三、实验内容a)建⽴⽤例图use case diagram从⽤例图中我们可以看到系统⼲什么,与谁交互。
⽤例是系统提供的功能,参与者是系统与谁交互,参与者可以是⼈、系统或其他实体。
⼀个系统可以创建⼀个或多个⽤例图。
(1)创建⽤例图在浏览器内的Use Case视图中,双击Main,让新的⽤例图显⽰在框图窗⼝中。
也可以新建⼀个包(右击Use Case视图,选择new→package,并命名),然后右击这个新建包的,选择new→use case diagram。
对系统总的⽤例⼀般画在Use Case视图中的Main⾥,如果⼀个系统可以创建多个⽤例图,则可以⽤包的形式来组织。
(2)创建参与者(图2-1-2)a)在⼯具栏中选择“Actor”,光标的形状变成加号。
b)在⽤例图中要放置参与者符号的地⽅单击⿏标左键,键⼊新参与者的名称,如“客户”。
(3)创建⽤例a)在⼯具栏中选择“Use Case”,光标的形状变成加号。
b)在⽤例图中要放置⽤例符号的地⽅单击⿏标左键,键⼊新⽤例的名称,如“存款”。
(4)记录参与者和⽤例之间的关系a)从⼯具栏中选择关联关系箭头。
b)将光标定位在⽤例图中的参与者上,单击⿏标左键并将光标移动到⽤例符号上,然后释放⿏标左键。
(5)增加泛化关系a)从⼯具栏中选择泛化关系箭头。
b)从⼦⽤例拖向⽗⽤例,也可从⼦参与者拖向⽗参与者。
★练习:画ATM(⾃动柜员机)系统总的⽤例图理解:对于银⾏的客户来说,可以通过ATM机启动⼏个⽤例:存款、取款、查阅结余、付款、转帐和改变PIN(密码)。
银⾏官员也可以启动改变PIN这个⽤例。
参与者可能是⼀个系统,这⾥信⽤系统就是⼀个参与者,因为它是在ATM系统之外的。
箭头从⽤例到参与者表⽰⽤例产⽣⼀些参与者要使⽤的信息。
实验报告课程名称:软件工程导论实验名称:患者监护系统实验地点:逸夫楼402专业班级:软件1510 学号:2015005786 学生:唐国亮指导教师:冬华2017年3月29日患者监护系统项目简介1.系统简介目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察病人的病情变化,还会延误抢救时间。
因此,某医院想开发一个以计算机为中心的患者监护系统。
医院要求该系统能够随时接收病人的生理信号(血压、体温、脉搏、心电图等),监视病员的病症;定时记录病人情况以形成患者日志(定时更新病历);当某个病人的生理信号超出医院的规定的安全围时向值班护士发出警告信息(病员出现异常情况时报警);同时,护士在需要时还可要求系统打印某个病人的病情报告(随机地产生某一病员的病情报告)。
2.技术要求和限制条件(1)当病人的生理信号发生变化时,都应增加相关病人病历库的记录;(2)系统的外部项至少包括:病人、护士。
实验一患者监护系统的需求分析1.任务概述1.1目标:根据接收到的生理信号,帮助医院监控病人的各信息。
1.2运行环境:win10,office 20161.3条件与约束:1.当病人的生理信号发生变化时,都应增加相关病人病历库的记录;2.系统的外部项至少包括:病人,护士。
1.4功能描述:1.接受病人的生理信号。
2.定时更新病历。
3.病员出现异常情况时报警。
4.随机地产生某一病员的病情报告。
2.数据描述2.1输入输出输入项至少包括:病人的生理信号和医院规定的安全数据围输出项至少包括:患者日志和患者的病情报告。
2.2数据流图2.3数据字典(1)数据流条目(c)多层数据流图患者安全范围患者信息=+年龄+性别+科室+床号+编号生理信号=血压+体温+脉搏+心电图警报信息=+年龄+性别+科室+床号+编号+非正常生理数据病情报告=患者+年龄+性别+科室+床号+编号+生理数据超出安全围数据=患者+年龄+性别+科室+床号+编号+正常生理数据(2)数据存储条目文件名:病人信息组成:+年龄+性别+科室+床号+编号组织方式:索引文件,以编号为关键文件名:患者安全围组成:生理名字+正常数据围文件名:患者日志组成:+年龄+性别+科室+床号+编号+病人情况组织方式:索引文件,以编号为关键(3)数据项患者名字:别名:无类型:字符型长度:2{汉字}15编号:别名:无类型:整型长度:5位生理信号:别名:无类型:浮点型长度:6位(4)加工条目加工名:患者监护系统输入:生理信号,安全围输出:患者日志,病情报告加工名:录入储存处理输入:生理信号加工逻辑:接收存储生理信号If 生理信号正常Then 定时更新到患者日志中Else 发出警报加工名:更新日志输入:生理信号输出:日志数据加工逻辑:添加生理信号信息加工名:护士查询输入:患者信息输出:病情报告加工逻辑:If信息正确Then 从患者日志中查询到该病人信息并打印病情报告Else 显示错误3.数据库描述采用SQL数据库,信息放在服务器端数据库中,用户登陆系统,进行相关操作。
《软件工程》实验二、课程实验教学目的与要求教学目的:本课程实验的教学目标在于通过绘制数据流图、实体关系图、用例图、状态图等实验,重点熟悉软件设计中的逻辑模型设计方法及其绘制工具软件,从软件工程角度理解和掌握软件设计开发过程。
教学要求:通过本课程实验的学习,使学生对软件工程的基本概念有明确的认识,掌握数据流图、实体关系图、用例图、状态图等逻辑模型绘制方法,掌握用Microsoft Office Visio完成软件结构化分析方法中相关文档的编制和图表绘制,了解软件开发规范流程。
三、实验项目1.实验项目一熟悉软件工程工具1.实验目的、任务:通过创建、编辑、保存一个简单的Visio图形文件,让学生学习掌握Microsoft Office Visio 的基本用法,掌握使用Microsoft Office Visio绘制业务流程图、数据流图、功能模块图、软件结构图和软件界面的方法。
2.实验基本要求:熟练应用Visio绘制软件开发图形的基本操作。
3.实验内容:打开Microsoft Office Visio,按照给出的业务流程图、数据流图、功能模块图、软件结构图和软件界面,绘制出相同的图形。
2.实验项目二绘制数据流图和实体关系图1.实验目的、任务:能够根据业务描述,分析设计并绘制其数据流图和实体关系图。
2.实验基本要求:基本掌握数据流图和实体关系图的分析设计方法。
3.实验内容:银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员输入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。
要求用数据流图描绘本系统的功能,并用实体关系图描绘系统中的数据对象。
3.实验项目三绘制用例图和状态图1.实验目的、任务:掌握用例图分析方法和绘制方法,掌握状态分析方法和状态图的绘制方法。
武汉轻工大学软件工程实验报告院系:数学和计算机学院班级:软件工程1504姓名:赵佳璐学号:1508100065实验一结构化分析实验1实验目的:通过此实验了解结构化分析的特点和步骤,以及结构化分析所采用的基本图形工具。
2.实验内容:假设你在一所职业高中工作,负责该校信息系统的建设和维护。
财务科长请你研究用学校拥有的pc机生成工资明细表和各种财务报表的可能性。
3.实验要求:1.问题定义:请在这个阶段描述你需要解决的问题。
包括用户面临的问题和预期的项目规模。
最后生成一份问题定义报告书。
2.可行性研究:在这个阶段产生处理工资事务的大致过程,画出高层逻辑模型,并且画出相应的数据流图,建立数据字典。
3.对此系统进行成本效益分析。
4.实验步骤:4.1问题定义报告书1.项目名称:工资支付2.问题描述:该校一直由会计人工计算工资并编制财务报表,随着学校规模扩大工作量也越来越大。
目前每个月都需要两名会计紧张工作半个月才能完成,不仅效率低而且成本高。
今后学校规模将进一步扩大,人工计算工资的成本还会进一步提高。
3.项目目标:1)研究开发费用较低的新工资支付系统的可能性。
4项目规模:1)开发成本应该不超过7.2万元5.初步设想:1)用学校自己的计算机系统生成工资明细表和财务报表6.可行性研究:为了更全面地研究工资支付项目的可能性,建议进行大约历时两周的可行性研究。
这个研究的成本不超过4000元。
4.2可行性研究:1.处理工资事务的大致过程:1)每月月末教师把他们当月实际授课时数登记在课时表上,由各系汇总后交给财务科,职工把他们当月完成承包任务的情况登记在任务表上,汇总后交给财务科。
2)两名会计根据这些原始数据计算每名教职工的工资,编制工资表、工资明细表和财务报表。
然后,把记有每名教职工工资总额的工资表报送银行。
3)由银行把钱打到每名教职工的工资存折上,同时把工资明细表发给每名教职工。
2高层逻辑模型:3.数据流图:4.数据字典:1)名字:授课情况登记表别名:描述:记录每个教师的当月完成的课时及任务。
定义:授课情况登记表=教职工编号+姓名+职务+职称+基本工资+生活补贴+书报费+交通费+洗理费位置:输出到打印机2)名字:教职工编号别名:描述:唯一的标识一个教职工定义:教职工编号=8{字符}8位置:授课情况登记表3)名字:每个人当月的实发工资数别名:描述:记录每个教师当月应发的工资数定义:每个人当月的实发工资数=课时费+岗位津贴-个人所得税-住房公积金-保险费位置:工资明细表4)名字:工资明细表别名:描述:记录每个教职工每个月应得的和应扣除的费用定义:工资明细表=每个人当月的实发工资数+课时费+岗位津贴+个人所得税+住房公积金+保险费位置:输出到打印机4.3成本效益分析:1.低成本系统:解决方案:把每月发一次工资改为每两个月发一次工资,则人工计算工资的成本大约可减少一半,即每年可节省1.2万元。
除了已经进行的可行性研究的费用外,不再需要新的投资。
优缺点:1)违反常规;2)教职工反对;3)不能解决根本问题,随着学校规模扩大,人工处理工资事务的费用也将成比例地增加。
2.中等成本系统:解决方案:1)建议基本上复制现有系统的功能:课时表和任务表交到处理工资事务的专用机房,操作员把这些数据通过终端送入计算机2)数据收集程序接收并校核这些事务数据,把它们存储在磁盘上。
3)然后运行工资支付程序,这个程序从磁盘中读取事务数据,计算工资,打印出工资表、工资明细表和财务报表。
优缺点:1)效率介于高成本系统与低成本系统之间,开发成本也是如此。
2)仍然需要专门人员来操作管理系统,每年仍要在这方面耗费人力,资力。
从长久利益来看,效益不佳。
3.高成本系统:1)建立一个中央数据库,为开发完整的管理信息系统做好准备,并且把工资支付系统作为该系统的第一个子系统。
2)这样做开发成本大约将增加到12万元,然而从工资支付这项应用中获得的经济效益并不变。
最佳方案::实验二结构化设计实验1.实验目的:能够通过结构化分析的结构进行设计,了解设计过程中的模块化原理。
2.实验内容:在上一次实验已经用结构化分析方法详细地分析了这个工资支付系统,请从结构化分析所得到的结果(完整数据流图),判断为事务流或是变换流,采用模块化的方法,设计工资支付系统的结构。
最终生成一个工资支付软件结构。
3.实验要求:写出设计过程、画出工资支付软件结构,用层次图表现4.实验步骤:4.1设计过程:1.供选择的方案1)低成本系统:把每月发一次工资改为每两个月发一次工资,则人工计算工资的成本大约可减少一半,即每年可节省1.2万元。
除了已经进行的可行性研究的费用外,不再需要新的投资。
2)中成本系统:i.建议基本上复制现有系统的功能:课时表和任务表交到处理工资事务的专用机房,操作员把这些数据通过终端送入计算机ii.数据收集程序接收并校核这些事务数据,把它们存储在磁盘上。
iii.然后运行工资支付程序,这个程序从磁盘中读取事务数据,计算工资,打印出工资表、工资明细表和财务报表。
3)高成本系统:建立一个中央数据库,为开发完整的管理信息系统做好准备,并且把工资支付系统作为该系统的第一个子系统。
2.最佳方案低成本系统存在的问题:4)违反常规;5)教职工反对;6)不能解决根本问题,随着学校规模扩大,人工处理工资事务的费用也将成比例地增加。
高成本系统:开发成本大约将增加到12万元,然而从工资支付这项应用中获得的经济效益并不变。
所以,中等成本系统是最佳方案,成本居于高成本与低成本之间,而效益不次于高成本系统。
3.功能分解1)取数据a)收集事务数据b)审核事务数据2)计算工资a)计算正常工资b)计算超额工资c)更新年度报表3)打印表格4.2工资支付软件结构:实验三软件测试实验(2学时)一、实验目的:了解软件测试的基本概念,以及黑盒、白盒测试的基本过程。
二、实验内容:1.设计测试下列函数的测试方案:函数Search(somearray,size,value)的功能是,在一个整数数组somearray 中搜索一个值为value的整数,如果数组中有这个数,则函数值等于该数的下标,否则函数值等于-1。
数组的长度由参数size指定。
假定数组第一个元素的下标为1。
三、实验要求1.采用黑盒测试的方法,写出相应的测试用例2.用c语言实现此函数,并且由此设计白盒测试方案(选做)。
四、实验步骤:1.采用黑盒测试的方法,写出相应的测试用例(假定数组中的值为:5,8,-56,235,-65,449)1)等价划分:a)有效输入的等价类:●一个正整数输入:10预期的输出:-1●一个负整数输入:-56预期的输出:3b)无效输入的等价类:●一个非数字符号输入:S输出:错误——无效输入●一个浮点型数字输入:23.1预期的输入:错误——无效的输入●若干个空格输入:‘’预期的输出:错误——无效的输入●空输入输入:预期的输出:错误——没有输入●数字和非数字符号的组合输入:5#预期的输出:错误——无效的输入●负号与最高位数字之间有空格输入:- 56预期的输出:错误——无效的输入c)合法输入的等价类:●在计算机能表示的最小负整数和零之间的负整数。
输入:-10000预期的输出:-1●零输入:0预期的输出:-1●在零和计算机能表示的最大整数之间的正整数输入:10000预期的输出:-1d)非法输入的等价类:●比计算机能表示的最大正整数还大的正整数。
输入:132767预期的输出:错误——无效的输入●比计算机能表示的最小负整数还小的负整数。
输入:-47561预期的输出:错误——无效的输入2)边界值分析:●使输出刚好等于最小的下标输入:5预期的输出:1●使输出刚好等于最大的下标输入:449预期的输出:6●使输出不是数组的下标(这里为-1)输入:500预期的输出:-12.用c语言实现此函数,并且由此设计白盒测试方案(选做)。
#include<stdio.h>intSearch(intsomearray[],intsize,int value){for(inti=1;i<=size;i++){if(sonearray[i]==value)return i;}return -1;}void main(){int size=6;int value;int array[size]={5,8,-56,235,-65,449};do{printf(“请输入一个整数:”);scanf(“%d”,&value);}while(int(value)!=value);if(int(value)==value)Search(array,size+1,value);}1)语句覆盖:value=8,覆盖路径:abcdefgifghj 2)判定覆盖:Value=8.,覆盖路径:abcdefgifghj Value=8.5,覆盖路径:abckb Value=10,覆盖路径:abcdefgifk实验四面向对象分析(2学时)实验目的:通过采用面向对象的方法对问题进行分析,建立系统的对象模型和功能模型。
动态模型为选作内容。
实验内容:某医生开了一家牙科诊所。
他有一个牙科助手、一个牙科保健员和一个接待员。
医生需要一个软件系统来管理预约。
当病人打电话预约时,接待员将查阅预约登记表,如果病人申请的就诊时间与已定下的预约时间冲突,则接待员建议一个就诊时间以安排病人尽早得到诊治。
如果病人同意建议的就诊时间,接待员将输入约定时间和病人的名字。
系统将核实病人的名字并提供纪录的病人数据,数据包括病人的病历号等。
在每次治疗或清洗后,助手或保健员将标记相应的预约诊治已经完成,如果有必要,安排病人下一次再来。
系统能够按病人姓名和日期进行查询,能够显示记录的病人数据和预约信息。
接待员可以取消预约,可以打印出前两天预约尚未接诊的病人清单。
系统可以从病人记录中获知病人的电话号码。
接待员还可以打印出关于所有病人的每天和每周的工作安排。
实验要求:1.建立牙科诊所管理系统的对象模型2.用数据流图建立牙科诊所管理系统的功能模型。
3.写出牙科诊所管理系统的脚本(选作)。
4.画出牙科诊所管理系统状态图(选作)。
实验步骤:1.建立牙科诊所管理系统的对象模型2.用数据流图建立牙科诊所管理系统的功能模型。
3.写出牙科诊所管理系统的脚本(选作)。
4.画出牙科诊所管理系统状态图(选作)。
预约管理系统的正常情况脚本●系统请接待员输入病人预约信息●系统查询该病人是否已预约过●如果预约过,且时间冲突,提示接待员建议一个合适的时间●[病人接受建议的时间]or如果没有预约过,系统提示会诊时间●病人会诊中,系统记录相关病人数据●会诊完毕,系统更改预约信息中预约诊治是否完成信息●系统增加新的预约登记表预约管理系统的异常情况脚本●系统请接待员输入病人预约信息●系统查询该病人是否已预约过●如果预约过,且时间冲突,提示接待员建议一个合适的时间●如果病人接受建议的时间,系统审核输入信息正确与否●输入病人信息有误,提示重新输入●系统审核输入信息正确与否●[输入信息正确]or如果没有预约过,系统提示会诊时间●病人会诊中,系统记录相关病人数据●会诊完毕,系统更改预约信息中预约诊治是否完成信息●系统增加新的预约登记表。