CIS ch. 13, 15, 16
application life cycle management (ALM)
a broad term to describe complete systems that can be used to create and manage an application throughout it's entire life cycle -- from design through retirement
high-level language
a class of programming languages that is closer to natural language and easier to work with than a low-level language
fourth-generation language (4GL)
a class of programming languages that is closer to natural language and is easier to work with than high-level languages
low-level language
a class of programming languages that is highly detailed and machine dependent
government database
a collection of data about people that is collected and maintained by the government
marketing database
a collection of data about people that is stored in a large database and used for marketing purposes
integrated development environment (IDE)
a collection of tools used with a particular programming language to develop and text software programs
source code
a computer program before it's compiled
iterative development
a cyclical approach that allows the repetition of steps and tasks as needed
ruggedized device
a device (portable computer or mobile phone) that is designed to withstand much more physical abuse than its conventional counterpart
uninterruptible power supply (UPS)
a device containing a built-in battery that provides continues power to a computer and other connected components when the electricity goes out
surge compressor
a device that protects hardware from damage due to electrical functions
patent
a form of protection for an invention that can be granted by the government; gives exclusive rights of an invention to its inventor for 20 years
self-encrypting hard drive
a hard drive that uses full disk encryption
FORTRAN
a high-level language used for mathematical, scientific, and engineering applications
COBOL
a high-level programming language developed for transaction processing applications
C
a high-level structured programming language that has the execution efficiently of an assembly language
Java
a high-level, object-oriented programming language frequently used for web applications
python
a high-level, open source, dynamic, object-oriented programming language that can be used to develop a wide variety of applications
dart
a high-level, open source, object-oriented programming language developed by Google and designed to replace JavaScript in web applications
ruby
a high-level, open source, object-oriented programming language that is often used to develop web applications
compiler
a language translator that converts an entire program into machine language before executing it
interpreter
a language translator that converts program statements line-by-line into machine language, immediately executing each statement
machine language
a low-level programming language in which the program code consists of 0s and 1s
assembly language
a low-level programming language that uses names and other symbols to replace some of the 0s and 1s in machine language
variable
a named memory location defined in a computer program that is used to store the current value of a data item used in that program
C++
a newer, object-oriented version of the C programming language
control structure
a pattern for controlling the flow of logic in a computer program, module, or method
privacy policy
a policy, commonly posted on a company's webs site, that explains how personal information provided to that company will be used
flowchart
a program design tool that graphically shows step-by-step the actions a computer program will take
pseudocode
a program that uses English-like statements to outline the logic of a program
logic error
a programming error that occurs when running a program produces incorrect results
syntax error
a programming error that occurs when the programmer has not followed the rules of the programming language
software development kit (SDK)
a programming package designed for a particular platform that enables programmers to develop application for that platform more quickly and easily
macro
a sequence of saved actions (ex. keystrokes, mouse clicks, menu selections)
repetition control structure
a series of statements in a loop that are repeated until a particular condition is met
selection control structure
a series of statements in which the results of a decision determine the direction the program takes
sequence control structure
a series of statements that follow one another
application program interface (API)
a set of commands, functions, and protocols used by programmers when building software for a particular operating system (or apps to interface with a particular web site)
infinite loop
a set of instructions that repeat forever
unified modeling language (UML)
a set of standard notions for creating business models; widely used for modeling object oriented programs
programming language
a set of words, rules, symbols, and codes used to write computer programs
language translator
a software program that converts source code to object code
pascal
a structured, high-level programming language often used to teach structured programming, especially appropriate for use in math and science applications
digital watermark
a subtle alteration of digital content that is not noticeable when the work is viewed or played but that identifies the copyright holder
full disk encryption (FDE)
a technology that encrypts everything stored on a storage medium automatically, without any user interaction
email filter
a tool that automatically sorts your incoming email messages based on specific criteria
visual basic
a version of BASIC programming language that uses a visual programming environment and supports object-oriented programming
wireframe
a visual representation of the overall design and logic of an app or web site
trademark
a word, phrase, or symbol that identifies goods or services
case control structure
allows for as many possible results of the specified condition as needed
object-oriented programming (OOP)
an approach to program design in which a program consist of objects that contain data (attributes) and processes (methods) to be used with those objects
procedural programming
an approach to program design in which a program is separated into small modules that are called by the main program or another module when needed
aspect-oriented programming
an approach to program design in which different functions are clearly separated so program components can be developed and modified independently from one another, and the components can be easily reused with separate, non related objects
agile software development (ASD)
an approach to program design that uses short development cycles in order to produce small functional pieces of a program on an ongoing basis
BASIC
an easy to learn, high level programming language that was developed to be used by beginging programmers
throw away email address
an email adress used only for nonessential purposes and activities that may result in spam; the address can be disposed and replaced if spam becomes an issue
spam filter
an email filter used to redirect spam from a users inbox
computer hoax
an inaccurate statement or story spread through the use of computers
inherits
automatically posses
structured programming
breaks program into very small modules of code that perform a single task and prohibiting the use of GOTO statements
aspects
code segments that can be used as needed without having to repeat the code throughout the program
assembler
converts assembly language statements into machine language
adaptive software developments
designed to make program development faster or more efficient and focus on adapting the program as it is being written
incremental development
developing one piece at a time
spaghetti code
disorganized, jumble of statements making it difficult to follow
decision symbol
indicates two paths that can be taken depending on whether the result is true or false
configuration management
keeping track of the progress of a program development project
employee monitoring
observing employees while on the job
programmer
person who writes test, and maintains computer programs
interpretors
reads, translates, and executes the source code one line at a time as the program is run, every time the program is run
issue tracking
recording issues (bugs or other issues that come up during program development
procedures
small sections of program code also called modules or subprograms
computer monitoring software
software that can be used to record an individuals computer usage, such as capturing images of the screen, recording the keystrokes used, or creating a summary of websites and programs accessed
digital rights management (DRM) software
software used to protect and manage the rights of creators of digital content (art, music, photographs, and movies)
presence technology
technology that enables one computing device (such as computer or mobile device) to locate and identify the current status of another device on the same network
cybersquatting
the act of registering a domain name with the intent to profit from the goodwill of a trademark belonging to someone else
system failure
the complete malfunction of a computer system
copyright
the legal right to sell, publish, or distribute an original art; it is held by the creator of a work as soon as it exists in physical form
intellectual property rights
the legal rights to which original creative works are entitled (inventions, art, literacy, logos, etc)
object code
the machine language version of computer program generated when the programs source code is compiled
C#
the newest, object-oriented version of the C programming language
programming coding
the phase of the program development life cycle in which the program code is written using a programming language
program implementation and maintenance
the phase of the program development life cycle in which the program is implemented and then maintained, as needed, to remain useful
program design
the phase of the program development life cycle in which the program specifications are expanded into a complete design of the new program
program debugging and testing
the phase of the program development life cycle that ensures a program is correct and works as intended
problem analysis
the phase of the program development life cycles in which the problem is carefully considered and the program specifications are developed
program development life cycle (PDLC)
the process containing the five phases of program development; analyzing, designing, coding, debugging and testing, and implementing and maintaining application software
program development
the process of creating application programs
debugging
the process of ensuring a program is free of errors
coding
the process of writing the programming language statements to create a computer program
information privacy
the rights of individuals and companies to control how information about them is collected and used
software piracy
the unauthorized copying of a computer program
digital counterfeiting
the use of computers or other types of digital equipment to make illegal copies of currency, checks, collections, and other items
opt in
to request to be included from marketing activities or that your information be shared with other companies
opt out
to request to be removed from marketing activities or that your information not be shared with other companies; procedures are confusing and time-consuming, and they do not always work well
developer documentation
tools that may be useful when a programmer needs to look at or modify the program code in the future
spam
unsolicited, bulk email sent over the internet
electronic profiling
using electronic means to collect in-depth info about an individual, such as name, address, income, and buying habits
desk check
when a programmer walks though the program design