课程设计大报告

课程设计大报告
课程设计大报告

课程设计大报告

课程设计大报告

云存储关键技术

班级: 021151

学号: 02115036

学生:王亦玮

指导老师:朱虎明

时间: 2014年9月

从狭义上来说,云存储是指通过虚拟化、分布式技术、集群应用、网格技术、负载均衡等技术,将网络中大量的存储设备通过软件集合起来高效协同工作,共同对外提供低成本、高扩展性的数据存储服务。

从广义上来讲,云存储可以理解为按需提供的虚拟存储资源,如同云计算的Paas、Iaas服务一样,可称为数据存储即服务(Data Storage As a Service,DaaS),即基于指定的服务水平请求,通过网络提供适当的虚拟存储和相关数据服务。

1.3 定义3

云存储不是指某一个具体的设备,而是指一个由许许多多个存储设备和服务器所构成的集合体。使用者使用云存储,并不是使用某一个存储设备,而是使用整个云存储系统带来的一种数据访问服务。云存储的核心是应用软件与存储设备相结合,通过应用软件来实现存储设备向存储服务的转变。

1.4 定义4

云存储就是将储存资源放到网络上供人存取的一种新兴方案。使用者可以在任何时

间、任何地方,透过任何可连网的装置方便地存取数据。

综合以上定义,云存储系统应具有以下通用特征:

★高可扩展性:云存储系统可支持海量数据处理,资源可以实现按需扩展;

★低成本:云存储系统应具备高性价比的特点,低成本体现在两方面,更低的建设成本和更低的运维成本;

★无接入限制:相比传统存储,云存储强调对用户存储的灵活支持,服务域内存储资源可以随处接入,随时访问;

★易管理:少量管理员可以处理上千节点和PB 级存储,更高效的支撑大量上层应用对存储资源的快速部署需求。

2 云存储架构

云存储是由一个网络设备、存储设备、服务器、应用软件、公用访问接口、接入网和客户端程序等组成的复杂系统。以存储设备为核心,通过应用软件来对外提供数据存储和业务访问服务。云存储的架构如下图所示:

★存储层:存储设备数量庞大且分布在不同地域,彼此通过广域网、互联网或光纤通道网络连接在一起。在存储设备之上是一个统一存储设备管理系统,实现存储设备的逻辑虚拟化管理、多链路冗余管理,以及硬件设备的状态监控和故障维护。

★基础管理层:通过集群、分布式文件系统和网格计算等技术,实现云存储设备之间的协同工作,使多个的存储设备可以对外提供同一种服务,并提供更大更强更好的数据访问性能。数据加密技术保证云存储中的数据不会被未授权

的用户访问,数据备份和容灾技术可以保证云存储中的数据不会丢失,保证云存储自身的安全和稳定。

★应用接口层:不同的云存储运营商根据业务类型,开发不同的服务接口,提供不同的服务。例如视频监控、视频点播应用平台、网络硬盘,远程数据备份应用等。

★访问层:授权用户可以通过标准的公用应用接口来登录云存储系统,享受云存储服务。

3 云存储中的关键技术

3.1 云存储中的存储虚拟化

通过存储虚拟化方法,把不同厂商、不同型号、不同通信技术、不同类型的存储设备互联起来,将系统中各种异构的存储设备映射为一个统一的存储资源池。存储虚拟化技术能够对存储资源进行统一分配管理,又可以屏蔽存储实体间的物理位置以及异构特性,实现了资源对用户的透明性,降低了构建、管理和维护资源的成本,从而提升云存储系统的资源利用率。

3.1.1 主要存储虚拟化技术

存储虚拟化技术虽然不同设备与厂商之间略有区别,但从总体来说,可概括为基于主机

虚拟化、基于存储设备虚拟化和基于存储网络虚拟化三种技术。

★基于主机的虚拟化存储的实现,其核心技术是通过增加一个运行在操作系统下的逻辑卷管理软件将磁盘上的物理块号映射成逻辑卷号,并以此实现把多个物理磁盘阵列映射成一个统一的虚拟的逻辑存储空间(逻辑块)实现存储虚拟化的控制和管理。从技术实施层面看,基于主机的虚拟化存储不需要额外的硬件支持,便于部署,只通过软件即可实现对不同存储资源的存储管理。但是,虚拟化控制软件也导致了此项技术的主要缺点:首先,软件的部署和应用影响了主机性能;其次,各种与存储相关的应用通过同一个主机,存在越权访问的数据安全隐患;最后,通过软件控制不同厂家的存储设备存在额外的资源开销,进而降低系统的可操作性与灵活性。★基于存储设备虚拟化技术依赖于提供相关功能的存储设备的阵列控制器模块,常见于高端存储设备,其主要应用针对异构的SAN存储构架。此类技术的主要优点是不占主机资源,技术成熟度高,容易实施;缺点是核心存储设备必须具有此类功能,且消耗存储控制器的资源,同时由于

异构厂家磁盘阵列设备的控制功能被主控设备的存储控制器接管导致其高级存储功能将不能使用。

★基于存储网络虚拟化的技术的核心是在存储区域网中增加虚拟化引擎实现存储资源的集中管理,其具体实施一般是通过具有虚拟化支持能力的路由器或交换机实现。在此基础上,存储网络虚拟化又可以分为带内虚拟化与带外虚拟化两类,二者主要的区别在于:带内虚拟化使用同一数据通道传送存储数据和控制信号,而带外虚拟化使用不同的通道传送数据和命令信息。基于存储网络的存储虚拟化技术架构合理,不占用主机和设备资源;但是其存储阵列中设备的兼容性需要严格验证,与基于设备的虚拟化技术一样,由于网络中存储设备的控制功能被虚拟化引擎所接管,导致存储设备自带的高级存储功能将不能使用。

3.1.2 存储虚拟化技术对比

用表格的方式对三种存储虚拟化技术的技术优点与缺点、适应场景等进行了分析对比,结果如下:

3.2 云存储中的分布式存储技术

分布式存储是通过网络使用服务商提供的各个存储设备上的存储空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在各个存储设备上。目前比较流行的分布式存储技术为:分布式块存储、分布式文件系统存储、分布式对象存储和分布式表存储。

3.2.1 分布式块存储

块存储就是服务器直接通过读写存储空间中的一个或一段地址来存取数据。由于采用

直接读写磁盘空间来访问数据,相对于其他数据读取方式,块存储的读取效率最高,一些大型数据库应用只能运行在块存储设备上。分布式块存储系统目前以标准的Intel/Linux 硬件组件作为基本存储单元,组件之间通过千兆以太网采用任意点对点拓扑技术相互连接,共同工作,构成大型网格存储,网格内采用分布式算法管理存储资源。此类技术比较典型的代表是IBM XIV 存储系统,其核心数据组件为基于Intel 内核的磁盘系统,卷数据分布到所有磁盘上,从而具有良好的并行处理能力;放弃RAID技术,采用冗余数据块方式进行数据保护,统一采用SATA盘,从而降低了存储成本。

3.2.2 分布式文件系统存储

文件存储系统可提供通用的文件访问接口,如POSIX、NFS、CIFS、FTP等,实现文件与目录操作、文件访问、文件访问控制等功能。目前的分布式文件系统存储的实现有软硬件一体和软硬件分离两种方式。主要通过NAS虚拟化,或者基于X86硬件集群和分布式文件系统集成在一起,以实现海量非结构化数据处理能力。

