软件工程实验指导书425版.docx
《软件工程实验指导书425版.docx》由会员分享,可在线阅读,更多相关《软件工程实验指导书425版.docx(34页珍藏版)》请在冰豆网上搜索。
软件工程实验指导书425版
*******************
《软件工程》
实验指导书(自编)
*******************
计算机科学与信息工程学院
目录
一.课程实验目的和任务1
二.综合实验题目1
三.实验安排3
实验一系统需求分析4
一.实验目的4
二.准备知识4
三.实验内容4
四.实验指导10
实验二系统概要设计15
一.实验目的15
二.准备知识15
三.实验内容15
四.实验指导22
实验三系统详细设计30
一.实验目的30
二.准备知识30
三.实验内容30
四.实验指导31
实验四系统编码实现34
一.实验目的34
二.准备知识34
三.实验内容34
四.实验指导35
实验五系统测试36
一.实验目的36
二.准备知识36
三.实验内容36
四.实验指导36
一.课程实验目的和任务
软件工程课程实验目的是通过具体的应用软件系统的开发实现,使学生能够结合课程有关软件生命期的介绍,规范软件设计与实现过程的文档要求,掌握软件设计的规范,理解软件工程课程的基本理论与方法。
二.综合实验题目
要求学生分四人小组,在实验课上(必要的可以增加适量的课外时间)共同完成以下任意一个题目的开发工作,包括需求分析、概要设计,详细设计、编码实现和测试工作,完整的经历软件的开发流程,完成需求规格说明书、概要设计说明书、详细设计说明书、源代码、测试报告等文档及程序的编写工作。
(一)参照Windowscmd或Linuxshell实现Console控制台系统
本实验要求设计实现一个Console控制台系统,系统的具体功能要求具有文件管理功能、网络管理功能和系统管理功能等。
其中,各操作命令可以参考cmd.Exe或linuxshell,也可以自己定义使用的命令,命名要反映出操作类型。
(二)电子商务网站设计与实现
本实验要求设计开发一个基于Web的B2C架构的系统,该系统主要经营电子、数码类产品。
要求该系统具体包括:
新闻发布系统、计数器系统、产品管理系统、权限管理系统、模板管理系统和自动推荐系统等。
(三)校园内的Ftp搜索系统
本实验要求设计实现一个Ftp搜索系统,系统的具体功能要求输入关键字给出校园网内的Ftp相关资料列表,并且给出统计。
关键字能够提供不止一个,可以按照多个关键字进行搜索。
搜索主页中要给出热门搜索关键字。
(四)通用试题库组卷系统
本实验要求设计实现一个试题库组卷系统,系统的具体功能要求:
组卷方式有全自动成卷、半自动成卷和人工成卷;题库管理包括查询、增加、删除、修改题库等;打印输出包括以实用格式或紧凑格式输出试卷,并可对试卷进行人工编辑修改;试题录入要求简洁、快速、方便并具有自动查错功能。
另外,还要支持能从网上下载试题。
(五)基于Web的学生选课系统
本实验要求设计实现一个学生选课系统,系统的具体功能要求:
用户管理能设置用户,其用户类型包括超级管理员、管理员和学生,超级管理员具有用户管理权限,系统具有默认的超级管理员账号;管理员能对课程信息进行添加、修改和删除,对某门课程的选课名单进行统计和打印;学生能查询某门课程信息,包括当前已选课人数等,选课和撤销选课操作;可以在班级信息中设置限制条件,如选课学生的类型(本科/研究生)、年级限制、最多人数等。
(六)图书管理系统
本实验要求设计实现一个小型图书管理系统,系统的具体功能要求:
图书登记入库,读者信息登记,图书分类查询,读者借书/还书,读者借书证挂失,读者信息查询等;用户管理分为超级管理员和管理员,超级管理员具有增添、删除管理员的功能,管理员可以对图书和读者信息进行管理。
(七)网上招聘系统
本实验要求设计实现一个网上招聘系统,系统的具体功能要求:
应聘者在网上浏览职位信息,应聘职位,填写简历、回答问卷和提交简历等功能;职位发布员可以在网上发布职位,添加问卷;试题管理员可以管理题库,组织相关文件;面试管理员可以整理应聘者的简历,对简历合格人员进行面试;系统管理员可以对系统用户进行管理,主要是对管理员的增删,权限的设置等功能。
(八)小型仓库管理系统
本实验要求设计实现一个小型的仓库管理系统,系统的具体功能要求:
能实现对商品信息的录入、查看、修改、删除等基本操作。
要求对数据库进行设计,商品类型信息的维护。
三.实验安排
序号
实验项目名称
学时
类型
必做/选做
1
系统需求分析
2
验证性
必做
2
系统概要设计
2
验证性
必做
3
系统详细设计
4
设计性
必做
4
系统编码实现
2
设计性
必做
5
系统测试
2
设计性
必做
实验一系统需求分析
一.实验目的
1.选择要设计的系统,使用UML进行需求分析,了解所要完成系统的功能需求,性能需求,接口需求等。
2.学习实使用PowerDesigner或其它软件工程工具绘制用例图、活动图。
二.准备知识
1.PowerDesigner是面向对象的CASE工具,了解PowerDesigner的使用方法。
2.学习UML的用例图、活动图。
三.实验内容
使用PowerDesigner绘制系统的用例图,写出需求规格说明书。
1.PowerDesigner介绍
PowerDesigner支持UML1.3的所有图包括用例图、序列图和类图、活动图表和组件图表等,并全面支持UML2.0。
改进了面向对象分析与设计(OOAD)分析方法并增强了与开发过程的集成。
可使用PowerDesigner面向对象模型建立面向对象模型(OOM),一个OOM包含一系列包,类,接口和他们的关系。
这些对象一起形成所有的(或部份)一个软件系统的逻辑的设计视图的类结构。
一个OOM本质上是软件系统的一个静态的概念模型。
2.PowerDesigner主窗口
图1-1PowerDesigner的主窗口
3.创建面向对象模型
在主菜单中,选择“文件—创建新模型”,打开新的模型选择对话框。
如图1-2所示。
图1-2新建模型对话框
打开系统的主编辑界面如图1-3所示。
图1-3主编辑创建
在主编辑窗口内可以创建编辑各类图,根据创建的图形不同,palette(控制板)每次也不相同。
如创建用例图时,palette的主要工具如图1-4所示。
图1-4Palette窗口
当编辑好模型后,在主菜单中选择“文件—保存”,即可保存模型。
四.实验指导
(1)图书管理系统的用例图
图1-5图书管理系统的用例图
图1-6还书过程的活动图
图1-10借书过程的活动图
实验二系统概要设计
一.实验目的
1.对系统进行概要设计,主要完成对系统框架的设计。
2.学习使用PowerDesigner设计数据库表。
二.准备知识
1.数据库概念模型和数据库物理模型的设计,PowerDesigner的使用。
2.系统框架的分类和设计方法。
三.实验内容
使用PowerDesigner设计数据库物理模型,并创建数据库,根据需要分析设计系统框架。
1.打开PowerDesigner
打开程序,选择菜单“程序----Sybase---PowerDesigner6.132bits—AppModelforPowerBuilder”,打开程序主界面如图2-1所示。
图2-1PowerDesigner主界面
2.主界面
图2-2powerDesigner主界面
3.工具箱
图2-3工具箱
常用工具介绍:
Pointer:
指针,用它来选择操作对象。
lasso:
套索,用虚线选择多个对象,可在页面上进行动态调整位置。
Grabber:
强制选取,选取当前页面上所有对象。
table:
表
view:
视图
scissors:
裁剪,剪切对象
reference:
参照,从表连接到主表,自动创建参照关系。
property:
属性,快速打开对象的属性对话框。
4.创建数据模型
(1)新建数据模型
单击菜单“新建”,打开数据库选择对话框,在其中选择要建立的数据库类型。
如图2-4所示。
图2-4选择目标数据库对话框
注:
使用PowerDesigner6.1版本的工具,由于比较早,没有现在高版本的数据库,可以采用其中最接近当前版本的数据库,如Access2003可以使用Access97&95版,MicrosoftSQLServer2000可以使用Microsoft SQLSerer7.x代替。
(2)创建表
在编辑区,单击工具箱中的表或视图,创建数据库的物理模型。
如创建表,可以单击
,在编辑区中单击左键,即可创建一个表。
注意:
此时要把鼠标再次单击
,把鼠标的图标变为箭头状,否则会再次建立表。
(3)设置表的属性。
选中表,单击右键快捷菜单,选择“properties”,打开如图2-5所示的窗口,或选择工具箱中的
,在表上单击,也可以打开属性窗口。
图2-5表属性窗口
Definition页其中主要的属性有:
✧Name:
表的名称,可以是汉字名称,可以用于显示信息;
✧Code:
表的代码名称,必须为英文字母组成的名称,用于生成代码。
✧Owner:
表的所有人;
✧Number:
表的大小(将来表中数据的多少);
(4)设计表的字段
单击表属性窗口中的“Columns”按钮,打开如图2-6所示的窗口,在此窗口中添加表的字段(或列),并设置它的属性信息。
图2-6表的列设置
其中字段的设置内容有:
✧Name:
名称,可以为英文或汉字,用于显示;
✧Code:
代码,必须为英文,用于创建数据库的代码;
✧DataType:
数据类型名称,可以选择字段的数据类型,并设置长度;
✧P:
主键,选中表示该字段为表的主键;
✧F:
外键,选择表该字段为表引用的外键;
✧M:
即Mandatory,强制属性,表示该列值是否为空;
✧D:
即Displayed,该列是否显示。
✧N:
即Identity,唯一标识。
当设计完成所有字段后,单击“ok”按钮,确定当前设计。
(5)设计表的关系
单击
,选择从表连线到主表即可建立参照关系,系统会默认主外键的引用,若不是用户所需的主外键键关系,可以自定义主外键的链接。
选择连线,单击右键,在快捷菜单中选择“properties”,弹出如图2-7所示的窗口,在该窗口中设置参照的属性信息。
图2-7参照属性窗口
5.链接数据库
选择主菜单“Database”—“connection”,打开连接数据库的窗口,如图2-8所示。
图2-8连接数据源
首先选择数据源,然后单击“Connect”(连接)按钮,进一步设置连接的属性,使系统连接到数据上。
下面以Access为例,介绍具体的链接过程。
(1)首先在D:
盘(数据库文件的位置可以自定义)上建立一个Access数据库文件,如“test.mdb”。
(2)在图2-8所示的窗口中,的“Datasourcename:
”的下拉列表中,选择“MSAccessDatabase(MicrosoftAccessDriver(*.mdb))”。
(3)单击“Connect”按钮,弹出如图2-9所示的窗口。
图2-9选择数据库窗口
选择“驱动器(V)”的驱动器为D:
,此时目录窗口显示D盘的目录情况,同时由于test.mdb在根目录上,在”数据库名(A)”下的列表中选显示出“test.mdb”,单击选中,然后单击“确定”按钮,即可连接到数据库上。
6.创建数据库
选择主菜单“Database”—“GenerateDatabase”,打开如图2-10所示的窗口。
图2-10创建数据库表窗口
单击“Generatescript”(创建脚本)按钮,,将创建一个创建数据库的Sql脚本语句的文件。
单击“Createdatabase”(创建数据库)按钮,将在连接好的数据库中建立在编辑区设计的表。
四.实验指导
(1)图书管理例(参考)
图书管理系统的数据模型如图2-11所示。
图2-11图书管理系统的数据模型
图2-12图书管理数据模型
(2)
读者表
图书表:
借还表
罚款表
用户表
(2)系统结构图
图2-13系统结构图
实验三系统详细设计
一.实验目的
对系统进行详细设计,主要完成对系统功能模块内部的详细设计。
二.准备知识
详细设计的常用设计方法:
程序流程图、决策表、伪代码。
三.实验内容
(1)程序流程图
(2)决策表
决策表用于以紧凑的形式描述复杂的逻辑。
决策表与if-else、switch-case语句类似,将条件判断与执行的动作联系起来。
条件
条件组合
动作
动作组合
例如:
(3)伪代码:
程序设计语言(PDL),也称为结构化英语或者伪代码,它是一种混合语言,它采用一种语言(例如英语)的词汇同时采用类似另外一种语言(例如,结构化程序语言)的语法。
例如:
使用程序设计语言描述打印N的阶乘
读入N
置F的值为1,置M的值为1
当M<=N时,执行:
使F=F*M
使M=M+1
打印F
四.实验指导
1.小型仓库管理系统
逻辑上,把系统分为四部分:
问题域部分、人机交互部分、任务管理部分和数据管理部分。
1)问题域部分,设计构造一组为底层应用建立模型的类和对象,细化分析结果;
Bean包内的Product.java和ProductType.java分别来实现。
(2)人机交互部分,设计一组有关类接口视图的用户模型的类和对象,设计用户界面;
由View包内的ProductView.java实现。
(3)任务管理部分,确定系统资源的分配,设计用于系统中类的行为控制的对象/类;
由View包内的ProductView.java,model包内的ProductModel.java和ProductTypeEnum.java共同实现。
。
(4)数据管理部分,确定持久对象的存储,将对象转换成数据库记录或表格;
由Dao包内的DaoFactory.java和ProductDao.java实现。
(5)数据库的具体设计如下:
表1Product表的结构
字段名称
数据类型
描述
ID
自动编号
产品内码,主键
NAME
文本
产品名称
TYPE
数字(整型)
产品类型ID
COUNT_IN_BOX
文本
单位数量
PRICE
货币类型
单价
STOCK
数字(单精度型)
库存量
表2ProductType表的结构
字段名称
数据类型
描述
TYPE_ID
数字(整型)
类型ID,主键
TYPE_NAME
文本
类型名称
REMARK
备注
类型描述
2.网上招聘系统
根据小组所选要设计的系统需求和概要设计,进行系统详细设计。
例如:
根据《网上招聘系统》的概要设计,本系统按照功能角度分解,可以分为客户端子系统和管理端子系统。
根据页面流的设计,管理端系统分为用户登录、用户管理、题库管理、问卷管理、职位管理、简历管理、面试管理等7个模块,他们的关系如图3-1,详细设计是对各个部分分别进行详细设计。
各个模块的详细设计略。
实验四系统编码实现
一.实验目的
根据系统的详细设计进行系统编码实现。
二.准备知识
编码标准和规则。
三.实验内容
不同的程序设计语言有不同的编码规则和标准。
(1)编码指南:
⏹确定企业编码标准或者指南
⏹从其他项目中是否可以获得可复用代码
⏹编写本项目代码的时候,尽可能考虑将来其他项目复用本代码模块
⏹编写详细设计作为代码的初始框架,经过几次从设计到编码的反复
⏹在程序里增加说明解释文档
⏹设计的属性可以在代码中体现出来
⏹编码的语言尽可能适用设计的要求
(2)选择编码语言的原则
一般来说,除了应遵循最少工作量原则、最少技巧原则、最少错误原则、最少维护原则和减少记忆原则之外,还应有以下原则:
1.系统用户的要求。
2.可以使用的编译程序。
运行目标系统的环境中可以提供的编译程序往往限制了对语言的选择。
3.程序员的经验和知识。
如果条件允许,应尽量选用程序员所熟悉的语言。
4.软件可移植性要求。
如果目标系统将在几台不同的计算机上运行,那么应选用可移植性好的语言。
5.软件的应用领域。
这往往是选择语言的关键因素。
6.工程规模。
四.实验指导
在编程时注意编程规范,规范编程不仅对有利于程序的阅读,也可以提供程序的正确性。
源程序代码略。
实验五系统测试
一.实验目的
对采用黑盒测试方法对系统进行测试,学习使用黑盒测试方法。
二.准备知识
1,软件测试的基本知识。
2.黑盒测试方法。
三.实验内容
对所完成的软件的各个功能模块进行测试。
四.实验指导
1.黑盒测试方法
黑盒测试是在已知产品所应具有的功能(根据需求规格说明书),通过测试来检验每个功能是否都能正常使用。
常用黑盒测试方法:
等价类划分、边界值分析。
(1)等价类划分
基本思想:
根据程序的I/O特性,将程序的定义域划分为有限个等价区段—“等价类”,从等价类中选择出的用例,具有“代表性”。
等价类分为:
⏹有效等价类—对于程序的规格说明是合理的、有意义的输入数据构成的集合。
⏹无效等价类—对于程序的规格说明,是不合理的,是没有意义的输入数据构成的集合。
(2)边界值分析
边界值分析:
关注输入空间的边界。
原理:
错误更可能发生在输入的边界值附近。
☐边界值
☐略低于最小值:
Min-
☐最小值:
Min
☐略高于最小值:
:
Min+
☐正常值:
Normal
☐略低于最大值:
Max-
☐最大值:
Max
☐略高于最大值:
Max+
例:
图书管理系统的黑盒测试部分用例设计。
表10.1测试功能点列表
测试功能点序号
测试功能点序号
测试功能点描述
图书管理系统v1.0-01登录
V1.0-T1-0001
合法用户登录系统,显示系统主页面
V1.0-T1-0002
非法用户登录系统,显示错误提示
图书管理系统v1.0-02新增图书
V1.0-T2-0001
图书信息完整,新增
V1.0-T2-0002
图书信息不完整,重要信息缺失,错误提示
V1.0-T2-0003
图书信息不完整,非重要信息缺失,新增
V1.0-T2-0004
图书信息内容格式错误,错误提示
图书管理系统v1.0-03删除图书
V1.0-T3-0001
输入图书编号(该书未借出),删除成功,有确认删除提示
V1.0-T3-0002
输入图书编号(该书当前借出),不能删除成功
图书管理系统v1.0-04更新图书
V1.0-T4-0001
更新图书非编号信息,更新成功
V1.0-T4-0002
更新图书编号信息,不允许更新
图书管理系统v1.0-05查询图书
V1.0-T5-0001
查询图书(已登记)任意信息,列表显示
V1.0-T5-0002
查询不存在图书信息,显示为空
V1.0-T5-0003
查询信息空,显示所有图书列表
图书管理系统v1.0-06浏览图书
V1.0-T6-0001
图书列表显示
图书管理系统v1.0-07新增读者
V1.0-T7-0001
读者信息完整,新增
V1.0-T7-0002
读者信息不完整,重要信息缺失,错误提示
V1.0-T7-0003
读者信息不完整,非重要信息缺失,新增
V1.0-T7-0004
读者信息内容格式错误,错误提示
图书管理系统v1.0-08删除图书
V1.0-T8-0001
输入读者编号(该读者未借书),删除成功,有确认删除提示
V1.0-T8-0002
输入读者编号(该读者有借书),不能删除成功
图书管理系统v1.0-09更新图书
V1.0-T9-0001
更新读者非编号信息,更新成功
V1.0-T9-0002
更新读者编号信息,不允许更新
图书管理系统v1.0-10查询图书
V1.0-T10-0001
查询读者(已登记)任意信息,列表显示
V1.0-T10-0002
查询不存在读者信息,显示为空
V1.0-T10-0003
查询信息空,显示所有读者列表
图书管理系统v1.0-11浏览图书
V1.0-T11-0001
读者列表显示
图书管理系统v1.0-12借出图书
V1.0-T12-0001
合法读者编号和能借出的图书编号,正确借出
V1.0-T12-0002
非法读者编号和非法图书编号,不能正确借出
图书管理系统v1.0-13归还图书
V1.0-T13-0001
合法已借出图书编号,归还成功
V1.0-T13-0002
非法图书编号,不能归还
图书管理系统v1.0-14浏览借阅情况
V1.0-T14-0001
已经借出图书和读者信息列表显示
图书管理系统v1.0-15查询借阅情况(该功能模块可选)
V1.0-T15-0001
输入合法读者信息,显示所有该读者的借阅记录
V1.0-T15-0002
输入合法图书信息,显示所有该书的借阅记录
V1.0-T15-0003
输入非法读者信息,错误提示
V1.0-T15-0002
输入非法图书信息,错误提示
图书管理系统v1.0-16修改用户密码
V1.0-T16-0001
输入原正确密码,新密码,修改成功
V1.0-T16-0002
输入原密码错误,新密码,不能修改
图书管理系统v1.0-17新增用户
V1.0-T17-0001
输入合法用户名和密码,新增成功
V1.0-T17-0002
输入非法用户名和密码,新增失败
图书管理系统v1.0-18删除用户
V1.0-T18-0001
输入合法用户名,删除提示确认,删除成功
V1.0-T18-0002
输入非法用户名,删除失败
表10.2测试用例表
测试功能点序号
测试用例序号
测试用例描述
V1.0-T1-0001
T1-0001-TC001
合法用户登录系统
V1.0-T1-0002
T1-0002-TC001
密码错误登录系统,提示错误信息
T1-0002-TC002
合法用户名,空密码登录系统,提示错误信息
T1-0002-TC003
非法用户名登录系统,提示错误信息
V1.0-T2-0001
T2-0001-TC001
图书信息完整,可以新增
V1.0-T2-0002
T3-0002-TC001
图书信息不完整,缺少图书名,错误提示
T2-0002-TC002
图书信息不完整,缺少编号,错误提示
V1.0-T2-0003
T2-0003-TC001
图书信息不完整,非必须信息,缺失单价,可以新增
V1.0-T2-0004
T2-0004-TC001
图书信息中时间格式不正确,错误提示
V1.0-T3-0001
T3-0001-TC001
输入图书编号(该书未借出),删除成功,有确认删除提示
V1.0-T3-0002
T3-0002-TC001
输入图书编号(该书当前借出),不能删除成功