Executive summary
This section introduces learners to the principles and practices involved in software engineering, with particular emphasis on modelling languages, UML class diagrams, software testing strategies and object-oriented solution development.
Learners begin by exploring modelling languages and their role in system design, including the purpose and use of UML and XML. They then develop their ability to translate business requirements into UML class diagrams and refine those models from existing code.
The section progresses into software testing, covering different testing strategies, testing phases and the use of testing and automation tools. Learners then apply their knowledge through the development of an object-oriented solution based on a UML design.
The section concludes with testing, documentation and practical evidence of the completed software solution.
Aims
- Understand the purpose and application of modelling languages.
- Apply UML techniques to represent software systems.
- Translate business requirements into class-based designs.
- Understand and evaluate software testing strategies.
- Use appropriate testing tools and techniques.
- Develop an object-oriented solution from a software design.
- Test, document and evaluate a software solution.
Summary of learning outcomes
- LO1 — Understand modelling languages and their role in software and system development.
- LO2 — Be able to design and refine UML class diagrams for software solutions.
- LO3 — Understand software testing strategies, phases and tools.
- LO4 — Be able to develop and test an object-oriented software solution based on an appropriate design.
Indicative content
- Modelling languages: UML, XML, the purpose of modelling languages and where they are used.
- Benefits in system design: quality, reuse, flexibility and modularisation.
- UML class diagrams: mapping business requirements to classes, relationships and software structures.
- Reverse engineering and refinement: interpreting existing code and refining UML class diagrams.
- Testing strategies: white-box and black-box testing, model-based approaches, alpha testing, beta testing and acceptance testing.
- Testing tools: concepts and application of software testing and automation tools.
- Object-oriented development: implementing software from UML designs using an appropriate programming language, including collections and generics where applicable.
- Testing and documentation: unit testing, integration testing, test cases, test reports and software documentation.
Assessment approach
Understanding is reinforced through short quizzes, scenario-based activities and short-answer tasks. Practical competence is developed through UML modelling exercises, code-based activities and software development tasks.
The practical assessment strand includes the creation and refinement of UML class diagrams, implementation of software based on a supplied UML design, and the production of test cases and a brief test report.
The assessment process therefore combines conceptual understanding with practical software engineering evidence.
Curriculum
- 4 Sections
- 8 Lessons
- 280 Hours
- Subsection 1: Modelling Languages (LO1)Unit 1.1 – Overview of Modelling Languages2
- Subsection 2: UML Class Diagrams & Implementation (LO2)2
- Subsection 3: Testing Strategies & Tools (LO3)2
- Subsection 4: OO Solution Project (LO4)2








