软件工程实验二-结构化程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
淮海工学院计算机科学系实验报告书
课程名:《软件工程》
题目:结构化设计实验
班级:
学号:
姓名:
结构化设计实验报告要求
1目的与要求:
1)系统学习和理解结构化软件工程设计阶段的基本任务、概念、原理、技术和方法;
2)掌握设计阶段各种设计工具,如、层次图、程序流程图、N-S图、PAD图、判定表(树)、伪代码语言等工具的使用方法;
3)通过理论学习和试验要逐步提高运用结构化软件工程的设计理论、技术和方法解决实际问题的综合应用和实践创新能力;
4)请借阅有关Microsoft Office Visio 系统,预习系统有关的结构化设计工具和使用方法;
5)按照实验题目要求独立完成结构化设计实验内容,严禁拷贝、抄袭他人设计成果;
6)认真书写实验报告,并于第七周周五以前提交,不得延误;
7)第三次实验,即软件测试实验将在本次实验的基础上完成,希望同学按照要求高质量完成本次实验。
8)本周六(4月16日)以前各班提交实验报告,不得延迟。
2 实验内容或题目
1.针对自己第一次实验所完成的结构化分析项目(或题目),选择所绘制的数据流图,E-R图、
状态图,完成下面2、3、4、5、6步要求的结构化设计内容;
2.按照面向数据流图的结构化设计方法,并在优化所选择数据流图的基础上,导出项目的总
体设计层次图(H图);特别注意:设计过程中必须给出细化好并且加了输入输出边界的
数据流图;
3.按照详细设计阶段所学的过程设计工具,分别选择程序流程图、盒图和PAD图等设计工具,
在第2所得层次图中选择几个主要模块进行详细设计,画出相应详细设计结果图形;
4.根据E-R图所建立的数据模型进行数据库(以关系数据库模型为基准,进行数据库表及其
关系设计);
5.根据H图进行界面菜单设计(模拟菜单显示样式绘制菜单设计图),选择一个数据库表(实
体)进行界面表单(数据编辑界面)设计;
6.选择第3步中某一模块的详细设计结果,画出对应得流图,并计算其环形(圈)复杂度。
3 实验步骤与源程序
1.画出有边界的数据流图
2.画出项目总体设计层次图(H图)
3.画出程序流程图
4.画出盒图
5.画出PAD图
6.设计项目数据库表及关系
7.选择一个数据库表设计界面
8.画出所选择的模块对应的流图计算环形(圈)复杂度4测试数据与实验结果(可以抓图粘贴)
1、画出有边界的数据流图
有边界的数据流图:
2、画出项目总体设计层次图(H图)
H图:
3、画出程序流程图
还书功能流程图:
4、画出盒图
还书功能盒图:
5、画出PAD图
还书功能PAD图:
6、设计项目数据库表及关系
数据库表的具体结构如下:
1)管理员表:用于保存管理员信息,结构如下
/****** Object: Table [dbo].[Users] Script Date: 04/26/2015 15:56:26 ******/ SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE[dbo].[Users](
[Name][nvarchar](50)NULL,
[Password][nvarchar](50)NULL,
[Type][int]NULL
)ON[PRIMARY]
GO
2)图书信息表
/****** Object: Table [dbo].[Book] Script Date: 04/26/2015 15:56:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE[dbo].[Book](
[Num][nvarchar](50)NOT NULL,
[Name][nvarchar](50)NULL,
[Author][nvarchar](50)NULL,
[Type][int]NULL,
[ISBN][nvarchar](50)NULL,
[CBS][nvarchar](50)NULL,
[CBRQ][datetime]NULL,
[Status][nvarchar](50)NULL,
CONSTRAINT[PK_Book]PRIMARY KEY CLUSTERED
(
[Num]ASC
)WITH (PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF, ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
GO
3)借书卡信息表
/****** Object: Table [dbo].[Card] Script Date: 04/26/2015 15:56:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE[dbo].[Card](
[Num][nvarchar](50)NOT NULL,
[Name][nvarchar](50)NULL,
[Class][nvarchar](50)NULL,
[StartTime][datetime]NULL,
[EndTime][datetime]NULL,
CONSTRAINT[PK_Card]PRIMARY KEY CLUSTERED
(
[Num]ASC
)WITH (PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF, ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
GO
4)图书借阅表
/****** Object: Table [dbo].[Lend] Script Date: 04/26/2015 15:56:26 ******/ SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE[dbo].[Lend](
[CardNum][nvarchar](50)NULL,
[BookNum][nvarchar](50)NULL,
[Time][datetime]NULL,
[Status][nvarchar](50)NULL
)ON[PRIMARY]
GO
5)图书类型表
/****** Object: Table [dbo].[Type] Script Date: 04/26/2015 15:56:26 ******/ SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE[dbo].[Type](
[ID][int]IDENTITY(1,1)NOT NULL,
[Name][nvarchar](50)NULL,
CONSTRAINT[PK_Type]PRIMARY KEY CLUSTERED
(
[ID]ASC
)WITH (PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF, ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
GO
7、选择一个数据库表设计界面
8、画出所选择的模块对应的流图计算环形(圈)复杂度
流图:
圈复杂度为:3
5 结果分析与实验体会
本次实验实在实验一的基础上继续做的实验,一开始感觉到十分困难,对于图书管理系统的数局流图还不是很清晰,但是通过分析,将数据的每一步走向细化,分界,完成了对整个系统的H图构造,对整个系统的功能更加的清晰,而程序流程图、盒图以及PAD图,通过老师的讲解以及书上的知识,将系统内的部分功能模块画出来还是比较简答的,其中的逻辑顺序并不复杂,此次还设计了数据库表以及界面的设计,内容的量上还是比较多的,但是最终我完成了设计,希望我以后再软件工程这门课中学习的更加游刃有余!。