ICTPRG415
Apply skills in object-oriented design


Application

This unit describes the skills and knowledge required to produce an object-oriented design from specifications, applying the cyclic process of iteration from identification of class, instance, role and type to the final object-oriented model of the application.

It applies to system designers who are required to design systems using an object-oriented method.

No licensing, legislative or certification requirements apply to this unit at the time of publication.


Elements and Performance Criteria

ELEMENT

PERFORMANCE CRITERIA

Elements describe the essential outcomes.

Performance criteria describe the performance needed to demonstrate achievement of the element.

1. Derive high-level design from specification

1.1 Develop static class diagram from given set of specifications

1.2 Develop either collaboration diagram or sequence diagram from given set of specifications

1.3 Develop either activity diagram or state diagram from given set of specifications

2. Refine design

2.1 Investigate and refine behaviour, state of classes and collaboration between classes

2.2 Validate correct visibility of class services and state data

2.3 Identify generalisations within classes

2.4 Identify specialisations within classes

2.5 Apply principles of aggregation and composition to refine class design

3. Document design

3.1 Create detailed uniform modelling language (UML) static class diagrams

3.2 Create detailed UML collaboration or sequence diagrams

3.3 Create detailed UML activity or state diagrams

Evidence of Performance

Evidence of the ability to:

produce an object-oriented design from requirements, documents or system specifications, including:

static class diagrams

collaboration or sequence diagrams

activity or state diagrams

refine the design

document the design.

Note: If a specific volume or frequency is not stated, then evidence must be provided at least once.


Evidence of Knowledge

To complete the unit requirements safely and effectively, the individual must:

explain design quality metrics such as coupling and cohesion

explain design refinement techniques

describe programming design principles

describe different programming methodologies

outline various developmental life cycle options.


Assessment Conditions

Gather evidence to demonstrate consistent performance in conditions that are safe and replicate the workplace. Noise levels, production flow, interruptions and time variances must be typical of those experienced in the programming and software development field of work and include access to:

system specifications

requirement documents

design specifications

detailed design.

Assessors must satisfy NVR/AQTF assessor requirements.


Foundation Skills

This section describes language, literacy, numeracy and employment skills incorporated in the performance criteria that are required for competent performance.

Skill

Performance Criteria

Description

Reading

1.1, 1.2, 1.3

Interprets and critically analyses and applies appropriate strategies to construct meaning from specifications

Writing

1.1-1.3, 3.1-3.3

Communicates complex relationships between ideas and information, matching style of writing and diagrams to purpose and audience

Get the work done

1.1, 1.2, 1.3, 2.1-2.5, 3.1-3.3

Uses systematic, analytical processes in complex, non-routine situations, setting goals, gathering relevant information, and identifying and evaluating options against agreed criteria when refining the design

Uses analytical processes to decide on a course of action, establishing criteria for deciding between options

Understands key principles and concepts underpinning the design and operation of digital systems and tools


Sectors

Programming and software development