1、 淮海工学院计算机科学系 实验报告书 课程名: 《软件工程》 题 目: 结构化设计实验 班 级: 学 号: 姓 名: 评语: 成绩: 指导教师:
2、 批阅时间: 年 月 日 结构化设计实验报告规定 1目的与规定: 1)系统学习和理解结构化软件工程设计阶段的基本任务、概念、原理、技术和方法; 2)掌握设计阶段各种设计工具,如、层次图、程序流程图、N-S图、PAD图、鉴定表(树)、伪代码语言等工具的使用方法; 3)通过理论学习和实验要逐步提高运用结构化软件工程的设计理论、技术和方法解决实际问题的综合应用和实践创新能力; 4)请借阅有关Microsoft Office Visio 系统,预习系统有关的结构化设计工具和使用方法; 5)按照实验题目规定独立完毕
3、结构化设计实验内容,严禁拷贝、抄袭别人设计成果; 6)认真书写实验报告,并于第七周周五以前提交,不得延误; 7)第三次实验,即软件测试实验将在本次实验的基础上完毕,希望同学按照规定高质量完毕本次实验。 8)本周六(4月16日)以前各班提交实验报告,不得延迟。 2 实验内容或题目 1. 针对自己第一次实验所完毕的结构化分析项目(或题目),选择所绘制的数据流图,E-R图、状态图,完毕下面2、3、4、5、6步规定的结构化设计内容; 2. 按照面向数据流图的结构化设计方法,并在优化所选择数据流图的基础上,导出项目的总体设计层次图(H图);特别注意:设计过程中必须给出细化好并且加了输入输出边
4、界的数据流图; 3. 按照具体设计阶段所学的过程设计工具,分别选择程序流程图、盒图和PAD图等设计工具,在第2所得层次图中选择几个重要模块进行具体设计,画出相应具体设计结果图形; 4. 根据E-R图所建立的数据模型进行数据库(以关系数据库模型为基准,进行数据库表及其关系设计); 5. 根据H图进行界面菜单设计(模拟菜单显示样式绘制菜单设计图),选择一个数据库表(实体)进行界面表单(数据编辑界面)设计; 6. 选择第3步中某一模块的具体设计结果,画出相应得流图,并计算其环形(圈)复杂度。 3 实验环节与源程序 1. 画出有边界的数据流图 2. 画出项目总体设计层次图(H图)
5、3. 画出程序流程图 4. 画出盒图 5. 画出PAD图 6. 设计项目数据库表及关系 7. 选择一个数据库表设计界面 8. 画出所选择的模块相应的流图计算环形(圈)复杂度 4 测试数据与实验结果(可以抓图粘贴) 1、画出有边界的数据流图 2、画出项目总体设计层次图(H图) 3、画出程序流程图 4、画出盒图 5、画出PAD图 6、设计项目数据库表及关系 数据库表的具体结构如下: 1)管理员表:用于保存管理员信息,结构如下 /****** Object: Table [dbo].[User
6、s] Script Date: 04/26/2023 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/
7、26/2023 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]
8、 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]
9、[Card] Script Date: 04/26/2023 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
10、[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/2023 15:56:26 ******/
11、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/2023 15
12、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
13、 ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO 7、 选择一个数据库表设计界面 8、画出所选择的模块相应的流图计算环形(圈)复杂度 圈复杂度为:3 5 结果分析与实验体会 本次实验实在实验一的基础上继续做的实验,一开始感觉到十分困难,对于图书管理系统的数局流图还不是很清楚,但是通过度析,将数据的每一步走向细化,分界,完毕了对整个系统的H图构造,对整个系统的功能更加的清楚,而程序流程图、盒图以及PAD图,通过老师的讲解以及书上的知识,将系统内的部分功能模块画出来还是比较简答的,其中的逻辑顺序并不复杂,本次还设计了数据库表以及界面的设计,内容的量上还是比较多的,但是最终我完毕了设计,希望我以后再软件工程这门课中学习的更加游刃有余!






