第二讲 软设题目4-学生成绩管理程序
学生成绩管理程序设计讲解

学生成绩管理程序设计目录摘要 (1)1.绪论 (1)2. 系统分析 (1)2.1功能需求 (1)2.2数据需求 (1)2.3性能需求 (2)3. 总体设计 (2)3.1功能模块设计 (2)3.2系统设计方案 (2)4总体设计 (3)4.1学生信息录入管理模块 (3)4.2学生成绩信息统计管理模块 (4)4.3学生排名管理模块 (4)4.4学生信息修改管理模块 (5)5. 调试与测试 (6)5.1调试 (6)5.2测试 (7)6. 结论 (7)结束语 (7)参考文献 (8)附录1-用户手册 (9)摘要学生成绩信息管理程序是一个学校不可缺少的部分,学校可以利用这套程序进行学生的成绩信息管理,也方便查询修改学生的成绩各项信息,可以提高管理工作的效率。
本系统使用C语言作为开发工具的,开发学生成绩信息管理系统,实现了录入学生成绩信息,按姓名、学号等条件删除学生成绩信息。
本文从分析课题的题目背景、题目意义、题目要求等出发,分别从需求分析、总体设计、详细设计、测试等各个方面详细介绍了系统的设计与实现过程,最后对系统的完成情况进行了总结。
关键词:学生成绩信息管理;删除; C语言1.绪论随着科技的发展,愈来愈多的学校选择了运用学生成绩信息管理程序来管理学生成绩信息。
学生成绩信息管理程序是一个学校不可缺少的部分,学校可以利用这套程序进行学生的成绩信息管理,也方便查询修改学生的各项信息,可以提高管理工作的效率和简化管理工作的程序。
有利的为公司节省了运作成本,优化资源利用率,这也正是编写本程序的目的所在。
根据课程设计任务书要求,本系统开发主要完成以下功能和性能。
1.录入学生数据信息(不用考虑学期),学生信息至少包括姓名、学号、语文、数学、英语成绩,学生信息应及时保存在文件中;2.根据学号删除某生信息;3.能够计算平均分并显示所有学生名次。
2. 系统分析2.1 功能需求本系统主要是企业对职工信息简单管理的系统。
该系统需要有录入信息,删除信息,统计信息,循环显示主菜单,保存信息的功能,并且利用显示函数将学生的所有信息显示出来。
学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典引言概述:学生成绩管理系统是一种用于管理学生学习成绩的软件系统。
通过数据流程图和数据字典,可以清晰地了解该系统的运行过程和数据结构。
本文将详细介绍学生成绩管理系统的数据流程图和数据字典。
一、学生成绩管理系统数据流程图1.1 学生信息录入流程1.2 成绩录入流程1.3 成绩查询流程二、学生成绩管理系统数据字典2.1 学生信息表2.2 课程信息表2.3 成绩信息表正文内容:一、学生成绩管理系统数据流程图1.1 学生信息录入流程学生信息录入是学生成绩管理系统的第一步,该流程主要包括以下三个步骤:1.1.1 学生信息输入:教师或管理员通过系统界面输入学生的基本信息,包括学生姓名、学号、性别、年级等。
1.1.2 学生信息验证:系统对输入的学生信息进行验证,确保信息的准确性和完整性。
1.1.3 学生信息存储:经过验证的学生信息将被存储到学生信息表中,以便后续的成绩管理和查询。
1.2 成绩录入流程成绩录入是学生成绩管理系统的核心功能之一,该流程主要包括以下三个步骤:1.2.1 课程信息选择:教师或管理员通过系统界面选择要录入成绩的课程。
1.2.2 学生成绩输入:根据选择的课程,教师或管理员输入学生的成绩信息,包括学生学号和对应的成绩。
1.2.3 成绩信息存储:经过验证的成绩信息将被存储到成绩信息表中,以便后续的成绩查询和统计。
1.3 成绩查询流程成绩查询是学生成绩管理系统的常用功能之一,该流程主要包括以下三个步骤:1.3.1 学生信息输入:学生通过系统界面输入自己的学号,以进行成绩查询。
1.3.2 成绩信息检索:系统根据输入的学号,在成绩信息表中检索对应的成绩信息。
1.3.3 成绩信息显示:系统将检索到的成绩信息显示在界面上,供学生查看和参考。
二、学生成绩管理系统数据字典2.1 学生信息表学生信息表是学生成绩管理系统中存储学生基本信息的表格,包括以下字段:- 学号:学生的唯一标识符- 姓名:学生的姓名- 性别:学生的性别- 年级:学生所在的年级2.2 课程信息表课程信息表是学生成绩管理系统中存储课程信息的表格,包括以下字段:- 课程编号:课程的唯一标识符- 课程名称:课程的名称- 授课教师:该课程的教师姓名2.3 成绩信息表成绩信息表是学生成绩管理系统中存储学生成绩信息的表格,包括以下字段:- 学号:学生的学号- 课程编号:课程的编号- 成绩:学生在该课程中的成绩结论:通过数据流程图和数据字典,我们可以清晰地了解学生成绩管理系统的运行过程和数据结构。
学生成绩管理程序

