Introduction And Importance Of Software Engineering

701 Words2 Pages

Software engineers must develop systems within the specified budget, schedule, and in a specific or systematic and organised approach to their work. A high-quality software must be produced. There are two reasons why software engineering is important: • It is cheap to use software engineering methods in the long run, since most individuals and society rely on advanced software systems. • Reliable, efficient, trustworthy and economically sound systems must be produced by software engineers. If good software engineering practices are not followed, this could lead to higher costs for testing the software, quality assurance (meeting standards) and long term maintenance. Software engineering makes use of software processes. According to Sommerville c) Software validation – it is a process of detecting errors to ensure that the system meets the customer’s needs or expectations and requirements. The Verification and Validation (V&V) process is used. d) Software evolution – is the process of making changes to a software to reflect customer and market requirements. System engineering and computer science are two main aspects related to software engineering. System engineering is concerned with all aspects of the development and evolution of complex systems where software plays a major role (Sommerville, 2016:23). System engineers need to specify the system, define its overall architecture and then integrate different parts to create a final system. According to Sommerville (2016:23), computer science deals with theories and methods that are used in computers and software systems, whereas software engineering is concerned with practical problems of producing a software. Software needs to have a thorough understanding of computer science, so as to apply theories and methods during software engineering. Computer science is mostly used when developing small programs. Essential attributes of a However, there are no clear universal methods, tools or techniques to be used during the development of software. The following are four issues that can affect different types of software: a) Heterogeneity – is whereby certain systems operate across several networks which include several types of computers and mobile devices in a distributed system. At times there is need to integrate new systems with legacy systems which would have been developed using different programming languages. Hence the need to develop systems which are flexible enough to cope with heterogeneity. b) Business and social change – is whereby businesses and society change as emerging economies and new technologies become available; there is a need to change existing software and to rapidly develop new software. Traditional software engineering techniques are time consuming and new systems take time to be implemented as per plan. There is a need to change or evolve so that the time required for the software to deliver value to its customers is reduced. c) Security and trust - software engineers must enforce security so as to guard against malicious users and unauthorized access. Also, owners must trust the software in terms of quality and

Open Document