[BUAA soft work] review and questions personal summary

project content
This work belongs courses Northern Soft Engineering
Where this requirement in the job Question Review and personal summary
My aim in this course is Learn how to develop software in teams to enhance their software development capabilities
In particular aspects of the job which helped me achieve goals Urged me to read the "Building of the law" for software development and process specific meaning
Question blog address https://www.cnblogs.com/KevinJiao/p/10477153.html

1. Try to questions they have raised to answer and clarify, is how to read, practice, or discussion to figure out. Are not understand the original question? If so, please analysis. Whether or not a new problem? If so, please ask

If there is a demand on a civilian aircraft, the probability of users, it is one in a million, you need to do this function it?

The problem in our development process on real happened. At the end of the alpha stage, we passed django backend database we found that malicious injected tens of thousands of users, because our backend interface is exposed out, is a lot of calls. Originally, for security against the interface that we are ready to implement in beta stage, but there have been such cases (corresponding to the occurrence probability of one in a million events), the rear end of the group of students we can only intensify improve port security resistance, and the database will be restored to its previous state.

Through this, I learned that even a very low probability of occurrence of problems in software engineering, software as long as it will harm the whole, we must guard against.

In the pair programming mode, a pair of side by side programmer, equally, complementarily development. They sat side by side in front of a computer, with a display face, use the same keyboard, working with a mouse. Together they analyze, design together with the write test cases, along with coding, unit testing together, to do integration testing together, to write documents, and so on.

For questions about programming knot, I follow the team in software development, but also use some experience from which I learned. When the back-end, front-end development, our group carried out the requirements of the code review. After students complete the development of a code development, project commit, our group will ask another developer, the code of conduct has been reviewed commit to help fellow examination to rule out some common bug. After that, the branch will merge to the test, a complete and detailed unit testing by the test students.

In this process, we have to take advantage of our in Pair Programming learned, peer code review can improve the code quality.

Killer feature / function peripheral

To address this issue, I have a new thinking. In the past, I think the function of the product classification depends on the user's preferences, and now, I think, for the division of functional products, determines the division of their user community. For example, OPPO / VIVO, the phone's camera products are divided into killer function, this feature classification to develop a lot of resources. Accordingly, its products attracted most of the young women. This also confirms the functionality for users to attract.

Myth of the three: good ideas will win

But here still use the example of the United States imperial measurement system, I think some inappropriate. The United States has not only used the imperial measurement system, at least the British used. But now only the United States is still in use. Description other countries after discussion, decided to change. The United States not only their own parliament after a discussion, and I know the reason to change the system in other countries. It can be understood as the United States received the "Innovative propaganda", but have not yet made the change. So, I think, the example here and not well illustrate the points.

My question was not answered, I did not form new insights. In my view, the publicity and good ideas are a pair of independent variables, although the statistical point of view, both of which may be accompanied arise, however, in my view, both necessary and sufficient conditions do not exist in the relationship . Like brushing your teeth at night with the same probability of heart disease.

Myth five: To become an expert, to the field of innovation

The title phrase in the text and examples are too sweeping suspect. For many of the innovation process, with only a few books to refute the relationship between innovation and experts in the field. The title is ignored counterexample may exist. For this part of the information, I want to know is the relationship between different fields, experts and innovation, is a unique property in the computer field (part of many early look forward to the development of) what caused this phenomenon? Or is this a universal conclusion?

This problem, I have a new idea, for innovation, understanding, not many people, for now many primary idea at the time, already "expert" level up. But, with the development of the field, the level of "experts" has been increased. This also explains why many looks, "seems to be nothing," the idea, at the time can lead to an era now.

2. What is your project requirements / design / implementation / testing / release / maintenance phases (a total of six stages) are learned what "knowledge", explained each stage as long as a knowledge point can be.

demand

NABCD is, N (Need, demand), A (Approach, practice), B (Benefit, benefits), C (Competitors, competition), D (Delivery, promotion). I learned in projects carried out among a good idea of ​​the method is actually produced, and in software development, this method can be NABCD. It teaches us from five aspects, systematic analysis of the characteristics of a project to better abstract demand.

design

In the design process, where I took the back-end development team "design specifications" --- "interface documentation" --- "code" of the implementation process. Before all development carried out, we will assign some simple design specifications, such as variables, the case of the function name, return value return mode (List or Dict), POST some of the interface / GET method. In the process of development, before we implement a specific interface will now GitHub is written in Wiki documentation for the interface to be implemented, pre-defined value passed in and out, and then we will be specific to implementation. This design approach, although preparatory work in spent a lot of time, but to protect the efficiency of our work, greatly enhance our efficiency.

achieve

In the process of implementation of the code, we took the mainstream GitHub-based multi-drop development approach. Front-end, back-end testing, with different branches (based on a pre-release version of the base branch), in the process of development, belong to different teams of the code will not be mixed in a development branch, in this case, to facilitate developers to see develop their own team record.

test

I belong to the back-end development team, so the test is responsible for the work here is not much. However, I learned how to communicate with students the way the test, which is what I do not understand the content before. The way we set is made by testing the students on the issue of a possible bug he found, and referred all back-end developers, be modified by the backend after verification by the development team, responsible for referred students, and commit when referring to the relevant issue, reported to test students. After testing through complete, if passed, then close out the relevant issue, or re-edit.

release

When released, we set according to the characteristics of the project itself, sort out our public passenger network and "Friends of the business" (refers to another class development team of public passenger network products) differences between products, focusing our publicity killer function and diversity of the local.

maintain

Back-end maintenance team focused on the stress test results. After the completion of all the development, the backend will conduct stress tests, according to test results, we will adjust the way to achieve and improve concurrency, protect the user's access.

3. In conjunction with their individual projects / pair experience program / project team, to talk about their own understanding or experience.

I had a memorable time in our team. Under Select a task, I chose to join the back-end development team, although prior to the development of back-end are not familiar with, but the combination of the previous code, while learning from the team of students, I soon became proficient to complete the development tasks . When team group will, thanks to the PM our group is very willing to communicate with you, the difficulties encountered when each of us can communicate well when working group meeting, their own unique solutions,Tucao teammate

Guess you like

Origin www.cnblogs.com/KevinJiao/p/11094398.html