软件工程s.docx

上传人:b****6 文档编号:4300635 上传时间:2022-11-29 格式:DOCX 页数:23 大小:292.94KB
下载 相关 举报
软件工程s.docx_第1页
第1页 / 共23页
软件工程s.docx_第2页
第2页 / 共23页
软件工程s.docx_第3页
第3页 / 共23页
软件工程s.docx_第4页
第4页 / 共23页
软件工程s.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

软件工程s.docx

《软件工程s.docx》由会员分享,可在线阅读,更多相关《软件工程s.docx(23页珍藏版)》请在冰豆网上搜索。

软件工程s.docx

软件工程s

 

 

 

 

计算机科学系实验报告

 

课程名称:

计算机软件工程

年级:

09级

专业:

计算机科学与技术

姓名:

韩逸玮

学号:

091101401034

 

2011-2012学年第二学期

实验目录

序号

实验名称

页码

实验时间

成绩

指导教师

1

实验一

工具软件VISIO的使用

2012年3月8日

2

实验二

绘制系统数据流图

2012年3月22日

3

实验三

绘制系统结构图

2012年4月5日

4

实验四

绘制用例图

2012年4月19日

5

实验五

建立系统的用例模型

6

实验六

黑盒测试用例设计

7

实验七

白盒测试方法实验

8

实验八

绘制GANNT图

总成绩:

 

实验一工具软件VISIO的使用

1、实验目的:

熟悉工具软件VISIO工具软件的使用,掌握程序流程图的画法

2、实验内容:

设计一个简单的程序流程图,利用VISIO软件画出这个程序流程图。

3、软件和硬件环境:

VISIO工具软件、LENOVOPC

4、实验结果:

1)简单说明设计和分析的方法

求有N个元素的一维数组A(I)中的最大值MAX的编程思路:

定义整型变量N、I,定义数组A(N),定义最大值MAX.

MAX和I的初始值0;

程序执行循环语句,循环条件为(0<=I

在程序循环体中,执法选择语句,如果MAX

在程序循环体中,选择语句结束后,执行赋值语句I=I+1,如果I

流程图画法:

1.流程图中的程序语言用的是C#。

2.流程图中所用到图形符号的意思

1)矩形:

表示各种处理功能.例如,执行一个或一组特定的操作。

2)菱形判断框:

表示判断选择,菱形框内可注明判断的条件,它只有一个入口,但可以有若干个出口,(出口直线上面标明条件)。

3)直线:

表示控制流的流线.,流线上的箭头表示流向。

3.利用VISIO软件的画图方法或VISIO软件的画流程图模板,根据要求画出相应的程序流程图。

学生在画流程图的过程中,掌握VISIO软件画图流程图的基本方法。

2)给出实验结果

5、实验结果分析:

1,在画流程图时候首先要对visio熟悉

2,熟悉流程图各个的表示符号和含义

3,安装流程进行流程图的绘画

实验二绘制系统数据流图

1、实验目的:

1掌握结构化分析的

2掌握利用VISIO软件画DFD图的方法

2、实验内容:

贵阳学院学生成绩管理系统的功能描述如下:

1、学生可以查询自己的成绩

2、教师负责学生成绩的登记,并可以查询和统计有关学生成绩的

各种数据。

3、如果学生成绩需要修改,必须由教务处的教务管理员修改。

3、软件和硬件环境:

VISIO工具软件、联想pc

4、实验结果:

简单说明设计和分析的方法

1.数据流图的符号:

正方形(矩形):

数据流的源点或终点

椭圆:

加工或处理

双杆:

数据存储

带箭头的线段:

数据流及流动方向

2.利用VISIO软件的画图方法或绘制数据流图的模板,根据要求画出相应的数据流图。

2)给出实验结果

5、实验结果分析:

1) 适当地为数据流、加工、数据存储、外部实体命名,名字应该反应该成分的实际含义,避免空洞的名字。

2) 画数据流而不画控制流

3) 一个加工的输出数据流不应与输入数据流同名,即使他们的组成成分相同。

4) 允许一个加工有多条数据流流向另外一个加工,也允许一个加工有两个相同的输出数据流流向另外两个不同的加工。

5) 保持父图和子图平衡。

也就是说,父图中某加工的输入、输出必须与它的子图的输入、输出数据流在数量和名字上相同。

