Skip to content

Lecture Notes 3

Celil Özkan edited this page Feb 27, 2025 · 1 revision

CMPE 352 - Lecture Notes 3

Date: 27.2.2025

📚 Lecture Overview

In this lecture, we discussed previous projects, aligning requirements, the importance of incentives, and the process of defining and validating requirements. We also explored the tragedy of the commons and how collective behavior impacts society.


1. Review of Previous Projects

  • Lecturer asked what we did last week.
  • We searched for previous year projects.
  • Discussion on whether it's a good idea to take inspiration but not copy.
  • Ensuring requirements align properly.

2. Zero Waste Project Discussion

  • One group chose zero waste as a project topic.
  • Issues with incentives and rewards were discussed.
  • The importance of framing questions properly: "what" before "how."
  • Incentives help drive behavior change.
  • Metrics for success: Change in attitude, increased awareness, and visible impact (e.g., cleaner campuses, reduced littering).
  • Consideration of gamification, dashboards, and financial incentives (e.g., deposit return systems like Germany’s bottle refund policy).

3. Understanding Collective Problems & Tragedy of the Commons

  • Public resources are depletable and collective action impacts society.
  • Common excuses for inaction: "Will my effort save the world?"
  • Importance of shared responsibility and not ignoring tasks assuming others will handle them.
  • In industry, while tasks are divided, everyone must understand the bigger picture.

4. Requirements Specification

  • Discussion on defining requirements and their real-world applications.
  • Creating initial requirements and validating them.
  • Sketching user personas and scenarios to understand system behavior.
  • Importance of clarity: "User shall be able to..." instead of vague descriptions.
  • Glossary creation to ensure unambiguous terms.
  • Testing requirements even before system design.

5. Functional & Non-functional Requirements

  • Example functional requirement: "User shall be able to log waste by specifying type and quantity."
  • Example non-functional requirement: "System shall sustain 10k simultaneous users."
  • Importance of numbering, conciseness, uniqueness, and consistency.

6. Real-life Scenarios & Validation

  • Steps for validating requirements:
    1. Initial situation
    2. Normal flow of events
    3. Possible failure points
    4. Concurrent activities
    5. Termination conditions
  • Example: Handling system downtime with informative messages.

7. User Interaction & Customer Communication

  • At least half the team should engage with customers.
  • Observe body language and take structured notes.
  • Encouraging customers to elaborate on unclear points.

8. Mockups & User Scenarios

  • Define specific user goals and preconditions.
  • Example: "User shall be able to reset their password via email."
  • Mockups should be designed for both web and mobile.
  • Ensure all requirements are visually represented.

9. Next Steps

  • Prepare detailed elicitation questions for upcoming meetings.
  • Define glossary terms clearly.
  • Validate initial requirements and finalize essential ones first.
  • Organize a meeting before Sunday to refine questions and requirements.

📅 2nd Hour Preview:

  • Further discussion on requirement validation and refining system goals.
  • Exploring examples of how famous platforms (e.g., Twitter) evolved.

📝 Action Items:

  • Finalize and validate key requirements.
  • Complete glossary definitions.
  • Prepare for upcoming elicitation meeting.

⚡ Quick Tips:

  • Ask about anything unclear, don’t assume!
  • Define requirements precisely to avoid ambiguity.
  • Ensure each requirement is testable and well-documented.


Remember: "Good requirements lead to great products!" 😊

👥 Team Members

📌 Milestone Report

💬 Communication Plan

📋 Meeting Agendas

📅 Meeting Notes

📂 Backend Subgroup Meeting Notes

📂 Frontend Subgroup Meeting Notes

📂 Mobile Subgroup Meeting Notes

📚 Lecture Notes

🛠️ Team Best Practices

✍️ Guidance

❗ Issues

🚀 Project

🧱 Diagrams

👩‍💼 User Scenarios

Click to Expand ⬇️

🗂️ Templates

Clone this wiki locally