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.

Join 30000+ teachers and students using TTIO.

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.