Projects / Portfolio

SETB Electronic Test Bench Data Analysis System

EL2311 course project · C# WinForms

A test data management system for industrial electronics. Imports XML data in batches, detects faults and generates reports. Operators run daily tests; administrators can perform custom read-only queries.

Quality report statistics showing test data results
User roles
2
Fault and warning rules
8
SQL validation layers
2
Attempts before lockout
5
Font zoom levels
5

Why I built it

Manual recording and analysis do not scale well to batches of industrial electronic test data. This system covers import, parsing, storage, fault detection and reporting to reduce manual analysis work.

Role-based access

The application defines separate operator and administrator accounts and opens the appropriate interface after login. Five consecutive failed login attempts trigger a 30-second lockout. The lockout is saved locally and read at startup, so restarting the application does not bypass it.

Login alert showing an account locked for 30 seconds after repeated failures
Security alert after too many login attempts

Import and error handling

XML files are validated before import. Null-coalescing handles missing fields, preventing a missing node from crashing the full parser. Individual invalid records are skipped and counted without blocking the remaining data. Parsed records are batch-inserted into SQLite within a transaction for consistency and efficiency.

XML import result showing 12 successful records and one invalid record skipped
XML parsing: 12 imported, one invalid record skipped

Fault diagnosis

A static configuration class centralises six fault rules and two warning rules. Read-only model properties encapsulate the checks, avoiding duplicated business logic. Threshold changes only require editing the configuration class.

Quality report with pass rates and fault distributions by test batch
Quality report statistics
Health diagnostic log listing device states over time
System health diagnostic log

Concurrent states and safe queries

The system handles transitions such as normal → high-temperature warning → simultaneous overheating and power failure → normal within one day, distinguishing faults from warnings on the timeline. Custom administrator SQL is checked twice: the interface blocks modification keywords such as DELETE, DROP and UPDATE, and the database layer validates the query again. Only read-only queries are permitted.

Daily log showing normal operation, high-temperature warning, concurrent overheating and power failure, and recovery
Concurrent faults and warnings within one test day
Security message blocking a custom query containing a modification keyword such as DELETE
Blocking SQL statements that modify data

Architecture

The application separates presentation, services, data models and utilities. The core class diagram documents responsibilities and inheritance, composition and dependency relationships.

Core UML class diagram showing presentation, services, models and utilities with inheritance, composition and dependencies
Core UML class diagram

Core workflows

Sequence diagrams cover three core scenarios: login and authorisation, operator data import and report generation, and administrator read-only queries.

Sequence diagram of login and authorisation calls between the interface, services and data layer
Login sequence
Sequence diagram of operator data import and report generation
Operator workflow sequence
Sequence diagram of an administrator’s custom read-only query with two SQL validation layers
Administrator workflow sequence

Additional details

A consistent dark theme is applied recursively across forms, detecting control types and styling them without individual configuration. Reports and data tables support five font zoom levels to improve accessibility.

Threshold rationale

Thresholds reflect the device’s physical characteristics: a safe voltage range of 3.0–5.5V; current faults above 2.0A; temperature warnings at 70–80°C and faults above 80°C; power warnings above 5.0W; a fault at 0% battery; and communication faults above a 0.15 error rate. These values reference common MCU logic levels and semiconductor junction-temperature limits.

← Explore other projects