Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

Addis Ababa Institute of Technology

Center of Information Technology and


Scientific Computing
Department of Software Engineering
Agricultural Marketing System

Software Design Specification


Team Members
 Eyob kibret
 Mehammed Teshome
 Kirubel Ayehu
 Gadisa Asfaw
 Ibrahim Abas

Advisor: Mr. Fitsum Alemu May 2018

i
Table of Contents
List of Tables ................................................................................................................................................ ii
Definitions, Acronyms, Abbreviations .................................................................................................... iv
Definitions, Acronyms, Abbreviations ........................................................................................................ iv
1. Introduction ........................................................................................................................................... 1
1.1 Purpose................................................................................................................................................ 1
1.2 General Overview ............................................................................................................................... 1
1.3 Development Methods & Contingencies ...................................................................................... 3
2. System Architecture .............................................................................................................................. 3
2.1 Subsystem decomposition ................................................................................................................... 3
2.2 Hardware/software mapping ............................................................................................................... 5
3. Object Model ........................................................................................................................................... 6
3.1 Class Diagram ..................................................................................................................................... 6
3.2 Sequence Diagram .............................................................................................................................. 7
3. Detailed Design ................................................................................................................................... 14
References ................................................................................................................................................... 25

i
2018
Online marketing system for agriculture
List of Tables
Table 1:Defination,Acronym and Abbreviations ........................................................................... iv
Table 2:Farmer class ..................................................................................................................... 14
Table 3: Attributes description for Farmer class........................................................................... 15
Table 4:Operation description for Farmer class............................................................................ 16
Table 5:Buyer class ....................................................................................................................... 16
Table 6:Attributes description for Buyer class ............................................................................. 16
Table 7:Operation description for Buyer class ............................................................................. 17
Table 8:Product/Crop class ........................................................................................................... 18
Table 9:Attributes description for Product/crop class .................................................................. 18
Table 10:Operation description for product .................................................................................. 19
Table 11: Sales class ..................................................................................................................... 19
Table 12: Attributes description for Sales .................................................................................... 19
Table 13:Operation description for Sales class ............................................................................. 20
Table 14:Attributes description for officer class .......................................................................... 20
Table 15 Operation description for Officer class .......................................................................... 21
Table 16: News Class.................................................................................................................... 21
Table 17 Attributes description for news ...................................................................................... 22
Table 18:Operation description for news ...................................................................................... 22
Table 19: Whether Forecast Class ................................................................................................ 22
Table 20 Attributes description for Whether Forecast .................................................................. 23
Table 21:Operation description for Whether Forecast.................................................................. 23
Table 22: MarketPrice Class ......................................................................................................... 24
Table 23 Attributes description for Market Price ......................................................................... 24
Table 24:Operation description for MarketPrice .......................................................................... 24

ii | P a g e
2018
Online marketing system for agriculture

List of Figures
Figure 1:Context Diagram ............................................................................................................................ 2
Figure 2:Subsystem Decomposition Layer 1 ................................................................................................ 3
Figure 3: Subsystem Decomposition Layer2 .............................................................................................. 4
Figure 4 Subsystem decomposition layer3 ................................................................................................... 4
Figure 5: Deployment Diagram .................................................................................................................... 5
Figure 6: Class Diagram ............................................................................................................................... 6
Figure 7:Sequence Diagram for Add Crop use case ..................................................................................... 7
Figure 11 Sequence Diagram for Remove Crop ........................................................................................... 8
Figure 12: Sequence Diagram for Register ................................................................................................... 9
Figure 13 : Delete User ............................................................................................................................... 10
Figure 14 :Create Order .............................................................................................................................. 11
Figure 15: Sequence diagram for add market price .................................................................................... 12
Figure 16 sequence diagram for add news .................................................................................................. 13
Figure 17 sequence diagram for add whether forecast................................................................................ 14

iii | P a g e
2018
Online marketing system for agriculture

Definitions, Acronyms, Abbreviations

Table 1:Defination,Acronym and Abbreviations

Terms Definitions, Acronyms, Abbreviations


Bilh Geber The systems name
Client-Server Architectural model with one serves the other(client)
DBMS Database Management System
http hypertext transfer protocol
PHP Hypertext Pre-processor
SDS System Design Specification
UI User Interface
UML Unified Modelling Language

