SDS - mazmaz2k/Minimal-balanced-node-separator GitHub Wiki

SDS - Software Design Specification

Introduction Document Goals

According to the use cases and the user stories we described on the SRS page before, we'll build a guideline scheme for our project.

This Document will describe the system architecture.

The goal of this design page are:

  1. Preparation for the realization of our software.
  2. Help us to split the tasks of the implementation between team members.
  3. Checking correctness of software design.
  4. Save coding cumbersome
  5. Realizing preparation clearly code
  6. Focus on the developments we should think about in advance, before we start coding.
  7. In this document you will find several diagrams: Deployment diagram, CRC Cards& Class diagram and sequence diagrams.

Main Product Features & Capabilities

Capability Capability Description Risk Level
1 Implementation platform The software will be implemented in Java in the eclipse environment Low
2 Mode of operation The law department will be fully synchronized with the graph department Medium
3 Software division The software will be divided into two different directions of one work of the theory rules and the other of a graph representing the theory Critical
4 Functional The data structure of the graph /rules will be dynamic Medium
5 Mode of operation The graph's data structure will run the algorithm for finding the DFS binding component, and will find the largest. Critical
6 Technical specification The data structure of the Graph/Rules will be built
according to the data structure of the rules Format of body-> head
Critical
7 Test We will run tests on existing models so that there seems to be an improvement in running times. Critical
8 Functional The graph data class will return up to three vertices for the set of rules to place in these variables. Medium

Related Documentation

UML Modeling

(Each diagram should come with a description section, discussing the various considerations leading to the suggested design)

Graph Class Diagrams

Rules Class Diagrams

Rules & graph Class Diagrams

Deployment diagram

Behaviour : Sequence Diagrams

Deployment diagram

Non-functional Requirements

  • All system’s components are based on Java , as required.
  • Eclipse provides simple management interface which does not require any knowledge in software development or programming languages.
  • Security is not necessary in our software.

Initial Test Plan

Task Time To Complete (Days)
1 Test software with simple set of rules 1
2 Test app with various set of rules 3
3 Testing the application with the mentors cnf file 4
4 Bug Fix 4
5 Present the final project to the mentors 1

Risk Management

Risk Severity Response
1 Delay of development processes in building data structures. Medium Using existing data structures
on the Internet.
2 New Team Low Diversity will help us overcome problems
3 The algorithm for decomposing the largest bonding component will not break the binding element equally Low We'll try to break down with a few vertices.
We will still improve the running time after decomposition.
4 There is not a large set of rules that we know the inefficient running time for his solution Medium Resolve with set of existing
laws that we already have.
5 Lack of experience with the framework High Get assistance from the lecturer and from the Internet.
6 The synchronization of the graph class and the
structure of the data structure of the rules will not work
High The work on building the departments will be done in full coordination.
7 Choosing the working environment and programming language
is not suitable for running a large set of rules
Low Enough that the theory will work then the code can be passed to a variety
of more efficient programming languages.
8 Trying to recover by log file will prove to be ineffective Medium we will find more elegant level of code is found for the memory of deleted vertices and rules.
9 If no minimum model exists after decomposing the binding element Low If there is no minimal model, we will use the regular model..
10 Our software functionality will be rejected by the mentors Medium We will talk about the design on the meetings and keep in touch on regular basis.
⚠️ **GitHub.com Fallback** ⚠️