值得注意的是,如果父图的一个输入(或输出)数据流对应于子图中几个输入或输出数据流,而子图中组成这些数据流的数据项全体正好是父图中的这一个数据流,那么它们仍然算是平衡的。

6) 在自顶向下的分解过程中,若一个数据存储首次出现时只与一个加工有关,那么这个数据存储应作为这个加工的内部文件而不必画出。

7) 保持数据守恒。

也就是说,一个加工所有输出数据必须能从该加工的输入数据流中直接获得,或者是通过该加工能产生的数据。

8) 每隔加工必须既有输入数据流也有输出数据流。

9) 在整套数据流图中,每隔数据存储必须既又读的数据流,又有写的数据流。

但在某一张子图中可能只有读没有写,或者只有写没有读。

 

实验三绘制系统结构图

1、实验目的:

1、掌握DFD转换为SC图的方法

2、掌握SC图的画法

2、实验内容:

根据实验二中所画的DFD图,画出请画出贵阳学院学生成绩管理系统的SC图。

3、软件和硬件环境:

Visio和联想pc

4、实验结果:

简单说明设计和分析的方法

系统的SC图是根据系统的SC图得来的,从SA获得的DFD中,所有系统可归结为变换型结构和事务型结构两种类型。

为了有效地实现从DFD图到SC图的映射,结构化设计规定了下列4个步骤:

①复审DFD图,必要时可再次进行修改或细化。

②鉴别DFD图所表示的软件系统的结构特征,确定它所代表的软件结构是属于变换型还是事务型。

③按照SD方法规定的一组规则,把DFD图映射为初始图。

④按照优化设计的指导原则改进初始SC图,获得最终SC

1)

给出实验结果

5、实验结果分析:

结构图是准确表达程序结构的图形表示方法,它能清楚地反映出程序中各模块间的层次关系和联系。

与数据流图反映数据流的情况不同,结构图反映的是程序中控制流的情况。

结构图着重反映的是模块间的隶属关系,即模块间的调用关系和层次关系

 

实验四绘制用例图

1、实验目的:

掌握用例图的画法

2、实验内容:

根据实验二中的要求,画出学生成绩管理系统的用例图

3、软件和硬件环境:

Visio工具软件联想pc

4、实验结果:

1)简单说明设计和分析的方法

用例图表示从用户的角度,看到系统应有的功能。

在UML语言中,用例图是用来描述系统功能的视图。

其组成符号如下:

系统(System)指的是软件系统,它可以包含一些用例,并界定系统的边界,边界之内的属于系统的功能和行为,边界之外的则不是系统所关心的内容。

用例(Usecase)指的是系统的功能,它是系统某个功能的所有执行动作的集合。

参与者(Actor)是与系统中的用例交互的一些实体,在实际情况中,参与者可以是人,也可以是其他系统或者硬件设备。

参与者称也为角色或执行者。

关联(Assocation)是参与者与用例的连接,表达此参与者可以使用此用例。

画用例图的步骤:

1.确定参与者

2.确定用例

3..绘制用例图

4、用例图的调整

给出实验结果

 

5、实验结果分析:

(1)关联关系

(2)泛化关系(3)包含关系(4)扩展关系

这三种关系的具体含义可以在UML基本概念中定义。

注:

(3)包含关系指两个用例之间的关系,其中的一个用例的行为包含另一个用例的行为。

(4)扩展关系包含设计者自定义的关系。

关系类型说明表示符号

关联参与者与用例的关系

泛化参与者之间或者用例之间的关系

包含用例之间的关系<>

扩展用例之间的关系<>

绘制用例图注意事项:

(1)创建合适大小粒度的用例,在创建用例图时要注意用例的颗粒大小,不能使用太多的用例使得理解上产生困难,对于一个中小型系统商业10~20个用例是合适的。

(2)用例的描述才是用例的主要部分,它是用文字序列来进行详细的描述,一般在rose图建模中使用注释来注明用例的文字描述。

 

实验五建立系统的用例模型

1、实验目的:

掌握用例模型的规范要求

2、实验内容:

根据实验四中画出的用例图,为贵阳学院学生成绩管理系统编写用例规约、补充规约和术语表。

3、软件和硬件环境:

Visio工具软件联想pc

4、实验结果:

简单说明设计和分析的方法