软硬件一体方式的实现基于X86硬件,利

用专有的、定制设计的硬件组件,与分布式文件系统集成在一起,以实现目标设计的性能和可靠性目标;产品代表Isilon,IBM SONAS GPFS。

软硬件分离方式的实现基于开源分布式文件系统对外提供弹性存储资源,软硬件分离方式,可采用标准PC服务器硬件;典型开源分布式文件系统有GFS、HDFS。

3.2.3 分布式对象存储

对象存储是为海量数据提供Key-Value 这种通过键值查找数据文件的存储模式;对象存储引入对象元数据来描述对象特征,对象元数据具有丰富的语义;引入容器概念作为存储对象的集合。对象存储系统底层基于分布式存储系统来实现数据的存取,其存储方式对外部应用透明。这样的存储系统架构具有高可扩展性,支持数据的并发读写,一般不支持数据的随机写操作。最典型的应用实例就是亚马逊的S3(Amazon Simple Storage Service)。对象存储技术相对成熟,对底层硬件要求不高,存储系统可靠性和容错通过软件实现,同时其访问接口简单,适合处理海量、小数据的非结构化数据,如:邮箱、网盘、相册、音频视频存储等

3.2.4 分布式表存储

表结构存储是一种结构化数据存储,如传统数据库相比,它提供的表空间访问功能受限,但更强调系统的可扩展性。提供表存储的云存储系统的特征就是同时提供高并发的数据访问性能和可伸缩的存储和计算架构。

提供表存储的云存储系统有两类接口访问方式。一类是标准的xDBC、SQL数据库接口,一类是Map-reduce的数据仓库应用处理接口。前者目前以开源技术为主,尚未有成熟的商业软件,后者已有商业软件和成功的商业应用案例。

3.2.5 分布式存储总结

如今分布式存储系统已经得到了快速的发展,其技术已经较为成熟。先进的分布式存储系统必须具备下面几个特性:高性能、高可靠性、高可扩展性、透明性以及自治性。

★高性能:对于分布式系统中的每一个用户都要尽量减小网络的延迟和因网络拥塞、网络断开、节点退出等问题造成的影响;

★高可靠性:高可靠性是大多数系统设计时重点考虑的问题。分布式环境通常都有高可靠性需求,用户将文件保存到分布式存储系统的基本要

求是数据可靠;

★高可扩展性:分布式存储系统需要能够适应节点规模和数据规模的扩大;

★透明性:需要让用户在访问网络中其他节点中的数据时能感到像是访问自己本机的数据一样;★自治性:分布式存储系统需要拥有一定的自我维护和恢复功能。

3.3 云存储中的数据备份

3.3.1 副本数据布局

一种被广泛采用的副本布局方式是通过集中式的存储目录来定位数据对象的存储位置。这种方法可以利用存储目录中存放的存储节点信息,将数据对象的多个副本放置在不同机架上,这样可大大提高系统的数据可靠性。谷歌文件系统(Google File System,GFS)、Hadoop 分布式文件系统( Hadoop Distributed File System,HDFS)等著名的分布式文件系统都采用了这种数据布局方式,然而,基于集中式存储目录的数据放置方式存在以下两个缺陷:

1.随着存储目录的增长,查找数据对象所需的开销也会越来越大;

2.为提高数据对象的定位速度,一般情况下都会将存储目录存放在服务器内存中,对于PB 级的云存储系统来说,文件的数量可能达到上亿级,这导致存储目录将会占用上百GB的内存。因此,当数据对象数量达到上亿级别时,基于集中式存储目录的数据放置方法在存储开销和数据定位的时间开销上都是难以接受的,此外,还会大大限制系统的扩展性。

另一种副本布局方法是基于哈希算法的副本布局方法,它完全摒弃了记录数据对象映射信息的做法。基于哈希算法的副本布局方法需要满足以下要求:

1.均衡性:根据节点权重为存储节点分配数据对象。

2.动态自适应性:当系统中的节点数量发生变化时,需迁移的数据量应该尽量少。

3.低性能开销。

4.高效性:确定副本位置所需的时间开销尽可能小,理想情况下为 O( 1) 。

3.3.2传统的备份策略

典型的用户备份流程是这样的:每天都要在凌晨进行一次增量备份,然后每周末凌晨进行

全备份。采用这种方法,一旦出现了数据灾难,用户可以恢复到某天(注意是以天为单位的)的数据,因此在最坏的情况下,可能丢失整整一天的数据。

那么,能不能缩小备份时间单位呢?比如,可不可以每半天进行一次增量备份呢?答案是非常困难。因为每次进行备份的数据量都很大的情况下,备份时间窗口很大,需要繁忙的业务系统停机很长时间才能做到。

因此,为了确保数据的更高安全性,用户必须对在线系统实行在线实时复制,尽可能多地采用快照等磁盘管理技术维持数据的高可用性,这样势必需要增加很大一部分投资。

3.3.3 连续数据保护

连续数据保护(CDP)是一种连续捕获和保存数据变化,并将变化后的数据独立于初始数据进行保存的方法,而且该方法可以实现过去任意一个时间点的数据恢复。CDP系统可能基于块、文件或应用,并且为数量无限的可变恢复点提供精细的可恢复对象。

因此,所有的CDP解决方案都应当具备以下几个基本的特性:数据的改变受到连续的捕获和

跟踪;所有的数据改变都存储在一个与主存储地点不同的独立地点中;恢复点目标是任意的,而且不需要在实际恢复之前事先定义。

所以,CDP可以提供更快的数据检索、更强的数据保护和更高的业务连续性能力,而与传统的备份解决方案相比,CDP的总体成本和复杂性都要低。

尽管一些厂商推出了CDP产品,然而从它们的功能上分析,还做不到真正连续的数据保护,比如有的产品备份时间间隔为一小时,那么在这一小时内仍然存在数据丢失的风险,因此,严格地讲,它们还不是完全意义上的CDP产品,目前我们只能称之为类似CDP产品。

3.4 云存储中的数据缩减技术

为应对数据存储的急剧膨胀,企业需要不断购置大量的存储设备来满足不断增长的存储需求。权威调查机构的研究发现,企业购买了大量的存储设备,但是利用率往往不足50%,存储投资回报率水平较低。数据量的急剧增长为存储技术提出了新的问题和要求,怎样低成本高效快速地解决无限增长的信息的存储和计算问题摆在科学家的面前。通过云存储技术不仅解决了

存储中的高安全性、可靠性、可扩展、易管理等存储的基本要求,同时也利用云存储中的数据缩减技术,满足海量信息爆炸式增长趋势,一定程度上节约企业存储成本,提高效率。

3.4.1 自动精简配置

自动精简配置是一种存储管理的特性,核心原理是“欺骗”操作系统,让操作系统认为存储设备中有很大的存储空间,而实际的物理存储空间则没有那么大。传统配置技术为了避免重新配置可能造成的业务中断,常常会过度配置容量。在这种情况下,一旦存储分配给某个应用,就不可能重新分配给另一个应用,由此就造成了已分配的容量没有得到充分利用,导致了资源的极大浪费。而精简配置技术带给用户的益处是大大提高了存储资源的利用率,提高了配置管理效率,实现高自动化的数据存储。

