EE308 Lab 12

The24601 2022-01-04 09:39:08
The Link Your Class
The Link of Requirement of This Assignment
The Aim of This AssignmentCourse Summary
MU STU ID and FZU STU ID19105151 831901204

1 Please recall your first assignment in the summer vacation and your imagination of the software engineering course
1.1 Compared with the course objectives and expectations of my first blog
I have accomplished many goals in this semester. From knowing nothing about software at the beginning, I can make my own contributions to my team now.
First of all, in terms of personal learning, I learned a lot of new technologies while strengthening the original knowledge. I gained a deeper understanding of small program development, Python data processing and deep learning, and expanded my own technology stack. In addition, I have also improved my ability to read technical documents and control self-study.
Then, in terms of teamwork, I think I played the role of an idea sharer and an in-depth participant, put forward some innovative ideas, creatively completed front-end work, and made the whole project run in a healthy way. At the same time, I also actively communicate with team members to complete the work more reliably.
Of course, things can not be perfect, so there are still some regrets, mainly due to the limitation of time such as school work, some technologies used in the course have not been systematically sorted out and further expanded, this will be continued in the next relatively free time.

1.2 Summarize the practice and improvement of this course, including the following contents

1.2.1 Count how many lines of code you have completed in this software engineering practice
I wrote about 10,000 lines of code.

1.2.2 How much time does each operation of software engineering practice take? (Make a list)


1.2.3 Which assignment impressed you most? Why?
What impressed me most was the last small program made by the team. We worked together every night to design the project, do requirements analysis, design prototype diagram, code writing, and finally finish the project. It was a memorable experience for every coder. I gained a lot. In this team project, I exercised my ability not only in code writing, but also in dealing with various affairs and interpersonal relations. I also learned a lot of new knowledge, including the overall steps required for the completion of a project, wechat developer tools, and the application of crawler, database and other knowledge in the software. In the face of many unexpected problems, our team worked together to solve them and the atmosphere of helping each other was also very impressive.

1.2.4 How many hours have you spent on soft work practice? How many hours per week on average?
I spent 200 hours on it, 15 hours average per week.

1.2.5 What new software has been learned and used

1.2.6 What new tools have been learned and used
Wechat small program development platform, Typora, GitHub

1.2.7 What new languages, platforms and methods have been learned and mastered
python,JavaScript,NABCD requirements analysis model, unit test, coverage test

1.2.8 Other improvements (e.g., teamwork)
Ability to write front-end code improved
The ability of organization, distribution and communication has been improved
I have a certain ability of self-study
More self-discipline

2.Write your own ‘The Mythical Man-Month’, which means write experience summary and case analysis in project practice (e.g., personal project, team project).
In the development process, the development of the front and back ends is independent of each other, but in the sprint process, it is too independent of each other. In the interface pair, it is found that many actual functions are not done, or functional requirements are not considered according to the interface. In the subsequent stages, there were also many deficiencies in the design of the first round of requirements, such as a local path loaded image cannot be displayed after the launch. Therefore, in the future development process, we should pay more attention to the communication of the team, only through continuous communication, can make the design become perfect.

3.What do you want to suggest and tell the next practice, or for you at the beginning of school, for you in your freshman year, and for Mr. Zhang at the beginning of school? And expectations for future generations. In particular, do you want to change team players in the next term?
Maybe it was because of my lack of software knowledge that I failed to understand many of the requirements of each assignment. What I clearly remember is that when I was pairing, I directly asked what was a prototype and did I need to type code? Then my friends were speechless and shocked that I didn't even know the most basic things. Although but, I think there should be a part of my classmates like me. At that time, I searched for relevant information on CSDN, but I really did not understand it. Because these things are relatively simple in retrospect now, but I really didn't know anything at that time, so I hope that the teaching assistant can attach the basic learning resources related to the content in the future.

4.Please analyze your team. Software engineering practice is a rare serious team cooperation experience in universities. ‘The construction law’ says that there are several stages of team development. Has your team experienced them and finally reached the "creation" stage?
I think our team has gone through the budding and running-in phase, and is in and will be in the running-in phase for a long time. The first team collaboration in field programming was in its infancy, and we had a high degree of cooperation. The topic was not difficult, and we wisely chose Python to deal with it. The collaboration ended in class, which made me full of hope for the team. In the later stage of demand analysis and sprint, the team entered the run-in period, and various problems occurred among the team members, such as poor performance, insufficient ability, and reluctance to give feedback. Some of them did nothing, some of them were burdened with too much, and some of the team members would be dissatisfied and angry with other team members. Time was tight, people were busy, the product life cycle was not complete, and the team did not enter the real creative phase.

5.How to prove that you have learned software engineering?

6.*(Optional) Read the classic papers on code quality in software engineering, select one or several from the following literature, and make a reading note in combination with your own reality (for example, how about the quality of your own code, is it a big mud ball, and how to measure the quality of your own code)? Select one or more of the following reference papers:
[1] Stamelos I, Angelis L, Oikonomou A, et al. Code quality analysis in open source software development[J]. Information Systems Journal, 2002, 12(1): 43-60.
In this paper, the author focuses on the relationship between the average number of component statements, loop complexity, maximum nesting level, number of basic paths, number of unconditional jumps, annotation frequency, vocabulary frequency, program length, number of component I / O nodes and open source code quality.
I usually pay attention to the granularity of functions and components when writing programs to make them as appropriate as possible. Therefore, after self checking the code, I find that the average number of component statements and program length of my code are relatively appropriate.
Programmers are required to consider the quality of structural code when intervening in code.The project coordinator evaluates the quality of the code returned by the programmer according to predefined criteria.When serious problems occur in the project, the project coordinator needs to take appropriate code reorganization decisions

7.Give full play to your personality, including graphics, photos and creativity
Mourning for the dead, fighting for the living

630 回复 点赞 打赏 收藏 举报



福州大学 梅努斯国际工程学院 软件工程 教学
2022-01-04 09:39