




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录需求分析..........................................................总体设计..........................................................2.1功能模块设计..................................................2.2所有功能模块的流程图..........................................详细设计..........................................................3.1输入函数......................................................3.2输出函数......................................................测试的步骤和内容..................................................4.1调试方法与步骤................................................4.2测试结果的分析与讨论..........................................4.3测试过程中遇到的问题和解决方法................................5.编码...............................................................6.课程设计总结.......................................................7.参考资料...........................................................1需求分析1.1编写目的明确用户对学生成绩管理系统的功能需求和性能需求,并将这些需求用规范化的语言和规范化的结构完整、准确地表达清楚,以此统一软件开发者和用户对学生成绩管理信息系统软件的理解和认识。1.2项目背景1.2.1工程的名称:学生成绩管理信息系统1.2.2工程产品的名称:学生成绩管理信息系统1.2.3工程的组织者:南阳理工学院12级网工张莹产品的生产者:学生成绩管理信息系统软件开发课题组产品的设计者:学生成绩管理信息系统软件开发课题组1.3定义学生成绩管理信息系统软件:它是由学生成绩管理信息系统软件开发课题组完全自主开发的成绩管理管理软件,以管理各部门为基本元素的、用编程来实现其功能的软件。模块的独立性:是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他的模块的接口是简单的。1.4项目概述1.4.1目标管理员能够实现对整个学生信息的添加、删除、查询等操作。管理员能够对成绩进行统计和排名。1.4.2产品描述本产品开发的核心为学生成绩管理,具体实现是C编程语言和SQJServer数据库技术相结合开发而成的。本产品面向大,中学生,易懂好学,帮助学校管理人员从手工劳动向电子化、数字化转变。1.4.3产品功能2.31外部功能学校管理应用系统软件外部功能包括可视化窗口,管理员对学生的基本新、成绩的录入、成绩查询、成绩排名、成绩统计。2.32内部功能企业管理应用系统软件内部功能:过滤、定位、更新、使用库等。2.33功能功能名称外部功能内部功能用户程序员通过可视化窗口,进行查询体现模块功能。通过对查询条件的过滤,更新与数据库互动,从数据库中提取相应的数据并定位在设备描述表中。用户 一般用户、超级用户用户用户添加用户信息管理系统管理人员用户信息用户信息管理系统管理人员系统数据表系统数据表用户权限用户权限系统管理数据流图1.4.4用户特点学生成绩管理应用软件面向于大中型学校,其使用人员应为具备一定的计算机基础知识和企业管理基本知识。而本产品的维护人员需要掌握C与Access2003相结合的运行环境。1.4.5一般约束1)本系统开发人员为5人。2)有CPU133、512M内存配置的计算机就可运行本系统。3)在管理方针、并行操作、安全与保密方面无约束。1.4.6假设与依据本软件在开发的过程中,分为技术实现与软件工程两大部分,两部分都有侧重点,若技术支持出现故障或疑难问题无法解决、程序开发出现偏差,会延误工程进度,影响工程的按期完工。若软件工程陈述出现问题,部分描述含混不清,则会影响系统的完整性与可继承性。在管理方面,如管理者没有预见性,对出向的问题无法采用可行的解决手段,都会影响开发模块之间的互动,从而影响工程的顺利开展,导致工程无法按期完工。1.5具体要求1.5.1学生成绩管理系统的总体分析要开发一个管理信息系统,首先需要进行需求分析和总体设计,分析系统的使用对象和用户需求,设计系统的体系结构和数据结构,决定使用的开发工具和后台数据库,规划项目开发进程。在实际的项目开发过程中,这些工作是非常重要的。1.5.2应用需求分析 学生基本信息的添加,删除和查询。此功能为查询提供依据。 课程基本信息的添加,删除和查询。成绩基本信息的添加,删除和汇总。此功能够添加每位学生的成绩,修改和删除学生的成绩以及进行分类汇总。1.5.3开发工具的选择开发数据库管理信息系统需要选择两种工具,即前台开发语言和后台数据库。选择开发工具时应该考虑客户需求,系统功能和性能要求以及开发人员的习惯等因素。与其他工具相比,C具有简单易学,灵活方便和易于扩充等特点,越来越多的被用作客户/服务器应用程序的前端开发工具,与后台的Access2003数据库相结合,能够提供一个高性能的管理信息系统解决方案。因此。本实例采用C开发工具,Access2003作为后台数据库。1.6技术约束技术约束本工程产品的约束条件包括:a.C数据库中各种控件的使用及编程;b.Access2003语句的语法及操作环境约束运行本软件需要奔腾133以上PC,内存需要在512兆以上,对使用设备的速度、规模要求不高。标准约束学生成绩管理系统管理应用软件说明书完全按照《软件工程文档标准》1.7接口需求用户接口本工程产品通过PC机进行运行、操作,对报表、菜单的打印将使用C编程编辑器或调入word进行打印。输出、输入的相对时间将由pc机本身处理速度来决定。对程序的维护,需进行必要的备份。硬件接口本工程产品不需要特定的硬件或硬件接口进行支撑。软件接口本工程产品的软件接口由C编程语言、Access2003组成通讯接口本工程产品的没有特殊的通讯接口,通讯接口由所使用的pc机决定1.8支持信息1.8.1支持软件本软件开发是使用C语言编写,编译系统为"32位汉语编程系统",版本号为2.01.0061。在库调用时兼容VisualFoxpro6.0英文版,源程序的测试是使用汉语编程自身含有的"看数摞、看内存、看词"的方法进行测试,即支持测试的软件也是汉语编程操作系统本身。由于汉语编程本身的特点,它的关键词、命令等全部为中文,所以在使用汉语编程系统时需要中文输入法的支持。1.8.2设备a.具有奔腾133、512兆内存配置的计算机;b.Microsoft鼠标或其它兼容鼠标;c.VGA显示器或更高。d.WindowsXP中文版或更高。e.一般计算机外设,如:打印机、扫描仪。如要配置网络环境,还需网络连接设备。2、总体设计2.1、功能模块设计根据课程设计题目的功能要求,各个功能模块的组成框图如下:输入密码进入菜单根据提示选择操作项进行操作用continue语句实现循环操作用exit语句结束流程用exit语句结束流程2.2、所有功能模块的流程图开始请输入密码密码正确开始请输入密码密码正确请重新输入密码输入数字密码正确密码错误进行操作While语句循环操作输入0exit3、详细设计模块功能说明:如函数功能、入口及出口参数说明,函数调用关系描述等;3.1、输入函数及写入文件(1)、函数原形:scanf(“%d”,&),fprintf(fp,“%ld%s%s”,stu[i].studentID,stu[i].studentName,stu[i].studentSex),(2)、功能:scanf()函数利用取地址符号&完成对程序中某个变量的赋值,进而程序中判断循环的功能。Fprintf()函数利用write将数据写入文件中(3)、变量及类型:intn,m:整型形参变量,接收函数传过来的数字。inti,j,k:循环控制变量。(4)、说明:输入字符后需要按回车键,待系统做出判断后往下执行。3.2、输出函数(1)、函数原形:printf(“%d”,x),fscanf(fp,“%ld%s%s”,stu[i].studentID,stu[i].studentName,stu[i].studentSex),(2)、功能:输出相关提示信息及最后结果。(3)说明:输出时要把要输出的信息用双引号括起来,输出数字时要在其代表变量前加逗号。4、调试与测试:4.1、调试方法与步骤:进入第一步出现如下信息: 输入密码(密码是:123)选择y后,进入第二步。 用户输入要操作的选项。第三步:执行操作用户输入数据进行操作第四步:输出结果屏幕显示出用户输入的数据4.2、测试结果的分析与讨论:(测试要写出测试用例及每个用例结果的的截图)5、源程序清单和执行结果(清单中应有足够的注释)#include<stdio.h>#include<stdlib.h>#include<string.h>#defineN30typedefstructstudent//创建学生信息结构体{ longstudentID; charstudentName[10]; charstudentSex[5]; intscore[3]; intsum; floataver;}STUDENT;voidMenu(void);//菜单功能voidinputscore(STUDENTstu[],intn,intm);//从键盘输入n个学生的学号、姓名、性别、各科成绩、总分、平均分到结构体stu中voidwritetofile(STUDENTstu[],intn,intm);//输入学生的学号、姓名、性别、各科成绩、总分、平均分,并保存记录到文件intreadtofile(STUDENTstu[],intm);//函数功能:从文件中读出学生的学号、姓名、性别、各科成绩、总分、平均分到结构体数组stu中并返回学生数voidprintscore(STUDENTstu[],intn,intm);//函数功能:输出n个学生的学号、姓名、性别、各科成绩、总分、平均分到屏幕上voidnamepaixu(STUDENTstu[],intn,intm);//函数功能:选择排序法按姓名升序排序intnamechaxun(STUDENTstu[],charname[],intn);//函数功能:查找输入的姓名voidintput(STUDENTstu[],inti);//函数功能:输入待查信息voidxiugai(STUDENTstu[],inti,intk);//函数功能:修改学生成绩voidhighorlow(STUDENTstu[],intn,intm);//函数功能:计算语文、数学、英语的最高分和最低分voidtotaloraver(STUDENTstu[],intn,intm);//函数功能:计算语文、数学、英语的总分和平均分voidpassorbast(STUDENTstu[],intn,intm);//函数功能:统计语文、数学、英语的及格人数及优秀人数voidpaiming(STUDENTstu[],intn);//函数功能:计算每个人的总成绩、平均分、排名,并输出到屏幕上voidaverage(STUDENTstu[],intn);//函数功能:按平均分由高到低的顺序显示全部学生的学号和姓名voidnumber(STUDENTstu[],intn,intm);voiddayin();//函数功能:将各科最高分、最低分、总分、平均分、及格人数、优秀人数显示到屏幕上//..............................................................intmain(){ STUDENTstu[N]; intch,mm,i=0; intn,k; charname[10]; printf("请输入密码:");//密码是123 while(1) { i++; scanf("%d",&mm); if(mm==123) break; elseif(i==3) exit(0); else printf("密码错误,请重新输入:"); } Menu(); do{ printf("请选择序号:"); scanf("%d",&ch); switch(ch) { case1: printf("Howmanystudents?:"); scanf("%d",&n); inputscore(stu,n,3); writetofile(stu,n,3); break; case2: n=readtofile(stu,3); printscore(stu,n,3); break; case3: n=readtofile(stu,3); namepaixu(stu,n,3); printscore(stu,n,3); printf("输入你想查寻的姓名:"); scanf("%s",&name); i=namechaxun(stu,name,n); intput(stu,i); break; case4: n=readtofile(stu,3); namepaixu(stu,n,3); printscore(stu,n,3); printf("输入你要修改的人的姓名:"); scanf("%s",&name); i=namechaxun(stu,name,n); printf("你想要修改的科目:\n"); printf("1:语文\n2:数学\n3:英语\n"); printf("请选择:"); scanf("%d",&k); xiugai(stu,i,k); break; case5: n=readtofile(stu,3); highorlow(stu,n,3); totaloraver(stu,n,3); passorbast(stu,n,3); dayin(); break; case6: n=readtofile(stu,3); paiming(stu,n); break; case7: n=readtofile(stu,3); average(stu,n); break; case8: n=readtofile(stu,3); number(stu,n,3); break;//.......
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 元宇宙虚拟数字货币兑换与交易服务协议
- 样板间室内外绿化及装修工程施工合同
- 儿童用品电商平台全渠道运营合作协议
- 同声传译租赁合同终止条件补充协议
- 医疗机构废弃药品及生物安全废物回收协议
- 直播平台提词器租赁与直播节目制作服务协议
- 零售商智能电子价签租赁与智能数据分析合同
- 电子商务网站技术维护及安全保障合同
- 企业管理公司创业路径规划
- 影视基地电力设施投资与运营管理合同
- GB/T 15773-2008水土保持综合治理验收规范
- 烧烤类菜单表格
- DB11∕T 583-2022 扣件式和碗扣式钢管脚手架安全选用技术规程
- 煤矿重大事故隐患治理督办制度建设指南
- DB21T 3532-2021 植保无人机释放赤眼蜂防治水稻二化螟技术规程
- 碳酸乙酯(碳酸二乙酯)的理化性质及危险特性表
- 模具保养记录表
- 三年级语文下册第七单元(集体备课)教材分析说课稿课件
- SAP零售行业解决方案
- 四川大学年《系统解剖学》期末试题及答案
- 博德之门BG+TOSC细节攻略
评论
0/150
提交评论