合肥学院计算机科学与技术系课程设计报告2012~2013学年第二学期课程JA V A语言课程设计课程设计名称学生成绩管理程序学生姓名高昌发学号1104013036专业班级11级计本3班指导教师谭明、张艳明2 0 13 年1 月一、设计目的通过课程设计,学生在下述各方面的能力应该得到锻炼:(1)进一步巩固、加深学生所学专业课程《JAVA语言教程》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。
(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。
(3)利用所学知识,开发小型应用系统,掌握运用JAVA语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。
(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。
(5)熟练掌握JAVA语言的事件处理、图形界面、数据库操作等方面的知识。
一、课程设计名称及内容课程设计名称:学生成绩管理程序设计内容:设计一个程序来使用数据库存储学生成绩,进行学生成绩管理程序。
二、任务和要求这是一个简单的使用数据库存储学生成绩的学生成绩管理程序。
数据库中的每条记录包括学号、姓名、生日、分数等信息。
要求能够:(1)有较好的图形界面(2)按照学号查找学生及成绩、能显示全部记录。
(3)能增加、删除、修改记录。
三、详细设计过程该程序使用JDBC-ODBC桥与数据库连接,主要定义:主类和操作类。
主类的主要功能是提供等待用户的操作的主界面(菜单)。
操作类中定义与数据库的连接、提供各种操作界面(增、删、改及统计等操作)。
1、设计的是学生成绩管理程序的界面,如下所示:这个登陆界面的登陆号和密码都已经设计好了,只需要点击登陆则可以进入具体的管理程序。
如果登陆号和密码发生改变则会显示错误提示,具体的子程序代码如下:public class chengjiguanli {public static void main(String[] args) {new denglu();}}/** *登录界面*/@SuppressWarnings("serial")class denglu extends JFrame implements ActionListener {JFrame frame = new JFrame("登陆界面");JPanel imagePanel;ImageIcon bg;JButton button1, button2;Label l1, l2, l3;TextField a1, a2;Box b1, b2, b3, b4, b5;denglu() {Toolkit kit = Toolkit.getDefaultToolkit();Image img = kit.getImage("tubiao.jpg");frame.setIconImage(img);button1 = new JButton("登陆");button2 = new JButton("退出");Panel p1 = new Panel();l1 = new Label("学生成绩管理系统", Label.CENTER);l1.setFont(new Font("隶书", Font.BOLD, 40));l1.setBackground(Color.pink);p1.add(l1);l2 = new Label("登录名");l3 = new Label("密码");a1 = new TextField(10);a2 = new TextField(10);a2.setEchoChar('*');b1 = Box.createVerticalBox();b1.add(l2);b1.add(Box.createVerticalStrut(8));b1.add(l3);b2 = Box.createVerticalBox();b2.add(a1);b2.add(Box.createVerticalStrut(8));b2.add(a2);b3 = Box.createHorizontalBox();b3.add(b1);b3.add(Box.createHorizontalStrut(10));b3.add(b2);b4 = Box.createHorizontalBox();b4.add(button1);b4.add(Box.createHorizontalStrut(10));b4.add(button2);b5 = Box.createVerticalBox();b5.add(b3);b5.add(Box.createVerticalStrut(8));b5.add(b4);button1.addActionListener(this);button2.addActionListener(this);a1.setText("shanshan");a2.setText("shanshan");addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {dispose();}});bg = new ImageIcon("dlu.jpg");JLabel label = new JLabel(bg);label.setBounds(0, 0, bg.getIconWidth(), bg.getIconHeight());imagePanel = (JPanel) frame.getContentPane();imagePanel.setOpaque(false);imagePanel.setLayout(new FlowLayout());imagePanel.add(p1, BorderLayout.NORTH);imagePanel.add(b5, BorderLayout.CENTER);frame.getLayeredPane().setLayout(null);frame.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE));frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(bg.getIconWidth(), bg.getIconHeight());frame.setBounds(200, 150, 510, 340);frame.setResizable(false);//设置窗口大小不可改变frame.setVisible(true);validate();}public void actionPerformed(ActionEvent e) {if (e.getSource() == button2) {System.exit(0);}if (e.getSource() == button1) {if (a1.getText().equals("shanshan") &&a2.getText().equals("shanshan")) {new chuangkou();frame.dispose();} else {JOptionPane.showMessageDialog(this, "账户密码错误,请重新输入!");}}}}2、点击界面的登陆按钮后会出现选择窗口,分别有六个功能:添加、删除、修改、查询、返回、退出。
学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典一、数据流程图学生成绩管理系统是一个用于管理学生的各科成绩的系统。
下面是该系统的数据流程图,展示了数据在系统中的流动和处理过程。
1. 学生成绩录入流程学生成绩录入是指将学生的各科成绩录入系统的过程。
该流程包括以下步骤:a. 教师登录系统,选择录入成绩功能。
b. 系统显示可选择的班级列表,教师选择要录入成绩的班级。
c. 系统显示选择班级的学生列表,教师选择要录入成绩的学生。
d. 教师输入学生的各科成绩,并确认提交。
e. 系统保存录入的成绩信息,并生成成绩报表。
2. 学生成绩查询流程学生成绩查询是指学生、家长或教师查询学生的各科成绩的过程。
该流程包括以下步骤:a. 用户登录系统,选择查询成绩功能。
b. 系统显示可选择的班级列表,用户选择要查询成绩的班级。
c. 系统显示选择班级的学生列表,用户选择要查询成绩的学生。
d. 系统显示选择学生的各科成绩。
3. 学生成绩统计流程学生成绩统计是指对学生的各科成绩进行统计分析的过程。
该流程包括以下步骤:a. 教师登录系统,选择统计成绩功能。
b. 系统显示可选择的班级列表,教师选择要统计成绩的班级。
c. 系统显示选择班级的学生列表,教师选择要统计成绩的学生。
d. 系统根据选择的学生,统计各科成绩的平均分、最高分、最低分等指标,并生成统计报表。
二、数据字典数据字典是对系统中使用的数据进行定义和描述的文档。
下面是学生成绩管理系统的数据字典,包括系统中使用的实体和属性的定义。
1. 学生(Student)- 学号(ID):学生的唯一标识符,用于区分不同的学生。
- 姓名(Name):学生的姓名。
- 班级(Class):学生所在的班级。
2. 成绩(Score)- 学号(ID):学生的学号,用于与学生实体关联。
- 课程(Course):成绩所属的课程。
- 成绩值(Value):学生在该课程中的成绩。
3. 教师(Teacher)- 工号(ID):教师的唯一标识符,用于区分不同的教师。
软件工程课程设计(学生成绩管理系统)

