Vous êtes sur la page 1sur 47

CEBU INSTITUTE OF TECHNOLOGY

UNIVERSITY

COLLEGE OF COMPUTER STUDIES

Software Design Description


for
Corn Kernel Variety Recognition System
Signature
Change History
Date Version Description Author
9/25/2017 1.0 Software Design Jannie Fleur V. Oraño
Document(SDD)
10/8/2017 2.0 Software Design Jannie Fleur V. Oraño
Document(SDD)
10/12/2017 3.0 Software Design Jannie Fleur V. Oraño
Document(SDD)
Preface

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. System architecture of the corn kernel recognizer


2. Inter-module Dependencies
3. Corn Kernel Variety Recognition System Class Diagram
4. Inter-process Dependencies
5. Corn Kernel Variety Recognition System Entity-Relationship
Diagram
6. CornVarietyRecognizer Dataflow Diagram
7. TrainingSystem Dataflow Diagram
8. VarietyUpdate Dataflow Diagram
9. AccountLogin Dataflow Diagram

10. AccountRegistration Dataflow Diagram


11. PasswordUpdate Dataflow Diagram
12. NewVariety Dataflow Diagram

13. MainUserInterface Frame

14. Menu Sub Item


15. About Sub Item

16. About System Form

17. Help Form

18. CornVarietyRecognizer Frame

19. Dialog box for choosing a test image

20. TrainingSystem Frame


21. VarietyUpdate Frame

22. NewVariety Frame

23. AccountRegistration Frame


24. PasswordUpdate Frame

25. MainUserInterface Sequence Diagram

26. Help Sequence Diagram

27. About Sequence Diagram

28. AccountRegistratiom Sequence Diagram


29. AccountRegistratiom Sequence Diagram

30. AccountLogin Sequence Diagram


31. PasswordUpdate Sequence Diagram

32. TrainingSystem Sequence Diagram

33. VarietyUpdate Sequence Diagram


List of Tables
Table 1. tblVar Entity Details
Table 2. tblfeat Entity Details
Table 3. tblPasscode Entity Details
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017

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.3. Definitions and Acronyms

VSU Visayas State University


ANN Artificial Neural Network
IDE Integrated Development Environment
JDK Java Development Kit
IEEE Institute of Electrical and Electronic Engineers
OS Operating System
GUI Graphical User Interface
Expert A person who has access to all functionalities of the system
GuestUser A person who can access only the recognition part of the corn kernel
Artificial Neural Network Artificial neural networks are statistical learning models, inspired by
biological neural networks (central nervous systems, such as the
brain), that are used in machine learning.
Neuron An artificial neuron is a mathematical function conceived as a model
of biological neurons, a neural network. Artificial neurons are
elementary units in an artificial neural network.
Hidden Layer Neuron A hidden layer neuron is a neuron whose output is connected to the
inputs of other neurons and is therefore not visible as a network
output
Output Layer The last fully-connected layer of a neural network
SRS Software Requirements Specification
SDD Software Design Description
ERD Entity-Relationship Diagram
SRS Software Requirement Specifications
UML Unified Modelling Language

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

Roger S. Pressman , Software engineering : a practitioner's approach. 6th edition, McGrawHill


international edition.

IEEE standard 10161998 recommended practice for software design descriptions.

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.

Figure 1. System architecture of the corn kernel recognizer

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. Concurrent Process Decomposition


3.2.1. AccountLogin
This class will verify if a person trying to access the training and updating of the dataset is
authorized or not. If not, an error message is displayed reminding that the user is not
authorized to access such system. A detailed description will be given in section 6.

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.

3.3. Data Decomposition

3.3.1. tblVar Entity


This is an entity holding the Variety ID and Variety Name of corn kernel variety stored the database

3.3.2. tblfeat Entity


An entity that stores the features extracted like Red, Green, Compactness, Roundness and etc.
from the loaded and trained corn kernel image.

Page 13 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017

3.3.3. tblpasscode Entity


An entity the stores the features extracted like Red, Green, Compactness, Roundness and etc.
from the loaded and trained corn kernel image.

Page 14 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017

4. Dependency Description

4.1. Inter-module Dependencies

Figure 2. Inter-module Dependencies

4.2. Inter-process Dependencies

Figure 3. Corn Kernel Variety Recognition System Class Diagram


Page 15 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017

Figure 4. Inter-process Dependencies

