1. Read the entire textbook quickly and list 5-10 questions you don't understand.
- Is unit testing a test of every function in the code? Do we have to do unit tests on our courses, and how do we work in the future?
- Is the efficiency of the pair development program really not worse? After all, two people can only do one job at a time.
- What skills do we need to learn in this course?
- In the actual development, each person plays only one role, then we only need to specialize in this aspect of the work? It is also necessary to master the skills of each character.
- Is the algorithm that we have studied important in software engineering? Or do we need to review those difficult algorithms?
2. How do the words "Software" and "engineering" appear?
The theory of software was first proposed by Alan Turing in the 1935 article computable numbers with a application to the Entscheidungsproblem.
From: Https://en.wikipedia.org/wiki/Software#History
Software Engineering was first seen as a headline at a NATO-sponsored conference in 1968.
From: Https://en.wikipedia.org/wiki/Software_engineering#History
3. Go online to investigate the current popular source program version management software and project management software, what are the pros and cons?
1) Microsoft TFS
Advantages:
- The Mission edition is a great place to take your needs and project progress, and it's more useful for small teams than Gantt charts.
- Integrates project management, versioning, BUG tracking, and enables SCRUM to be implemented effectively
- Ability to seamlessly engage with VS
Disadvantages:
- The whole system is implemented with ASP, and the browser accesses quite slowly
- Access from IE, fill out a variety of development, test records, is also very slow, feel less than Mantis BT PHP-based so convenient, fast
- The XP system is inaccessible, and it has to be 64-bit? So the overall performance of the computer was dragged down
- The team's message details are more complex to configure, and the changeset for items that are not concerned will also be emailed
- Does the test case function have any good application cases? How to cooperate with automated testing?
From: https://www.zhihu.com/question/21943395
2) Git
Advantages:
- Repository localization, support for offline submissions, relative independence does not affect collaborative development.
- Less "warehouse pollution".
- Store content as metadata and complete clone repository.
- Supports fast switching of branches for easy merging and better consolidation performance.
- Distributed repository, no single point of failure, good content integrity.
Disadvantages:
The difference between the upper package and the underlying implementation is too large.
The history of branching merges is easy to mess up.
The command has no overall design.
Commands between versions are also somewhat incompatible.
From: http://blog.csdn.net/dengsilinming/article/details/7999188
Personal Assignment-week1