自动精简配置技术是利用虚拟化方法减少物理存储空间的分配,最大限度提升存储空间利用率。这种技术节约的存储成本可能会非常巨大,并且使存储的利用率超90%。通过“欺骗”操作系统,造成的好像存储空间有足够大,而实际物理存储空间并没有那么大。自动精简配

置技术的应用会减少已分配但未使用的存储容量的浪费,在分配存储空间时,需要多少存储空间系统则按需分配。自动精简配置技术优化了存储空间的利用率,扩展了存储管理功能,虽然实际分配的物理容量小,但可以为操作系统提供超大容量的虚拟存储空间。随着数据存储的信息量越来越多,实际存储空间也可以及时扩展,无需用户手动处理。利用自动精简配置技术,用户不需要了解存储空间分配的细节,这种技术就能帮助用户在不降低性能的情况下,大幅度提高存储空间利用效率;需求变化时,无需更改存储容量设置通过虚拟化技术集成存储,减少超量配置,降低总功耗。

自动精简配置这项技术最初由3Par公司开发,目前支持自动精简配置的厂商正在快速增加。这项技术已经成为选择存储系统的关键标准之一。但是并不是所有的自动精简配置的实施都是相同的。随着自动精简配置的存储越来越多,物理存储的耗尽成为自动精简配置环境中经常出现的风险。因此,告警、通知和存储分析成为必要的功能,并且对比传统环境,其在自动精简配置的环境中扮演了更主要的角色。

3.4.2 自动存储分层

自动存储分层(AST)技术主要用来帮助数据中心最大程度地降低成本和复杂性。在过去,进行数据移动主要依靠手工操作,由管理员来判断这个卷的数据访问压力或大或小,迁移的时候也只能一个整卷一起迁移。自动存储分层技术的特点则是其分层的自动化和智能化。传统配置方式与自动存储分层方式比较是一个整卷一起迁移。新技术的特点则是其分层的自动化和智能化。自动存储分层是存储上减少数据的另外一种机制。一个磁盘阵列能够把活动数据保留在快速、昂贵的存储上,把不活跃的数据迁移到廉价的低速层上,以限制存储的花费总量。自动存储分层的重要性随着固态存储在当前磁盘阵列中的采用而提升,并随着云存储的来临而补充内部部署的存储。自动存储分层使用户数据保留在合适的存储层级,因此减少了存储需求的总量并实质上减少了成本,提升了性能。数据从一层迁移到另一层的粒度越精细,可以使用的昂贵存储的效率就越高。子卷级的分层意味着数据是按照块来分配而不是整个卷,而字节级的分层比文件级的分层更好。如何控制数据在层间移动的内部工

大数据课程设计报告

大数据课程设计报告 导语:读书切戒在慌忙,涵泳工夫兴味长。未晓不妨权放过,切身须要急思量。以下小编为大家介绍大数据课程设计报告文章,欢迎大家阅读参考! 大数据课程设计报告最近几年,我国各个院校相继开设交互设计课程,但是目前我国的交互设计教学处于初步阶段,交互设计教学的模式研究仍然是一个值得重视的问题。本文通过对我国交互设计现状的分析,探讨现代教学模式中存在的问题,针对问题提出相关建议,以期推进我国交互设计教学的进步。 交互设计;教学模式;大数据时代 随着科学技术和互联网的发展,交互设计越来越受到人们的重视。联想、新浪、腾讯等等众多企业对交互设计人才的需求越来也多,但是行业内人才比较缺乏。如何提高交互设计专业的教学质量,满足日益增长的人才需要,成为教育工作者亟需解决的一个难题。 《高等教育法》第5条规定:“高等教育的任务是培养具有创新精神和实践能力的高级专门人才,发展科学技术文化,促进社会主义现代化建设。”这意味着高等教育肩负着人才培养和科学技术文化发展两大任务,高校理工科教师身兼教学工作者和科研工作者双重身份,在教学与科研两大阵

地中耕耘。因此,发挥高校理工科教师的双重角色优势,在理工科教学的课堂上引入科学研究的思维与方法,使大学生“像科学家一样工作”地学习,能促进“学术性之教学”的形成,培养创新精神与实践能力,铸造学生的科学精神与人文精神。基于此,如何将科研思维有效地引入课堂是值得探索的一个方向。 最近几年,交互设计专业在我国各个院校相继开设,发展迅速,但是我国的交互设计教学的发展仍然处于初级阶段,虽然在交互专业教学方面积累了一定的经验,却也存在不少问题。 课堂教学以教师为中心目前,各个院校主要利用多媒体进行交互设计课程教学,这种教学模式是通过老师向学生传递知识,学生接受知识,从而完成教学的目的,但是这种教学模式只考虑到了课程内容的前瞻性和系统性,并没有考虑到怎样才能保证教学的效率,因而造成学生在学习的过程处于被动的位置。 课程体系不完善交叉设计是一门综合性很强的专业,涉及设计艺术学、计算机科学、认知科学、心理学等等交叉研究的领域。但是目前各个院校内交叉设计这门课程的教学体系还不够完善,只包括了交互设计体验设计、交互界面设计、感性工学、人机工程学等课程。在逻辑学、认知心理学等方面很多院校还未创立相关课程。另外,很多院校设立的交叉

单片机电子时钟课程设计报告报告

目录 1、引言 (3) 2、总体设计 (4) 3、详细设计 (5) 3.1硬件设计 (5) 3.2软件设计 (10) 4、实验结果分析 (26) 5、心得体会 (27) 6、参考文献 (27)

摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习、应用,以AT89S51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由4.5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。 关键词:单片机AT89C51

1.引言 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。 目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路装化等几个方面发展。下面是单片机的主要发展趋势。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。

C语言课程设计报告-游戏2048

东华理工大学C语言课程设计报告 学院:国际教育学院学院专业:电子信息工程 班级:1420606 学号:201420060638 姓名:钟天运

一、课程设计题目:游戏2048 二、课程设计要求: a)使用C语言编写2048这款游戏 b)能够正常运行,拥有游戏界面。 c)能正常进行游戏从开始到结束。 d)用户操作方便 三、设计思路: a)游戏介绍: i.2048是一款简单的数字类游戏,界面是一个 4*4的方形格子。每个格子里可以为空或者有 一个2^n的数值。 ii.用户可以输入4种指令,分别是:上下左右,游戏会根据用户的指定的方向,将格子中 的数值向对应方向进行移动,直至移动到最边 上的格子或者有其他数值占用,如果碰到等大 数值,将会进行合并。此外,成功移动后,会 在一个空格子随机生成一个2或者4 iii.游戏目标是合成2048这个数值或者更大的数值。 b)实现思路: i.可以使用二维数组来保存4*4格子中的数值 ii.指令,可以通过输入字符函数,读取用户

在键盘上的方向键,进行判断执行对应的代 码。 iii.游戏界面,可以使用简单的特殊制表符,来实现,并通过清屏函数来进行反复同位置打 印界面。 iv.需要判断游戏结束的函数,以及记录游戏分数和步骤的变量 v.当游戏结束时,能够询问用户是否重新开始。 vi.随机生成一个新数,可以调用随机函数,使用时间做种子。 c)实现难点: i.打印游戏界面,要实现灵活能根据棋盘数组里 面的数据灵活打印。 ii.执行操作时,数值的移动和合并。

四、流程图

