Product Update: ADD becomes Serengeti

As a product update; The “Autonomous Distributed Database”, otherwise known as simply ADD has been renamed to Serengeti. The Serengeti is a vast ecosystem in east-central Africa. It spans 12,000 square miles (30,000 square kilometers), according to NASA, giving rise to its name, which is derived from the Maasai language and means “endless plains.” This region of Africa is located in north Tanzania and extends to southwestern Kenya. Much the same, the Serengeti database project is a truly autonomous distributed system that has no visible ending nor capacity....

June 9, 2020 · 1 min · 116 words · Andrew

Timing Issues in Real-time systems

What are Real-time Systems? If you look up the term “real-time” in a dictionary, it will tell you that it is the actual time during which a process takes place or an event occurs (Dictionary.com, n.d.). In computing, it is more often than not due to when an event is created and specific data service is able to respond with the newly updated event in its index. What is a Timing issue?...

June 3, 2020 · 3 min · 470 words · Andrew

Communications and The Software Development Process

Software Engineering or the Software Development Process is broken down into the following phases. Requirements Design Implementation Verification Maintenance Communication can often breakdown in the system analysis phases. As a knock on effect, the requirements and design can end up not being correctly implemented during the mid to latter stages of software development. Without correct communication, a software system can end up not meeting the requirements initially laid out by the end client – or whomever requested the system in the first place....

May 24, 2020 · 3 min · 542 words · Andrew

Structured and Object-Oriented Programming

Software development has really come a long way over the past few decades. Programming used to always be about doing things in a very procedural way, this means that each line of code is executed in the order that it is written (or placed) in a source code document – we refer to a file where programming code is stored as “source code”. This is still very much a core basis when writing code, except as software applications have gotten infinitely more expansive and complex, there has been more of a need to reuse sections of code and make it more “modular”....

May 22, 2020 · 5 min · 981 words · Andrew

Converting from Legacy to Client-Server or Distributed Systems

What is a legacy system? A legacy system is a computing system that has been around for a very long period of time, tends to be difficult to maintain, is prone to issues such as lack of scalability and feature additions, usually centralised in operation and is still heavily utilised in a particular organisation. What is a client-server / distributed system? A distributed system is a decentralised networked cluster of computers (servers) that are able to scale according to peaks and troughs in usage (Manoj A....

May 19, 2020 · 3 min · 490 words · Andrew

Conceptual Architectural Views, with a focus on the Development View

What is Conceptual Architectural Views? Architectural views are abstractions, or simplifications, of the entire design, in which important characteristics are made more visible by leaving details aside. (Eclipse, n.d.) They are divided into four main sub-categories as illustrated below when using the 4+1 modelling system: Each of the above segments paints a different perspective view on the architecture of a complex system, allowing for a simplified look into the inner workings and how everything works together....

May 18, 2020 · 3 min · 445 words · Andrew

Assessing Reusable Parts in a Software Architecture

During the Software Development Life Cycle (SDLC) the development team will come to realise that parts of any application have already been created before and there is the potential for those parts to be reused time and again going forward. In the last few years, the culture of software development has moved towards Q&A sites such as StackOverflow to answer common daily problems that developers face. This has also led to many “Accepted Answers” being associated with these common issues and many developers have become quite indolent and simply copy/paste the code snippets directly from these types of websites straight into their application code they plan to ship....

May 17, 2020 · 3 min · 517 words · Andrew

An Introduction to 2-Tier and 3-Tier Client-Server Systems

All software systems can be grouped in either a 2-tier or a 3-tier formation. The former is essentially where all clients contain application and business logic code to read from a datastore themselves (STC, n.d.) and the latter by comparison relies on a thin client that talks to an application layer server that contains business logic which in turn communicates with the datastore. 2-Tier Architecture The two-tiered (2 tier architecture) approach to application modelling is to run a fat client – one which contains all business logic code – and communicate directly with a database server itself....

May 16, 2020 · 3 min · 519 words · Andrew

The Pros and Cons of Agile in Software Development

What is Agile in Software Engineering? Agile approaches help teams respond to unpredictability through incremental, iterative work cadences and empirical feedback. (AgileMethodology.org, 2008) Advantages of Agile Flexibility Potentially the main advantage to Agile is the ability to be more ?flexible? or ?agile? in terms of evolving a project as it develops as opposed to taking on a mammoth list of project requirements and only being able to show the customer the end result at project completion....

May 14, 2020 · 3 min · 580 words · Andrew

Mitigating Risks with Software Development Outsourcing

In the Oxford Dictionary, the term “outsourcing” is simply defined as obtaining goods or services by contract from an outside supplier (OxfordDictionaries.com, n.d.). When it comes to software development, the same is true, with many companies opting to use economically cheaper labour to extend or swap out their workforce in order to enhance their endeavours and reduce costs across the board. Countries such as India, Russia, China and Mexico have a lower Cost of Living (Numbeo....

April 16, 2020 · 3 min · 540 words · Andrew