development workflow

👩‍💻 workflow
How should a developer get started?
What tasks does the developer need to do?
The section in this page offer a guide to organising the activities a developer takes on.
How to use the project documentation.
How to create and develop the code which meets the project requirements.
📄 documentation
A successful developer knows what documentation to expect when coding a project.
The developer has the skills for accurately reading and completing the documentation.
Introduction
A project begins with the documentation.
This includes: descriptions, plans and lists that explain what the client is expecting from the project.
Problem description
Design: main steps and refinements, data flow
Source data
Test Data and test tables
Evaluation

How should you use the documentation to take the project forward?
A project is developed by completing some key tasks
Analysis,
Design,
Implementation (and debugging),
Testing,
Evaluation

A developer will often take on some parts with other stages completed by other developers.
The documentation supports development activities at all stages.
Analyse
The developer needs as overall understanding of what the purpose of the project is.
The problem description gives an introduction. It will usually detail the client or organisation and specific requirements.
Problem description (example)

Once a year a walking club asks all its members to submit the total number of miles they have walked. The club collates this information in a text file.
A section of the .txt file, which includes the names of members and the total miles they walked, is shown below.
...
Nikolai,Bryant,145.6
Susan,Brown,34.2
Teressa,Jones,398.5
...
The information in the file is then used to select prize winners.
Prizes will be awarded for:
the furthest distance walked
any members who have walked more than 70% of the furthest distance

A program is required to read the data for each member from the text file.
The program should use this data to find then display the furthest distance walked.
The names of every member who has walked more than 70% of the furthest distance should be written to an empty text file so that the file can be printed out later.
☝️Read the description.
Highlight key facts.
What data is involved? How is it organised, how much data?
part of the data file is shown, ( the entire file is supplied and can be checked to see how many lines there are).
What has to be done with the data?
Design
The design is a precise technical plan for the main and detailed steps to input, process and output the data.
It is a very clear description that directly leads to high level code.
Organised a main steps with a set of refinements; modular blocks each with a focus on one of the main steps.
Since the modules share some of the data, a data flow description is need to make clear what data must be passed between the modules.
top level algorithm (example)
A list of main steps.
Read members’ data from file into array of records
Find the furthest distance walked
Display the furthest distance walked
Write club prize winners to file
In this example there are four sequential steps, each step will have a refinement.
There will probably be data-flow between some steps.
There will be a procedure or function for each step, the group of four steps will become the top level procedure.
modular design and modular code
A good design often organises code into modules or blocks, each module has a focus on one main requirement of the project.
For example different modules for input, for output and for each main process (eg a standard algorithm).
An additional top-level module is used to organise (call) the other modules.
data flow diagram for modular design
A plan, perhaps diagram, describing what data must be passed from one module to another.
data-flow (example)
In this example the main steps are presented as module blocks
The IN-OUT arrows are naming the values and results that are required at each stage
Data flows from one module to the next
the furthest value is calculated by the second module and is passed to the third (and fourth) module
refinements (example)
1.1 Open members.txt file
1.2 Start loop for each member
1.3 Get member forename
1.4 Get member surname
1.5 Get member distance
1.6 Store member forename, surname and distance in members() array
1.7 End loop
1.8 Close members.txt file
-----------------------------------------------------------------------
OUT: members(forename, surname,distance)

IN: members(forename, surname,distance)
-----------------------------------------------------------------------
2.1 Set furthest to distance stored for first member in members() array
2.2 Start fixed loop from second member to end of array
2.3 If distance the current member walked is greater than furthest Then
2.4 Set furthest to current distance
2.5 End If
2.6 End fixed loop
-----------------------------------------------------------------------
OUT: furthest

IN: furthest
-----------------------------------------------------------------------
3.1 display furthest distance walked

IN: members(forename, surname,distance), furthest
-----------------------------------------------------------------------
4.1 Open results.txt file
4.2 Write “The prize winning members are:” to the results.txt file
4.3 Start loop for each record in members() array
4.4 If the distance the member walked is greater than 0.7*furthest
4.5 write the forename and surname to the results.txt file
4.6 End if
4.7 End loop

👯 develop using parallel array
reading the data flow
setting up a data structure in Java
reading a CSV file into a set of parallel arrays
writing to a CSV file from parallel arrays
working with data from parallel arrays
traversing
accessing values in array elements
🗃️ develop using array of records
reading the data flow
setting up a data structure in Java
reading a CSV file into an array of objects (record array)
writing to a CSV file from array of objects (record array)
working with data from array of objects (record array)
traversing
accessing values in array of objects (record array)

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.