用例规约、补充规约和术语表是用例建模的文档,在软件工程中有严格的书写格式和要求。

给出实验结果

1.教师管理

1.1简要说明

本用例用于教师对学生成绩进行查询、录入、统计。

教师必须先登录贵阳学院学生成绩管理系统,才能对学生的成绩做出相应的操作。

操作完成后,系统将会做相应的保存。

1.2事件流

1.2.1基本事件流

当教师登录系统后,开始执行以下基本事件流:

1系统要求教师指出要执行的操作(查询成绩、录入成绩或统计成绩)。

2一旦教师提供了所需要的信息,以下的一个子事件流将被执行:

如果选择的是“查询成绩”,查询成绩子事件流被执行。

如果选择的是“录入成绩”,成绩录入子事件流被执行。

如果选择的是“统计成绩”,统计成绩子事件流被执行。

1.2.1.1查询成绩

1系统将教师所教学生姓名表及所教课程的数据表显示给教师。

2教师查询相关学生的相关科目的成绩。

3执行提交查询成绩子事件流。

1.2.1.2录入成绩

1系统将教师所教学生姓名表及所教课程的数据表显示给教师。

2教师录入相关学生的相关科目成绩。

3执行提交录入成绩子事件流。

1.2.1.3统计成绩

1系统将教师所教学生姓名表及所教课程的数据表显示给教师。

2教师对学生的成绩进行相应的统计(计算平均成绩、统计不及格成绩、按分数段统计成绩)。

3执行提交统计成绩的子事件流。

1.2.1.4提交教师操作结果

教师的查询成绩、录入成绩、统计成绩操作无误,则系统保存教师录入的成绩,并将各个操作的有效结果返回给教师。

1.2.2备选事件流

1.2.2.1登陆系统验证

如果系统检测到教师输入的用户验证信息有误,则提示输入的账号或密码有误,请重新输入。

1.2.2.2检索教师的信息

登陆系统的教师没有相关的学生和课程,则系统提示该教师不能对学生成绩管理系统进行操作。

1.2.2.3检索学生的成绩信息

如果学生的成绩表里没有成绩记录,则教师不能进行成绩查询的操作。

1.2.2.4检索教师的录入成绩

若教师的录入成绩不符合成绩录入的规定,则系统提示录入有误。

1.2.2.5检索教师统计成绩

若学生成绩表中没有成绩,则系统提示请先录入成绩在进行统计。

1.3特殊需求

无。

1.4前置条件

教师必须先登录系统,然后才能进入本用例。

1.5后置条件

如果本用例成功,学生成绩在系统数据库中信息将被修改。

否则,系统维持原状。

1.6扩展点

无。

 

5、实验结果分析:

 什么样的用例模型是正确有效的呢?

很多人在用用例模型描述软件需求的时候都会有这样的困惑,下面就来阐述一下比较常见的问题。

1、角色不仅仅指的是人首先,要强调的是角色不仅仅指的是人,任何需要和软件交互的其他系统和设备都是系统的角色比如,一个软件系统需要从其他遗留系统中获取数据,那这个遗留系统就是这个软件系统的角色;再比如,软件系统运行过程中,时钟会在某个时刻产生提示或警报,那这个时钟也是一个角色。

二、用例的粒度用例的粒度应该是一个功能模块吗?

不是,功能模块在用例模型里面用包来表示。

用例是一个产生可见的有价值的结果的最小功能。

也就是说,用例不可以是一个功能碎片,例如,输入用户名,显然不能成为一个用例,因为它并没有产生任何有价值的结果,而验证用户身份,则属于一个用例,因为它的结果就是用户身份正确或不正确。

对于粒度的最多的讨论可以说是“四轮马车”问题了。

就是一个功能的添加、修改、查询,和删除是否都需要单独用一个用例来表示。

其实这个问题可以灵活处理,根据软件的复杂情况来决定,如果你有太多的更重要的需求需要来描述,就没有必要就这些细节关注太多,如果你只需要关注某个用例,而且也有详细描述的必要的话,描述出来当然也没有问题。

通常情况下,可以用扩展点的方式描述查询和修改的关系。

三、用例描述

复杂的用例需要单独用一个文件来描述,主要是用例的前置条件、后置条件、基本事件流、扩展事件流,和用例的优先级等。

简单的用例可以在用例图中用标签来描述。