Page 16 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017

4.3. Data Dependencies

Figure 5. Corn Kernel Variety Recognition System Entity-Relationship Diagram

4.3.1 CornVarietyRecognizer

Figure 6. CornVarietyRecognizer Dataflow Diagram

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

Figure 7. TrainingSystem Dataflow Diagram

4.3.3 VarietyUpdate

Figure 8. VarietyUpdate Dataflow Diagram

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

Figure 9. AccountLogin Dataflow Diagram

4.3.4 AccountRegistration

Figure 10. AccountRegistration Dataflow Diagram

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

Figure 11. PasswordUpdate Dataflow Diagram

4.3.6 NewVariety

Figure 12. NewVariety Dataflow Diagram

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. Module Interface

5.1.1. MainUserInterface

Figure 13. MainUserInterface Frame

5.1.2. Menu

Figure 14. Menu Sub Item

Page 21 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017

5.1.3. About Menu

Figure 15. About Menu Sub Item

5.1.4. About

Figure 16. About System Frame

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

Figure 17. Help Frame

5.1.6 CornVarietyRecognizer

Figure 18. CornVarietyRecognizer Frame

Page 23 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017

5.1.7 Load Image Open Dialog box

Figure 19. Dialog box for choosing a test image

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

Figure 20. TrainingSystem Frame

5.1.9 VarietyUpdate

Figure 21. VarietyUpdate Frame

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

Figure 22. NewVariety Frame

5.1.11 AccountRegistration

Figure 23. AccountRegistration Frame

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

Figure 24. PasswordUpdate Frame

Page 27 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017

5.2. Process Interface


5.1.1 MainUserInterface

Figure 25. MainUserInterface Sequence Diagram

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

Figure 26. Help Sequence Diagram

5.1.3 About

Figure 27. About Sequence Diagram

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

Figure 28. AccountRegistratiom Sequence Diagram

5.1.5 CornVarietyRecognizer

Figure 29. AccountRegistratiom Sequence Diagram

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

Figure 30. AccountLogin Sequence Diagram

5.1.7 PasswordUpdate

Figure 31. PasswordUpdate Sequence Diagram

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

Figure 32. TrainingSystem Sequence Diagram

5.1.9 VarietyUpdate

Figure 33. VarietyUpdate Sequence Diagram


Page 32 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017

6 Detailed Design

6.1 Module 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.7 Forgot or Change Password

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

6.1.9 Update Training Set

6.1.10 Add New Variety

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

6.1.17 Total Time

Page 42 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017

6.2 Data Detailed Design


6.2.1 tblVar Entity Detail

FieldNames Type Description

varID (Primary) int(11) Primary unique identifier

varName varchar(20) Corn Kernel Variety Name


Table 1. tblVar Entity Details

6.2.2 tblfeat Entity Detail

Page 43 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017

FieldNames Type Description

varID (Foreign Key) int(11) Foreign Key identifier

Red double Extracted Red Feature from trained image sample


Extracted Green Feature from trained image
Green double
sample
Blue double Extracted Blue Feature from trained image sample
Hue double Extracted Hue Feature from trained image sample
Extracted Saturation Feature from trained image
Saturation double
sample
Extracted Value Feature from trained image
Value double
sample
Extracted Chrominance Blue Feature from trained
Chrominance_b double
image sample
Extracted Chrominance Red Feature from trained
Chrominance_r double
image sample
Extracted Extent Feature from trained image
Extent double
sample
Extracted Roundness Feature from trained image
Roundness double
sample
Extracted Compactness Feature from trained
Compactness double
image sample
Extracted Shape1 Feature from trained image
Shape1 double
sample
Extracted Shape2 Feature from trained image
Shape2 double
sample
Extracted Shape3 Feature from trained image
Shape3 double
sample
ExpectedOutput int(11) Expected output variety
Table 2. tblfeat Entity Details

Page 44 of 47
Software Design Descriptions Document Version: 3.0
Corn Kernel Variety Recognition System Published Date: 13 10 2017

6.2.3 tblPasscode (Passcode) Entity Detail

FieldNames Type Description


name char(50) Registered User’s name
mobile bigint(100) Mobile number
email varchar(30) Email Address
username(primary) Varchar(50) Username
password Varchar(50) User password
Table 3. tblpasscode Entity Details

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

Vous aimerez peut-être aussi