Software Engineering Overview 1: Software Engineering Overview:
Software Engineering is a discipline that applies technologies and practices such as computer science, project management, engineering, and application domains to software design, creation, and maintenance. It is a discipline that studies the construction and maintenance of effective, practical and high-quality software using engineering methods. Software Engineering involves programming languages, databases, software development tools, standards, system platforms, software design patterns, and project management, the software project tries to provide guidance on all aspects of the software project, from the feasibility analysis of the software until the software is completed after the maintenance work, defines and guides methods from time to time and key directions in this process,
Ii. Software Engineering Methodology:
The methodology can be differentiated from the scale and scope:Heavyweight MethodAndLightweight method:
The famous heavyweight development methods include ISO9000, CMM, and RUP, which are characterized by the generation of a large number of formal documents involving more engineering problems.
The lightweight development process does not require a large number of formal documents, and focuses on the specific definition and guidance of the development process. The famous lightweight development methods include extreme programming (XP) and agile processes ).
3. software processes in software engineering:
Many may confuse software engineering and software processes. The definition of software processes is part of software engineering.
The software development process is improved along with the evolution of development technology. From the early waterfall development model to the subsequent spiral Iteration Development, this has led to the recent emergence of agile development methods (agile ), they demonstrate different understandings of the software industry in different times and their understanding of different types of projects.
Note the important differences between software development and software process improvement. Terms such as ISO 9000, CMM, and cmme describe some software process improvement frameworks, they provide a series of standards and policies to guide software organizations in improving the quality of software development processes and the capabilities of software organizations, rather than defining specific development processes.
Iv. Summary:
Many people think that these methods can be preferred, but I think these methods have different focuses and scopes. For example, CMM mainly points out key areas in the software process, points out how to improve the standards for specific fields. How to gradually improve the current group process and organizational capacity ., During the test of the software process, the software process has some methodologies. XP also uses specific methods to more specifically define the software process. For us
For a specific organization and project, we can flexibly adopt appropriate and specific methods and forms for the links and key issues in the project process.