另外,活动图和顺序图也是详细描述流程和功能的有利工具。

随着用例功能的不断细化,这两种图会发挥更大的作用。

四、用例之间的关系

有人画用例图的时候,用一条线直接把两个用例连起来,也没有任何标注,这种关系的描述是错误的。

用例之间的关系有包含、扩展,和通用化三种。

包含通常是对某个功能的重用,多个用例都需要使用某部分功能,就把这个功能单独提炼出来,作为一个用例。

扩展是可选的功能分支,也可以是个例外,他可能执行也可能不执行。

通用化就是通常所说的继承关系,子用例是父用例的一个特例,并有他自己的特定功能。

 

实验六黑盒测试用例设计

1、实验目的:

掌握黑盒测试的基本概念

2、实验内容:

学生自己提出一个编程问题,对程序中的变量用黑盒测试中的等价分类法进行测试。

3、软件和硬件环境:

java工具软件、联想pc

4、实验结果:

简单说明设计和分析的方法:

黑盒测试就是依据软件的需求规格说明书,检查程序的功能是否符合用户要求。

这种测试不需要考虑程序内部的逻辑结构和内部特性,完全把测试对象看作一个黑盒子。

黑盒测试主要针对以下内容:

程序是否按照需求完整正确地实现了功能。

程序的接口是否正确有效。

程序输出的数据或外部数据库访问是否正确。

程序性能是否符合需求。

程序初始化和终止是否正确。

黑盒测试常用的方法有:

等价类划分、边界值分析、错误推测、因果图和功能图。

等价分类法事黑盒测试方法中较常用的一种技术,所谓等价分类,就是把输入数据的可能值划分为若干个等价类,使每类中的任何一个测试用例,都能代表同一等价类中的其他测试用例。

等价分类法一般分成两步进行:

第一步,描述出等价类:

通常用一个表格把输入数据、有效等价类和无效等价类分别描述出来。

第二步,设计测试数据:

通常用一个表格把测试数据、期望结果和测试范围描述出来。

有效等价类可以用一个测试用例,其他的每一个无效等价类要用一个测试用例。

2)给出实验结果

1)描述成绩变量X的等价分类

输入数据

有效等价类

无效等价类

X

①1、2位数字字符或100

②有非数字字符

③少于1个数字符

④多于3个数字符(不包括100)

对应数值

⑤在0-100之间

⑥<0

⑦>100

描述有效等价类的测试用例

有效等价类①和⑤可以共用一个测试用例,如下:

测试数据

预期结果

测试覆盖

55

输入有效

3)描述无效等价类的测试用例

测试数据

预期结果

测试覆盖

A1

输入无效

(没有数字字符输入)

输入无效

1234

输入无效

-9

输入无效

101

输入无效

5、实验结果分析:

黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。

在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。

黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。

很明显,如果外部特性本身有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。

黑盒测试法注重于测试软件的功能需求,主要试图发现下列几类错误。

功能不正确或遗漏;界面错误;数据库访问错误;性能错误;初始化和终止错误等。

从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入都作为测试情况考虑,才能查出程序中所有的错误。

实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但可能的输入进行测试。

这样看来,完全测试是不可能的,所以我们要进行有针对性的测试,通过制定测试案例指导测试的实施,保证软件测试有组织、按步骤,以及有计划地进行。

黑盒测试行为必须能够加以量化,才能真正保证软件质量,而测试用例就是将测试行为具体量化的方法之一。

具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。

等价类划分的办法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。

每一类的代表性数据在测试中的作用等价于这一类中的其他值。

该方法是一种重要的,常用的黑盒测试用例设计方法。

1)划分等价类:

等价类是指某个输入域的子集合。

在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:

测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:

有效等价类和无效等价类.

有效等价类:

是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能.

无效等价类:

与有效等价类的定义恰巧相反.

设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性.

2)划分等价类的方法:

下面给出六条确定等价类的原则.

①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类.

②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类.

③在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类.

④在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类.

⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则).

⑥在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类.

3)设计测试用例:

在确立了等价类后,可建立等价类表,列出所有划分出的等价类:

输入条件有效等价类无效等价类

 

实验七白盒测试方法实验

1、实验目的:

掌握白盒测试的基本概念

2、实验内容:

1)给出一个程序

2)画出程序流程图

