Final Draft
Final Draft
Final Draft
CHAPTER ONE
INTRODUCTION
Electric Power was introduced to Ethiopian in the late 19th Century, during the regime of Minilik. The
first generator was said given to Minilik around the Year 1898 to light the palace. In addition to the use
of generators ,Minilik got constructed the first Hydro Power Plant on Akaki River in the year 1912 in
order to supply power to small factories that had been limited to small factories and the palace was
extended to public places and major roads in the vicinity of the palace.
In the year 1948, an organization that had been vested with the power to administer the enemy property
was evolved to an organization called Shewa Electric Power. The new organization Shewa although
with limited capacity, managed to increase the power supply not only in Shewa but also other
administrative regions. In light of its function, its name was changed to “Ethiopian Electric light and
Power “in the year 1955.Soon after its establishment, the supervision and management of the
organization was vested in the Board of Directors appointed by the government.
After eight months of its establishment, the Ethiopian Electric Light and Power was transformed to the
“Ethiopian Electric Light and Power Authority” (Charter of the Ethiopian Electric Light and Power).
In order to accommodate the new changes in the environment, the Ethiopian Electric light and Power
Authority was transformed to the Ethiopian Electric Power Corporation (EEPCo) by reorganizing its
functions on the basis of the principles of commercialization and decentralization.
EEPCo Nekemte district is one of district in Oromia region. As our team takes information from the
organization, it was established in 1954. The organization start the administration with few number of
employee‟s, but now a day the organization employee‟s reach 56 in number.
The organization aim to engage in the business of producing ,transmitting ,distributing and selling
electrical energy in accordance with economic and social development policies and priories of the
government and to carry out any other related activates that would enable it achieve its purpose.
Now a day's technology plays a great contribution on the development of the world. It leads the world
with safe distribution and well defined activities. So in this competitive world doing activities through
computerized way has a great importance over manually inefficiency and effectiveness.
Therefore, the purpose of this project is to develop web based billing system for Ethiopian Electric
Power Corporation (EEPCo) of Nekemte District office and in order to Change its manual system into
automated system. This helps the organization to carry out its tasks in more flexible, fast and well
organized manner. Our team proposes to use different front end and backend software, and minimum
hard ware requirement.
The system we propose helps the organization to register new customer and to use electronic way of
transferring information between district and region office and electronic way of data storage. In
addition, the system has automated way of providing different information such as news and advertises
Currently, EEPCo Nekemte district uses manual system for registering new customer, controlling
payment, controlling penalty. This makes the activities difficult to perform in required time by minimum
man power.
The organization also complete services like bill generation, name transfer, de-enrollment in relation
with regional level and they use hard copy for services information transfer between district and region.
This may lead the organization to many problems like long delay of time to get required service, and
transportation problem.
As a result of existing manual system in the organization, also there is no automated way to announce,
advertise and to update any information related with bill dynamically. And the customer unable to
request complain and related questions in any place. And also customer get difficulty like wasting time
during pay bill.
The organization use traditional file management to store information due to absence of database
management system. This may cause:
So changing the manual system of EEPCo Nekemte district to automated system help the organization
to carry out its tasks in more flexible, fast and well organized manner.
When the project is initiated it has objectives to be in goal at the end of the project. These are:
General objective
The general objective of this project is to develop a web based billing system for EEPCo Nekemte
district.
Specific objectives
Specific objective describe the specific steps to be undertaken so as to achieve the general objective. The
following are the specific objectives which help to achieve the general objective of the project:
Collecting relevant data and providing means of analyzing the collected data.
Examine the existing processing system.
Identify the major problems of the existing system.
Providing alternative solutions
Selecting the best solution among the provided alternative solutions.
Developing and implementing the new system for EEPCo Nekemte District Billing System
The scope defines the boundaries of the project which part to be studied, analyzed, designed and
implemented. The scope of our project includes the following functionalities:
Registering new customer
Payment control
Penalty control
Providing automated way of information transfer between district and region for services such as
Name transfer services, De-enrollment service, generate report.
Providing automated way to retrieve information for required processing.
The proposed system will come with a lot of advantage for the organization by solving problems of the
organization that the team members are expressed above in the statement of the problem.
The proposed system gives benefits for both organization and customer and by improving the overall
performance of the organization.
The benefits that the organization will get from the proposed system are:
The benefits that the customer can get from the system are:
It is a study of resources availability that may affect the ability to achieve an acceptable system.
This evaluation determines whether the technology needed for the proposed system is available or
not.
This is concerned with specifying equipment and software that will successfully satisfy the user
requirements. The technical needs of the system may include front-end and back-end selection.
An important issue for the development of a project is the selection of suitable front-end and back-
end. When we decided to develop the project we went through an extensive study to determine the
most suitable platform that suits the needs of the organization as well as helps in development of the
project.
The aspects of our study included the following factors.
Front-end selection:
It must have a graphical user interface that assists users.
Must provide excellent reporting features.
Easy to debug and maintain.
According to the above stated features we selected PHP as the front-end for developing our
project.
Back-end Selection:
Multiple user support.
Efficient data handling.
Provide inherent features for security.
Efficient data retrieval and maintenance
Easy to install.
With the manual system the operating cost of the system is very high and time consuming. Since the
system reduces time, costs and human power, its value when we compare with existing systems exceeds
in more advantages. Hence the new system is economically feasible.
Cost Benefit Analysis
We analyzed the costs in terms of tangible and intangible benefits.
Tangible Cost
Stationary cost
Hardware cost
Intangible costs are costs associated with an information system that cannot be easily measured in Birr
and with certainty such as:
o Development time
o Energy Consumption
Purpose projects are beneficial only if they can be turned into information systems that will meet the
organization‟s operating systems. Some of the conditions are:
Is there sufficient support for the project from management and users?
Are correct business methods acceptable to the users?
Have the users been involved in the planning and development of the project.
Will the proposed system cause harm?
This project is worth full by giving best performance to the bill information, enough throughput as well
as good response time to users. This system ensures to provide safe and secure storage mechanisms for
the confidentiality of bill information.
In general the end-users and the management have a positive attitude toward our proposed system
1.9. Methodology
For gathering the requirement of the system team members will use various types of data gathering ways
interview and observation.
Interview
To gather more and real information about the EEPCo system we interview employer of the
organization, customers and manager of the organization, and we get lot of information about how their
work, the manager gave us the overall explanation of the system.
Observation
Our team visualize the ongoing activates of the system and we will try to observe the following things as
mentioned below:
Our team observed the above issues by actual communication with organization and by seeing
information handling techniques.
The team members use requirement elicitation unified modeling languages to analyze the collected
information. Requirement elicitation helps to discovery system requirement whereas UML is in part of
object oriented approach which is used to specify, visualize, modify, construct and document the
artifacts of an object-oriented software-intensive system under development. We have used Object
Oriented methodology (approach) to develop our system which is now becoming increasingly popular
because of its ability to thoroughly represent complex relationship, as well as to represent data and
process with consistent notation throughout the system. This method provides a powerful environment
for developing complex system. We have selected Object Oriented Analysis since it has so many
advantages over the structured approach which can make our system more efficient.
Study the existing system in order to know or learn more about the bottleneck problems.
Object Oriented Analysis techniques are best suited to projects that will implement a system
using emerging objects technology to construct, manage and assemble those objects in to useful
computer application.
The reason being for using object oriented approach is to get the benefits that we can get from this
methodology such as:-
Increased reusability
Increased extensibility
Improved quality
Reduce maintenance burden
simplifies the complex application development
It creates more flexible application
Our team members need to implement the project using PHP, MySQL, HTML, CSS, browser and
Wamp server. We chose PHP because our project goals were ambitious, and we are most comfortable
programming in PHP. There are many advantages offered by PHP it is fast, stable, secure, and easy to
use. By programming in PHP, we were able to work quickly and efficiently and be able to implement
some of our proposed advanced functionality. Wamp Server allows us to create web applications with
PHP and a MySQL database. Alongside, PhpMyAdmin allows us to manage easily our databases.
MySQL database is web hosting database that is used to store web site information like news or user
information. CSS (Cascading Style Sheets) is used for improve and stabilize the attractiveness of the
displayed HTML. A browser allows us for hosting application.
Hardware consideration
The system can operate on personal computers or laptop having more than70GB hard disk, minimum 1
GB RAM, network interface card, Intel Pentium 2.5 GHz processor on server side and operate on
personal computer or laptop having more than 500MB RAM, Intel Pentium 2.5 GHz processor.
Software consideration
The system runs in computers must have browser and operating system that support graphical user
interface (GUI) in client side. Also it runs in computers must have browser, operating system that
support GUI and Wamp server.
The problem of contacting the EEPCo Nekemte District office manager at the time we needed.
The constraints on the development of the system are the following:-
CHAPTER TWO
INTRODUCTION
In this phase we focus on describing the existing EEPCo billing system of Nekemte district office. It is
so, to study and identify the overview of the existing system, major functions of the existing system with
clear input, process and outputs, business rules of the existing system , alternative solution to address
problems of the existing system , System Requirements of the new system, strength and weakness.
EEPCo Nekemte district is one of district in Oromia region which works for power distribution among
customer. When customer wants to get services it request the services by filing contract for supply of
electricity form. Once customer fills for supply of electricity form organization employee register
customer information in hard copy and send to region for required service processing. The remaining
services like power improvement, meter change, tariff change are done in similar way.
Customer can forward complain and get any necessary information by communicating directly with
organization. Bill payment and Penalty are performed manually by hard copy.
2.2. Major functions of the existing System with clear input, process and outputs
The major and fundamental functions of the existing EEPCo-billing system Nekemte district are the
followings:
Bill payment
Registration of a new customer is major function of the existing system of EEPCo Nekemte district
office. This step is processed by the District officer by exchanging the details of the new customer for
registering to the organization.
Having finished and passed through the following procedure; the new customer comes to the office and
take the new customer form and fills necessary information.
Then the form is checked and submitted to the EEPCo office document.
The District office is responsible to generate the reports about the bill monthly and annually. This
process starts when necessary information is collected from different customer and user.
Then the District office generates different reports such as amount of bill-cost consumed
electricity power
The bill payment is processed at district after it printed by region record officer.
The bill penalty payment is processed at district level if the customer not pays the bill in a given
duration of days. The payment period of one group if one customer is specified to be 5 days, and
different dates for payment are: 26th-30th, 1th-5th, 6th-10th and 11th-15th of every month in Ethiopia
Calendar.
A business rule is statement that defines or constrains some aspect of the business. When systems
developed it is needed to respect organization business rules. The following are some of EEPCO
business rules.
Reports and summaries are the fundamentals of any business organization. They tell how the business is
running at any given time with specified of summaries.
As report generated in the existing EEPCo, it can be generated based on the general information about
the customer bill. The following are the reports and summaries generated in EEPCo Nekemte district.
Annual Report: total revenue from bill cost, number of customers and employees.
Monthly and daily Report: new customer, name transfer, tariff change, bill payment cost, bill
penalty cost.
Form of Electricity Sale Bill:-the form that contain bill information like customer name, bill
number, contract number, book-itinerary sequence number, current and previous reading,
consumption, block rate charge birr, etc.
Form of registration new customer:-the form used for customer registration includes customer
detail like name, address, bill number, contract number, etc.
Form of penalty payment: - a form that used to pay penalty.
Form of making name transfer: - a form used when customer want to transfer his/her name to
others.
Document of meter reading information: - the document that used to store previous and current
metering.
Document of accepting complain: - a document on which a complain requested by customer is
stored.
The PIECES frame work was used to identify the problems in the existing manual EEPCO -billing
system of Nekemte district. The problems identified are presented below.
Employees waste their time due to redundantly input data‟s to register new customer, generating
reports, and calculating cost is erroneous which produce wrong information.
The use of several forms in the record keeping will incurs additional material cost.
Due to little security control unauthorized workers are capable to access information.
All information that must be captured in the current EEPCO Nekemte district is performed manually in
which error may occur and redundant input the information.
Lack of relevant information in annual and monthly reports generated by the EEPCo-billing system
Nekemte district in calculating bill cost reports. No standard method of generating reports.
In existing system data is managed using paper sheets which can cause problems like miss
management of data. Cost will be increased because of lot of human resource required for analyzing
data which will lead to time taking process.
Even if the existing EEPCo Nekemte district is running manually it has its own strength, its strengths
must be preserved to enhance the new system. The following strengths are outlined to be preserved in
the automated system.
Weakness
Lack of file security: In the existing system file can easily be damaged and if the file is once
damaged there is no means to get it back.
Absence of database for file storage
Difficulty in retrieving of costumer files
It requires large storing space for record
Lack of data integrity and leads to information redundancy
Strength
Employers try to perform customer services in minimum time by working over the time.
Because of all needed customers information in hand and the processes proceed in step from one
center to another, easy to fix errors.
Files are arranged based on the bill registration number.
They keep the file in category in year-wise in order to make searching files faster as much as
possible.
Use systematic file searching technique by using bill registration number.
For the existing system our team decided to solve the problem of existing system through web based
system. Because it increases the performance of the existing system by the following factors.
In many organizations, services and tasks the system required to perform can be
Categorized in to functional and non-functional.
Functional requirements capture the intended behavior of the system. This behavior may be expressed as
services, tasks or functions the system is required to perform. Our system mainly work to remove
services information transfer by hard copy and to bring the fastest services processing. These is done by
providing interfaces for each service and store the data to database so that the information‟s are retrieved
through interfaces. During required elicitation our team observes as well as sort out the following
functional requirement that EEPCo Nekemte district mainly needed to perform.
Non-functional requirements are constraints of the system such as response times, computational
accuracy, software portability, scalability, maintainability. The organization customers, the service
users and related personals mainly need system accuracy which reduces many unusual processes. In
addition response time and maintainability is required from system. Due to this our team proposed to
implement the following non-functional requirements.
CHAPTER THREE
SYSTEM MODELING
3.1. INTRODUCTION
In this chapter we focus on the system modeling EEPCo billing system of Nekemte district office. It is
so, to study and identify the use case, sequence diagrams, class diagram and business rule of new
system.
A use case represents a function that the system performs. Alternatively, a use case can be thought of as
a goal that some actor can achieve with the system. Identifying use case uses to visualize the overall
system functions and the actors interacting with use cases. By concerning this concept our team
identifies the following use cases.
Use case
Login
View sale bill
Generate bill
Pay bill
Pay penalty
customer registration
Make name transfer
Make de-enrollment
Generate report
Forward complain
Manage user accounts
Deliver information
Actor classes are used to model and represent roles for "users" of a system, including human users and
other systems. Actors are denoted as stick person icons. In our proposed system there are the actors
which participating with system. The following are the actors of the proposed system.
Customer: - customer is the primary actor of the system. That mainly requires organization
service by communicating directly to organization employers.
System administrator: - maintain the system, ensure hardware software working correctly
replying to user comments, control all over the system and data base.
District Record officer: -District Record officer is also an actor that performs several activity
of the system. She/he accepts complain that come from customer and handle complain
manually. Also she/he provides services like new registration, de-enrollment, make name
transfer, generate bill, report generation for system.
Region Record officer: -Region Record officer complete all the processes using information
provided by district. In addition to performing requested services it deliver different
information for different personals.
Cashier: -Cashier collects money payment of bill cost and penalty from customers.
Use case diagram is used to define the core elements and processes that make up a system. It describes
what a system does from the viewpoint of an external observer. The Use case diagram shows which
actors interact with each use case. Our team designs the proposed system use case diagram as following.
<<extend>> Pay_penality
Pay_bill
View_sale_bill
Cashier
<<include>>
Advertisements
customer Forward_Complain <<include>>
<<extend>>
name_transfer <<include>>
<<include>> Deliver_information
<<include>>
<<include>> <<extend>>
Rigster _new_cus
login
<<include>> News
Region
De-enrollement record
<<include>>
officer
<<include>>
<<include>>
Generate_bill
District
record
officer
Manage_user_account
Generate report
System Administrator
The following are some of the business rules which preserve the integrity of the logical data
model of our system.
Name: Only a User with valid username and password can access the system.
Identifier: BR#1
________________________________________________________________
Name: Only System Administrator can manage accounts of other users.
Identifier: BR#2
__________________________________________________________________
Name: Record Officer has the right to access, view and store, the customer‟s record.
Identifier: BR#3
________________________________________________________________
Name: The customer must have bill number to get services provided by
organization.
Identifier: BR#4
________________________________________________________________
Name: customer pay bill in given deadline by the district, else he/she will be pay
penalty payment to the organization
Identifier: BR#5
________________________________________________________________
Name: Only the region record officer can deliver information.
Identifier: BR#6
________________________________________________________________
Name: The District record officer can register customer, make name transfer, make
de-enrollment, generate bill and report.
Identifier: BR#7
________________________________________________________________
Name: Record officer and customer can view electricity bill by using bill number.
Identifier: BR#8
________________________________________________________________
Name: Customer can forward any problem related bill information for organization.
Identifier: BR#9
Name: login
ID: UC-01
Description: To login on the EEPCo Nekemte District Billing System application as valid
User to give service to users.
Participating actor: region record officer, district record officer, customer.
Pre-condition: User must have User name and password.
Basic course of events:
1) The system user wants to login the system.
2) The system displays system login screen.
3) The system user enter user name and password and click submit button.
4) The system validates information according to BR#1.
5) The system displays main menu screen.
6) Use case ends.
Alternate flow A: incorrect user name and/or password.
A.3. The system determines incorrect user name and/ or password entered
A.4. The system informs the user to re-enter user name and/ or password
A.5.the use case resume at step 2 of basic flow
Post-condition: The system user logged.
Table 3.1. Login description
for register.
Basic course of events:
1) Customer wants to register.
2) District Recorded officer fill the required customer information for registration new
customer on database
3) District record officer click “submit” button
4) If the required information provided by the officer is validated and verified, then customer
will be registered based on business rule given under B#3.
Make De-enrolment
4) The system Fetch information from data base and display the data.
5) District Recorded officer cancel the customer and save into database based on B#7.
6) Use case ends.
Alternate event A: invalid customer information
A.2 the customer information will not be de-enrolled, and the system asks the customer to
full information.
A.3 use case resume at step 2 of basic flow event.
Post-condition: customer de-enrollment confirmation.
Table 3.3. De-enrollment description
Name transfer
Generating bill
Pre-condition: -District record officer logged into system and should have to look reading
meter.
Basic course of events:
1. District record officer want to generate bill.
3. The District Record Officer fills all needed information on the form and press Calculate
button supported by B#7.
4. The system checks whether all information is filled and send acknowledgement.
Deliver information
Forward complain
Generating report
ID:UC-10
Description: This process is when the district officer wants to generate report about the tasks
performed at district level for the region.
Participating actor: District record office and region record office.
Pre-condition: District record officer and region record office must be logged into system..
Basic course of events:
1. District record officer Generate Report about the task performed.
2. The system displays the Generate Report form for District record officer and
enters the required information to the system.
4. The district officer Send button and the systems send the report according
business rule B#7.
Bill payment
A.4 the customer will not pay bill, and the system asks the user to come with a full
information.
A.5 use case resume at step 2 of basic flow event.
Post-condition: customer will be paid a bill penalty.
Table 3.11.Pay bill penalty description
Manage accounts
1:click()
2:Display()
3:Fill_Information()
8:Acknowldgement
1:click()
2:Display()
3:Fill_Prev_Inform()
7.Ackowlegdment
1:click()
2:Display()
6:Acknowldgement
1.browse()
2. click()
3:Fill Inform()
7.Acknowlegdement
1:browse()
2:Click()
6:Acknowldgement
Dist_Rec_ Reg_rec-
Officer officer Window Service service form serv_inf_retr_page Data Base
1:click()
2:Display()
3:Fill_ serv_Info()
4:store info()
5:Acknowldgement
6:Click()
7:Display()
8:request report ()
9:Ok()
11:Acknowldgement
Service Window Pay Bill Form Penalty Bill Form Database Cashier
Cashier
1:click()
2:Display()
9:click()
10:display()
11:fill penalty info()
12:click submit button()
13:pay penalty bill()
14:Acknowldgement
domain, a set of persons, objects, or ideas. Our team uses class diagram to describe the structure
of the system.
The first for drawing class diagram is to identify classes. After those differentiating relationships,
association, multiplicity and classes operations were the next step to proceed.
Reg_Rec_Officer
-Fname : char Data Base
-Mname : char
-Lname : char
-address : char
+Retrieve report()
+Deliver()
1
1...* Dis_Rec_officer
Penality
Customer -Fname : char
+Date : Date Information 1.* 1 -Mname : char
+Fname : char
-Fixed amount : int 1..* 1..* 1.* 1..* +date : Date -Lname : char
+Mname : char
-reason : char -title : char -address : char
+Lname : char
+pay() -address : char -content : char +register new_cust()
1...* +type : char 1 +make de_enrollement()
+view bill()
1..* +for ward complain() +post() +name transfer()
+pay bill() +accept complain()
1..* +generate report()
1
+genarete bill()
1..* 1..* +view bill()
1..*
Service
1 1..* 1...*
-Name : char
+Type : char
casher 1 1..* Payment +show()
-name : char +date : Date 1..*
+perform penality() -Amount : int
+perform payment() +pay() Complain Account Sys_ Admin
1...* 1
+date : Date -User name : string -Fname
-reason : char -Password : string -Mname
+forward() +create() -Lname
+Manage ()
The major concern in documenting supplementary specification is to capture artifacts where all
requirements that are not contained in use case model, user interface model or domain model.
Supplementary specification includes constraint, change cases and nonfunctional (technical)
requirement.
Nonfunctional requirement
The system should support error handling mechanism.
The system should be menu driven and attractive.
The system should protect data from authorized access
The system should determine users with different privilege.
Constraints of the new system
Constraint is restriction on the degree of freedom to provide a solution. The following constraints
are outlined for the new billing system of EEPCo Nekemte District.
In software life time (during operational period) the environment might change with different
aspects, such as technological changes, operation changes additional business units in the
organization.
CHAPTER FOUR
SYSTEM DESIGN
4.1. INTRODUCTION
System design is the transformation of the analysis model into a system design model. It is a
process of defining the architecture, components, modules, interfaces, and data for a system to
satisfy specified requirements. We use system design to reduce the complexity of the system by
decomposing the system into subsystems.
Understand and define the context and the modes of use of the system.
Design the system architecture.
Identify the principal objects in the system.
Develop design models.
Specify object interfaces.
The system design is essential to determine how we are going to build our system and to obtain
the information needed to drive the actual implementation of our system. The system designer
must decide what performance and characteristics to optimize choose a strategy of attacking the
problem, and make tentative resource allocations.
Design goals
A design goal Describes and prioritizes the qualities that are important for the system .Defines
the value system against which options are evaluated. These goals are derived from the non-
functional requirements of the system.
The following are the qualities of our system that should be considered in designing of the
system. Those are:
Performance:-The system should respond fast and store large amount of data by using
MYSQL database, it should perform system transaction in a time less than 2 minutes.
Robustness:-The system should tolerant of misuse by validating input data using
JavaScript language.
Security:-The system should be secured from unauthorized users by giving special
privilege for authorized users.
Usability: - The system should have attractive and understandable graphical user
interface.
Efficient:-the system should be efficient use of memory and CPU by minimizing code
using cascade style sheet.
Scalability:-the Server should have spare capacity to handle larger number of clients
Reliability :-the System should survive node or communication link problems
Class type
Our system is classified into several related class which are designed to perform different
function.
Feedback class:- This class of the system store different user‟s feedback that helps to improve
the system to advanced system. Also feedbacks useful for services related tasks.
About Us class: - This class mainly visualizes organization structure. This helps users simply
understand the flow of management.
More link class: - This class contains photo gallery and emergency call.
2. Admin interface
Create account:-Administrator has privileges to create accounts in this class for region and
district record officers and another account for himself.
Update account:-Administrator also has privileges to update accounts when needed by region
and district officers.
3. Customer interface
Bill Information: - This class provides information for customers to view sale bill and how to
pay bill.
Complain: - This class provides the way to forward complain to district and then complains was
processed by region in relation with district officers.
New event: - This class provides new events that may be very urgent information for customers
from organization.
Services information:-This class has separate interfaces to access services information that
provided by district office.
Information: - This class allows the organization to post news, advertisement and events.
Services: - This class holds main functionalities that district office can do. They include bill
payment, bill penalty payment, bill generation, name transfer, make de-enrollment and like.
Downloads: - This class helps the organization to download different types of information
uploaded.
Title
Login
De-enrollment
Advertise View sale bill
Downloading
Posting Events
Generate bill
CONTROLLER/PROCESS LAYER
The process or controller layer implements business logic that involves collaborating with
several domain classes or even other process classes.
In this layer our system has one domain that implements the logic of our
system.
The domain or Business layer implements the concepts pertinent to business domain. In our case,
for example, the business domain such as: Customer, Record Officers, and etc. It focuses on the
data aspects of the business objects plus behaviors specific to individual objects.
This layer implements the concept related to the business domain focusing on the data
aspects of the business.
PERSISTENCE LAYER
Persistence layer encapsulate the capability to store, retrieve, and delete objects or data
permanently without revealing details of the underlying
This layer summarizes the capability to store, retrieve and delete objects or data permanently
with our revealing details of the underlying storage technology.
Storing the data of the employee and retrieving the datum at needed time is quite possible the
primary key enables the system easily to search.
This layer implements fundamental software features of our projects. The main features of our
project are flexibility and adaptability. It can easily be modified.
SYSTEM LAYER
System layer provide operating system specific functionality for the applications, isolating the
software from the operating system by wrapping operating system specific features, increasing
the portability of the application developed.
The system is going to be developed using dream weaver by PHP programming language. So the
system can run on the computer that has wamp server. On the other hand for database system
MYSQL is needed to run the system.
Class model provides an overview of the target system by describing the objects and classes
inside the system and the relationships between them. It represents a relevant concept from the
domain, a set of persons, objects, or ideas. Our team uses class model to describe the structure of
the system.
Class models shows the classes of the system, their Interrelationship (including inheritance,
aggregation, and association), and the operations and attributes of the classes.
Reg_Rec_Officer
-Fname : char Data Base
-Mname : char
-Lname : char Access
-address : char
+Retrieve report()
+Deliver()
1
Provide
1...* Dis_Rec_officer
Penality
-Fname : char
+Date : Date Customer
Information 1.* 1 -Mname : char
-Fixed amount : int 1..* 1..* -Fname : char 1.* 1..* -Lname : char
+date : Date
-reason : char -Mname : char Can see -address : char e
-title : char g
+pay() -Lname : char
-content : char
Can see
+register new_cust() ana
pay 1...* -m
+view bill() +type : char 1 +make de_enrollement()
+for ward complain() +name transfer()
1..* +post()
+pay bill() +accept complain()
1..* +generate report()
1
1..* +genarete bill()
Control 1..* register
+view bill()
pay
Service
req
1 1..* 1...*
1..* -Name : char
ues
+Type : char
t
Component modeling is an essential part of object oriented system analysis and design.
Components have dependencies on the interfaces of other components, modeled using the
standard UML dependencies
The goal of the system decomposition is to reduce the complexity of design model and to
distribute the class of the system in to large scale and cohesive components. Our system is
decomposing into the following subsystem.
EEPCo_Billing System
Nekemte District
Adminstration
subSystem communication
subsystem
This subsystem helps the organization to provide various services information that is accessible
by region record officer. In the process the district record officer organize all services
information and feed to system and the region record officer access this information for further
processing. All services have their own interface to put the information‟s.
This subsystem allows the organization to perform their payment process in simple manner by
setting duration of payment days.
This subsystem allows the administrator to authorize users based on privileges level. Admin
create accounts for region and district record officers. In addition to this subsystem allows
account creation for customers.
Deployment modeling is used to depict the relationship among run-time components and
hardware nodes. Components are self-contained entities that provide service to other components
or actors run-time components.
Client Browsers
<<Application>>
Customer Registration
Wamp Server
<<Database>>
EEPCo Billing
<<Application>> System DB
Pay bill
<<Application>>
View Bill
<<Application>>
Forward Complain
<<Application>>
Manage Account
The system has two nodes the browsers node on the client machine and the database server on
the server computer.
o Browser node:- is to view the Web site by using the website address (URL).
o Client machine: - is user side of the Web.
o database server:- is a computer program that provides database services to other computer
programs or computers, as defined by the client–server model.
Persistent data management deals with how the system is going to handle the actual data need to
be stored on the system database. There are currently realistic options for storage management
such as Flat files, Relational database, and Object-oriented database.
From below listed database management systems our team selects relational database
management system to store data. This is because of A relational database provides an
abstraction of data that is higher than flat files. Data are stored in tables that comply with a
predefined type called schema. Each column in the table represents an attribute. Each row
represents a data item as a tuple of attribute values. Several tuples in different tables are used to
represent the attributes of an individual object. Relational databases have been used for a while
and are a mature technology. The use of a relational database introduces a high cost and, often, a
Performance bottleneck. Below there is relationship among tables.
Create Account
First Name(20):char
Customer Midle Name(20):char
Last Name(20):char
Bill No(20): int=Primary Key User Name(20):char
First Name(20):char Create account Password(20):char
Middle Name(20):char Confirm Password(20):char
Last Name(20):char Select Account Type(20):char
Phone Number(10):int
Sex(2):char
Address(30):char Can see Deliver Information
Contract No(20):int
Meter No(20):int Poster(20):char
Book Itinerary No.(20):int Date(10):date
View bill information News(500):char
Fo
pay
rw
ar
d
Bill Payment
n
First Name(20):char
Bill No(20):int Complain Middle Name(20):char
First Name(20):char Last Name(20):char
Middle Name(20):char Bill No(20):int Address(30):char
Last Name(20):char Compinfo(300):char Contract No(20):int
Contract No(20):char Meter No(20):int
Pamount(10):int Book Itinerary No.(20):int
Previous Reading(20):int
Present Reading(20):int
Total Balance(10):int
In order to develop and implement the system software as well as hardware should be
requirements.
Hardware Mapping
The hardware used for EEPCo-billing system Nekemte district is a personal computer.
Software Mapping
The system uses Microsoft Windows Professional Operating System. The proposed system uses
Microsoft Dream Waver as a text editor and PHP, JavaScript to develop the system. The system
uses MySQL data base with verterigo/wamp server to store data. Micro soft office 2007 for
documentations
Client machine: - refers to a user's computer that is connected to a network and accesses the
system from server, machine.
Web browser: - The application program that serves for accessing the World Wide Web, one
of the major services on the Internet. In order to view a Web site, by using the website
address (URL).
Server machine: - is a system that responds to requests across a computer network to provide,
the system service.
Data base: - A MySQL database is a web hosting database that is used to store web site
information like user information.
4.8. Object Design
There are several objects identified in this system. In this section all objects will be described in
detail. The attributes of objects will be described in terms of their purpose, type and constraints
that should on them all the time. In addition to this the conditions that should be satisfied before
an operation is invoked and after it is invoked is also given for each
Reg_Rec_Officer
-Fname : char Data Base
-Mname : char
-Lname : char Access
-address : char
+Retrieve report()
+Deliver()
1
Provide
1...* Dis_Rec_officer
Penality
-Fname : char
+Date : Date Customer
Information 1.* 1 -Mname : char
-Fixed amount : int 1..* 1..* -Fname : char 1.* 1..* -Lname : char
+date : Date
-reason : char -Mname : char Can see -address : char
-title : char ge
+pay() -Lname : char
-content : char
Can see
+register new_cust() ana
pay 1...* -m
+view bill() +type : char 1 +make de_enrollement()
+for ward complain() +name transfer()
1..* +post()
+pay bill() +accept complain()
1..* +generate report()
1
1..* +genarete bill()
Control 1..* register
+view bill()
pay
Service
req
1 1..* 1...*
1..* -Name : char
ues
+Type : char
t
Account
-User name : string
-Password : string
+create()
Method Description
o Create (): Used to create account.
Visibility: private.
Class name: System administrator
Sys_ Admin
+Fname
+Mname
+Lname
+Manage ()
Customer
+Fname : char
+Mname : char
+Lname : char
-address : char
+view bill()
+for ward complain()
+pay bill()
Dis_Rec_officer
-Fname : char
-Mname : char
-Lname : char
-address : char
+register new_cust()
+make de_enrollement()
+name transfer()
+accept complain()
+generate report()
+genarete bill()
+view bill()
Reg_Rec_Officer
-Fname : char
-Mname : char
-Lname : char
-address : char
+Retrieve report()
+Deliver()
Payment
+date : Date
-Amount : int
+pay()
Penality
+Date : Date
-Fixed amount : int
-reason : char
+pay()
Service
-Name : char
+Type : char
+show()
Information
+date : Date
-title : char
-content : char
+type : char
+post()
o Date: This attribute used for specifying the date at which the information was delivered.
o Title: This attribute used for specifying the title information to be delivered.
o Content: This attribute used for specifying the content of information to be delivered.
o Type: This attribute used for specifying the type information. I.e. news, vacancy or new
events.
Operation Description
o Post (): This method used to post information.
visibility: public
Class name: casher
casher
+name : char
+perform penality()
+perform payment()
Complain
+date : Date
-reason : char
+send()
Chapter Five
5. Implementation
5.1. Introduction
Implementation in the system includes implementing the attributes and methods of each object
and integrating all the objects in the system, to function as a single system. The implementation
activity spans the gap between the detailed object design model and a complete set of source
code files that can be compiled together. This chapter presents Algorithm design & coding.
For controller class member function algorithm are designed. This design enables to see every
steps and flow of logic in each function. This design part is important in the coding part of
implementation. Some of the algorithms are:
5.2.1. Algorithm
Fill user name, password and user type in the appropriate interface
Else
End if
Else
End if
Else
End if
Else
End if
Else
End if
5.2.2. Coding
Login:
<fieldset id="fieldsetle">
<legend>Member Login</legend><br>
<input
style="height: 32px;"class="box11" type="text" name="uname" size="30" placeholder="Enter
your user name here"><br><br>
<input
type="password" style="height: 30px;"class="box11" name="psswrd" size="30"
placeholder="Enter your pasword
here"><br><br>  
;
<option value="admin">Administrator</option>
<option value="cust">Customer</option>
</select><br><br>
bsp;
<a href="forgot.php">Forgot password?</a></p>
<a href="cust.php">New customer?</a>
</fieldset>
</form>
<div id="maina"><!--left body code area inside main body begins here -->
<legend>New customer</legend>
<center>User Name:
<center>Password: &nb
sp;
</fieldset>
</form>
</div>
Feedback:
<fieldset id="fieldsetle">
<legend>Member Login</legend><br>
<input
style="height: 32px;"class="box11" type="text" name="uname" size="30" placeholder="Enter
your user name here"><br><br>
<option value="admin">Administrator</option>
<option value="cust">Customer</option>
</select><br><br>
</fieldset>
</form>
Unit testing
Verification (A set of operations that the software correctly implemented a particular function)
on the smallest element of the program i.e. the modules are tested alone in order to discover any
error in the code.
When the field is empty, the system will display the following message.
When we enter a character instead of numeric value, the system will display the following
message
When we enter a number instead of character value, the system will display the following
message
The system calculates average cost of the bill by accepting current and previous read amount.
If previous reading is greater than the current the system display the following message.
Integrated testing
The process of bringing together all the modules that a program comprises for testing purpose.
System testing
System test insures that the entire integrated software system meets requirements. It tests a
configuration to insure known and predictable results. System testing is based on process
description and flows, emphasizing pre-driven process links and integration points.
In essence system testing is not about checking the individual parts of design, but about
checking the system as a whole. In effect it is one giant component.
They are:
• Functional requirements
The documentation can be used as a guide for the user of the system.
Volume Testing
The purpose of volume testing is to find weakness in the system with respect to its handling of
large amount of data during extended time periods.
Acceptance testing
The process by which the actual users test a completed information system, the end result of
which is the user acceptance of the system. Acceptance testing checks the system delivers what
was requested.
The EEPCo-billing System Nekemte district gives different services to the users of the system.
In order to guide the users and to interact with system functionality, the system user manual is
prepared. . It covers issues such as how to add a new bill and customer, how to view bill
information and customer information, how to search specific bill and search specific customer,
delete unwanted bill, how to calculate bill cost and generate bill calculated. The various forms
that are included in the system are shown with their description as follows.
The first form which will be displayed when the user opens the EEPCo-billing System Nekemte
district application program is the log in form
This form is used to validate whether a specific user is authorized to use the EEPCo Nekemte
district billing system or not. The authorized users of the system will enter the user name on the
text field next to user name and the password on the text field next to password. After the data
for the two fields are inserted the user can press the “ok” button to log in to the system or cancel
button to exit the login form and quit using the application.
If you insert a correct password and username information message will be displayed as below.
If you insert an invalid password and username error message will be displayed as described
below
To register a customer‟s bill , the district officer click open his home page then select bill
registration and then register button of the home form and the system display the following
registration form then fill all information and click register submit to save into database
To generate different types of reports select from dropdown menu the Reports button in the
main form and the following form will be displayed.
To create user account, the Admin clicks on the create account button and the system display the
following Create Account form
For the proper functioning of the system the following hardware and software are required
Hardware’s
Computer
CD/DVD disk, magnetic tape, for recovery.
Software’s
Macromedia Dreamweaver MX 2004(or above)
Wamp Server
Internet Explorer
Mozilla Firefox
5.6. Installation
After installing both Macromedia Dreamweaver and vertigo server software do the following
steps
Step1
Step 2
Step3
Explore internet explorer and import the database “EEPCOO” into data folder
http://localhost/phpmyadmin/ to create database called „EEPCOO‟
Step4
Then
Step2
From the start menu click on start->Run
Steps3
In the run Dialog box type the URL of the page (http://localhost/eepco/login.php) and the
click “OK” button.
CHAPTER SIX
6.1. Conclusion
An effort has been made to study EEPCo Nekemte District as partial fulfillment of BSc degree in
information Technology. In doing the study the team has tried to follow object oriented system
analysis and design methodology.
Since the success and failure of any system depends on gathering the right information through
different fact-finding techniques and user involvements, the team has made the best effort to
gather requirements. After a detail review and study of the existing system of EEPCo Nekemte
District models have been designed to reflect the new system that is supposed to solve problems.
Designing computerized system for EEPCo Nekemte District helps to maintain a computer based
billing system.
In order to solve different problems existed the team has tried to propose a solution that at least
reduce the existed problems and model the proposed system using different tools and
methodologies. We believe that different tools and techniques has helped us a lot in capturing
real user requirements and model the right system for the users for their day to day transactions.
Thus it should have the precedence in know-how and experience in collecting, processing and
utilizing information.
6.2. Recommendation
Nowadays, the world is highly becoming a competitive world. Organizations have to divert their
attention on using the recent technology to be on the first line and competitive. This can be real if
they are able to use information communication technology (ICT) to successfully achieve their
objective. EEPCo Nekemte District is the Government institution that includes many human
powers in fulfilling its function. This is mainly concerned with providing Human power. As we
describe in this document, almost all activities of the organization is done on manual basis. From
the various facts that constitute the project, the following points can be recommended:
Attention should be given to the existing practice in the design, development and
utilization of the new system.
Serious consideration should be given for the introduction of the new system.
The staff workers should have adequate computer facilities for the introduction of the
new system.
Behavioral change of the users of the system to adapt the new system.
There should be a network infrastructure in order to connect the different computers in
the department.
Budget should be allocated to take specific measure:
- To change the obsolete hardware instrument by the new one.
Appendix
References
1. Ambler, Scott, and W...Object primer 2nd ed. Cambridge: Cambridge University
press (2001).
2. Elmasri, Ramex.Fundamentals of database systems.2nd.ed.Redwood city, CA:
Benjamin Cummings publication.
3. Jacobson, Ivar. Software Engineering. New York: McGraw-Hill (1992).
4. System analysis and design with UML 2nd edition,1994
5. www.freesoftware.com
6. www.sourcecodester.com