I have never been familiar with software engineering, and I feel very far away from myself, because I feel that I am good at using software and don't care how it is designed, however, as a high-tech talent in the new century, we still need to have some basic knowledge about this. Thanks to Mr. Yan Xin for giving us such an opportunity to experience software construction and maintenance at close distance. In order to have a more comprehensive understanding of this course, I specially consulted several students of the University of Science and Technology who have studied this course and learned about the situation of the Software Engineering of the University of Science and Technology. The specific response is as follows:
1. the course is arranged in the senior year. You have either decided to save your research and have no desire for scores, or are busy applying for study abroad, postgraduate entrance exams, or job search. You have not invested much effort in the course, and the learning effect is greatly reduced.
2. there is a lack of adequate research and evaluation on the determination of project objectives. Basically, people in the same group have a meal and a head is taken out. There is neither market research nor professional evaluation, however, as students, they do not have a clear and quantitative understanding of their abilities and potentials. They are new to software development and it is difficult to determine an innovative and feasible project goal. In many cases, in the early stage, demand analysis is basically written based on subjective imagination, and the idea is beautiful. However, in the later stage, difficulties or even impracticable are found, and all the preliminary planning and design are re-initiated. Therefore, it is recommended that the instructor intervene in the selection and evaluate the target direction of each group to help the students determine a reasonable and appropriate target.
3. the various data flow diagrams drawn in the course are very helpful for programming implementation. After all, the last thing to do is the number of thousands or even tens of thousands of lines of code, and the team members should cooperate with each other, without a unified structure layout and module definition, it is hard to imagine how to complete such a huge project.
4. Some classes do not have tasks to write code, which is inconsistent with the course name. Software Engineering should finally be made out of software, so it cannot always stay on paper. In addition, this open big assignment should fully mobilize the creativity and enthusiasm of students. The key lies in the evaluation system. In HKUST, the final score is determined by the score of one teacher, however, if more personalized evaluation indicators such as user feedback and downloads can be introduced, we believe that students' participation and enthusiasm will be greatly improved.
In general, as a course in the school teaching plan, software engineering is still very beneficial. In such a class, it is a method rather than a technology to learn how to look at the problem from a global perspective, in this way, no matter whether you are engaged in software development in the future, it will be a good exercise.