after A semester of study, I from the Software engineering This course to harvest a lot, intermittently read the Xin Zou Teacher's "Law of construction" and put some of the basic methods of software engineering in it to practice, dare not say proficient in its essence, but it is really realized the modern software development method of efficient. I also from a completely non-attention to design, encountered problems on the code of the Novice programmer to upgrade a level. Also learned the useful tools such as github,staruml. It's a lot of harvest.
"The Law of Construction" this book from a person technology, two people cooperation, team, agile development, demand analysis, software design implementation, software testing and so on, introduces the whole process of modern software engineering development. Here, I just want to talk about one of the most profound aspects of my reading this book-the 17th chapter on people, Performance and ethics. Xin Zou First gave an example of "pigs, chickens, and parrots" to illustrate the difference in a team's commitment to each other and to play a role. The pig--threw in the heart, the project failed oneself also the strongholds also lost in. Chickens-can make important contributions, but project failure has little impact on themselves. Parrot-Just to mention the suggestion, and no other input, but the equivalent of onlookers. By this example, a rasci model of cross-sectoral cooperation is proposed. R: Responsible for doing the specific thing a: responsibility for the task, there is the right to approve. S: Support for tasks, assisted completion. C: Consultation. I: The person who knows the meeting. In the Software engineering team, you can also divide people into several categories: 1.2. Do not do things 3.4. Do false things 5. Pretend to do things. Because everyone plays a different role, this involves a very important performance management problem. Personally, the problem is still very important. For a team, if there is no good performance management, it is likely to dispel the enthusiasm of everyone, and thus affect the effectiveness of the team. We can measure performance by using metrics such as workload, efficiency, and seniority. There is also a one-dimensional evaluation system (lifeboat exercise) and the resulting extended two-dimensional evaluation system.
Later, this section also describes several stages of team collaboration--1. Embryonic Stage 2. Running-in Stage 3. Specification Phase 4. Creation phase. Marks the beginning of the team cooperation from the uncoordinated one step to achieve the peak of cooperation.
Individual projects and pairs of projects have been introduced before, not to repeat. Next, I'll talk about the feelings in the team project.
In the team project cooperation, I deeply appreciate the teacher Zou said. I learned that doing a project without any plan, just to do it, will certainly encounter very great difficulties in practice, and must follow the basic methods of software engineering. We are particularly aware of this when designing hierarchies and class diagrams. Unreasonable design does not seem to produce any problems at the beginning, but it can only become more and more difficult to achieve, until the end of the bottleneck, leading to the demolition. Therefore, it is particularly important to remove unreasonable designs from the outset and to replace them with reasonable designs. At the same time, I also reviewed the basic relationships between classes, such as generalization, composition, dependency, etc. In addition, I know that the modern software engineering project alone is difficult to complete, requiring a team to collaborate efficiently. To this end, we have a clear division of labor, each team members have done their work excellently. Even if there is a problem, the discussion can quickly come up with a clear solution. We enjoy the process of cooperation. I think this kind of teamwork spirit may be more important than the technology itself, and even for our future participation in the work is also very useful.
Reading experience of "construction method" and summary of software engineering course