article cover image
المُتطلَّبات غير الوظيفيّة
تطوير الويب والبرمجيات 7 دقائق 0 تعليق 65 مشاهدة
صورة المستخدم يوشع يوسف
يوشع يوسف
تم النشر 2026-07-05 15:42:07 - آخر تحديث 2026-07-06 14:44:03

Performance
  o Response Time / Latency
     Caching
      implementation details: Django-redis, Tanstack Query
     Server-side rendering (SSR) and static generation (SSG)
      implementation details: Next.js
     Optimized images and fonts:
      implementation details: Next.js
     Database Query to solve N+1 problems
      implementation details: Django ORM select_related and prefetch_related
     Database Query Efficiency
      implementation details: indexing on all foreign keys and fields used in django-filter filters
     Bypassing slow SMTP protocols in favor of API-driven email e.g. django-anymail
     Paginated Fetches to prevent overwhelming the client interface
  o Throughput
     async programming
      implementation details: async, Celery
     Background Processing
      implementation details: Celery
     Scheduled Tasks
      implementation details: Celery
     Parallel Processing
    
  o Resource Utilization
     Rate Limiting
     implementation details: DRF throttling, django-ratelimit
     implementation details: Tanstack Query Background Refetch Throttling
     implementation details: use-debounce + Tanstack Query Deduplication
     Maximum image upload size: 10 MB
     size bundle (is monitored with @next/bundle-analyzer)
     Reduced Motion
      implementation details: Nextjs Support prefers-reduced-motion
     Database Timeout
     Database Connection Pooling & Timeouts
      implementation details: PostgreSQL
     Database Transaction Timeout
    implementation details: prevent a runaway ORM query from taking down your entire PostgreSQL.
    
     Circuit Breakers (3rd-party APIs)
     Task Expiration:
      implementation details: If a task gets stuck, it must be killed to free the Celery worker.
    
  o
Usability
  o User Experience (UX)
     Implementation details: shadcn/ui
     standard keyboard controls
     Responsiveness
      Implementation details: Tailwind's responsive breakpoints, Bootstrap grid
     color palette, dark mode:
      Implementation details: Tailwind CSS
     Visual Stability
      Implementation details: <Suspense>
    
  o User Interface (UI)
     Implementation details: Bootstrap CSS components
    
  o Accessibility (a11y)
     Good SEO practices
     Implementation details: Next.js SEO optimization
     Implementation details: <img/> has alt
     internationalization (i18n)
    
  o
  o Learnability
     Common Words
     Clear Messages (loading, error, success, empty)
     standard formats
      Implementation details: timepicker-ui-react, date-fns
     universally recognized iconography
      Implementation details: Bootstrap icons CSS
     Semantic Color Contexts:
      Implementation details: Tailwind CSS, Bootstrap CSS
     Helper actions
  o
Maintainability
  o Developer Experience (DX)
     Type Safety
      Implementation details: Typescript
     Code Quality
     Structured Comments
      Implementation details: Markdown, Better Comments VS code extension
     Naming Conventions
     Folder Structure Conventions
     Api Documentation:
      Implementation details: drf-spectacular
     Version Control
      Implementation details: Git + GitHub
    
  o Modularity
     Implementation details: MVT
     Implementation details: Api Layer, Business Logic / Services , Serialization Layer
     Implementation details: UI, Logic, Data Fetching
    
  o Observability
     Logging
      Implementation details: structlog
     Monitoring
      Implementation details: Flower with Celery
      Tracing
      Implementation details: Sentry
    
  o Best Practices
     URL path versioning
     Fat models (custom manager, queryset, validator, constraints, indexes, )
     Thin view (services.py, utils.py)
    
  o Testability
     Implementation details: pytest-django
     Implementation details: Jest, React Testing Library
    
  o Backup
    Implementation details: PostgreSQL
  o
Security
  o Authentication
    Implementation details: JWT with with strict blacklisting, httpOnly cookies to prevent XSS, OAuth 2.0
  o Authorization
    Implementation details: DRF permissions
  o Encryption
    Implementation details: HTTPS
  o CORS
    Implementation details: Django cors headers
  o Secure storage of sensitive data e.g. environment variables.
     Implementation details: Django environ
     Implementation details: Next.js process.env
  o Rate Limiting to prevent Denial of Service (DoS) / brute-force attacks
     Implementation details: DRF throttling, Django-ratelimit
     Implementation details: Django axes, Django ipware
  o Data Validation
     Implementation details: DRF serializers
     Implementation details: sanitization via bleach to prevent injection and type-confusion attacks
     Implementation details: Zod, skipZod for large collections.
    
  o
Scalability
  o Horizontal Scaling
• Reliability
  o Fault Tolerance / Resilience / Graceful Degradation
     Exceptions Handling
     Database Transactions, ACID
     Retry
     Implementation details: Tanstack Query
     Implementation details: Celery
     Queue Overflow
     Implementation details: If the Redis Celery queue grows beyond 5,000 pending tasks, the system must stop accepting new tasks and return HTTP 503 (Service Unavailable) to the client, preventing OOM crashes.
     Implementation details: If your api provider goes down, Celery will retry indefinitely and clog the queue. You need a Circuit breaker.
    
  o Stability
     Implementation details: Node.js LTS
  o
Compatibility & Portability
  o CSS of Browsers
    Implementation details: Tailwind CSS
  o Modern browser support
    Implementation details: Next.js
  o

without Functional Requirements, the system is useless
without Non-Functional Requirements, the system is practically unusable

التعليقات (0)