Académique Documents
Professionnel Documents
Culture Documents
UNIVERSITY
Corn Kernel Variety Recognition System is an application which determines the variety of a corn
using back propagation. To be guided in the implementation of the specifications presented in the
SRS, the Software Design Description should be accomplished. The SDD document describes all of
the essential components of the system to satisfy the requirements given by the client. This
report is used especially during implementation of the system.
Table of Contents
Signature....................................................................................................................................................................................2
Change History..........................................................................................................................................................................3
Preface........................................................................................................................................................................................4
Table of Contents.......................................................................................................................................................................5
List of Figures............................................................................................................................................................................6
List of Tables..............................................................................................................................................................................7
1. Introduction...........................................................................................................................................................................8
1.1. Purpose............................................................................................................................................................................................. 8
1.2. Scope................................................................................................................................................................................................ 8
1.3. Definitions and Acronyms................................................................................................................................................................ 8
2. References..............................................................................................................................................................................9
3. Decomposition Description.................................................................................................................................................10
3.1. Module Decomposition..................................................................................................................................................................10
3.1.1. Module 1 Description............................................................................................................................................................ 10
3.1.2. Module 2 Description............................................................................................................................................................ 10
3.2. Concurrent Process Decomposition................................................................................................................................................10
3.2.1. Process 1 Description........................................................................................................................................................... 10
3.2.2. Process 2 Description .......................................................................................................................................................... 10
3.3. Data Decomposition....................................................................................................................................................................... 10
3.3.1. Data Entity 1 Description..................................................................................................................................................... 10
3.3.2. Data Entity 2 Description..................................................................................................................................................... 10
4. Dependency Description .....................................................................................................................................................11
4.1. Inter-module Dependencies............................................................................................................................................................ 11
4.2. Inter-process Dependencies............................................................................................................................................................ 11
4.3. Data Dependencies......................................................................................................................................................................... 11
5. Interface Description...........................................................................................................................................................12
5.1. Module Interface ........................................................................................................................................................................... 12
5.1.1. Module 1 Description............................................................................................................................................................ 12
5.1.2. Module 2 Description............................................................................................................................................................ 12
5.2. Process Interface ............................................................................................................................................................................ 12
5.2.1. Process 1 Description........................................................................................................................................................... 12
5.2.2. Process 2 Description........................................................................................................................................................... 12
6. Detailed Design....................................................................................................................................................................13
6.1. Module Detailed Design ................................................................................................................................................................ 13
6.1.1. Module 1 Detail.................................................................................................................................................................... 13
6.1.2. Module 2 Detail.................................................................................................................................................................... 13
6.2. Data Detailed Design......................................................................................................................................................................13
6.2.1. Data Entity 1 Detail ............................................................................................................................................................. 13
6.2.2. Date Entity 2 Detail.............................................................................................................................................................. 13
7. Appendices...........................................................................................................................................................................14
8. Index.....................................................................................................................................................................................15
9. Annexes.................................................................................................................................................................................16
9.1. Data flow diagram (optional).......................................................................................................................................................... 16
9.2. Class diagram................................................................................................................................................................................. 16
9.3. Use case realization (Sequence diagram / Communication diagram)..............................................................................................16
9.4. User interface design......................................................................................................................................................................16
9.5. Entity-relationship diagram............................................................................................................................................................ 16
List of Figures
FIGURE NO DESCRIPTION
1. Introduction
This document describes the design for the Corn Kernel Variety Recognition System. To be able to
modularize the software in proper way, first we will decompose project into modules which are
different than the others in terms of structure and functionality. Purpose of this decomposition is
as follows, when software decomposed into separate modules, than it is easier to implement
these modules separately and test them. Also any possible change on one of the modules will
have a minimal effect on the other modules. So decomposition is obviously a necessary and
beneficiary part of software design. After giving decomposition of the system, we will describe
the dependencies of among these separate modules. In most cases, there would be dependency
between modules even if they have been separated in a best possible way. These dependencies
will be in form of the relationship between different modules. After dependency section, interface
description follows. These interface descriptions will be enough for a user to use that module.
Hence, these 3 chapters will describe the modules without going into too much detail from
different perspectives. Later, as the last part of these document, detailed description about design
of modules will be given. In this section, each component and its internal details will be described
in detail
1.1. Purpose
The purpose of this document is to provide a description of the design of the Corn Kernel Variety
Recognition System fully enough to allow for software development to proceed with an
understanding of what is to be built and how it is expected to be built. This document expands
the functionality described by the features in the Software Requirements Specifications (SRS).
Each feature discussed will describe the functionality, classes, attributes and methods to be
implemented.
1.2. Scope
This document takes the features as outlined in the SRS and expands each of the features to
include the design issues of user interface, data flow, process analysis and then module design.
The features are described by the Use Case names given in the descriptions and diagrams in the
SRS. It also focused on the base level system and critical parts of the system on generation of the
documents and modification of the documents.
Page 9 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
1.4. Overview
In this document, detailed design of the system with user interfaces will be described. In section
3; Decomposition of the system with module decomposition, concurrent process decomposition
and data decomposition is given, in section 4; Dependency Description is given, in section 5; User
Interface Description can be found and finally in section 6 Detailed Design of the system is
provided.
Page 10 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
2. References
Nykjaer, K. Neural Network Backpropagation with Java. Retrieved August 15, 2017
from http://kunuk-wordpress.com/2010/10/11/neural-network-backpropagation-with-
java/
Paliwal, J., N.S. Visen and D.S. Jayas, 2001. Evaluation of neural network architectures for cereal
grain classication using morphological features. J. Agric. Engng. Res., 79(4): 361-370.
Pazoki A., Farokhi F. & Pazoki Z. Corn Seed Varieties Classification Based on Mixed
Morphological and Color Features Using Artificial Neural Networks
Steenhoek, L.W., M.K. Misra, W.D. Batechelor and J.L. Davidson, 2001.Probabilistic neural networks
for segmentation of features in corn kernel images. Appl. Eng. Agric., 17(2): 225-234.
Page 11 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
3. Decomposition Description
This section describes the design entities that composes the whole system. System is not a one
big component which does all functionality itself; instead mainly system decomposes of two main
components which are namely Server Component and Interface Component. These components
also decomposed into smaller modules according to their structure and functionality.
3.1.1. TrainingSystem
The train system module is responsible for the training of the extracted features stored in the
database. It contains the training set information which is displayed in the table inside the
TRAINING SET pane. The training set is the replication of the extracted features stored in the
database. The TRAINING STATUS pane comprises the number of samples that are stored in the
database, the current error value when the training process is on progress, the elapsed time the
training has been running, the maximum number of iterations for the training and number of
hidden nodes which must be specified first by the user to be able to proceed to training and
finally the iterations (epochs) that the training has consumed. The ADD TRAINING SET button
allows the user to go through the UPDATE VARIETY FORM where the user can update the features
stored in the database. START TRAINING button is responsible for the training of the extracted
features stored in the database and which are replicated in the table above. The training only
start if the user have inputted the maximum runs for the training session. STOP TRAINING button
allows the user to interrupt the ongoing training of the features. Detailed GUI design will be given
in Interface Description section of this document.
Page 12 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
3.1.2. CornVarietyRecognizer
Corn Kernel Variety Recognition System is the module responsible for the testing and recognizing
corn variety base on the image fed into the system. LOAD IMAGE button allows the user to choose
a test image for testing. Test images are with .jpg extension. The selected test image is reflected to
the IMAGE frame of the test system form. Once the test image have been selected, the user should
click the RECOGNIZE button to recognize the corn kernel variety. The name of the variety is
placed on VARIETY NAME label of the RECOGNITION DETAILS frame. The matching percentage is
printed on the MATCH PERCENTAGE label. Detailed GUI design will be given in Interface
Description section of this document.
3.2.2. MainUserInterface
Home serves as the main page navigating from a frame to other frames by providing links. It is
the first frame to appear once the application is running.
Page 13 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
Page 14 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
4. Dependency Description
Page 16 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
4.3.1 CornVarietyRecognizer
Page 17 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
4.3.2 TrainingSystem
4.3.3 VarietyUpdate
Page 18 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
4.3.3 AccountLogin
4.3.4 AccountRegistration
Page 19 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
4.3.5 PasswordUpdate
4.3.6 NewVariety
Page 20 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
5. Interface Description
5.1.1. MainUserInterface
5.1.2. Menu
Page 21 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
5.1.4. About
Page 22 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
5.1.5. Help
5.1.6 CornVarietyRecognizer
Page 23 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
Page 24 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
5.1.8 TrainingSystem
5.1.9 VarietyUpdate
Page 25 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
5.1.10 NewVariety
5.1.11 AccountRegistration
Page 26 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
5.1.12 PasswordUpdate
Page 27 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
Page 28 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
5.1.2 Help
5.1.3 About
Page 29 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
5.1.4 AccountRegistration
5.1.5 CornVarietyRecognizer
Page 30 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
5.1.6 AccountLogin
5.1.7 PasswordUpdate
Page 31 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
5.1.8 TrainingSystem
5.1.9 VarietyUpdate
6 Detailed Design
6.1.1 MainUserInterface
6.1.2 About
Page 33 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
6.1.3 Help
6.1.4 AccountRegistration
Page 34 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
6.1.5 CornVarietyRecognizer
6.1.6 AccountLogin
Page 35 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
6.1.8 TrainingSystem
Page 36 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
Page 37 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
6.1.11 BackPropagation
Page 38 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
6.1.12 FeedForwardComputation
6.1.13 Neuron
Page 39 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
6.1.14 ColorFeatures
Page 40 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
6.1.15 FeaturesExtraction
Page 41 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
6.1.16 NeuronConnection
Page 42 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
Page 43 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
Page 44 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
Page 45 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
7 Appendices
Page 46 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017
8 Index
Page 47 of 47