ISO/IEC 20741:2017— Systems And Software Engineering

Developing programming and coding technologies adhering to software engineering tool guidelines in ISO/IEC 20741:2017.

With the demand and expansion of modern technology, the need for software engineers continues to grow. From the operating systems that run our computers and mobile devices to the applications we use every day for communication, entertainment, and business, software engineers play a major role in driving modern society. ISO/IEC 20741:2017— Systems And Software Engineering – Guideline For The Evaluation And Selection Of Software Engineering Tools defines a set of processes and a list of characteristics which can be used by all software engineering tool areas.

Software Engineering Tools

Software engineers use various technologies for tasks, including version control, code creation and review, software development, hosting git repositories, issue tracking, etc. Software engineering tools often include a text editor, code libraries, compilers or interpreters, and test platform—all of which are used ubiquitously and continuously.

An integrated development environment (IDE) allows programmers to consolidate various aspects (editing source code, building executables, and debugging) of writing a computer program. Selecting a software engineering tool is carried out with careful consideration of both the technical and management requirements. The methods described in ISO/IEC 20741:2017 are useful not only for the selection of software engineering tools, but for any project where COTS/FOSS software can be selected instead of engaging in new software development.

What Is ISO/IEC 20741?

ISO/IEC 20741:2017 gives guidelines for the evaluation and selection of software engineering tools, covering a partial or full portion of the software engineering life cycle. This standard provides the following:

  1. Guidance on identifying organizational requirements for software engineering tools.
  2. Guidance on mapping those requirements to software engineering tool characteristics to be evaluated.
  3. A process for selecting the most appropriate software engineering tool from several tools, based on measurements of the defined characteristics.

As these processes are generic, organizations can adapt these generic processes to meet organizational needs. Primary users of this document are organizations that intend to adopt software engineering tools to support their software life cycle processes. Software tool suppliers can also use ISO/IEC 20741:2017 to describe characteristics of their software engineering tools.

This standard does not apply to planning for the implementation of software engineering tools within an organization. It also does not apply to general purpose tools (e.g., word processors, spreadsheets) which can be used in software engineering activities, nor software engineering tools of very narrow scope or specific purpose (e.g., a compiler).

History of Software Engineering

In 1963, Margaret Hamilton coined the term software engineering while working on developing the software for NASA’s Apollo spacecraft, which landed humans on the Moon for the first time in 1969. The term was used to distinguish software engineering from hardware and other kinds of engineering, but at the same time recognize that computer programming required a disciplined approach similar to that of traditional engineering.

During the late 1960s, key figures such as Dijkstra, Brooks, and Knuth played a crucial role in shaping the field of software engineering. In 1968 and 1969, the NATO Software Engineering Conference took place, giving the software engineering industry a much-needed boost. By the 1980s, software engineering secured its place alongside the computer science and traditional engineering professions.

What Is Software Engineering?

Software engineering is the branch of computer science that deals with the design, development, testing, and maintenance of software applications. Software engineers create original code for software and applications and build reusable code for future use. They apply engineering principles and knowledge of programming languages to build software solutions for end users. This includes creating web application, mobile apps, robots, operating systems, computer games, and network systems. Successful software engineers know how to use the right programming languages, platforms, and architectures to develop software solutions that meet their companies’ needs and expectations.

ISO/IEC 20741:2017— Systems And Software Engineering – Guideline For The Evaluation And Selection Of Software Engineering Tools is available on the ANSI Webstore.

Share this blog post:

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.