Page cover

710 Identifying and defining

Before you can begin building software, you need to define the problem you're solving and the scope of your solution.

Outline

This section of the Software Engineering Project focuses on the essential first stage of any development process: understanding what needs to be built and why. Students will learn to define the scope of their project, clarify user needs, and write a concise project requirements document. These skills form the foundation of all later stages of software engineering.

Targets

In this topic, students learn to:

  • Define user needs, goals, and the purpose of their software

  • Identify functional and non-functional requirements

  • Establish the scope, constraints, and success criteria for their project

  • Complete a structured scoping worksheet to guide future development

Glossary

Term
Definition

Scope

The boundaries of a project, including what it will and will not include

Functional requirement

A specific behaviour or function the system must perform

Non-functional requirement

A constraint or condition the system must meet, such as speed or reliability

Stakeholder

Anyone with an interest in the project, such as users or clients

Success criteria

Conditions that define when the project is considered complete or effective

Overview

Before any programming begins, software engineers must first understand what problem the software will solve and for whom. This process is called scoping. During this stage, you will define the overall purpose of your software, describe the key features it must include, and identify any constraints such as time, budget, or platform limitations. You will also consider the people using your software and how their needs influence the design.

In module 711, you will use a scaffolded example to help guide your thinking. This worksheet is not only a planning tool — it also becomes part of the project documentation that will guide you throughout development. Once your scope is clearly defined, you’ll be ready to plan your development timeline and begin writing code.

Last updated

Was this helpful?