Complete Visualizing Technology Chapter 12: Program Development
Software Development Kit (SDK)
A bundle of libraries and tools that are developed for a particular platform.
Integrated Development Environment (IDE)
A complete system for developing software, typically consisting of: a code editor, one or more compilers, one or more SDKs, and a debugger.
Fourth Generation Language (4GL)
A computer language that is designed to be closer to natural language than 3GLs. Some programming knowledge is still needed to work effectively with 4GLs. Many 4GLs are used to access databases.
Flowchart
A graphic view of the algorithm. Uses arrows to show direction and other symbols to show actions and data.
First Generation Language (1GL)
A machine language written in binary that can be understood by a computer. Takes a lot of effort to debug.
Joint Application Development (JAD)
A more collaborative process that the SDLC and involves the end user throughout the design and development of the project through a series of JAD sessions.
Compiler
A program that converts the programming code into machine language the computer can read and execute.
Client-Side Program
A program that runs on the client computer. The client must have the proper browser and plug-ins to execute scripts.
Assembly Language
A programming language that is written with statements closer than machine language to what humans speak, and so has to be converted into a machine language by an assembler before the computer can execute it.
Machine language
A programming language written in binary that can be understood by a computer.
Computer Program
A sequence of instructions for a computer to follow, written in a language that the computer can understand, and includes any data the computer needs to perform the instructions.
Program Development Cycle
A set of five steps that a programmer follows to create a computer program. A cycle because the steps can be iterative- which means the programmer may go back and repeat them throughout the process. Defining the problem, designing the solution, coding, debugging, testing and documentation.
Fifth Generation Language (5GL)
A system that allows the user to work with it without actually writing code. 5GLs are primarily used in artificial intelligence applications and in combination with Platform-as-a-Service (PaaS) application development.
Neural Network
A system that simulates human thinking by emulating the biological connections -or neurons- of the human brain.
Logic Error
An error in programming logic that results in an unexpected outcome.
Agile Devlopment
An incremental and iterative process that uses short iterations or sprints, with the project team stopping and reevaluating the direction of a project every two weeks.
Rapid Application Development (RAD)
An iterative process that uses prototyping and user testing of the designs.
Platform-as-a-Service (PaaS)
An online programming environment used to develop, test, and deploy custom applications.
Control Structure
Are used to show the logic and the flow of the data processing. Sequence (executing lines of code one after another), selection ( determining with lines of code to execute based on certain conditions being met), loop ( repeating certain lines of code a specified number of times).
Second Generation Language (2GL)
Assembly language written with statements closer to what humans speak and has to be converted into machine language by an assembler before the computer can execute it. Difficult to use for large applications.
Expert System
Computer programmed to make decisions in real-life situations.
Data Flow Diagram (DFDs)
Created to show the flow of data through the current system and to highlight the system's deficiencies.
Object-Oriented Programming
Defines objects and the actions or methods tat can be preformed on them.
Syntax Rules
Defines the correct construction of commands in a programming language.
Software Developer
Designs and writes computer programs.
Syntax Error
Errors in the way code is written.
Pseudocode
Expresses the steps of an algorithm, using English-like statements that focus in logic, not syntax.
System Development Life Cycle (SDLC) (Waterfall Approach)
Follows the system over time from inception to retirement or replacement. Consists of five phases: planning, analysis, design, implementing and testing, maintenance.
Micropayments
In-app purchases: Charge for additional lives, levels, or other features from within the app. Usually in small amounts.
Feasibility Study
Involves several steps, including the creation of the terms of reference (project charter), which state the objectives and scope of the project the timeline for the project, risks, participants, deliverables, and budget.
Stakeholder
Is someone who has an interest in and will be affected by the successful completion of a project, such as a manager, owner, user, a security professional, telecommunications staff, software developer.
Project Manager (PM)
Leader of the project team.
Third generation language (3GL)
Most modern programming languages. Both procedural and object-oriented programming languages fall in this category. A compiler is needed to convert the code into machine language the computer can understand and execute
Runtime Error
Occurs when the program is running and data or a command that is entered causes it to crash.
Beta Testing
Once a program has been debugged, it needs to be tested under actual workings conditions.
Fuzzy Logic
Recognizes that not everything can be broken down to a true or false answer.
Server-Side Program
Runs on a web server.
Algorithm
Set of steps to solve a problem.
Macro
Small program used to automate tasks in applications like Word and Excel.
Artificial Intelligence (AI)
The branch of science concerned with making computers behave like humans.
Information System
The people, hardware, and software that support data-intensive applications such as financial accounts, human resources, and other business transactions.
Computer Programming (Coding)
The process of converting an algorithm in to instructions the computer can understand. Accomplished using two models:procedural programming, or object-oriented programming.
Debugging
The process of detecting and fixing errors, or bugs, in a computer program.
Procedural Programming
Uses a step-by-step list of instructions
Green Code
Written to be efficient so the program runs on the hardware with minimal impact.