iv | P a g e
2018
Online marketing system for agriculture

1. Introduction
1.1 Purpose

This document will outline in detail the software architecture and design for the Online Market
for Agriculture system project. This document will provide several views of the system's design
in order to facilitate communication and understanding of the system. It intends to capture and
convey the significant architectural and design decisions that have been made for the system.

1.2 General Overview

This SDS document contains descriptions and diagrams about the architectural model used,
component diagram, deployment diagram, class diagram, sequence diagram and detailed
description about the classes illustrated on the class diagram. The context diagram of the system
is illustrated as follows:

1|Page
2018
Online marketing system for agriculture

Figure 1:Context Diagram

2|Page
2018
Online marketing system for agriculture
1.3 Development Methods & Contingencies

The approach used for designing the system is Model-View-Controller architectural design
method (MVC). The system is going to be developed separately by individual members therefore
we need an architecture that helps us combine and organise implementations that are done by
individual members of the group. Considering the time left for implementation the system also
needs an architecture that supports us in fixing errors. Considering those requirements we found
that MVC come up with lots of benefits like separating the view and implementation detail .This
enables us to work separately and combine our works without much difficulty. This also enables
us to find and fix errors and Bugs found from implementation of other group members. MVC
also enable us to separate presentation of this system from activities that run behind the web.

The design is intended to be implemented using today’s powerful web markup and scripting
languages. Among these programming languages, HTML5, CSS, JAVASCRIPT and PHP
languages will be used to implement the system. The system also uses apache web server and
MySQL RDBMS for implementation

2. System Architecture
2.1 Subsystem decomposition

Figure 2: Subsystem Decomposition Layer 1

3|Page
2018
Online marketing system for agriculture

Member
Farmers Ui Managment

Market(
Transaction)
Managment
Online market
database

Whether Forcast
Managment

Bilh Gebere Crop Management


Officers Ui

Figure 3: Subsystem Decomposition Layer2

Figure 4 Subsystem decomposition layer3

4|Page
2018
Online marketing system for agriculture

2.2 Hardware/software mapping

Figure 5: Deployment Diagram


.

5|Page
2018
Online marketing system for agriculture
3. Object Model
3.1 Class Diagram

<entity>

Order Buyers
<entity> firstName:String
productName:String lastName:String
Price: Int Create phoneNumber:String
0..*
date:Date +orderProduct();
0..*
0..*
+Order(): 0..*

B uy Registration
name:string
Phone
number:String

view
Password:String
crop

s
0..*
0..*
1..* <entity>

r
<entity>

te
Farmer

s
0..*

gi
+register();

re
name:String
add or 1..* name:String
Price:Decimal 0..*
remove Phone number:String
Place:String 1..* 0..*
crop Password:String 0..*
+AddCrop(); News
+Add Product(); views
+RemoveCrop(); <entity>
+Bargain();
1..*
content:String
source:String
+add();
vie +view();
ws
0..*
1..* 0..*
MarketPrice
s
ord <entity>
rec
vie

0..*
content:String
ws

1..*
1..* source:String
<entity>
+add();
0..* +view();
BilhGebereOfficers
1..* records
Name:String 0..*
Role:String 1..*
1..* WhetherForcaste
+ReviewProduct();
<entity>
+AddNews();
rec ords content:String
source:String
+add();
+view();

Figure 6: Class Diagram

6|Page
2018
Online marketing system for agriculture

3.2 Sequence Diagram

Figure 7:Sequence Diagram for Add Crop use case

7|Page
2018
Online marketing system for agriculture

Figure 8 Sequence Diagram for Remove Crop

8|Page
2018
Online marketing system for agriculture
RegistrationController User
<<controller>. <<Entity>>
Form
Registration ui
<<Boundary>>
<<Boundary>>

user

1:Select register
()
1.1
getInformation()
1.2getInfomation
()
1.3 Display Form

2. Submit Form

2.1 returnForm

2.2 register()

2,4
confirmRegistrati
2.6 on
2.5 notifySucces
displayConfirmati
on

Figure 9: Sequence Diagram for Register

9|Page
2018
Online marketing system for agriculture

UserManager User
<<controller>. <<Entity>>
Form
bilh UserManagment
<<Boundary>>
gebere <<Boundary>>
offisor