五、C语言源代码 // 游戏2048.c #include "windows.h" #include "time.h" #include "stdio.h" #include "conio.h" #include "string.h" //宏定义常量方向键值 //const int LEFT = 75, UP = 72, RIGHT = 77, DOWN = 80; #define LEFT 75 #define UP 72 #define RIGHT 77 #define DOWN 80 const char error_str[] = "您上次输入的指令无法识别,请重新输入。"; struct board { int place[4][4]; long int stepn; long int num; //存储游戏分数 long int time; int dtk; //direction key 记录方向键,及操作方向 int over; int zeronum; }; //该函数为游戏运行函数,当只是玩游戏的时候。进入该函数,游戏控制函数。int main() { //place数组为棋盘,其中为零代表空,-1代表不能合并的牌,其他2的倍数值为本身含义,初始化为全0。 struct board board1, board_backup; int newgame(struct board *, int), show(struct board *), operate(struct board *); char str[100] = "首次运行游戏"; //用于记录系统返回给用户的信息,例如:上一步执行向左合并,按键有误等 newgame(&board1, 0); //调用函数为新局初始化,第二个

数据库课程设计大作业

《数据库原理》课程设计报告 专业:测控技术与仪器 班级:测控071班 学号:200710402112 200710402115 姓名:杜文龙王京京 题目名称:物资管理系统 完成日期:2009年12月25日 昆明理工大学信息工程与自动化学院 2009年12月

物资管理系统 一、课程设计目的: 1.加深对讲授内容的理解 《数据库原理及应用》中有关数据库技术的基本理论、基本概念、设计与实现的方法和阶段性知识,光靠课堂讲授既枯燥无味又难以记住,但它们都很重要,要想熟练掌握,必须经过大量实践环节加深对它们的理解。 2.通过课程设计,掌握数据库系统设计与开发的方法及步骤 数据库是一门应用性很强的学科,开发一个数据库系统需要集理论、系统和应用三方面为一体,以理论为基础,以系统(DBMS)作支柱,以应用为目的,将三者紧密结合起来。同时结合实际需要开发一个真实的数据库系统,对于较大型的系统可多人一起完成,但无论如何都应完成数据库的需求分析、数据的分析与建模、数据库的建立、数据库的开发与运行等全部过程。在此过程中将所学的知识贯穿起来,达到能够纵观全局,分析、设计具有一定规模的题目要求,基本掌握数据库系统设计与开发的基本思路和方法并且做到对知识的全面掌握和运用。 3.培养学生自学以及主动解决问题的能力 通过本次设计,使同学能够主动查阅与数据库相关资料,掌握一些课堂上老师未曾教授的知识,从而达到培养学生自学以及主动解决问题的能力的目的。 二、课程设计基本要求: 1.课程设计应由学生本人独立完成,严禁抄袭。 2.掌握所学的基础理论知识,数据库的基本概念、基本原理、关系数据库的设 计理论、设计方法等。熟悉数据建模工具Visio与数据库管理系统SQLServer 软件的使用。 3.按时上机调试,认真完成课程设计。 4.认真编写课程设计报告。 三、需求分析 信息管理系统是集计算机技术、网络通讯技术为一体的信息系统工程,它能够使企业运行的数据更加准确、及时、全面、详实,同时对各种信息进一步地加工,使企业领导层对生产、经营的决策依据更充分,更具有合理性和库、科学性,并创建出更多的发展机会;另外也进一步加强企业的科学化、合理化、制度化、规范化管理,为企业的管理水平跨上新台阶,为企业持久、健康、稳定的发展打下基础。 这个物资管理系统是以客户机/服务器模式的信息管理模式的信息管理系统。它的开发过程不仅仅是一个编写应用程序的过程,而是以软件工程的思想为指导,从可行性研究开始,经过系统分析、系统设计、系统实施

大数据基础课程设计报告

大数据基础课程设计报告 一、项目简介: 使用hadoop中的hive、mapreduce以及HBASE对网上的一个搜狗五百万的数进行了一个比较实际的数据分析。搜狗五百万数据,是经过处理后的搜狗搜索引擎生产数据,具有真实性,大数据性,能够较好的满足分布式计算应用开发课程设计的数据要求。 搜狗数据的数据格式为:访问时间\t 用户 ID\t[查询词]\t 该URL 在返回结果中的排名\t 用户点击的顺序号\t 用户点击的 URL。其中,用户 ID 是根据用户使用浏览器访问搜索引擎时的 Cookie 信息自动赋值,即同一次使用浏览器输入的不同查询对应同一个用户ID。 二、操作要求 1.将原始数据加载到HDFS平台。 2.将原始数据中的时间字段拆分并拼接,添加年、月、日、小时字段。 3.将处理后的数据加载到HDFS平台。 4.以下操作分别通过MR和Hive实现。 ●查询总条数 ●非空查询条数

●无重复总条数 ●独立UID总数 ●查询频度排名(频度最高的前50词) ●查询次数大于2次的用户总数 ●查询次数大于2次的用户占比 ●Rank在10以内的点击次数占比 ●直接输入URL查询的比例 ●查询搜索过”仙剑奇侠传“的uid,并且次数大于3 5.将4每步骤生成的结果保存到HDFS中。 6.将5生成的文件通过Java API方式导入到HBase(一张表)。 7.通过HBase shell命令查询6导出的结果。 三、实验流程 1. 将原始数据加载到HDFS平台 2. 将原始数据中的时间字段拆分并拼接,添加年、月、日、小时字段 (1)编写1个脚本sogou-log-extend.sh,其中sogou-log-extend.sh的内容为: #!/bin/bash #in infile=$1 #out

基于单片机的电子时钟课程设计报告

目录 一、引言········ 二、设计课题········· 三、系统总体方案········· 四、系统硬件设计······ 1.硬件电路原理图 2.元件清单 五、系统软件设计········· 1.软件流程图 2.程序清单 六、系统实物图········ 七、课程设计体会········ 八、参考文献及网站········· 九、附录·········

一.引言 单片机因将其主要组成部分集成在一个芯片上而得名,就是把中央处理器、随机存储器、只读存储器、中断系统、定时器/计数器以及I/O接口电路等部件集成在一个芯片上。 基于单片机设计的数字钟精确度较高,因为在程序的执行过程中,任何指令都不影响定时器的正常计数,即便程序很长也不会影响中断的时间。 数字钟是采用数字电路实现对日期、时、分、秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学习、工作带来极大的方便。不仅如此,在现代化的进程中,也离不开电子钟的相关功能和原理,比如机械手的控制、家务的自动化、定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。而且是控制的核心部分。因此,研究数字钟及扩大其应用,有着非常现实的意义。 本设计使用12MHZ晶振与单片机AT89C51相连接,以AT89C51芯片为核心,采用动态扫描方式显示,通过使用该单片机,加之在显示电路部分使用HD74LS373驱动电路,实现在8个LED数码管上显示时间,通过4个按键进行调时、复位等功能,在实现各功能时数码管进行相应显示。软件部分用C语言实现,分为显示、延迟、调时、复位等部分。通过软硬件结合达到最终目的。

c语言课程设计报告学生成绩信息管理系统源代码

