SEC2G3

You might also like

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

ADDIS ABABA UNIVERISITY

ADDIS ABABA INSTITUTE OF TECHNOLOGY

CENTER OF INFORMATION TECHNOLOGY AND

SCIENTIFIC COMPUTING

DEPARTMENT OF SOFTWARE ENGINEERING

EFOY Payment Package


Software Design Specification

PREPARED BY:
Girmay Tadese
Hana Tesfaye
Kalab Amare
Kaleab Taye
Mahlet Workneh
Meron Zerihun

ADVISOR: Mr. Fitsum Alemu

May 2018
EFOY Payment Package 2018

Table of Contents
List of Tables ............................................................................................................................................... iii

List of figures ............................................................................................................................................... iv

Definitions, Acronyms, Abbreviations ......................................................................................................... v

1. Introduction ........................................................................................................................................... 1

1.1 Purpose................................................................................................................................................ 1

1.2 General Overview ............................................................................................................................... 1

1.3 Development Methods & Contingencies ............................................................................................ 1

2. System Architecture .............................................................................................................................. 2

2.1 Subsystem decomposition ................................................................................................................... 2

2.2 Hardware/software mapping ............................................................................................................... 4

3. Object Model ........................................................................................................................................... 5

3.1 Class Diagram ..................................................................................................................................... 5

3.1 Sequence Diagram .............................................................................................................................. 6

3. Detailed Design ................................................................................................................................... 11

References ................................................................................................................................................... 21
EFOY Payment Package 2018

List of Tables
Table 1:User class ....................................................................................................................................... 11
Table 2:Attributes description for User class .............................................................................................. 11
Table 3:Operation description for User class .............................................................................................. 11
Table 4:BankAccount Class ........................................................................................................................ 12
Table 5:Attributes description for BankAccount class ............................................................................... 12
Table 6:Operation description for BankAccount class ............................................................................... 12
Table 7:Bill Class........................................................................................................................................ 13
Table 8:Operation description for Bill Class .............................................................................................. 13
Table 9:Operation description for Bill class ............................................................................................... 13
Table 10:SystemRecord Class .................................................................................................................... 14
Table 11:Attributes description for SystemRecord class ............................................................................ 14
Table 12:Operation description for SystemRecord class ............................................................................ 15
Table 13:PaymentHandler Class ................................................................................................................. 15
Table 14:Attributes description for PaymentHandler class ........................................................................ 15
Table 15:Operation description for PaymentHandler class ........................................................................ 16
Table 16:LoginHandler Class ..................................................................................................................... 16
Table 17:Attributes description for LoginHandler class ............................................................................. 16
Table 18:Operation description for LoginHandler class ............................................................................. 17
Table 19:SignupHandler Class.................................................................................................................... 17
Table 20:Attributes description for SignupHandler class ........................................................................... 17
Table 21:Operation description for SignupHandler class ........................................................................... 17
Table 22:Comment Class ............................................................................................................................ 18
Table 23:Attributes description for Comment class.................................................................................... 18
Table 24:Operation description for Comment class.................................................................................... 18
Table 25:CommentHandler Class ............................................................................................................... 18
Table 26:Attributes description for CommentHandler class ....................................................................... 19
Table 27:Operation description for CommentHandler class ....................................................................... 19
Table 28:UploadHandler Class ................................................................................................................... 19
Table 29:Attributes description for UploadHandler class ........................................................................... 19
Table 30:Operation description for UploadHandler class ........................................................................... 20
Table 31:UsageHandler Class ..................................................................................................................... 20
Table 32:Attributes description for UsageHandler class ............................................................................ 20
Table 33:Operation description for UsageHandler class ............................................................................ 20
EFOY Payment Package 2018

List of figures
Figure 1:Component Diagram:Layer One .................................................................................................... 2
Figure 2:Component Diagram:Layer two ..................................................................................................... 2
Figure 3:Component Diagram:Layer Three(package) .................................................................................. 3
Figure 4: UML Deployment Diagram .......................................................................................................... 4
Figure 5: Class Diagram ............................................................................................................................... 5
Figure 6:Signup Sequence Diagram ............................................................................................................. 6
Figure 7:Login Sequence Diagram ............................................................................................................... 7
Figure 8:PayBill Sequence Diagram ............................................................................................................. 8
Figure 9:Upload Data Sequence Diagram .................................................................................................... 9
Figure 10:View Usage Sequence Diagram ................................................................................................. 10
Figure 11:Give Feedback Sequence Diagram ............................................................................................. 10
EFOY Payment Package 2018

Definitions, Acronyms, Abbreviations


CCS: Stands for Cascading Style Sheet which is used to style web pages.

HTML: Hyper Text Markup Language.

HTTP: Hyper Text Transfer Protocol.

