Friendship: God's way

Eternity abounds with God – Father, Son and Holy Ghost
“Relationship between us three is great”, He states,
“This is so good, why don’t we share and spread our love
Let us create a universe, worlds, and men to be our mates.”

The word is spoken, breath is breathed and all around is formed
In to it all God puts Himself and His creative spark of life
Light and dark, Heaven and earth, water land and sky
To rule it all, and with free choice, Man with his fantastic wife.

Adam and Eve, the first to be, live in peace and walk with God
A perfect time, until they make their first bad choice
Their Maker, hurt and sad, knows that He must give them time
To be alone and work it out, whilst He prepares a gift of grace

From bad to worse at first it goes, brothers war and kill
Mankind turns bad and God cries out “What have we done?
Do I need to start again?” Not all is broken, a friend I have
A righteous man amongst them all, Noah is the one.

“Noah, build a massive boat. Save creation from the flood.
I will destroy the evil men, but you and yours will be the seed,”
The earth is cleaned, creation kept, safe within a boat,
And our loving Maker says, “Never again will I do this deed.”

Mankind prospers, increases, spreads across the earth
God does not forget His friend, and puts His plan in motion.
Relationship is in His mind, He wants to give of grace and love;
To declare His main intent, Israel becomes the chosen nation

The nation forms around good men – Abraham and all his line
Jacob finds he has 12 kids, and favour all to Joseph does he show.
The others do not like this much, Joseph nearly loses all,
Though he wins out in the end and off to Egypt they all go.

Egypt is great for a wee while, it feeds them all through famine time.
The local folk though treat them harsh, to slavery the Israelites succumb.
Until the time a hero rises, Moses, man of faith, a leader great, is born
He leads God’s people free, although their choices still are dumb.

To a promised land of milk and honey they arrive,
Joshua, the hero now, leads them in. “With God we fear nothing!”
They settle, happy in the land, living under Priest and Judge,
Until they look at other nations, then they find they want a King

Saul and David, mighty Kings, rule the land and win some wars.
Peace comes at last with Solomon, the wisest of the three
He builds God’s temple with his wealth, plenty to go round
Israel’s fair golden time, the people prosper and are free

Then they start to fight within, a split occurs, the nation parts.
Divided now, Israel and Judah, two peoples and two kings
Neither of them pay much heed, or listen to their loving God.
Prophets come and speak for Him, foretelling many things.

Assyria, then Persia too, fight and conquer all the land
The Israelites are exiled from their hearth and home,
Yet God does not abandon them, He has many plans.
Prophets still do speak and tell of mighty things to come.

Daniel, whilst in Babylon, honours God in all he does,
Along with three who do not burn, fire proof they seem to be.
They bring a witness of their God, on whom they all rely.
Daniel nearly dies, but has a way with cats and thus he is set free.

Esther and a man who has a passion for Jerusalem’s fine walls
Trusting in their God, speak to kings and Israel comes home;
Rebuilding temple, city, and the walls, the nation they reform,
Until once more Israel does fall, this time to mighty Rome.

The Romans conquer all of Israel, but God is fine with this
Its all part of his great plan, He knows that they prepare the way
A way foretold by prophets, a way He planned right from start.
Creation holds its breath with joy, waiting for that glorious day.

The day to come when God restores the friendship that was lost.
God loves His friend, longs to be close and He feels that friendship’s loss.
He knows there is nothing man can do, so because He loves
To make things right for ever more, He himself will hang upon a cross.

author: Dr David H. Akehurst

(originally written as part of C7 Leadership Academy course work)

Software Development: Analysis

Analysis is the process (phase) of discovering what the system is intended to do, without getting drawn into how it is going to do it. One way to think of it is that analysis is the process of describing the problem for which we will subsequently design and develop a solution.

Generally there are many different stakeholders who place requirements on the system being developed, these may include, for example:

The end user (of the system)
The customer (who is paying for the system)
The business (who is developing the system)

There are three outputs from the analysis phase

Problem Space Concepts and Relationships
Use Cases and Actors
External Interfaces

A good starting point for performing system (or requirements) analysis is the text that is provided as the ‘Requirements’ from each of the stakeholders. Although text is a very ambiguous and thus poor means to express requirements, it is the easiest way to capture the initial communication of requirements.

The analysis phase in the development process is where we develop the initial ambiguous requirements into something precise that can be verified, and which enables an indication that the system has been finished.

Object-Oriented Analysis is a technique where we identify objects and relationships in ‘the requirements’ and express these in the form of a UML Class Diagram. These ‘Classes’ are not classes in the sense of ‘programming language’ (e.g. Java) classes, they are simply a way to represent a set (class) of objects that exist in the Problem Space for which we are developing a Solution.

Software Development: Examples: Hello World: Design

The design of the system is presented from a number of different viewpoints. There is no specific ordering of these viewpoints, they simply present different aspects of the design of system.

  • LogicalThe conceptual aspects of the system, uncluttered by deployment or target platform issues.
  • PhysicalThe physical, tangible, aspects of the system. I.e. what can be picked up and touched.
  • DeploymentHow does the Logical map to the Physical.
  • ImplementationThis viewpoint focuses on the organization of artefacts that are stored and need to be configuration controlled, e.g. source files, folders, binaries, config files, etc.
  • Runtime: The viewpoint focuses on the objects that exist or are constructed at/during runtime, i.e. whilst the system is operating.

Software Development: Examples: Hello World: Requirements

The ‘Hello World!’ example does not have complicated requirements, or many of them. Of course, different implementations of the example may imply different requirements. For this tutorial we will use the following requirement:

  1. When the system is started it shall display to the user the message ‘Hello World!’.

Software Development: Examples: Hello World

Introduction

Most programming languages start with a simple example known as ‘Hello World!’. Although MDE is not a programming language, we can use the same simple example to introduce some of the concepts of MDE.

Obviously, we do not need all of the extra stuff introduced here in order to produce an application that displays ‘Hello World!’ to the user. However, in a more complex system the ‘extra stuff’ becomes very useful.

The Engineering Development Plan

The Development Process

In order to develop any reasonably sized software system, with good engineering practices, it is necessary to have a development process. This process is an important part of the engineering development plan.

We will use a fairly standard and recognisable process comprising the following phases:

  • Requirements: what does the customer want.
  • Analysis: clarify what the customer wants, ensure it is what the end user wants, define the problem for which you will produce a solution.
  • Architecture: Define one or more solutions to the problem.
  • Develop: Create, construct, build, test the parts that comprise the (or one of the) solution.
  • Integrate: Connect the parts and check they all work together as intended/expected.
  • Verify: Test and confirm that the solution does actually solve the problem defined as part of the analysis.
  • Validate: Test and confirm that the solution does actually solve the problem that the end user wanted solving.