1. Introduction 4
1.1 Purpose 4
1.2 Scope 4
1.3 Definitions, Acronyms, and Abbreviations. 4
1.4 References 4
1.5 Overview 4
2. The Overall Description 5
2.1 Product Perspective 5
2.1.1 Interfaces 6
2.1.2 Hardware Interfaces 6
2.1.3 Software Interfaces 6
2.1.4 Memory Constraints 6
2.1.5 Operations 6
2.1.6 System Adaptation Requirements 6
2.2 Product Functions 7
2.3 User Characteristics 7
2.4 Constraints 8
2.5 Assumptions and Dependencies 8
2.6 Apportioning of Requirements 8
3. Specific Requirements 9
3.1 Functions 9
3.2 Logical Database Requirements 10
3.3 Design Constraints 10
GUI shall be composed using Java libraries 10
3.4 Software System Attributes 10
3.4.1 Security 10
3.5 Organizing the Specific Requirements 11
3.5.1 System Mode 11
3.5.2 User Class 11
The system contains a single user (no login required). This user can perform all processes and access the entire system (no permission restriction). 11
The user can choose whether they want to analyze data and do extensive and complex tests on the system (manual
data entry, manually adding objects) and finally get analyzed data and conclusions from the analysis, or check previously entered data (run the simulation) or new data by Excel file to keep in the database (Or will not be saved) and to conclude simple visual and final results. 11
3.5.3 Objects 11
Traffic-light: 11
Attributes: 11
Id,
now time, vehicle amount,
current color, driving direction,
my crossroad, my roads[ ], my neighbors[ ] 11
Functions: 11
Send message to my neighbor – the traffic light can send specific information about traffic controlling and timing to other traffic lights. 11
Get id 11
Get/set time 11
Get/set current color 11
Write to DB 11
Read from DB 11
Update on time cycle – the details of traffic light will be update after all time cycle. 11
Crossroad: 11
Attributes: 11
Id, my traffic-lights[ ], my neighbors[ ] 11
Functions: 11
Send message to my neighbor (same as traffic light "send message to my neighbor") 12
Send message to my traffic-lights 12
Get id 12
Write to DB 12
Read from DB 12
Update on time cycle – the details of traffic light will be update after all time cycle. 12
Road: 12
Attributes: 12
Id, direction, speed allowed 12
Functions: 12
Get id 12
Get direction 12
Get speed allowed 12
Write to DB 12
Read from DB 12
Vehicle: 12
Attributes: 12
Id, type,
current speed, current road 12
Functions: 12
Get id 12
Get/set current speed 12
Get/set current road 12
Get type 12
Write to DB 12
Read from DB 12
Update on time cycle 12