Glossary » Software Engineering
prototyping theatre
a puppet show approach to prototyping and user testing. User interface elements, such as screens and widgets are held up in the theatre, by hand or with sticks, to demonstrate how the screen works. Multiple puppeteers are needed for complex…
Read more »psychology of programming
PoP; the study of how programmers create software, including such topics as learning a programming language, planning a program, how language features affect coding time and accuracy, and how programmers isolate and repair bugs.
In addition to understanding basic principles…
Read more »RAD
a Rapid Application Development tool. These are tools, such as Visual Basic and Delphi, which are designed to make developing software applications a faster process, usually by focusing on the design of the user interface in terms of screen layout…
Read more »rapid prototyping
quickly generating mockups of what a system will look like. Rapid prototyping may be done with paper prototyping methods, such as with quick sketches, or with techniques like video prototyping or wizard of oz prototyping. Rapid prototyping systems are software…
Read more »replicated architecture
an architecture for distributed applications that uses identical copies of software running at each users station with identical views of the application for each user.
Read more »resource bundle
the portion of a piece of software that holds application data (but not user data) separate from the program itself. Typical resources include icons, window positions, dialog box definitions, program text, and menus. The resource bundle is a convenient way…
Read more »robot
a piece of software that actively browses the web, retrieving and analyzing documents, usually used to collect and index documents for search engines.
Read more »rough
(graphic design) a rapidly-drawn sketch, larger and more detailed than a thumbnail sketch, but less refined and precise than a comp, used to explore visual possibilities in design.
Read more »sccs
source code control system or version control system (vcs) or revision control system (rcs); a software application designed to help coordinate document modifications and updates among a group of people (especially coordinating updates to software source code). Source code control…
Read more »screen scaping
converting a character-based user interface to a graphical user interface by capturing the output of a character-based system and doing a surface-level transformation into the GUI. This is a simpler approach to upgrading a legacy system than reimplementing it, but…
Read more »script
(multimedia) a specification used to generate a multimedia presentation. The script contains all the details of each shot and scene, usually along with a storyboard. The script contains drafts of all text, graphics, and other media and their timing, interaction,…
Read more »separable user interface
a user interface implementation that allows the user interface to be modified without modifying the backend code, and vice versa.
Read more »serialization
the process of strictly ordering events. When two users perform actions that are dependent on each other, it is crucial to decide in what order those actions occurred and to impose the same ordering in the view of each user.…
Read more »shared window system
a system that allows a single-user application to be shared among multiple users without modifying the original application. Such a system shows identical views of the application to the users and combines the input from the users or allows only…
Read more »skins
alternative look and feel for the same application that can be swapped by the user, especially window styles and button styles, enabling highly personalized artistic styles in the user interface. Sometimes called chrome.
Read more »Smalltalk
One of the earliest object-oriented programming languages, Smalltalk was unique in its tight integration with a graphical user interface. Smalltalk-80 is the best-known version, which has been a dramatically significant influence on every object-oriented system afterwards. Smalltalk is known for…
Read more »software crisis
the problem that software engineering techniques are not fully keeping pace with the demands being made on software, thus creating a situation where modern complex computer systems are extremely fragile: unreliable, insecure, and full of bugs. The problem has many…
Read more »software monitor
a piece of software that tracks user activity to understand the actual usage of an application or to keep track of actions during user testing. Typically, it records user events, such as keystrokes and mouse clicks, and may record higher-level…
Read more »spider
a program that downloads web pages and follows links to explore every web page it can find, usually with the goal of indexing every web page for a search engine, but also used to do other forms of research and…
Read more »spiral model
a classic approach to project management. The spiral model is an iterative approach that begins by developing basic requirements, building small simple prototypes, evaluating those prototypes, and then expanding into refined requirements and consecutively larger prototypes, until a complete deliverable…
Read more »sprite
an operating system capability that allows programmers to easily create independent graphical objects (“sprites”) that can move around the screen. A sprite automatically handles redrawing areas of the screen that it crosses over, saving the programmer from worrying about updating…
Read more »state machine diagram
a visual representation of a series of “states” and transitions between those states, useful for modeling a wide variety of simple programming problems. Also called a “state transition diagram” or “transition network”.
Read more »storyboard
a series of illustrations that represent a process, such as the steps of interacting with a computer or frames from an animation or movie. Storyboards are useful for presentations, such as with focus groups, and for checking that the steps…
Read more »struts and springs
a graphical way of representing layout constraints, used in some UIMS to handle the layout specifications for widgets. Struts and springs allow a programmer to specify minimum and maximum widths, proportions of the screen, alignment, and so forth.
Read more »syntax-directed editor
a text editor, used primarily for writing software, that automatically formats the program code for readability based on its knowledge of the structure (the syntax) of the program. It may also simplify entering information by enabling the programmer to quickly…
Read more »