( 2015-- 2016 年度第 2 学期)
名 称: 软件工程课程设计
院 系:
班 级: 软件 1302
学 号: 201309020219
学生姓名: 魏殿骏
指导教师: 宋雨 陈晴
设计周数:
成 绩:
日期:2016 年 6 月 26 日
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力通根保1据过护生管高产线中工敷资艺设料高技试中术卷资0配不料置仅试技可卷术以要是解求指决,机吊对组顶电在层气进配设行置备继不进电规行保范空护高载高中与中资带资料负料试荷试卷下卷问高总题中体2资2配,料置而试时且卷,可调需保控要障试在各验最类;大管对限路设度习备内题进来到行确位调保。整机在使组管其高路在中敷正资设常料过工试程况卷中下安,与全要过,加度并强工且看作尽护下可关都能于可地管以缩路正小高常故中工障资作高料;中试对资卷于料连继试接电卷管保破口护坏处进范理行围高整,中核或资对者料定对试值某卷,些弯审异扁核常度与高固校中定对资盒图料位纸试置,卷.编保工写护况复层进杂防行设腐自备跨动与接处装地理置线,高弯尤中曲其资半要料径避试标免卷高错调等误试,高方要中案求资,技料编术试写5交、卷重底电保要。气护设管设装备线备置4高敷、调动中设电试作资技气高,料术课中并3试、中件资且卷管包中料拒试路含调试绝验敷线试卷动方设槽技作案技、术,以术管来及架避系等免统多不启项必动方要方式高案,中;为资对解料整决试套高卷启中突动语然过文停程电机中气。高课因中件此资中,料管电试壁力卷薄高电、中气接资设口料备不试进严卷行等保调问护试题装工,置作合调并理试且利技进用术行管,过线要关敷求运设电行技力高术保中。护资线装料缆置试敷做卷设到技原准术则确指:灵导在活。分。对线对于盒于调处差试,动过当保程不护中同装高电置中压高资回中料路资试交料卷叉试技时卷术,调问应试题采技,用术作金是为属指调隔发试板电人进机员行一,隔变需开压要处器在理组事;在前同发掌一生握线内图槽部纸内 故资,障料强时、电,设回需备路要制须进造同行厂时外家切部出断电具习源高题高中电中资源资料,料试线试卷缆卷试敷切验设除报完从告毕而与,采相要用关进高技行中术检资资查料料和试,检卷并测主且处要了理保解。护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
用C语言设计一个简单的学生成绩管理程序

