Outline of software development

Last updated

The following outline is provided as an overview of and topical guide to software development:

Contents

Software development development of a software product, which entails computer programming (process of writing and maintaining the source code), and encompasses a planned and structured process from the conception of the desired software to its final manifestation. [1] Therefore, software development may include research, new development, prototyping, modification, reuse, re-engineering, maintenance, or any other activities that result in software products. [2]

What type of thing is software development?

Software development can be described as all of the following:

Branches of software development

History of software development

Software development participants

Software development problems

Software project management

Software development strategies

Software development process

Activities and steps

Software development methodologies

Agile software development

Supporting disciplines

Software development tools

Education relevant to software development

Software development organizations

While the information technology (IT) industry undergoes changes faster than any other field, most technical experts agree that one must have a community to consult, learn from, or share experiences with. Here is a list of well-known software development organizations.

Software development publications

Persons influential in software development

Language creators, designers

Influencers of software design

See also

Related Research Articles

<span class="mw-page-title-main">Computing</span> Activity involving calculations or computing machinery

Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes, and development of both hardware and software. Computing has scientific, engineering, mathematical, technological and social aspects. Major computing disciplines include computer engineering, computer science, cybersecurity, data science, information systems, information technology and software engineering.

Software engineering is an engineering-based approach to software development. A software engineer is a person who applies the engineering design process to design, develop, test, maintain, and evaluate computer software. The term programmer is sometimes used as a synonym, but may emphasize software implementation over design and can also lack connotations of engineering education or skills.

Security engineering is the process of incorporating security controls into an information system so that the controls become an integral part of the system’s operational capabilities. It is similar to other systems engineering activities in that its primary motivation is to support the delivery of engineering solutions that satisfy pre-defined functional and user requirements, but it has the added dimension of preventing misuse and malicious behavior. Those constraints and restrictions are often asserted as a security policy.

<span class="mw-page-title-main">Configuration management</span> Process for maintaining consistency of a product attributes with its design

Configuration management (CM) is a systems engineering process for establishing and maintaining consistency of a product's performance, functional, and physical attributes with its requirements, design, and operational information throughout its life. The CM process is widely used by military engineering organizations to manage changes throughout the system lifecycle of complex systems, such as weapon systems, military vehicles, and information systems. Outside the military, the CM process is also used with IT service management as defined by ITIL, and with other domain models in the civil engineering and other industrial engineering segments such as roads, bridges, canals, dams, and buildings.

<span class="mw-page-title-main">Computer engineering</span> Engineering discipline specializing in the design of computer hardware

Computer engineering is a branch of computer science and electronic engineering that integrates several fields of computer science and electronic engineering required to develop computer hardware and software. Computer engineering is referred to as computer science and engineering at some universities.

An information systems (IS) is a formal, sociotechnical, organizational system designed to collect, process, store, and distribute information. From a sociotechnical perspective, information systems are composed by four components: task, people, structure, and technology. Information systems can be defined as an integration of components for collection, storage and processing of data of which the data is used to provide information, contribute to knowledge as well as digital products that facilitate decision making.

<span class="mw-page-title-main">Project manager</span> Professional in the field of project management

A project manager is a professional in the field of project management. Project managers have the responsibility of the planning, procurement and execution of a project, in any undertaking that has a defined scope, defined start and a defined finish; regardless of industry. Project managers are first point of contact for any issues or discrepancies arising from within the heads of various departments in an organization before the problem escalates to higher authorities, as project representative.

Software development is the process used to conceive, specify, design, program, document, test, and bug fix in order to create and maintain applications, frameworks, or other software components. Software development involves writing and maintaining the source code, but in a broader sense, it includes all processes from the conception of the desired software through the final manifestation, typically in a planned and structured process often overlapping with software engineering. Software development also includes research, new development, prototyping, modification, reuse, re-engineering, maintenance, or any other activities that result in software products.

Mechatronics engineering, also called mechatronics, is an interdisciplinary branch of engineering that focuses on the integration of mechanical engineering, electrical engineering, electronic engineering and software engineering, and also includes a combination of robotics, computer science, telecommunications, systems, control, and product engineering.

The following outline is provided as an overview of and topical guide to software engineering:

An application program is a computer program designed to carry out a specific task other than one relating to the operation of the computer itself, typically to be used by end-users. Word processors, media players, and accounting software are examples. The collective noun "application software" refers to all applications collectively. The other principal classifications of software are system software, relating to the operation of the computer, and utility software ("utilities").

<span class="mw-page-title-main">PTC (software company)</span> U.S.-based computer software company

PTC is a computer software and services company founded in 1985 and headquartered in Boston, Massachusetts. The company was a pioneer in parametric, associative feature-based, solid computer-aided design (CAD) modeling software in 1988, including an Internet-based product for Product Lifecycle Management (PLM) in 1998. PTC markets products and services and an Internet of Things (IoT) and augmented reality (AR) platform for partners and developers.

The International Federation for Information Processing (IFIP) is a global organisation for researchers and professionals working in the field of computing to conduct research, develop standards and promote information sharing.

Knowledge-based engineering (KBE) is the application of knowledge-based systems technology to the domain of manufacturing design and production. The design process is inherently a knowledge-intensive activity, so a great deal of the emphasis for KBE is on the use of knowledge-based technology to support computer-aided design (CAD) however knowledge-based techniques can be applied to the entire product lifecycle.

The School of Engineering and Applied Science (SEAS) at the George Washington University in Washington, D.C. is a technical school which specializes in engineering, technology, communications, and transportation. The school is located on the main campus of the George Washington University and offers both undergraduate and graduate programs.

The following outline is provided as an overview of and topical guide to information technology:

The term Engineering Informatics may be related to information engineering, computer engineering, or computational engineering, among other meanings. This word is used with different context in different countries. In general, some people assume that the central area of interest in informatics is information processing within man-made artificial (engineering) systems, called also computational or computer systems. The focus on artificial systems separates informatics from psychology and cognitive science, which focus on information processing within natural systems. However, nowadays these fields have areas where they overlap, e.g. in field of affective computing.

In software engineering, a software development process or software development life cycle (SDLC) is a process of planning and managing software development. It typically involves dividing software development work into smaller, parallel, or sequential steps or sub-processes to improve design and/or product management. The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application.

The following outline is provided as an overview of and topical guide to computing:

Bill Curtis is a software engineer best known for leading the development of the Capability Maturity Model and the People CMM in the Software Engineering Institute at Carnegie Mellon University, and for championing the spread of software process improvement and software measurement globally. In 2007 he was elected a Fellow of the Institute of Electrical and Electronics Engineers (IEEE) for his contributions to software process improvement and measurement. He was named to the 2022 class of ACM Fellows, "for contributions to software process, software measurement, and human factors in software engineering".

References

  1. "Application Development (AppDev) Defined and Explained".
  2. DRM Associates (2002). "New Product Development Glossary" . Retrieved 2006-10-29.