Skip to content
Computer Science · Class 12 · Database Management Systems (Continued) · Term 2

Problem Identification and Requirements Gathering

Students will identify a real-world problem, define project scope, and gather functional and non-functional requirements for their capstone project.

CBSE Learning OutcomesCBSE: Project Work - System Design - Class 12

About This Topic

Problem identification and requirements gathering lay the groundwork for effective database management system projects in Class 12 CBSE Computer Science. Students spot real-world issues, such as stock tracking for local kirana stores or library book catalogues, using techniques like observation, stakeholder talks, and feasibility analysis. They define project scope to keep efforts focused and realistic.

Next, students differentiate functional requirements, which detail system actions like data insertion, search, and reports, from non-functional ones covering speed, security, scalability, and user interface simplicity. They collect these through interviews, surveys, and workshops, then refine them with user feedback loops. This process mirrors industry practices in system design.

These skills foster analytical thinking, clear communication, and user empathy, vital for capstone projects. Active learning excels here: role-plays and group critiques turn vague ideas into precise specifications, help students handle ambiguous user inputs, and reveal hidden needs through peer review, making the topic practical and memorable.

Key Questions

  1. Explain effective techniques for identifying a suitable problem for a software project.
  2. Differentiate between functional and non-functional requirements in software development.
  3. Analyze how user feedback can refine project requirements.

Learning Objectives

  • Identify a specific real-world problem suitable for a database management system capstone project, justifying its relevance.
  • Differentiate between functional and non-functional requirements for a proposed software project, providing at least three examples of each.
  • Analyze user feedback to refine and prioritize functional and non-functional requirements for a given project scope.
  • Design a preliminary project scope document outlining the boundaries and objectives of a software solution.
  • Critique a set of user requirements for clarity, completeness, and feasibility.

Before You Start

Introduction to Database Concepts

Why: Students need a basic understanding of what databases are and why they are used to appreciate the need for well-defined projects.

Basic Software Development Life Cycle (SDLC)

Why: Familiarity with the initial phases of SDLC, like planning and analysis, provides context for problem identification and requirements gathering.

Key Vocabulary

Problem IdentificationThe process of recognizing and defining a specific issue or need that can be addressed through a technological solution, such as a software application.
Project ScopeDefines the boundaries of a project, detailing what will be included in the software solution and what will be excluded, to ensure focus and manageability.
Functional RequirementsDescribe the specific actions or functions a software system must perform, such as data entry, search operations, or report generation.
Non-Functional RequirementsSpecify the qualities or constraints of the system, including performance, security, usability, and reliability, rather than specific behaviors.
StakeholderAn individual or group who has an interest in or is affected by a project, such as end-users, clients, or project managers, whose input is crucial for requirements gathering.

Watch Out for These Misconceptions

Common MisconceptionAny real-world problem suits a software project.

What to Teach Instead

Not all problems need databases; assess fit by data needs and scope. Group brainstorming with feasibility checklists helps students evaluate options and discard mismatches through discussion.

Common MisconceptionFunctional requirements include all details; non-functional ones are extras.

What to Teach Instead

Non-functional requirements ensure usability and reliability, like load times under 2 seconds. Sorting activities clarify distinctions, as students debate and justify placements, building precise thinking.

Common MisconceptionRequirements stay fixed after initial gathering.

What to Teach Instead

They evolve with feedback. Simulations of feedback loops show changes, helping students value iteration and adapt specs collaboratively.

Active Learning Ideas

See all activities

Real-World Connections

  • Software engineers at Infosys use detailed requirement specifications to build custom inventory management systems for retail chains like Reliance Retail, ensuring features like stock tracking and sales reporting meet business needs.
  • App developers for Zomato gather functional requirements for new features like table booking or loyalty programs, and non-functional requirements for app speed and user interface responsiveness, based on user feedback and market analysis.
  • A local government IT department in Delhi might identify the need for a citizen grievance redressal system, defining requirements for data security and accessibility for all residents.

Assessment Ideas

Exit Ticket

Provide students with a brief scenario of a local problem (e.g., managing a community garden's resources). Ask them to list two functional and two non-functional requirements for a potential app to solve this problem. Also, ask them to identify one potential stakeholder.

Quick Check

Present students with a list of requirement statements. Ask them to classify each as either 'Functional' or 'Non-Functional'. For example: 'The system must allow users to search for books by title.' (Functional) or 'The system must load search results within 2 seconds.' (Non-Functional).

Peer Assessment

Students work in pairs to define the scope for a hypothetical project (e.g., a school event management system). They then exchange their scope documents. Each student reviews their partner's document and provides feedback on clarity and completeness, answering: 'Are the project boundaries clearly defined?' and 'Are the main objectives understandable?'

Frequently Asked Questions

What techniques identify suitable problems for Class 12 database projects?
Use observation of daily issues, like shop inventory errors, brainstorming sessions, and stakeholder chats. Check feasibility: data scope, tech availability, and impact. CBSE projects thrive on local problems, such as school result systems, ensuring relevance and manageability within term limits.
How to differentiate functional and non-functional requirements?
Functional requirements describe actions, like 'generate sales reports' or 'validate user login'. Non-functional cover qualities: 'system handles 100 users at once' or 'interface loads in 3 seconds'. Use checklists and examples from real apps to classify, vital for robust database designs.
Why analyse user feedback to refine project requirements?
Feedback uncovers gaps, like missed mobile access needs. Iterative reviews align specs with user realities, reducing rework. In capstone work, present drafts to peers or teachers, note changes, and document evolution for better project outcomes.
How does active learning aid problem identification and requirements gathering?
Role-plays mimic real interviews, building questioning skills and handling vague responses. Group sorts and feedback simulations clarify concepts through debate, while pitching problems hones scope definition. These make abstract steps tangible, boost collaboration, and prepare students for industry teamwork, far beyond rote listing.