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 ScottDatabases.com.
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
ScottDatabases.com 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 ScottDatabases.com 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 ScottDatabases.com. 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.