Core Body of Knowledge for Information Technology Professionals (Skills Assessment for Migration Purposes Only)


Alan Underwood,FACS,PCP
Approved by Council on 20 September 1997
For the Core Body of Knowledge latest version 2008, please click here

The Australian Computer Society Incorporated
PO Box 534 QVB, Sydney NSW 1230
AUSTRALIA
Ph: (02) 9299 3666
Fax: (02) 9299 3997

Table of Contents
1. Preamble
2. Introduction
3. The Areas of Knowledge
4. Implementing the Areas of Knowledge
5. Curricula Proposals
5.1 Computer Organisation and Architecture
5.2 Conceptual Modelling
5.3 Database Management
5.4 Data Communications and Networks
5.5 Data Structures and Algorithms
5.6 Discrete Mathematics
5.7 Ethics/Social Implications/Professional Practice
5.8 Interpersonal Communications
5.9 Program Design and Implementation
5.10 Project Management and Quality assurance
5.11 Information Security
5.12 Software Engineering and Methodologies
5.13 Systems Analysis and Design
5.14 Systems Software
6. Acknowledgements
References
Attachment 1 - A Conceptual Model of I.T. RelatedGroups

5.8 Interpersonal Communications

Preamble

This topic deals with individual behaviour and group dynamics and the application of these principles to the system development process. There has been a consistent comment from employers that a high level of interpersonal communication ability is an essential attribute of IT staff at all levels. It is important that those seeking employment in this profession appreciate that it is largely people-centred rather than technology-centred.

Table of topics
Written communication
effective expression
logical ordering of ideas
format and content of reports and formal documents
technical writing and documentation proposals and procedures
Verbal communication
structuring material for oral presentation
visual presentation of information
the use of appropriate supporting technology
effective speaking and audience management
Interpersonal skills
interview techniques
managing group dynamics
technical reviews
formal and informal meetings
negotiation skills
team management and conflict resolution
Context

As well as acquiring general communication skills, IT professionals should appreciate the working environment in which they are exercised.

Specific areas in which these skills need to be employed include :
  • the presentation of complex technical matters to a non-technical audience,
  • the management of peer technical reviews or walkthroughs,
  • the specification of procedures and structures by textual and diagrammatic means,
  • the selection and management of multi-skilled development teams with disparate interests and backgrounds,
  • the preparation of documents of a technical nature such as tenders and requests for proposals,presentations of technical products and systems proposals.
5.9 Program Design and Implementation

Preamble

This unit deals with the ability to specify a solution to a problem in a form which is able to be converted to a machine-executable product which will produce the correct result for a specified problem. It encompasses the ability to design a solution to a problem, preferably in a form which is independent of the target programming language for its implementation, to translate that design into the syntax of a programming language and to produce an executable program which is correct, efficient and maintainable. The unit also encompasses the aspects of software documentation which are essential to the effective use of the software during its lifetime.

Table of topics
Program specification
design of documentation to specify the requirements of a program
Program design
algorithm design and associated documentation
program structure and logic
data design
Programming languages
levels of languages in terms of machine vs user orientation
suitability of languages for problem domains
an appreciation of the operation of programs at machine level
Program implementation
structure and syntax of a programming language
the procedures of editing, compiling, linking, etc, needed to produce an executable program
internal documentation issues
Program testing
formal proof of correctness vs testing procedures
design of test data
program testing methods
Program documentation
internal and external program documentation
differing documentation requirements for technical staff and users
Programming paradigms
an appreciation of the existence of and fundamental differences between procedural, functional, logic and object-oriented paradigms
Context

It is expected that candidates will have a working knowledge of at least one language in one of the contemporary paradigms. They will be able to design, code, test, implement and document programs of a moderate complexity in terms of the nature of the problem and the data structures and processing techniques required for its solution.

5.10 Project Management and Quality Assurance

Preamble

This area deals with the methods and problems of managing and assuring the quality of computing system projects, particularly from the viewpoint of the practitioner as a member of the project team. The area takes a balanced approach to software quality in that there is a focus on both product and process issues. Factors that impact quality outcomes associated with all phases of development are addressed. Throughout there should be a constructive focus on quality; that is, quality requirements are planned and specified, processes are then put in place to satisfy these requirements, and these processes are supported by integral processes which ensure that the quality requirements have been satisfied.

