课程序设计实例.doc_第1页
课程序设计实例.doc_第2页
课程序设计实例.doc_第3页
课程序设计实例.doc_第4页
课程序设计实例.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

长治学院长治学院课程设计报告课程名称: DELPHI原理及应用课程设计 设计题目: 人口普查系统 系 别: 计算机系 专 业: 计算机科学与技术 学生姓名: 刘汉一 学 号: 04107125 起止日期: 2008年 2月26 日 2008年3月14 日 指导教师: 孙俊杰 课程设计题目人口普查系统姓名刘汉一学号04107125班级04级计1班系别计算机系专业计算机科学与技术组员刘汉一、李建民、任亚峰指导教师孙俊杰课程设计目的1、 为了乡镇单位对人口普查的管理更方便;2、为了减轻行政人员的工作负担。课程设计环境Access2003、Delphi7、windows XP课程设计任务和要求人口普查系统以计算机为工具,通过对人口普查所需的信息管理,把管理人员从繁琐的数据计算处理中解脱出来,使其有更多的精力从事人口管理政策的研究实施,从而全面提高工作质量。课程设计工作进度计划序号起止日期工 作 内 容12008-2-26需求分析、功能设计22008-2-27设计E-R图、建立数据库32008-2-28应用窗口42008-3-8人口录入及查询等其他窗口52008-3-10写实验报告62008-3-14提交作业教研室审核意见:教研室主任签字: 年 月 日教学院(系)审核意见:主任签字: 年 月 日 目 录第一章 需求分析 -1第二章 开发过程 -22.1系统目标-32.2合理的设计数据库-42.3设计出友好的界面-42.4实现基本功能和和一些特殊的功能-42.5功能划分-52.6系统功能分析-5第三章 详细设计-63.1系统设计方法-73.2数据库设计-73.3系统结构设计-73.4系统界面设计-7第四章 调试与操作说明-7第五章 课程设计与体会-8致谢参考文献第一章 需求分析用户需求分析该实习完成的是一个简单的人口普查系统,功能比较简单,要在实际中应用还需进一步的改进和功能的进一步的扩充,它实现的功能如下1、完成人口情况数据的录入。2、实现人口信息的简单查询、高级查询及人数的统计。使用的开发工具:DELPHI7Access.系统的设计第二章 开发过程2.1系统目标开发本系统的目的在于代替当前系统的手工计算、制表等工作。我们一般设计系统都要完成以下的几个要求,以便于用户进行操作。这样才能使系统易学易用。2.2 合理的设计数据库尽量合理地减少数据库数据的冗余,使重复的数据保持在最小限度,这样将不必要的多占用存储空间,减少产生混乱影响的危险,还能提高计算机的运行速度。2.3设计出友好的界面界面的友好与否是用户评价一个软件优劣的重要方面之一,使用户有一个良好的心情。另外窗口界面要多用按钮和快捷键,少用菜单,窗口的各个控件布局要合理,美观。要充分的利用DELPHI提供的强大的功能,多用窗口和控件,充分体现窗口的多元化格局。2.4实现基本功能和一些特殊功能的操作该系统要求除了能实现信息的录入,删除,插入,更新等基本功能之外,还要求能够根据用户的需要进行操作。2.5功能划分本系统的功能主要划分为:1.人口登记2.查询模块和统计分析 3.版本功能描述如下:1.人口登记:实现人口信息登记2.查询:根据人口信息进行查询 统计分析:综合条件查询3.版本:设计者名单及相关信息2.6系统功能分析 开发这个系统的目的就是要帮助政府的户籍部门提高工作效率,实现人口管理系统的系统化、规范化和自动化。根据这个系统所要实现的目的和任务,总结出这个系统最终要实现的主要功能如下:l 数据设置部分:主要包括人口情况录入功能。l 数据采集部分:主要完成日常登记。l 数据查询部分:主要包括人口信息查询、人口情况统计。人口登记模块具体功能及数据流图A、考勤信息管理数据概况列表如下:输入:身份证、姓名、年龄、职业、性别、职业等级、最高职业、工资收入、国籍、家庭人口数、婚否处理:登记人口信息记录。数据存储:人口登记记录。输出:进行下一条记录。B、人口登记基本情况操作数据流图:用户增加D1人口情况基本表新增记录C、人口普查查询数据概况:输入:输入查询内容处理:查询所需数据数据存储:人口基本信息。输出:操作结果。D、考勤基本情况增、删、改数据流图如下:用户查询D1 人口登记基本表窗口展示第三章系统设计3.1 系统设计的方法系统设计是把需求转化为软件系统的最重要的环节。系统设计的优劣在根本上决定了软件系统的质量。系统设计的五个方面的内容:体系结构设计、模块设计、数据库设计数据结构与算法设计、用户界面设计。 3.2数据库设计3.2.1数据库设计概述 数据库是信息管理系统的后台,存储着所有的信息,在信息管理系统中有着很重要的地位。数据库设计的好与坏,直接影响到这个系统的运行效率。良好的数据库设计,可以提高数据信息的存储效率,保证数据信息的完整性和一直性。同时,一个合理的数据库结构有利于程序的实现。这里选用Access 2000作为后台数据库。3.2.2数据实体字典数据表定义字段名字段型字段长度约束性身份证号码char无限制主键姓名文本主键年龄char缺省为空职业日期/时间yyyy-mm-dd性别男 /女空职称等级文本空最高学历文本空工资收入char空国籍文本空家庭人口数char空婚否文本缺省为空3.3系统的结构设计图2 系统E-R图流程图登录帮助学生管理课程管理人口情况查询人口情况输入人口信息统计课程安排录入学科专业信息帮助版本图2.1 数据库结构设计E-R 图3.4系统的界面设计系统通过建立窗口完成登录,如图2.2 表2.3任意报表表(1) “确定”代码如下:procedure TForm4.Button1Click(Sender: TObject);begin if Edit2.Text123 then if Edit2.Text= then ShowMessage(请输入密码!) else begin ShowMessage(密码不正确,请重新输入!) ; Edit2.Text:=; end else begin Form1.Show; Form4.Hide; end;end;end. (2)退出close代码如下:procedure TF_main.closeBitBtnClick(Sender: TObject);begin disposecontrols; close;end;(2)previewbitbtn代码如下:procedure TF_main.previewBitBtnClick(Sender: TObject);var i:integer; leftx:integer; widthperbyte:integer; Heading:TQRlabel; QRLabel: TQRlabel; QRshape1: TQRshape; QRshape2: TQRshape; QRdbtext: TQRDBtext;begin widthperbyte:=10; / 每个字节对应的像数 columnswidth; /计算最大列宽与总宽度 disposecontrols; /释放动态创建的控件 if totalwidth*widthperbyte1123 then begin Application.MessageBox(报表超宽,请调整再输出!,警告,1);/输出对话框 exit; end else if totalwidth*widthperbyte794 then F_report.QuickRep1.Page.Orientation:=polandscape /横向 else F_report.QuickRep1.Page.Orientation:=poPortrait;/纵向 Heading:=TQRlabel.Create(self); /创建TQRlabel控件 Heading.parent:=F_report.TitleBand1; /设置其容器控件 Heading.Caption:=动态报表生成示例; /报表标题 Heading.Font.Size:=16; Heading.Font.Style:=fsbold; Heading.Alignment:=tacenter; Heading.Width:=Length(动态报表生成示例)*(widthperbyte+4); Heading.Left:=(F_report.QuickRep1.Width-Heading.width)div 2; Heading.Height:=F_report.TitleBand1.Height-1; Heading.Top:=0; Leftx:=(F_report.quickrep1.width-totalwidth*widthperbyte)div 2; F_report.QuickRep1.Font.Size:=12; for i:=0 to Listbox2.items.count-1 do /根据所选择字段的数目来动态创建 begin QRShape1:=TQRSHape.Create(self); QRShape1.parent:=F_report.ColumnHeaderBand1; QRShape1.Left:=Leftx; QRShape1.Width:=maxwidth*widthperbyte+4; QRShape1.Height:=F_report.ColumnHeaderBand1.Height; QRShape1.top:=0; QRLabel:=TQRLabel.Create(self); QRLabel.parent:=F_report.ColumnHeaderBand1; QRLabel.Font.Style:=fsbold; QRLabel.Left:=Leftx+2; QRLabel.width:=maxwidth*widthperbyte; QRLabel.height:=F_report.ColumnHeaderBand1.Height-2; QRLabel.top:=1; QRLabel.caption:=Listbox2.Items.Stringsi; QRShape2:=TQRSHAPE.Create(self); QRShape2.Parent:=F_report.DetailBand1; QRShape2.Left:=Leftx; QRShape2.Width:=maxwidth*widthperbyte+4; QRShape2.Height:=F_report.DetailBand1.Height; QRShape2.top:=0; QRDBText:=TQRDBText.Create(self); QRDBText.parent:=F_report.DetailBand1; QRDBText.Left:=Leftx+2; QRDBText.Width:=maxwidth*widthperbyte; QRDBText.Height:=F_report.DetailBand1.Height-2; QRDBText.Top:=1; QRDBText.DataSet:=F_report.Table1; QRDBText.DataField:=Listbox2.Items.Stringsi; Leftx:=Leftx+maxwidth*widthperbyte+4; end; F_report.Table1.Active:=true; F_report.QuickRep1.Preview;End;(4)退出close代码如下:procedure TF_main.closeBitBtnClick(Sender: TObject);begin disposecontrols; close;end;第四章 调试与操作说明在系统的制作过程中,我们遇到了很多错误.出现错误时,按提示进行初步定位错误在什么地方进而仔细检查是代码错误还是其他系统性的错误从而根据错误进行修改,操作时一定要注意规范程度免的带来不必要的麻烦,给系统的正常运行又设置了障碍。调试时出现没定义之类的错误,经发现是代码出错.第五章 课程设计总结与体会由于我的经验不足及阅历颇浅,因此,在该系统的设计方面还有很多不足,比如功能过少,代码不够优化等问题,我会在以后的学习、工作的过程中,根据工作的具体要求不断的修改,完善,争取使该系统慢慢趋向完美。一般来说,应用程序有两部分组成,一部分是界面,另一部分是数据处理,特别是数据库操作。一个典型的数据库应用程序有数据库、菜单、用户界面和报表等组成。在设计应用程序时,应仔细考虑每个组件将提供的功能以及该组件与其他组件之间的关系。谢辞:在本系统是我第一次尝试这么大的软件编程。在刚开发系统完毕准备开始写论文时我对论文的写法是一片空白,因为在此之前我还没有接触过这一类的文章的写作,并且涉及到我是否能够毕业的问题所以我迟迟无法下手写作。在查了许多资料后,我才开始我的第一篇论文的写作之旅。参 考 文 献:1 实例解析Delphi7.0应用编程,李林,张亮,北京希望电子出版社,2000。2 Delphi5企业级解

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论