Department of Information and Communication Technology
COURSE NAME: Information Systems II
COURSE CODE: NINS63120
Semester Project Name of Examiner
Due Date: 20 May 2024
Mrs. K.E Mamabolo
Total Marks: 130
I declare that I am familiar Total pages: 9 (including
and will abide with the cover)
Assessment rules as
indicated in the Sol Plaatje
University Rules Book Name of Moderator
Mr. Serutla Lebelo
Student number
_____________________ Surname Initials
%
Signature
IMPORTANT INSTRUCTIONS
1. Answer ALL questions.
2. Use the spaces provided to answer each question.
3. The use of Calculator is not permitted.
4. The use of laptops is permitted.
5. The use of Cellphones is not permitted.
Case Study: Electricity Bill Management System
The Electricity Bill Management System was created with the primary purpose of efficiently
handling and recording customer electricity bills. The system provides a comprehensive platform
from which the administrator, as the key actor, may monitor and manage all client accounts.
Registered users, including employees and customers, also have access to account
management tools. This scenario guarantees that the bill generating process runs smoothly,
emphasising the necessity of accurate readings, historical data analysis, and effective record-
keeping. The technology is intended to help both administrators and users manage their
electricity-related transactions more effectively.
You are expected to implement the above-given case study using Xampp (Apache Web Server/
MySQL Database Server & PHP) open-source cross-platform web server solution. The modules
that should be considered but not limited to the following are:
Project Modules:
1. Login Module:
• Provides secure access with username and password authentication.
2. User Module:
• Manages personalised user accounts for employees and customers to access
and update account information.
3. Admin Module:
• Administrators have full control over the system, enabling efficient management
of all customer accounts.
4. Queries Module:
• Enhances system usability by facilitating user inquiries and data retrieval,
providing significant insights into billing and usage patterns.
5. Department Module:
• Supports organisational structure by categorising consumers into departments
for efficient management and service delivery.
6. Meters Module:
• Records metre data for proper billing and usage trends.
• Monitors and records meter-related information, crucial for accurate billing and
understanding consumption patterns.
Use Case: Generation of Electricity Bill for a Customer
Primary Actor: Admin
Precondition:
• Admin is successfully logged into the system.
Main Success Scenario:
1. The administrator checks the targeted customer's user record.
2. Admin analyses the customer's billing history to identify usage patterns and trends.
3. Admin updates the system with current readings to generate correct electricity bills.
4. The system validates information and confirms successful bill creation.
5. The bill is securely saved and dispatched to the consumer on the due date.
User Requirements (Customer)
User-Friendly Interface:
The system should have an intuitive and simple interface that allows customers of different
technical abilities to interact seamlessly.
Secure Login:
Customers should be able to securely log in to their accounts using unique usernames and
passwords to protect data confidentiality.
View Bills:
Customers should be able to view their current and previous electricity bills effortlessly within
the system.
View Consumption History:
Customers should be able to view their historical consumption statistics, including metre
readings and usage patterns.
Billing Details:
The system should display detailed billing information, such as billing dates, due dates, amounts,
and payment statuses.
Payment Options:
Customers should have access to a variety of payment alternatives, including internet payment
gateways, bank transfers, and payment at designated places.
Bill Notifications:
Customers should be promptly notified of forthcoming bills, payment due dates, and any
changes to billing schedules.
Usage Alerts:
Customers should receive alerts if their electricity use exceeds predetermined criteria, allowing
them to regulate their usage and prevent unexpected expenses.
Update Account Information:
Customers should be able to change their personal information, such as contact and billing
addresses, as needed.
Query Resolution:
Customers should be able to report questions or concerns about their bills or metre readings
through the system, and customer support should respond promptly.
Energy Saving Tips:
The system can provide energy-saving ideas and recommendations to assist consumers
minimize their electricity consumption and expenses.
Privacy and Data Protection:
Customers' personal and billing information should be protected under privacy standards, with
strict safeguards in place to prevent unauthorised access or data breaches.
Feedback Mechanism:
The system should have a feedback feature that allows clients to make comments or report any
problems they encounter while using the platform.
Sample Electricity Bill Management System Schema:
This schema covers essential tables and relationships for managing customer accounts, bills,
readings, and user information: The table fields are given below as a starting point but should not
be limited to the following:
1. Table: Users
• UserID (Primary Key)
• Username
• Password
• UserType (Admin, Employee, Customer)
2. Table: Customers
• CustomerID (Primary Key)
• UserID (Foreign Key referencing Users)
• FirstName
• LastName
• Address
• ContactNumber
3. Table: Meters
• MeterID (Primary Key)
• CustomerID (Foreign Key referencing Customers)
• MeterNumber
4. Table: Departments
• DepartmentID (Primary Key)
• DepartmentName
5. Table: Readings
• ReadingID (Primary Key)
• MeterID (Foreign Key referencing Meters)
• ReadingDate
• CurrentReading
• PreviousReading
• UnitsConsumed
6. Table: Bills
• BillID (Primary Key)
• CustomerID (Foreign Key referencing Customers)
• BillingDate
• DueDate
• Amount
• Status (Paid, Unpaid, Overdue)
This schema represents a basic structure for the project. Here are some key points:
• The "Users" database categorises users (Admin, Employee, Customer) and manages
authentication.
• The "Customers" database stores personal information for each customer and links to
the "Users" table.
• The "Metres" table lists clients and their physical electricity metres.
• The "Departments" table may provide information on several departments or areas
related to power distribution.
• The "Readings" table records metre readings and usage data for customers over time.
This schema is a starting point, and you may need to refine it based on new project requirements
or unique features. Normalisation, foreign key relationships, and data types must all be
considered during the implementation process.
Normalisation: the normalization steps for the proposed schema:
1. First Normal Form (1NF): Sample
Users Table:
UserID (Primary Key)
Username
Password
UserType
Customers Table:
CustomerID (Primary Key)
UserID (Foreign Key referencing Users)
FirstName
LastName
Address
ContactNumber
...
Meters Table:
MeterID (Primary Key)
CustomerID (Foreign Key referencing Customers)
MeterNumber
...
Departments Table:
DepartmentID (Primary Key)
DepartmentName
...
Readings Table:
ReadingID (Primary Key)
MeterID (Foreign Key referencing Meters)
ReadingDate
CurrentReading
PreviousReading
UnitsConsumed
Bills Table:
BillID (Primary Key)
CustomerID (Foreign Key referencing Customers)
BillingDate
DueDate
Amount
Status
...
Mini Project Rubric
Module Name: Programming II and Mobile App Development & ICT Electives I
Module Code: NPRG62120 and NITE62110 & NMAD62110
Lecturer: Mrs. KE. Mamabolo
Group Name:
Group Members:
Competency Description Total Mark Group
Mark
Robustness •
Validation of input data for correctness. 15
•
The password has 8 characters.
•
Indicate whether the password entered is a
weak, medium, or a strong one.
• Validation should also indicate mandatory
and optional fields in your application.
• Integrity is a notion of ensuring that only
authorized end-users can only manipulate
system data through authorized methods
and procedures.
• Confidentiality is a notion of hindering
unauthorized access to data or devices
GUI design The look and feel of the GUI: 15
• Not too busy (distracting)/dull (Not grabbing
attention/lacking brightness) – this includes
effective colour usage.
• Consistency and unity of the Layout
Functional Requirements are implemented based on user 20
Requirements requirements, that is, how each user interacts
with the application. For example, user login,
create accounts, image capturing, GPS
tracking, calculation of salaries, etc.
UML • Entity Relational Diagram to represent 40
Diagrams relationships among entities identified for
the application in a database.
• Normalisation: 1NF, 2NF & 3NF
• Class Diagram to describe the structure of
the application by showing the application’s
classes, their attributes, operations, and the
relationships among objects.
Database • User credentials and information stored in 30
the database.
• Password and image encryption
• Proper linking of front-end and back-end for
storing and retrieving of data.
Extra Additional features other than what was 10
Functionality required.