实验报告 一、问题陈述及其需求分析 (一)问题陈述 学生信息管理系统是对学生信息的基本管理,其中包括以下及模块: (1)增加一个学生的信息(需输入要增加学生的所有信息); (2)统计本班学生总人数及男女生人数。 (3)分别按照学号查找学生的信息;若找到则输出该学生全部信息,否则输出查找不到的提示信息。 (4)按学号对所有学生信息排序,并输出结果; (5)删除一个学生的信息(需指定要删除学生的学号);同时显示删除后的结果。( 二) 功能需求分析 学生信息管理系统设计 学生信息包括:学号,姓名,性别,出生年月,电话 使之提供以下功能: 1、系统以菜单方式工作 2、建立链表并显示 3、插入新的学生信息 4、删除某学号的学生信息 5、查找某学号的学生信息 6、对学生信息排序 7、统计学生人数 8、输出学生信息 二总体设计 (一)模块 依据程序的数据结构,描述该程序的层次结构,如下图:

1、建立链表并显示 void createlist(struct stucode **r); 2、插入新的学生信息 void insert(struct stucode **r); 3、删除某学号的学生信息 void del(struct stucode **r); 4、查找某学号的学生信息 void search1(struct stucode *r); 5、对学生信息排序 void sort(struct stucode **r); 6、统计学生人数 void search2(struct stucode *r); 7、输出学生信息 void out(struct stucode *r); 1 建立链表并显示 2 添加学生信息 3 删除学生信息 息 4 按学号查找学生信 5 对学生信息排序 6统计学生人数 7输出学员信息 8 学生信息写入文件 0退出 main() 菜单函数

汽车修理管理系统 课程设计 数据库大作业(有源文件)

数据库大作业 《数据库原理与设计》课程设计汽车修理管理系统 学号: 姓名: 年级层次: 教学中心:

汽车修理管理系统 一. 概述 1.项目背景 在计算机不断发展的今天,计算机已经运用到各个领域,计算机的作用使由手工的操作到计算机的操作是一个大的飞跃,代替的复杂的容易出错的人工操作,节省了大量的时间,提高了正确性,提高了数据的可靠性。因此每个公司使用计算机建立自己的业务是迫在眉睫,汽车修理厂根据业务发展的需要,决定建立一个数据库管理系统,以代替单一的人工管理。这样使人工操作的管理方便,简单。 2.编写目的 编写的目的是使汽车修理厂由单一的人工管理到计算机管理的飞跃,使汽车修理厂的管理的效率得到很大的提高,使人工管理的出错的机会大大减少,实现数据的共享,便于查询自己的数据信息,使汽车修理厂的业务的流程时间大大减少,从而可以提高该汽车修理厂的竞争性,在社会有立足之地。 3.软件定义 该软件为第一版,既汽车修理管理系统1.0 版。 4.开发环境 数据库: SQL SERVER 2000 开发和编译环境: Visual C++6.0。 二.需求分析 1.通过分析得知,该修理厂共使用5种单据,4种账册和3种主要报表。 ⑴五种单据如表1所示: 表中D1由送修人填写。修理派工员据此开出修理单D2,分派给指定的修理工执行。如果在修理中需要更换零件,一律由修理工填写零件领用单D3向仓库领用。修理结束后,修理工将D2交回给派工员,然后转财务部门结账并开修车发票D5。D4在零件入库时由仓库管理员验收并且填写。图6显示了这些单据的格式内容。 编号名称填写人 D1 修车登记单送修人 D2 汽车修理单修理派工员和修理工 D3 零件领用单修理工 D4 零件入库单仓库管理员 D5 修车发票财务人员 表1 当前系统单据一览表

课程设计报告

课程设计报告 题 目 基于数据挖掘的航电系统故障诊断 专业名称 电子信息工程 学生姓名 王腾飞 指导教师 陈 杰 完成时间 2014年3月18日

摘要 航电系统是飞机的重要组成部分,由于其综合应用了电子、机械、计算机及自动检测等许多学科的先进技术,结构层次很多,所以对其实施故障诊断具有涉及专业领域多、诊断难度大、要求时间短等特点。这对快速处理故障数据提出了很大的挑战。 从独立的联合式航电机箱的按键通电测试,到集中式飞机管理系统数据收集,飞机维修系统经过漫长的发展已演变成故障诊断工具。 现代飞机均采用了中央维修系统,用以收集所有子系统的故障报告、判断故障根源并推荐修理方法。飞机的故障信息和历史数据存放在数据库中。如果用传统的数据分析方法对这些海量的数据进行分析时会显得力不从心,不仅浪费时间而且对于隐含的知识难以有效的进行挖掘。数据挖掘技术十分符合现实的需要,它可以客观地挖掘出历史数据库中潜在的故障规则,这些规则能更好地指导故障的定位与检修,并对潜在的故障做出预测。随着数据的不断增长,如何能自动获取知识已经成为故障诊断技术发展的主要制约条件,而数据挖掘技术为解决这个“瓶颈”问题提供了一条有效的途径。 本文详细介绍了故障诊断技术与数据挖掘技术,并总结了航电系统的故障诊断的特点。拟采用聚类分析的技术对故障数据快速处理,实现对故障的快速定位。 关键词:故障诊断数据挖掘聚类分析航电系统

故障诊断技术 故障诊断技术简介 故障诊断就是指当设备系统不能完成正常的功能时,利用一定的方法找出使该功能丧失的原因及发生故障的部位,实现对故障发展趋势的预测的过程。故障诊断涉及到多方面的技术背景,主要以系统论、信息论、控制论、非线性科学等最新技术理论为基础,它是一门综合性的学科,具有重要的实用价值。 设备系统故障及故障诊断 随着现代化工业的发展,设备系统能够以最佳状态可靠地运行,对于保证产品质量、提高企业的产能、保障生命财产安全都具有极其重要的意义。设备系统的故障是指设备系统在规定时间内、规定条件下丧失规定功能的状况。故障诊断的作用则是发现并确定发生故障的部位及性质,找出故障的起因,预测故障的发展趋势并提出应对措施。故障诊断技术的使用范围不应只局限于设备系统使用和维修过程中,在设备系统的设计制造过程中也可以使用故障诊断技术,为以后的故障监测和设备系统维护创造条件。因此,故障诊断技术应该贯穿于设备系统的设计、制造、运行和维护的全过程当中。 机载设备的故障诊断流程框图:

数字电子钟课程设计实验报告

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计任务书2016/2017 学年第一学期 学生姓名:张涛学号: 李子鹏学号: 课程设计题目:数字电子钟的设计 起迄日期:2017年1月4日~2017年7月10日 课程设计地点:科学楼 指导教师:姚爱琴 2017年月日 课程设计任务书

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计开题报告2016/2017 学年第一学期 题目:数字电子钟的设计 学生姓名:张涛学号: 李子鹏学号:

指导教师:姚爱琴 2017 年 1 月 6 日 中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计说明书2016/2017 学年第二学期 题目:数字电子钟的设计 学生姓名:张涛学号: 李子鹏学号: 指导教师:姚爱琴 2017 年月日