JavaScript: A scripting programming language that is mostly used to make websites more interactive.

MVC: Model-View-Control architecture.


PHP: A Programming language that is used to build the back-end processes such as database
manipulation of a website.
EFOY Payment Package 2018

1. Introduction
1.1 Purpose
The purpose of SDS document is to translate the system requirements and business processes of
the “Efoy” Payment Package into a technical design that will be used to develop the system.

1.2 General Overview


The “Efoy” Payment Package aims at building a system that ensures good performance and
maintainable system that can be easily modified and maintained when certain changes are meant
to be applied on the system in the future.

To fulfill the aims of the project, the implementation of “Efoy” Payment Package will take a
Model-View-Controller system architecture (MVC). MVC is more suited because it maintains a
three tier architecture based on the explicit role divisions as Model- the raw data, View- the display
and Controller- the engine that performs the basic functions of the system. The Controller receives
request from the system and then works with the Model which results in the data that will be
presented by the View.

The subdivision of the “Efoy” Payment Package system using MVC into components helps make
the dependency amongst components very less and also loosens the coupling between them which
makes the system easy to maintain and modify in future preferences. This three tier architecture
will also ensure a fairly good performance for the system in terms of dynamic accessibility of data
without affecting the representation layers which will also enhance the maintainability of the
system.

1.3 Development Methods & Contingencies


The development of “Efoy” Payment Package system will include the following:

 It will be written using the latest versions of HTML, CSS, Javascript and PHP which allows
creating an efficient and reliable web based application.
 Since the system will include a database, we will use MySQL.
 The system will be running on Apache Web Server.

CENTER OF INFORMATION TECHNOLOGY AND SCIENTIFIC COMPUTING 1


EFOY Payment Package 2018

2. System Architecture
2.1 Subsystem decomposition
Component Diagram : layer one

Figure 1:Component Diagram:Layer One

Component Diagram: layer two

Figure 2:Component Diagram:Layer two

CENTER OF INFORMATION TECHNOLOGY AND SCIENTIFIC COMPUTING 2


EFOY Payment Package 2018

Component Diagram: layer three (package)

Figure 3:Component Diagram:Layer Three(package)

CENTER OF INFORMATION TECHNOLOGY AND SCIENTIFIC COMPUTING 3


EFOY Payment Package 2018

2.2 Hardware/Software Mapping


UML Deployment Diagram

Figure 4: UML Deployment Diagram

CENTER OF INFORMATION TECHNOLOGY AND SCIENTIFIC COMPUTING 4


EFOY Payment Package 2018

3. Object Model
3.1 Class Diagram

Figure 5: Class Diagram

CENTER OF INFORMATION TECHNOLOGY AND SCIENTIFIC COMPUTING 5


EFOY Payment Package 2018

3.1 Sequence Diagram


SIGNUP

Figure 6:Signup Sequence Diagram

CENTER OF INFORMATION TECHNOLOGY AND SCIENTIFIC COMPUTING 6


EFOY Payment Package 2018

LOGIN

Figure 7:Login Sequence Diagram

CENTER OF INFORMATION TECHNOLOGY AND SCIENTIFIC COMPUTING 7


EFOY Payment Package 2018

PAYBILL

Figure 8:PayBill Sequence Diagram

CENTER OF INFORMATION TECHNOLOGY AND SCIENTIFIC COMPUTING 8


EFOY Payment Package 2018

Upload Data

Figure 9:Upload Data Sequence Diagram

CENTER OF INFORMATION TECHNOLOGY AND SCIENTIFIC COMPUTING 9


EFOY Payment Package 2018

View Usage

Figure 10:View Usage Sequence Diagram

Give feedback

Figure 11:Give Feedback Sequence Diagram

CENTER OF INFORMATION TECHNOLOGY AND SCIENTIFIC COMPUTING 10


EFOY Payment Package 2018

3. Detailed Design
User Class

Table 1:User class

User
-name:String
-userName:String
-passcode:String
-role:String
-receipt:booelan
+login()
+signUp()

Attributes description for User class


Table 2:Attributes description for User class

Attribute Type Visibility Invariant


name String private name <> NULL and shouldn’t contain special characters and
integers.
userName String private userName <> NULL and must be unique and shouldn’t contain
special characters and integers.
passcode String private passcode <> NULL and must be more than or equal to 6
characters.
role String private role <> NULL and must be either an authenticated user or
ordinary user.
receipt boolean private receipt

Operation description for User class

Table 3:Operation description for User class

Operation Visibility Return Argument Pre-Condition Post Condition


type
login public boolean userName User must have an User shall access
passcode account. the system.

signUp public boolean None User needs to have a User shall have an
bill number. account.

