Browse Definitions by Topic

Release

Release -  a launch of the program/code/library - ready-to-use product. Usually it is a pre-tested version, ready to run by the end user.

Release Management

The goal of the release management process is to consolidate structures and optimise all changes, as well as reduce the risk of failure when updating the service to a new level.

To achieve this goal, it is necessary to properly allocate available resources.

The process of Release Management consists of three phases:

  1. Development phase: may not always be applicable to an organization, but for some companies this phase may be one of the most fundamental; for example, software development firms or design offices;
  2. Testing phase: at this stage it is necessary to determine the criteria for testing for each release, that is, the degree of determining the release readiness for distribution and implementation;
  3. Phase of distribution and implementation.

The Release Management process exists at every enterprise to some extent. Therefore, the main task of implementing this process is consolidation, structuring, and systematization of all available components, their addition, as well as a description of the procedures for implementing existing versions. This will further develop a number of so-called corporate standards for the composition of software and hardware for installation, which will further significantly simplify the implementation of related processes and reduce the employment of highly skilled professionals.

If the Release Management process is successfully and correctly implemented, users will receive:

  • Control over additional software licenses;
  • Training users and professionals to work in advanced systems, which will improve the quality of interaction with customers, and will be a protective action that promotes the advancement of new technologies;
  • Optimally distributed resources necessary for implementation;
  • Decrease occasion for risk, when making changes in the composition of information technology systems and the services themselves;
  • Optimization of repeated updates by time and cost, through their synchronization and automation;
  • Planned changes;
  • Cost planning for the implementation of certain updates.

There are several other definitions for release, not connected to the IT-industry. In general, the idea of permitting performance, publication, or discharge from obligations can also be termed as ‘release.’