目录 1 引言 (6) 2 数字电子钟设计方案 (6) 2.1 数字计时器的设计思想 (6) 2.2数字电路设计及元器件参数选择 (6) 2.2.2 时、分、秒计数器 (7) 2.2.3 计数显示电路 (8) 2.2.5 整点报时电路 (10) 2.2.6 总体电路 (10) 2.3 安装与调试 (11) 2.3.1 数字电子钟PCB图 (11) 3 设计单元原理说明 (11) 3.1 555定时器原理 (12) 3.2 计数器原理 (12) 3.3 译码和数码显示电路原理 (12) 3.4 校时电路原理 (12) 4 心得与体会 (12) 1 引言 数字钟是一种用数字电子技术实现时,分,秒计时的装置,具有较高的准确性和直观性等各方面的优势,而得到广泛的应用。此次设计数字电子钟是为了了解数字钟的原理,在设计数字电子钟的过程中,用数字电子技术的理论和制作实践相结合,进一步加深数字电子技术课程知识的理解和应用,同时学会使用Multisim电子设计软件。 2数字电子钟设计方案 2.1 数字计时器的设计思想 要想构成数字钟,首先应选择一个脉冲源——能自动地产生稳定的标准时间脉冲信号。而脉冲源产生的脉冲信号地频率较高,因此,需要进行分频,使得高频脉冲信号变成适合于计时的低频脉冲信号,即“秒脉冲信号”(频率为1Hz)。经过分频器输出的秒脉冲信号到计数器中进行计数。由于计时的规律是:60秒=1分,60分=1小时,24小时=1天,就需要分别设计60进制,24进制计数器,并发出驱动信号。各计数器输出信号经译码器、驱动器到数字显示器,是“时”、“分”、“秒”得以数字显示出来。 值得注意的是:任何记时装置都有误差,因此应考虑校准时间电路。校时电路一般

c语言课程设计报告

C语言程序设计B 课程设计报告 设计题目:学生成绩管理系统年级班级: 学号: 姓名: 指导教师: 2020 年 6 月 18 日

目录 一、设计目的 (3) 二、课程设计内容和要求 (4) 三、总体设计 (5) 四、主要步骤 (12) 五、功能实现 (13) 六、功能测试 (64) 七、评价程序 (83) 八、课程设计体会 (84)

一、设计目的 程序设计能力是当代理工类大学生的必备能力,当学生学习了C语言之后,编程能力远远不能达到开发实际应用程序的要求,特备是对其中的指针、结构体、链表和文件部分的理解和应用都比较弱。 程序设计的目的是通过对面向过程的学习,将C语言的主要知识点进行综合,针对提高学生C语言程序设计能力,强化编写较大的应用软件能力,熟练运用已掌握的知识解决实际需要解决的问题,以达到更加熟知指针、链表、结构体、文件读取、标准库的使用。 主要目的为以下几点: 1、熟练掌握面向过程(结构化)程序设计基本知识; 2、综合运用所学知识解决实际问题; 3、受到面向过程(结构化)程序设计的基本训练; 4、体会面向过程(结构化)开发程序的过程。

二、课程设计内容和要求 1.课程设计内容: 学生通过使用C语言进行编写算法,开发学生成绩管理系统,以实现对学生成绩的管理。 2.课程设计要求 1)具有菜单,可以在菜单上进行选择; 2)能实现学生数据录入、修改、删除、查询; 3)能实现数据排序; 4)有数据输出功能; 5)有数据读取与存储功能; 6)一个学生的数据(称为:每条记录)包含姓名、学号、语文、数 学、英语、总分、名次等信息; 7)以结构方式存储每条记录; 8)多条记录以链表方式存储到内存; 9)随时可将全部数据存储到磁盘文件中,方便下次从磁盘读取数据。

数据库课程设计工厂管理系统大作业

摘要 姓名:颜超丽学号:200915553013027 此文运用了数据字典、数据流图等方法对工厂管理系统进行了需求分析,运用E-R图进行了概念结构设计,在逻辑结构设计中将E-R图转化为关系模型,在物理结构设计中确定该数据库的存储结构,最后通过SQL语言实现数据库的设计。在这过程中,还详细地分析了各个子系统的属性、实体间的联系以及子系统间的关系。在这基础上,通过金仓数据库软件,运用SQL语言将所建工厂管理系统数据库顺利实现。 关键字:数据字典,E-R图,SQL语言 目录 一、系统概述 (1) 二、需求分析 (1) 1信息分析 (1) 2数据流图 (2) 3数据字典 (2) 三、概念结构设计 (4) 1实体列表 (4) 2分E-R图 (4) 3全局E-R图 (5) 四、物理结构设计 (5) 1关系模式存取方式选择 (5) 2确定数据库的存储结构 (5)

3评价物理结构 (5) 五、逻辑结构设计 (6) 六、数据库的实施 (7) 七、设计总结........ (8) 八、文献 (9)

工厂管理系统库 一、系统概述 工厂管理信息化是工厂管理系统应用信息技术及其产品的过程,是信息技术应用于工厂管理的过程。工厂信息化的实施,自下而上而言,必须以管理人员使用信息技术水平的逐步提高为基础;自上而下而言,必须与工厂的制度创新、组织创新和管理创新结合。 工厂管理系统算是比较简单一种信息系统。它主要应用于工厂仓库管理、职工管理、车间管理和零件管理。其中车间对职工和零件来说是很重要的。 工厂管理信息化建设工作具有长期性和内容的多变性;正因为这样,车间管理信息系统也不是一个简单的、静止的、封闭的系统,而是一个开放的,随着时间的推移会逐步变化和发展的系统。 二、需求分析 1、信息分析 根据工厂方面取得的信息资料,得出系统的信息需求和处理要求,得到设计所需的需求信息。这些信息是是选择了对数据库设计直接有用的信息。 A.工厂系统: a.车间:一个工厂有很多个车间,每个车间有车间号、车间主任名、地址、 电话。 b.工人:一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和 工种。 c.产品:一个车间生产多钟产品,产品有产品号,价格。 d.零件:一个车间有多个零件,一个零件也可以由多个车间制造。零件有 零件号、重量和价格。 e.仓库:产品与零件存入仓库中,厂内有多个仓库,仓库有仓库号、仓库 保管员、姓名、电话。 B.系统联系: a.生产:一个车间有多个零件,一个零件也可以由多个车间制造。 b.组成:一个产品由多个零件组成,一种零件也可装配多中产品内。 c.保管:产品与零件存入仓库中,厂内有多个仓库。

大数据结构与算法课程设计程序及报告材料

数据结构与算法课程设计报告 题目 两两相连的房间问题: 一所奇怪的房子,这所房子里有n个房间,每个房间里有一些门通向别的房间,可是这些门十分奇怪,它们只能从房间a开向房间b,也就是说,一扇从a开向b的门是不能让一个人从b房间走到a房间的。你能计算一下任意两个房间之间都互相相通吗? 问题分析 此程序需要完成如下要求:在这所房子里,从任意一个房间开始,按照开门的方向,均能够找到一个合适的路线,使得一个人能够不重复的到达其他的每一个房间,所以,需以每一个房间都为一次起始点来走向其他的房间,以此来判断这所房子里的任意两个房间之间是否互相相通。 实现本程序需要解决以下问题: 1.如何表示每一个房间,即存储房间的信息,并且还要确定这所房子里的各个房间的位置。 2.各个房间之间的门,以及门是从哪个房间开向哪个房间的该如何表示和存储的。 3.从某一个房间开始,如何走到其他各个房间,即如何对房间进行遍历。 4.为了在遍历过程中,不重复的遍历每一个房间,该如何标记已被遍历过的房间,从而只 访问未走过的房间。 5.最后通过什么的遍历方式才能判断各个房间之间是否互相相通。

