Job Description:
Performs software development focused tasks under close direction, seeking guidance in unexpected situations, in a structured environment.
Able to participate in the team activities associated with new software implementation / solution ideas.
Has a basic understanding of the systems, tools, applications, and processes that are applied when developing software in a team environment.
Demonstrates a basic knowledge of software development processes and brings an intermediate and demonstrable skill in at least one modern software language within the position description.
Software Requirements Analysis
Define the requirements allocated to the software elements of the system and their interfaces
Analyse software requirements for correctness and testability
Evaluate the impact of software requirements on the operating environment
Establish consistency and traceability between the software requirements and system requirements
Software Architectural Design Develop and baseline a software architectural design that describes the software items that will implement the software requirements Define internal and external interfaces of each software item Establish consistency and traceability between software requirements and software design Software Detailed Design Develop a detailed design of each software component, describing the software units to be built; Define external interfaces of each software unit; and Establish consistency and traceability between the detailed design and the requirements and architectural design. Software Implementation & Testing Define test criteria for all software units against their requirements; Produce software units in accordance with the software design and project standards; Establish consistency and traceability between software units and requirements and design; Test the software units against the requirements and the design; and Complete peer review of software units developed by others.