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 empty
ID CHAR (6) NOT NULL employee number ( primary key )
NAME VARCHAR (20) NOT NULL Name
DEPARTMENT CHAR (2) NOT NULL belongs faculties
STUDENT Student Personal Information Sheet
Are Field Name Data Type Description is empty
ID CHAR (6) NOT NULL Student ID ( primary key )
NAME VARCHAR (20) NOT NULL Name
Where the classes CLASS CHAR (4) NULL
COURSE Course Information Sheet
Are Field Name Data Type Description is empty
ID CHAR (10) NOT NULL course number ( primary key )
NAME VARCHAR (50) NOT NULL Course Title
TEACHER CHAR (6) NOT NULL classroom teachers ( foreign key TEACHER)
CREDIT_HOUR SMALLINT NULL learning points
PERIOD SMALLINT NULL Learning
CLASSTIME VARCHAR (20) NULL class time
CLASSROOM VARCHAR (20) NULL Venue
INTRO VARCHAR (4000) NULL Course Information
STATE CHAR (1) NOT NULL course status ( foreign key COURSE_STATE)
COURSE_SELECT curriculum status code table
Are Field Name Data Type Description is empty
ID 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 table
Are Field Name Data Type Description is empty
ID 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 results
USER_PASS user password information table
Are Field Name Data Type Description is empty
ID CHAR (6) NOT NULL username ( primary key )
PASSWD CHAR (15) NOT NULL password
AUTHORITY CHAR (1) NOT NULL permission
COURSE_STATE curriculum status code table
Are Field Name Data Type Description is empty
CODE CHAR (1) NOT NULL status code ( primary key )
DESCRIPTION VARCHAR (20) NOT NULL description
COUNTER count information table
Are Field Name Data Type Description is empty
ID 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 settings
Counter Number Description
F scores record number
K Course Code
X Course Number
Figure 2:
Course Status Code
Status Code Description
0 apply to increase new courses
An application to delete the old lesson
2 application to modify the course
Lesson 3 Select ( activate )
4 Wait curriculum
5 has been deleted
6 to refuse the application
2.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;
end
else
if T_user ['AUTHORITY'] = '1 'then
begin
F_main_tc: = TF_main_tc.Create (Self);
try
F_main_tc.ShowModal;
finally
end;
end
else
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 form
begin
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 Description
end;
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);
begin
F_Login.i_user.Text: =''; / / clear the login screen
F_Login.i_passwd.Text: ='';
Close; / / release
end;
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 ID
begin
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 form
end;
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 table
end;
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 inquiries
2.2CellClick 触发点击
The interface is initialized in TabSheet1 OnShow event handler is completed , as follows:
procedure TF_main_jwc.TabSheet1Show (Sender: TObject); / / Interface Initialization
begin / / 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 approval
begin
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 request
begin
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; / / Refresh
end;
The interface is initialized in TabSheet2 OnShow event handler code is as follows :
procedure TF_main_jwc.TabSheet2Show (Sender: TObject); / / Interface Initialization
begin / / 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 record
begin / / 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 assignment
begin
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 results
begin
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 records
var 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 changes
end;
Enter Course ID , click the " Search" button to program transcripts query process , as follows:
procedure TF_main_jwc.B_queryClick (Sender: TObject); / / course transcripts inquiry
begin
/ / 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 [0] 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);
begin
F_Login.i_user.Text: =''; / / clear the login screen
F_Login.i_passwd.Text: ='';
Close; / / release
end;
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; / / release
end;
Initialized in TabSheet1 OnShow event handler in the code below:
procedure TF_main_st.TabSheet1Show (Sender: TObject); / / initialize
begin
Q_course_selected.Close; / / Close the selected curriculum
. Q_course_selected.Params [0] 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 [0] AsString:. = F_login.i_user.Text; / / set parameters
Q_total_credit_hour.Open; / / Open the total credits inquiry
end;
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 query
begin
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 table
end;
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 list
var
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 courses
begin
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 initialization
begin
Q_course_learned.Close;
Q_course_learned.Params [0] 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 [0] AsString: = Q_course_learned ['ID']; / / set parameters
/ / Statistical max ; Q_score_max.Open#p#分页标题#e#
Q_score_avg.Close;
. Q_score_avg.Params [0] AsString: = Q_course_learned ['ID'];
/ / Statistical average ; Q_score_avg.Open
Q_score_min.Close;
. Q_score_min.Params [0] AsString: = Q_course_learned ['ID'];
/ / Statistical minimum ; Q_score_min.Open
end;
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 curriculum
This 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 .
|