Software engineering

software engineersoftware engineerssoftwaresoftware developmentSoftware engineering economicsdevelopmentengineeringIT Engineeringoriginal authorssoftware design
Software engineering is the systematic application of engineering approaches to the development of software.wikipedia
1,121 Related Articles

Computer science

computer scientistcomputer sciencescomputer scientists
Software engineering is a direct sub-field of engineering and has an overlap with computer science and management science.
Computer science (sometimes called computation science or computing science, but not to be confused with computational science or software engineering) is the study of processes that interact with data and that can be represented as data in the form of programs.

Software

Computer softwareSoftware & Programmingsoftware technology
Software engineering is the systematic application of engineering approaches to the development of software. Requirements engineering is about the elicitation, analysis, specification, and validation of requirements for software.
In computer science and software engineering, computer software is all information processed by computer systems, programs and data.

Software development

developmentdevelopedapplication development
Software engineering is the systematic application of engineering approaches to the development of software. Software development, the main activity of software construction: is the combination of programming (aka coding), verification, software testing, and debugging.
The need for better quality control of the software development process has given rise to the discipline of software engineering, which aims to apply the systematic approach exemplified in the engineering paradigm to the process of software development.

Ian Sommerville (academic)

Ian Sommerville
He is the author of a popular student textbook on software engineering, as well as a number of other books and papers.

Systems engineering

systems engineersystem engineeringsystems
It is also considered a part of overall systems engineering.
It overlaps technical and human-centered disciplines such as industrial engineering, process systems engineering, mechanical engineering, manufacturing engineering, control engineering, software engineering, electrical engineering, cybernetics, organizational studies, civil engineering and project management.

Abstraction (computer science)

abstractiondata abstractionabstract
Thus the division between "hardware" and "software" began with abstraction being used to deal with the complexity of computing.
In software engineering and computer science, abstraction is:

Computer programming

programmingcodingprogrammable
Software development, the main activity of software construction: is the combination of programming (aka coding), verification, software testing, and debugging.
Software engineering combines engineering techniques with software development practices.

David Parnas

David Lorge ParnasDavid L. ParnasParnas's principles
David Parnas introduced the key concept of modularity and information hiding in 1972 to help programmers deal with the ever-increasing complexity of software systems.
David Lorge Parnas (born February 10, 1941) is a Canadian early pioneer of software engineering, who developed the concept of information hiding in modular programming, which is an important element of object-oriented programming today.

Institute of Electrical and Electronics Engineers

IEEEFellow of the Institute of Electrical and Electronics EngineersTechnical Field Award
, the IEEE had certified over 575 software professionals as a Certified Software Development Professional (CSDP).
Most IEEE members are electrical and electronics engineers, but the organization's wide scope of interests has attracted people in other disciplines as well (e.g., computer science, software engineering, mechanical engineering, civil engineering, biology, physics, and mathematics).

Friedrich L. Bauer

Friedrich Ludwig BauerFriedrich BauerF. L. Bauer
The term "software engineering" appeared in a list of services offered by companies in the June 1965 issue of COMPUTERS and AUTOMATION and was used more formally in the August 1966 issue of Communications of the ACM (Volume 9, number 8) “letter to the ACM membership” by the ACM President Anthony A. Oettinger;, it is also associated with the title of a NATO conference in 1968 by Professor Friedrich L. Bauer, the first conference on software engineering.
In 1968, Bauer coined the term Software Engineering which has been in widespread use since.

Watts Humphrey

Watts S. Humphrey
Watts Humphrey founded the SEI Software Process Program, aimed at understanding and managing the software engineering process.
Watts S. Humphrey (July 4, 1927 – October 28, 2010) was an American pioneer in software engineering, who was called the "father of software quality."

Margaret Hamilton (software engineer)

Margaret HamiltonMargaret Hamilton (scientist)Hamilton, Margaret
Independently, Margaret Hamilton named the discipline "software engineering" during the Apollo missions to give what they were doing legitimacy.
She is one of the people credited with coining the term "software engineering".

Engineering

engineerengineersengineered
Software engineering is a direct sub-field of engineering and has an overlap with computer science and management science. Software engineering is the systematic application of engineering approaches to the development of software.
Other engineering fields are manufacturing engineering, acoustical engineering, corrosion engineering, instrumentation and control, aerospace, automotive, computer, electronic, information engineering, petroleum, environmental, systems, audio, software, architectural, agricultural, biosystems, biomedical, geological, textile, industrial, materials, and nuclear engineering.

Computer program

programprogramscomputer programs
The term software engineering is becoming popular as the process is seen as an engineering discipline.

Software construction

constructionConstruction languageconstruction phase
Software development, the main activity of software construction: is the combination of programming (aka coding), verification, software testing, and debugging.
Software construction is a software engineering discipline.

Requirement

requirementscustomer requirementcustomer needs
Requirements engineering is about the elicitation, analysis, specification, and validation of requirements for software.
It is commonly used in a formal sense in engineering design, including for example in systems engineering, software engineering, or enterprise engineering.

ISO/IEC JTC 1/SC 7

ISO/IEC JTC1/SC7sub-committee 7 (SC7)
Modern, generally accepted best-practices for software engineering have been collected by the ISO/IEC JTC 1/SC 7 subcommittee and published as the Software Engineering Body of Knowledge (SWEBOK).
With the formation of ISO/IEC JTC 1 in 1987, ISO/TC 97 and IEC/TC 83 were combined to form ISO/IEC JTC 1/SC 7, Software Engineering.

Software development process

software development methodologydevelopment cyclesoftware development life cycle
A Software development process: is the definition, implementation, assessment, measurement, management, change, and improvement of the software life cycle process itself.
In software engineering, a software development process is the process of dividing software development work into distinct phases to improve design, product management, and project management.

Requirements engineering

requirementsrequirement engineeringrequirements engineer
Requirements engineering is about the elicitation, analysis, specification, and validation of requirements for software.
It is a common role in systems engineering and software engineering.

Software configuration management

SCMconfiguration managementsoftware change and configuration management
It heavily uses Software configuration management which is about systematically controlling changes to the configuration, and maintaining the integrity and traceability of the configuration and code throughout the system life cycle.
In software engineering, software configuration management (SCM or S/W CM) is the task of tracking and controlling changes in the software, part of the larger cross-disciplinary field of configuration management.

Software design

designdesignedsoftware designer
Software design is about the process of defining the architecture, components, interfaces, and other characteristics of a system or component.
SRA is a part of the software development process that lists specifications used in software engineering.

Software system

software systemssystemssystem
David Parnas introduced the key concept of modularity and information hiding in 1972 to help programmers deal with the ever-increasing complexity of software systems.
The use of the term software system is at times related to the application of systems theory approaches in the context of software engineering.

Software quality

software reliabilitycode qualityquality
It is one aspect of software quality.
In the context of software engineering, software quality refers to two related but distinct notions:

Software maintenance

maintenancemaintainedmaintain
Software maintenance: refers to the activities required to provide cost-effective support after shipping the software product.
Software maintenance in software engineering is the modification of a software product after delivery to correct faults, to improve performance or other attributes.

Software architecture

architecturearchitecturessoftware
This is also called Software architecture.
Although the term "software architecture" is relatively new to the industry, the fundamental principles of the field have been applied sporadically by software engineering pioneers since the mid-1980s.