Syllabus Point
- Define and analyse the requirements of a problem
Including:
- demonstrating need(s) or opportunities
- assessing scheduling and financial feasibility
- generating requirements including functionality and performance
- defining data structures and data types
- defining boundaries
Add your teaching notes, worked examples, and classroom activities here.
Demonstrating need(s) or opportunities
Needs
Essential functionalities the software must provide to solve a problem or meet stakeholder expectations
Opportunities
Additional features or enhancements that offer added value beyond minimum requirements
Key questions
- What problem/s is the software solving?
- What are the user pain points?
- How could the solution improve user experience or efficiency?
Assessing scheduling and financial feasibility
Once needs are outlined, their feasibility needs to be assessed based on:
- Time constraints (scheduling feasibility)
- Budget (financial feasibility)
Use a Gantt chart to plan the timeline and identify dependencies
- Break down requirements into milestones
- Categorise as critical, important, optional
- Dependencies are features that depend on others
Key questions
- Which of the needs and opportunities will be achieved first?
- Which are dependent upon the previous completion of another?
Generating requirements including functionality and performance
Need to write clear, testable requirements for:
- Functionality - what the system must do
- Performance - speed, load times, response under user load
Eg. the system must process 100 transactions per second
Defining data structures and data types
Define how data will be stored and manipulated
- Using data dictionaries, class diagrams, data flow diagrams
- Identify fields, data types, relationships
Defining boundaries
Boundaries define what the system will and will not do - sets realistic expectations for clients and users
Internal boundary
What's implemented in the system (eg authentication)
External boundary
Systems or devices that interact via interfaces (eg payment gateways)
Environment interaction
Systems may interact with hardware (barcode scanners etc) and software APIs (maps, social media logins etc)
Key questions
- What is in the environment that will interact with the system through an interface?
- What is within the scope (project responsibilities)
- What is out of scope (external services, manual processes)
- What external systems must be integrated?
Related Resources
Keep Progressing
Use the lesson navigation below to move through the module sequence.