Student information management system acceptance summary
Copyright: This is an original post by the blogger and may not be reproduced without the blogger's permission. https://blog.csdn.net/huyuyang6688/article/details/9831407
The Student Information Management System (VB version) has been under construction for over half a month and has now been accepted. After starting with nothing to start with, to the first acceptance, to fixing bugs, making constant optimizations, and optimizing all the way to the current state, I have gained a leap of growth, both mentally and technically.
I remember when I first finished it, the first comment given by Sister Xiaojie was that there was no holistic view. Later, after reflecting for a long time, I did eat a big loss in this area, just do the system when there is no plan, bored blindly do, during the period I do not know how many times to break the head, the effort and effort to pour a lot.
The actual acceptance was riddled with errors: the
(1), carelessness leads to errors in some characters in the code, such as confusion between Chinese and English characters, the omission of an obscure symbol and other statement errors, and even some statements are missing, reversed and other syntax errors. When these errors occur, you should not be arrogant, learn to be calm, set a breakpoint, debug with F8 and it will be solved.
(2), did not consider the deletion of the last record in the database appears, resulting in the report of an error. Because almost all forms in the system call the viewData() function (which displays data in the database), and the error when the database is empty is because the function was not written rigorously enough, so a mechanism should be added to this function to determine when the database is empty.
(3) The contents displayed in the ListBox when setting the grade course will be repeatedly and cumulatively displayed as the "Set Course" button is clicked.
(4), ComboBox can be entered manually, try to avoid letting manual input when using this control.
In fact, all of these mistakes will be avoided if you pay attention, and they are low-level mistakes that must be avoided.
Mistakes that may result from standing up to the client.
(1), did not consider the input information variable type, format, length, etc., such as telephone number type char (10), if the input mobile phone number (11 digits) will overflow; school number, name and other information type char (10), but the input box of the maximum input length property (MaxLength) neither limit, nor remind the user can enter a maximum of 10 characters, so the user is likely to enter too long characters, resulting in overflow; date format hints or automatic conversion, etc..
(2) The old password was not re-verified when the password was changed, leaving the administrator account unsecured.
(3) The user is not reminded to make sure that he/she wants to exit when exiting, and no rescue measures are considered for the user's hand error operation.
(4) No MDI subform is set, making the whole system's structure very cluttered.
Other issues requiring attention.
Should consider the beauty of the interface, do not be too fancy, simple style, light colors to make people feel comfortable; the initial position of the window should be as far as possible in the middle of the screen, each control in the form to support the Tab key to get the focus and the order should be reasonable, to determine and cancel the key to support the control of the Enter and Esc keys, each function design shortcut keys, in order to facilitate the operation of the administrator.
I recently browsed an article called "45 Habits of Highly Effective Programmers: The Way to Agile Development", and one of the articles mentioned "delivering software that users want", which, combined with the above, really illustrates the truth that you have to know how to serve people wholeheartedly. Only by considering the problems and feeling the usefulness of the software from the user's point of view can we make software that is recognized by our users and can be called a qualified programmer.