Preview lessons, content and tests

Computer Science & Programming solved. All in one platform.

1. To trial the platform and take tests, please take a few seconds to SIGN UP and SET UP FREE.
2. Searching for something specific? See our text overview of all tests. Includes 'real teacher' use videos.

Software Deployment

The deployment of a mechanical device, electrical system, computer program, etc., is its assembly or transformation from a packaged form to an operational working state. Deployment implies moving a product from a temporary or development state to a permanent or desired state.


• A product release is the process of launching a new product for a specific market or user base.

• In software development, a product release is sometimes done with a beta version so that core developers/users can assist with debugging and feedback prior to the release of the actual software.


• An update is a software file that contains fixes for problems found by other users or the software developer.

• Installing an update fixes the code and prevents the problems from happening on your computer.

• Because updates fix problems with a program, they are almost always free and available through the program or the companies website.


• A patch is a software update comprised code inserted (or patched) into the code of an executable program.

• Typically, a patch is installed into an existing software program.

• Patches are often temporary fixes between full releases of a software package.

• Patches may do any of the following:

– Fix a software bug

– Install new drivers

– Address new security vulnerabilities

– Address software stability issues

– Upgrade the software

How to get updates 

Manually (download and install them yourself) – Pro: Full control – Con: Time consuming • Automatically (software automatically contacts the developer, downloads and installs any updates) – Pro: Don’t have to think/worry about updates, always up to date – Con: No control – bad update might crash the system

Agile development

• Agile software development describes an approach to software development under which requirements and solutions evolve through the collaborative effort of selforganizing and cross-functional teams and their customers/end users. • It advocates adaptive planning, evolutionary development, early delivery, and continual improvement, and it encourages rapid and flexible response to change.