Table of Topics
Concepts and Models
project definition
project success
measuring success
post-implementation reviews
project size
lines of code
effort/duration
function points
project life cycle
Project Management Techniques
steering committees
project justification
project planning
project development strategies
methodologies
risk assessment
estimation
quality assurance
scheduling
project tracking and reporting
Introduction to Software quality
Understanding and Measuring Quality
The Costs and Benefits of Quality
Role of People in Producing Quality Software
Factors that Impact the Quality of Software
Software Quality Planning
Role of Planning
Software Quality Requirements
Preparing a Software Quality Plan
Implementing a Software Quality Plan
Preparing a Quality Manual
Processes for Assuring the Quality of Software
Risk Management
Conformance to Standards
Reviews, Audits, Walkthroughs and Inspections
Verification, Validation and Testing
Configuration Management
Product Quality
Software Product Standards
Quality Attributes of Software
Product Characteristics of Quality Software
Measuring and Evaluating Product Quality and Associated Metrics
Process Quality
Software Process Standards
Process Definition
Process Measurement
Process Assessment
Process Improvement
Capability Evaluation
Procurement of Software
Post Development Software Quality Assurance
Maintenance and Evolution of Software
Re-engineering of Software
Software Product Quality Improvement
Context

An understanding of the principles, techniques and tools of project management are essential in the management of the inherent complexities of the systems development lifecycle. The study of this area presumes there have been previous studies in systems analysis and software engineering which covers the software life-cycle and the use of associated standards. Proficiency in programming in at least one language is also expected.

5.11 Security

Preamble

Information technology professionals are increasingly responsible for the incorporation of security services and mechanisms into overall information systems under development and in operation. This responsibility is expected to increase as national and international Guidelines and legislation are developed and enforced. The I.T. Professional will need to be familiar with Social, Governmental and Legal requirements in this area and to incorporate appropriate technologies into systems during the development phase with appropriate levels of security management created for ongoing usage of the systems.

Table of topics

Historical Background
Role of information technology professionals
Societal, Governmental and Legal Imperatives for Information Systems Security and Privacy
International guidelines (OECD Privacy and Information Systems Security Guidelines)
Regional security requirements (European Community)
Legal requirements - Australia's Privacy Act, State privacy and computer security / crime related Acts and Regulations
Australian standards for information security
Professional Responsibility and Information Systems Security
Relationships between concepts of Quality, Safety, Reliability, and Security / Software Engineering
Computer Security
Hardware requirements and features
Operating systems security
Access control, Authentication, Integrity, Confidentiality e.g. RACF, ACF-2, etc.
UNIX security (an example of techniques)
Database security
Personal computer/Small systems security
Security Technologies
Access control mechanisms
Algorithms - Hash, One-way and Related Functions / SHA, ISO
Cryptography
Symmetric and Asymmetric techniques
Commonly-used ciphers: DES, RSA, RC2-4, IDEA, SAFER, etc.
Key Management
Modes of usage
Authentication architectures
Third party schemes/certificates
Network Security
Early proprietary and mainframe technologies - IBM, DEC
Open Systems Interconnection security architecture (ISO 7498-2)
Security services and mechanisms
MIT "Kerberos"
ECMA model - "SESAME"
Security and telecommunications services
Computer-telephone integration
Trusted Systems and Networks
"Rainbow" series (USA) / National Criteria, e.g. Canada, Australia, and others
ITSEC / ITSEM (Europe)
Concepts of security functionality and enforcement/verification
Common criteria
Significance of trusted systems technologies
Verification techniques and software engineering
Security in the Distributed Systems (Client/Server) and Object Oriented Environments
Security and Specific Industry Requirements
Health care industry
Banking and finance industry
Commercial and military government systems
Security Management
Responsibilities
Organisation
Management requirements

5.12 Software Engineering and Methodologies

Preamble

This unit deals with the design and implementation of programs and large software systems that meet specifications and are safe, secure, reliable, dependable and maintainable. It includes models of the software development process, requirements analysis, specification, design, implementation, validation and verification, documentation and the use of appropriate software tools.

Table of topics
Fundamentals of Software Engineering
requirements analysis
functional and technical specifications
process, data and object orientation models
documentation standards
software testing
software maintenance
software quality assurance
formal specification methods
software configuration management
Project Management
project planning, estimation and control
project evaluation and control techniques
team construction and management
principles of software project management
prototyping
Context

Candidates should be exposed to the practices of "programming in the large". It is expected that software assignments will be managed along the same lines as would be used for the development and implementation of large, complex systems. The emphasis of this area is not merely the writing of programs but the team interaction and project management which is an integral part of a large software system. There must be an underlying theme of producing software which is of the quality expected by the user and which meets the user's specifications.

© Copyright 1995- 2010 Australian Computer Society Inc.