3)根据程序流程图画出程序图

4)用表格描述出被测程序的路径。

3、软件和硬件环境:

c、联想pc

4、实验结果:

简单说明设计和分析的方法

白盒测试的测试方法有代码检查法、静态结构分析法、逻辑覆盖法、基本路径测试法、符号测试等方法,其中运用最为广泛的是基本路径测试法。

  基本路径测试法是在程序图(程序控制流图)的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。

设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次。

  在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。

包括以下4个步骤和一个工具方法:

  1.程序的控制流图:

描述程序控制流的一种图示方法。

  2.程序圈复杂度:

McCabe复杂性度量。

从程序的环路复杂性可导出程序基本路径集合中的独立路径条数,这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上界。

3.导出测试用例:

根据圈复杂度和程序结构设计用例数据输入和预期结果。

4.准备测试用例:

确保基本路径集中的每一条路径的执行。

  工具方法:

  图形矩阵:

是在基本路径测试中起辅助作用的软件工具,利用它可以实现自动地确定一个基本路径集。

  程序图中图形符号的意思:

 1、图中的每一个圆称为流图的结点,表示一个或多个无分支的语句或源程序语句。

 2、流图中的箭头称为边或连接,代表控制流

  在将程序流程图简化成控制流图时,应注意:

  n在选择或多分支结构中,分支的汇聚处应有一个汇聚结点。

  n边和结点圈定的区域叫做区域,当对区域计数时,图形外的区域也应记为一个区域。

流图只有二种图形符号:

图中的每一个圆称为流图的结点,代表一条或多条语句。

流图中的箭头称为边或连接,代表控制流

任何过程设计都要被翻译成控制流图。

给出实验结果

5、实验结果分析:

(1).优点:

·迫使测试人员去仔细思考软件的实现·可以检测代码中的每条分支和路径·揭示隐藏在代码中的错误 ·对代码的测试比较彻底·最优化

(2).缺点:

·昂贵·无法检测代码中遗漏的路径和数据敏感性错误

  ·不验证规格的正确性

 

 

实验八绘制GANNT图

1、实验目的:

了解项目进度的管理方法

2、实验内容:

1)了解GANNT图的意思

2)利用项目管理软件Project,为实验二中的贵阳学院成绩管理系统制定一个用GANNT图表示的计划进度表

3、软件和硬件环境:

project工具软件、联想pc

4、实验结果:

(1)简单说明设计和分析的方法

Project是微软公司开发的一个项目管理软件。

Project软件通过对项目工时、日程安排和财务等的控制来实现项目的管理。

要求学生利用Project软件绘制出项目的GANNT图。

给出实验结果

1.按照软件的生命周期,制定出贵阳学院成绩管理系统各个阶段的时间。

2.打开Project软件

3.在GANNT图中输入各个阶段的时间。

4..所显示的条形图的就是项目进度的GANNT图。

在画GANNT图时用到的一些概念:

1.¡°甘特图¡±视图(GANNT图)

¡°甘特图¡±视图以工作表和条形图表的形式显示基本的任务信息。

使用¡°甘特图¡±可以很方便地查看任务的工期、开始和结束时间,以及资源的信息;使用¡°甘特图¡±可以创建初始计划,查看日程和调整计划。

2.资源:

资源是项目所需要的人力、物力、设备和资金等。

3.资源的日历:

资源日历是为单个资源指定工作时间和非工作时间的日历,而项目日历则是项目所使用的日历,资源日历不同于项目日历,项目日历指定多个资源的工作时间和非工作时间。

资源日历设置专用于特定资源的工作时间。

在Project2003中,每个资源都可拥有自己的工作日历。

5、实验结果分析:

软件项目成功最重要的要素是什么?

大型软件项目是依靠一个组织来完成的,如果这个组织在管理上是无序的,开发过程是非正式和混乱的,计划期限和成本目标通常超限,项目的成功取决于个人英雄式的行为,在人员发生变动时项目往往陷入灾难,那么很难说这个项目会获得成功。

从这个意义上说,软件项目管理和过程管理是项目成功的关键因素。

我们今天所面对的软件开发问题,最重要的莫过于如何用一种有效的方式来组织项目,确保软件开发的高效率。

这就需要研究项目管理的本质,更加清醒地审视软件开发中的问题,根据软件的特点与文化

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1