Allocating roles
Identifying major work efforts
Identify required programs by choosing a program for everything including creation of the code, documentation and other components of the project. This can be done through searching online for suitable programs.
Module: logical collection of code that can be linked together.
Subroutine (Function): a portion of code that can be called or executed anywhere in the program. E.g. A subroutine can be written once and called instead of rewriting the same code over and over.
Gantt charts show;
The progress made in making a piece of software over time.
Measures progress by listing all tasks that need to be completed and when work on one task should begin and when it should
Shows how much the software should have progressed over time can be used to see whether the creation of a program is behind schedule or not.
Used to see which tasks need to be done before others and which tasks human resources and time should be dedicated.
Logbooks;
Journals kept by member of the project team.
Document each step of the process so that disruption of the project is kept to a minimum and problems are more easily identified.
Milestones recorded can include;
The completion of a project phase
The approval of a deliverable
The completion of a scheduled review
The completion of an activity
The commencement of an activity.
Once tasks have been identified and scheduled with resources known, the manager needs to determine which resources will be used at what point in the development.
This can include selection and justification of software / hardware.
When releasing / backing up software, version numbers are required help to know if something has changed and how much it has.
Major: This is a major release which usually contains many new features and or changes to the UI of underlying OS.
Minor: Minor releases usually include small features which build on a major release.
Revision: Revision is usually a fix for a minor release, and it doesn’t add any features to the program.
Steps to solving problems include;
Reference to documentation such as manuals
Discussion with peers and experts
Reporting problems to management
Test data can be used to check whether the input and output of a program provides the desired result.
Revise algorithms to simplify the program and thus, make it more efficient.
Does solution output the desired/expected result for a given input?
Does the solution account for all possible actions? e.g. invalid inputs (giving a string when an integer is required)
Can the solution be made easier to use? e.g. increased automated actions