Professional Documents
Culture Documents
SEC2G3
SEC2G3
SEC2G3
SCIENTIFIC COMPUTING
PREPARED BY:
Girmay Tadese
Hana Tesfaye
Kalab Amare
Kaleab Taye
Mahlet Workneh
Meron Zerihun
May 2018
EFOY Payment Package 2018
Table of Contents
List of Tables ............................................................................................................................................... iii
1. Introduction ........................................................................................................................................... 1
1.1 Purpose................................................................................................................................................ 1
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
JavaScript: A scripting programming language that is mostly used to make websites more interactive.
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.
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.
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.
2. System Architecture
2.1 Subsystem decomposition
Component Diagram : layer one
3. Object Model
3.1 Class Diagram
LOGIN
PAYBILL
Upload Data
View Usage
Give feedback
3. Detailed Design
User Class
User
-name:String
-userName:String
-passcode:String
-role:String
-receipt:booelan
+login()
+signUp()
signUp public boolean None User needs to have a User shall have an
bill number. account.
BankAccount Class
BankAccount
-bankAccountNo:int
-bankAccountPasscode:String
+validate()
+save(receiptNo:int)
bankAccountPasscode String private bankAccountPasscode <> NULL and must be more than or
equal to 6 characters.
Bill Class
Bill
+amount:float
+usage:float
+billNo:int
+payBill()
+updateBill()
+search()
+viewUsage()
+save(receiptNo:int)
SystemRecord Class
SystemRecord
+usage:float
+paymentDate:date
+name:String
+billNo:int
+userName:String
+commentDate:date
+passcode:String
+bankAccountNo:int
+bankAccountPassode:String
+fetchData()
+saveInfo()
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.
bankAccountPasscode String public bankAccountPasscode <> NULL and must be more than or
equal to 6 characters.
PaymentHandler Class
PaymentHandler
-fee:float
-fine:float
-bankAccountNo:int
-bankAccountPasscode:String
+validateAccount()
+confirm(receiptNo:int)
+getReceipt()
bankAccountPasscode String private bankAccountPasscode <> NULL and must be more than
or equal to 6 characters.
LoginHandler Class
LoginHandler
-userName: String
-passcode: String
+valildateField(name:String,passcode:String)
+ authorizeAccess(role:String)
SignupHandler Class
SignupHandler
-billNumber:int
+validate()
Comment Class
Comment
+date:date
+sender:String
+receiver:String
+content:String
+giveComment()
CommentHandler Class
CommentHandler
-comment:String
+submitComment(comment:String)
UploadHandler
UploadHandler
-billNo:int
+sendData()
UsageHandler
UsageHandler
-usage:float
+getData()
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)