论文-基于C++的课程信息管理系统的设计与开发.doc_第1页
论文-基于C++的课程信息管理系统的设计与开发.doc_第2页
论文-基于C++的课程信息管理系统的设计与开发.doc_第3页
论文-基于C++的课程信息管理系统的设计与开发.doc_第4页
论文-基于C++的课程信息管理系统的设计与开发.doc_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

湖 南 涉 外 经 济 学 院本科毕业论文(设计)题目基于C+的课程信息管理系统的设计与开发作者学院电气与信息学院专业电子信息工程(自动化)学号指导教师二一二 年四月十五日湖南涉外经济学院毕业论文(设计)任务书学生姓名: 学号: 专业班级: 毕业论文(设计)题目: 基于C+的课程信息管理系统的设计与开发 题目类型: 软件开发 毕业论文(设计)时间:自 2012 年 12月18 开始至 2012年 4月 24 日止1. 毕业论文(设计)内容要求: 本文需设计一个较完善的课程信息管理系统。论文应文字流畅,语言准确,层次清晰,观点明确,论据准确,论证完整,严密,有独立的观点和见解,应具备学术性,科学性和一定的创新性。论文要求实事求是,尊重知识产权,凡引用他人的观点、统计数据或计算公式要有注释,程序应该调试正确,能实现一定的功能。 论文书写中应包含以下内容:(一)系统概述(二)系统需求分析(三)系统逻辑方案(四)系统总体结构设计(五)系统详细设计(六)结论1题目类型:(1)理论研究(2)实验研究(3)工程设计(4)工程技术研究(5)软件开发2.主要参考资料1萨师煊,王珊.数据库系统概论(第三版)M.北京高等教育出版社,2000年2叶蓓.SQLServer2000关系数据库性能的分析.M.现代电子技术,2003,5(23)3王兴东著.Visual c+软件项目开发案例.M.电子工业出版社,2004年4月4陈发吉著.Visual c+案例开发.M.中国水利水电出版社,2004年6月5谭浩强著.C程序设计教程M.清华大学出版社,2010年10月3.毕业论文(设计)进度安排阶段阶 段 内 容起止时间一开题并撰写开题报告2011.12.18二查阅资料,撰写详细的论文提纲2011.12.19-2012.2.5三程序开发并撰写论文2012.2.6-2012.3.25四调试程序并修改论文2012.3.26-2012.4.8五再次修改论文并定稿2012.4.9-2012.4.24指导教师(签章):_ 日期:_系(教研室)主任(签章) :_ 日期:_二级学院院长(签章) :_ 日期:_湖南涉外经济学院毕业论文(设计)指导教师评语建议成绩: 指导教师: 年 月 日湖南涉外经济学院毕业论文(设计)答辩记录日期: 2012年05月04日 学生姓名: 学号: 专业班级: 题目: 基于C+的课程信息管理系统的设计与开发课程设计 毕业论文(设计)答辩委员会(小组)意见:答辩成绩: 评定等级: 答辩委员会(小组)负责人: 委员(小组成员): 二级学院审查意见: 论文(设计)最终评定等级:_ 负责人: _年_月_日摘 要随着科学技术的不断提高,计算机科学日益成熟,其强大的功能以为人们深刻认识,他已进入人类社会的各个领域并发挥着越来越重要的作用。课程信息管理系统是一个不断发展的新型学科,任何一个学校要发展要生存,要高效率的把内部活动有机的组织起来,就必须建立与自身特点相适应的学生课程信息管理系统。作为计算机应用的一部分,使用计算机对学生课程进行管理,例如:迅速检索、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大的提高学生课程管理系统的效率,也是学校的科学化、正规化管理,与世界接轨的重要条件。本文介绍了在Visual C+6.0环境下开发一个学生课程信息管理系统的过程。通过分析一个学校学生课程管理的需要,创建了一个行之有效计算机管理学生课程法案。文章介绍了学生课程信息管理系统的系统分析部分,包括可行性分析、数据流程分析等;系统设计部分主要介绍了系统功能设计及代码设计;系统实现部分说明了几个模块的算法及测试效果,本系统界面友好、操作简单、美观实用。关键词:课程信息管理系统;VC:C+:ABSTRACTWith more and more widespread and profound application of student information technology in management,the implement of management course information system has become mature in technology step by step.Student managing course information system is a new subject.Enterprise needs existence and development ,so enterprise activities should be organized efficiently and organically, which means tightening up the enterpeise management and strengthening effective management of any resource( staff,finance,property,etc.) internal the enterprise ,and also establishing a student management information system fitting in with its own characteristics.The article introduces the detailed process of exploring a student management information system under the environment of active service page ,utilizing” Top-Bottom” overall plan and a strategy according to “Bottom-Top”application and exploitation .That is to establish a set of effective scheme for building management by computer.,through analyzing disadvantage of building student management by human resource.This article emphasizes on three sections. The system analysis section of student management informantion includes feasible alysis, management function analysis.The system design section mainly focuses on system fuction design data base design and data number design .And the stem ealization section several major function ,together with the main windows and program.This economical and pragmatic sydtem has explicite interface ,with simple operation.KEYWORDS:student management system,vc,c+IV湖南涉外经济学院本科生毕业论文(设计)目录摘 要IABSTRACTII第一章 前言11.1 C+语言介绍及其相关趋势11.1.1 简史11.1.2 组成部分21.1.3 代码性能21.1.4 优点21.2 Visual C+6.0介绍31.2.1特色和缺点31.2.2主要组成部分41.3 论文目的及主要的完成工作5第二章 系统概述62.1 课程管理系统的功能62.2 学生的操作功能62.3 管理员的操作功能7第三章 系统需求分析83.1 问题说明83.2 数据需求83.3 功能需求9第四章 系统设计104.1 内存的数据结构设计(我们采用单链表方式来实现)104.1.1 抽象数据类型线性表的定义104.1.2 建立一个course类来存放课程信息114.1.3 线性表的单链表存储结构114.2 数据文件设计124.3 用户界面设计134.4 处理过程设计13第五章 系统测试155.1 测试用例描述155.2 测试目的、测试方法和测试结果15结 论19参考文献20致 谢21附录:源程序代码22第一章 前言随着科学技术的发展,计算机领域不断取得新的研究成果。计算机在代替和延伸脑力劳动方面发挥越来越重要的作用,不仅在商业、企业、银行等起着重要作用,而且在日常生活中也越来越离不开计算机。就像在大学,有很多学生的信息需要处理、保存,以及提供优质的服务,此时计算机显得尤为重要。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识。作为计算机应用的一部分,使用计算机对学生课程信息进行管理,有着手工管理所无法比拟的优点。所以,现今绝大部分大学都使用了计算机来规划整个学生的信息、提供选课、网络教学等。课程管理信息系统是一个以人为主导,利用计算机硬件、软件、网络通信设备以及其他办公设备,进行信息的收集、传输、加工、储存、更新和维护,以学校战略竞优、提高效益和效率为目的,支持学校的高层决策、中层控制、基层运作的集成化的人机系统。而基于C+的课程信息管理系统则随着计算机和网络的高速发展,使得使用计算机来管理课程信息成为发展趋势。由于长期以来学校使用的是人工的形式管理课程信息,从而使基于C+的课程信息管理系统成为学校管理者不可缺少的一部分,为使用者提供了充足的信息和快捷的查询手段。 基于C+的课程信息管理系统的设计与开发,通过利用C+语言编程基础和VC开发平台的使用完成。1.1 C+语言介绍及其相关趋势C+这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,“CPP”。 它是一种使用非常广泛的计算机编程语言。C+是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。1.1.1 简史美国AT&T贝尔实验室的本贾尼斯特劳斯特卢普(Bjarne Stroustrup)博士在20世纪80年代初期发明并实现了C+(最初这种语言被称作“C with Classes”)。一开始C+是作为C语言的增强版出现的,从给C语言增加类开始,不断的增加新特性。虚函数(virtual function)、运算符重载(operator overloading)、多重继承(multiple inheritance)、模板(template)、异常(exception)、RTTI、命名空间(name space)逐渐被加入标准。1998年国际标准组织(ISO)颁布了C+程序设计语言的国际标准ISO/IEC 1988-1998。C+是具有国际标准的编程语言,通常称作ANSI/ISOC+。1998年是C+标准委员会成立的第一年,以后每5年视实际需要更新一次标准。C+0x最终国际投票已于2011年8月10日结束,并且所有国家都投出了赞成票,C+0x已经毫无疑义地成为正式国际标准。先前被临时命名为C+0x的新标准将被称为C+ 2011。C+ 2011将取代现行的C+标准ISO/IEC 14882,它公开于1998年并于2003年更新,通称C+98以及C+03。国际标准化组织于2011年9月1日出版发布ISO/IEC 14882:2011,名称是:Information technology - Programming languages - C+Edition: 3。1.1.2 组成部分根据Effective C+第三版第一条款的描述,现在C+由以下四个“子语言”组成:1、C子语言。C+支持C语言的几乎全部功能,主要是c89的部分,在语法上与C语言仅有极微妙的差别(如括号表达式的左右值性,具体请参考C+标准文献)。2、面向对象的C+语言。C+语言原本不具备面向对象的设计功能,然而随着面向对象编程的概念的提出以及如Java等语言的发展成熟,C+语言也开发出了支持面向对象功能的版本。3、泛型编程语言。C+强大(但容易失控的)模板功能使它能在编译期完成许多工作,从而大大提高运行期效率。4、STL(C+标准模板库,Standard Template Library)。随着STL的不断发展,它已经逐渐成为C+程序设计中不可或缺的部分,其效率可能比一般的native代码低些,但是其安全性与规范性使它大受欢迎。此外,包含在TR1等中的C+0x将实现的新功能在开发和测试中。1.1.3 代码性能人们一般认为,使用Java或C#的开发成本比C+低。但是,如果你能够充分分析C+和这些语言的差别,会发现这句话的成立是有条件的。这个条件就是:软件规模和复杂度都比较小。如果不超过3万行有效代码(不包括生成器产生的代码),这句话基本上还能成立。否则,随着代码量和复杂度的增加,C+的优势将会越来越明显。造成这种差别的就是C+的软件工程性。1.1.4 优点C+在一定程度上可以和C语言很好的结合,甚至目前大多数C语言程序是在C+的集成开发环境中完成的。C+相对众多的面向对象的语言,具有相当高的性能。C+引入了面向对象的概念,使得开发人机交互类型的应用程序更为简单、快捷。很多优秀的程序框架包括MFC、QT、wxWidgets就是使用的C+。1.2 Visual C+6.0介绍Visual C+ 6.0,简称VC或者VC6.0,是微软推出的一款C+编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。Visual C+是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C+1.0后,随着其新版本的不断问世,Visual C+已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了 Visual C+.NET(Visual C+7.0),但它的应用有很大的局限性,只适用于Windows 2000、Windows XP和Windows NT4.0。所以实际中,更多的是以Visual C+6.0为平台。1.2.1特色和缺点特色:Visual C+6.0由Microsoft开发, 它不仅是一个C+ 编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C+6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。Microsoft的主力软件产品。Visual C+是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C+1.0后,随着其新版本的不断问世,Visual C+已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了Visual C+.NET(Visual C+7.0),但它的应用的很大的局限性,只适用于Windows 2000,Windows XP和Windows NT4.0。所以实际中,更多的是以Visual C+6.0为平台。Visual C+6.0以拥有“语法高亮”,自动编译功能以及高级除错功能而著称。比如,它允许用户进行远程调试,单步执行等。还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。其编译及创建预编译头文件(stdafx.h)、最小重建功能及累加连结(link)著称。这些特征明显缩短程序编辑、编译及连结的时间花费,在大型软件计划上尤其显著。缺点:由于C+是由C语言发展起来的,也支持C语言的编译。6.0版本是使用最多的版本,很经典。最大的缺点是对于模版的支持比较差。现在最新补丁为SP6,推荐安装,否则易出现编译时假死状态。仅支持Windows操作系统。目前发现与windows 7兼容性不好,安装成功后可能会出现无法打开cpp文件的现象。1.2.2主要组成部分Developer Studio:这是一个集成开发环境,1我们日常工作的99%都是在它上面完成的,再加上它的标题赫然写着“Microsoft Visual C+”,所以很多人理所当然的认为,那就是Visual C+了。其实不然,虽然Developer Studio提供了一个很好的编辑器和很多Wizard,但实际上它没有任何编译和链接程序的功能,真正完成这些工作的幕后英雄后面会介绍。我们也知道,Developer Studio并不是专门用于VC的,它也同样用于VB,VJ,VID等Visual Studio家族的其他同胞兄弟。所以不要把Developer Studio当成Visual C+, 它充其量只是Visual C+的一个壳子而已。这一点请切记!MFC:从理论上来讲,MFC也不是专用于Visual C+,Borland C+,C+Builder和Symantec C+同样可以处理MFC。同时,用Visual C+编写代码也并不意味着一定要用MFC,只要愿意,用Visual C+来编写SDK程序,或者使用STL,ATL,一样没有限制。不过,Visual C+本来就是为MFC打造的,Visual C+中的许多特征和语言扩展也是为MFC而设计的,所以用Visual C+而不用MFC就等于抛弃了Visual C+中很大的一部分功能。但是,Visual C+也不等于MFC。Platform SDK:这才是Visual C+和整个Visual Studio的精华和灵魂,虽然我们很少能直接接触到它。大致说来,Platform SDK是以Microsoft C/C+编译器为核心(不是Visual C+,看清楚了),配合MASM,辅以其他一些工具和文档资料。上面说到Developer Studio没有编译程序的功能,那么这项工作是由谁来完成的呢?是CL,是NMAKE,和其他许许多多命令行程序,这些我们看不到的程序才是构成Visual Studio的基石。1.3 论文目的及主要的完成工作由于长期以来学校使用的是人工的形式管理课程信息,从而使基于C+的课程信息管理系统成为学校管理者不可缺少的一部分,为使用者提供了充足的信息和快捷的查询手段。基于C+的课程信息管理系统,总的目标是提高学生课程管理工作的效率,围绕此管理所需要的课程信息、任课教师信息、所选课程信息进行管理及维护。学生可以通过此系统进行课程查询功能。系统开发的总体任务是实现学生课程信息查询和管理员管理课程信息课程代码、课程名称、上课教室、授课教师、上课时刻以及具体时间,并实现对数据记录的增加、修改、删除、查询(查询应能按不同数据项进行)。课程信息管理系统基本上有各种语言编写的,也有几种语言混合编写的,例如JSP+JavaBean+Servlet的课程管理系统。但由于C+语言的简单明了,可靠性速度性方面有明显的优势,故本论文采取了基于C+的课程信息管理系统。本文介绍了在Visual C+6.0环境下开发一个学生课程信息管理系统的过程。通过分析一个学校学生课程管理的需要,创建了一个行之有效计算机管理学生课程法案。文章介绍了学生课程信息管理系统的系统分析部分,包括可行性分析、数据流程分析等;系统设计部分主要介绍了系统功能设计及代码设计;系统实现部分说明了几个模块的算法及测试效果,本系统界面友好、操作简单、美观实用。第二章 系统概述通过利用C+语言编程基础和VC开发平台的使用,对课程信息管理系统的开发与设计,实现了具有相对功能齐全的程序。在课程信息管理系统的设计与实现程序中,用链表做存储结构能够实现课程信息的插入、查询、修改以及删除等操作,并且运用C+中的文件输入输出流来实现对文件信息的存储,基本上能够实现所要求的功能。考虑到设计的要求,我把整个程序分为两个大的部分:学生部分和管理员部分。其中课程信息包含有课程代码、课程名字、上课教师、上课时间、上课地点,具体结构如下:图2.1 程序结构图基于C+课程信息管理系统有两大特点:1操作方便。可以方便的游览整个系统文件及目录,减少查询时间。2集中管理。通过单一的稳定的管理界面,集中管理用户的操作,减少冗余,降低维护成本。整个的开发和设计过程中,基于以上特点我设计的C+的课程信息管理系统功能组成大致的有以下组成部分:2.1 课程管理系统的功能学生课程管理系统的功能包括:l 学生的操作功能l 管理员的操作功能2.2 学生的操作功能学生只是利用此系统进行与自己有关的信息查询,不能操作和修改其他信息,学生所具有的操作功能如下:(1)学生登录系统后,为了保证系统的安全性,学生只能浏览课程信息。(2)学生利用此系统查看单门课程所有信息。(3)学生利用此系统查看所有课程所有信息。2.3 管理员的操作功能管理员权限最大,可以对学生、班级、课程等情况进行统一的管理,其中能修改的信息有课程代码、课程名字、上课教师、上课时间、上课地点,其中详细功能细分如下:(1)上课的时间的添加、修改、删除。(2)上课的地点的添加、修改、删除。(3)上课老师信息的添加、修改、删除。(4)学校基本课程的浏览;学校基本课程的添加;学校基本课程修改、删除。(5)学校对所设课程进行教师分配。(6)为了保证系统的安全性,除了管理员用户,不允许其他用户进入该模块。第三章 系统需求分析3.1 问题说明 运用所学知识,在内存数据结构设计、数据文件设计、代码设计、输入/输出设计、用户界面设计、处理过程设计的基础上,结合链表组织,数据文件用文本文件,用户界面用字符界面等设计一个课程信息管理系统,包括课程代码、课程名称、上课教室、授课教师、上课时刻以及具体时间,并实现对数据记录的增加、修改、删除、查询。通过调查,要求系统有以下功能:1由于操作人员的计算机人知识普遍较差,要求有简单的操作界面。2由于该系统的使用对象较多,要求有较好的管理权限。3原始数据修改简单方便,支持多条件查询和修改。4在相应的权限下,删除数据方便简单,数据稳定性好。5方便的数据查询,支持多条件查询。3.2 数据需求由于基于C+的课程信息管理系统采用链表结构以及考虑到实际需求的需要,另外综合C+语言开发人机交互类型的应用程序更为简单、快捷的特点,我设计了以下几个相对应部分所需的数据,如课程代码、课程名称、上课教室、授课教师、上课时刻以及具体时间等。具体数据类型以及相对应的功能表如下表3.1:表3.1 数据需求 char* 课程代码 char* 课程名称 char* 上课教室 char* 授课教师 char* 上课时间 char* 具体时间3.3 功能需求参考我们实际生活需要以及程序的设计需要,每个信息部分都能执行几个功能(增加、修改、删改和查询),并且每个功能在执行相关课程时,都能通过3个查询方式(如图3.1所示)查找到所查课程。每个功能及其相关的作用如表3.2:表3.2 功能需求 增加添加课程信息 修改对查找到的课程信息进行修改 删除删除查找到得课程信息 查询按课程代码或课程名称或授课教师查询课程信息图3.1第四章 系统设计4.1 内存的数据结构设计(我们采用单链表方式来实现)包括内存数据结构设计、数据文件设计、代码设计、输入/输出设计、用户界面设计、处理过程设计。要求内存数据用链表组织,数据文件用文本文件,用户界面用字符界面。至少实现数据记录的增加、修改、删除、查询(查询应能按不同数据项进行)。4.1.1 抽象数据类型线性表的定义对抽象数据类型线性表的定义如下:ADT Stack数据对象:D=ai|ai数据关系:R1=|ai-1,ai基本操作: InitList(&L)操作结果:构造一个空的线性表L。 DestroyList(&L)初始条件:线性表L已存在。操作结果:线性表L被销毁。 ClearList(&L)初始条件:线性表L已存在。操作结果:将线性表L重置为空表。 ListEmpty(L)初始条件:线性表L已存在。操作结果:若线性表为空表,则返回TRUE,否则FALSE。 ListLength(L)初始条件:线性表L已存在。操作结果:返回L的元素个数。 ListInsert(&L,i,e)初始条件:线性表已存在,1=i=ListLength(L)+1。操作结果:在L中第i个位置之前插入元素e,L的长度加1。 ListDelete(&L,i,&e)初始条件:线性表已存在且非空,1=i=ListLength(L)+1。操作结果:删除L中第i个元素。并用e返回其值,L的长度减1。 ADT Stack4.1.2 建立一个course类来存放课程信息我通过建立一个course类来存放课程信息,来实现课程信息的存储。代码如下所示:class courseprivate:char numberMAXINT;/课程代号;char nameMAXINT;/课程名字;char classroomMAXINT;/上课教室;char teacherMAXINT;/授课教师char dayMAXINT;/时刻时间char timeMAXINT;/授课具体时间public:course() void InitCourse();/课程信息初始化void AddCourse();/添加课程信息long GetNumber();/获得课程编号int Compare(char ch);/查找课程名与ch相同的课程void PrintCourse();/打印课程信息;4.1.3 线性表的单链表存储结构为了表示每个数据元素ai与其直接后继数据元素ai+1之间的逻辑关系,对数据元素ai来说,除了存储其本身的信息之外,还需要存储一个指示其直接后继的信息(即直接后继的存储位置)。把存储数据元素信息的域称为数据域,把存储直接后继位置的域称为指针域。指针域中存储的信息称作指针链,这两部分信息组成数据元素ai的存储映象,称为结点(Node)。n个结点(ai的存储映像)链结成为一个链表,即为线性表(ai,a2,an)的链式存储结构,因为此链表的每一个结点中只包含一个指针域,所以叫做单链表。链表中第一个结点的存储位置叫做头指针。若将链表的左端固定,链表不断向右延伸,这种建立链表的方法称为尾插法。尾插法建立链表时,头指针固定不动,故必须设立一个搜索指针,向链表右边延伸,则整个算法中应设立三个链表指针,即头指针head、搜索指针p2、申请单元指针pl。尾插法最先得到的是头结点。由于对数据的存储采用线性表的单链表存储结构和使用尾插法经行初始化,代码如下所示:typedef struct LNodecourse data;struct LNode* next;LNode,*LinkList;LNode* first=NULL;void InitLinkList()/链表括初始化int i;for (i=1; idata = cs;newlink-next = first;first = newlink; 4.2 数据文件设计我们采用C+中文件输出流的方式来对文件进行设计,将原始信息存放在文档in.txt中,通过增加、删除等操作,最后通过输入输出流打印所有课程信息,存放在文档out.txt中。代码如下:ifstream fin(in.txt);ofstream fout(out.txt);void PrintItem() /打印所有课程信息coutn当前所有 Total 门课程的信息如下:endl;/控制台输出coutendlsetw(10)课程代号setw(10)课程名为setw(10)上课教室setw(10) 授课教师setw(10) 上课时间setw(10)第几节课setw(10)endl;foutn 当前所有 Total 门课程的信息如下:endl;/外部文件输出foutendlsetw(10)课程代号setw(10)课程名为setw(10)上课教室setw(10) 授课教师setw(10) 上课时间setw(10)第几节课setw(10)data.PrintCourse();current = current-next;4.3 用户界面设计用户界面是人与机之间交流、沟通的层面。从深度上分为两个层次:感觉的和情感的。感觉层次指人和机器之间的视觉、触觉、听觉层面;情感层次指人和机器之间由于沟通所达成的融洽关系。总之用户界面设计是以人为中心,使产品达到简单使用和愉悦使用的设计。为了置界面于用户的控制之下;减少用户的记忆负担;保持界面的一致性,利用C+中I/O格式化,我设计用户界面如下图所示:学生课程管理系统的功能包括:l 学生的操作功能l 管理员的操作功能4.4 处理过程设计通过循环语句使菜单界面循环显示,每次执行命令完后都会显示菜单界面,知道选择退出命令,系统停止后不再显示,并且加入了刷屏函数,不至于在界面上出现过多的信息,使界面更加简洁,明了。代码如下:void Manager_MemuList() /管理员操作界面coutendl;coutntt欢迎进入管理员系统 n;starline();cout*setw(10)0.setw(20)返回上级菜单setw(9)*endl;cout*setw(10)1.setw(20)添加课程信息setw(9)*endl;cout*setw(10)2.setw(20)查看课程信息setw(9)*endl;cout*setw(10)3.setw(20)修改课程信息setw(9)*endl; cout*setw(10)4.setw(20)删除课程信息setw(9)*endl;cout*setw(10)5.setw(20)查看所有课程信息setw(9)*endl;starline();void Manager(LinkList L) /管理员操作系统int opt = 1;while (opt != 0) /管理员操作界面Manager_MemuList();cout opt;switch (opt)case 0: coutn 返回上级菜单endl; break;case 1: InsertLinkList();system(cls); break;case 2: system(cls);SearchCourse();break;/查看指定课程情况case 3: system(cls);ChangeItem();system(cls); break;/修改课程信息case 4: system(cls);DelItem(); system(cls);break;/删除课程case 5: system(cls);PrintItem(); break;/打印课程default: break;第五章 系统测试5.1 测试用例描述为了以最少的人力和时间发现潜在的各种错误和缺陷,我根据开发各阶段的需求、设计等文档或程序的内部结构精心设计测试用例,并利用以下这些实例来运行程序,以便发现错误。系统测试是保证系统质量和可靠性的关键步骤,是对系统开发过程中的系统分析系统设计和实施的最后复查。根据测试的概念和目的,在进行信息系统测试时遵循以基本原则。不仅要确定输入数据,而且根据系统功能确定预期的输出结果,将实际输出结果与预期结果相比较就能发现测试对象是否正确。原有课程信息如下表:1001数据结构5-504刘春周二1、2节1002大学英语5-606方新洪周一1、2节1003通信原理5-606许毅周四5、6节1004组成原理5-415姚寒冰周三3、4节1005概论1-602王盛开周五1、2节1006体育操场王炎军周五3、4节添加课程信息如下:1007军事理论5-401王希征周四3、4节查看课程信息:分别以课程编号、课程名称和授课教师查询,选取的实例如下:1001数据结构5-504刘春周二1、2节修改课程信息:将1006号信息中的授课老师“王炎军”修改为“王彦军”。删除课程信息:删除1005号课程信息;最后将操作完毕后的课程信息打印出来。5.2 测试目的、测试方法和测试结果不仅要确定输入数据,而且要根据系统功能确定预期的输出结果。将实际输出结果与预期结果相比较就能发现测试对象是否正确。不仅要检验程序是否做了该做的事,还要检验程序是否做了不该做的事。多余的工作会带来副作用,影响程序的效率,有时会带来潜在的危害或错误不仅要设计有效合理的输入条件,也要包含不合理、失效的输入条件。测试的时候,人们往往习惯按照合理的、正常的情况进行测试,而忽略了对异常、不合理、意想不到的情况进行测试,而这些可能就是隐患。因此在测试时,我不仅会利用测试例子进行反复测试,也会对异常、不合理、意想不到的情况进行测试,检验程序是否做了该做的事,还要检验程序是否做了不该做的事。系统测试是保证系统质量和可靠性的关键步骤,是对系统开发过程中的系统分析、系统设计和实施的最后复查。总共进行了查询测试、添加测试、修改测试、删除测试、修改测试。查询选项:(可以进行通过按课程代码或课程名称或授课教师查询课程信息多项选择,效果一样,就不一一展示)添加课程信息:(输入“第几节课:3、4节”时会刷屏)添加课程信息如下:1007军事理论5-401王希征周四3、4节查看课程信息:(这里采用选取编号查看,另外两种查看方式得出的结果一样)查看课程信息:分别以课程编号、课程名称和授课教师查询,选取的实例如下:1001数据结构5-504刘春周二1、2节修改课程信息:(输入最后一项会刷屏)修改课程信息:将1006号信息中的授课老师“王炎军”修改为“王彦军”。删除课程信息删除1005号课程信息;最后将操作完毕后的课程信息打印出来。输入y后,代号为1005的课程信息被删除并且刷屏。查看课程信息:最后的输出结果存放在out.txt中,以便使用。结 论本文介绍了在Visual C+6.0环境下开发一个学生课程信息管理系统的过程。通过分析一个学校学生课程管理的需要,创建了一个行之有效计算机管理学生课程法案。文章介绍了学生课程信息管理系统的系统分析部分,包括可行性分析、数据流程分析等;系统设计部分主要介绍了系统功能设计及代码设计;系统实现部分说明了几个模块的算法及测试效果,本系统界面友好、操作简单、美观实用。由于课程信息管理系统目标的一致,尽管各种语言的的差异,但我认为在在应用领域,基于C+课程信息管理系统会更加应用到更广泛的应用。基于C+课程信息管理系统有两大特点:1操作方便。可以方便的游览整个系统文件及目录,减少查询时间。2集中管理。通过单一的稳定的管理界面,集中管理用户的操作,减少冗余,降低维护成本。课程信息管理系统的设计与实现程序中,用链表做存储结构能够实现课程信息的插入、查询、修改以及删除等操作,并且运用C+中的文件输入输出流来实现对文件信息的存储,基本上能够实现所要求的功能。要求我们综合到目前为止所学知识来决绝问题,并不是单一的运用C+或是数据结构来解题。我不仅加深了对现阶段学习的知识的了解而且还巩固了以前所学的知识,学会了融会贯通,对个人来说是一次极大的锻炼和提高。由本次论文题目基于的课程信息管理系统的设计与开发所开发出来的课程信息管理系统,由于在C+平台上实现,所以

温馨提示

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

评论

0/150

提交评论