1:Select
removeUser()
1.1
getInformation() 1.2 get UserLis()

1.3
returnUserList
1.3 Display list

2.select User

2.1 returnUser

2.2 Press
Remove Button
2.3 removeUser()

2.4 confirm
Removal

2.5 notifySucces
2.6 desplay
succes

Figure 10 : Delete User

10 | P a g e
2018
Online marketing system for agriculture

CropManager crop
<<controller>. <<Entity>>
Form
cropManagment
<<Boundary>>
Buyer <<Boundary>>

1:Select Crop()
1.1
getInformation() 1.2 get CropLis()

1.3
returnCropList
1.3 Display list

2.select Crop

2.1 returnCrop

2.2 Press Order


Button
2.3 orderCrop()

2.4 confirm order

2.5 notifySucces
2.6 desplay
succes

Figure 11 : Create Order

11 | P a g e
2018
Online marketing system for agriculture

Figure 12: Sequence diagram for Add Market Price

12 | P a g e
2018
Online marketing system for agriculture

Figure 13 sequence diagram for Add News

13 | P a g e
2018
Online marketing system for agriculture

Figure 14 sequence diagram for Add Whether forecast

3. Detailed Design
This section shows the detailed implementation of the classes from the class diagram and
sequence diagram.

Table 2:Farmer class

Farmer
+name: String

14 | P a g e
2018
Online marketing system for agriculture
+ phoneNumber: String
-password: String
+email: String
+addProduct ()
+viewCrop()

Table 3: Attributes description for Farmer class

Attribute Type Visibility Invariant


name String public name <> NULL and
must contain first,
middle and last name
and shouldn’t contain
special characters and
integers.
phoneNumber String public phoneNumber <>
NULL must be 10
digits and must start
by +251/09
email String public email <> NULL
 Must contain @
 Must contain.
(dot)
 Position of @ >1
 Position of
(dot)>position of
@+2
Position of (dot)+3<=
total length of email
address and the total

15 | P a g e
2018
Online marketing system for agriculture
character of the Email
is at least 5 characters
password String Private password should
contain at least 8
characters

Table 4:Operation description for Farmer class

Operation Visibility Return Argument Pre- Post


type Condition Condition
addProduct public String Product id, They have The product is
product the product seen for the
name buyers
viewProduct public String Product id, The product List of
product must exist products will
name be displayed

Table 5:Buyer class

Buyer
+Name: String
+ Phone Number: String
-Password: String
+Email: String
+orderProduct ()

Table 6:Attributes description for Buyer class

16 | P a g e
2018
Online marketing system for agriculture
Attribute Type Visibility Invariant
name String public name <> NULL and
must contain first,
middle and last name
and shouldn’t contain
special characters and
integers.
phoneNumber String public phoneNumber <>
NULL must be 10
digits and must start
by +251/09
email String public email <> NULL
 Must contain @
 Must contain.
(dot)
 Position of @ >1
 Position of
(dot)>position of
@+2
Position of (dot)+3<=
total length of email
address and the total
character of the Email
is at least 5 characters
password String private Password should
contain at least 8
characters

Table 7:Operation description for Buyer class

17 | P a g e
2018
Online marketing system for agriculture
Operation Visibility Return Argument Pre- Post
type Condition Condition
orderProduct public String Product name, The product The product
productId must present added in the
buyers order
list

Table 8:Product/Crop class

Product
+Name: String
+ Price: Integer
+Location: String
+addProduct ()
+removeProduct()

Table 9:Attributes description for Product/crop class

Attribute Type Visibility Invariant


name String public Name <> NULL and
must contain first,
middle and last name
and shouldn’t contain
special characters and
integers.
price int public Price <> NULL
location String public Location must be null
or must contain one or

18 | P a g e
2018
Online marketing system for agriculture
more of the
predefined set of
locations

Table 10:Operation description for product

Operation Visibility Return Argument Pre- Post


type Condition Condition
addProduct public String productName They have The product
the product is seen for
the buyers
removeProduct public String productName The product The product
is of list is free of
discarded unnecessary
product

Table 11: Sales class

Sales
+Date: date
+ Amount: decimal
+Customer: String
+Product: String
+new():sale

Table 12: Attributes description for Sales

Attribute Type Visibility Invariant


