Difference between revisions of "Development"

From YouTestMe Wiki
Jump to navigation Jump to search
(Blanked the page)
 
(16 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=== '''Development Culture''' ===
 
Company strategy is establishing a highly efficient and productive culture by:
 
* Automating all repetitive processes;
 
* Establishing and documenting procedures for all common tasks;
 
* Considering every task as a project and properly documenting it so anybody can take on that task at any given moment;
 
* Adhering to company standards and policies.
 
  
=== '''Development Methodologies''' ===
 
----
 
==== GDAO – Generated Data Access Objects ====
 
 
Ideal for performances, learning curve, and rapid application development. This G-DAO framework is a combination of:
 
 
• Code generator
 
 
• Java technologies such as JDBC
 
 
[https://www.youtube.com/watch?v=ta20F9QDpC8&list=UUQKRzE49QL7eqxrOQk_q4Lg GDAO Presentation]
 
 
==== Agile Software Development ====
 
http://en.wikipedia.org/wiki/Agile_software_development
 
Agile is just a “common sense” approach to development. This is just a guideline but not the rule. The key point is to be adaptable to current situation and requirements.
 
Twelve principles underlie the Agile Manifesto:
 
* Customer satisfaction by rapid delivery of useful software;
 
* Welcome changing requirements, even late in development;
 
* Working software is delivered frequently (weeks rather than months);
 
* Working software is the principal measure of progress;
 
* Sustainable development, able to maintain a constant pace;
 
* Close, daily co-operation between business people and developers;
 
* Face-to-face conversation is the best form of communication (co-location);
 
* Projects are built around motivated individuals, who should be trusted;
 
* Continuous attention to technical excellence and good design;
 
* Simplicity- The art of maximizing the amount of work not done - is essential;
 
* Self-organizing teams;
 
* Regular adaptation to changing circumstances.
 
 
=== '''Development Policies''' ===
 
==== Development Environment ====
 
===== Project Root Directory =====
 
Create a “Root Development” directory:
 
  Example: C:\Zoran\Development
 
* You should use your username as part of the root directory name because that computer could be used by several individuals.
 
* Review all the code in that directory.
 
Your directory structure will look something like this (depending on the projects you checked out).
 
 
[[File:imageytm1.png]]
 
 
 
For remote desktop computers which are used by more than one person, create a directory with your name and copy - paste the Development directory to the newly created directory. For example, instead of C:\Development, you should have C:\Zoran\Development. This policy is made so that conflicts are avoided while using SVN, since more than one person is using the virtual machine. Personal computers can be set in any way you like.
 
 
Files that start with “z” in “C:\Development” are utility DOS scripts that can help you checkout, update and commit files in multiple SVN Repositories. A list of all affected repositories is contained in the file named “projects.lst”. You should edit this file and keep only a list of repositories that you will be working on.
 
 
All “z” files and default “projects.lst” are in the archive zfiles.zip.
 
 
  “z” scripts in SVN: c:\Development\res\Scripts\SVN DOS Scripts\
 
 
===== Back End Source Code Location =====
 
  c:\Zoran\Development\youtestme\source\
 
 
===== Front End Source Code Location =====
 
  c:\Zoran\Development\youtestme\www_source\
 
 
=== '''Test Data''' ===
 
 
All test data have to be created in spreadsheets located here:
 
 
\youtestme\batch_source\test_data\excel\
 
 
Test data is loaded by Java program:
 
 
com.youtestme.loaders.excel.testdata.LoadAllTestData
 
 
Test data should always be generated through re-runnable programs, scripts, files, spreadsheet. The process should be executable in one step.
 
 
Note that data created any other way (not through integrated process described below) will be lost every time database is refreshed.
 
 
There are great benefits of using standardized test data so please stick to the process. Be proactive and create or amend test data spreadsheets.
 
 
----
 
 
==== Database ====
 
 
Each developer should use their own database schema for development. This way conflict are avoided and development is much more efficient.
 
 
Do the following:
 
 
- Create your own scheme and implement data model and data in it by using shell scripts or Oracle database export file created from another scheme.
 
 
- If you are unfamiliar with database administration please ask somebody to do it for you.
 
 
----
 
 
For more detailed information make sure you read: [{{SERVER}}/youtestme/youtestmedoc/Development/YouTestMe%20Developer%20Manual.docx YTM Developer Manual]
 

Latest revision as of 00:39, 7 February 2017