Computer Science
Beginner
200 mins
Teacher/Student led
What you need:
Chromebook/Laptop/PC

User Needs and Planning the Database

In this lesson, you'll explore how to identify user needs through user-centred design principles. You'll plan a database schema, assign team roles, discuss ethical considerations, and create an initial plan document to guide your interactive information system project.

Teacher Class Feed

Load previous activity

    1 - Introduction

    In this lesson, you'll learn how to identify user needs using user-centered design principles, which put the user at the center of everything. You'll also plan your database schema, assign team roles, discuss ethical considerations, and create an initial plan document.

    This lesson is designed to build your skills in creating an effective interactive information system. It should span several sessions, allowing you time to think deeply and collaborate with your team.


    Remember, an interactive information system relies on understanding what users really need and designing a database that abstracts and organises data effectively to meet those needs.

    2 - Team Role Assignment Activity

    Work with your team to assign roles for this planning phase. This builds on the team formation from the overview lesson.

    Roles could include:

    • Researcher (gathers user needs)
    • Designer (sketches schema)
    • Ethicist (leads discussions)
    • Documenter (compiles the plan)

    Discuss strengths: If someone excelled in the Databases unit, assign them schema planning.

    Activity: Spend 15 minutes in your team assigning roles and noting responsibilities in a shared document.
    Effective collaboration ensures everyone contributes to abstracting and planning the database.

    3 - Understanding User-Centered Design

    User-centered design focuses on putting the user at the heart of the development process. This means identifying who your users are, what problems they face, and how your system can solve them effectively.

    Key principles include:

    • empathy (understanding user perspectives)
    • iteration (refining based on feedback)
    • usability (making the system intuitive)

    For example, in your interactive system, consider users like students needing to search a library database – design for ease of use, not just functionality.

    The user-centered design process is a cycle that includes the following stages:

    1. Research Users (gathering information about who your users are and their behaviours)
    2. Define Needs (analysing the research to pinpoint specific user requirements)
    3. Ideate Solutions (brainstorming creative ideas to address those needs)
    4. Prototype (building simple models of your ideas)
    5. Test (evaluating the prototypes with users and gathering feedback)

    You can use this cycle in your project by starting with user research, moving through each stage, and then looping back to research or any other stage as needed to refine your design. Abstraction comes in here by simplifying complex user data into manageable models during the definition and ideation stages.

    4 - Defining User Needs

    Now, let's define the needs for your interactive information system. This step is crucial for abstraction – you're representing real-world data in a simplified way. By focusing on what users truly require, you'll ensure your database is efficient and relevant, avoiding unnecessary complexity.

    1. List your users (e.g., students, teachers, or administrators) and their goals (e.g., students might want to add or view grades, while teachers could need to update records or generate reports). Think about different user groups and what they aim to achieve with the system.
    2. Identify requirements: Functional (e.g., the ability to search data, add new entries, or generate summaries) and non-functional (e.g., the system should load quickly, be secure, or work on mobile devices). Consider how these requirements impact the data you'll store.
    3. Use abstraction to categorise data – think of entities like 'User' or 'Item' and their attributes (e.g., a 'User' entity might have attributes such as Name, Email, and Role). This simplifies real-world information into structured categories, focusing only on essential details.

    For instance, if building a library system, a student user might need to search for books by title or author, so you'd abstract book data into attributes like Title, Author, ISBN, and Availability.

    Create a simple table in a document: Columns for User Type, Needs, and Data Required. Fill it with all the user types and their details to guide your planning.

    Here is an example table for a library system :

    User TypeNeedsData Required
    StudentSearch for books, check availability, reserve itemsBook Title, Author, ISBN, Availability Status
    TeacherUpdate book records, generate reports on loansBook ID, Loan History, User ID
    AdministratorManage user accounts, ensure system securityUser Name, Email, Role, Access Logs
    123learn · Online learning platform

    Unlock the full learning experience

    You're previewing this lesson. Get full access to this lesson and hundreds more — each one ready to teach, with interactive activities, printable resources and pupil progress tracking built in.

    Hundreds of curriculum-aligned lessons
    Interactive activities in every lesson
    Printable resources & progress tracking
    Copyright Notice
    This lesson is copyright of Coding Ireland 2017 - 2026. Unauthorised use, copying or distribution is not allowed.
    🍪 Our website uses cookies to make your browsing experience better. By using our website you agree to our use of cookies. Learn more