-----------------------学生成绩管理程序-软件编程课程设计一、题目1.利用C语言设计一个简单的学生成绩管理程序,主要功能包括:(1)学生成绩纪录输入。
(2)学生成绩查询;(3)学生成绩修改;(4)学生成绩删除。
规定:(1)学生纪录包括学号、姓名和总分三部分;(2)所有的学生纪录全存放在一个文件中;(3)以二进制的形式进行输出。
四、源程序代码#includ e<stdio.h> /*引用库函数*/#includ e<stdlib.h>#includ e<ctype.h>#includ e<string.h>typed ef struct /*定义结构体数组*/{char num[10]; /*学号*/char name[20]; /*姓名*/int score; /*成绩*/}Stud ent;Stud ent stu[80]; /*结构体数组变量*/int menu_sel ect() /*菜单函数*/char c;d o{system("cls"); /*运行前清屏*/printf("\t\t\t****学生成绩管理程序****\n"); /*菜单选择*/printf("\t\t\t | 1. 请输入学生记录|\n");printf("\t\t\t | 2. 删除记录|\n");printf("\t\t\t | 3. 查找数据|\n");printf("\t\t\t | 4. 写入文件|\n");printf("\t\t\t | 5. 改写成绩|\n");printf("\t\t\t | 0. 退出程序|\n");printf("请选择(0-5):");c=getchar(); /*读入选择*/}whil e(c<'0'||c>'5');return(c-'0'); /*返回选择*/}int Input(Stud ent stud[],int n) /*输入若干条记录*/{int i=0;char sign,x[10]; /*x[10]为清除多余的数据所用*/whil e(sign!='n'&&sign!='N') /*判断*/{ printf("\t\t\t学生的学号:"); /*交互输入*/scanf("\t\t\t%s",stud[n+i].num);printf("\t\t\t学生的姓名:");scanf("\t\t\t%s",stud[n+i].name);printf("\t\t\t学生的成绩:");scanf("\t\t\t%d",&stud[n+i].score);gets(x); /*清除多余的输入*/printf("\t\t是否继续?(Y/N)");scanf("\t\t\t%c",&sign); /*输入判断*/i++;}return(n+i);}int Delete_a_record(Student stud[],int n) /*按姓名查找,删除一条记录*/ { char s[20];int i=0,j;printf("\t\t\ttell me his(her) name:"); /*交互式问寻*/scanf("%s",s);whil e(strcmp(stud[i].name,s)!=0&&i<n) i++; /*查找判断*/if(i==n){ printf("\t\t\tnot find!\n"); /*返回失败信息*/return(n);}for(j=i;j<n-1;j++) /*删除操作*/{strcpy(stud[j].num,stud[j+1].num);strcpy(stud[j].name,stud[j+1].name);stud[j].score=stud[j+1].score;}printf("\t\t\tDelete Successed!\n"); /*返回成功信息*/return(n-1);}void Query_a_record(Stud ent stud[],int n) /*查找并显示一个记录*/ { char s[20];int i=0;printf("\t\t\tinput his(her) name:"); /*交互式输入*/scanf("\t\t\t%s",s);whil e(strcmp(stud[i].name,s)!=0&&i<n) i++; /*查找判断*/if(i==n){ printf("\t\t\tnot find!\n"); /*输入失败信息*/return;}printf("\t\t\this(her) number:%s\n",stud[i].num); /*输出该学生信息*/ printf("\t\t\this(her) score:%d\n",stud[i].score);}void modify(Stud ent stud[] )/*修改学生信息*/{ int i;char num[10];int score;printf("\t\t\t请输入要修改成绩的学生的学号:");scanf("%s",num);printf("\t\t\t请输入修改后的成绩:");scanf("%d",&score);for(i=0;i<10;i++)if(!strcmp(num,stu[i].num))stu[i].score=score;}void Writetobin(Stud ent stud[],int n){ FILE *fp;int i;if((fp=fopen("data.bin","wb"))==NULL) //以二进制写方式打开文件{ printf("cannot open file\n");return;}for(i=0;i<n-1;i++)fwrite(&stud[i],sizeof( Stud ent),1,fp);fcl ose(fp);}void main() /*主函数*/{int n=0;for(;;){switch(menu_sel ect()) /*选择判断*/{case 1:printf("\t\t\t请输入记录:\n"); /*输入若干条记录*/n=Input(stu,n);break;case 2:printf("\t\t\tDelete a Record\n");n=Delete_a_record(stu,n); /*按姓名查找,删除一条记录*/ printf("\t\t\t");system("pause");break;case 3:printf("\t\t\tQuery\n");Query_a_record(stu,n); /*查找并显示一个记录*/printf("\t\t\t");system("pause");break;case 4:printf("\t\t\tWrite to a bin file\n");Writetobin(stu,n);printf("\t\t\t");system("pause");break;case 5:modify(stu);printf("\t\t\t");system("pause");break;case 0:printf("\t\t\t\n"); /*结束程序*/ printf("\t\t\t");system("pause");exit(0);}}}二、流程图三、结果截图。
汇编语言课程设计---学生成绩管理程序

