System Design – Open stack : The system analysis and design mainly deals with software development activity. OpenStack Cloud design document describes how exactly the project works, it includes use case models, sequence diagrams, data flow diagrams etc. Use case diagrams explain the interaction between the application and the user and the functionalities performed. The architecture explains the overall functionality of the system and the sequence diagram explains the data flow between the entities.
Chef is the automation tool used for the installation of OpenStack using Devstack, Jenkins is a continuous integration tool which will also used in a part of project. The DFD’s, Usecase diagram, Sequence Diagram’s, ER diagram are created manually in MS word.
A DFD shows the flow of data through a system. It views a system as function that transforms the input into desired outputs. Data flow diagram is drawn to pictorially represent the data stored, processes used, entities involved in the system and the information flow.
REFERENCES
- An Integrated Approach to Software Engineering by Pankaj Jalote
- Object Oriented Modelling and Design with UML by Michael R Blaha and James R
- www.stackskills.com
Level 0 DFD or Context Flow Diagram:
Level-0 also called context DFD, shows the whole system in one process. It shows system’s major processes, data flows etc.


Level 1 DFD
DFD level-1 is built on top of level-0, and it sub-divides the system into multiple modular groups.

Here a user who wants to cloud instance will send the credentials to Keystone, in return user will get the list of tenants he has. Keystone retrieves these details from the data storage which will be in built with OpenStack framework. Then user determines the correct endpoint to be launched and sends a request for cloud instance, this token will be verified here and forwarded to service which will execute the request and finally sends the status back to user.

All the nodes of the OpenStack send logs to the Logstash server which will be stored and maintained in the ElasticSearch. The users of the Logstash access the logs through the Kibana UI. They can filter based on certain conditions if they need and can access. Kibana UI collects it from the Logstash server.
SEQUENCE DIAGRAM:



USE CASE DIAGRAM

DATABASE DESIGN
Table 5.8.1: Domain Table | ||||
Field | Type | Null | Key | Default |
Id | Varchar(64) | NO | PRI | Null |
Name | Varchar(64) | NO | UNI | Null |
Enabled | Tinyint(1) | NO | Null | |
Extra | text | YES | Null |
Table 5.8.2: Domain_Version Table | ||||
Field | Type | Null | Key | Default |
Repo_id | Varchar(250) | NO | PRI | Null |
Repo_path | Text | YES | Null | |
Version | Int(11) | YES | Null |
Table 5.8.3: Tenant Table | ||||
Field | Type | Null | Key | Default |
Id | Varchar(64) | NO | PRI | Null |
Name | Varchar(64) | NO | Null | |
Extra | Text | YES | Null | |
Description | Text | YES | Null | |
Enabled | Tinyint(1) | YES | Null | |
Domain_id | Varchar(64) | NO | Null | |
User_id | Varchar(64) | NO | Null |
Table 5.8.4: Role Table | ||||
Field | Type | Null | Key | Default |
Id | Varchar(64) | NO | PRI | Null |
Name | Varchar(255) | NO | UNI | Null |
Extra | Text | YES | Null |
Table 5.8.5: Token Table | ||||
Field | Type | Null | Key | Default |
Id | Varchar(64) | NO | PRI | Null |
Expires | Datetime | YES | Null | |
Extra | Text | YES | Null | |
User_id | Varchar(64) | YES | Null |
Table 5.8.6: User Table | ||||
Field | Type | Null | Key | Default |
Id | Varchar(64) | NO | PRI | Null |
Name | Varchar(255) | NO | Null | |
Extra | Text | YES | Null | |
Password | Varchar(128) | YES | Null | |
Domain_id | Varchar(64) | NO |
ER Diagram:

Class Diagram:
Download System Design:
Download project report:
- Download Project synopsis
- Download project SRS
- Download system design
- Download implementation
- Download testing document