2022代写研究计画信息管理系统（MIS）搭建：Management Information System (MIS) structures
1. Introduction引言信息管理系统（MIS）是集计算机技术、网络通信技术为一体的信息系统工程，它能够使企业运行的数据更加准确、及时、全面、详实，同时对各种信息进一步的加工，使企业领导层对生产、经营的决策依据更充分，更具有合理性科学性，并创造出更多的发展机会；另外也进一步加强企业的科学化、合理化、制度化、规范化管理，为企业的管理水平跨上新台阶，为企业持续、健康、稳定的发展打下基础。Management Information System (MIS) is a set of computer technology, network communication technology for integrated information systems engineering, which enables enterprises to run data more accurate, timely , comprehensive, informative , and all kinds of information for further processing, so that corporate leadership production , management decision making fuller , more scientific rationality , and create more opportunities for development ; There is also further strengthen the scientific enterprise , rationalization, institutionalization, standardization management, enterprise management level Kuashang new stage for sustained , healthy and stable development of enterprises laid the foundation .MIS系统开发过程不仅仅是一个编写应用程序的过程，而是以软件工程的思想为指导，从可行性研究开始，经过系统分析、系统设计、系统实施等主要阶段而进行规范的开发过程。目前国内使用和发展的MIS平台模式大体上分为两种：客户机/服务器（Client/Server,简称C/S）模式和浏览器/服务器（Browser/Server,简称C/S）模式。MIS system development process is not just a process of writing applications , but in the idea of software engineering as a guide , starting from feasibility studies , through the main stages of system analysis , system design, system implementation and to regulate the development process. At present, the use and development of MIS platform model is roughly divided into two types: client / server (Client / Server, referred to as the C / S) mode and browser / server (Browser / Server, referred to as the C / S) mode.MIS system not only used in the enterprise, it can be applied to a wide aspect , can be applied to all walks of life : finance, insurance , agriculture, industry and so on. As long as there is a record of the data collection and processing aspects , can be applied.School as an independent agency is no exception . And all cases schools are more complex, various agencies are separate , but interrelated , which requires a more complex MIS systems. School of Management MIS system generally consists of the following components: student information management, teaching management, Registry management, financial management , materials management , logistics management.Each system is divided into different schools of management personnel , some different managers see as well as operations management and different , which requires the operator to provide different different operating administrative privileges. Information on the identity of the different users need different, which requires to different users with different user interface, perform different operations. And the problem of concern to customers of different identities are different , such as users generally divided school students, teachers, Office of Academic Affairs , which requires doing some preliminary analysis needs to do before the MIS system development , system design medium-term program development, but also pay attention to the latter part of system maintenance.1.1System系统Today's society, the rapid development of science and technology , knowledge, rapid turnover . With the widespread promotion of application of computers in the world, major colleges have gradually realized the computerized management , and the field of vision has gone deep into the Internet to achieve the network management. In school, if the student management is to provide a strong logistical support for the learning environment, then it can be said that teaching management a strong driving force for school development . Strengthen teaching management, computerized management, not only make college level teaching hospital on a new level , and facilitate the teaching staff of the college teaching management , teachers teach , students learn in-depth understanding of several major aspects and fully grasp . In the computerized school teaching management is an important aspect of the school building.This article is made MIS system software learning management system , developed by Delphi foreground , background database using SQL, using the B / S model , which includes:( 1 ) login screen ( the login functionality to provide different interfaces for different users , customers realize different permissions different operating functions ) ;( 2 ) Teachers application ( including the provision of the new curriculum , delete old programs , modify existing programs , student enrollment is used ) , course management teachers ( including a list of courses offered , the list of courses that students reported student input achievement ) ;( 3 ) Curriculum Academic Affairs for approval ( including approval of the course details, approved, rejected the application ) , resource allocation programs ( mainly to complete the assignment of teachers and class time before the beginning of each semester course need to clear all of the original allocation of resources , re-enter the results of allocations ) , the results of the query management interface elective ( main function is to transfer the results to the transcript of the course , with both modify the function ) , transcripts ( mainly to complete each course transcripts queries. Additionally because of time reasons , not transcripts can achieve print function) ;( 4 ) student elective function ( main function is to achieve curriculum inquiry , to be selected to join the selected course curriculum ) ,Students query results function ( to achieve their academic performance has a list of courses query ) ;1.2System modules系统模型The system modules as shown:Because of the use of this system is not only educational management personnel , but also including students and classrooms. Different identities for different operating authority database . In order to avoid administrative confusion, need to design different roles for different clients , assign different permissions on the same database reasonable modifications. Teaching management information decency is an important integral part of the campus information management system. Between this system and the realization of other systems on campus interdependent and mutually complementary, he needs to get the student 's personal information from the student information management system , access to relevant information from classroom teachers classroom information management system. Also, this system provides another transcripts provides the necessary reference for other systems.According to the above ER diagram , you need three basic information table : classroom information, student information , course information . Among them, the teachers and students information on the actual information is read directly from other systems management information system data sheet . Student enrollment information you need to use a table to hold separately. Since the end of each semester should be carried out before the course , after the end of a course to talk about the content of the table in time to save the transcript data table. Use of this system is not only Dean 's administrators and teachers , each student will need to log back selection system to choose courses. Therefore , the need for staff to restrict different login password authentication and permissions to prevent unauthorized behavior. User name, password , and permissions individually stored in a data table. Also to save a table for each count and record number of a curriculum status code table , eight data table structure shown below :TEACHER Personal Information Sheet Are Field Name Data Type Description is emptyID CHAR (6) NOT NULL employee number ( primary key )NAME VARCHAR (20) NOT NULL NameDEPARTMENT CHAR (2) NOT NULL belongs facultiesSTUDENT Student Personal Information SheetAre Field Name Data Type Description is emptyID CHAR (6) NOT NULL Student ID ( primary key )NAME VARCHAR (20) NOT NULL NameWhere the classes CLASS CHAR (4) NULLCOURSE Course Information SheetAre Field Name Data Type Description is emptyID CHAR (10) NOT NULL course number ( primary key )NAME VARCHAR (50) NOT NULL Course TitleTEACHER CHAR (6) NOT NULL classroom teachers ( foreign key TEACHER)CREDIT_HOUR SMALLINT NULL learning pointsPERIOD SMALLINT NULL LearningCLASSTIME VARCHAR (20) NULL class timeCLASSROOM VARCHAR (20) NULL VenueINTRO VARCHAR (4000) NULL Course InformationSTATE CHAR (1) NOT NULL course status ( foreign key COURSE_STATE)COURSE_SELECT curriculum status code tableAre Field Name Data Type Description is emptyID INTEGER NOT NULL record number ( the primary key )COURSE CHAR (10) NOT NULL course number ( external keyword COURSE)STUDENT CHAR (6) NOT NULL elective students ( external keyword STUDENT)#p#分页标题#e#SCORE performance information tableAre Field Name Data Type Description is emptyID INTEGER NOT NULL record number ( the primary key )STUDENT CHAR (6) NOT NULL Student ID ( foreign key STUDENT)COURSE CHAR (10) NOT NULL course number ( external keyword COURSE)SCORE FLOAT NULL into resultsUSER_PASS user password information tableAre Field Name Data Type Description is emptyID CHAR (6) NOT NULL username ( primary key )PASSWD CHAR (15) NOT NULL passwordAUTHORITY CHAR (1) NOT NULL permissionCOURSE_STATE curriculum status code tableAre Field Name Data Type Description is emptyCODE CHAR (1) NOT NULL status code ( primary key )DESCRIPTION VARCHAR (20) NOT NULL descriptionCOUNTER count information tableAre Field Name Data Type Description is emptyID CHAR (1) NOT NULL counter number ( primary key )COUNTER_VALUE CHAR (15) NOT NULL count value Before developing an application must first enter some basic data, including information, user name password privileges some teachers , and courses required counter status code . Figure 1 shows the counter set , set two course status code shown in Figure user permissions settings shown in Figure 3 .Figure 1:Counter settingsCounter Number DescriptionF scores record numberK Course CodeX Course NumberFigure 2:Course Status CodeStatus Code Description0 apply to increase new coursesAn application to delete the old lesson2 application to modify the courseLesson 3 Select ( activate )4 Wait curriculum5 has been deleted6 to refuse the application2.Code 代码User authentication process in the " Login" button B_login OnClick event handler is completed , as follows:procedure TF_Login.B_loginClick (Sender: TObject);begin try Database1.Connected: = True; / / Open Database Connectivity T_user.Filter: = 'ID =''' + i_user.Text +''''; / / set filters based on the user name input T_user.Filtered: = True; / / activate the filter T_user.Open; / / capture information except Application.MessageBox (' Please contact your system administrator. ', ' Database connection error !', MB_OK); Application.Terminate; / / database connection error , error and interrupt program end; if T_user.RecordCount = 1 then / / determine whether the user name exists begin if T_user ['AUTHORITY'] = '0 'then begin F_main_st: = TF_main_st.Create (Self); try F_main_st.ShowModal; finally end;endelse if T_user ['AUTHORITY'] = '1 'then begin F_main_tc: = TF_main_tc.Create (Self); try F_main_tc.ShowModal; finally end;endelse begin F_main_jwc: = TF_main_jwc.Create (Self); try F_main_jwc.ShowModal; finally end; end end else Application.MessageBox (' password is incorrect, please re- confirmed case sensitive ! ', ' Password do not match ', MB_OK); End else Application.MessageBox (' Make sure the user name is correct ! ', ' No such user ', MB_OK);end;2.1GUI 界面代码Application interface OnShow events and " recovery form " button OnClick event handler uses the same event , mainly to initialize the application form , the code is as follows :procedure TF_main_tc.B_resetClick (Sender: TObject); / / initialize the application formbegin i_state_1.ItemIndex: = 0; / / initialize the application to open a new lesson i_state_1Click (nil); / / call the application to modify the program i_name_1.Text: =''; / / clear the course name i_credit_hour_1.Text: = '0 '; / / initialize credits i_period_1.Text: = '0 '; / / initialize hours i_intro_1.Lines.Clear; / / Clear Course Descriptionend;When you close the window, while closing the entire application should therefore form OnClose event handler code is as follows :procedure TF_main_tc.FormClose (Sender: TObject; var Action: TCloseAction);beginF_Login.i_user.Text: =''; / / clear the login screenF_Login.i_passwd.Text: ='';Close; / / releaseend;When you modify the contents of the application , the program has been opened to decide whether to display the list of courses under the circumstances . Control code in the OnClick i_state_1 time handler code is as follows :procedure TF_main_tc.i_state_1Click (Sender: TObject);begin if i_state_1.ItemIndex> 0 then / / if not newly opened course , then displays a list of begin T_course_1.Filter: = 'TEACHER =''' + F_Login.i_user.Text +'' 'AND STATE <>'' 5'' AND STATE <>'' 1'''; T_course_1.Filtered: = True; / / Get the current teachers open courses T_course_1.Open; / / application does not include the deleted and deleted courses o_course_1.Enabled: = True; / / activate open course list o_course_1CellClick (nil); end else begin / / If this is a new open course T_course_1.Close; / / close the open curriculum data sheet o_course_1.Enabled: = False; / / cancel courses list display end;end;If you delete or modify the old course , when you click a list of courses , course details will be displayed in the input box , the code is as follows :procedure TF_main_tc.o_course_1CellClick (Column: TColumn);begin if T_course_1.Active then / / determine whether to activate the program information table begin i_name_1.Text: = T_course_1 ['NAME']; / / extract Course Name i_credit_hour_1.Text: = T_course_1 ['CREDIT_HOUR']; / / extract course credits i_period_1.Text: = T_course_1 ['PERIOD']; / / extract Course hours i_intro_1.Lines.Clear; / / Clear Introduction i_intro_1.Lines.Add (T_course_1 ['INTRO']); / / extract Course Description end;end;Submit the form submit button B_submit OnClick event handler carried the code below:procedure TF_main_tc.B_submitClick (Sender: TObject);var counter: integer; / / for counting course_id: String; / / used to save the Course IDbegin case i_state_1.ItemIndex of / / Depending on the application , were treated 0: / / 0 : Increase new courses begin / / Get courses count T_counter_K.Open; / / open the counter table counter: = T_counter_K ['COUNTER_VALUE']; / / get the count value inc (counter); / / increase the count value T_counter_K.Edit; / / modify the counter / / Enter the new value ; = counter: T_counter_K ['COUNTER_VALUE'] T_counter_K.Post; / / commit changes T_counter_K.Close; / / close the counter table#p#分页标题#e# / / Synthesis Course Code course_id: = '00000 '+ IntToStr (counter); / / the count value is converted to a string course_id: = copy (course_id, length (course_id) -6,6); / / intercept fixed-length string course_id: = FormatDateTime ('yyyy', now) + course_id; / / add the Year Information / / Add course information T_course_1.Filtered: = False; / / Cancel the filter T_course_1.Open; T_course_1.AppendRecord ([course_id, i_name_1.Text, F_login.i_user.Text, i_credit_hour_1.Text, i_period_1.Text,'','', i_intro_1.Lines, '0 ']); / / append records end; 1: / / 1: Remove begin T_course_1.Filtered: = False; / / Cancel the filter T_course_1.Edit; / / modify T_course_1 ['STATE']: = '1 '; / / change course status T_course_1.Post; / / commit changes end; 2: / / 2 : Application to modify begin T_course_1.Filtered: = False; T_course_1.Edit; / / modify T_course_1 ['NAME']: = i_name_1.Text; / / modify the course name T_course_1 ['CREDIT_HOUR']: = i_credit_hour_1.Value; / / modify the course credits T_course_1 ['PERIOD']: = i_period_1.Value; / / modify curriculum hours T_course_1 ['INTRO']: = i_intro_1.Lines.Text; / / Modify course information T_course_1 ['STATE']: = '2 '; / / modify the curriculum status T_course_1.Post; / / submit end; end; B_resetClick (nil); / / recovery formend;The interface is initialized, need to list a list of optional courses . TabSheet2 of OnShow event handling code as follows :procedure TF_main_tc.TabSheet2Show (Sender: TObject);begin / / Select the activation of courses T_course_1.Filter: = 'TEACHER =''' + F_Login.i_user.Text +'' 'AND STATE ='' 3'''; / / set the filter conditions T_course_1.Filtered: = True; / / activate the filter T_course_1.Open; / / open the data sheet o_course_2CellClick (nil); / / display the list of students and achievement input table T_students.Open; / / Open the student list tableend;When you click on the course list , displays the list of students and course transcripts corresponding input table . The program code o_course_2 OnCellClick Event Processing :procedure TF_main_tc.o_course_2CellClick (Column: TColumn);begin Q_students.Close; / / close the query Q_students.Params.ParamValues ['COURSE']: = T_course_1 ['ID']; / / set parameters courses Q_students.Open; / / re-open inquiries2.2CellClick 触发点击The interface is initialized in TabSheet1 OnShow event handler is completed , as follows:procedure TF_main_jwc.TabSheet1Show (Sender: TObject); / / Interface Initializationbegin / / open the application list of courses T_course_apply.Open; / / open the Teacher Information Sheet T_teacher.Open;end;"By approving " button code is as follows :procedure TF_main_jwc.B_passClick (Sender: TObject); / / through the approvalbegin Q_update.Close; / / close the query Q_update.SQL.Clear; / / clear statement Q_update.SQL.Add ('UPDATE COURSE'); Q_update.SQL.Add ('SET STATE = "4"'); / / 4: by Q_update.SQL.Add ('WHERE ID = "' + T_course_apply ['ID'] + '"'); Q_update.ExecSQL; T_course_apply.Refresh;end;"Reject Request" button code is as follows :procedure TF_main_jwc.B_rejectClick (Sender: TObject); / / reject the requestbegin Q_update.Close; / / close the query Q_update.SQL.Clear; / / Clear the SQL statement Q_update.SQL.Add ('UPDATE COURSE'); / / add SQL statements to modify the state curriculum Q_update.SQL.Add ('SET STATE = "6"'); / / 6: to refuse the application Q_update.SQL.Add ('WHERE ID = "' + T_course_apply ['ID'] + '"'); Q_update.ExecSQL; / / execute T_course_apply.Refresh; / / Refreshend;The interface is initialized in TabSheet2 OnShow event handler code is as follows :procedure TF_main_jwc.TabSheet2Show (Sender: TObject); / / Interface Initializationbegin / / Close the query unassigned course Q_course_not_actived.Close; / / Close the query has been assigned courses Q_course_actived.Close; / / open unassigned courses inquiry Q_course_not_actived.Open; / / open the query has been assigned courses Q_course_actived.Open;end;"Submit allocation" process is as follows :procedure TF_main_jwc.B_submitClick (Sender: TObject);begin With Q_submit do / / Set the default prefix Q_submit begin Close; SQL.Clear; SQL.Add ('UPDATE COURSE'); / / add modify records using SQL statements SQL.Add ('SET CLASSROOM = "' + i_classroom.Text + '", CLASSTIME ="' + i_time.Text + '", STATE =" 3 "'); SQL.Add ('WHERE ID = "' + Q_course_not_actived ['ID'] + '"'); ExecSQL; / / execute end; TabSheet2Show (nil); i_classroom.Text: =''; i_time.Text: ='';end;"Cancel the current allocation record ," the code is as follows :procedure TF_main_jwc.B_disableClick (Sender: TObject); / / cancel the current distribution recordbegin / / Set the default prefix Q_submit With Q_submit do begin Close; SQL.Clear; SQL.Add ('UPDATE COURSE'); SQL.Add ('SET STATE = "4"'); SQL.Add ('WHERE ID = "' + Q_course_actived ['ID'] + '"'); ExecSQL; end; TabSheet2Show (nil);end;" Clear all the old assignment " code as follows :procedure TF_main_jwc.B_clear_allClick (Sender: TObject); / / remove all the old assignmentbegin if Application.MessageBox ( 'Are you sure you want to clear all allocated resources ? ' ' Operation Confirmation ' MB_OKCANCEL) = IDOK then / / confirm Begin / / UPDATE commands using SQL statements to modify the record With Q_submit do / / Set the default prefix Q_submit begin Close; SQL.Clear; / / add SQL statements used to modify SQL.Add ('UPDATE COURSE'); SQL.Add ('SET STATE = "4"'); SQL.Add ('WHERE STATE = "3"'); ExecSQL; end; TabSheet2Show (nil); / / refresh the display end;end;Course layout initialization results in TabSheet3 of OnShow event handler is completed :procedure TF_main_jwc.TabSheet3Show (Sender: TObject); / / initialize the course layout resultsbegin T_course_select.Open; / / Open the selected data tables curriculum T_score.Open; / / open the score table#p#分页标题#e#end;" Transfer of records" button code as follows :procedure TF_main_jwc.Button1Click (Sender: TObject); / / transfer recordsvar counter: integer;begin T_counter_F.Open; / / open counter counter: = T_counter_F ['COUNTER_VALUE']; / / get the count value T_course_select.First; / / jump to the selected list of courses in the first row while not T_course_select.Eof do / / turn operations of all records begin inc (counter); / / increment the counter value T_score.AppendRecord ([counter, T_course_select ['STUDENT'], T_course_select ['COURSE'], 0 ] ) ; / / Transfer Record T_course_select.Delete; / / delete the old record end; T_counter_F.Edit; / / edit counter T_counter_F ['COUNTER_VALUE']: = counter; / / Set the count value T_counter_F.Post; / / commit changesend;Enter Course ID , click the " Search" button to program transcripts query process , as follows:procedure TF_main_jwc.B_queryClick (Sender: TObject); / / course transcripts inquirybegin/ / Query course name T_course_info.Filter: = 'ID =''' + i_course_id.Text +''''; / / set the filter conditions T_course_info.Filtered: = True; / / activate the filter T_course_info.Open; / / extract course information if T_course_info.RecordCount = 1 then / / determine whether there is record begin / / Display the results list Q_score_list.Close; / / close the query Q_score_list.Params  AsString:. = I_course_id.Text; / / Set Course ID parameter Q_score_list.Open; / / open query results / / Query statistics courses Q_info.Close; Q_info.SQL.Clear; Q_info.SQL.Add ('SELECT COUNT (STUDENT) as COUNT, AVG (SCORE) as AVG, MAX (SCORE) as MAX, MIN (SCORE) as MIN' + 'FROM SCORE WHERE COURSE =''' + i_course_id.Text +''''); / / add statistical statement Q_info.Open; o_num_total.Text: = Q_info ['COUNT']; / / display the total number of students o_score_max.Text: = Q_info ['MAX']; / / highest score o_score_avg.Text: = Q_info ['AVG']; / / average scores o_score_min.Text: = Q_info ['MIN']; / / lowest score Q_info.Close; Q_info.SQL.Clear; Q_info.SQL.Add ('SELECT COUNT (STUDENT) as COUNT FROM SCORE' + 'WHERE COURSE = "' + i_course_id.Text + '"' + 'AND SCORE <60'); / / number of unqualified statistics Q_info.Open; o_num_failed.Text: = Q_info ['COUNT']; / / display the number of fail end else Application.MessageBox (' Please confirm Course ID ', 'Wrong Number ', MB_OK);end;Exit the interrupt routine , as follows:procedure TF_main_jwc.FormClose (Sender: TObject; var Action: TCloseAction);beginF_Login.i_user.Text: =''; / / clear the login screenF_Login.i_passwd.Text: ='';Close; / / releaseend;Empty Selected when exiting program code is as follows :procedure TF_main_st.FormClose (Sender: TObject; var Action: TCloseAction);begin F_Login.i_user.Text: =''; / / clear the login screen F_Login.i_passwd.Text: =''; F_main_st.Close; / / releaseend;Initialized in TabSheet1 OnShow event handler in the code below:procedure TF_main_st.TabSheet1Show (Sender: TObject); / / initializebegin Q_course_selected.Close; / / Close the selected curriculum . Q_course_selected.Params  AsString: = F_login.i_user.Text; / / set the parameters Q_course_selected.Open; / / open the selected curriculum inquiry Q_total_credit_hour.Close; / / Close the query total credits Q_total_credit_hour.Params  AsString:. = F_login.i_user.Text; / / set parameters Q_total_credit_hour.Open; / / Open the total credits inquiryend;Enter the course code after , B_show OnClick event handler to display the appropriate course information :procedure TF_main_st.B_showClick (Sender: TObject); / / input number , the querybegin T_course_info.Filter: = 'ID =''' + i_course_id.Text + / / Conditions '' 'And STATE ='' 3'''; T_course_info.Filtered: = True; / / activate the filter T_course_info.Open; / / Open Course Information Sheet T_teacher.Open; / / Open the teachers tableend;The elective courses added to the list of operations B_add OnClick event handler , the code is as follows :procedure TF_main_st.B_addClick (Sender: TObject); / / add course listvar counter: integer;begin / / Modify the count value T_counter_X.Open; / / open the counter table counter: = T_counter_X ['COUNTER_VALUE']; / / extract the count value Inc (counter); / / advance the count value T_counter_X.Edit; / / modify counter records T_counter_X ['COUNTER_VALUE']: = counter; / / save the current count T_counter_X.Post; / / commit changes / / Add courses if T_course_info.Active and (T_course_info.RecordCount = 1) then / / determine begin With Q_select do begin Close; SQL.Clear; SQL.Add ('INSERT INTO COURSE_SELECT'); / / insert SQL.Add ('(ID, COURSE, STUDENT)'); SQL.Add ('VALUES (' + IntToStr (counter) + ', "' + i_course_id.Text + '","' + F_login.i_user.Text + '");'); / / append ExecSQL; end; TabSheet1Show (nil); end else Application.MessageBox (' Course ID is wrong ', ' wrong ', MB_OK);end;Delete the currently selected courses B_del OnClick event handler , the code is as follows :procedure TF_main_st.B_delClick (Sender: TObject); / / delete the selected coursesbegin With Q_select do begin Close; SQL.Clear; SQL.Add ('DELETE FROM COURSE_SELECT'); / / add delete statement SQL.Add ('WHERE ID =' + IntToStr (Q_course_selected.FieldValues ['SEL_ID']) + ';'); / / Delete ExecSQL; end; TabSheet1Show (nil);end;TabSheet2 of OnShow event handler implements the interface initialization code is as follows :procedure TF_main_st.TabSheet2Show (Sender: TObject); / / display the query initializationbegin Q_course_learned.Close; Q_course_learned.Params  AsString:. = F_login.i_user.Text; / / setting conditions Q_course_learned.Open;end;When you click DBGrid2 the course name , OnCellClick event handler to start the three statistics SQL statement , as follows:procedure TF_main_st.DBGrid2CellClick (Column: TColumn);begin Q_score_max.Close; . Q_score_max.Params  AsString: = Q_course_learned ['ID']; / / set parameters / / Statistical max ; Q_score_max.Open#p#分页标题#e# Q_score_avg.Close; . Q_score_avg.Params  AsString: = Q_course_learned ['ID']; / / Statistical average ; Q_score_avg.Open Q_score_min.Close; . Q_score_min.Params  AsString: = Q_course_learned ['ID']; / / Statistical minimum ; Q_score_min.Openend;3.System Test系统测试( 1) The system needs teacher and student personal information table table does not enter personal information in the program, but directly into the database , taking into account the information system is a course management system is a subsystem of the campus information system , the required databases can be obtained in another subsystem. But the system as a complete system , these programs should be implemented in the data entered on the Registry management interface ;( 2 ) The second system is the lack of local data failed to refresh. For example, after-school student election finished , Dean was the result query management course should be able to get the data immediately, but after clicking other toolbars to achieve refresh its not like there is a timely refresh ;( 3 ) the student fails to see the course in the program all have courses , courses can only check the numbers to get the detailed information to open the course, this is a serious shortage ;( 4 ) failure to achieve functional printing systems ;Integrity and rigor of a system embodied in the system and all the information needed to operate the program can be implemented , therefore there is a serious lack of system , I will work hard to improve the program , to achieve a complete system.Conclusions : User instructions结论：用户操作说明 ( 1 ) the establishment of a database in SQL Enterprise Manager in a database called the School , the teachers 'personal information to create tables in the database , students' personal information form , course information table , course information table results , performance information table , a user password table , curriculum status code table , count information table ( given above ) . ( 2 ) Prior to the development of the program must first enter part of the data , including teacher information , student information , username password permissions required to counter and course status code ( as shown above ) . ( 3 ) Open the ODBC Data Source Administrator control panel management tool , add a data source named aaa ( driver for SQL SERVER), connected to the local database.After completing all of the above programming content, we can take a look at the effect of the program run . The first is the login window, because a total of three different sets of permissions ( 0 students, 1 teacher , 2 Academic Affairs ) , and for the convenience of presentation, so all the user's password is the user 's permission , Figure 5-1 is a course management system of teachers login screen .After entering a user name and password, enter the teacher curriculum management program's main interface, click " curriculum application" label to apply to enter the curriculumThis interface is mainly to complete the application for the course. Select " to open a new course" , allowing input new information . If " Delete the old course " or " modify existing programs ," open list of courses already activated , indicating that teachers have opened courses . List by clicking courses can be set accordingly . Finally, click "Submit Application " button to complete the application .Teachers another hypervisor is course management . After the end of each semester Dean elected to elective classes moved to a transcript of the results . Then, in the course management interface will display the courses , and student lists of courses. In the end when you can also enter student achievement through the management interface.Students log in , first elective interface, shown in Figure 6-4 . Students need to enter the course code . Then displays course information , confirm that you want to choose courses. When you click " add >> " button to add the course "Selected Courses " list. If you learn the wrong course , you can choose the course number in the program list, and then click "<< Remove" button. Elective process, the system will always Statistics Total credit courses have been selected .After the end of the teacher input transcripts, where students look at their academic performance in the query results interface. Performance query interface shown in Figure 6-5 . Click on different courses , you can display the results of the course and a variety of statistics, including the highest scores , grade point average , and the lowest score .The management system is the most powerful educational curriculum management application. After entering the main interface , a total of four management functions.The first time the curriculum approval , the interface shown in Figure 6-6. All applications submitted by teachers are listed in the program list interface on the left. Click on the course code in the list will show the specific application content. Through two buttons below to approve or deny the request through .The second function is to allocate program resources , the interface shown in Figure 6-7 . Before the beginning of each semester course , we must first determine the course and the place and time of the class next semester . The first step in resource allocation is to clear all the original distribution , so that all effective curriculum to be distributed will be restored to the state . Then click on the course , the class teacher input and time , and submit assignments. If you enter it wrong, you can choose the course curriculum has been allocated in the list, and then cancel the allocation , the allocation of state to be restored to the curriculum .The third feature of the results of the query management course , shown in Figure 6-8 . This function is mainly the result of the shift register to the course transcript data table, and the resulting data table skies course , has been prepared in time for the end of the next semester course . This interface is a feature that comes with elective modify the results at the end of the course .Last function is the transcript has been query shown in Figure 6-9 . This function is mainly used to query and output the results list for each course , and the basic situation of five statistics : the number of courses , the highest scores , grade point average and the number of failing .