郑重声明:本篇文档为从百度文库中下载的经过原文修改后的!目录第一章设计课题概述 (2)1.1 课程设计目的 (2)1.2设计内容及要求 (2)第二章总体设计 (3)2.1总体设计思路 (3)2.2 各版块功能描述 (3)第三章详细设计 (5)3.1 程序功能设计 (5)3.2各模块程序详细流程 (5)3.3 源代码及注释 (8)第四章调试过程及结果 (32)4.1 显示所有成绩 (32)4.2 插入成绩 (32)4.3 查询学生成绩 (33)4.4 删除学生成绩 (34)4.5 修改学生成绩 (35)4.6输出数学成绩 (36)第五章总结 (37)参考资料 (38)第一章设计课题概述1.1 课程设计目的当今社会是一个信息时代的社会,计算机的使用也是越来越普遍了,各行业在管理职员都采用了一些管理软件,不管是银行、学校,大大小小的各种企业,都是使用的相应的管理软件管理企业的各种信息,我选择的这个汇编语言课程设计题就是一个简单学生信息管理程序,虽然只能处理一些简单操作,但是其意义却是非凡,同过此课程设计,让我了解了一些简单的管理软件的基本原理,更深刻的理解了汇编语言的特点,对汇编语言有了一个跟深层次的理解。
利用汇编程序编写一个小型学生成绩管理程序,实现学生信息成绩的插入、修改、显示所有学生的各科成绩,并且可根据输入学生姓名插询该生的各科成绩,可统计所有成绩个各分数段的人数。
1.2设计内容及要求设计一个学生管理程序,主要实现以下功能(1)各科成绩的录入、修改、和删除。
(2)按姓名查询每个学生哥们成绩。
(3)显示查询结果(4)统计各分数段的成绩的人数个分数段的人数。
程序运行时,在出现的主菜单中,按l键,将浏览学生的各科成绩;按i键后,将执行插入功能,可以插入新的学生成绩,按m键,键输入需要修改的学生成绩,也包括不修改的科目;按d键输入要删除的学生姓名,将使其成绩全部变成0;按q键输入查询的学生的姓名,将其各科成绩显示出来;按下c键将按数学成绩分段结果。
软件工程课程设计学生成绩信息管理系统

