软件工程实验(四个实验)
软件工程实验报告
实验报告(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系统之外的。
箭头从⽤例到参与者表⽰⽤例产⽣⼀些参与者要使⽤的信息。
软件工程实验报告
连接图形元素.
③使用“数据流”连接线将“接口”、“进程”和“数据存储”等形状互相连接起来。
逻辑连接:将数据流起点、终点拖拽到进程或接口中央位置,进程或接口被红色框包围时松开鼠标,这时可看到数据流符号相应端点为红色方框。拖动进程或接口,可看到流据流的端点随着进程或接口的移动而移动.
教师批阅:分数/等级:
评语:
教师签名(手写):
批阅日期:年月日
第三次实验实验项目名称:数据库设计-ER图
时间:年月日
实验环境及原理说明:
(一)实验环境
1.硬件环境P4以上的个人计算机环境,要求内存不少于512MB,硬盘不小于20G.。
2.软件环境操作系统:Windows XP
3。数据库: Sql Server 2000以上 或 Access 2003以上
1.静态模型图
①将类、对象形状拖到绘图页上,代表要在类静态结构图或概念模型中包
含的类或对象.
②双击每个形状,打开其“UML属性”对话框,可以在其中添加特性、操作和其他属性。
③右击每个类或对象形状,单击“形状显示选项",选择要在形状上显示的属性以及要隐藏的形状部分(如特性、操作和模板参数)
④使用“关联”、“链接"、“依赖关系"、“泛化"或“复合”形状,指示类和对象之间的关系.
第一次实验实验项目名称:熟悉Visio
时间:年月日
实验环境及原理说明:
(一)实验环境
1.硬件环境P4以上的个人计算机环境,要求内存不少于512MB,硬盘不小于20G.。
2。软件环境操作系统:Windows XP
3。数据库: Sql Server 2000以上 或 Access 2003以上
软件工程实验报告总结
4
4
4
等边三角形
条件2“真”条件3“真”
4
3
4
5
直角三角形
条件3“假”
条件4“真”
5
2
4
5
一般三角形
条件4“假”
(3)条件覆盖
对于第一个判断:条件0<a<200取真为T1,取假为F1;
条件0<b<200取真为T2,取假为F2;
条件0<c<200取真为T3,取假为F3;
对于第二个判断:条件a<b+c取真为T4,取假为F4;
总结 :经过一学期的软工实验,深刻感到其重要性的同时也学到了不少的东西 ,将对我在今后的软件开发过程中起极大的作用。
篇二
实验一软件工程标准化文档
一、实验目的
1.了解国家标准GB/T8567-2006
2.熟悉软件产品开发文件的基本内容
二、实验内容
1.搜索和下载国家标准GB/T8567-2006。
2.通过阅读国家标准GB/T8567-2006,将以下文字填写完整:
软件工程实验报告总结(3篇)
经过这学期软件工程实验的学习,深深感到用户需求对软件的重要性。成功的软件产品是建立在成功的需求基础之上的,而高质量的需求来源于用户与开发人员之间有效的沟通与合作。当用户有一个问题可以用计算机系统来解决,而开发人员开始帮助用户解决这个问题,沟通就开始了。
需求获取可能是最困难、最关键、最易出错及最需要沟通交流的活动。对需求的获取往往有错误的认识:用户知道需求是什么,我们所要做的就是和他们交谈从他们那里得到需求,只要问用户系统的目标特征,什么是要完成的,什么样的系统能适合商业需要就可以了,但是实际上需求获取并不是想象的这样简单,这条沟通之路布满了荆棘。首先需求获取要定义问题范围,系统的边界往往是很难明确的,用户不了解技术实现的细节,这样造成了系统目标的混淆。
软件工程实验报告
实验报告课程名称:软件工程导论实验名称:患者监护系统实验地点:逸夫楼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.实验目的、任务:掌握用例图分析方法和绘制方法,掌握状态分析方法和状态图的绘制方法。
软件工程 实验四
软件工程实验四软件工程实验四实验目的本次实验旨在加深学生对软件工程的理解,通过实践的方式巩固和应用所学的软件工程知识,加强对软件开发过程的掌握,并学习使用项目管理工具和版本控制工具。
实验过程1. 创建项目首先,我们需要创建一个新的软件项目。
在本次实验中,我们将创建一个简单的待办事项管理系统。
2. 需求分析在开始开发之前,我们需要进行需求分析,明确系统的功能和特性。
根据实验要求,我们的待办事项管理系统应该具备以下功能:- 用户可以添加待办事项- 用户可以查看待办事项列表- 用户可以更新待办事项的状态(进行中/已完成)- 用户可以删除待办事项3. 设计系统架构在进行具体开发之前,我们需要设计系统的架构。
首先,我们决定使用Web技术来实现我们的系统,并选择使用MVC架构模式。
- 模型(Model):负责数据的存储和处理- 视图(View):负责用户界面的展示和与用户的交互- 控制器(Controller):负责接收用户的请求,并调用模型和视图进行处理4. 编码实现根据需求分析和系统设计,我们可以开始进行编码实现了。
首先,我们创建一个`Todo`模型,用于表示待办事项的数据结构。
然后,我们创建一个`TodoController`控制器,用于接收用户的请求并调用相应的模型方法进行处理。
最后,我们创建一个`TodoView`视图,用于展示待办事项列表并与用户进行交互。
5. 软件测试在完成编码实现之后,我们需要进行软件测试,确保系统的功能和特性都能正常工作。
我们可以编写一些测试用例,并使用自动化测试工具来运行这些测试用例。
如果测试通过,则说明系统的功能正常;如果测试失败,则需要进行修复和优化。
6. 版本控制为了方便团队协作和代码管理,我们可以使用版本控制工具来管理我们的代码。
常见的版本控制工具包括Git和SVN等。
我们可以根据需要选择合适的版本控制工具,并进行代码的提交、更新和协作开发。
实验总结通过本次实验,我进一步了解了软件工程的概念和方法,学会了使用项目管理工具和版本控制工具。
软件工程实验报告
软件工程实验报告学号:姓名:专业:年月实验一:白盒测试一、实验目的巩固白盒测试知识,对于给定的待测程序,能熟练应用基本控制流覆盖方法设计测试用例;能够执行白盒测试过程,并撰写白盒测试分析报告。
二、实验内容白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试,一般用来分析程序的内部结构。
测试规划基于产品内部结构进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分使用,则这种测试方法称为白盒测试方法。
白盒测试将被测程序看做一个打开的盒子,测试者能够看到被测源程序,可以分析被测程序的内部结构,此时测试的焦点集中在根据其内部结构设计测试用例。
白盒测试要求是对某些程序的结构特性做到一定程度的覆盖,或者说这种测试是“基于覆盖率的测试”。
测试内容包括语句覆盖测试、分支覆盖测试、条件覆盖测试、分支/条件覆盖测试、条件组合覆盖测试和基本路径测试。
三、程序代码要求:实现对不少于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)语句覆盖测试测试结果:①②测试结果分析:输入元素时需要输入的元素个数大于最初输入的元素个数。
软件工程实验(四个实验)
武汉轻工大学软件工程实验报告院系:数学和计算机学院班级:软件工程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)名字:授课情况登记表别名:描述:记录每个教师的当月完成的课时及任务。
软件工程 实验四
软件工程实验四软件工程实验四1. 实验介绍本实验是软件工程课程的实验四,主要内容是实践软件开发过程中的需求分析和系统设计的相关知识。
通过本实验,可以加深对软件开发过程中需求分析和系统设计的理解,提高实际项目开发的能力。
2. 实验目的本实验的主要目的是通过完成一个简单的软件开发项目,熟悉软件开发过程中的需求分析和系统设计的流程,并掌握相关的工具和技术。
具体目标包括:- 理解需求分析和系统设计的重要性和流程;- 掌握需求分析的方法和技巧;- 掌握系统设计的方法和技巧;- 使用工具辅助进行需求分析和系统设计。
3. 实验内容本实验的内容主要分为需求分析和系统设计两个部分。
3.1 需求分析需求分析是软件开发过程的第一步,通过对用户需求的调研和分析,确定软件系统的功能和性能要求。
需求分析的主要任务包括:- 收集用户需求;- 需求分析和建模;- 确定需求的优先级。
3.2 系统设计系统设计是软件开发过程的第二步,根据需求分析的结果,设计出满足需求的软件系统的架构和设计方案。
系统设计的主要任务包括:- 设计系统的模块和组件;- 确定模块之间的接口;- 实现系统的数据结构和算法。
4. 实验步骤本实验的实验步骤如下:4.1 需求分析1. 收集用户需求,与项目相关的各方进行沟通,了解他们的需求和期望;2. 对需求进行分析和建模,将需求转化为易于理解和实现的形式,如用例图、用例描述等;3. 确定需求的优先级,将需求按优先级进行排序,以便后续的系统设计和开发工作。
4.2 系统设计1. 设计系统的模块和组件,根据需求分析的结果,确定系统的各个功能模块和组件,包括模块之间的依赖关系;2. 确定模块之间的接口,定义模块之间通信的规范和方式;3. 实现系统的数据结构和算法,根据系统的需求和设计,设计和实现适合的数据结构和算法,以满足系统的功能和性能要求。
5. 实验总结通过本实验,我深入了解了软件开发过程中的需求分析和系统设计的重要性和流程。
《软件工程学实验》课件
迭代模型
总结词
适用于需求变化较大的项目
详细描述
迭代模型适合于需求变化较大的项目,因为 它允许在开发过程中不断调整和优化。在迭 代模型中,每个迭代周期都包括需求分析阶 段,以便及时响应变更和调整项目方向。通 过不断迭代,可以逐步完善软件产品,并最
终满足用户需求。
迭代模型
要点一
总结词
需要良好的项目管理能力和团队协作
04
软件开发工具和技术
版本控制工具
01
版本控制工具用于管理软件 代码的变更,确保多人协同 开发时代码的正确性和一致
性。
02
常用的版本控制工具包括Git 和SVN,它们支持分支管理 、代码合并和冲突解决等功
能。
03
使用版本控制工具可以方便 地回溯代码历史、查看代码 变更记录以及快速恢复到特
定版本。
设计用户界面,包括菜单、窗口、控件 等。
数据库设计
设计数据库结构,创建数据表、视图和 索引等。
设计评审
对设计进行评审,确保设计的合理性和 可实现性。
编码
选择编程语言
根据项目需求和团队技术栈选择合 适的编程语言。
编码规范
制定编码规范,确保代码风格一致 、可读性强。
代码编写
按照设计要求编写代码,实现软件 功能。
02
软件开发生命周期
需求分析
01
需求调研
通过与用户沟通,了解软件需 求,确定软件目标。
02
需求规格说明书
编写详细的需求规格说明书, 明确软件功能、性能和界面要
求。
03
需求评审
对需求规格说明书进行评审, 确保需求准确、完整。
设计
架构设计
设计软件系统架构,确定系统结构、模 块划分和接口定义。
软件工程导论实验报告
软件工程导论实验报告软件工程导论实验报告导论软件工程是一门涉及软件开发、测试和维护的学科,它的目标是提高软件开发的效率和质量。
为了更好地理解软件工程的概念和实践,我们进行了一系列的实验。
本报告将介绍我们在软件工程导论实验中所学到的知识和经验。
实验一:需求分析在软件开发过程中,需求分析是至关重要的一步。
我们的第一个实验是对一个虚拟的在线购物系统进行需求分析。
通过与团队成员的合作,我们学习了如何收集用户需求、分析需求的重要性和优先级,并将其转化为软件功能和特性。
实验二:软件设计软件设计是软件工程的核心环节之一。
在第二个实验中,我们学习了不同的软件设计模式和架构,如MVC(Model-View-Controller)和微服务架构。
通过实际操作,我们掌握了如何将需求转化为软件设计图,并理解了设计决策对软件开发的影响。
实验三:编码与测试编码和测试是软件开发的具体实施阶段。
在第三个实验中,我们使用了常见的编程语言和开发工具,如Java和Eclipse,来实现我们的软件设计。
同时,我们还学习了测试的重要性,并使用JUnit等测试框架进行单元测试和集成测试。
实验四:软件项目管理软件项目管理是确保软件开发项目按时、按质量完成的关键。
在第四个实验中,我们学习了项目管理的基本原理和方法,如项目计划、进度跟踪和风险管理。
通过实践,我们意识到合理的项目管理可以极大地提高团队的工作效率和项目的成功率。
实验五:软件质量保证软件质量保证是确保软件产品符合用户需求和质量标准的重要环节。
在最后一个实验中,我们学习了软件测试的不同方法和技术,如黑盒测试和白盒测试。
我们还了解了软件质量标准和认证,如ISO 9001和CMMI。
总结通过这一系列的实验,我们深入了解了软件工程的各个方面。
我们学会了如何分析用户需求、设计软件系统、实施编码和测试,并掌握了软件项目管理和质量保证的方法。
这些实验不仅提高了我们的理论知识,也培养了我们的团队合作和问题解决能力。
软件工程实验报告
软件工程实验报告软件工程实验报告班级学号姓名指导老师目录实验一结构化需求分析 ..................................................................... . (1)实验二结构化软件设计...................................................................... .. (4)实验三面向对象的软件分析 (7)实验四软件编码与测试...................................................................... .. (11)目录实验一结构化需求分析一(实验目的(1)掌握数据流的分析技术(2)掌握软件需求分析的过程和方法。
(3)熟悉项目开发计划和需求规格说明书的制定方法。
二(实验题目目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。
某医院打算开发一个以计算机为中心的患者监护系统。
医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志。
当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统打印出某个指定病人的病情报告。
三(实验内容和要求(1)用结构化数据流分析技术进行软件系统需求分析,得出系统的数据流图和数据字典。
(2)正确运用图表工具进行表示。
四(需求规格说明书1患者监护系统需求规格说明书1.项目背景:开发软件名称:患者监护系统。
用户:某医院。
项目与其他软件,系统的关系:本项目采用客户机/服务器原理,客户端的程序是建立在Windows NT 系统上以Microsoft Visual C#为开发软件的应用程序,服务器端采用Linux 为操作系统的工作站,是采用MySQL 5的为开发软件的数据库服务程序。
软件工程实验指导书
《实用软件工程方法》实验指导书目录第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元的购买申请由机构主管领导审批,批准的购买申请形成采购清单由采购员负责购买,同时应记录每次实际购买清单,进行入账。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
武汉轻工大学软件工程实验报告院系:数学与计算机学院班级:软件工程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>int Search(int somearray[],int size,intvalue){for(int i=1;i<=size;i++){if(sonearray[i]==value)return i;}return-1;}void main(){intsize=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,覆盖路径:abcdefgifghj2)判定覆盖:Value=8、,覆盖路径:abcdefgifghjValue=8、5,覆盖路径:abckbValue=10,覆盖路径:abcdefgifk实验四面向对象分析(2学时)实验目得:通过采用面向对象得方法对问题进行分析,建立系统得对象模型与功能模型。
动态模型为选作内容。
实验内容:某医生开了一家牙科诊所。
她有一个牙科助手、一个牙科保健员与一个接待员。
医生需要一个软件系统来管理预约。
当病人打电话预约时,接待员将查阅预约登记表,如果病人申请得就诊时间与已定下得预约时间冲突,则接待员建议一个就诊时间以安排病人尽早得到诊治。
如果病人同意建议得就诊时间,接待员将输入约定时间与病人得名字。
系统将核实病人得名字并提供纪录得病人数据,数据包括病人得病历号等。
在每次治疗或清洗后,助手或保健员将标记相应得预约诊治已经完成,如果有必要,安排病人下一次再来。
系统能够按病人姓名与日期进行查询,能够显示记录得病人数据与预约信息。
接待员可以取消预约,可以打印出前两天预约尚未接诊得病人清单。
系统可以从病人记录中获知病人得电话号码。
接待员还可以打印出关于所有病人得每天与每周得工作安排。
实验要求:1.建立牙科诊所管理系统得对象模型2.用数据流图建立牙科诊所管理系统得功能模型。
3.写出牙科诊所管理系统得脚本(选作)。
4.画出牙科诊所管理系统状态图(选作)。
实验步骤:1.建立牙科诊所管理系统得对象模型2.用数据流图建立牙科诊所管理系统得功能模型。
3.写出牙科诊所管理系统得脚本(选作)。
4.画出牙科诊所管理系统状态图(选作)。
预约管理系统得正常情况脚本●系统请接待员输入病人预约信息●系统查询该病人就是否已预约过●如果预约过,且时间冲突,提示接待员建议一个合适得时间●[病人接受建议得时间]or如果没有预约过,系统提示会诊时间●病人会诊中,系统记录相关病人数据●会诊完毕,系统更改预约信息中预约诊治就是否完成信息●系统增加新得预约登记表预约管理系统得异常情况脚本●系统请接待员输入病人预约信息●系统查询该病人就是否已预约过●如果预约过,且时间冲突,提示接待员建议一个合适得时间●如果病人接受建议得时间,系统审核输入信息正确与否●输入病人信息有误,提示重新输入●系统审核输入信息正确与否●[输入信息正确]or如果没有预约过,系统提示会诊时间●病人会诊中,系统记录相关病人数据●会诊完毕,系统更改预约信息中预约诊治就是否完成信息●系统增加新得预约登记表。