1. Reading the Xin Zou of the teacher, I have the following questions:
(1) Does a small project need to consider complex software engineering knowledge?
For a small project, it may be possible for several people to develop within a few days, but with detailed, documented requirements analysis and unit testing, it is likely to drag the development cycle to weeks, and will this be done in the same way as in the case of software engineering?
(2) How to balance development efficiency and operational efficiency?
In order to achieve the highest efficiency sometimes similar problems may require different code, and the same code to solve the problem may lead to a decrease in operational efficiency. How to balance development efficiency and operational efficiency?
(3) The fourth article on the proposal to the teaching teacher and the teaching assistant in the textbook.
About article fourth: How to deal with Mr. Nanguo. How to ensure that the contribution of the team to a certain degree of objectivity and impartiality?
(4) How to divide the labor?
In the book, the team needs to have a clear division of labor, but for a small project sometimes it is difficult to split the function, presumably can only be roughly divided into development, testing, project managers and what does not seem to need, this is how the division of labor?
(5) The example of pairing programming in the book has not been encountered in the development of the project, how many of the actual projects will be used in this way?
2. How do the words "Software" and "engineering" appear-when, where, and by whom?
Software: The first theory about software was born earlier than the birth of the computer itself, and was presented by Turing in 1935 in an article computable numbers with a application to the Entscheidungsproblem. The earliest publication of this word was published by Richard R. Carhart in August 1953.
Software engineering: It was invented by Margaret Hamilton. The term "Software engineering" was formally introduced and used in the 1968 NATO computer scientists convened an international conference in the Federal Republic of Germany to discuss software crisis issues.
3. What are the current popular source program version management software and project management software, and what are the pros and cons?
Microsoft TFS
TFS (Team Foundation Server) is a workflow collaboration engine that allows a team to use their customized processes and use a centralized data warehouse that is collected in real time in the project history.
Advantages: it is integrated. The version control system and the work item memory are integrated at the time of registration. When registering, you can associate it with one or more work items. In general, individuals use their source management functions.
Cons: Building and maintaining TFS is more complex.
Git
Pros: Fast Branch switching because the branches are local. This makes git especially suitable for temporary needs, or small experiments. There is one of the world's largest open source community--github, which can be seen in a variety of excellent language code.
Disadvantage: The version number is not good, the operation process is more cumbersome, the command is more chaotic.
When programmers in the Ruby community use git, they can't find a good git hosting site, so they've developed GitHub.
Pros: Focus on community activities, at GitHub, users can easily find huge amounts of open source code. Fast and flexible.
Cons: Probably not the best tool for capturing creative processes and documenting creative ideas. For this special function simulation you can choose Layervault or other similar tools. Less information (at least Chinese information is scarce). If the English is not good people can not understand do not know what to say.
BitBucket
Pros: Free support for private warehouses. Powerful retrieval capabilities. Audit mechanism security. Network user interface friendly configuration settings are rich and varied. Security policy meticulous and product classification scheme is complete.
Disadvantage: Only defects can be managed.
Software Engineering Personal Work-WEEK1