CENTER OF INFORMATION TECHNOLOGY AND SCIENTIFIC COMPUTING 11


EFOY Payment Package 2018

BankAccount Class

Table 4:BankAccount Class

BankAccount
-bankAccountNo:int
-bankAccountPasscode:String
+validate()
+save(receiptNo:int)

Attributes description for BankAccount class

Table 5:Attributes description for BankAccount class

Attribute Type Visibility Invariant


bankAccountNo int private bankAccountNo must be equal to 9 digits.

bankAccountPasscode String private bankAccountPasscode <> NULL and must be more than or
equal to 6 characters.

Operation description for BankAccount class

Table 6:Operation description for BankAccount class

Operation Visibility Return Argument Pre-Condition Post Condition


type
validate public boolean receiptNo User must enter System should
account number verify the data
and account from the
passcode. database.
save public void receiptNo User must pay. System stores the
receipt number.

CENTER OF INFORMATION TECHNOLOGY AND SCIENTIFIC COMPUTING 12


EFOY Payment Package 2018

Bill Class

Table 7:Bill Class

Bill
+amount:float
+usage:float
+billNo:int
+payBill()
+updateBill()
+search()
+viewUsage()
+save(receiptNo:int)

Operation description for Bill Class

Table 8:Operation description for Bill Class

Attribute Type Visibility Invariant


amount float public amount cannot be zero or have negative values.

usage float public usage cannot be zero or have negative values.

billNo int public billNo must be equal to 9 digits.

Operation description for Bill class

Table 9:Operation description for Bill class

Operation Visibility Return Argument Pre-Condition Post Condition


type
payBill public void billNo User must have System shall
the receipt number confirm the
provided. validity of the
receipt number.
updateBill public void billNo User’s data should The bill should
amount exist. be updated.
usage
search public void billNo Authenticated user User shall see
must know the bill customer’s data.
number of a user.

CENTER OF INFORMATION TECHNOLOGY AND SCIENTIFIC COMPUTING 13


EFOY Payment Package 2018

viewUsage public amount None User must be User should see


usage logged in. bill usage.

SystemRecord Class

Table 10:SystemRecord Class

SystemRecord
+usage:float
+paymentDate:date
+name:String
+billNo:int
+userName:String
+commentDate:date
+passcode:String
+bankAccountNo:int
+bankAccountPassode:String
+fetchData()
+saveInfo()

Attributes description for SystemRecord class

Table 11:Attributes description for SystemRecord class

Attribute Type Visibility Invariant


usage float public usage cannot be zero or have negative values.

paymentDate date public paymentDate <> NULL and must be in the format of
date/month/year.
name String public name <> NULL and shouldn’t contain special characters and
integers.
billNo int public billNo must be equal to 9 digits.

userName String public userName <> NULL and must be unique and shouldn’t
contain special characters and integers.
passcode String public passcode <> NULL and must be more than or equal to 6
characters.
bankAccountNo int public bankAccountNo must be equal to 9 digits.

CENTER OF INFORMATION TECHNOLOGY AND SCIENTIFIC COMPUTING 14


EFOY Payment Package 2018

bankAccountPasscode String public bankAccountPasscode <> NULL and must be more than or
equal to 6 characters.

Operation description for SystemRecord class

Table 12:Operation description for SystemRecord class

Operation Visibility Return Argument Pre-Condition Post Condition


type
fetchData public String billNo Data must be The data must
requested be retrieved

saveInfo public void None Data must be The data must


provided in order be saved.
to be saved.

PaymentHandler Class

Table 13:PaymentHandler Class

PaymentHandler
-fee:float
-fine:float
-bankAccountNo:int
-bankAccountPasscode:String
+validateAccount()
+confirm(receiptNo:int)
+getReceipt()

Attributes description for PaymentHandler class

Table 14:Attributes description for PaymentHandler class

Attribute Type Visibility Invariant


fee float private fee cannot be zero or have negative values.

fine float private fine have negative values.

bankAccountNo int private bankAccountNo must be equal to 9 digits.

bankAccountPasscode String private bankAccountPasscode <> NULL and must be more than
or equal to 6 characters.

CENTER OF INFORMATION TECHNOLOGY AND SCIENTIFIC COMPUTING 15


EFOY Payment Package 2018

Operation description for PaymentHandler class

Table 15:Operation description for PaymentHandler class

Operation Visibility Return Argument Pre-Condition Post


type Condition
validateAccount public boolean bankAccountNo User must enter User should
bankAccountPasscode account number access payment
and account page.
passcode.
confirm public boolean receiptNo User must enter User should
the receipt finish the
number payment
provided from transaction.
the bank.

LoginHandler Class

Table 16:LoginHandler Class

LoginHandler
-userName: String
-passcode: String
+valildateField(name:String,passcode:String)
+ authorizeAccess(role:String)

