update to iso-29148-tables

This commit is contained in:
2025-12-27 13:50:20 +01:00
parent 4f6cb1b26b
commit 6a8c653e75
2 changed files with 57 additions and 55 deletions

View File

@@ -12,21 +12,27 @@ This is a simple yet complete todo application that demonstrates:
## Requirements Implemented ## Requirements Implemented
### Structure
| Requirement ID | Requirement Text | Priority | Rationale |
|---|---|---|---|
| REQ-F-001 | The application shall allow users to create new todo items with a title and optional description. | High | Core CRUD functionality required for basic operation |
| REQ-NF-008 | The application shall complete all todo operations (create, read, update, delete) within 100 milliseconds. | Medium | Performance requirement for user experience |
### Functional Requirements ### Functional Requirements
- **REQ-001**: Create Todo Items - Add new todos with title and optional description - **REQ-F-001**: Create Todo Items - Add new todos with title and optional description
- **REQ-002**: List Todo Items - Display all todos with status and metadata - **REQ-F-002**: List Todo Items - Display all todos with status and metadata
- **REQ-003**: Mark Todo as Complete - Toggle completion status on/off - **REQ-F-003**: Mark Todo as Complete - Toggle completion status on/off
- **REQ-004**: Delete Todo Items - Remove todos from the list permanently - **REQ-F-004**: Delete Todo Items - Remove todos from the list permanently
- **REQ-005**: Edit Todo Items - Update title and description of existing todos - **REQ-F-005**: Edit Todo Items - Update title and description of existing todos
### Non-Functional Requirements ### Non-Functional Requirements
- **REQ-006**: Data Persistence - All todos saved to `todos.json` file - **REQ-NF-006**: Data Persistence - All todos saved to `todos.json` file
- **REQ-007**: Input Validation - Titles validated (non-empty, max 200 chars) - **REQ-NF-007**: Input Validation - Titles validated (non-empty, max 200 chars)
- **REQ-008**: Performance - All operations complete within 100ms - **REQ-NF-008**: Performance - All operations complete within 100ms
- **REQ-009**: Code Quality - Comprehensive error handling with descriptive messages - **REQ-NF-009**: Code Quality - Comprehensive error handling with descriptive messages
- **REQ-010**: User Interface - Simple CLI with menu-driven interface - **REQ-NF-010**: User Interface - Simple CLI with menu-driven interface
## Features ## Features
@@ -87,16 +93,16 @@ Each requirement is implemented and can be traced in the code:
| REQ ID | Feature | Implementation | Status | | REQ ID | Feature | Implementation | Status |
|--------|---------|-----------------|--------| |--------|---------|-----------------|--------|
| REQ-001 | Create todos | `create_todo()` method | ✅ | | REQ-F-001 | Create todos | `create_todo()` method | ✅ |
| REQ-002 | List todos | `list_todos()` method | ✅ | | REQ-F-002 | List todos | `list_todos()` method | ✅ |
| REQ-003 | Mark complete | `mark_complete()` method | ✅ | | REQ-F-003 | Mark complete | `mark_complete()` method | ✅ |
| REQ-004 | Delete todos | `delete_todo()` method | ✅ | | REQ-F-004 | Delete todos | `delete_todo()` method | ✅ |
| REQ-005 | Edit todos | `edit_todo()` method | ✅ | | REQ-F-005 | Edit todos | `edit_todo()` method | ✅ |
| REQ-006 | Data persistence | `_load_todos()`, `_save_todos()` | ✅ | | REQ-NF-006 | Data persistence | `_load_todos()`, `_save_todos()` | ✅ |
| REQ-007 | Input validation | `_validate_title()` method | ✅ | | REQ-NF-007 | Input validation | `_validate_title()` method | ✅ |
| REQ-008 | Performance | JSON operations, efficient filtering | ✅ | | REQ-NF-008 | Performance | JSON operations, efficient filtering | ✅ |
| REQ-009 | Error handling | Try-except blocks, error messages | ✅ | | REQ-NF-009 | Error handling | Try-except blocks, error messages | ✅ |
| REQ-010 | CLI interface | `show_menu()`, `run()` methods | ✅ | | REQ-NF-010 | CLI interface | `show_menu()`, `run()` methods | ✅ |
## Example Session ## Example Session

View File

@@ -1,35 +1,31 @@
---
title: "Simple Todo Application - Requirements Specification"
version: "1.0"
date: "2025-12-05"
author: "System Engineering Team"
project: "SimpleApp"
status: "Draft"
format: "iso-29148-tables"
---
# Simple Todo Application - Requirements # Simple Todo Application - Requirements
## Functional Requirements ## Functional Requirements
### REQ-001: Create Todo Items | Requirement ID | Requirement Text | Priority | Rationale |
The application shall allow users to create new todo items with a title and optional description. |---|---|---|---|
| REQ-F-001 | The application shall allow users to create new todo items with a title and optional description. | High | Core CRUD functionality required for basic operation |
### REQ-002: List Todo Items | REQ-F-002 | The application shall display all created todo items in a list format with their current status. | High | Essential for user interaction and visibility |
The application shall display all created todo items in a list format with their current status. | REQ-F-003 | The application shall provide functionality to mark a todo item as complete or incomplete with a toggle action. | High | Core feature for tracking todo progress |
| REQ-F-004 | The application shall allow users to delete todo items from the list permanently. | Medium | Important for lifecycle management |
### REQ-003: Mark Todo as Complete | REQ-F-005 | The application shall allow users to edit the title and description of existing todo items. | Medium | Important for flexibility and error correction |
The application shall provide functionality to mark a todo item as complete or incomplete with a toggle action.
### REQ-004: Delete Todo Items
The application shall allow users to delete todo items from the list permanently.
### REQ-005: Edit Todo Items
The application shall allow users to edit the title and description of existing todo items.
## Non-Functional Requirements ## Non-Functional Requirements
### REQ-006: Data Persistence | Requirement ID | Requirement Text | Priority | Rationale |
The application shall persist all todo items to a JSON file so that data remains available after application restart. |---|---|---|---|
| REQ-NF-006 | The application shall persist all todo items to a JSON file so that data remains available after application restart. | High | Data persistence requirement for production use |
### REQ-007: Input Validation | REQ-NF-007 | The application shall validate that todo titles are not empty and are no longer than 200 characters. | High | Data quality and constraint validation |
The application shall validate that todo titles are not empty and are no longer than 200 characters. | REQ-NF-008 | The application shall complete all todo operations (create, read, update, delete) within 100 milliseconds. | Medium | Performance requirement for user experience |
| REQ-NF-009 | The application shall implement proper error handling with descriptive error messages for all operations. | High | User support and reliability requirement |
### REQ-008: Performance | REQ-NF-010 | The application shall provide a simple command-line interface with clear menu options and status feedback for user actions. | High | Usability and user experience requirement |
The application shall complete all todo operations (create, read, update, delete) within 100 milliseconds.
### REQ-009: Code Quality
The application shall implement proper error handling with descriptive error messages for all operations.
### REQ-010: User Interface
The application shall provide a simple command-line interface with clear menu options and status feedback for user actions.