数据结构的选择和概要设计 通过对题目要求的理解,我们可以用图来表示这所房子,而房子中的各个房间就相当于图中的各个结点,由于房间的门是有方向的,一扇从a开向b的门是不能让一个人从b房间走到a 房间的,从而可知该图为有向图,那么门就相当于有向图中的弧,从一个门开向另一个门即代表有向图中弧的起始点和终止点。 对于图的存储,我采用邻接表的形式来存储,并将每一个房间进行编号,对于邻接表,则需要定义一个邻接表结点类型、邻接表表头结点类型,通过表头与结点的连接而将有向图中弧的信息存储起来。那么人从任意一个房间走向另一个房间,即相当于有向图中从一个结点按照弧的信息访问其他的结点,可以采用深度优先搜索遍历。如果从每一个结点以起始点开始一次遍历就都能访问到其他结点的话则说明有向图是连通图,即该房子里的各个房间能够互相相通。定义一个全局的整形变量flag,如果是连通图的话则flag=1,否则flag=0。 程序实现的流程图如下:

数字电子钟课程设计报告-数电

华东交通大学理工学院课程设计报告书所属课程名称数字电子技术课程设计题目数字电子钟课程设计分院电信分院 专业班级10电信2班 学号20100210410201 学生姓名陈晓娟 指导教师徐涢基 20 12 年12 月18 日

目录 第1章课程设计内容及要求 (3) 第2章元器件清单及主要器件介绍 (5) 第3章原理设计和功能描述 (10) 第4章数字电子钟的实现 (15) 第5章实验心得 (17) 第6章参考文献 (18)

第1章课程设计内容及要求 1.1 数字钟简介 20世纪末,电子技术获得了飞速的发展。在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高、产品更新换代的节奏也越来越快。数字钟已成为人们日常生活中必不可少的生活日用品。广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、集成电路有体积小、功耗小、功能多、携带方便等优点。 因此本次设计就用数字集成电路和一些简单的逻辑门电路来设计一个数字式电子钟,使其完成时间及星期的显示功能。多功能数字钟采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。具有时间显示、走时准确、显示直观、精度、稳定等优点,电路装置十分小巧,安装使用也方便而受广大消费的喜爱。 1.2 设计目的 1. 掌握组合逻辑电路、时序逻辑电路及数字逻辑电路系统的设计、安装、测试方法;

2. 进一步巩固所学的理论知识,提高运用所学知识分析和解决实际问题的能力; 3. 提高电路布局,布线及检查和排除故障的能力。 1.3 设计要求 1. 设计一个有“时”、“分”、“秒”(23小时59分59秒)显示,且有校时功能的电子钟。 2. 用中小规模集成电路组成电子钟,并在实验箱上进行组 装、调试。 3. 画出框图和逻辑电路图、写出设计、实验总结报告。 4. 整点报时。在59分59秒时输出信号,音频持续1s,在结束时刻为整点。

C语言课程设计报告-模板

C语言课程设计报告 班级:16 物联网 一、题目说明 (1)读取输入信息,能正确进行数字运算

(2)拥有记忆功能,可查询最近几次计算结果并继续进行数字运算。 二、基本功能实现 (1)能实现两个数之间的加减,乘,除,乘方,开方等运算。 (2)实现记忆功能,可保留近十位结果,可用#键查看。(3)*键作为清0键,清除当前屏幕上的值为0表示重新开三、设计流程(可以画流程图,可以直接写说明)

四、代码 #include #include #include #include double yunsuan(double a, char operate, double b); //处理数值之间的运算void PutRes(double array[], double res, int *i); //保存该次运算结果 int main() { char str[40]; double a = 0; double b = 0; double res = 0; double history[10] = {0,0,0}; char opt; int i = 0; printf("欢迎进入计算功能(eg: 1 \n+ 1 ; '#':查询历史结果; 'q':退出程序)·\n"); while(1){

fgets(str,40,stdin); //将从键盘的一整行标准输入保存在字符串str中 if(sscanf(str,"%lf", &a) == 1){ //将str以长浮点型的格式放入a中,如果返回值为1,说明输入的是数值, scanf("%c %lf", &opt, &b); //获取操作符的值和另外一个操作数的值 res = yunsuan(a,opt,b); //调用yunsuan()函数计算,并将结果给res printf("%lf %c %lf = %lf\n\n",a, opt, b, res); PutRes(history, res, &i); //调用函数PutRes()将本次结果保存到数组history中(i用引用传递) // printf("%d\n", i); }else if(sscanf(str,"%c",&opt) == 1){ //将str以字符型的格式放入opt中,如果返回值为1,说明输入的是字符 if(opt == '#'){ //如果opt为‘#’,则显示history 中的数值 int j = 0; for(j = 0; j < i; ++j){ //i为history中存放的数值个数 printf(" %lf ", history[j]); } printf("\n");

大数据结构课设资料报告材料--学生成绩管理系统

课程设计(论文)说明书 题目:学生成绩管理系统 学院:计算机科学与工程学院 专业: 姓名: 学号: 指导教师: 2012年月日 摘要

随着科学的发展和社会的进步,许多过去由人工处理的繁杂事务开始交付计算机来完成。明显地加快了经济信息化和社会信息化的进程。因此,计算机教育在各国备受重视,计算机知识与能力已成为21世纪人才素质的基本要素之一。 本报告简单叙述了学生管理系统的现状,重点介绍了学生成绩管理系统的实现过程:包括系统分析、数据流程分析、功能设计、系统实现、系统测试和调试。 C语言是一种通用的程序设计语言,c语言在很多方面继承和发展了以往许多高级程序设计语言的成果经验与特色,具有适应性强、应用围广、书写格式自由、数据类型丰富、数据结构系统化、运行程序质量高、可移植性好和运行效率高等优点。而《数据结构与算法》则是对数据进行一定的结构化,通过运用各种算法使系统的实现更简便易行。 关键词:管理;需求;模块 目录

引言 (3) 1 系统概述 (3) 2 需求分析 (3) 2.1安全需求分析 (3) 2.2 数据需求分析 (4) 2.3 功能需求分析 (4) 2.4 界面需求分析 (4) 2.5 开发环境 (4) 3 详细设计 (4) 3.1 系统结构 (4) 3.2 各模块功能 (5) 3.3 功能模块的设计 (6) 3.4 数据结构设计 (8) 4 所遇到的问题和分析解决 (9) 5 测试结果 (9) 6 系统特色和关键技术 (12) 7 结论 (12) 参考文献 (13) 引言 背景:21世纪,科学技术突飞猛进,特别是信息技术和网络技术的迅速发展,各个学校的规模也随之不断增大,有关学生成绩管理工作所涉及的数据量越来越大,

数字电子时钟课程设计总结报告

《数字逻辑电路设计》课程设计 总结报告 题目:数字电子钟设计 指导教师: 设计人员: (学号): 班级:

日期:2018年12月

一.设计任务书 任务:数字电子钟设计 基本设计要求:仿真实现数字电子钟 1.要求能显示“时”“分”“秒” 2.时24小时,分60分钟,秒60。 3.能够校时,校分 电路在实验箱上实现 二.设计框图及整机概述 设计框图: 概述:数字电子时钟电路系统由秒信号发生器、校分校时电路、“时、分、秒”计数器和“时、分、秒”显示器组成。秒信号发生器将秒信号送入秒计时器,秒计时器为六十进制计数器,每计六十个数便发送分脉冲信号给分计数器,分计数器也为六十进制计数器,每计六十个数便发送时脉冲信号给时计数器,时计数器是二十四进制计数器。“时、分、秒”显示器将计数器输

