From d3031531bffae8b1cf2d6057420ed14bceb0c841 Mon Sep 17 00:00:00 2001 From: Richard Whitehouse Date: Tue, 26 Apr 2011 15:31:49 +0100 Subject: [PATCH] Software Development Methodology --- preparation.tex | 2 ++ 1 file changed, 2 insertions(+) diff --git a/preparation.tex b/preparation.tex index fc57a6c..c13545c 100644 --- a/preparation.tex +++ b/preparation.tex @@ -26,6 +26,8 @@ In order to ensure the project was a success, certain development decisions were \subsection{Software Development Methodology} +I decided to use a iterative development method, in order to maintain quality of the code, and to ensure the code was completed on time and with the necessary features. This was done by iteratively designing a new feature in accordance with the overal aim, implementing the feature and then testing it. This cycle was repeated until all the necessary features were implemented. This enforced encapsulation of a feature with a single element of code, providing separation of concerns. It also ensured that each feature was built on a stable base. On each iteration of the code, all the tests were run to ensure that no regression had occured. These tests provide a good set of debugging features which ensured that refactoring the code did not impact code quality. + \subsection{Source Control} In order to version and backup my code, I used a distributed version control system, Git. Git allowed me to maintain multiple copies of my code, review changes and manage the code effectively. My git repository was held on both my desktop and a laptop, and a copy of the repository was pushed to my server hosted offsite, and a commercial service GitHub \ref{github} which provides hosting for Git repositories. It also provides a good interface to view changes between different branches of the code. -- 2.34.1