Knowledge Architecture of Software Engineering

tags: # Software Engineering  software engineering  program life  knowledge framework

Panorama of Software Engineering Knowledge Architecture

  • It can be seen from the figure that the "quality focus" is at the bottom. It is not difficult to understand that software engineering is a discipline born in response to the software crisis, and its goal is toFocus on quality, building and maintaining high-quality software. It can be said that focusing on quality is the cornerstone of software engineering.

What does "process" refer to?

  • To build high-quality software, it is necessary to solve the chaos in the software process and effectively organize the communication, planning, modeling, construction and deployment activities in the software development process. The software process is the steps to be followed when developing and building a system during the life cycle of a software project, that is, from the birth to the end of the software.
  • There are two process frameworks that you must have heard often, and that is the waterfall model and agile development. These are two mainstream software process guidance frameworks gradually formed in the development of software engineering for many years.

So, what is a "method"?

  • The method refers to the methodology of how to build the system throughout the process. For example, how to analyze user needs; how to test and accept products; how to design system architecture, etc.

Knowing the process and mastering the method, then when it comes to the operation level, it will involve the use of tools.

  • We need tools to assist the execution of methods and improve efficiency. Through tools, some manual work can be automated, such as automated testing tools, automatic build and deployment tools; through tools, it can help to standardize some processes, such as bug tracking, source code management; through tools, it can help improve coding efficiency, Such as various editors IDE, various high-level languages.

If we go back and summarize now, the core knowledge points of software engineering are the methodology and tools generated around the software development process.

  • A simple formula to understand software engineering is:Software Engineering = Tools + Methods + Process

Knowledge Structure of Software Engineering

How to study software engineering?

Learning the Four Realms of Software Engineering

  • The first weight: the device
    • "Apparatus" is a tool, the rules of the tool are simple, you can use it immediately, and you can see the effect soon. For example, prototyping tools can help you identify requirements, and continuous integration tools can help you simplify the process of testing and deployment. The learning of tools is the simplest and the most basic.
  • The second level: academic
    • "Technology" is the method. After learning the method, you can apply the method to complete a task. For example, use the method of demand analysis to find out what the user wants, and use Scrum to organize the project development process.

After mastering the technique, it can even be separated from the device. For example, if you don’t use prototyping tools, you can use paper and pen, and a whiteboard to communicate and confirm requirements.

  • The third level: Enlightenment
    • "Tao" is the origin, the core idea and essential law of software engineering knowledge. Just like agile development, it is not a method in itself, but a set of values ​​and principles. After understanding this way, it can become the basis for your decision-making on various issues in the process of dealing with projects. Dao can generate skills. If you master the way of agile development, you can comprehend techniques such as Scrum and extreme programming.
  • Fourth stage: Preaching
    • When you can pass on complex knowledge to others in an easy-to-understand way, it means that your comprehension of knowledge has reached a higher level. At the same time, teaching is also the best way to learn. By imparting knowledge to others, you can have a deeper understanding of the knowledge itself.

Study Software Engineering Bibliography

  • "The Law of Construction"
    • The author Zou Xin is the research and development director of Microsoft. At the same time, he has carried out teaching practice of software engineering in many colleges and universities. On this basis, he has systematically organized various knowledge points and skill requirements of software engineering to form teaching materials. Also a lot of good additions to this column.
  • "Mythical Man Moon"
    • This thought-provoking classic in the history of software engineering has been a best-seller for 40 years, and its ideas are still relevant today. Even if you have read this book before, if you read it again after a while, you may have new insights.
  • "Personware"
    • If "Mythical Man-Month" focuses on "software development" itself, "Humanware" focuses on "people" in software development. The author points out that the core of knowledge-based enterprises is people, not technology.
  • "Knowledge and Action: Realizing Value-Driven Agile and Lean Development"
    • The author Cong Bin has more than 20 years of experience in software engineering teaching, consulting and research, so the writing is particularly down-to-earth. There are many real cases in the article, and there are in-depth descriptions of agile development and CMMI.
  • "Software Engineering: A Practitioner's Approach"
    • This is the standard textbook for software engineering adopted by most colleges and universities and can be used as a reference.
  • "Continuous Delivery"
    • Tells how to achieve faster, more reliable, and low-cost automated software delivery, and describes how to achieve this goal by increasing feedback and improving collaboration between developers, testers, operators, and project managers.
  • "Out of the Software Workshop"
    • This book vividly describes a series of project management problems encountered in the development process of domestic small IT enterprises, and how the author solves these problems.

The more you know, the more you don't know.

Intelligent Recommendation

[Software Engineering] Software Engineering Knowledge Outline 7

[Software Engineering] Software Engineering Knowledge Outline 7 Class and instance 2. Relationship between classes and classes 3. Demand analysis based on the use case, establish a use case model 4. E...

[Software Engineering] Software Engineering Knowledge Outline 8

[Software Engineering] Software Engineering Knowledge Outline 8 1. Measurement and estimation of software scale 1.1 code line technology 1.2 function point technology 2. Software workload estimation 2...

Software Engineering---6. Architecture Design

What is the architecture model? Architecture model,The model describes how the system is organized as a set of communicating components Architecture classification **Small architecture focuses on the ...

"The Beauty of Software Engineering"-Architecture Design

Looking at it, I thought that I should write down some good suggestions and good questions, and ask questions in real time during daily development. Then there are many ideas, such as summarizing a pr...

Software Engineering of System Architecture and System Architecture Description

The system architecture also known as the logic chart. According to Wikipedia description of the system architecture: The systems architect is a professional figure in information and communications t...

More Recommendation

Software architecture knowledge

Software Architecture What is the software architecture? Software architecture is a set of structures required for the reasoning system. These structures include software elements, relationships betwe...

Common software engineering knowledge points

1. Software version naming The software version number consists of four parts: Part I Software Architecture or Software Interface Changes Part II Software features added Part III Software bug fixes Th...

Software Engineering Knowledge System Panorama

<meta content="text/html; charset=UTF-8" http-equiv="Content-Type"> <style type="text/css"> h1 {border-width: 1; border: solid; text-align: center} div.imagem...

Software engineering knowledge summary (1)

Chapter 1. Overview of Software Engineering 1.1 software crisis Software crisis refers to a series of serious problems encountered in the development and maintenance of computer software   The re...

Software Engineering Introduction Knowledge Summary

1. What is software Software: A "configuration" formed by a group of objects or projects, consisting of programs, documents, and data. Program: A set of instructions that can be understood a...

Copyright  DMCA © 2018-2026 - All Rights Reserved - www.programmersought.com  User Notice

Top