date date public Date must contain the
date when the sale is
happened
DD-MM-YY
amount Integer private It has to include the
amount of product at
sell

19 | P a g e
2018
Online marketing system for agriculture
customer String public The customers who
participate in sales
must included
product String public The productName to
be sold is found

Table 13:Operation description for Sales class

Operation Visibility Return Argument Pre- Post


type Condition Condition
new Public String Product There must New sale is
name,buyer, be new finished
farmer product for
sale

Table 14:Attributes description for officer class

Attribute Type Visibility Invariant


name String private name <> NULL and must contain first, middle and
last name and shouldn’t contain special characters
and integers.
phone String private phone <> NULL must be less than 10 digits and
must start by +251/09
password String private password <> Null, it must be greater than 4 digits
and it can contain special characters , integers and
characters
email String private email <> NULL
 Must contain @
 Must contain. (dot)
 Position of @ >1
 Position of (dot)>position of @ + 2

20 | P a g e
2018
Online marketing system for agriculture
Position of (dot)+3<= total length of email address
and the total character of the Email is at least 5
characters
gender String private Gender should be either “Female” or “male”

Table 15 Operation description for Officer class

operation Visibilit Return Argument Pre-condition Post-condition


y type
cancelMember public String phone Officer should The member detail
Number be logged in as should be removed
Administrator from database
changePassword private String oldPassword, Officer should User The user’s
newPassword be logged in as password should be
Administrator reset
changePersonal private String - Officer’s Officer’s personal
Info personal detail detail should be
should exist changed

Table 16: News Class


News

+source: String

+description: String

+addNews();

+viewNews():

21 | P a g e
2018
Online marketing system for agriculture
Table 17 Attributes description for news

Attribute Type Visibility Invariant

source String public Source <> NULL

description String public description <>


NULL

Table 18:Operation description for news

Operation Visibility Return type Argument Pre- Post


Condition Condition

addNews() public String Source Offices must Officer will be


,description have a news to acknowledge
be added with a success
message

viewNew() public String User must The system will


select view display all
news news available

Table 19: Whether Forecast Class

Whether Forecast

+source: String

+description: String

+add Whether Forecast ();

+view Whether Forecast ():

22 | P a g e
2018
Online marketing system for agriculture

Table 20 Attributes description for Whether Forecast

Attribute Type Visibility Invariant

source String public Source <> NULL

description String public description <>


NULL

Table 21:Operation description for Whether Forecast

Operation Visibility Return type Argument Pre- Post


Condition Condition

addNews() public String Source Offices must Officer will be


,description have a acknowledge
Attributes with a success
description message
for Whether
Forecast to be
added

viewNew() public String User must The system


select view will display
news all Attributes
description
for Whether
Forecast
available

23 | P a g e
2018
Online marketing system for agriculture

Table 22: MarketPrice Class

News

+source: String

+description: String

+addMarketPrice ();

+viewMarketPrice ():

Table 23 Attributes description for Market Price

Attribute Type Visibility Invariant

source String public Source <> NULL

description String public description <>


NULL

Table 24:Operation description for MarketPrice

Operation Visibility Return type Argument Pre- Post


Condition Condition

addNews() public String Source Offices must Officer will


,description have a Market be
Price to be acknowledge

24 | P a g e
2018
Online marketing system for agriculture
added with a success
message

viewNew() public String User must The system


select view will display
Market Price all Market
Price
available

References
 SDS template from Instructor Fitsum Alemu
 Software Engineering 9th edition- I. Somerville (Pearson, 2011) BBS
 Somerville Software Engineering book 9th Edition
 SDS documents from Instructor Fitsum Alemu
 Identification System SDS by Kidus Makonnen, Tibebe Solomon, Fraol Chala, Eyob
Solomon and Dereje Mengistu.
 Prakash Dhanasekar. "Software Design Specification". March 21, 2007. LinkedIn
corporation.13 March 2016. https://www.slideshare.net/mobile/ramPrakash1989/sds-
explanation
 Sensi . "Sample design document". 17 March 2009. Sensi org. 15 May 2016.<http://
www. sensi . org /.../LUT_LS_RDv1_1.doc >.
 http://www.tutorialspoint.com/uml/index.htm at May 5,2016(use this link for uml
diagrams)

25 | P a g e
2018
Online marketing system for agriculture

26 | P a g e

You might also like