ICAPRG506A
Design application architecture

This unit describes the performance outcomes, skills and knowledge required to design the structure of software or systems components and how they interact. The unit focuses on layered architectural style.

Application

This unit is relevant to those who work as software architects, developers, designers, software engineers or programmers responsible for designing and building solution architects.

This unit addresses the knowledge and processes necessary to produce the high-level design (blueprint) of a system.


Prerequisites

Not applicable.


Elements and Performance Criteria

1. Gather and confirm architecture requirements

1.1 Gather information regarding architectural requirements

1.2 Establish and document architectural requirements

2. Design layered architecture

2.1 Separate the areas of concern into logical layers

2.2 Determine the cross-cutting concerns

2.3 Define the system into components

2.4 Identify the responsibilities of each component

2.5 Identify interconnections between components

3. Plan a strategy to re-use components

3.1 Determine an appropriate strategy for communicating with external systems

3.2 Interact with existing legacy components

4. Design for globalisation and localisation

4.1 Determine culture-specific information

4.2 Consider database design features

4.3 Select appropriate user interface

4.4 Develop software product for worldwide distribution

4.5 Develop software product for specific country

Required Skills

Required skills

analytical skills to:

assign a priority to each architectural requirement

determine areas of concern

communication skills to:

interact with others of different cultures to globalise a software product

interact with stakeholders to gather architectural requirements

initiative and enterprise skills to identify potential improvements to the structure of software and existing systems

literacy skills to:

maintain a complete list of architectural requirements

prepare architectural requirements questionnaire to system stakeholders

problem-solving skills to:

communicate with external systems

determine the possibility of reusing the existing legacy components

technical skills to:

analyse software requirements

design software applications.

Required knowledge

basic knowledge of database design

current software development methodologies

detailed knowledge of:

object-oriented programming

software development life cycle.

Evidence Required

The evidence guide provides advice on assessment and must be read in conjunction with the performance criteria, required skills and knowledge, range statement and the Assessment Guidelines for the Training Package.

Overview of assessment

Critical aspects for assessment and evidence required to demonstrate competency in this unit

Evidence of the ability to:

design layered applications to increase application performance, scalability and re-usability

create flexible and configurable applications and adapt to suit different locales

adapt a software product to a particular language and culture of the target market.

Context of and specific resources for assessment

Assessment must ensure access to:

specific requirements, including functional and non-functional requirements

tools to design software architecture

culture-specific information for the target culture or language

appropriate learning and assessment support when required

modified equipment for people with special needs.

Method of assessment

A range of assessment methods should be used to assess practical skills and knowledge. The following examples are appropriate for this unit:

review of candidate’s architecture requirements documentation

evaluation of software-layered architecture.

Guidance information for assessment

Holistic assessment with other units relevant to the industry sector, workplace and job role is recommended, where appropriate.

Assessment processes and techniques must be culturally appropriate, and suitable to the communication skill level, language, literacy and numeracy capacity of the candidate and the work being performed.

Indigenous people and other people from a non-English speaking background may need additional support.

In cases where practical assessment is used it should be combined with targeted questioning to assess required knowledge.


Range Statement

The range statement relates to the unit of competency as a whole. It allows for different work environments and situations that may affect performance. Bold italicised wording, if used in the performance criteria, is detailed below. Essential operating conditions that may be present with training and assessment (depending on the work situation, needs of the candidate, accessibility of the item, and local industry and regional contexts) may also be included.

Architectural requirements may include:

design requirement

functional requirements

non-functional requirements:

maintainability

performance

reliability

scalability

security

usability

quality requirements.

Layers may include:

business logic layer (BLL)

data-access layer (DAL)

services layer

user interface (UI) layer.

Cross-cutting concerns may include:

caching (improve performance)

communications (protocols)

configuration management

data protection

operational management

security:

authentication

authorisation.


Sectors

Programming and software development


Employability Skills

This unit contains employability skills.


Licensing Information

No licensing, legislative, regulatory or certification requirements apply to this unit at the time of endorsement but users should confirm requirements with the relevant federal, state or territory authority.