版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
档案管理自动化系统分析与设计主讲教师:于英香1.关于课程内容与目标课程的主要内容数据库设计理论(撰写系统设计报告的依据)数据库管理系统设计实例授课方式:案例教学法考核方式运用VFP软件设计一个数据库管理系统撰写系统设计报告2.实用数据库管理系统文档一体化管理系统教学管理系统(Visualfoxpro
数据库开发教程)音像管理系统(Visualfoxpro6.0程序设计上机实践教程)学籍管理系统(Visualfoxpro
程序设计基础与实训教程客房管理系统(Visualfoxpro
数据库开发案例精选)图书借阅信息系统、职员信息管理系统、公交线路查询系统、固定资产管理系统(新编Visualfoxpro6.0管理与开发—从入门到精通)武汉城建管理系统演示3.数据库设计理论数据库设计概述系统需求分析概念结构的设计数据库逻辑结构的设计数据库的物理设计数据库的实施和维护4.数据库设计概述数据库设计的内容数据库的结构特性设计数据库的行为特性设计数据库的物理模式设计(把逻辑结构模型加以物理实现,得出数据库的存储模式和存储方法)数据库设计应注意的问题5.数据库的结构特性设计数据库的结构特性是指数据库的逻辑结构特征是静态结构设计设计过程:绘制E-R图得出概念结构模型转化为逻辑结构模型6.数据库的行为特性设计是指确定数据库用户的行为和动作(如查询、统计、报表等),并根据其行为特性设计出数据库的子模式.要与应用系统的设计结合进行是动态特性设计(用户行为总是更新数据库内容的存取数据操作)设计步骤:绘制数据流图和数据字典得出系统的功能模块结构和数据库的子模式。7.数据库设计应注意的问题考虑计算机硬件、软件和干件(用户和管理员)的实际情况数据库设计时应使结构特性和行为特性设计紧密结合8.系统需求分析需求分析的任务和方法数据字典及其表示数据项数据结构数据流数据存储处理过程9.需求分析的任务和方法系统需求调查的内容数据库中的信息内容、数据处理内容、数据完全性和完整性要求系统需求的调查步骤(组织机构、业务活动)系统需求调查的方法(跟班作业、开调查会、请专人介绍、询问等)系统需求分析方法(SA(StructureAnalysis)方法)10.概念结构的设计概念结构的设计的结果是数据库的概念模型,它用E-R图进行描述。概念结构设计的步骤:1.抽象数据并设计局部视图;2.视图的集成11.抽象数据并设计局部视图三种数据抽象方法分类:定义某一概念作为现实世界一组对象的类型法,如E-R图中的实体集聚集:某一类型的组成部分。若干属性的聚集构成了实体型概括:定义了类型之间的一种子集联系。设计分E-R图根据数据流图确定E-R图中实体、实体之间的联系。现实世界中的事物能够作为属性对待的尽量作为属性对待,但要注意,属性必须是不可分割的数据项,且不能与其他实体具有联系。12.视图的集成分为一次集成法和逐步集成法步骤合并分E-R图,生成初步E-R图冲突:属性冲突(属性域与属性单位)、命名冲突(同名异义与异名同义)和结构冲突(抽象冲突、组成冲突与联系冲突)消除不必要的冗余(包括冗余数据和冗余联系),设计基本E-R图13.概念结构的特点及设计方法概念结构的特点现实世界的真实模型、易于理解、更改、转换概念结构设计的方法自顶向下、自底向上、逐步扩张、混合策略概念结构的设计步骤14.数据库逻辑结构的设计逻辑结构设计的任务是把概念模型结构转换成某个具体的DBMS所支持的数据模型。概念模型向关系模型的转换将实体集和实体间联系转换为关系模式确定这些关系模式的属性和码概念模型转换为关系模型的方法用户子模式的设计(视图的建立)15.概念模型转换为关系模型的方法1.实体集的转换规则概念模型中的一个实体集转换为关系模型中的一个关系,实体的属性就是关系的属性,实体的码就是关系的码,关系的结构是关系模式2.实体集间联系的转换规则一对一联系的转换方法一对多联系的转换方法多对多联系的转换方法16.一对一联系的转换方法一对一联系可以转换为一个独立的关系,也可以与任意一端实体集所对应的关系合并。如果将一对一联系转换为一个独立的关系,则与该联系相连的各实体的码及联系本身的属性均转换为关系的属性,且每个实体的码均为该关系的候选码如果将一对一联系与某一端实体集所对应的关系合并,则需要在被合并的关系中增加属性,其新增的属性为联系本身的属性和与联系相关的另一个实体集的码17.一对一联系的转换方法举例职工产品负责职工号姓名年龄产品号产品名价格11方案1:联系形成独立的关系,关系模型为:职工(职工号,姓名,年龄);产品(产品号,产品名,价格);负责(职工号,产品号)方案2:联系与”职工”合并,关系模型为:职工(职工号,姓名,年龄,产品号);产品(产品号,产品名,价格);方案3:联系与”产品”合并,关系模型为:职工(职工号,姓名,年龄);产品(产品号,产品名,价格,职工号);三种方案比较,方案1关系多,增加了系统的复杂性,方案2中由于不是每个职工都负责产品,就会造成产品号属性的NULL值过多,方案3相对比较合理.18.一对多联系的转换方法一对多联系可以转换为一个独立的关系,也可以与n一端实体集所对应的关系合并。如果将一对多联系转换为一个独立的关系,则与该联系相连的各实体的码及联系本身的属性均转换为关系的属性,且n端实体集的码为该关系的候选码如果将一对多联系与n端实体集所对应的关系合并,则需要在n端实体集中增加属性,新增的属性为由联系对应的1端实体集的码和联系自身的属性构成,新增属性后原关系的码不变。19.一对多联系的转换方法举例仓库产品仓储仓库号地点面积产品号产品名价格1n方案1:联系形成独立的关系,关系模型为:仓库(仓库号,地点,面积);产品(产品号,产品名,价格);仓储(仓库号,产品号,数量)方案2:联系与”与n端对象合并,关系模型为:仓库(仓库号,地点,面积);产品(产品号,产品名,价格,仓库号,数量);两种方案比较,方案1虽然关系多,但对仓储变化大的场合比较适用;相反,方案2中适应仓储变化比较小的场合。数量20.多对多联系的转换方法多对多联系直接转换成一个关系,转换方法:与该联系相连的各实体集的码以及联系本身的属性均转换为关系的属性,新关系的码为两个相连实体码的组合。即联系的码为组合码。21.多对多联系的转换方法举例学生课程选修学号姓名性别课程号课程名学时数mn联系形成独立的关系,关系模型为:学生(学号,姓名,性别);课程(课程号,课程名,学时数);选修(学号,课程号,成绩)成绩22.数据库应用系统开发步骤系统功能分析数据库分析与设计数据库逻辑设计模块设计、编程与调试接口设计菜单与工具栏的设计顶层表单设计主程序设计连遍、调试与运行23.数据库设计1.数据需求分析:访谈和收集报表2.分析数据项应注意的问题3.规范化数据库数据需求分析许多数据项分析数据项数据表规范化数个规范化的数据表数据库设计步骤:24.
分析数据项应注意的问题不要包含可由其他字段计算或推演得来的字段不要包含可自行计算得来的字段,如页码等不要包含内容相同而名称不同的字段选择适当的逻辑单位储存数据汇总整理所需全部字段。25.规范化数据库通过分解,避免出现数据重复、插入、删除、更新等数据存储异常问题,。规范化过程:明确系统需求的数据表;确定数据表的字段、关联数据表,使数据表达到BCNF,关联表要满足参照完整性。26.文档一体化系统举例收文管理发文管理归档管理档案管理系统维护退出收文登记收文运转收文查询目录打印发文登记发文审签发文查询数据导入数据添加辅助立卷拟写标题拟写标题拟写标题目录打印拟写标题数据导出档案录入目录打印档案统计拟写标题档案查询拟写标题档案汇编拟写标题数据导出代码维护数据后备权限设置拟写标题案卷查询拟写标题文件查询拟写标题全文查询文件扫描数据导出目录打印全文挂接数据导出文档一体化计算机系统27.教学管理系统开发举例系统分析与规范化设计数据库逻辑设计系统总体逻辑设计教学管理系统项目、数据库、表文件的创建应用表单、视图的设计应用报表设计应用菜单设计(顶层表单)顶层表单设计音乐设计登录窗口设计启动程序设计项目集成、生成EXE程序制作安装盘撰写系统设计报告28.项目集成创建或者进入项目管理器添加项目所有文件设置主程序输入开发者信息(项目/项目信息)连编(应在当前目录下连编)运行程序脱离VFP运行时如果有些图形控件不可见,可在项目管理器/其他/其他文件中添加。29.音乐设计在程序的编制过程中,适当地使用声音,可达到意想不到的效果方法:1.使用setbellto命令(wav文件)2.使用windows媒体播放器(所有文件)
3.使用OLE控件(所有文件)
30.音乐设计方法一使用setbellto
命令,适用于给按钮加上声音效果,要在按下它时能发声,可在其CLICKEVENTS中加入如下代码:SETBELLON
wav_name=“乐曲名.wav”
setbelltowav_name,0
??chr(7)缺点:文件类型受限,不能中止
31.音乐设计方法二调用mplayer2.exe来播放
Mplayer2.exe是Windows自带的媒体播放器,在VFP中,可使用如下命令来播放声音文件:
Run/n7mplayer2.exe乐曲名
若想在启动时播放声音,可将该语句放入表单的init事件中。这种方法适宜于用来播放背景音乐,其缺点是播放时,Windows工具栏上有一个最小化后的媒体播放器。
32.音乐设计方法三33.音乐设计方法三3.打开表单的属性窗口,在Init
Event方法中输入:
this.olecontrol1.DoVerb(0)使得运行表单时就能自动播放背景音乐。这样,音乐播放器就可以使用了。4.运行表单,在表单上便可看到正在播放音乐的播放器,可以将其最小化,或移到合适的位置,以免播放器遮挡表单上的内容。若要停止播放,可关闭播放器窗口,若想再进行播放,可双击图标。如果想换一首曲子,可单击播放器的File菜单项,打开其他文件。也可以选定播放器的Repeat项,以进行不间断的重复播放.
34.系统分析与规范化设计(p115-119)系统分析(用户需求)
学生成绩表、课程表、学生注册卡
教学管理需求规范化设计
将用户需求的日常表规范成VFP能够处理的规范表,选择数据项使每一个表达到BCNF,生成关系模型。学生注册表(学号,姓名,年龄,性别,班级,注册日期,注册,照片,说明)教师授课表(教师姓名,课号,课时,授课时间,班级)成绩表(学号,课号,成绩),为什么姓名、课程名称不能放入该关系?课程名称表(课号,课程名)规范化35.教师授课表的设计教师姓名课程号课时授课时间班级翁正科C601200142153微机200201李成刚C602100112352微机200201严明C603120123142微机200201李成刚C604220223241微机200201赵高C605804351微机200201翁正科C6011501222334251微机200202推导出课程表思考:1.该关系的主码是什么?2.课程名称能否放入该关系中?为什么?36.数据库逻辑设计目的:将关系模型转换为VFP能够处理的形式任务:定义字段名称、规定数据类型等结构设计,索引、约束、参照完整性等设计(p119-121)学生注册表(STUDENT)(SNO,C,8;SNAME,C,8;SOLD,N,2;SSEX,C,2;SCLASS,C,10,SREGT,D,SREGL,L,SPOH,G,SDOC,M)主索引名称:SNO,主索引表达式:SNO约束:学号中不能出现字母;年龄在17-25;班级和学号间有联系,即学号的前6位是班级的后6位;有注册日期才能表示已注册;性别只能是”男””女”或空.37.数据库逻辑设计课程名称表
(COURSE)(CNO,C,4;CNAME,C,16)主索引名称:CNO,主索引表达式:CNO成绩表
(GRADE)(SNO,C,8;CNO,C,4;SCORE,N,6,2)主索引名称:SCNO,主索引表达式:SNO+CNO教师授课表
(TEACHING)(TNAME,C,6;CNO,C,4;CDATE,C,12;SCLASS,C,10)主索引名称:TNCS,主索引表达式:TNAME+CNO+SCLASS38.系统总体逻辑设计教学管理系统学生管理课程管理授课管理成绩管理学生注册打印花名册打印注册卡成绩录查成绩单课程安排班级课表课程对照表39.教学管理系统项目、数据库、表文件的创建文件与项目的建立无先后顺序注意区分项目的逻辑结构和文件的物理结构文件的调用必须用相对路径模块调试时设定默认子目录40.应用表单的设计查询与视图的设计学生管理表单:学生注册表表单(表单生成器、VFP组件应用、插入照片)学生花名册表单(视图为数据来源,个性化按钮)成绩管理表单视图为数据来源,系统类按钮成绩录查和成绩单表单按钮个性化注意表单的显示模式41.应用表单的设计课程对照表表单设计教师授课表单设计使用新奇表单样式,既能看到课程号,又能显示课程名(非视图方式,可以利用查找组合框,或者利用课程表和教师授课表的参照关系)将数字时间转化为可以看懂的课程表(使用另一个表单,调用课程表按钮及CLICK事件代码42.应用表单的设计课程表表单设计既能被调用,又可以单独运行组合框既可以作为表单单独运行时班级课程表的显示框(可选择),又可以作为调用时传递过来的班级的显示框(不可选择)文本框作为调用时教师姓名的显示框数组变量与全局变量的设置,参数的设置程序技巧,接受调用设计以及调用报表等43.VFP组件应用组件软件(ComponentSoftware)与组件对象模型(ComponentObjectModel,简称COM)COM是一种编程思想,它的出现可以说是程序设计的革命.它不必将所有函数和过程内置于应用程序内部,可以将用其他语言编写的类对象直接用于自己的程序,提高了开发速度和质量.44.VFP组件应用COM可分为可视的和不可视的.VFP的ActiveX控件(可视);数据校验控件是非可视的.VFP提供了大量的可直接使用的组件,其组织方式是以类库的形式存在.选择工具/组件管理库45.应用报表的设计学生注册卡报表课程表报表
创建课程表报表 在课程表表单中调用课程表报表报表的设计46.查询与视图1.查询与视图的关系2.VFP中的查询生成SQL-SELECT语句,可以粘贴到应用程序中,查询文件QPR中保存的是SQL语句,因此可以运行。(命令:DO文件名。)。3.查询和视图均可通过查询设计器和向导来建立。4.单表查询5.多表查询6.创建本地视图47.查询设计器字段选项卡的“函数和表达式”框,可以用来输入一个表达式。分组依据选项卡就是将一组类似的记录压缩成一个结果记录,以便完成对这一组记录的计算,通常查询结果要通过函数表达。48.查询与视图的关系视图与查询都是关系数据库中广泛使用的一种查找方式,但视图只能存在数据库中,是虚拟表,查询却可以是独立的数据文件视图与查询的重要区别是查询表中的数据,而视图中修改的数据能自动传递到原始的数据表,从而通过视图可更新数据。视图兼有表和查询的共同特点。49.报表设计1.在VFP中打印数据一般不会是将数据直接送打印机输出,而是先建立报表或标签文件,从数据表中提取内容,然后再打印报表或标签。2.报表和标签包括两个基本组成部分:数据源和数据布局。数据源可以是表、视图、临时表等。50.报表设计报表的设计报表向导快速报表报表设计器(报表设计器工具栏和报表控件工具栏)报表的带区说明使用报表设计器创建一个报表实例报表的预览与调用51.报表的带区说明带区显示次数使用方法标题每报表一次从报表菜单中选择“标题/总结”带区页标头每页面一次默认列标头每列一次从文件菜单中选择“页面设置”,设置“列数>1”组标头每组一次从报表菜单中选择“数据分组”细节每记录一次默认组注脚每组一次从报表菜单中选择“数据分组”列注脚每列一次从文件菜单中选择“页面设置”,设置“列数>1”页注脚每页面一次默认总结每报表一次从报表菜单中选择“标题/总结”带区52.使用报表设计器创建一个报表实例1.打开或新建项目及数据库2.启动报表设计器3.使用快速报表,将字段添加到细节区4.添加报表标题5.移动报表标题6.调整与修改页标头区的字段标题53.使用报表设计器创建一个报表实例8.调节细节区的字段9.绘制线条10.添加制表日期11.添加页码12.添加总结区13.修改报表布局14.保存报表15.调用报表(预览与打印)54.菜单的设计1.菜单与工具栏是应用系统的重要组成部分,菜单分普通菜单与快捷菜单。2.普通菜单的设计3.快捷菜单的设计
55.快捷菜单的设计1.创建快捷菜单注意在“显示”菜单的“常规选项”对话框中选中“设置”复选框,可以定义参数2.生成菜单3.将快捷菜单添加到表单中在设计表单时必须在表单rightclick事件过程中添加运行快捷菜单的代码:do快捷菜单程序名withthis4.运行表单56.普通菜单的设计设计步骤:启动菜单设计器→输入菜单名称及定义热键(如\<F)→输入菜单项→为菜单项指定任务→定义快捷键及状态信息(选项)→常规选项的设置→预览菜单→生成菜单(将mnx文件生成MPR命令文件)→运行菜单菜单系统选择逻辑设计将系统菜单引入用户菜单系统如何使用户菜单脱离VFP环境57.将系统菜单引入用户菜单系统引入整个下拉式菜单:常规菜单选项(追加、之前、之后)将某个下拉式菜单引入用户菜单(setsysmenuto,如setsysmenuto_msm_edit)将系统下拉式菜单项引入用户菜单(编辑状态下单击“插入栏”按钮,选择系统菜单项)但若菜单加在顶层表单上,则上述方法无效58.菜单系统选择逻辑设计1.声明数组变量,并使所有菜单项可选利用视图中的常规选择菜单项的设置(Setup)和清理(Clearup)选项2.设置单个菜单项选择逻辑表达式(在菜单编辑状态下选择选项,在SkipFor中设置)3.设置指定菜单项不能被选择(将结果设置为过程,在过程中编写代码),以“学生注册”为例4.恢复所有菜单项可选,如在“学生注册”表单的Destroy方法中,添写代码:Dosetskipintms.mpr59.选项设置快捷键(Shortcut)的设置跳过(SkipFor):输入逻辑表达式,如果该表达式为.T.,表示当前菜单项不能被选中(灰色显示),否则,表示可以选择信息(Message):表示可以提示的信息主菜单名(PadName):该菜单项内部使用的名称,如果不指定,则系统随机给定。60.普通菜单常规选项的设置过程:如果菜单项的结果选择的是过程而有没有创建代码,可在此创建菜单代码设置(SETUP)相当于菜单的INIT(可以向菜单系统添加初始化代码,该代码运行在显示菜单的命令之前)清理(Cleanup)相当于菜单的Destroy(可以向菜单系统添加清理代码,运行在显示菜单的命令之后,因此可以将菜单中可调用的过程放在此处)如声明数组变量以控制菜单项的被选择情况代码可利用此功能位置用户菜单和系统菜单的关系顶层表单是否将菜单放在顶层表单上61.如何使用户菜单脱离VFP环境1.创建一个顶层表单2.将菜单设置成可用于顶层表单在“显示”菜单的“常规选项”对话框中选中“顶层表单”复选框3.将顶层表单添加到菜单所属项目中4.运行表单62.创建一个顶层表单1.设置表单的ShowWindow属性为“2-作为顶层表单”2.在表单的Init事件中输入代码:Application.visible=.f.(隐藏VFP主窗口)DO菜单程序名WITHTHIS,.T.This指表单,.t.指为菜单指定一个唯一的名字3.在表单的Destroy事件中输入代码:
Application.visible=.t.63.应用系统启动程序设计直接使用顶层表单启动程序编译后脱离VFP运行时会一闪而过。更通用的方法是设计启动程序分初始化部分、运行菜单系统部分和现场恢复部分初始化部分可以存储与设置各种环境变量,声明全程变量,设置登录口令(可创建表单)等也可以不必设计顶层表单,直接将菜单放在系统窗口中,可共享系统资源.64.如何撰写数据库系统设计报告引言系统需求分析概念结构设计逻辑结构设计(模块处理过程设计)数据库设计接口设计系统安全设计测试设计65.引言软件设计背景、目的、主要功能介绍以及参考资料包括参考的文件(如经核准的计划任务书或合同、上级领导的批文等)、资料、技术标准等。编写本报告时查阅的Internet上杂志、专业著作、技术标准以及网址等。)其他需要说明的问题(如术语、缩写等)列出本报告中专门术语的定义和英文缩写词的原词组,如SPP
精简并行过程,SimplifiedParallelProcess;SD
系统设计,SystemDesign。66.系统需求分析主要指用户需求访谈,收集报表数据字典、数据流、数据存储的描述对数据库设计中涉及到的各种项目,如数据项、记录、表、数据库等建立数据字典,以说明它们的标识符、同义名及有关信息。系统运行环境设计教学管理需求系统运行环境(操作系统、数据库管理系统、以及其他支撑软件)硬件运行环境(主机、内存)67.概念结构设计画出E-R图初步E-R图合成学生学号姓名年龄性别选择课程课程号课程名教师号成绩P119页的关系模型不是规范的E-R图,规范的E-R图应该如右图的样式68.逻辑结构设计(模块处理过程设计)绘制系统模块图说明“如何”以及“为什么”(howandwhy)如此分解系统。说明各子系统如何协调工作,从而实现原系统的功能。
对各模块进行说明各模块的用途、使用(调用)方式;
说明其每个子程序(方法,Method)、特性(Property)和反馈的事件(Event),相应的输入、输出项说明。69.逻辑结构设计(模块处理过程设计)模块功能介绍(详细)主程序流程图选择成绩管理授课管理系统维护退出学生管理主菜单界面用户登录开始退出70.数据库设计
分析数据项
规范化设计数据库逻辑设计(P119)(详细)表的结构设计代码设计:如学号代码。左起四位代表入学时间,左起4-5位表示班级,左起6-7位表示学号流水号,后三位表示专业编号。约束设计关联与参照完整性设计71.接口设计用户接口:描述该软件与用户的接口,包括用户输入输出界面样式、操作方式和界面间的转移关系。如具有等同作用的文件(使用开发工具编写的界面原型程序等)
软件接口
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国投资银行业市场现状供需分析及投资评估规划分析研究报告
- 2026中国新能源汽车电池产业供需结构及投资价值评估专项分析报告
- 2026区域数字文化产业当前市场现状及影响投资方向规划分析报告
- 2026中国食品添加剂行业市场供需与产品创新研究报告
- 2026年河北省深州市《行测》考试考前冲刺试卷完整版附答案详解
- 2026年广东省陆丰市《行测》考试备考题库及参考答案详解
- 胰腺炎护理诊断及措施重症
- 2026年道路交通安全劝导员试卷(附答案)
- 华灵知识产权代理有限公司商务人员薪资管理办法
- 2026年安徽省公务员考试(面试)综合试题及答案
- 2026广西壮族自治区经济社会技术发展研究所招聘编外聘用人员3人笔试题库含答案详解(A卷)
- 危险化学品重大危险源企业安全隐患排查重点课件
- 2026海南省生态环境监测中心公开招聘事业编制人员10人笔试备考题库及答案详解
- TCECS 273-2024 组合楼板技术规程
- 肿瘤患者的姑息治疗护理
- GJB3243A-2021电子元器件表面安装要求
- 宿管员安全培训
- YS/T 857-2012银条
- LY/T 1575-2000汽车车厢底板用竹篾胶合板
- GB/T 6505-2001合成纤维长丝热收缩率试验方法
- GB/T 17505-2016钢及钢产品交货一般技术要求
评论
0/150
提交评论