Heading Symbol

Engiome
Projects



Farm Processing Applications

"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

Project descriptions

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 Sapling
Young Sycamore Sapling
Broad Bean Plant
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

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.