您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 设计及方案 > 软件工程实验二-结构化程序设计
淮海工学院计算机科学系实验报告书课程名:《软件工程》题目:结构化设计实验班级:学号:姓名:评语:成绩:指导教师:批阅时间:年月日《软件工程》实验报告-1-结构化设计实验报告要求1目的与要求:1)系统学习和理解结构化软件工程设计阶段的基本任务、概念、原理、技术和方法;2)掌握设计阶段各种设计工具,如、层次图、程序流程图、N-S图、PAD图、判定表(树)、伪代码语言等工具的使用方法;3)通过理论学习和试验要逐步提高运用结构化软件工程的设计理论、技术和方法解决实际问题的综合应用和实践创新能力;4)请借阅有关MicrosoftOfficeVisio系统,预习系统有关的结构化设计工具和使用方法;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.画出盒图《软件工程》实验报告-2-5.画出PAD图6.设计项目数据库表及关系7.选择一个数据库表设计界面8.画出所选择的模块对应的流图计算环形(圈)复杂度4测试数据与实验结果(可以抓图粘贴)1、画出有边界的数据流图选择操作用户用户名、密码用户名、密码登录到学生操作界面登录到图书管理员操作界面借书选项增加借书记录借书信息还书选项检查有无损坏或逾期查询选项查询借书和还书信息信息数据产生借书信息显示显示用户操作存入数据库存储返回ture返回false归还书籍还书信息清空已借图书还书信息更新数据库已更新用户管理进入用户管理界面管理员信息增删改查更新图书管理员信息管理员修改信息更新数据库已更新图书管理进入图书管理界面图书信息增删改查更新图书信息更新数据库已更新图书修改信息读者管理进入读者管理界面读者信息增删改查更新读者信息读者修改信息更新数据库已更新清空罚款记录返回false检查图书逾期无损坏上交罚款罚款记录清空罚款记录返回false损坏照价赔偿赔偿记录有边界的数据流图:《软件工程》实验报告-3-2、画出项目总体设计层次图(H图)图书管理系统管理员读者信息管理管理员信息管理图书信息管理H图:学生还书查询借书还书信息借书3、画出程序流程图开始插入借书卡是否为合法用户否是选择还书选项检查书籍是否损坏或逾期否还书成功结束是上交罚金还书功能流程图:提示用户不合法《软件工程》实验报告-4-4、画出盒图插入借书卡是否为合法用户FT提示用户不合法选择还书选项检查书籍是否损坏或逾期FT还书成功上交罚金还书功能盒图:5、画出PAD图插入借书卡是否为合法用户选择还书选项提示用户不合法检查书籍是否逾期或损坏上交罚金还书成功还书功能PAD图:《软件工程》实验报告-5-6、设计项目数据库表及关系数据库表的具体结构如下:1)管理员表:用于保存管理员信息,结构如下/******Object:Table[dbo].[Users]ScriptDate:04/26/201515:56:26******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[Users]([Name][nvarchar](50)NULL,[Password][nvarchar](50)NULL,[Type][int]NULL)ON[PRIMARY]GO2)图书信息表/******Object:Table[dbo].[Book]ScriptDate:04/26/201515:56:26******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[Book]([Num][nvarchar](50)NOTNULL,[Name][nvarchar](50)NULL,[Author][nvarchar](50)NULL,[Type][int]NULL,《软件工程》实验报告-6-[ISBN][nvarchar](50)NULL,[CBS][nvarchar](50)NULL,[CBRQ][datetime]NULL,[Status][nvarchar](50)NULL,CONSTRAINT[PK_Book]PRIMARYKEYCLUSTERED([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]GO3)借书卡信息表/******Object:Table[dbo].[Card]ScriptDate:04/26/201515:56:26******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[Card]([Num][nvarchar](50)NOTNULL,[Name][nvarchar](50)NULL,[Class][nvarchar](50)NULL,[StartTime][datetime]NULL,[EndTime][datetime]NULL,CONSTRAINT[PK_Card]PRIMARYKEYCLUSTERED([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]GO4)图书借阅表《软件工程》实验报告-7-/******Object:Table[dbo].[Lend]ScriptDate:04/26/201515:56:26******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[Lend]([CardNum][nvarchar](50)NULL,[BookNum][nvarchar](50)NULL,[Time][datetime]NULL,[Status][nvarchar](50)NULL)ON[PRIMARY]GO5)图书类型表/******Object:Table[dbo].[Type]ScriptDate:04/26/201515:56:26******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[Type]([ID][int]IDENTITY(1,1)NOTNULL,[Name][nvarchar](50)NULL,CONSTRAINT[PK_Type]PRIMARYKEYCLUSTERED([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《软件工程》实验报告-8-7、选择一个数据库表设计界面8、画出所选择的模块对应的流图计算环形(圈)复杂度插入借书卡用户不合法用户合法选择还书选项逾期或损坏上交罚金还书成功结束·流图:圈复杂度为:3《软件工程》实验报告-9-5结果分析与实验体会本次实验实在实验一的基础上继续做的实验,一开始感觉到十分困难,对于图书管理系统的数局流图还不是很清晰,但是通过分析,将数据的每一步走向细化,分界,完成了对整个系统的H图构造,对整个系统的功能更加的清晰,而程序流程图、盒图以及PAD图,通过老师的讲解以及书上的知识,将系统内的部分功能模块画出来还是比较简答的,其中的逻辑顺序并不复杂,此次还设计了数据库表以及界面的设计,内容的量上还是比较多的,但是最终我完成了设计,希望我以后再软件工程这门课中学习的更加游刃有余!
本文标题:软件工程实验二-结构化程序设计
链接地址:https://www.777doc.com/doc-6959913 .html