Finance Management System
Finance Management System
UNDER GUIDANCE OF
WOLKITE, ETHIOPIA
WOLKITE UNIVERSITY
BY:
---------------------------------- ----------------------------------
---------------------------------- ----------------------------------
----------------------------------- ----------------------------------
----------------------------------- ---------------------------------
----------------------------------- -----------------------------------
Advisor and department head Approval Form
Advisor Name Advisor Signature
------------------------------------ ---------------------------------
Department Head Name Department Head Signature
----------------------------------- --------------------------------------
Examiner Approval Form
Examiner Name Signature
----------------------------------- -----------------------------------
----------------------------------- -----------------------------------
----------------------------------- -----------------------------------
Acknowledgement
First of all, we would like to thank GOD keeping us healthy to do this project. Next thanks to our
adviser Mr. Amare A for continuous support in every phase of the project and who continuously
provides us his valuable advice to prepare this project document because he is our roadmap to our
project. Deeply would like to say thanks Wolkite university finance department employees for
giving us full information about how the current system work. Finally thanks to group members
and other peoples who support us for our project document completion.
i
Table of contents
Contents
Acknowledgement ........................................................................................................................................ i
Table of contents ......................................................................................................................................... ii
List of figures .............................................................................................................................................. v
List of Tables ............................................................................................................................................. vii
Abbreviation............................................................................................................................................. viii
Abstract ...................................................................................................................................................... ix
Chapter One ................................................................................................................................................ 1
1.1 Introduction ............................................................................................................................1
1.3 Background of the project .......................................................................................................2
1.4 Statement of the problem ........................................................................................................2
1.5 Objective of the project ...........................................................................................................4
1.5.1 General Objective ............................................................................................................................ 4
1.5.2 Specific objective ............................................................................................................................. 4
1.6 Feasibility Analysis..................................................................................................................4
1.6.1 Operational feasibility ..................................................................................................................... 5
1.6.3 Economic feasibility......................................................................................................................... 5
1.6.4 Behavioral/Political feasibility ........................................................................................................ 5
1.6.5 Schedule feasibility .......................................................................................................................... 5
1.7 Scope of the project .................................................................................................................6
1.7.1 In scope ............................................................................................................................................ 6
1.17.2 Out scope ....................................................................................................................................... 6
1.8 Significance of the project .......................................................................................................6
1.9 Target beneficiaries of the system............................................................................................6
1.10 Methodology for the project ..................................................................................................7
1.10.1. Data gathering methodology ........................................................................................................ 7
1.10.2. Software development model ........................................................................................................ 7
1.11 Systems Analysis and Design Approach.................................................................................7
1.11.1 Limitation of the project ................................................................................................................ 7
ii
1.11.2 Risks & contingencies .................................................................................................................... 8
1.11.3 Assumptions and Constraints ........................................................................................................ 9
1.12 Team composition .................................................................................................................9
1.13 Time Table .......................................................................................................................... 10
Chapter Two: Description of the Existing System ................................................................................. 11
2.1. Introduction of Existing System ........................................................................................... 11
2.2. Organization structure ......................................................................................................... 12
2.3. Users of Existing System....................................................................................................... 12
2.4. Major functions of the Current System ................................................................................ 13
2.5. Existing System Workflow structure .................................................................................... 14
2.6. Report generated in the existing system................................................................................ 15
2.7. Forms and other documents of the existing systems ............................................................. 15
2.8. Bottlenecks of the existing system ......................................................................................... 15
2.8.1 Performance (Response time) ........................................................................................................ 15
2.8.2 Input (Inaccurate/redundant/flexible) and Output (Inaccurate).................................................... 15
2.8.3 Security and Controls .................................................................................................................... 16
2.8.4 Efficiency ....................................................................................................................................... 16
Chapter Three: Proposed System ........................................................................................................... 17
3.1. Introduction ......................................................................................................................... 17
3.2. Product Overview................................................................................................................. 17
3.3. User class and characteristics ............................................................................................... 18
3.4. Functional requirements ...................................................................................................... 19
3.4.1 Process requirements..................................................................................................................... 19
3.4.2 Input related requirements ............................................................................................................ 19
3.4.3 Output related requirements .......................................................................................................... 20
3.4.4 Storage related requirements......................................................................................................... 21
3.5. Nonfunctional Requirements ................................................................................................ 21
Chapter Four: System Analysis ............................................................................................................... 23
4.1 System models ....................................................................................................................... 23
4.1.1 Scenarios ....................................................................................................................................... 23
4.1.2 Use case model .............................................................................................................................. 23
iii
4.1.3 Use Case Description .................................................................................................................... 25
4.1.4 Object model .................................................................................................................................. 43
4.1.4.1 Data Dictionary ...................................................................................................................... 43
4.1.4.2 Analysis level Class Diagram (Conceptual Modeling) .......................................................... 48
4.2 Dynamic model...................................................................................................................... 49
4.2.1 Sequence Diagram ......................................................................................................................... 49
4.2.2 Activity Diagram............................................................................................................................ 58
4.2.3 State Diagrams .............................................................................................................................. 67
4.3 ER Diagram .......................................................................................................................... 75
4.3.1 Mapping ......................................................................................................................................... 76
4.3.2 Normalization ................................................................................................................................ 78
Chapter Five: System Design ................................................................................................................... 82
5.1. System Overview .................................................................................................................. 82
5.2. Design Considerations .......................................................................................................... 82
5.3. Design Goals ......................................................................................................................... 83
5.3.1 End user Criteria ........................................................................................................................... 83
5.3.2 Security Criteria ............................................................................................................................ 83
5.3.3 Maintenance Criteria..................................................................................................................... 83
5.4. Design Trade-offs ................................................................................................................. 84
5.4.1. Development Cost versus Functionality ....................................................................................... 84
5.4.2. Understandability versus Efficiency ............................................................................................. 84
5.4.3. Security versus Availability .......................................................................................................... 84
5.5. Architecture of the System ................................................................................................... 85
5.6. System Decomposition .......................................................................................................... 85
5.7. Hardware/Software mapping (Deployment) ......................................................................... 88
5.8. Persistent data management ................................................................................................. 89
5.9. User interface design ............................................................................................................ 94
5.10. Object Design ..................................................................................................................... 95
5.10.1. Interface documentation guidelines ............................................................................................ 95
5.10.2. Class interfaces........................................................................................................................... 96
iv
List of figures
Figure 1Timetable ......................................................................................................................... 10
Figure 2Organizational structure .................................................................................................. 12
Figure 3: Payroll Work flow ......................................................................................................... 14
Figure 4: Use case diagram ........................................................................................................... 24
Figure 5: Class diagram ................................................................................................................ 49
Figure 6: Sequence diagram for login ........................................................................................... 50
Figure 7: sequence diagram for employee registration ................................................................. 51
Figure 8: Sequence diagram for approve ...................................................................................... 53
Figure 9: Sequence diagram for generate pay slip ........................................................................ 54
Figure 10: Sequence diagram for expense registration ................................................................. 55
Figure 11: Sequence diagram for income registration .................................................................. 56
Figure 12: Sequence diagram for post notice ................................................................................ 57
Figure 13: Sequence diagram for report generation ...................................................................... 58
Figure 14: Activity diagram for login ........................................................................................... 59
Figure 15: Activity diagram for generate report ........................................................................... 60
Figure 16: Activity diagram for income register .......................................................................... 61
Figure 17: Activity diagram for expense register ......................................................................... 62
Figure 18: Activity diagram for calculate salary .......................................................................... 63
Figure 19: Activity diagram for approve request .......................................................................... 64
Figure 20: Activity diagram for employee register ....................................................................... 65
Figure 21: Activity diagram for pay slip ....................................................................................... 66
Figure 22: Activity diagram for post notice .................................................................................. 67
Figure 23: State diagram for login ................................................................................................ 68
Figure 24: State diagram for account update ................................................................................ 69
Figure 25: State diagram for update employee ............................................................................. 70
Figure 26: State diagram for employee register ............................................................................ 71
Figure 27: State diagram for calculate salary................................................................................ 72
Figure 28: State diagram for post notice ....................................................................................... 73
Figure 29: State diagram for expense register .............................................................................. 74
Figure 30: State diagram for income............................................................................................. 75
Figure 31: ER Diagram ................................................................................................................. 76
Figure 32: Mapping ....................................................................................................................... 77
Figure 33: First normal form ......................................................................................................... 79
Figure 34: Second normal form .................................................................................................... 80
Figure 35: Third normal form ....................................................................................................... 81
Figure 36: System architecture ..................................................................................................... 85
Figure 37: System decomposition ................................................................................................. 88
Figure 38 : Hardware and software physical mapping ................................................................. 89
Figure 39: Mapping account table ................................................................................................ 90
Figure 40: Mapping employee table ............................................................................................. 91
Figure 41: Mapping income table ................................................................................................. 91
v
Figure 42: Mapping expense table ................................................................................................ 92
Figure 43: Mapping report table ................................................................................................... 92
Figure 44: Mapping budget table .................................................................................................. 92
Figure 45: Mapping Notice table .................................................................................................. 93
Figure 46: Database relation for persistent data ............................................................................ 93
Figure 47: Login user interface ..................................................................................................... 94
Figure 48: User interface for profile setting.................................................................................. 95
Figure 49: Employee class ............................................................................................................ 96
vi
List of Tables
Table 1: Team composition............................................................................................................. 9
Table 2Payroll form ...................................................................................................................... 15
Table 3: Use case description for .................................................................................................. 25
Table 4: Use case description for manage account ....................................................................... 26
Table 5Use case description for manage employees .................................................................... 27
Table 6: Use case description for approve .................................................................................... 28
Table 7: Use case description for manage budgets ....................................................................... 29
Table 8: Use case description for calculate salary ........................................................................ 30
Table 9: Use case description for register employee .................................................................... 31
Table 10: Use case description for create account ........................................................................ 32
Table 11: Use case description for block account......................................................................... 33
Table 12: Use case description for update account ....................................................................... 34
Table 13: Use case description for delete employee ..................................................................... 35
Table 14: Use case description for update employee .................................................................... 36
Table 15: Use case description for prepare pay slip ..................................................................... 37
Table 16: Use case description for generate report ....................................................................... 38
Table 17: Use case description for adjust budget ......................................................................... 39
Table 18: Use case description for record commitment ............................................................... 40
Table 19: Use case description for record payment receivable .................................................... 41
Table 20: Use case description for send request ........................................................................... 42
Table 21: data dictionary for expense table .................................................................................. 43
Table 22: data dictionary for income table ................................................................................... 44
Table 23data dictionary for employee table .................................................................................. 44
Table 24: data dictionary for employee table ................................................................................ 45
Table 25: data dictionary for expense category table.................................................................... 45
Table 26: data dictionary for income category table ..................................................................... 45
Table 27: data dictionary for budget table .................................................................................... 46
Table 28: data dictionary for account type table ........................................................................... 46
Table 29: data dictionary for department table ............................................................................. 46
Table 30: Data dictionary for Wing category table....................................................................... 47
Table 31Data dictionary for payment table ................................................................................... 47
Table 32Data dictionary for notice table ....................................................................................... 47
Table 35 sequence diagram for calculate salary ........................................................................... 52
vii
Abbreviation
Acc VP-------------------------------------Academic vice president
Add VP-------------------------------------Administrative vice president
CD-------------------------------------------Compact disk
CSS------------------------------------------Cascading stylesheet
CDRW--------------------------------------Compact disk rewritable
DBMS---------------------------------------Database management system
DVD-----------------------------------------Digital versatile disk
E.C-------------------------------------------Ethiopian calendar
ERD------------------------------------------Entity relationship diagram
FMS------------------------------------------Finance management system
HR-------------------------------------------Human resource
HTML---------------------------------------Hypertext markup language
IT---------------------------------------------Information technology
LAN------------------------------------------Local area network
MVC-----------------------------------------Model view controller
MOFED------------------------------------ Ministry of Finance and Economic Development
RDBMS-------------------------------------Relational database management system
UML-----------------------------------------Unified modeling language
WKU-----------------------------------------Wolkite University
viii
Abstract
Finance management System (FMS) of Wolkite university activity related with receive different
income, employee registration related to finance, record service, view income and expenditure in
the organization and process payment for finance. The existing FMS at Wolkite university is
susceptible to the following major problems: difficulty to identify annual income and expenditure,
student who paid or not (extension and night), update payment status is difficult, inconsistence
data and poor time management and inappropriate payment handling and problems to generate
report, controlling budget is difficult. The general objective of this project is to develop automate
Financial Management System for Wolkite university. The main modules to be handled by this
system are managed account, register employee and student related to finance and payment
handling. To get the accurate data from Wolkite university finance we use observation and
interview. To analyze the document, the project follows an object oriented analysis and design
approach. Razor engine(C# and html) will develop the generation of client side web service.
The server side will be developed by using Asp.net mvc5 entity framework.
ix
Chapter One
1.1 Introduction
Organizations develop IT systems to meet important business objectives, such as improving
competitiveness, increasing productivity and efficiency, accelerating growth, supporting
innovation and reducing costs. Productivity is an important reason for developing IT systems. IT
systems are key to delivering the information and intelligence you need to improve innovation.
Investing in IT systems and tools to improve collaboration can help you achieve growth and
productivity targets. The quality of customer service is an important element in building and
maintaining competitive advantage. IT systems can help you improve customer service in a
number of ways. A financial management system is the methodology and software that an
organization uses to oversee and govern its income, expenses, and assets with the objectives of
maximizing profits and ensuring sustainability.
Therefore, we need to automate finance management system for Wolkite University. The
automated finance management system include the functionality such as record employee detail
information related to finance, record student (extension and night students) information related
to finance and produce different reports etc. The logical reason for automating this manual system
from manual to automated system is to simplify the functionality of the system such as increasing
performance of the system, enabling users to request for finance service, to enhances the security
of the system, to avoid data redundancy and data inconsistency, to avoid consuming a lot of time
and resource, to minimizing the work load of the employee.
1
1.2 Background information of the Organization
Wolkite University is one of educational institution in Ethiopia, which is located in Southern,
nation and nationalities region, Guraghe Zone. It was founded or starts in 2004 E.C with few staffs.
Now it has many directorates and departments with staffs. From those directorates we are dealing
with finance. The finance department is responsible in giving service, which are payroll, income
and expenditure controlling, and budget controlling. However, the financial management in
Wolkite university is not automated each section perform their tasks manually like generate
reports, store documents, and calculate salaries. The current manual system has its own managing
its resources, and employees.
2
Identifying annual income and expenditure is difficult. Since reports are not timely and
accurately provided, the organization gets it difficult to identify its income and expenditure.
Time consuming and costly to produce reports. Because reports are collected on paper, it
takes lots of time and needs many paper.
Lack of security. There is no way to protect the users to perform their tasks within their
privileges, so unauthorized users can access unauthorized data. Because the available
security mechanism is only physical controlling no systematic way.
Duplication of data entry. There are users that are performing the same tasks within the
same time; in this case, they may enter the same data at the same time.
Controlling advance payment problem. When an employee takes advance payment they
have to report within 7 days unless they are not allowed to take another payment, but there
is no modern way of controlling this.
There is no controlling per diem, allowance and overtime payment or it is checked by
manually. These means an employee may fill a form of per diem and overtime with the
same time, which is not allowed.
Employees cannot see their salary information so they create more question and conflict
with their employers, which is very difficult to search and show their salary information,
including their allowance, deduction and others.
Delayed and inaccurate financial report: Since it is made on paper, it may be delayed and
it may be inaccurate because of problems in data entry defined above.
Less available: The current system is less available which means the operation time and
the place are restricted within few time and place.
Auditing Problem. The existing auditing system is not bad at all, but it is takes most time,
and it is tiring so it has to be automated.
Problems in sharing information with other departments and directories: Since there is no
integrated way with other departments and directories, it is time taking and tiring to get and
share information with other departments and directories.
No technical support: When a user enter incorrect not validate data there is no technical
support which tells the user he makes an error.
3
1.5 Objective of the project
1.5.1 General Objective
To develop web based (automated) finance information management system for Wolkite
University.
1.5.2 Specific objective
Specific objectives are objectives that used to achieve general objectives. Our specific objectives
under web based finance management system are mainly to solve the existing problems that are
listed above in problem statement. To develop the system with more reliable way and user friendly.
To make highly secure and produce timely and accurate report as a result of validated and correct
data entry. Not only this and to make employees information accessible everywhere with local
network. To develop good and clear payroll system and auditing system. However, in order to
achieve specified general objective and solve such problems we will travel in some steps. These
are:
Identify and define problems of the existing system: by gathering data from finance
department and other departments.
Requirement analysis: from the identified problems try to identify or determine the needs
or conditions to be fulfilled by the new project with regard to functional and non-functional
requirements. These requirements should be documented, actionable, measurable, and
testable in order to analyze, document validate and manage system requirements.
Design a new system that can overcome the problem of the current system
Implement the new system.
Testing the system: testing the system using different methodology, this will ensure us its
reliability.
Deploy the new system.
Maintain and update the system when needed.
4
1.6.1 Operational feasibility
Operational feasibility is a measure of how well the solution of problems or a specific solution will
work in the organization. It is also a measure of how people feel about the system/project. The
new system will take advantage to solve problems outlined in the statement of the problem in order
to achieve specified objectives. Since the system will be user friendly, and interactive with the
environment, the organization will not have any difficulties to operate the system. The system will
provide end users and managers with timely, pertinent, accurate and usefully formatted
information. Thus, we can say the project is operational feasible (htt8).
1.6.2 Technical feasibility
Technical feasibility is a measure of the practicality of a specific technical solution and the
availability of technical resources and expertise. Developing this system, the products we will use
are computer, networking devices, networking operating system, database, programming
language. In today’s world, these products are easily available in the market so the organization
will and can afford to provide, this lead us to say it is technical feasible (htt8).
1.6.3 Economic feasibility
Economic feasibility is the process of identifying the financial benefits and costs associated with
the project being developed. The purpose of assessing economic feasibility is to identify the
financial benefit and cost benefit analysis economic feasibility is often referred as cost benefit
analysis. Our proposed system uses less cost resources so it is economical feasible. Since our
proposed system costs in low we can say it is economic feasible (htt8).
1.6.4 Behavioral/Political feasibility
It is the process of how stakeholders within the organization view the proposed system. Since, the
new system will solve many problems of the existing manual system and will not violet rules and
regulation of the government as well as the organization; we can say it is legally feasible (htt8).
1.6.5 Schedule feasibility
Measure of ‘’how responsible project time table”. It will be bound by strict timing so it must be
delivered within the time bound given over the time schedule. Our intention is to finalize it hope
fully plan it have it run in real environment before the end of submission date (htt8).
5
1.7 Scope of the project
The scope of the project is limited in developing an automate finance management system for
finance department at Wolkite university to replace the existing manual system.
1.7.1 In scope
Our project will perform the following financial management
Payment
Expenditure
Income
Budget
Report
Foreigner payment
6
Fast and error free activities.
1.10 Methodology for the project
1.10.1. Data gathering methodology
Interview: In order to gather sufficient and relevant information for the proposed project,
we have arranged programs to interview the training coordinator management staff
members and trainees of the institutes.
Observation: To get first hand accurate information about how the existing system works
we have examined physical observations on how employees perform their jobs to analyze
the existing condition.
7
Shortage of time: We have shortage of time to complete the project in one semester. This
enforces our project team to minimize the project scope.
8
1.11.3 Assumptions and Constraints
Our project concerned all FMS for WKU finance system .The software is assumed to do all
activities related to Manage Finance and control. It also provide a database concept to retrieve,
store, Update, Delete and in generally to manipulate different operations into or from the data base
by user of the system. The activities of the users are restricted but the head administrator i.e. the
server side has a full access of the database. The system is also fully dependent on the server based
data base system.
Constraint: The system can run on any desktop computer running any operating system. Such as
windows XP, windows vista and so on. Safety and Security constraints: The danger that surround
in relation to security is problem caused by various that led to loss of data, make the data
unacceptable and other important things existing on the system or computer.
Phone cell.
Physical meeting.
E-mail.
ID Name Responsibilities
9
1.13 Time Table
Figure 1Timetable
10
Chapter Two: Description of the Existing System
11
2.2. Organization structure
President
Addministrative vise
president
Finance directorate
director
12
Payment controller:-A person who perform any payment like payroll payment, service
payment, per-diem payment, research payment, building payment, purchasing payment and
other payments. Budget controller:-A person who control over all university budgets. This
means approved budgets, adjusted budgets and budget balance.
13
2.5. Existing System Workflow structure
14
2.6. Report generated in the existing system
In the existing system, the report is generated as the requirement of the finance management
system. The finance manager or the person who manages the office asks the responsible worker to
provide report. As we observed and also interview the finance office the report generating
mechanism is paper based, that is any kind of report is delivered by worker and then it will be
transformed to whom it may concerns.
Payroll form:
N Emp Basic Wor Salary Rank Monthly Annua Mobile House OT Gross Inco Net
o loye salary k payabl Allow Support lizatio and Allowanc Payab me Pay
Nam corre
ct
e
15
2.8.3 Security and Controls
Every record of the existing financial management System is stored in the manual way, so, it is
difficult to control and secure these manual records, since it does not have any authentication and
authorization system.
2.8.4 Efficiency
Since the existing system is performing its work manually it takes lots of time to finish a certain
task which result in low efficiency.
16
Chapter Three: Proposed System
3.1. Introduction
The key solution to avoiding all the problems mentioned previously is to find a unified way to
solve the problems mentioned earlier. The proposed system of our project changes the existing
manual process of the organization to new system. To eliminate drawback of the existing system,
the only unified way is computerization. The new system perform all the manual operation that is
needed by system user to perform system functionality. The main aim of the proposed system is:
To reduce human errors by providing user-friendly capabilities and record keeping
mechanism.
Reduce resources that waste in the manual system like papers and others.
To store data into the database so, it can be easily retrieved and used at any time.
To enable the finance staff to facilitate its day-to-day activity efficiently by using the new
technology.
Greater efficiency for recording file:Since the proposed system uses database system,
registering files, and updating of progress files from the database will be easy and there
will not be loose of data.
Security: since the proposed system requires verification of login form, sensitive
information’s will not be accessed or modified by unauthorized users.
Better service: since the proposed system allows users to report online without a need of
going to each departments, there will be fast response for requests
Efficient retrieval of finance files: Since the proposed system record, each file on the
database, retrieval of finance files from the database at any time will be a very easy process.
Increase Operational Efficiency: The proposed system should help in reducing the
repetitive paperwork/records and making the department functions more efficient.
17
3.3. User class and characteristics
A user class is a particular purpose that a user actually uses the system to perform the activity takes
place in the system. The following user classes have been identified from the system specification.
Manager Perform the following:
register employee
update employee
delete employee
update account
approve request
President, Head, Dean, research head, Acc Vp, Add VP, HR head: these all approve request.
calculate expense
calculate income
adjust budget
record commitment
view commitment
update account
update account
generate report
update account
19
because employee information is recorded. Such account maybe disabled when the employee leave
the organization.
The system should allow to record employee information
The system allows to record income and expenditure. Since there is need of auditing and
when the user wants to record new income and expenditure, the system should provide a
form to record different income and expenditure.
The above requirements are input related requirements of our system, and the facilities that the
system uses to take inputs from the users are listed below:
Excel: It used to import employee and payroll information.
Forms: This makes users fill their forms, which is required to be filled.
Dialog: This enables users to make their confirmation for any request.
The system allows to search and view data about finance information with restricted authority.
20
All the above are output related requirements, and the methods this output displayed are listed
below.
Excel: Like salary information is displayed with it, because bank need it in the form of
excel.
Word and pdf: Report information and salary slips will be displayed.
Email: Employee information will be sent to their email one or two day before salary day.
Popup Screen: Confirmation or notification message will be displayed.
3.4.4 Storage related requirements
Since finance has very sensitive data to the organization and others information the database should
perform some functionality listed below:
The system should allow to store data in organized manner, which must be easy to access.
General ledger management: Store all financial records for purpose of information.
21
Security: The system will have user accounts for its users. The passwords will be encrypted.
There is no such functionality in the system by which the user can register himself to the
system because there are limited system users, so the system administrator creates the user
accounts. The system administrator can activate, deactivate, create, and delete user
accounts.
Maintainability: Since we follow the implementation in modular way that used to easily
identify the error and handle it. In the system, there is user management, registration and
report module; so if there is a problem one of these modules it is easy to maintain.
22
Chapter Four: System Analysis
23
between a role (known in the Unified Modeling Language as an actor) and a system, to
achieve a goal.
Addmini Accada
strative Head budget
mic VP Dean
VP controlle
r
Paymen
t controll Account Report
er ant
24
4.1.3 Use Case Description
Post condition The user successfully log in and entered to the System.
Table 3: Use case description for login
25
Use Case ID UC2
Use case name Manage Account
Description Allow the user to manage account which includes create and block
account.
Actor Admin
Pre-condition He must have active account, and must be logged in.
Basic course of action Actor System
Step1. The user click on manage Step2. The system redirects the
account. user to account managing page.
Step3. The user select and click Step4. The system redirect him to
his option from create and block needed page by his choice.
option. Step6. The system validate and
Step5. The user perform his accept his operation.
operation Step7. The system display success
message page .
Step8. Use case end.
26
Use Case ID UC3
Use case name Manage Employees
Description Allow the user to manage employees which includes add, update and
delete employee.
Actor Finance manager
Pre-condition He must have active account, and must be logged in.
Basic course of action Actor System
Step1. The user click on manage Step2. The system redirects the
employee. user to employee managing page.
Step3. The user select and click Step4. The system redirect him to
his option from add, update and needed page by his choice.
delete option. Step6. The system validate and
Step5. The user perform his accept his operation.
operation Step7. The system display success
message page
Step8. Use case end.
Alternative course of action If the user perform incorrect operation or enter wrong data
27
Use Case ID UC4
Use case name Approve
Description Allow the user to approve requests.
Actor Human resource head, Finance manager, Academic vice president,
Administrative vice president, President, Department head, College
dean, and Research head.
Pre-condition The user must have active account and must be logged in.
Basic course of action Actor System
Step1. The user click on Step2. The system display approve
notification button. request page.
Step3. The user click on approve Step4. The system display success
button. message.
Step5. The user click on reject
button. Step6. The system display replay
Step7. The user fill and click on description form.
replay button. Step8. The system display success
message.
Step9. Use case end.
28
Use Case ID UC5
Use case name Manage budgets
Description Allow the user to manage budgets which includes record approved
budget, view approved budget, adjust budget, view adjusted budget,
record commitments, view commitments, record payment receivables,
view payment receivables.
Actor Budget controller.
Pre-condition The user must have active account and must be logged in.
Basic course of action Actor System
Step1. The user select and click Step2. The system redirect him to
his option from record approved needed page by his choice.
budget, view approved budget, Step4. The system validate and
adjust budget, view adjusted accept his operation.
budget, record commitments, Step5. The system display success
view commitments, record message page Step6. Use case
payment receivables, view end.
payment receivables option.
Step3. The user perform his
operation
Alternative course of action If the user perform incorrect operation or enter wrong data
29
Use Case ID UC6
Use case name Calculate salary
Description Allow the user to calculate employee’s salary.
Actor Payment controller.
Pre-condition The user must have active account and must be logged in.
Basic course of action Actor System
Step1. The user clicks on calculate Step2. The system redirect him to
new salary. calculate salary page.
Step3.The user enter employee id
and click on search. Step4. The system display salary
Step5. The user enter information information entry form.
and click on calculate button.
Alternative course of action If the user enter, wrong id and try to search.
30
Use Case ID UC7
Use case name Register employee
31
Use Case ID UC8
Step3. The user select add new Step4.The system display create
account. account page
Step4. The user fill the form and Step5. The system display success
click create. message.
Step6. Use case end.
32
Use Case ID UC9
Use case name Block account
33
Use Case ID UC9
Use case name Update account
Actor All
Pre-condition The user must have active account and logged in.
Basic course of action Actor System
Step1. The user click on account Step2. The system display target
setting link. page.
Step3. The user edit previous Step4. The system display success
information and click update. message.
34
Use Case ID UC10
Use case name Delete employee
Step1. The user click on employee Step2. The system display target
management link. page.
Step3. The user select user id and Step4.The system display con
click on delete employee. formation message.
Step5. The user confirm deletion.
35
Use Case ID UC11
Use case name
Update employee
Description Allow the user to update existing employee information.
Pre-condition The user must have active account and logged in. In addition, there must
be employee information to be blocked.
Basic course of action Actor System
Step1. The user click on employee Step2. The system display target
management link. page.
Step3. The user select user id and Step4.The system display con
click on update account. formation message.
Step5. The user confirm updating. Step6. The system display success
message.
Step7. Use case end.
36
Use Case ID UC12
Step1. The user click on generate Step2. The system display search
pay slip link. bar.
37
Use Case ID UC13
Use case name Generate report
Pre-condition The user must have active account and logged in. In addition, there must
be report to be generated.
Basic course of action Actor System
Step1. The user click on generate Step2. The system display target
report link. page.
Step3. The user fill information Step4. The system display success
and click on generate button. message.
Step5. Use case end.
38
Use Case ID UC14
Use case name Adjust budget
Step1. The user click on adjust Step2. The system display target
budget link. page.
39
Use Case ID UC15
Use case name Record commitment
Step1. The user click on record Step2. The system display target
commitment link. page.
Step3. The user fill all information Step4.The system display con
and click on save button. formation message.
Step5. The user confirm save.
40
Use Case ID UC16
Use case name Record payment receivable.
Description Allow the user to record payment receivable.
Actor Budget controller
Pre-condition The user must have active account and logged in.
Step1. The user click on record Step2. The system display target
payment receivable link. page.
Step3. The user fill all information Step4.The system display con
and click on save button. formation message.
Step5. The user confirm save.
41
Use Case ID UC18
Use case name Send request.
Step1. The user click on new Step2. The system display target
payment link. page.
Step3. The user fill information, Step4. The system display success
select target user and click send message.
request button.
42
4.1.4 Object model
4.1.4.1 Data Dictionary
A data dictionary is a collection of descriptions of the data objects or items in a data model
for the benefit of programmers and others who need to refer to them.
Field Name Field size Data Type Data Format Description Example
Id Int ----------- Unique 3
identifier for
expenses
Expense 30 Float ----------- Amount of 10 000
Amount expense
Category 15 String ----------- Type of Salary
expense
Account Type 15 String ----------- Type of cash
account
Date 20 Date time dd/mm/yyyy Date of 20/02/2017
expense
Description 100 Text ----------- Detail Paid for
description employees
salary
Table 21: data dictionary for expense table
43
Field Name Field size Data Type Data Format Description Example
Id Int ----------- Unique 2
identifier
for
income
Income Amount 30 Float ----------- Amount of 10 000
income
Category 15 String ----------- Type of income Salary
account
Date 20 Date time dd/mm/yyyy Date of income 20/02/2017
Field Name Field Size Data Type Data Format Description Example
Id Int --------- Unique identifier of 1
employees
First Name 20 String --------- First name of a person Endale
person
Salary 12 Float --------- Salary of an employee 15000
Position 12 String --------- Position of an employee Head
report
Date 10 Date Time dd/mm/yyyy Date for 11/05/2017
report
generated
Format
Id Int ----- Unique identifier 1
for expense
category
Category Name 15 String ----- Name for Purchasing
expense category
Format
Id Int ----- Unique identifier 1
for income
category
Category Name 15 String ----- Name for Payment
45
Field Name Field size Data Type Data Description Example
Format
Id Int ----- Unique identifier 1
budget
Department 15 String ----- Name for ICT
Name Department
Amount 15 Float ------ Amount of 10000
budget allocated
Table 27: data dictionary for budget table
Format
Id Int ----- Unique identifier 1
for account
category
Category Name 15 String ----- Name for Cash
account category
Table 28: data dictionary for account type table
Format
Id Int ----- Unique identifier 1
for department
Department 15 String ----- Name of Finance
Name department
Position 15 String ------- Position name Head
Table 29: data dictionary for department table
46
Field Name Field size Data Type Data Format Description Example
Field Name Field size Data Type Data Format Description Example
Id Int ---------- Unique identifier for 1
commitments
commitment
Department 15 String ---------- Name of committed Purchasing
Name department
commitment
Table 31Data dictionary for payment table
Field Name Field size Data Type Data Format Description Example
identifier
notice
Description 15 Text ----- Detail description Tomorrow all staff
of the members will have
notice meeting
Type 15 String ------- Type of notice Urgent
Date 15 Date Time dd/mm/yyyy Date of notice 16/06/2017
47
4.1.4.2 Analysis level Class Diagram (Conceptual Modeling)
A class diagram in the Unified Modeling (UML) is a type of static structure diagram that
describes the structure of a system by showing the system's classes, their attributes,
operations (or methods), and the relationships among objects. The class diagram is the main
building block of object-oriented modelling. It is used both for general conceptual modeling
of the systematics of the application, and for detailed modelling translating the models into
programming code. Class diagrams can also be used for data modeling. The classes in a
class diagram represent both the main elements, interactions in the application, and the
classes to be programmed.
48
4.2 Dynamic model
Employee
id:string
fname:string
mname:string
lname:string
view 1
sex:string
wing_id:int
salary:string
dep_id:int
pos_id:int
add()
update()
delete()
has
Add user()
approve request() calculate payroll() generate()
manage() Delete user()
manage employee() calculate expense()
calculate income() 1
1 1 1 1
generate report() manage
manage manage
1 manage *
*
User account
*
*
* Budget * id:string
Notice
fname:string
maintains Transaction id:int Report 1
id:int mname:strikng
modify department:string
type:string id:int lname:string
transactionid:int amount:string
date:date type:string sex:string
type:string
description:text date:date useranme:string
date:date
* description password:string *
post()
modifies() role::string
update() view() active:string
delete() generate()
identify create()
print()
1 update()
Financialinfo * block()
activate()
sectionname:string
managedby:string
identify() Expenditure Income Current balance New balance
view()
id:string id:string id:string id:string
1 amount:float amount:float date:date date:date
catagory:string catagory:string amount:float amount:float
acctype:string acctype:string
amount:float viewapprovedbudget() viewapprovedbudget()
amount:float
date:datetime adjustbudget() adjustbudget()
date:datetime
description:string viewadjjustedbudget() viewadjjustedbudget()
description:string
recordcommitments() recordcommitments()
save() save() viewcommitments() viewcommitments()
edit() edit()
print() print()
view() view()
view
49
and the sequence of messages exchanged between the objects needed to carry out the functionality
of the scenario.
Login
sequence
All Login Login Login DB
diagram User page
<<actor>> <<link>> <<UI>> <<controller <<server>>
>>
cllick
send
display
send validate
error message
valid
check
display
50
Sequnce
diagram for <<UI>> <<Controller>>
<<Actor>> <<UI>> <<DB>>
employee Emplyee register Emplyee register
Manager Home page Table
registration form form
display form
fill form and click
register()
send() validate
[exist]
error message
[not exist]
success
display message
51
Sequnce <<UI>>
diagram for <<Actor>> <<UI>> <<Controller>> <<DB>>
Home page
calculate Payment controller Salary form Salary Table
salary
click salary
submenu
initiate to
calculate salary
display search
bar
[invalid]
error
[valid]
send
check
[not found]
error doesn't exist
[found]
display form show result
fill information
and click
calculate
send
check
[invalid]
[valid]
error message
save
display salary
display result
52
Sequnce <<UI>>
diagram for <<Actor>> <<UI>> <<Controller>> <<DB>>
Approve request
approval Users Home page Approve request page Table
page
request
click approve
submenu() initiate to
approve request()
check for
existence of
approval
[not found]
display error
message
[found]
display form
check for error
[found]
click on reject
and send
feedback()
[invalid] validate
error message
[valid]
save
display success
message
[not found]
click on approve
()
send()
save
display success
display message
53
Sequence
diagram for <<Actor>> <<UI>>
<<UI>> <<Controller>> <<DB>>
generate Payment controller, Home page
Salary form Salary Table
payslip cashier
click salary
submenu()
initiate to
generate payslip
()
display search
bar
[invalid]
error
[valid]
send
check
[not found]
error doesn't exist
[found]
display salary show result
information
click on generate
payslip button
send()
display slip
display slip
54
Sequnce
diagram for <<UI>> <<Controller>>
<<Actor>> <<UI>> <<DB>>
expense Expense register Expense register
Accountant Home page Table
registration form form
send()
validate
[exist]
error message
[not exist]
success
Display
message
55
Sequnce
diagram for <<Actor>> <<UI>> <<UI>> <<Controller>> <<DB>>
income Acountant Home page Income register form Income register form Table
registration
click income
submenu() initiate to income
register()
send()
validate
[exist]
error message
[not exist]
success
Display
message
56
Sequnce
diagram for <<Actor>> <<UI>> <<UI>> <<Controller>> <<DB>>
post nitice Manager Home page Post notice form Post notice form Table
click notice
submenu() initiate to post
notice()
display form
select category()
[invalid]
error message [valid]
save()
57
Sequnce
diagram for <<Actor>> <<UI>> <<UI>> <<Controller>> <<DB>>
report Report controller Home page report generate form Report generate form Table
generation
click report
submenu() initiate to
generate report()
select category
and click search display form
()
send() send()
[data found]
success
message
display data
select id and fill
description()
send() save()
click generate()
58
Login page
Invalid
Display error
is input valid?
message
Invalid
Notify wrong
found in database?
cridential
59
Report page
search data
from (db)
false
is found? Display error message
tru
e
Generate report
60
Income page
Fill data
Send data
false
is valid? Display error message
true
61
Expenditure page
Fill data
Send data
false
is valid? Display error message
true
62
Calculate
salary page
search(empid)
from emp db
Check input
false
Show error
is valid
message
true
return success
message
63
Approval page
is saved to
database?
Display success
message
64
Employee page
Fill data
Send data
false
is valid? Display error message
true
65
Salary page
Send data
false
is valid? Display error message
true
Payslip generated
66
Notice page
Fill data
Send data
false
is valid? Display error message
true
67
login link
onclick
login page
no
validity display error message
authentication page
68
account update
link
onclick
account update
page
button activate
no
validity display error message
account updated
69
update employee link
onclick
update page
fill and button
clicked
button activate
no
validity display error message
employee updated
70
employee register
link
onclick
registration page
button activate
no
validity display error message
registered
71
calculate link
onclick
salary page
button activate
no
validity display error message
calculated
72
post link
onclick
post page
button activate
no
validity display error message
posted
73
expense register
link
onclick
registration page
button activate
no
validity display error message
registered
74
income register
link
onclick
registration page
button activate
no
validity display error message
registered
4.3 ER Diagram
An entity-relationship diagram (ERD) is a graphical representation of an information system that
shows the relationship between people, objects, places, concepts or events within that system.
75
Lname
Mname
FName
Wingid
Id
Salary
Name
Lname Collegeid
Positionid
Mname
FName
Wingid
Fname Lname
Id
Salary Id Username
Name Employee 1
Name
Positionid Departmentid M
Id
Owns
Account
Password N
Accountant Views
1 1
Manager
Manages
1 1 Type Description
Id
M Manages
Date Date
N
Manages Account_id Generate Notice
Mname
Category_id
Views
Description Type
Date Fname Lname
Amount Id
N
Wingid
Id Report Id Name
Salary
Account_id Manages
N
N Positionid
Income Description 1
Date
Departmentid Collegeid
Account_id Id Fname Lname Administrator
Date
N Ammount
Description Name
Type
N
Category_id Budget Id
Payment
Id
N
Reporter
Amount
N N
Id Expense
Manages Manages
Id Id Fname
Fname Lname
Lname
1 Name
1 Name
Budgetcontroller
Paymentcontroller
4.3.1 Mapping
It is the process of representing database logic depicted in ER diagrams to a relational schema
form. Meaning logic represented in a diagrammatic form will be translated to table forms.
76
Employee
Wing
ID Name Coll_id Dep_id
College
ID Name Dep_id
Payment
PaymentCategory
ID Name
Budget
ID Dep_id Amount
Department
ID Name Pos_id
Income
Amount
Id Category_id Account_id Date Description
IncomeCategory
ID Name
Expense
Amount
Id Category_id Account_id Date Description
ExpenseCategory
ID Name
AccountCategory ID Name
Report
Description
ID Category_id Date
ReportCategory
ID Name
Notice
Description
ID Category_id Date
NoticeCategory
ID Name
77
4.3.2 Normalization
Normalization is a process of organizing the data in database to avoid data redundancy, insertion
anomaly, update anomaly & deletion anomaly.
First normal form (1NF): No composite attribute and no repeated (multi-valued) attribute are
allowed.
Second normal form (2NF): In the 1NF and there exists no partial functional dependency on the
key attribute. In other words, all attributes are dependent on the entire key.
Third normal form (3NF): In the 2NF and there exists no transitive functional dependency.
78
Table for Employee
Salary
emp_id Fname Mname Lname Sex Wing College Position Department
Id Name Department
Id Name Position
Amount Description
Id Category Accounttype Date
Amount Description
Id Category Accounttype Date
Category Accounttype
Id Amount Date Description
Id Department Amount
79
Table for Employee
Emo_id Fname Mname Lname Sex Salary Emp_id Wingname Department College
Amount
id Date Description Category_id Name Account_id Name
Amount
id Date Description Category_id Name Account_id Name
Amount
id Date Description Category_id Name Account_id Name
id Date Description
Amount
id Date Description
80
Table for Employee
Emo_id Fname Mname Lname Sex Salary Wing_id Name college_id Name Dep_id Name Pos_id Name
Amount
id Date Description Category_id Name Account_id Name
Amount
id Date Description Category_id Name Account_id Name
id Date Description
81
Chapter Five: System Design
83
5.4. Design Trade-offs
5.4.1. Development Cost versus Functionality
FMS provides many functions for users such as Payments, creating users etc. Each function of the
system requires extra design and this causes an extra cost for the development. Without
functionality, the system is nothing so, we focus on functionality rather than development cost.
5.4.2. Understandability versus Efficiency
Understandability of the code is too important especially during the testing phase. Each class and
method must be readable, so number of methods increase in the system and functions must be
implemented in a clear way. Writing comments into the source code increases the
understandability of the code. This causes an additional time taking in the developing phase.
5.4.3. Security versus Availability
In FMS, users must be authorized to connect to the system from web, and unauthorized people
should not be able to access the system. Each user will be able to login to the system by using the
username and password that is assigned by Administrator. And avaliability is the degree to which
a system or component is operational and accessible when required for use. The system can be
available but the system has money transactions so, we focus on the security part a little more than
on availability.
84
5.5. Architecture of the System
85
Report management subsystem: This subsystem allows for managing report information and
perform this operation:
Generate report
Approve report
Delete report
View report
Notice management subsystem: This subsystem allows for managing notice information and
perform this operation:
Post notice
View notice
Delete notice
Budget management subsystem: This subsystem allows for managing budget information and
perform this operation:
Add new budget
Approve budget
Delete budget
Update budget
Income management subsystem: This subsystem allows for managing income information and
perform this operation:
Register income
Delete income
Update income
Calculate income
Generate income
Print record
Expense management subsystem: This subsystem allows for managing expense information and
perform this operation:
Register expense
Delete expense
Update expense
Calculate expense
86
Generate expense
Print record
Payroll management subsystem: This subsystem allows for managing report information and
perform this operation:
Search employee salary
Update salary
Calculate salary
Generate pay slip
Generate report
Print employee salary
Request management sub system: This subsystem allows for managing report information and
perform this operation:
Send request
Approve request
Reject request
Database Connection Subsystem: this subsystem used for established connection between business
class and database management system.
87
Manage
Report sub Notice Request
account
system sub sub
sub
system system
system
Generate Approve
report report Send
Post notice
Create request
account
Delete
View report
report View delete Aprove
Update notice request
account
Approve View
Add budget
budget budget
Delete Update
budget budget
Connecti
on sub
system
Handle
payment search emp update calculate Generate
Print salary
salary salary salary report
88
Apllication Apllication Apllication
client client client
Communication Agent
for Application Client
LAN
Deployment modeling used to show the hardware of the system, the software that is installed in
the hardware and the middleware that is used to connect the different machines to one and other.
It also shows how the software and the hardware components work together.
5.8. Persistent data management
Persistent data management describes the persistent data stored by the system and the data
management infrastructure required for it. This section typically includes the description of data
schemes, the selection of a database, and the description of the encapsulation of the database (htt6).
89
FMS will largely depend on a relational database to perform day-to-day operations and storing log
data. Data will be stored in a MYSQL 2008 DBMS and manipulated through the Database
Subsystem, which will ensure data integrity and consistency. Database Subsystem will contain all
necessary SQL queries that will be accessible by the rest of the Subsystems. The database will be
backed up on a daily basis to ensure data security. The data stored in the database will include:
Payment information
Account information
Income information
Expense information
Budget information
Report information
Notice information
Employee information
User account
Account table id:string
Id<<primary key>> fname:string
mname:strikng
First Name lname:string
Middle Name sex:string
useranme:string
Last Name password:string
Sex role::string
active:string
User name
create()
password
update()
Status delete()
block()
activate()
90
Employee table class diagram for FMS
Id<<primary key>> Employee
First Name
id:string
Middle Name fname:string
Last Name mname:string
lname:string
Sex sex:string
Salary salary:string
position:string
Position
department:string
Department add()
update()
delete()
save()
edit()
print()
view()
91
class diagram for FMS
Expense table
Expense
Id<<primary key>>
id:string
Expense Amount xpensetype:string
Category<<foriegn key>> expenseamount:float
catagory:string
Account Type
acctype:string
Date date:datetime
Description description:string
save()
edit()
print()
view()
id:int
Id<<primary key>>
type:string
Type<foreign key>> date:date
description
Date view()
generate()
Description
print()
92
class diagram for FMS
93
5.9. User interface design
94
Figure 48: User interface for profile setting
Class
Employee
id:string
fname:string
mname:string
lname:string
sex:string
wing:string
salary:string
college:string
position:string
department:string
add()
update()
delete()
Invariant
Methods:
a) Add()
Precondition: Employee should be hired by the organization.
Post: The manager register employees.
b) Update()
96
Pre: Employee data should be exist.
Post: The manager update employee information.
c) Delete()
97
References
(n.d.). Retrieved from http://www.utdallas.edu/~chung/SP/SystemDesignDocumentTemplate.htm
(n.d.). Retrieved from http://www.utdallas.edu/~chung/SP/SystemDesignDocumentTemplate.htm
(n.d.). Retrieved from http://sydney.edu.au/engineering/it/courses/info5210/chap09.pdf
(n.d.). Retrieved from http://sydney.edu.au/engineering/it/courses/info5210/chap09.pdf
98