Get 15% off on your first assignment order and best assignment writing service for HND AssignmentsOrder Now

Have Any Question?

UK +4474648-84564

Free Support


Unit 40 Distributed Software Applications


· Aim

To provide learners with an understanding of the principles of distributed computing, and apply the skills to design and build software applications delivered on distributed platforms.

· Unit abstract

Irrespective of framework or delivery platform, the development of distributed software applications is now at the core of many commercial applications development projects. Where no single resource contains the entire system and the client-server environment has moved to a more web-based and cloud-based solution.

This unit allows learners to become familiar with the underpinning concepts of distributed software applications design, without needing to develop particular skills in one chosen language. Each of the languages have the capacity to develop distributed and it is not important which language is chosen and can be based on the range of languages available in the qualification.

Content in this unit ties into skills developed in other programming units. All units may be delivered in partnership to offer the learner the best possible experience and scope for a larger project. As with all programming, the unit’s focus of developing a distributed software application solution to meet identified needs is made along with one that emphasises the importance of testing and reviewing. Learners taking this unit may work on distributed video, networked applications or remote database calls amongst other systems.

· Learning outcomes

On successful completion of this unit a learner will:
  1. Understand the principles of distributed computing
  2. Be able to design distributed software applications
  3. Be able to implement distributed software applications
  4. Be able to test distributed software applications.

Unit content

1         Understand the principles of distributed computing

Frameworks: considerations eg selection of networking class libraries, selection of classes, identification of resources, suitability for system requirement; remote calls; data exchange; distribution system eg database, networked application, data exchange, web server, game, audio communication, video communication, data stream

Communications: specification eg protocols used, design of new protocols, data stream, use of networking class library, use of remote calls, use of database requests, framework interactions, DNS, addressing requirements, ports

Interaction: requirements eg selection of framework, language requirements, system requirements

Security: procedures eg remote access considerations, local defence, firewall rules, network traffic rules, Quality of Service (QoS) limitations

2         Be able to design distributed software applications

Application: selection eg identification of programming language, identification of libraries, selection of development environment

Design methodology: tactic eg reuse of existing resources, adaptation of code, use of open source

Design method: technique eg class responsibilities, collaboration cards, class diagrams, identification of dependencies and inheritances

Specification: contents eg input, output, processes, user needs, purpose, communications method

Creation of application: use of development environment; debugging

Delivery environment: device eg mobile, handheld, web based, desktop, dedicated device, server

Interaction: considerations eg remote exchange of data, local exchange of data, environment, compliance, compatibility, recognition of standards employed

Communications: specification eg bandwidth, protocol, compatibility, port, security considerations

3         Be able to implement distributed software applications

Implement: tools and techniques eg tool boxes and controls, selection, loops, event handlers, event driven triggers, listeners, objects and object properties, menus, debugging tools

Data: data types eg variables, declaring variables, scope of variables, constants

Remote communication: method eg use of existing methods, use of existing classes,

Programming: options eg use of methods, use of ‘traditional coding’, use of libraries Complexity: complex techniques eg multiple classes, multiple code elements, remote communication

IDE: typical elements eg source code editor, compiler, interpreter, build automation tools, debugger

4         Be able to test distributed software applications

Testing: mechanisms eg valid declarations, debugging code, comment code, naming conventions, checking functionality against requirements, documentation

Communications testing: testing eg bandwidth, traffic analysis

Errors: handling eg management of extremes, use of system imposed statements, interaction between .Net classes

Impact testing: types eg range testing, input testing, load testing, system compatibility

Documentation: technical documentation eg designs, delivery system, platform, environment, file structures, coding, constraints, maintenance requirements

Learning outcomes and assessment criteria

Learning outcomes   On successful completion of this unit a learner will: Assessment criteria for pass   The learner can:
LO1 Understand the principles of distributed computing discuss the principles, characteristics and features of distributed computingcritically evaluate the impact of distributed software applications delivered on distributed computing platforms
LO2 Be able to design distributed software applications design a distributed software application for a given problemexplain the components and data and file structures required to implement a given design
LO3 Be able to implement distributed software applications implement a distributed software application solution based on a prepared designdefine relationships between components to implement design requirementsidentify and implement opportunities for error handling and reportingmake effective use of an Integrated Development Environment (IDE) including code and screen templates
LO4 Be able to test distributed software applications critically review and test a distributed software applicationanalyse actual test results against expected results to identify discrepanciesevaluate independent feedback on a developed distributed software application and make recommendations for improvementscreate user documentation for the developed distributed software applicationcreate technical documentation for the support and maintenance of a distributed software application.


Links to National Occupational Standards, other BTEC units, other BTEC qualifications and other relevant units and qualifications

The learning outcomes associated with this unit are closely linked with:

Level 3 Level 4 Level 5
  Unit 18: Procedural Programming Unit 39: Computer Games Design Development
  Unit 19: Object Oriented Programming Unit 40: Distributed Software Applications
  Unit 20: Event Driven Programming Solutions Unit 41: Programming in Java
  Unit 21: Software Applications Testing Unit 42: Programming in .NET
  Unit 22: Office Solutions Development  
  Unit 23: Mathematics for Software Development  

This unit has links to the Level 4 and Level 5 National Occupational Standards for IT and Telecoms Professionals, particularly the areas of competence of:

  • Software Development.