What is Software Engineering?

What is Software Engineering?

What is Software Engineering?

Software engineering is defined as a process of analyzing user requirements and then designing, building, and testing software application which will satisfy those requirements. Let’s look at the various definitions of software engineering: IEEE, in its standard 610.12-1990, defines software engineering as the application of a systematic, disciplined, which is a computable approach for the development, operation, and maintenance of software. Fritz Bauer defined it as ‘the establishment and used standard engineering principles. It helps you to obtain, economically, software which is reliable and works efficiently on the real machines’. Boehm defines software engineering, which involves, ‘the practical application of scientific knowledge to the creative design and building of computer programs. It also includes associated documentation needed for developing, operating, and maintaining them.’ Why Software Engineering? Software Crisis & its Solution: What was the Software Crisis? It was in the late 1960s when many software projects failed. Many software became over budget. Output was an unreliable software which is expensive to maintain. Larger software was difficult and quite expensive to maintain. Lots of software not able to satisfy the growing requirements of the customer. Complexities of software projects increased whenever its hardware capability increased. Demand for new software increased faster compared with the ability to generate new software. All the above issues lead to ‘Software Crisis.’ The Solution Solution was to the problem was transforming unorganized coding effort into a software engineering discipline. These engineering models helped companies to streamline operations and deliver software meeting customer requirements. The late 1970s saw the widespread uses of software engineering principles. In the 1980s saw the automation of software engineering process and growth of (CASE) Computer-Aided Software Engineering. The 1990s have seen an increased emphasis on the ‘management’ aspects of projects standard of quality and processes just like ISO 9001 Why Software Engineering is Popular? Here are important reasons behind the popularity of software engineering: Large software – In our real life, it is quite more comfortable to build a wall than a house or building. In the same manner, as the size of the software becomes large, software engineering helps you to build software. Scalability- If the software development process were based on scientific and engineering concepts, it is easier to re-create new software to scale an existing one. Adaptability: Whenever the software process was based on scientific and engineering, it is easy to re-create new software with the help of software engineering. Cost- Hardware industry has shown its skills and huge manufacturing has lower the cost of the computer and electronic hardware. Dynamic Nature– Always growing and adapting nature of the software. It depends on the environment in which the user works. Quality Management: Offers better method of software development to provide quality software products. Relationship of Software Engineering with Other Disciplines Here, how software engineering related to other disciplines: Computer Science: Gives the scientific foundation for the software as electrical engineering mainly depends on physics. Management Science: Software engineering is labor-intensive work which demands both technical and managerial control. Therefore, it is widely used in management science. Economics: In this sector, software engineering helps you in resource estimation and cost control. Computing system must be developed, and data should be maintained regularly within a given budget. System Engineering: Most software is a component of a much larger system. For example, the software in an Industry monitoring system or the flight software on an airplane. Software engineering methods should be applied to the study of this type of systems.