Additional Terms
Agile Software Development
- an approach to software development focused on the use of iterative development. This involves the dynamic formation of requirements, and ensures their implementation, by constant interaction and transparency within organised groups of various specialists. There are several methods related to the class of agile development methodologies, in particular extreme programming, DSDM, Scrum, FDD. The main ideas People and interaction are more important than processes and tools; A working product is more important than exhaustive documentation; Cooperation with the customer is more important than agreeing on the terms of the contract; Readiness for change is more important than following the original plan. Most agile methodologies are aimed at minimizing risks by bringing development to a series of short cycles called iterations, which usually last two to three weeks. Each iteration looks like a software project in miniature and includes all the tasks necessary to produce a mini-increase in functionality: planning, requirements analysis, design, programming, testing and documentation. Although a single iteration is usually not enough to release a new version of the product, it is supposed that a flexible software project is ready for potential release at the end of each iteration. At this point, the team reassesses the development priorities. Agile methods emphasize direct face-to-face communication. Most agile teams are located in the same office. As a minimum, the team includes "product owners" (the customer or his or her authorized representative who defines the product requirements, which role can be performed by the project manager, business analyst or client). The team should also include testers, interface designers, technical writers and managers. The general concept of the Agile approach is fixed in the <a href="/agile-software-development/">Agile Manifesto</a>. The main metric of agile methods is the working product. Preferring direct communication, agile-methods reduce the amount of written documentation in comparison with other methods. Agile implementation leads to the flexibility of the developed software and provide the customer with the valuable, working program in the shortest period of time. It helps to test the business model on the real market and provide the solution as a skeleton working version, adding more and more features and beauty during the next sprints.
>>
Algorithm
is a sequence of instructions designed to perform specific actions. The algorithm, written in the machine language, with the help of computer facilities, is used to provide solutions to problems. In math and computer science, this is a clear specification of how to solve a class of tasks. This can perform data processing, calculations, and automated reasoning duties. Here are some examples: Search engines - these use special algorithms to collect the information in the internet and display to the user relevant results for a specific query from their search index. In programming, algorithms are commonly written as functions, which perform as small programs that can be used by a larger entity. For example, an image displaying application may include a library of special functions, each using a custom algorithm to render different file formats. The image editing program can contain algorithms designed to process and edit image data. Examples of such, include resizing, sharpening, cropping, blurring, color enhancement, and red-eye reduction. There are many ways to perform an operation in a software program. Developers often try to create the most efficient algorithm, by which programmers can ensure that their programs run fast and use minimal system resources. Of course not all algorithms are perfect for the first time. As a result, programmers improve existing algorithms and incorporate them into future software updates. When you see a new version of an "optimized" or "faster performance" software program, it means the new version includes more polished algorithms. Different definitions of an algorithm contain the following series of general requirements: Discreteness - an algorithm should represent the problem solving process as the sequential execution of some simple steps. At the same time, its each step requires a finite length of time. Determinateness. At each moment of time the next step of the work is uniquely determined by the state of the system. Clearness - an algorithm should include only those commands that are accessible to the executor and are included in its command system. Completeness - in the narrower sense of an algorithm as a mathematical function, with properly specified initial data, the algorithm must complete the work and produce the result in a certain number of steps. Massiveness (universality) - an algorithm should be applicable to different sets of initial data. Effectiveness - completion of an algorithm by certain results.
>>
API
(application programming interface) is a set of ready-made classes, procedures, functions, structures and constants provided by the application (library, service) or operating system for use in external software products. Programmers use this when writing all kinds of apps, in order to implement data exchange with external software in the most efficient manner. API as a way of app integration API defines the functionality that the program provides. If the program is treated as a control unit, then the API is a set of "knobs" that are available to the user and which he or she can tweak. Software components interact with each other through the API. In this case, components usually form a hierarchy - high-level components use APIs of low-level, and those in turn use APIs of lower-levels. API of operating systems. Problems related to API diversity. Almost all operating systems (UNIX, Windows, OS X, etc.) have an API, with which programmers can create applications for this operating system. The main API of operating systems is a number of system calls. In the software industry, common standard APIs for basic functionality have an important role, since they ensure that all programs that use the common API will work equally well, or at least in the usual way. In case of the GUI API, this means that the programs will have a similar user interface, which facilitates the process of mastering new software products. On the other hand, the differences in the APIs of different operating systems make it very difficult to transfer apps between platforms. However, there are various methods for circumventing this complexity - writing "intermediate" APIs (wxWidgets API API, GTK, etc.), writing libraries that display system calls of one OS to calls of another OS (runtime environments like Wine, cygwin and etc.), the introduction of coding standards in programming languages (for example, the standard C language library), writing of interpreted languages implemented on different platforms (perl, python, php, Java, etc.).
>>
Additional Terms of Programming
See more words
Internet of Things (IoT)
Internet of Things (IoT) is a concept of a network of physical objects ("things") equipped with built-in technologies for interaction with each other or with the environment, considering the organisation of such networks as a phenomenon capable of restructuring economic and social processes, excluding from the part of actions and operations the need for human participation. For 2018, the term "Internet of Things" extends not only to cyberphysical systems for "home" use, but also to industrial facilities. Means of identification The involvement in the IoT of objects of the physical world, not necessarily equipped with means of connection to data transmission networks, requires the use of technologies for the identification of these items ("things"), as all techs used for automatic identification can be used as such technologies: optical identifiers barcodes, Data Matrix, QR codes), means of locating in real time. With the comprehensive dissemination of the "Internet of things", it is essential to ensure the uniqueness of object identifiers, which, in turn, requires standardisation. Measuring A special role in the Internet of things is played by measurement tools that ensure the information transformation about the external environment into machine-readable data, and thereby fill the computing environment with meaningful information. A wide range of measuring tools is used, from elementary sensors (for example, temperature, pressure, illumination), consumption meters (such as smart meters) to complex integrated measuring systems. Data transmission The range of possible data transmission technologies covers all possible means of wireless and wired networks. For wireless data transmission, qualities such as efficiency at low speeds, fault tolerance, adaptability, and the possibility of self-organization play a particularly important role in building the "Internet of things". Among wired technologies, PLC solutions - technologies for building data transmission networks over transmission lines play an important role in penetrating the "Internet of things", as many applications have access to power networks (for example, vending machines, ATMs, smart meters, lighting controllers are initially connected to the network power supply).
>>
Operating System (OS)
Operating system (OS) - a set of interrelated programs designed to manage computer resources, such as CPU, memory, file storage, input / output (I / O) devices, user interaction, and network connection. Unlike most programs that terminate after completing the task, the OS continues to run and eventually shut down when the computer is turned off. A modern multiprocessing OS allows the execution of processes, each of which belongs to a "thread" of the calculation used to execute the program. One form of multiprocessing is called timesharing, which allows multiple users to access the computer by quickly switching between them. The most sensitive and important task for modern operating systems is to allocate the CPU; Each process is allowed to use the CPU for a limited period, which can be a fraction of a second, and then it must be terminated and suspended until the next cycle. As it switches between processes, it saves all data. Mobile operating system (mobile OS) - an operating system for smartphones, tablets, PDAs or other mobile devices. Although laptops can be attributed to mobile devices, however, the operating systems commonly used on them are not considered mobile because they were originally developed for large stationary desktop computers that traditionally did not have special "mobile" functions, and did not need them. This difference is blurry in some new operating systems, representing a hybrid of both. Mobile OS combines the functionality of the PC OS with functions for mobile and handheld devices: touch screen, Bluetooth, Wi-Fi, GPS navigation, camera, speech recognition, voice recorder, music player, NFC and infrared remote control. Portable mobile devices (for example, smartphones) contain two operating systems: The main software platform for user interaction Low-level proprietary real-time OS. Modern operating systems for mobile devices include Android, iOS, Windows 10 Mobile, and others. Obsolete, now unsupported software platforms: Symbian, Windows Mobile, Palm OS, webOS, BlackBerry OS, Firefox OS, Ubuntu Touch, and others. Functions Execution of program requests (input and output of data, start and stop of other programs, allocation and freeing of additional memory, etc.). Standardized access to peripheral devices (input-output devices). Management of random access memory (RAM) - distribution between processes, organization of virtual memory. Providing a user interface. Saving information about system errors. Additional functions: Parallel or pseudo-parallel execution of tasks (multitasking). Effective allocation of resources of the computing system between processes. Prioritisation of processes and their access to resources. Interaction between processes: data exchange, mutual synchronization. Protection of the system itself, as well as user data and programs from user actions (malicious or ignorant) or software applications. Management of the multi-user access and control of different level of access rights. Special types of software called virtual machines can actually mimic "real" computers and run different operating systems from within them.
>>
Virtual Reality (VR)
Virtual reality (VR) is the computer-generated simulation of a three-dimensional world, which can be experienced by a person through equipement, usually headgear with sensors. VR simulates a realistic environment, in which actions and responses is performed in real time. The objects of VR usually behave closely to that of their counterparts in the real world. The user can act on these objects in accordance with the laws of physics (gravity, water properties, collision with objects, reflection, etc.). However, often for entertainment purposes, users of virtual worlds can go do things that are hitherto not possible in real life (for example: to fly or to rise from the dead.) Do not confuse virtual reality with augmented reality(AR). Their fundamental difference is that the VR constructs a new artificial world, and AR only brings in individual artificial elements into the perception of the real. Implementation Systems of "virtual reality" are devices that simulate interaction with the virtual environment, by affecting all five of the human senses. Currently, there are several basic types of systems that provide the formation and output of images in VR systems: Headset / virtual reality glasses (HMD - display) Modern headsets of virtual reality are glasses rather than a helmet, and contain one or more displays that show images for the left and right eyes, a lens system for adjusting the geometry of the image, and a tracking system for the device orientation in space. MotionParallax3D displays Devices of this type include many different gadgets: from some smartphones to rooms of virtual reality (CAVE). Systems of this type form the user's illusion of a three-dimensional object by outputting specially created projections of virtual objects. These are generated on the basis of information about the position of the user's eyes to one or several displays. Virtual retinal monitor Devices of this type form an image directly on an eye retina. As a result, a user sees an image "hanging" in the air in front of him.
>>
View all IT-related terms
Results for "DEV"
Logo Magora LTD
close
Get in touch
Do you agree to the personal data processing?


Logo Magora LTD
close
Thank you very much.

Your registration to the webinar on the 27th of September at 2 p.m. BST was successfuly completed.
We will send you a reminder on the day before the event.
Magora team
Registration for a webinar

"Let Smart Bots Speed up your Business"
Date: 27.09.2018 Time: 2 p.m. BST
Do you agree to the personal data processing?