出的状态显示出来。 三.各单元电路的设计方案及原理说明 1.六十进制计数器 计数器是对cp脉冲进行计数的时序逻辑电路。“分”和“秒” 的计数由六十进制计数器实现,74LS161为16进制计数器, 两片74LS161EP和ET恒为1,均工作在计数状态,当分个位 和秒个位计数器计到9(1001)时,CLOR端为高电平,经反 相器后使时位CLK端为低电平。当下一个计数输入脉冲到达后,个位记成0(0000),此时CLOR端跳回低电平,时位计数1。 计数器从0开始计数,当计入60个脉冲时,经与非门产生低 电平,立即将两片74LS161同时置零,得到60进制计数器。 2.二十四进制计数器 时的计数由二十四进制计数器实现,当计入24个脉冲的

时候,经与非门产生的低电平信号即将两片74LS161同时置零,得到二十四进制计数器。 3.显示电路 计数器输出的是8421BCD码,需译码器将其转为阿拉伯数字。 4.校时电路 利用校时电路截断分十位和时十位的直接计数通路,当校时电路中的开关截断时,其中的与非门一端接高电平,另一端接秒/分十位的进位输出端,若秒/分十位的进位输出端输出的是低电平,则分/时个位的CLK有低电平的信号输入,此时得到

c语言课程设计报告书

课程设计报告书 所属课程:c语言 项目:库函数模拟系统 指导老师:邹姝稚 班级:软件1401 姓名:江闯 学号:141403107 分数:

1.任务描述: 本系统开发的代码模拟了下列库函数的功能: (1).模拟gets和puts的功能:能接收一个字符串,将其写入ASCII文件,并且可以读出显示。 (2).在不使用字符串库函数的条件下,编程实现字符串的拷贝,连接,求长,倒置功能。 (3).字符串加密功能:将一段明文建立到一个ASCII文件中,按加密的算法加密后写入密文文件,最终实现将明文和密文文件都显示出来。 (4).编程实现字符串与对应数字的相互转换功能。 2.总体设计: 模块调用图: 图1

函数调用图: 图2 函数功能: (1)函数gp( ):模拟gets和puts的功能 (2)函数kaobei( ):实现字符串的拷贝 (3)函数lianjie( ):实现字符串的连接 (4)函数qiuchang( ):实现字符串的求长 (5)函数daozhi( ):实现字符串的倒置 (6)函数jiami( ):实现字符串的加密功能,最后将明文和密文文件都显示出来 (7)函数zhuanhuan1( ):将数字字符串转换为对应的数字 (8)函数zhuanhuan2( ):将数字转换为对应的数字字符串 3.详细设计: (1).模仿gets和puts功能: gets和puts功能与scanf和printf函数的功能相似,但是也不是完全相同,本系统模拟功能的程序总共运用了两次函数调用技术,模拟gets运用了一次,模拟puts运用了一次。 (2)..字符串的拷贝功能: 字符串的拷贝功能程序设计源于strcpy的功能,其中运用了字符串数组和指针的相关技术,还运用了一组while语句,实现语句的循环,从而将一个字符串拷贝到一个空数组中。

单片机电子时钟课程设计设计报告

单片机电子时钟设计 一、作品功能介绍 该作品是个性化电子钟设计,技术上主要用单片机(AT89S52)主控,6位LED数码显示,分别显示“小时:分钟:秒”。该作品主要用于24小时计时显示,能整时报时,能作为秒表使用,能定时闹铃1分钟。 功能介绍: (1)上电以后自动进入计时状态,起始于00:00:00。 (2)设计键盘调整时间,完成时间设计,并设置闹钟。 (3)定时时间为1/100秒,可采用定时器实现。 (4)采用LED数码管显示,时、分,秒采用数字显示。 (5)采用24小时制,具有方便的时间调校功能。 (6)具有时钟和秒表的切换功能。 使用方法: 开机后时钟在00:00:00起开始计时。 (1)长按P3.2进入调分状态:分单元闪烁,按P3.2加1,按P3.3减1.再长按P3.2进入时调整状态,时单元闪烁,加减调整同调分.按长按退出调整状态。 (2)(2)按P3.3进入设定闹时状态: 12:00: ,可进行分设定,按P3.4分加1,再按P3.2为时调整,按P3.4时加1,按P3.3调闹钟结束.在闹铃时可按P3.2停闹,不按闹铃1分钟。 (3)按下P3.4进入秒表状态:再按P3.4秒表又启动,按P3.4暂停,再按P3.4秒表清零,按P3.4退出秒表回到时钟状态。 二、电路原理图 如原理图所示,硬件系统主要由单片机最小应用系统、LED数码管显示模块、电源模块、晶振模块、按键模块等组成。

电子时钟原理图 各个模块设计 1.单片机系统 AT89S52 AT89S52概述:是一款非常适合单片机初学者学习的单片机, 它完全兼容传统的8051,8031的指令系统,他的运行速度 要比8051快最高支持达33MHz的晶体震荡器,在此系统中 使用12MHz的晶振。 AT89S52具有以下标准功能: 8k字节Flash,256字节 RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三 个16 位定时器/计数器,一个6向量2级中断结构,全双 工串行口,片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模 式下,CPU停止工作,允许RAM、定时器/计数器、串口、中 断继续工作。掉电保护方式下,RAM内容被保存,振荡器被

大数据库课程设计——图书管理系统

数据库系统原理课程设计 课题名称:图书信息管理系统 姓名: 班级: 学号: 指导老师: 2014年 01月 02日

目录 1.绪论------------------------------------------------------------ 3 1.1背景介绍------------------------------------------------------ 3 1.2开发背景的选用及介绍------------------------------------------ 3 2.需求分析-------------------------------------------------------- 4 2.1系统分析------------------------------------------------------ 4 2.2系统目标------------------------------------------------------ 4 2.3总体需求------------------------------------------------------ 4 3.概念设计阶段---------------------------------------------------- 5 3.1实体E-R图---------------------------------------------------- 5 3.2数据流程图---------------------------------------------------- 8 4.逻辑结构设计阶段------------------------------------------------ 8 4.1E-R图转换为关系模型 ------------------------------------------ 8 4.2数据字典------------------------------------------------------ 9 5.物理结构设计阶段---------------------------------------------- 10 5.1物理设计阶段的目标和任务------------------------------------- 10 5.2数据存储方面------------------------------------------------- 10 6.数据库实施与维护----------------------------------------------- 10 6.1创建数据库,数据表------------------------------------------- 10 6.2创建视图----------------------------------------------------- 12 6.3创建索引----------------------------------------------------- 13 6.4创建触发器--------------------------------------------------- 13 6.5数据表的初始化----------------------------------------------- 14 6.6初始表的显示------------------------------------------------- 16 7.数据库界面实现------------------------------------------------ 19 7.1系统总的功能模块图------------------------------------------- 19 7.2系统的实现--------------------------------------------------- 19 8.心得体会------------------------------------------------------- 25

相关文档
最新文档