|
This list complements the software engineering article, giving more details and examples. Software engineering (SE) is the profession of people who create and maintain software systems by applying technologies and practices from computer science, project management, engineering, application domains and other fields. ...
For an alphabetical listing of topics, please see List of software engineering topics (alphabetical). This page aims to list all topics related to the specific discipline of software engineering. ...
Influence on society
Software engineers affect society by creating applications. These applications produce value for users, and sometimes produce disasters.
Applications Software engineers build applications that people use. Application software is a loosely defined subclass of computer software that employs the capabilities of a computer directly to a task that the user wishes to perform. ...
Applications influence software engineering by pressuring developers to solve problems in new ways. For example, consumer software emphasizes low cost, medical software emphasizes high quality, and Internet commerce software emphasizes rapid development. - Business software
- Analytics
- Airline reservations
- Banking
- Commerce
- Compilers
- Communication
- Computer graphics
- Cryptography
- Databases, support almost every field
- Embedded systems Both software engineers and traditional engineers write software control systems for embedded products.
- Engineering All traditional engineering branches use software extensively. Engineers use spreadsheets, more than they ever used calculators. Engineers use custom software tools to design, analyze, and simulate their own projects, like bridges and power lines. These projects resemble software in many respects, because the work exists as electronic documents and goes through analysis, design, implementation, and testing phases. Software tools for engineers use the tenets of computer science; as well as the tenets of calculus, physics, and chemistry.
- File
- Finance
- Games
- Information systems, support almost every field
- LIS Management of laboratory data
- MIS Management of financial and personnel data
- Logistics
- Manufacturing
- Music
- Networks and Internet
- Office suites
- Operating systems
- Robotics
- Signal processing, encoding and interpreting signals
- Simulation, supports almost every field.
- Sciences
- Traffic Control
- Training
- Visualization, supports almost every field
- Voting
- World wide web
Business software is generally any software program that helps a business increase productivity or measure their productivity. ...
Accounting software is computer software that records and processes accounting transactions within functional modules such as accounts payable, accounts receivable, payroll and trial balance. ...
Analytics is the most sophisticated analysis of data. ...
It has been suggested that Tech mining be merged into this article or section. ...
A database is an organized collection of data. ...
Knowledge management (KM) may refer[1] to the ways organizations gather, manage, and use the knowledge that they acquire. ...
A Boeing 747-400 of Virgin Atlantic Airways, one of the UKs largest airlines. ...
For other uses, see Bank (disambiguation). ...
Outdoor ATMs may be free-standing, like this kiosk, or built into the side of banks or other buildings An automatic teller machine, automated teller machine (ATM) or cash machine is an electronic device that allows a banks customers to make cash withdrawals and check their account balances without...
Credit cards An array of various credit cards. ...
Commerce is the trading of something of value between two entities. ...
A fruit stand at a market. ...
An auctioneer and her assistants scan the crowd for bidders An auction is the process of buying and selling things by offering them up for bid, taking bids, and then selling the item to the highest bidder. ...
Please wikify (format) this article as suggested in the Guide to layout and the Manual of Style. ...
A barcode reader (or barcode scanner) is a computer peripheral for reading barcodes printed on various surfaces. ...
A diagram of the operation of a typical multi-language compiler. ...
A parser is a computer program or a component of a program that analyses the grammatical structure of an input, with respect to a given formal grammar, a process known as parsing. ...
Compiler optimization is the process of tuning the output of a compiler to minimise some attribute (or maximise the efficiency) of an executable program. ...
An interpreter is a computer program that executes other programs. ...
Figure of the linking process, where object files and static libraries are assembled into a new library or executable. ...
In computing, a loader is a program that performs the functions of a linker program and then immediately schedules the resulting executable program for action (in the form of a memory image), without necessarily saving the program as an executable file. ...
This article is in need of improvement. ...
E-mail, or email, is short for electronic mail and is a method of composing, sending, and receiving messages over electronic communication systems. ...
A screenshot of PowWow, one of the first instant messengers with a graphical user interface Instant messaging is the act of instantly communicating between two or more people over a network such as the Internet. ...
IP Telephony, also called Internet telephony, is the technology that makes it possible to have a telephone conversation over the Internet or a dedicated Internet Protocol (IP) network instead of dedicated voice transmission lines. ...
A calendar is a system for naming periods of time, typically days. ...
Contact managers are programs that enable people to keep track of their associates and tasks. ...
Computer graphics (CG) is the field of visual computing, where one utilizes computers both to generate visual images synthetically and to integrate or alter visual and spatial information sampled from the real world. ...
12 frames per second is the typical rate for an animated cartoon. ...
Special effects (abbreviated SPFX or SFX) are used in the film, television, and entertainment industry to create effects that cannot be achieved by normal means, such as depicting travel to other star systems. ...
See Wikipedia:editing for information on editing Wikipedia. ...
The German Lorenz cipher machine, used in World War II for encryption of high-level messages. ...
A database is an organized collection of data. ...
An embedded system is a special-purpose computer system, which is completely encapsulated by the device it controls. ...
Automotive software is software embedded within automobiles. ...
Avionics software is embedded software with legally-mandated safety and reliability concerns used in avionics. ...
HVAC (pronounced either H-V-A-C or, occasionally, H-VAK) is an initialism/acronym that stands for heating, ventilation and air-conditioning. This is sometimes referred to as climate control. ...
In computers, medical software is a significant branch of software engineering. ...
In telecommunication, Telephony encompasses the general use of equipment to provide voice communication over distances. ...
Telemetry is a technology that allows the remote measurement and reporting of information of interest to the system designer or operator. ...
Engineering is the application of scientific and technical knowledge to solve human problems. ...
A modern hammer is directly descended from ancient hand tools A tool is a device that (most commonly) provides a mechanical advantage in accomplishing a physical task. ...
Electronic document means any computer data (other than programs or system files) that are intended to be used in their computerized form, without being printed (although printing is usually possible). ...
Look up Analysis in Wiktionary, the free dictionary An analysis is a critical evaluation, usually made by breaking a subject (either material or intellectual) down into its constituent parts, then describing the parts and their relationship to the whole. ...
Usually considered in the context of the applied arts, engineering, architecture, and other such creative endeavours, design is used as both a noun and a verb. ...
...
The words test and testing have many meanings: Testing or experimentation is part of the scientific method, to verify or falsify an already formed expectation with an observation. ...
CAD is a TLA that may stand for: Cadiz Railroad (AAR reporting mark CAD) Canadian dollar â ISO 4217-code Capital Adequacy Directive Card Acceptance Device Children of the Anachronistic Dynasty Computer-aided design Computer-aided detection (medical) Computer-aided diagnosis (medical) Computer-assisted dispatch Computer-assisted drafting Coronary artery disease...
Electronic design automation (EDA) is the category of tools for designing and producing electronic systems ranging from printed circuit boards (PCBs) to integrated circuits. ...
Numerical analysis is the study of algorithms for the problems of continuous mathematics (as distinguished from discrete mathematics). ...
Wooden mechanical horse simulator during WWI. A simulation is an imitation of some real thing, state of affairs, or process. ...
A computer file is a collection of information that is stored in a computer system and can be identified by its full path name. ...
FTP or file transfer protocol is a commonly used protocol for exchanging files over any network that supports the TCP/IP protocol (such as the Internet or an intranet). ...
File sharing is the activity of making files available to other users for download over the Internet, but also over smaller networks. ...
Finance studies and addresses the ways in which individuals, businesses and organizations raise, allocate and use monetary resources over time, taking into account the risks entailed in their projects. ...
The bond market refers to people and entities involved in buying and selling of bonds and the quantity and prices of those transactions over time. ...
A futures contract is a form of forward contract, a contract to buy or sell an asset of any kind at a pre-agreed future point in time, that has been standardised for a wide range of uses. ...
The examples and perspective in this article or section may not represent a worldwide view. ...
GAMES Magazine is a United States based magazine devoted to games published by GAMES Publications, a division of Kappa Publishing Group. ...
Poker Room at the Trump Taj Mahal, Atlantic City, New Jersey Poker is a card game, the most popular of a class of games called vying games, in which players with fully or partially concealed cards make wagers into a central pot, which is awarded to the player or players...
In computer gaming, a MUD (Multi-User Dungeon or Domain or Dimension) is a multi-player computer game that combines elements of role-playing games, hack and slash style computer games and social instant messaging chat rooms. ...
Computer and video games A screenshot of Tetris for the Nintendo Game Boy A console game (better known as a video game) is a form of interactive multimedia used for entertainment, which consists of a moveable image displayed on a screen that is usually controlled and manipulated using a handheld...
Information Systems is the discipline concerned with the development, use, application and influence of information systems. ...
LIS may refer to: Lis Coat of Arms, a Polish coat of arms Laser Isotope Separation, a means of producing enriched uranium from uranium ore Laboratory information systems, databases oriented towards medical laboratories. ...
The title given to this article is incorrect due to technical limitations. ...
Look up Logistics in Wiktionary, the free dictionary. ...
It has been suggested that Bullwhip Effect be merged into this article or section. ...
Manufacturing is the transformation of raw materials into finished goods for sale, by means of tools and a processing medium, and including all intermediate processes involving the production or finishing of component parts (semi-manufactures). It is a large branch of industry and of secondary production. ...
Computer-aided manufacturing (CAM) refers to the software used to generate the instruction codes for a CNC machine in order for it to cut out a shape designed in a computer-aided design (CAD) system. ...
DCS is an acronym and can mean: a Digital Cellular System (DCS 1800 or GSM-1800), a mobile communications-based PCS network used outside of the U.S. a digital cross connect system a type of telecom equipment a Distributed Control System (Industrial Automation) an illness related to pressure changes...
Music is a form of expression in the medium of time using the structures of tones and silence. ...
In the field of electronic music, a sequencer was originally any device that recorded and played back a sequence of control information for an electronic musical instrument. ...
Sound effects or audio effects are artificially created or enhanced sounds, or sound processes used to emphasize artistic or other content of movies, video games, music, or other media. ...
A computer network is a system for communication between computers. ...
The domain name system or domain name server (DNS) is a system that stores information associated with domain names in a distributed database on networks, such as the Internet. ...
To meet Wikipedias quality standards, this article or section may require cleanup. ...
A D-Link Wi-Fi NAT router, popular for home and small office networks A router is a computer networking device that forwards data packets across an internetwork toward their destinations, through a process known as routing. ...
In computing, an office suite, sometimes called an office application suite, productivity suite, offimatic suite or integrated offimatic program, is a software suite intended to be used by typical clerical and knowledge workers. ...
A word processor (also more formally known as a document preparation system) is a computer application used for the production (including composition, editing, formatting, and possibly printing) of any sort of viewable or printed material. ...
To meet Wikipedias quality standards, this article or section may require cleanup. ...
A presentation program is a computer software package used to display information, normally in the form of a slide show. ...
An operating system (OS) is a software program that manages the hardware and software resources of a computer. ...
To meet Wikipedias quality standards, this article or section may require cleanup. ...
This article or section needs a complete rewrite for the reasons listed on the talk page. ...
In computing, multitasking is a method by which multiple tasks, also known as processes, share common processing resources such as a CPU. In the case of a computer with a single CPU, only one task is said to be running at any point in time, meaning that the CPU is...
A real-time operating system (RTOS) is a class of operating system intended for real-time applications. ...
It has been suggested that this article or section be merged with robot. ...
Signal processing is the processing, amplification and interpretation of signals and deals with the analysis and manipulation of signals. ...
It has been suggested that digital image processing be merged into this article or section. ...
Speech processing is the study of speech signals and the processing methods of these signals. ...
Optical character recognition, usually abbreviated to OCR, involves computer software designed to translate images of typewritten text (usually captured by a scanner) into machine-editable text, or to translate pictures of characters into a standard encoding scheme representing them in (ASCII or Unicode). ...
It has been suggested that on-line handwriting recognition be merged into this article or section. ...
A computer simulation or a computer model is a computer program that attempts to simulate an abstract model of a particular system. ...
Engineering is the application of scientific and technical knowledge to solve human problems. ...
Wooden mechanical horse simulator during WWI. A simulation is an imitation of some real thing, state of affairs, or process. ...
Science in the broadest sense refers to any knowledge or trained skill, especially (but not exclusively) when this is attained by verifiable means. ...
Science in the broadest sense refers to any knowledge or trained skill, especially (but not exclusively) when this is attained by verifiable means. ...
Genomics is the study of an organisms genome and the use of the genes. ...
It has been suggested that this article or section be merged into Construction site safety. ...
Air Traffic Control Towers (ATCTs) at Schiphol Airport Air Traffic Control (ATC) is a service provided by ground-based controllers who direct aircraft on the ground and in the air. ...
Training refers to the acquisition of knowledge, skills, and attitudes as a result of the teaching of vocational or practical skills and knowledge that relates to specific useful skills. ...
A drill is a tool with a rotating drill bit used for drilling holes in various materials. ...
Wooden mechanical horse simulator during WWI. A simulation is an imitation of some real thing, state of affairs, or process. ...
The words test and testing have many meanings: Testing or experimentation is part of the scientific method, to verify or falsify an already formed expectation with an observation. ...
Visualization can refer to: Graphic Visualization as in any technique for creating images, diagrams, or animations to communicate any message. ...
The Parthenon on top of the Acropolis, Athens, Greece Architecture (from Latin, architectura and ultimately from Greek, αÏÏιÏεκÏÏν, a master builder, from αÏÏι- chief, leader and ÏεκÏÏν, builder, carpenter) is the art and science of designing buildings and structures. ...
Engineering is the application of scientific and technical knowledge to solve human problems. ...
Science in the broadest sense refers to any knowledge or trained skill, especially (but not exclusively) when this is attained by verifiable means. ...
Electronic voting machine used in all Brazilian elections and plebiscites. ...
The World Wide Web (WWW or simply the Web) is a global, read-write information space. ...
Icons for Web browser shortcuts on an Apple computer (Safari, Internet Explorer, and Firefox). ...
The term Web server can mean one of two things: A computer that is responsible for accepting HTTP requests from clients, which are known as Web browsers, and serving them Web pages, which are usually HTML documents and linked objects (images, etc. ...
Disasters Software has played a role in many high-profile disasters. - Ariane 5 Flight 501
- Mars probe
- Denver International Airport
- TAURUS - UK share settlement system and dematerialised central share depository.
- Therac-25 - A radiation therapy machine responsible for six overdoses due to faulty software.
- Airbus A320 - [citation needed] The Airbus A320, while a highly safe and successful aircraft, was highly controversial in software engineering circles, being the first civilian Fly-by-wire aircraft. In the Airbus flight control systems, the computer has the final say on all decisions, meaning the safety of passengers depends upon the accuracy of the software specification, and the competence of the engineering teams producing the (multiple, independent) software stacks. Other than the crash of the original plane (in which a demonstration of stability outside the envelope went awry) whose cause is still not fully known, the sole crash which has been attributed to software was the Strasbourg A320 crash of Jan 21, 1992. In this crash which killed 87 people, the pilots had the flat panel display in the wrong mode. It is believed that the pilots had a console in flight path angle mode, instead of vertical speed entry. On entering a vertical speed, the aircraft descended into the mountains, without issuing any kind of warning. This accident shows a fundamental problem of software engineering: even if you implement the specification perfectly, an error in the specification (here, what constitutes an effective user interface), can still be lethal. It also shows another problem with computer controlled vehicles: there is vested interest by the manufacturers to attribute responsibility to the (often deceased) flight crew/drivers, rather than in the design of the vehicle.
- Failure at Dharan - Patriot Missile clock issue.
Flight 501, which took place on on June 4, 1996, was the first test flight of the Ariane 5 expendable launch system. ...
Mars Climate Orbiter during tests The Mars Climate Orbiter (formerly the Mars Surveyor 98 Orbiter) was one of two spacecraft in the Mars Surveyor 98 program, the other being the Mars Polar Lander (formerly the Mars Surveyor 98 Lander). ...
KDEN FAA Airport Diagram Denver International Airport (DIA) (IATA: DEN, ICAO: KDEN) is a major international airport located in northeastern Denver, Colorado and is operated by the City and County of Denver. ...
Settlement (of securities) is the process whereby securities or interests in securities are delivered, usually against payment, to fulfill contractual obligations, such as those arising under securities trades. ...
Therac-25 was a radiation therapy machine produced by Atomic Energy of Canada Limited. ...
The Airbus A320 is a short-to-medium range commercial passenger aircraft manufactured by Airbus. ...
The Airbus A320 is a short-to-medium range commercial passenger aircraft manufactured by Airbus. ...
A flight control system consists of the flight control surfaces, the respective cockpit controls, connecting linkage, and necessary operating mechanisms to control aircraft in flight The basic fundamentals of aircraft controls has been explained in aeronautics. ...
Four Patriot missiles like the one shown here can be fired from this mobile launcher between loadings. ...
Technologies and practices Skilled software engineers use technologies and practices from a variety of fields to improve their productivity in creating software and to improve the quality of the delivered product.
Software engineering topics Many technologies and practices are (mostly) unique to software engineering, though many of these are shared with computer science. Computer science is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. ...
A programming language is an artificial language intended to be usable for controlling the behavior of a machine (often a computer). ...
There are a lot of kinds of listing. ...
Scripting programming languages (commonly called scripting languages or script languages) are computer programming languages designed for scripting the operation of a computer. ...
Ada is a structured, statically typed imperative computer programming language designed by a team led by Jean Ichbiah of CII Honeywell Bull during 1977â1983. ...
COBOL is a third-generation programming language. ...
The pascal (symbol: Pa) is the SI unit of pressure. ...
The C Programming Language, Brian Kernighan and Dennis Ritchie, the original edition that served for many years as an informal specification of the language The C programming language (often, just C) is a general-purpose, procedural, imperative computer programming language developed in the early 1970s by Dennis Ritchie for use...
C++ (generally pronounced see plus plus) is a general-purpose, high-level programming language. ...
D is an object-oriented, imperative system programming language designed by Walter Bright of Digital Mars as a re-engineering of C/C++. He has done this by re-designing many C++ features, and borrowing ideas from other programming languages. ...
ColdFusion is the original and most common implementation of a tag and ECMAScript-based programming language -- ColdFusion Markup Language (CFML) and CFSCRIPT, respectively -- which is typically used in web application development for the generation of dynamic web pages. ...
The theatre, seen from above Delphi (Greek ÎελÏοί â Delphoi) is an archaeological site and a modern town in Greece. ...
The title given to this article is incorrect due to technical limitations. ...
Fortran (also FORTRAN) is a general-purpose[1], procedural[2], imperative programming language that is especially suited to numeric computation and scientific computing. ...
Java is an object-oriented programming language developed by James Gosling and colleagues at Sun Microsystems in the early 1990s. ...
Lasso Professional combines an interpreted middleware programming language and server for developing internet applications which use web browsers for the client user interface to connect to HTTP and database servers. ...
Perl, also Practical Extraction and Report Language (a backronym, see below) is a dynamic procedural programming language designed by Larry Wall and first released in 1987. ...
For other uses, see PHP (disambiguation). ...
Python is an interpreted programming language created by Guido van Rossum in 1990. ...
// Tcl (originally from Tool Command Language, but nonetheless conventionally rendered as Tcl rather than TCL; and pronounced like tickle) is a scripting language created by John Ousterhout. ...
This article is about the Visual Basic language shipping with Microsoft Visual Studio 6. ...
Programming paradigm, based on a programming language technology A programming paradigm is a paradigmatic style of programming (compare with a methodology, which is a paradigmatic style of doing software engineering). ...
In software engineering, the programming paradigm of aspect-oriented programming (AOP), also called aspect-oriented software development (AOSD), attempts to aid programmers in the separation of concerns, or the breaking down of a program into distinct parts that overlap in functionality as little as possible. ...
Functional decomposition of engineering is a method for analyzing engineered systems. ...
In computer science, object-oriented programming, OOP for short, is a computer programming paradigm. ...
Post-object programming is a new generation of techniques that evolved out of the object-oriented programming generation. ...
Structured programming can be seen as a subset or subdiscipline of procedural programming, one of the major programming paradigms. ...
Logic programming is a declarative programming paradigm in which a set of attributes that a solution should have are specified rather than set of steps to obtain such a solution. ...
A database is an organized collection of data. ...
A hierarchical database is a kind of database management system that links records together in a tree data structure such that each record type has only one owner, e. ...
An object database is a database in which information is represented in the form of objects. ...
A relational database is a database structured in accordance with the relational model. ...
Structured Query Language (SQL) is the most popular computer language used to create, modify and query databases. ...
This article or section needs a complete rewrite for the reasons listed on the talk page. ...
In computer programming, Qt is a cross-platform graphical widget toolkit for the development of GUI programs. ...
Initially created for the raster graphics editor, the GNU Image Manipulation Program, the GIMP Toolkitâabbreviated, and almost exclusively known, as GTK+âis one of the two most popular widget toolkits for the X Window System for creating graphical user interfaces. ...
A programming tool is a program or application that software developers use to create, debug, or maintain other programs and applications. ...
In information technology and telecommunications, the term configuration management or configuration control has the following meanings: The management of security features and assurances through control of changes made to hardware, software, firmware, documentation, test, test fixtures and test documentation of an automated information system, throughout the development and operational life...
The Concurrent Versions System (CVS), also known as the Concurrent Versioning System, implements a version control system: it keeps track of all work and all changes in a set of files, typically the implementation of a software project, and allows several (potentially widely separated) developers to collaborate. ...
Subversion is an open source application used for revision control. ...
The Revision Control System (RCS) is a software implementation of revision control that automates the storing, retrieval, logging, identification, and merging of revisions. ...
In computing, GNU arch is a revision control system, similar in purpose to tools such as CVS, SCCS, and Subversion. ...
The correct title of this article is make. ...
Apache Ant is a software tool for automating software build processes. ...
An Editor is a person who prepares textâtypically language, but also images and soundsâfor publication by correcting, condensing, or otherwise modifying it. ...
An integrated development environment (IDE), also known as integrated design environment and integrated debugging environment, is a type of computer software that assists computer programmers to develop software. ...
Notepad is the standard text editor for Microsoft Windows A text editor is a piece of computer software for editing plain text. ...
A word processor (also more formally known as a document preparation system) is a computer application used for the production (including composition, editing, formatting, and possibly printing) of any sort of viewable or printed material. ...
A parser is a computer program or a component of a program that analyses the grammatical structure of an input, with respect to a given formal grammar, a process known as parsing. ...
Yacc is a piece of computer software that serves as the standard parser generator on Unix systems. ...
GNU bison is a free parser generator computer program written for the GNU project, and available for virtually all common operating systems. ...
Illustration of an application which may use libvorbisfile. ...
Software component representations: above the representation used in UML, below the representation commonly used by Microsofts COM objects. ...
Design languages are related to architecture description languages or ADLs. ...
The Unified Modeling Language (UML) is a non-proprietary, object modeling and specification language used in software engineering. ...
Patterns, document many common programming and project management techniques A pattern is a form, template, or model (or, more abstractly, a set of rules) which can be used to make or to generate things or parts of a thing, especially if the things that are generated have enough in common for the underlying pattern to be inferred or discerned...
In computer science, anti-patterns are problems that happen frequently in computer programming and that should be avoided in good practice. ...
{{Hide = {{{ Hybrid reference style allows grouped references at top, but uses m:Cite. ...
- Agile
- Heavyweight
- Process evaluation frameworks
To meet Wikipedias quality standards, this article or section may require cleanup. ...
It has been suggested that this article or section be merged into Software development process. ...
It has been suggested that Adaptation of Agile Methods be merged into this article or section. ...
To meet Wikipedias quality standards, this article or section may require cleanup. ...
Lean manufacturing is a management philosophy focusing on reduction of the 7 wastes (Over-production, Waiting time, Transportation, Processing, Inventory, Motion and Scrap) in manufactured products. ...
Template:Test6 Scrum is an agile method for project management, in use since at least 1990. ...
NASAs Glenn Research Center cleanroom. ...
ISO 12207 is an international standard for software life cycle processes, owned by the International Organization for Standardization. ...
ISO 9001 certification of a fish wholesaler at the Tsukiji fish market ISO 9000 is a family of ISO standards for Quality Management Systems. ...
ISO 9000 specifies requirements for a Quality Management System overseeing the production of a product or service. ...
The Rational Unified Process (RUP) is an iterative software development process created by the Rational Software Corporation, now a division of IBM. The RUP is not a single concrete prescriptive process, but rather an adaptable process framework. ...
To meet Wikipedias quality standards, this article or section may require cleanup. ...
The Capability Maturity Model (CMM) is a method for evaluating the maturity of software development organisations on a scale of 1 to 5. ...
ISO 15504 is a standard for Process Assessment. ...
A platform combines computer hardware and an operating system. As platforms become more powerful and less expensive, applications and tools become more widely available. In computing, a platform describes some sort of framework, either in hardware or software, which allows software to run. ...
BREW is an application development platform created by Qualcomm for CDMA-based mobile phones. ...
For alternate meanings, see Cray (disambiguation). ...
A supercomputer is a computer that leads the world in terms of processing capacity, particularly speed of calculation, at the time of its introduction. ...
Digital Equipment Corporation was a pioneering company in the American computer industry. ...
Minicomputer (colloquially, mini) is a largely obsolete term for a class of multi-user computers which make up the middle range of the computing spectrum, in between the largest multi-user systems (traditionally, mainframe computers) and the smallest single-user systems (microcomputers or personal computers). ...
Big Blue redirects here. ...
Mainframes (often colloquially referred to as big iron) are large and expensive computers used mainly by government institutions and large companies for legacy applications, typically bulk data processing (such as censuses, industry/consumer statistics, ERP, and bank transaction processing). ...
Linux (also known as GNU/Linux) is a Unix-like computer operating system. ...
A stylised illustration of a modern personal computer A personal computer (PC) is usually a microcomputer whose price, size, and capabilities make it suitable for personal usage. ...
Mac OS, which stands for Macintosh Operating System, is a series of graphical user interface-based operating systems developed by Apple Computer for their Macintosh line of computer systems. ...
Mac OS X is a proprietary operating system developed and sold by Apple Computer, Inc. ...
A stylised illustration of a modern personal computer A personal computer (PC) is usually a microcomputer whose price, size, and capabilities make it suitable for personal usage. ...
Microsoft . ...
Palm OS is an operating system made by PalmSource, Inc. ...
palmOne Tungsten T5 Dell Axim X51v Pocket PC Personal digital assistants (usully abbreviated to PDAs) are handheld devices that were originally designed as personal organizers, but became much more versatile over the years. ...
Sun Microsystems, Inc. ...
Solaris is a computer operating system developed by Sun Microsystems. ...
Microsoft Windows is a family of operating systems by Microsoft for use on personal computers, although versions of Windows designed for servers, embedded devices, and other platforms also exist. ...
A stylised illustration of a modern personal computer A personal computer (PC) is usually a microcomputer whose price, size, and capabilities make it suitable for personal usage. ...
Wintel is a colloquial, often pejorative, term used to describe desktop computers of the type commonly used in homes and businesses since the late 1980s (these are PC compatible computers running a version of Microsoft Windows). ...
Symbian OS is an operating system, designed for mobile devices, with associated libraries, user interface frameworks and reference implementations of common tools, produced by Symbian Ltd. ...
A practice refers to a way that something is done. ...
This article is in need of improvement. ...
Pair programming requires two software engineers to participate in a combined development effort at one workstation. ...
Refactoring is the process of rewriting a computer program or other material to improve its structure or readability, while explicitly keeping its meaning or behavior. ...
Inspection in software engineering, refers to peer review of any work product by trained individuals who look for defects using a well defined process. ...
Code review is peer review of computer source code intended to find and fix mistakes overlooked in the initial development phase, improving overall code quality. ...
In computer science and software engineering, reusability is the likelihood a segment of structured code can be used again to add new functionalities with slight or no modification. ...
Enterprise application integration (EAI) is the use of software and architectural principles to bring together (integrate) a set of enterprise computer applications. ...
It has been suggested that this article or section be merged with Team building. ...
Other tools Decision tables are a precise yet compact way to model complicated logic. ...
In geographic information systems, a feature comprises an item of feature data. ...
Look up Story in Wiktionary, the free dictionary. ...
In software engineering, a use case is a technique for capturing the potential requirements of a new system or software change. ...
Computer science topics Skilled software engineers know a lot of computer science including what is possible and impossible, and what is easy and hard for software. Computer science is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. ...
Flowcharts are often used to represent algorithms. ...
In computer science, a search algorithm, broadly speaking, is an algorithm that takes a problem as input and returns a solution to the problem, usually after evaluating a number of possible solutions. ...
Sorting refers to a process of arranging items in some sequence and/or in different sets, and accordingly, it has two common, yet distinct meanings: ordering: aranging items of the same kind, class, nature, etc. ...
In computer science, parsing is the process of analyzing an input sequence (read from a file or a keyboard, for example) in order to determine its grammatical structure with respect to a given formal grammar. ...
Numerical analysis is the study of algorithms for the problems of continuous mathematics (as distinguished from discrete mathematics). ...
A diagram of the operation of an ideal compiler. ...
Yacc is a piece of computer software that serves as the standard parser generator on Unix systems. ...
GNU bison is a free parser generator computer program written for the GNU project, and available for virtually all common operating systems. ...
A binary tree, a simple type of branching linked data structure. ...
Look up list in Wiktionary, the free dictionary This article is about the word list as used in computer science. ...
In computer science, a tree is a widely-used computer data structure that emulates a tree structure with a set of linked nodes. ...
In computer science, a hash table is a data structure that speeds up searching for information by a particular aspect of that information, called a key. ...
Computation can be defined as finding a solution to a problem from given inputs by means of an algorithm. ...
In computability theory the halting problem is a decision problem which can be informally stated as follows: Given a description of a program and its initial input, determine whether the program, when executed on this input, ever halts (completes). ...
For the Computer Science term, see Computational complexity theory. ...
In complexity theory, the NP-complete problems are the most difficult problems in NP, in the sense that they are the ones most likely not to be in P. The reason is that if you could find a way to solve an NP-complete problem quickly, then you could use...
In computer science, computational complexity theory is the branch of the theory of computation that studies the resources, or cost, of the computation required to solve a given problem. ...
In computer science, formal methods refers to mathematically based techniques for the specification, development and verification of software and hardware systems (Foldoc:formalmethods). ...
In theoretical computer science, correctness of an algorithm is asserted when it is said that the algorithm is correct with respect to a specification. ...
Program synthesis comprises a range of technologies for the automatic generation of executable computer programs from high-level specifications of their behaviour. ...
An adaptive system is a system that is able to adapt its behavior according to changes in its environment or in parts of the system itself. ...
An artificial neural network (ANN), also called a simulated neural network (SNN) or commonly just neural network (NN) is an interconnected group of artificial neurons that uses a mathematical or computational model for information processing based on a connectionist approach to computation. ...
An evolutionary algorithm (also EA, artificial evolution, AE) indicates a subset of evolutionary computation, which is a part of artificial intelligence. ...
Mathematics topics Discrete mathematics is a key foundation of software engineering. Discrete mathematics, also called finite mathematics, is the study of mathematical structures that are fundamentally discrete, in the sense of not supporting or requiring the notion of continuity. ...
Other A number is an abstract entity that represents a count or measurement. ...
In mathematics, a set can be thought of as any collection of distinct things considered as a whole. ...
In mathematics, a multiset (sometimes also called a bag) differs from a set in that each member has a multiplicity, which is a natural number indicating (loosely speaking) how many times it is a member, or perhaps how many memberships it has in the multiset. ...
In mathematics, a sequence is a list of objects (or events) arranged in a linear fashion, such that the order of the members is well defined and significant. ...
The coniferous Coast Redwood, the tallest tree species on earth. ...
Logic, from Classical Greek λÏÎ³Î¿Ï (logos), originally meaning the word, or what is spoken, (but coming to mean thought or reason) is most often said to be the study of criteria for the evaluation of arguments, although the exact definition of logic is a matter of controversy among philosophers. ...
There are several meanings for the word deduction: Natural deduction Deductive reasoning Deductions in terms of taxation, such as Itemized deductions Standard deduction See also: Logic Venn diagram Inductive reasoning Both statistics and the scientific method rely on both induction and deduction. ...
It has been suggested that Predicate calculus be merged into this article or section. ...
In mathematics, higher-order logic is distinguished from first-order logic in a number of ways. ...
Combinatory logic is a notation introduced by Moses Schönfinkel and Haskell Curry to eliminate the need for variables in mathematical logic. ...
Mathematical induction is a method of mathematical proof typically used to establish that a given statement is true of all natural numbers, or otherwise is true of all members of an infinite sequence. ...
Combinatorics is a branch of mathematics that studies collections (usually finite) of objects that satisfy specified criteria. ...
In computing, domain knowledge is the knowledge and skills that software programs encode. ...
A graph of a bell curve in a normal distribution showing statistics used in educational assessment, comparing various grading methods. ...
Decision theory is an interdisciplinary area of study, related to and of interest to practitioners in mathematics, statistics, economics, philosophy, management and psychology. ...
At the broadest level, type theory is the branch of mathematics and logic that concerns itself with classifying entities into collections called types. ...
Life cycle phases Software engineering (SE) is the profession of people who create and maintain software systems by applying technologies and practices from computer science, project management, engineering, application domains and other fields. ...
To meet Wikipedias quality standards, this article or section may require cleanup. ...
Requirements analysis, in software engineering, is a term used to describe all the tasks that go into the instigation, scoping and definition of a new or altered computer system. ...
Software architecture or software systems architecture can best be thought of as a representation of an engineered (or To Be Engineered) software system, and the process and discipline for effectively implementing the design(s) for such a system. ...
For programming in music, see Programming (music). ...
Software testing is the process used to help identify the correctness, completeness, security and quality of developed computer software. ...
A computer bug is an error, flaw, mistake, failure, or fault in a computer program that prevents it from working as intended, or produces an incorrect result. ...
To meet Wikipedias quality standards, this article or section may require cleanup. ...
White box testing, clear box testing, glass box testing or structural testing is used in computer programming, software engineering and software testing to check that the outputs of a program, given certain inputs, conform to the structural specification of the program. ...
In engineering and manufacturing, quality control or quality engineering is a set of measures taken to ensure that defective products or services are not produced, and that the design meets performance requirements. ...
It has been suggested that this article or section be merged into Software development process. ...
A software release refers to the creation and availability of a new version of a computer software product. ...
Software development stages Development stage terminology expresses how the development of a piece of software has progressed and how much further development it may require. ...
Software development stages Development stage terminology expresses how the development of a piece of software has progressed and how much further development it may require. ...
Software development stages Development stage terminology expresses how the development of a piece of software has progressed and how much further development it may require. ...
A master recording is an original recording, from which copies may be made. ...
1/0 is a web comic by Mason Williams, aka Tailsteak. ...
In telecommunication, system lifecycle is the course of developmental changes through which a system passes from its conception to the termination of its use and subsequent salvage. ...
The waterfall model is a software development model (a process for the creation of software) in which development is seen as flowing steadily downwards (like a waterfall) through the phases of requirements analysis, design, implementation, testing (validation), integration, and maintenance. ...
Structured programming can be seen as a subset or subdiscipline of procedural programming, one of the major programming paradigms. ...
Top-down and bottom-up are strategies of information processing, mostly involving software, and by extension other humanistic and scientific systems theory. ...
Structured Systems Analysis and Design Methodology (SSADM) is a systems approach to the analysis and design of information systems. ...
The spiral model is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts. ...
Iterative and Incremental development is a software development process, as opposed to more traditional waterfall model. ...
The DSDM (Dynamic Systems Development Method) is a method that provides a framework for Rapid Application Development (RAD), supported by its continuous user involvement in an iterative development and incremental approach which is responsive to changing requirements, in order to develop a system that meets the business needs on time...
In computing, the Chaos model is a structure of software development that extends the spiral model and waterfall model. ...
The chaos strategy is an approach to software development that extends other strategies (such as step-wise refinement), and it works with the chaos model. ...
Deliverables Deliverables must be developed for many SE projects. Software engineers rarely make all of these deliverables themselves. They usually cooperate with the writers, trainers, installers, marketers, technical support people, and others who make many of these deliverables. - Application software - the software
- Database - schemas and data.
- Documentation, online and/or print, FAQ, Readme, release notes, Help, for each role
- Administration and Maintenance policy, what should be backed-up, checked, configured, ...
- Installers
- Migration
- Upgrade from previous installations
- Upgrade from competitor's installations
- Training materials, for each role
- Support info for computer support groups.
- Marketing and sales materials
Application software is a loosely defined subclass of computer software that employs the capabilities of a computer directly to a task that the user wishes to perform. ...
A database is an organized collection of data. ...
Software Documentation or Source Code Documentation is written text that accompanies computer software. ...
FAQ is an abbreviation for Frequently Asked Question(s). The term refers to listed questions and answers, all supposed to be frequently asked in some context, and pertaining to a particular topic. ...
A readme (or read me) file contains information about other files in a directory and is very commonly distributed with computer software. ...
Release notes are a document (usually printed) that is distributed with software products, often when the product is still a development or test state (e. ...
Look up help in Wiktionary, the free dictionary. ...
The term system administrator, abbreviated sysadmin, designates an employment position of those people responsible for running technically advanced information systems or some aspect of them. ...
Management (from Old French ménagement the art of conducting, directing, from Latin manu agere to lead by the hand) characterises the process of leading and directing all or part of an organization, often a business, through the deployment and manipulation of resources (human, financial, material, intellectual or intangible). ...
A buyer, sometimes called a merchandiser, is a person who purchases finished goods, typically for resale, for a firm, government, or organization. ...
Look up Administration in Wiktionary, the free dictionary. ...
Maintenance see repair and maintenance Maintenance is a legal term of art that is used to describe child support and alimony (also called spousal support). ...
An installation program or installer is a computer program that installs files, such as applications, drivers, or other software, onto a computer. ...
This article is about non-human migration. ...
Training refers to the acquisition of knowledge, skills, and attitudes as a result of the teaching of vocational or practical skills and knowledge that relates to specific useful skills. ...
The term system administrator, abbreviated sysadmin, designates an employment position of those people responsible for running technically advanced information systems or some aspect of them. ...
Management (from Old French ménagement the art of conducting, directing, from Latin manu agere to lead by the hand) characterises the process of leading and directing all or part of an organization, often a business, through the deployment and manipulation of resources (human, financial, material, intellectual or intangible). ...
A buyer, sometimes called a merchandiser, is a person who purchases finished goods, typically for resale, for a firm, government, or organization. ...
The word support has several specialized meanings: In mathematics, see support (mathematics). ...
It has been suggested that Product marketing be merged into this article or section. ...
Sales, or the activity of selling, forms an integral part of commercial activity. ...
A white paper is a government report outlining policy or authoritative report on a major issue. ...
A comparison is an evaluation of similarities and differences - described by Gregory Bateson in his book Mind and Nature as the two quanta of experience. ...
Business roles Business operations are those activities involved in the running of a business for the purpose of producing value for the stakeholders. ...
The term system administrator, abbreviated sysadmin, designates an employment position of those people responsible for running technically advanced information systems or some aspect of them. ...
Management (from Old French ménagement the art of conducting, directing, from Latin manu agere to lead by the hand) characterises the process of leading and directing all or part of an organization, often a business, through the deployment and manipulation of resources (human, financial, material, intellectual or intangible). ...
A buyer, sometimes called a merchandiser, is a person who purchases finished goods, typically for resale, for a firm, government, or organization. ...
Development has meaning in several contexts: // Science and Engineering Biological development of embryos in the context of developmental biology Child development (physical emphasis) or post-natal human development (pediatrics, etc) Software engineering, the methodology and process of development of computer software Technology development in industry, as in Software development New...
A fairly broad term for a person or tool with a primary function of information analysis, generally with a more limited, practical and short term set of goals than a researcher. ...
A programmer or software developer is someone who programs computers, i. ...
Management (from Old French ménagement the art of conducting, directing, from Latin manu agere to lead by the hand) characterises the process of leading and directing all or part of an organization, often a business, through the deployment and manipulation of resources (human, financial, material, intellectual or intangible). ...
Wall Street, Manhattan is the location of the New York Stock Exchange and is often used as a symbol for the world of business. ...
Management consulting (sometimes also called strategy consulting) refers to both the practice of helping companies to improve performance through analysis of existing business problems and development of future plans, as well as to the firms that specialize in this sort of consulting. ...
Sales, or the activity of selling, forms an integral part of commercial activity. ...
It has been suggested that Product marketing be merged into this article or section. ...
This article is about law in society. ...
The word support has several specialized meanings: In mathematics, see support (mathematics). ...
Human Resources has at least two meanings depending on context. ...
Finance studies and addresses the ways in which individuals, businesses and organizations raise, allocate and use monetary resources over time, taking into account the risks entailed in their projects. ...
Plato is credited with the inception of academia: the body of knowledge, its development and transmission across generations. ...
For the suburb of Melbourne, Australia, see Research, Victoria. ...
Management topics The word leadership can refer to: the process of leading the concept of leading those entities that perform one or more acts of leading. ...
A coach is a person who teaches and directs another person via encouragement and advice. ...
This article is in need of improvement. ...
...
To meet Wikipedias quality standards, this article or section may require cleanup. ...
This page meets Wikipedias criteria for speedy deletion. ...
An example is a representative of a group or a concept. ...
Human Resource Management (HRM) is both an academic theory and a business practice. ...
Hiring is the practice of finding, evaluating, and establishing a working relationship with future employees and contractors. ...
Staffing is the practice of finding, evaluating, and establishing a working relationship with future colleagues on a project and firing them when they are no longer needed. ...
Training refers to the acquisition of knowledge, skills, and attitudes as a result of the teaching of vocational or practical skills and knowledge that relates to specific useful skills. ...
Evaluation is the systematic determination of merit, worth, and significance of something or someone. ...
Project management is the discipline of defining and achieving targets while optimizing (or just allocating) the use of resources (time, money, people, materials, energy, space, etc) over the course of a project (a set of activities of finite duration). ...
Goal Setting involves setting specific, measurable and time targeted objectives. ...
Estimation is the calculated approximation of a result which is usable even if input data may be incomplete, uncertain, or noisy. ...
Generally, Risk Management is the process of measuring, or assessing risk and then developing strategies to manage the risk. ...
Change management is the process of developing a planned approach to change in an organization. ...
Process management is the ensemble of activities of planning and monitoring the performance of a process, especially in the sense of business process, often confused with reengineering. ...
Process (lat. ...
To meet Wikipedias quality standards, this article or section may require cleanup. ...
It has been suggested that this article or section be merged into Software development process. ...
A software metric is a measure of some property of a piece of software or its specifications. ...
Business topics The Malcolm Baldrige National Quality Award is given by the United States National Institute of Standards and Technology. ...
The often used six sigma symbol Six Sigma is a methodology to manage process variations that cause defects, defined as unacceptable deviation from the mean or target; and to systematically work towards managing variation to eliminate those defects[1]. The objective of Six Sigma is to deliver world-class performance...
It has been suggested that this article or section be merged with Quality management. ...
Community topics Pioneers Many people made important contributions to SE technologies, practices, or applications. - John Backus: Fortran, first optimizing compiler, BNF
- Vic Basili: Experience factory.
- F.L. Bauer: Stack principle, popularized the term Software Engineering
- Kent Beck: Refactoring, extreme programming, pair programming, test-driven development.
- Tim Berners-Lee: World wide web
- Barry Boehm: SE economics, COCOMO, Spiral model.
- Grady Booch: Object-oriented design, UML.
- Fred Brooks: Managed System 360 and OS 360. Wrote The Mythical Man-Month and No Silver Bullet.
- Edsger Dijkstra: Wrote Notes on Structured Programming, A Discipline of Programming and Go To Statement Considered Harmful, algorithms, formal methods, pedagogy.
- Michael Fagan: Software inspection.
- Tom Gilb: Software metric, Software inspection, Evolutionary processes.
- Grace Hopper: The first compiler (Mark 1), COBOL, Nanoseconds.
- Watts Humphrey: Capability Maturity Model, Personal Software Process, fellow of the Software Engineering Institute.
- Jean Ichbiah: Ada
- Michael A. Jackson: Jackson Structured Programming, Jackson System Development
- Bill Joy: Berkeley Unix, vi, Java.
- Brian Kernighan: C and Unix.
- Donald Knuth: Wrote The Art of Computer Programming, TeX, algorithms, literate programming
- Bertrand Meyer: Design by Contract, Eiffel programming language.
- Peter G. Neumann: RISKS Digest, ACM Sigsoft.
- David Parnas: Module design, social responsibility, professionalism.
- Jef Raskin: Developed the original Macintosh GUI
- Dennis Ritchie: C and Unix.
- Winston W. Royce: Waterfall model.
- Mary Shaw: Software architecture.
- Richard Stallman: Founder of the Free Software Foundation
- Linus Torvalds: Linux kernel, free software / open source development.
- Will Tracz: Reuse, ACM Software Engineering Notes.
- Gerald Weinberg: Wrote The Psychology of Computer Programming.
- Jeanette Wing: Formal specifications.
- Ed Yourdon: Structured programming, wrote The Decline and Fall of the American Programmer.
See also John Backus (born December 3, 1924) is an American computer scientist, notable as the inventor of the first high-level programming language (FORTRAN), the Backus-Naur form (BNF, the almost universally used notation to define formal language syntax), and the concept of Function-level programming. ...
Fortran (also FORTRAN) is a general-purpose[1], procedural[2], imperative programming language that is especially suited to numeric computation and scientific computing. ...
The Backus-Naur form (BNF) (also known as Backus normal form) is a metasyntax used to express context-free grammars: that is, a formal way to describe formal languages. ...
Friedrich Ludwig Bauer (born June 10, 1924) in Regensburg) is a german computer scientist and professor emeritus at Munich_University_of_Technology. ...
In computer science, a stack is a data structure that works on the principle of Last In First Out (LIFO). ...
Software engineering (SE) is the profession of people who create and maintain software systems by applying technologies and practices from computer science, project management, engineering, application domains and other fields. ...
Kent Beck is the creator of Extreme Programming and is one of the founders of the Agile Manifesto. ...
Refactoring is the process of rewriting a computer program or other material to improve its structure or readability, while explicitly keeping its meaning or behavior. ...
To meet Wikipedias quality standards, this article or section may require cleanup. ...
Pair programming requires two software engineers to participate in a combined development effort at one workstation. ...
Test-Driven Development (TDD) is a computer programming technique that involves repeatedly first writing a test case and then implementing only the code necessary to pass the test. ...
Sir Tim Berners-Lee Sir Tim (Timothy John) Berners-Lee, KBE (TimBL or TBL) (b. ...
The World Wide Web (WWW or simply the Web) is a global, read-write information space. ...
Barry W. Boehm is known for four main contributions to software engineering. ...
Software engineering economics is the economics of the software industry. ...
COCOMO is a model designed by Barry Boehm to give an estimate of the number of man-months it will take to develop a software product. ...
The spiral model is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts. ...
Grady Booch is a software designer, a software methodologist and a Design Pattern enthusiast. ...
Object-oriented programming (OOP) is a computer programming paradigm in which a software system is modeled as a set of objects that interact with each other. ...
Usually considered in the context of the applied arts, engineering, architecture, and other such creative endeavours, design is used as both a noun and a verb. ...
The Unified Modeling Language (UML) is a non-proprietary, object modeling and specification language used in software engineering. ...
Frederick Phillips Brooks, Jr. ...
The IBM System/360 (S/360) is a computer system family announced by International Business Machines on April 7, 1964. ...
OS/360 was a batch processing operating system developed by IBM for their then-new System/360 mainframe computer, announced in 1964. ...
Book cover The Mythical Man-Month: Essays on Software Engineering is a classic book on software project management written by Fred Brooks. ...
No Silver Bullet is a well-known paper on software engineering written by Fred Brooks in 1987. ...
Portrait of Edsger Dijkstra (courtesy Brian Randell) Prof Dr Edsger Wybe Dijkstra (Rotterdam, May 11, 1930 â Nuenen, August 6, 2002) was a Dutch computer scientist. ...
In computer science and related disciplines, considered harmful is a phrase popularly used in the titles of diatribes and other critical essays. ...
Flowcharts are often used to represent algorithms. ...
In computer science, formal methods refers to mathematically based techniques for the specification, development and verification of software and hardware systems (Foldoc:formalmethods). ...
Pedagogy is the art or science of teaching. ...
Michael Fagan is credited with being the inventor of formal software inspections. ...
Inspection in software engineering, refers to peer review of any work product by trained individuals who look for defects using a well defined process. ...
Tom Gilb (born 1940) in Pasadena, California, is the author of 9 books and has at least 4 more drafted. ...
A software metric is a measure of some property of a piece of software or its specifications. ...
Inspection in software engineering, refers to peer review of any work product by trained individuals who look for defects using a well defined process. ...
Grace Hopper Rear Admiral Grace Murray Hopper (December 9, 1906 â January 1, 1992) was an American computer scientist and naval officer. ...
COBOL is a third-generation programming language. ...
To help compare orders of magnitude of different times this page lists times between 10â9 seconds and 10â8 seconds (1 nanosecond and 10 nanoseconds) See also times of other orders of magnitude. ...
Watts Humphrey is a key thinker in the discipline of the management of software development. ...
To meet Wikipedias quality standards, this article or section may require cleanup. ...
Designed by Software Engineering Institute at Carnegie Mellon, PSP has its roots in Capability Maturity Model (CMM), the Personal Software Process is a set of guidelines and best practices to incorporate discipline in the software development process. ...
The Software Engineering Institute (SEI) is a federally funded research and development center sponsored by the U.S. Department of Defense and operated by Carnegie Mellon University. ...
Jean David Ichbiah (born 25 March 1940) was the chief designer of the Ada programming language, from 1977â1983. ...
Ada is a structured, statically typed imperative computer programming language designed by a team led by Jean Ichbiah of CII Honeywell Bull during 1977â1983. ...
Michael Anthony Jackson (born 1936) works as an independent consultant in London, England, and also as a part-time researcher at AT&T Research, Florham Park, NJ, USA. He is a visiting research professor at the Open University in the UK. Michael Jackson studied classics at Oxford University, where he...
Jackson Structured Programming or JSP is a method for structured programming based on correspondences between data stream structure and program structure. ...
Jackson System Development (JSD) is a software development method developed by Michael A. Jackson and John Cameron. ...
William Nelson Joy (born 1954), commonly known as Bill Joy, co-founded Sun Microsystems in 1982 along with Vinod Khosla, Scott McNealy and Andy Bechtolsheim, and served as chief scientist at the company until 2003. ...
Unix or UNIX is a computer operating system originally developed in the 1960s and 1970s by a group of AT&T Bell Labs employees including Ken Thompson, Dennis Ritchie, and Douglas McIlroy. ...
The correct title of this article is vi. ...
The Java platform is the name for a computing environment, or platform, from Sun Microsystems which can run applications developed using the Java programming language and set of development tools. ...
Brian W. Kernighan (pronounced Ker-ni-han; the g is silent; born 1942) is a computer scientist who worked at the Bell Labs and contributed to the design of the pioneering AWK and AMPL programming languages. ...
Donald Knuth at a reception for the Open Content Alliance. ...
Cover of books The Art of Computer Programming is a comprehensive monograph written by Donald Knuth which covers many kinds of programming algorithms and their analysis. ...
The TeX mascot, by Duane Bibby , written as TeX in plain text, is a typesetting system created by Donald Knuth. ...
Flowcharts are often used to represent algorithms. ...
Literate programming is the writing of computer programs primarily for human beings to read, similar to a work of literature; hence the name literate programming. ...
Bertrand Meyer developed the Eiffel programming language, and is an author, academic and consultant in the field of computer languages. ...
Design by contract, DBC or Programming by contract is a methodology for designing computer software. ...
Eiffel is an object-oriented programming language which emphasizes the production of robust software. ...
Peter G. Neumann is a researcher who has worked on the Multics operating system. ...
The RISKS Digest or Forum On Risks to the Public in Computers and Related Systems is an online periodical published since 1985 by the Committee on Computers and Public Policy of the Association for Computing Machinery. ...
David Lorge Parnas (born February 10, 1941) is an early pioneer of software engineering who developed the concept of module design which is the foundation of object oriented programming today. ...
Jef Raskin outdoors, photographed by his son Aza Raskin. ...
The first Macintosh computer, introduced in 1984, upgraded to a 512K Fat Mac. ...
GUI can refer to the following: GUI is short for graphical user interface, a term used to describe a type of interface in computing. ...
Ken Thompson (left) with Dennis Ritchie (right) Dennis MacAlistair Ritchie (born September 9, 1941) is a computer scientist notable for his influence on ALTRAN, B, BCPL, C, Multics, and Unix. ...
The C Programming Language, Brian Kernighan and Dennis Ritchie, the original edition that served for many years as an informal specification of the language The C programming language (often, just C) is a general-purpose, procedural, imperative computer programming language developed in the early 1970s by Dennis Ritchie for use...
Unix or UNIX is a computer operating system originally developed in the 1960s and 1970s by a group of AT&T Bell Labs employees including Ken Thompson, Dennis Ritchie, and Douglas McIlroy. ...
The waterfall model is a software development model (a process for the creation of software) in which development is seen as flowing steadily downwards (like a waterfall) through the phases of requirements analysis, design, implementation, testing (validation), integration, and maintenance. ...
Mary Shaw (1854-1929) was a American suffragette, early feminist, playwright and actor. ...
The Parthenon on top of the Acropolis, Athens, Greece Architecture (from Latin, architectura and ultimately from Greek, αÏÏιÏεκÏÏν, a master builder, from αÏÏι- chief, leader and ÏεκÏÏν, builder, carpenter) is the art and science of designing buildings and structures. ...
Richard Matthew Stallman (frequently abbreviated to RMS) (born March 16, 1953) is the founder of the free software movement, the GNU Project, and the Free Software Foundation. ...
The Free Software Foundation logo The Free Software Foundation (FSF) is a non-profit organization founded in October 1985 by Richard Stallman to support the free software movement (free as in freedom), and in particular the GNU project. ...
Linus Benedict Torvalds (born December 28, 1969 in Helsinki, Finland) is a Finnish software engineer best known for initiating the development of Linux. ...
Linux (also known as GNU/Linux) is a Unix-like computer operating system. ...
This article is about Free Software as defined by the sociopolitical Free Software movement; for information on software distributed without charge, see freeware. ...
Open source software refers to computer software available with its source code and under an open source license. ...
Gerald Marvin Weinberg is an author and teacher of the psychology and anthropology of computer software development. ...
A formal specification is a mathematical description of software or hardware that may be used to develop an implementation. ...
Edward Yourdon is a computer consultant, author, and lecturer and a recognised pioneer in a software engineering methodology - structured programming. ...
Structured programming can be seen as a subset or subdiscipline of procedural programming, one of the major programming paradigms. ...
This is a list of programmers notable for their contributions to software, either as original author or architect, or for later additions. ...
. ...
A list of the wealthiest and/or most influential people in software. ...
Notable publications - About Face by Alan Cooper, about user interface design. ISBN 0-76452641-3
- The Capability Maturity Model by Watts Humphrey. Written for the Software Engineering Institute, emphasizing management and process. (See Managing the Software Process ISBN 0-201-18095-2)
- The Cathedral and the Bazaar by Eric Raymond about open source development.
- The Decline and Fall of the American Programmer by Ed Yourdon predicts the end of software development in the U.S. ISBN 0-13-191958-X
- Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. ISBN 0-201-63361-2
- Extreme Programming Explained by Kent Beck ISBN 0-32127865-8
- "Go To Statement Considered Harmful" by Edsger Dijkstra.
- The Mythical Man-Month by Fred Brooks, about project management. ISBN 0-201-83595-9
- Object-oriented Analysis and Design by Grady Booch. ISBN 0-8053-5340-2
- Peopleware by Tom DeMarco and Tim Lister. ISBN 0-932633-43-9
- Principles of Software Engineering Management by Tom Gilb about evolutionary processes. ISBN 0-201-19246-2
- The Psychology of Computer Programming by Gerald Weinberg. Written as an independent consultant, partly about his years at IBM. ISBN 0-932633-42-0
- Refactoring: Improving the Design of Existing Code by Martin Fowler, Kent Beck, John Brant, William Opdyke, and Don Roberts. ISBN 0-201-48567-2
See also Pink Floyd guitarist and vocalist David Gilmours second solo album entitled About Face was released in March of 1984 in both the U.S. and UK. The album reached #32 in the U.S. and was certified Gold by the RIAA. The album was co-produced by Bob Ezrin...
Alan Cooper, an advocate of interaction design, runs a design company and writes books about how to make software user interfaces more usable. ...
Watts Humphrey is a key thinker in the discipline of the management of software development. ...
The Software Engineering Institute (SEI) is a federally funded research and development center sponsored by the U.S. Department of Defense and operated by Carnegie Mellon University. ...
The Cathedral and the Bazaar (abbreviated CatB) is an essay by Eric S. Raymond on software engineering methods, based on his observations of the Linux kernel development process and his experiences managing an open source project, fetchmail. ...
Eric S. Raymond Eric Steven Raymond (born December 4, 1957) (often referred to by his initials, ESR) is the author of The Cathedral and the Bazaar and the present maintainer of the Jargon File (also known as The New Hackers Dictionary). Though the Jargon File established his original reputation...
Edward Yourdon is a computer consultant, author, and lecturer and a recognised pioneer in a software engineering methodology - structured programming. ...
Design Patterns (ISBN 0201633612) is a computer science book proposing standard solutions and naming conventions to common problems in software design. ...
Erich Gamma is one of the four authors (Gang of Four) of the seminal Design Patterns book. ...
Richard Helm is one of the four authors of Design Patterns. ...
Ralph E. Johnson is co-author of the influential Computer science textbook, Design Patterns. ...
John M. Vlissides (?? - 24 November 2005) was one of the four authors (refered to as the Gang of Four) of the book Design Patterns: Elements of Reusable Object-Oriented Software. ...
Kent Beck is the creator of Extreme Programming and is one of the founders of the Agile Manifesto. ...
Portrait of Edsger Dijkstra (courtesy Brian Randell) Prof Dr Edsger Wybe Dijkstra (Rotterdam, May 11, 1930 â Nuenen, August 6, 2002) was a Dutch computer scientist. ...
Book cover The Mythical Man-Month: Essays on Software Engineering is a classic book on software project management written by Fred Brooks. ...
Frederick Phillips Brooks, Jr. ...
Grady Booch is a software designer, a software methodologist and a Design Pattern enthusiast. ...
Peopleware - Productive Projects and Teams is a popular 1987 book, written by software consultants Tom Demarco and Timothy Lister, on the inside world of software developing teams, written in a manner in a manner such as to highlight the real-world conflicting natures between individual work perspective and corporate ideology. ...
Tom DeMarco is a well-known author, teacher, and speaker on software engineering topics. ...
Tom Gilb (born 1940) in Pasadena, California, is the author of 9 books and has at least 4 more drafted. ...
Gerald Marvin Weinberg is an author and teacher of the psychology and anthropology of computer software development. ...
Martin Fowler is an author and a famous international speaker on software architecture, specializing in object-oriented analysis and design, UML, Patterns, and agile software development methodologies, including Extreme Programming. ...
Kent Beck is the creator of Extreme Programming and is one of the founders of the Agile Manifesto. ...
John Brant may refer to: John Brant or Tekarihogen (1794-1832), the son of Joseph Brant (Thayendanegea) John Brant, an author on the subject of software architecture This human name article is a disambiguation page â a list of pages that might otherwise share the same title, which is a person...
William Opdyke is a professor of computer science and a co-author of Refactoring (book). ...
Don Roberts at WAVY-TV. Don Roberts is an anchor at the Hampton Roads NBC affiliate, WAVY-TV. He co-anchors alongside Kerri Furey and Meteorologist Jon Cash during Wavy News 10 Today and Wavy News 10 Midday. ...
This is a list of important publications in computer science, organized by field. ...
Professional topics There are a lot of software engineers. ...
Software engineering economics is the economics of the software industry. ...
Software engineering has evolved steadily from its founding days in the 1940s until today in the 2000s. ...
For many years, software engineering has been trying to be a profession. ...
Ethics (from Greek á¼¦Î¸Î¿Ï meaning custom) is the branch of axiology, one of the four major branches of philosophy, which attempts to understand the nature of morality; to distinguish that which is right from that which is wrong. ...
How to obtain a amature radio licence differs from country to country. ...
In law, intellectual property (IP) is an umbrella term for various legal entitlements which attach to certain types of information, ideas, or other intangibles in their expressed form. ...
Consumer protection is government regulation to protect the interests of consumers, for example by requiring businesses to disclose detailed information about products, particularly in areas where safety or public health is an issue, such as food. ...
Odds and ends Related fields Information technology (IT)[1] is a broad subject concerned with technology and other aspects of managing and processing information, especially in large organizations. ...
Engineering is the application of scientific and technical knowledge to solve human problems. ...
The examples and perspective in this article or section may not represent a worldwide view. ...
This article treats electronics engineering as a subfield of electrical engineering, though this is not typical use in some areas. ...
Software engineering (SE) is the profession of people who create and maintain software systems by applying technologies and practices from computer science, project management, engineering, application domains and other fields. ...
Domain engineering, also called product line engineering) is the entire process of reusing domain knowledge in the production of new software systems. ...
An Engineering approach to the study of information: its principles technologies, networks, systems, services, and applications to create value for mankind through developing and building systems based on Information Technology(IT). ...
The process of building knowledge-based systems is called knowledge engineering (KE). ...
User interface engineering is the engineering of the user interface. ...
Web engineering deals with design, development and implementation of large-scale Web applications. ...
The Arts is a broad subdivision of culture, comprised of many expressive disciplines. ...
Science in the broadest sense refers to any knowledge or trained skill, especially (but not exclusively) when this is attained by verifiable means. ...
Euclid, a famous Greek mathematician known as the father of geometry, is shown here in detail from The School of Athens by Raphael. ...
Computer science is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. ...
Information science or informatics is the science of information. ...
Application software is a loosely defined subclass of computer software that employs the capabilities of a computer directly to a task that the user wishes to perform. ...
Information Systems is the discipline concerned with the development, use, application and influence of information systems. ...
Computer programming (often simply programming) is the craft of implementing one or more interrelated abstract algorithms using a particular programming language to produce a concrete computer program. ...
Different languages - In Arabic , software engineering is called هندسة البرمجيات
- In Chinese, software engineer is called ruan jian gong cheng shi —— 软件工程师
- In French, software engineering is called Génie logiciel.
- In German, software engineering is called Softwaretechnik.
- In Norwegian, software engineering is called Programvareutvikling.
- In Spanish, software engineering is called Ingeniería del software,
- In Portuguese, software engineering is called Engenharia de software,
Arabic can mean: From or related to Arabia From or related to the Arabs The Arabic language; see also Arabic grammar The Arabic alphabet, used for expressing the languages of Arabic, Persian, Malay ( Jawi), Kurdish, Panjabi, Pashto, Sindhi and Urdu, among others. ...
Miscellaneous and to do For the Computer Science term, see Computational complexity theory. ...
The software brittleness problem is a consequence of the well-known fact that computers carry out commands, rather than exhibiting intiative. ...
Second System Syndrome is a well-known organizational effect first described by Fred Brooks in his famous book, The Mythical Man-Month. ...
Look up engineer in Wiktionary, the free dictionary. ...
It has been suggested that Loop optimization be merged into this article or section. ...
Source code escrow means deposit of the source code of the software into an account held by a third party escrow agent. ...
Feature interaction occurs when one (software) feature modifies or subverts the operation of another one. ...
Certification is a contentious issue. ...
See also The Software Engineering Body of Knowledge (SWEBOK) is a product of the Software Engineering Coordinating Committee. ...
The Software Engineering 2004 (SE2004) —formerly known as Computing Curriculum Software Engineering (CCSE)— is a document that provides recommendations for undergraduate education in software engineering. ...
This is a list of the origins of computer-related terms (i. ...
External links - Professional Organizations
- Professionalism
- SE Code of Ethics
- Professional licensing in Texas
- Education
- Standards
- Government organizations
- Agile
- Other Organizations
- Online community for software engineers
- Demographics
- Surveys
- Other
- Full text in PDF from the NATO conference in Garmisch
- Computer Risks Peter G. Neumann's risks column.
|