Attributes description for LoginHandler class

Table 17:Attributes description for LoginHandler class

Attribute Type Visibility Invariant


userName String private name <> NULL and shouldn’t contain special characters
and integers.
passcode String private passcode <> NULL and must be more than or equal to 6
characters.

CENTER OF INFORMATION TECHNOLOGY AND SCIENTIFIC COMPUTING 16


EFOY Payment Package 2018

Operation description for LoginHandler class

Table 18:Operation description for LoginHandler class

Operation Visibility Return Argument Pre-Condition Post Condition


type
validateField public boolean userName User must enter User should see
passcode name and the home page.
passcode.
authorizeAccess public boolean userName None User should be
passcode logged in
according to
his/her level of
authority.

SignupHandler Class

Table 19:SignupHandler Class

SignupHandler
-billNumber:int
+validate()

Attributes description for SignupHandler class

Table 20:Attributes description for SignupHandler class

Attribute Type Visibility Invariant


billNumber int private billNo must be equal to 9 digits.

Operation description for SignupHandler class

Table 21:Operation description for SignupHandler class

Operation Visibility Return Argument Pre-Condition Post Condition


type
validate public boolean billNo User must have User should
bill number have an account.

CENTER OF INFORMATION TECHNOLOGY AND SCIENTIFIC COMPUTING 17


EFOY Payment Package 2018

Comment Class

Table 22:Comment Class

Comment
+date:date
+sender:String
+receiver:String
+content:String
+giveComment()

Attributes description for Comment class

Table 23:Attributes description for Comment class

Attribute Type Visibility Invariant


date date public date must be in the format of date/month/year.

sender String public sender <> NULL.

receiver String public receiver <> NULL.

content String public content <> NULL.

Operation description for Comment class

Table 24:Operation description for Comment class

Operation Visibility Return Argument Pre-Condition Post Condition


type
giveComment Public void date User must enter System should
sender the comment. save the
content comment.

CommentHandler Class

Table 25:CommentHandler Class

CommentHandler
-comment:String

CENTER OF INFORMATION TECHNOLOGY AND SCIENTIFIC COMPUTING 18


EFOY Payment Package 2018

+submitComment(comment:String)

Attributes description for CommentHandler class

Table 26:Attributes description for CommentHandler class

Attribute Type Visibility Invariant


comment String private comment <> NULL.

Operation description for CommentHandler class

Table 27:Operation description for CommentHandler class

Operation Visibility Return Argument Pre-Condition Post Condition


type
submitComment public void comment User must enter System should
the content of notify the user
comment. comment is
submitted.

UploadHandler

Table 28:UploadHandler Class

UploadHandler
-billNo:int
+sendData()

Attributes description for UploadHandler class

Table 29:Attributes description for UploadHandler class

Attribute Type Visibility Invariant


billNo int private billNo must be equal to 9 digits.

CENTER OF INFORMATION TECHNOLOGY AND SCIENTIFIC COMPUTING 19


EFOY Payment Package 2018

Operation description for UploadHandler class

Table 30:Operation description for UploadHandler class

Operation Visibility Return Argument Pre-Condition Post Condition


type
sendData public void billNo User must first User’s info
enter bill number should be
of a customer. displayed.

UsageHandler

Table 31:UsageHandler Class

UsageHandler
-usage:float
+getData()

Attributes description for UsageHandler class

Table 32:Attributes description for UsageHandler class

Attribute Type Visibility Invariant


usage float private usage cannot be zero or have negative values.

Operation description for UsageHandler class

Table 33:Operation description for UsageHandler class

Operation Visibility Return Argument Pre-Condition Post Condition


type
getData public void None Authorized User should see
personnel should the amount of
update user’s usage.
usage.

CENTER OF INFORMATION TECHNOLOGY AND SCIENTIFIC COMPUTING 20


EFOY Payment Package 2018

References
[1] Arisema Mezgebe, Eman Semsu, Hawi Tesfaye, Hayat Delil, Iman Abdulselam, Mahder Haileslasse,
Meba Feyissa (May 2016), Software Design Specification Document, Ayate Ethiopian Home Remedies

[2] Abel Mandefro, Amanuel Engeda, Biruk Adera, Helina Girmay, Nathan Tsegaye, Simon Asfaw,
Yabetse Genene(May 2016), Software Design Specification Document, Library Management System

[3] Daniel Andargie, Getasew Tesfaw, Melat Abay, Melesew Temesgen, Tesfa Fikadu, Yared
Taddese(May 2016), Software Design Specification Document, Online Dating Website(Ketero.com)

CENTER OF INFORMATION TECHNOLOGY AND SCIENTIFIC COMPUTING 21

You might also like