1. Read the entire textbook quickly, list 5-10 questions you don't understand, and post it on your personal blog.
When it comes to team programming, it seems that someone is responsible for testing the code and someone is writing the code, but I personally feel that I am a lot more difficult to read other people's code than to read my own code.
What to do when there is a conflict between your design ideas and your users ' needs.
PM and ordinary coder who is more difficult, or just 2 different positions.
How to assign jobs to people with different coding abilities in the team.
Are we going to continue to learn new software engineering knowledge when we learn new technologies later (is the software project as mature as a database)?
2. How do the words "Software" and "engineering" appear-when, where, and by whom?
Software:
The earliest appeared in the publication was Richard R. Carhart's book, published in August 1953.
The first appeared in the paper was the paper "The Teaching of Concrete Mathematics" published by American mathematician Tukey in 1958.
Software:
Originally invented by Margaret Hamilton in the Apollo program. She is a self-taught program designer and a woman who is the director of the MIT Software Engineering test lab (i.e. a unit for NASA to develop computer systems).
3. Go online to investigate the current popular source program version management software and project management software, what are the pros and cons? (Tip: Search for Microsoft TFS, Git, Mercurial, GitHub, BitBucket, Trac, Bugzilla, Rationale,apple XCode)?
Microsoft TFS:
Advantages: It is the support of agile, Msf,cmmi and other projects, process management, process improvement. On the task page, you can take a glance at the requirements and project progress, which is more useful for small teams than Gantt charts.
Cons: The number of teams and companies that can be applied is very small, most really used, that is, the source code management part, which is only a small part of the TFS function.
Mercurial:
With a distributed system, it's more robust and easier to manage.
Git:
Advantages: Suitable for distributed development, emphasizing individual. Public server pressure and data volumes are not too large. Fast and flexible. Conflicts can easily be resolved between any two developers. Work offline.
Cons: Less data (at least Chinese information is scarce). The learning cycle is relatively long. does not conform to conventional thinking. Code confidentiality is poor, and once the developer has cloned the entire library, all code and version information can be fully exposed.
GitHub:
Pros: GitHub provides a git repository service, web-based, that allows you to use Git's source control functionality, or its features. GitHub provides a GIT repository service, web-based, that allows you to use Git's source control functionality, or its features.
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. Before, we've emphasized that GitHub is very useful for code tracking, but it's not the best design tracking tool. Turning the picture content into code, or designing for a product setup, still doesn't look that smooth.
BitBucket:
BitBucket is a source-code hosting site that uses mercurial and git as a distributed version control system.
Advantages: Unlimited number of private warehouses, unlimited disk space, support https/ssh,bug tracking, project WIKI,API Support, flexible permissions control, customizable domain name, RSS change record output, custom download
Trac:
Pros: Very flexible and can be controlled with SVN integration
Cons: The function is not very powerful
Bugzilla:
Advantages: Free, with Chinese version support
Cons: Fast search results are inaccurate. Only defects can be managed.
Apple XCode:
Advantages: Very fast compilation, fast and easy for each operation. Automatically provides undo, redo, and save capabilities without writing any coding.
Disadvantage: A plugin may become invalid after updating the version.
Personal Assignment-week1