"The trick of good design is to represent
the areas that you care about in a way that
maps back to reality in a reasonably faithful
manner."
Jesse Liberty
- The following sections include a brief description of each of the projects as well as
a sample preview of some of the content of each. For more detail use the nav bar on the left.
or links provided below.
Project Greenspace
The first project is the 'greenspace' horticultural
project. This includes details and a descriptive log of growing
allotments of vegetables and fruits for sustainable domestic produce.
The requirements are to develop and maintain a south-facing 5600 Sq. foot
plot of food productive ground utilizing allotments for vegetables and
fruits such as potatoes,carrots,onions,peas,turnips,cucumbers,
strawberries,raspberries and plums. I use Composting and crop rotation techniques to maintain
fertility with the ultimate goal to create a domestic and sustainable,
consumable supply of vegetables and fruits for the home. There is also a section which I
have set-aside for the purposes of growing wildflowers which encourage the presence of the pollinator
insects. A rich presence of bees and wasps is both environmentally friendly and an aid to the
pollination of fruits which I grow. Below I include a preview or a brief introduction to the
greenspace horticultural project with a link option for more comprehensive detail.
Accounting Software Development Project
This is a Farm animal record and accounting software development project with the aid
of the Unified Modified Language(UML),intended for implementation in C++.
The objective is to develop and ultimately produce a practical real-life applied
software package to aid in the recording and accounts management and financial report production of
a herd or herds of bovines in a beef finishing farm system. However the objective
is also to demonstate proficiency in software development methodology, applying UML to
a medium-scale software project. This project will simplify and clarify the coding procedures
necessary for implementation in C++ and feeds into the related programming project. The process
of this project is a classic object orientated model which significantly simplifies the c++
implementation project.
C++ Implementation Project
This project involves the coding of the software development project and Produces
a the useable software package for farm animal record and financial accounting purposes.
Below I include part of the implementation of the header file of the project with
the link included for access to both the header and .cpp files and the executable.
Firstly here is a preview with illustrations from the greenspace project:
Young Sycamore Sapling
Broad Bean Plant
Illustrated above are a young deciduous sycamore tree I planted as forming part
of a line of trees for a border of the growing area and is my effort at reducing
my carbon-footprint! The broadbean plant is a tall vigerous and decorative plant
for the garden which looks quite impressive when in full bloom. For more comprehensive
detail of this project please follow the link Here.
Secondly here is a preview from the farm software development project:
Main Sequence Diagram
Software Developers will be familiar with the above type of UML(Unified Modifed language) diagram.
Firstly UML is a modelling language used in oject-orientated analysis and design. It is used in
Software Development to manage complexity and makes the job of programming more clear and easier
to implement. The above sequence diagram is also known as an interaction diagram. A sequence diagram
captures details of a scenario. The above diagram describes the initial steps in launching the programming
before loading data from a file, presenting the user with a menu of options and saving any changes made
back to file. For more comprehensive detail of this project please follow the link Here.
Thirdly here is a preview from the farm software implementation project:
class FarmAnimal // To support instantiation of unique object for each farm animal.
{
private:
string Animalid; // Also used to prevent duplicate entries in container.
int InWeight;
int OutWeight;
int Cost;
int AvCostProcess;
string Sex;
string Breed;
string SupplierName;
string BoughtDate;
float RetailPricePerkg;
float GrossSaleprice;
string SellDate;
int SoldFlag; // So it can easily be determined whether sales data is present or not.
public:
void setAnimalid(bool setby=false,string id="0"); // To ensure members are initialized
void setInWeight(bool setby=false,int theInWeight=0); // and there are also times when it's
void setOutWeight(bool setby=false,int theOutWeight=0);// useful to fill members with valid
void setCost(bool setby=false,int cost=0); // but generic data when deleting a
void setAvCostProcess(bool setby=false,int theAvCostP=0); // member or for testing purposes
void setSex(bool setby=false,string theSex="unfilled");
int setBreed( bool setby=false,string theBreed="unfilled");
int setSupplierName(bool setby=false,string suppname="unfilled");
void setBoughtDate(bool setby=false,string BDate="unfilled");
void setRetailPricePerkg(bool setby=false,float theRetailPriceperkg=0);
void setGrossSaleprice(bool setby=false,float GrossSaleprice=0);
void setSellDate(bool setby=false,string SDate="unfilled");
void setSoldFlag(int thesoldflag=0);
string getAnimalid();
int getInWeight();
int getOutWeight();
int getCost();
int getAvCostProcess();
string getSex();
string getBreed();
string getSupplierName();
string getBoughtDate();
float getRetailPricePerkg();
float getGrossSaleprice();
string getSellDate();
int getSoldFlag();
FarmAnimal& operator=(FarmAnimal& RHS); // Overloading the equals operator means each
bool operator==(FarmAnimal& RHS); // member can be compared easily.Other programs
// maybe written utilizing this class
// where it would be important to have use of these
// overloaded operators.
bool CheckIfYearIsValid(string Year); // These functions will ensure integrity and
bool CheckIfStringIsValid(string name); // correct format of data before committing
bool CheckIfDateIsValid(string Date); // it to the data structure.
bool CheckIfAnimalIdIsValid(string AnimalId);
FarmAnimal();
~FarmAnimal();
};
The above code excerpt in C++ is from the header file and shows the declaration section for
a unit member(Class) of the container. The class shows each of the relevant variables applicable
and accessor methods for each. Also implemented are some over loaded operator functions and
very importantly error checking methods to ensured data entered is valid before passing it
to the container and subsequently to a file for saving. For more comprehensive
detail of this project please follow the link Here.