Introduction to Software Engineering
Keywords:
software engineering, software development life cycle, test-driven development, Go, context-intuitive codingSynopsis
The textbook Introduction to Software Engineering was written to present software engineering as a distinct culture of professional practice. Software development itself rests on systematic thinking, responsibility, the validation of assumptions, and, naturally, critical reasoning. The aim is to develop an understanding of how complex software systems are created, including their testing, maintenance, and modification, in such a way that the resulting software is reliable, maintainable, and economically viable. The material presented covers the entire software development life cycle: from the historical development of the discipline and SDLC models, through requirements engineering, specifications, modeling, and design patterns, to implementation, testing, maintenance, software metrics, and ethics. Particular attention is devoted to test-driven development. The programming examples are implemented predominantly in Go. A distinct section of the textbook is devoted to context-intuitive coding, an approach to collaboration between humans and generative models in which the emphasis shifts from manually writing code toward specification, testing, validation, and context management. Throughout the textbook, it is emphasized that methodologies, models, and tools are not dogmas, but instruments that should be critically adapted to the actual problem, team, and environment.
Downloads
Downloads
Published
Categories
License

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.