TTY CH:14
software engineering
A branch of computer science that applies engineering principles and techniques to the world of computer software.
data dictionary
A catalog, or directory, that describes all the data flowing through a system.
information system
A collection of people, machines, data, and methods organized to accomplish specific functions and to solve specific problems. Programming is part of the larger process of designing, implementing, and managing an information system.
C
A complex computer language invented at Bell Labs in the early 1970s as a tool for programming operating systems such as UNIX; now one of the most widely used programming languages.
pseudocode
A cross between a computer language and plain English, a form that programmers typically use to write algorithms before translating them into computer language.
computer science
A discipline that focuses on the process of computing through several areas of specialization, including theory, algorithms, data structures, programming concepts and languages, computer architecture, management information systems, artificial intelligence, and software engineering.
system flowchart
A graphical depiction of the physical system that exists or is proposed, such as to show the relationship among programs, files, input, and output in a system.
Assembly language
A language that is functionally equivalent to machine language but is easier for people to read, write, and understand. Programmers use alphabetic codes that correspond to the machine's numeric instructions.
prototype
A limited working system or subsystem that is created to give users and managers an idea of how the complete system will work.
end user
A person who uses the information system directly or uses the information produced by the system.
Java
A platform-neutral, object-oriented programming language developed by Sun Microsystems for use on multiplatform networks.
systems development
A problem-solving process of investigating a situation; designing a system solution to improve the situation; acquiring the human, financial, and technological resources to implement the solution; and finally evaluating the success of the solution.
assembler
A program that translates each assembly-language instruction into a machine-language instruction.
high level language
A programming language that falls somewhere between natural human languages and precise machine languages, developed to streamline and simplify the programming process.
systems development life cycle (SDLC)
A sequence of seven steps or phases through which an information system passes between the time the system is conceived and the time it is phased out.
algorithm
A set of step-by-step instructions that, when completed, solves a problem.
data flow diagram
A simple graphical depiction of the movement of data through a system.
applet
A small compiled program designed to run inside another application—typically a Web browser.
query language
A special language for performing queries, more precise than the English language.
programming
A specialized form of problem solving, typically involving the four steps of defining the problem; devising, refining, and testing the algorithm; writing the program; and testing and debugging the program.
end user development
A systems development approach in which a project team comprising only of end users develops many small-scale systems without the direct involvement of a professional systems analyst.
decision table
A table that shows, in a row/column format, the decision rules that apply and what actions to take when certain conditions occur.
structured programming
A technique to make programming easier and more productive. Structured programs are built from smaller programs, called modules or subprograms, that are in turn made of even smaller modules.
interpreter
A translation program that translates and transmits each source code statement individually into machine language.
Compiler
A translator program that translates an entire program from a high-level computer language before the program is run for the first time.
scripting language
A user-oriented language that enables users to create programs (macros) that automate repetitive tasks; also known as macro languages.
macro language
A user-oriented language that enables users to create programs (macros) to automate repetitive tasks; also known as scripting languages.
C++
A variation of the C programming language that takes advantage of a modern programming methodology called object-oriented programming.
syntax error
A violation of a programming language's grammar rules.
management information system (MIS)
Also known as a management reporting system, a system that gives a manager the information he or she needs to make decisions, typically structured decisions, regarding the operational activities of the company.
logic error
An error in the logical structure of a program that makes a difference between what the program is supposed to do and what it actually does.
systems analyst
An information technology professional primarily responsible for developing and managing the system.
prototyping
An iterative process in which the systems analyst can modify the prototype until it meets the needs and expectations of the organization.
Which of the following is NOT a high-level programming language?
Assembly Language
____________ is a low-level language and is functionally equivalent to machine language.
Assembly language
Two programming tools designed specifically for programming for the cloud are ____________.
Bloom and Mirage
stepwise refinement
Breaking programming problems into smaller problems, and breaking each smaller problem into a subproblem that can be subdivided in the same way.
machine language
The language that computers use to process instructions. Machine language uses numeric codes to represent basic computer operations.
data structure
The organization of data elements used together.
testing
The process of checking the logic of an algorithm and the performance of a program.
____________ is the first computer language designed for developing business software.
COBAL
computer aided systems engineering (CASE)
Commercially available software packages that typically include charting and diagramming tools, a centralized data dictionary, a user interface generator, and code generators.
program verification
The process of proving the correctness of a program.
A compiler is used to translate high-level programs to machine language.
True
Database management, graphics, artificial intelligence, and networks are examples of specializations within the field of computer science.
True
It is impossible to eliminate 100 percent of bugs in commercial software.
True
Logic errors are caused by errors in the logical structure, which results in differences between what the program is supposed to do and what it actually does.
True
Coding
Writing a program from an algorithm.
When converting to a new system, which approach simply replaces the old system with the new system?
Direct cutovers
____________ is the best-known agile model of program development.
Extreme programming
Assembly language makes it easy to reuse features from one program in another program.
False
The programming process is called an algorithm.
False
____________ is a page description language for Web pages.
HTML
module
In structured programming, a program is built from smaller programs called modules.
subprograms
In structured programming, a program is built from smaller programs called subprograms.
alpha testing
Initial testing of a system; also called "pre-beta testing."
____________ is a programming language designed specifically for children.
LOGO
control structures
Logical structures that control the order in which instructions are carried out.
aspect oriented programming
Newer paradigm that separates each object's features into separate programs that overlap in functionality as little as possible.
visual programming
Programming featuring tools that enable programmers to create large portions of their programs by drawing pictures and pointing to on-screen objects, eliminating much of the coding of traditional programming.
object oriented programming (OOP)
Programming in which a program is not just a collection of step-by-step instructions or procedures; it's a collection of objects. Objects contain both data and instructions and can send and receive messages.
Which of the following techniques is used by programmers to write algorithms in English-like statements to allow for easier coding?
Pseudocode
component software
Software designed in small, independent units (components) that can be plugged into applications and operating systems to add features as needed.
beta testing
Testing of almost-finished software by potential end users.
computer architecture
The branch of computer science that deals with the way hardware and software work together.
fifth generation language (5GL)
The fifth generation of programming languages (after machine, assembly, high-level languages, and fourth generation), it is a constraint-driven language. Instead of specifying an algorithm, the programmer defines the conditions that need to be met and the computer solves the problem. 5GLs are not widely used outside of research labs.
fourth generation languages (4GLs)
The fourth generation of programming languages (after machine, assembly, and high-level languages), which use English-like phrases and sentences to issue instructions, are nonprocedural, and increase productivity.
A(n) ____________ is a set of step-by-step instructions that solve a problem.
algorithm
top
down design-A design process that starts at the top, with main ideas, and works down to the details.
The person who uses information systems directly or uses the information produced by a system is called a(n) ____________.
end user
A structured program is built of smaller programs called ____________.
modules
Visual programming languages, such as Visual Basic, make programming easier for ____________.
nonprogrammers
A(n) ____________ makes it possible for users to request information from a database using English-like questions.
query language