采用MVC设计模式,将业务逻辑、数据和界面分离,提高系统的可维护性和可扩展性。
系统采用模块化设计,各模块之间低耦合、高内聚,方便系统功能的扩展和修改。
界面设计
按钮设计:大小适中,位置合理
图标设计:形象生动,易于理解
用户界面布局:简洁明了,易于操作
菜单设计:层次分明,、删除等功能
系统概述
PART TWO
系统简介
系统名称:软件工程课程设计学生成绩信息管理系统
开发目的:对学生成绩信息进行高效管理,提供便捷的查询、修改、添加和删除功能
主要功能:用户登录、信息录入、信息查询、信息修改、信息删除和系统维护
技术支持:采用B/S架构,使用Java语言开发,数据库采用MySQL
系统目标
非功能需求
系统性能:要求系统响应速度快,运行稳定
安全性:保证数据的安全性,防止数据泄露和被非法访问
可靠性:要求系统能够长时间稳定运行,避免因故障导致的数据丢失或系统瘫痪
可维护性:要求系统结构清晰,易于维护和升级
系统设计
PART FOUR
数据库设计
数据库类型:选择合适的关系型数据库管理系统,如MySQL、Oracle等。
系统安全性是否有保障
改进建议
优化用户界面,提高用户体验
增加数据备份和恢复功能,确保数据安全
加强系统性能优化,提高响应速度
完善系统文档,方便用户学习和使用
THANK
硬件设备:选择合适的服务器、网络设备等
部署方式:采用自动化部署工具进行快速部署
安全措施:设置防火墙、加密传输等保障系统安全
软件环境:安装操作系统、数据库、中间件等
系统维护
系统备份:定期对系统数据进行备份,确保数据安全
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020/10/12
华中科技大学光学与电子信息学院
3
1 课程设计总体要求(需求分析)
设计一个实用的小型学生成绩管理程 序,它有学生成绩的录入、查询、检索和 报表等功能。
2020/10/12
华中科技大学光学与电子信息学院
4
1 课程设计总体要求(需求分析)
总体要求
覆盖大学课程成绩信息,可为学校、教师和学生 提供准确的信息。
华中科技大学光学与电子信息学院
21
3 数据结构示例
学号 字符型
姓名 字符型
性别 字符型
院系 字符型
班级 字符型
成绩 浮点型数组
struct student_info {
均分 能查询学生成绩,不及格科目及学生名单 能按班级输出学生的成绩单
2020/10/12
华中科技大学光学与电子信息学院
6
功能需求
可对学生成绩档案进行管理,成绩表单生成 简便
学生成绩信息查询 用户区分,管理 帮助文档
2020/10/12
华中科技大学光学与电子信息学院
7
性能需求
数据精确度
Save
文件存储
Load
文件读取
sortInfo
排序
常数
提供常数定义
结构声明
学生成绩数据结构
库函数及函数原形 引用的库函数和函
声明
数
2020/10/12
华中科技大学光学与电子信息学院
20
第2讲 目 录
1.程序设计要求 2.总体设计指南 3.数据结构定义 4.函数定义说明 5.编码规范要求
2020/10/12
2020/10/12
华中科技大学光学与电子信息学院
10
第2讲 目 录
1.程序设计要求 2.总体设计指南 3.数据结构定义 4.函数定义说明 5.编码规范要求
2020/10/12
华中科技大学光学与电子信息学院
11
2 总体设计指南
最初的整体规划只是说明它们的可行性,不 要求制定函数的具体实现,甚至不需要 考虑函 数原型。完成整体规划后,可以按照流程描述 各个模块之间的接口功能。
6、尚未问决的问题 :说明在总体设计过程中尚未解决而 设计者认为在系统完成之前必须解决的各个问题
2020/10/12
华中科技大学光学与电子信息学院
14
2 总体设计指南
表1: 功能需求与程序的关系
功能需求1 功能需求2 …… 功能需求n
程序1 √
程序2 √ √
……
程序n √
2020/10/12
华中科技大学光学与电子信息学院
2020/10/12
华中科技大学光学与电子信息学院
12
2 总体设计指南
总体(概要)设计应包括:
1、需求规定 :说明对本系统的主要的输入输出项目、处 理的功能性能要求
2、运行环境 :简要地说明对本系统的运行环境(包括硬 件环境和支持环境)的规定
3、基本设计概念和处理流程 :说明本系统的基本设计概 念和处理流程,尽量使用图表的形式
表2:文件及函数组成 (续)
Display.c
showTable getIndex addRecord Display
打印表头 获取按升序排列的
位置 在表尾追加信息
显示信息
2020/10/12
华中科技大学光学与电子信息学院
18
设计参考实例
表2:文件及函数组成 (续)
removeRecord findRecod
15
设计参考实例(文本范例)
学生成绩管理系统模块参考设计如下:
(1)使用多文件方式实现设计; (2)在各个文件内实现结构化设计; (3)每个模块作为一个单独的c文件,每个文件内的函数
如表2所示,表中给出了各个函数的功能说明; (4)宏和数据结构等放在头文件中,并使用条件编译。
2020/10/12
华中科技大学光学与电子信息学院
系统采用模块化程序设计结构。各模块之间既 相互独立,又具有一定的联系,各模块可独立编制、 调试、查错、修改和执行,结构严谨,便于扩展和 维护。
2020/10/12
华中科技大学光学与电子信息学院
5
1 课程设计总体要求(需求分析)
按班级完成对学生成绩的录入、修改 按班级统计学生的成绩,求学生的总分及平
基本要求:采用文本菜单界面,但是要求操作 自然
基于windows图形界面软件,采用多文档界面, 程序美观,整齐有序,简易操作。
2020/10/12
华中科技大学光学与电子信息学院
9
功能设计建议(关键要求及技术点)
(1)使用文件作为数据库; (2)使用数组或链表; (3)文件的创建、读、写、关闭等操作; (4)基于数组的查询、记录插入、删除操作; (5)排序算法。
2020/10/12
华中科技大学光学与电子信息学院
13
2 总体设计指南
4、结构 :用一览表及框图的形式说明本系统的系统元素 (各层模块、子程序、公用程序等)的划分,扼要说明 每个系统元素的标识符和功能,分层次地给出各元素之 间的控制与被控制关系
5、功能需求与程序的关系 :用一张矩阵图说明各项功能 需求的实现同各块程序的分配关系 参见表1
16
设计参考实例
表2:文件及函数组成
源文件 Student.c
函数名称及组成 main Menu_select Handle_menu NewRecords Quit
功能描述 主函数 菜单选择 菜单处理 新建学生信息记录 结束运行
2020/10/12
华中科技大学光学与电子信息学院
17
设计参考实例
Add_disp.c
queryInfo copyRecord
modifyRecord
删除指定的纪录
查找指定的纪录
查询指定学生的信 息
复制纪录
修改指定学生的信 息
2020/10/12
实例
表2:文件及函数组成 (续)
Save_load.c Sort.c
Student.h
学生成绩管理程序
2020/10/12
华中科技大学光学与电子信息学院
1
目录
1.程序设计要求 2.总体设计指南 3.数据结构定义 4.函数定义说明 5.编码规范要求
2020/10/12
华中科技大学光学与电子信息学院
2
第2讲 目 录
1.程序设计要求 2.总体设计指南 3.数据结构定义 4.函数定义说明 5.编码规范要求
保证能及时正确保存相关信息,能够查询到所 要查询的相关信息并保证其正确率。
时间特性
保证一般操作的响应时间应在1秒内。
适应性
要求满足运行环境在允许操作系统之间的安全 转换和与其它应用软件的独立运行要求,与一 般软件没冲突情况。
2020/10/12
华中科技大学光学与电子信息学院
8
运行需求
用户界面