Custom Software Development Terms

Custom Software Key Terms

These custom software Developer Terms are defined in a not so technical manner intentionally to make them easy for anyone who wishes to jump into the world of custom software development.These terms may be useful when talking to tech vendors such as

Line of Business (LOB) software – LOB software is tailored to a particular line of business, and has unique functionality that can only be used efficiently in conjunction with the those company-specific business processes. While LOB software is similar to Vertical Market Software, it has a more focused market. For example, some POS systems might be geared toward handling clothing items, and a Vertical Market Software vendor who specializes in the clothing industry might have developed various POS systems. However, a men’s clothing store would benefit from installing a different POS system than a laundry mat. Sometimes certain businesses are so unique that customized software development is their only option, and a Vendor such as would develop the software tailored to their specific business needs.

POS – Point of Sales system. These systems are typically used by cash register clerks, and you will find them at any retail store.

Vertical Market Software – Vertical Market Software is the concept of creating a suite of software for a specific industry. For example, the insurance industry will have various LOB software programs they use to run their business, such as a Claims system, a Call Center system, an Imaging System (to scan and save signed documents), and a variety of other tools to help them before insurance industry specific functions. While one company might specialize in writing one type of software, such as Call Center systems, for any industry, some companies, such as Technologies, focus on writing all necessary software for specific industries.

Web Applications – Web applications are software applications that run inside a browser. In reality, any e-commerce site is a common type of Web Application. However, many businesses are turning to Web applications as the solution for their in-office software needs. Companies like Microsoft, who provide the major software development tools on the market today, have been focused on making the development of web applications easier for software developers like Web Applications can be configured to A) only allow employee access (generally this is considered an Intranet Application), B) allow employee and partner-only access (this is generally considered an Extranet, or C) allow anyone to browse (Internet site). The major benefit of developing a customized Web Applications is that you don’t have to worry about installation and compatibility issues, because in almost all cases, a computer with an Internet browser (such as Microsoft Internet Explorer) is all that is needed to run it. However, Web Applications have the disadvantage of not being as responsive when the user interacts with the screen. All functionality occurs when pages are submitted to the server, and the user will not get a response until then. However, there are various methods to increase this interactivity. Developers use something called Javascript and Ajax to increase interactivity, and in fact, even some of Microsoft’s business tools, such as CRM, are Web Applications.

Desktop Applications – Desktop applications run on computer workstation operating system such as Windows XP. Microsoft Office is a suite of popular desktop applications.

Custom Software Development – Custom software development is the process of creating software for a single person or organization. Custom Software has the benefit of including only needed features, and almost more importantly, custom software is clogged up with confusing features that aren’t needed by the customer.

Intranet – An intranet is a private network that behaves like the Internet but is only accessible within the network on which is resides. Intranets often host web applications.

Extranet – An extranet runs within the Internet but it is secured for access to only a specific set of users. A simple example of an extranet would be if a company allowed its vendors to logon to a secured area of its website to access billing information.

.NET (pronounced Dot Net) - .NET is Microsoft’s latest technology platform for software. There are different versions of the .NET framework. For example, software written for the .NET 2.0 framework will not run on a Windows computer that has the .NET 1.1 framework.

VB.NET – This is one of the most commonly used programming languages in the business world. It has been through decades of upgrades and enhancements but its core code still maintains the same simple text based words that make it easy to use and manage. Its roots go back to the 1970’s and 1980’s when the ‘Basic Language’ became the basis for coding on some of the first home computers such as the Apple computer and the Commodore computer. Today the language is used throughout the Federal and State government agencies, virtually every financial institution, and can be found in one form or another in every fortune 500 company today.

C# – The sister language to VB.NET, C# has slightly different verbiage, and shares a few similaritys in style to JAVA. From a technical capability, VB and C# are nearly identical and once compiled have zero difference in functionality.

SQL – Stands for "Structured Query Language," and can be pronounced as either "sequel" or "S-Q-L." It is a very powerful query language used for accessing and modifying information in a database. Some common SQL commands include "insert," "update," and "delete." The language was first created by IBM in 1975 and was called SEQUEL for "Structured English Query Language." Since then, it has undergone a number of changes, many coming from Microsoft (T-SQL) and Oracle MySQL products.

Java – Java is Sun Microsystem’s programming language. Java is very “lightweight” and is therefore popular on websites which depend on available bandwidth to run properly.

Client/Server Software – Most often, client/server software runs on a client computer that connects to a server computer that contains the database. Client/Server software is a popular way to implement multi-user software that needs to allow multiple users to update and view a shared database. Microsoft’s client/server solutions utilize Microsoft SQL Server.

Database System – Most business software utilizes a database. Programmers do not need to develop the inner workings of the database portion of the software. In rare cases, they do, and these databases are called proprietary database systems, and are most often used in software that has a very high market penetration. In these cases, the software vendor wants to product the software’s data being read by 3rd-party programs. Sometimes the software vendor will provide an application programming interface (API) so other developers can access the data in a controlled manner. Most custom software developers use open database system and utilize password to protect the data from unauthorized access. Microsoft’s two most powerful products are Microsoft SQL Server (higher end systems) and Microsoft Access (desktop systems).

Platform – A software’s platform is a combination of the operating system, the database system, and the programming language use.

QA – QA stands for quality assurance. QA is a critical part of software development, whether a vendor is developing a product for release onto the general market, or whether a custom software developer creates a solution for a particular client. Successful software creation usually requires that a sizable percentage of the development lifecycle be devoted to QA.

Development Lifecycle – The development lifecycle is the entire process of creating software from the planning stages, the actual development, the QA, release, and post-release bug fixes. Some larger projects include plans for a phased release, and would include each phase a separate milestone. Often there is some sort of feedback loop that is used to improve the software based on user experience.

RPA – RPA stands for Robotic process automation, refers to the use of software with machine learning capabilities to handle repeatable tasks that previously required humans to perform. Including queries, calculations and maintenance of records and transactions, with the advantage of being able to do so automatically and in large volumes.