Introduction
Azani is a company that provides internet services and internet infrastructure to learning institutions. The institutions served include primary schools, junior schools, senior schools and colleges. Each institution pays a registration fee of KSh 8,500. After registration, an institution can subscribe to a bandwidth package and request installation services.
Before installation, Azani visits the institution to assess available computers and Local Area Network readiness. If computers are not enough, the institution may purchase additional computers from Azani at KSh 40,000 each. The institution also pays an installation fee of KSh 10,000 once it is ready for connectivity.
Institutions that upgrade to higher bandwidth receive a 10% discount on the monthly charge of the new bandwidth. Monthly bills are due at the end of every month. If a bill is not paid in time, an overdue fine of 15% is charged. If payment is still not made by the 10th day of the next month, service is disconnected and a reconnection fee of KSh 1,000 is charged when the institution later settles the bill.
KCSE Project Paper Guide
Use this page as a practical project-paper guide for the Azani Internet Service Provider Information System. The sections follow the expected KCSE project order: title page, introduction, analysis, design, construction, data capture, validation, reports and user manual evidence.
Title Page
Include candidate name, index number, project title, year of examination and school name.
Introduction
Introduce Azani, the institutions served, registration fee, installation fee, internet subscriptions and billing rules.
System Analysis
Cover the problem definition, existing system overview, current system structure, proposed system, objectives, scope, benefits and feasibility.
System Design
Show a correct system flowchart, grouped entities, table designs, input designs and output designs.
System Construction
Build at least five database tables, create relationships, forms, queries and reports, then show clear screenshots.
Testing and User Manual
Demonstrate data capture, navigation buttons, edit/add/delete maintenance, validation and report output.
System Analysis
Problem Definition
Azani needs a reliable way of registering institutions, recording infrastructure assessments, assigning internet bandwidth, billing clients, tracking overdue accounts and preparing management reports. Manual methods are slow, repetitive and prone to calculation errors.
Existing System
In the existing setup, data can be captured manually in paper files or scattered spreadsheets. This makes it difficult to trace institutions that have upgraded service, identify defaulters on time and determine total installation cost for each institution.
System Structure
The current structure is fragmented. Staff members create isolated records for schools, installation details and payments, resulting in duplicated data and delayed reporting.
Proposed System
The proposed system is a Microsoft Access database that integrates registration, assessment, subscription, billing and payment processes. It maintains linked tables, forms for data capture, saved queries for calculations and output screens for decision making.
Objectives of the System
- Register institutions and contact persons accurately.
- Capture site assessment details for computers and LAN infrastructure.
- Record internet subscriptions and upgrades.
- Automate installation costs, monthly charges, fines and reconnection fees.
- Identify defaulters and disconnected institutions.
- Generate management reports for operational decisions.
Feasibility Study
Technical Feasibility
The project is technically feasible because it uses Microsoft Access, which is available in most school computer laboratories and supports tables, forms, queries and reports in one environment.
Economic Feasibility
The system reduces repetitive paperwork, prevents loss of billing information and improves follow-up on overdue accounts.
Operational Feasibility
The system fits the daily workflow of Azani because it captures registration, assessment, subscription, bills and payments in one database.
System Design
System Flowchart
Using a mobile phone? Turn on your browser's desktop mode to view the full flowchart diagram. The simplified mobile flow is shown below for quick reading.
- 01StartOpen Azani system and display the switchboard.
- 02RegistrationNew institution: register details, pay KSh 8,500 and carry out site assessment.
- 03AssessmentIf not ready, capture extra computer and LAN requirements, then update assessment.
- 04ConnectionIf ready, pay KSh 10,000 installation fee and select internet package.
- 05BillingGenerate monthly bill and check payment by end of month.
- 06OverdueIf unpaid, add 15% fine and check again by 10th day of next month.
- 07DisconnectionIf still unpaid, disconnect service and add KSh 1,000 reconnection fee.
- 08ReportsRecord payment, issue receipt, update status and generate reports. End.
Decision Points
New institution? YESRegister and assess. NOOpen existing record and continue service processing.
Paid on time? YESRecord payment and report. NOApply fine, disconnect if still unpaid, then report defaulters.
Figure 1: System flowchart
Table Design
TBLINSTITUTIONCATEGORY
| Field Name | Data Type | Description |
|---|---|---|
| CategoryID | AutoNumber | Primary key |
| CategoryName | Short Text | Primary, Junior, Senior, College |
| Description | Short Text | Category notes |
TBLINSTITUTION
| Field Name | Data Type | Description |
|---|---|---|
| InstitutionID | AutoNumber | Primary key |
| CategoryID | Number | Links to category |
| InstitutionName | Short Text | Institution name |
| PostalAddress | Short Text | Postal address |
| Town | Short Text | Town |
| Phone | Short Text | Official contact |
| Short Text | Institution email | |
| ContactPerson | Short Text | Responsible officer |
| ContactTitle | Short Text | Role of contact person |
| ContactPhone | Short Text | Contact phone |
| RegistrationDate | Date/Time | Registration date |
| RegistrationFee | Currency | KSh 8,500 |
| Status | Short Text | Active, Pending, Disconnected |
TBLSERVICEPLAN
| Field Name | Data Type | Description |
|---|---|---|
| ServicePlanID | AutoNumber | Primary key |
| BandwidthMbps | Number | Bandwidth per month |
| PlanName | Short Text | 4 MBPS to 50 MBPS |
| MonthlyCost | Currency | Monthly service charge |
| Notes | Short Text | Plan remarks |
TBLLANNODERATE
| Field Name | Data Type | Description |
|---|---|---|
| LanRateID | AutoNumber | Primary key |
| RangeLabel | Short Text | Node range |
| MinNodes | Number | Minimum nodes |
| MaxNodes | Number | Maximum nodes |
| RateCost | Currency | LAN service cost |
TBLASSESSMENT
| Field Name | Data Type | Description |
|---|---|---|
| AssessmentID | AutoNumber | Primary key |
| InstitutionID | Number | Institution assessed |
| AssessmentDate | Date/Time | Visit date |
| ExistingComputers | Number | Available computers |
| RequiredComputers | Number | Required total |
| ComputerPurchaseCost | Currency | Purchased from Azani |
| LanNodesNeeded | Number | Nodes required |
| LanRateID | Number | LAN node price band |
| IsReady | Yes/No | Readiness status |
| Remarks | Short Text | Assessment notes |
| InstallationFee | Currency | KSh 10,000 |
TBLSUBSCRIPTION
| Field Name | Data Type | Description |
|---|---|---|
| SubscriptionID | AutoNumber | Primary key |
| InstitutionID | Number | Linked institution |
| ServicePlanID | Number | Current plan |
| StartDate | Date/Time | Service start date |
| IsUpgrade | Yes/No | Shows upgrade cases |
| PreviousPlanID | Number | Previous plan if upgraded |
| UpgradeDiscountRate | Number | 10% when upgraded |
| CurrentStatus | Short Text | Connected, Pending, Disconnected |
| EndDate | Date/Time | Optional end date |
TBLBILL
| Field Name | Data Type | Description |
|---|---|---|
| BillID | AutoNumber | Primary key |
| SubscriptionID | Number | Linked subscription |
| BillMonth | Number | Billing month |
| BillYear | Number | Billing year |
| BaseMonthlyCharge | Currency | Charge before discount/fine |
| UpgradeDiscountAmount | Currency | Upgrade discount |
| OverdueFine | Currency | 15% surcharge |
| ReconnectionFee | Currency | KSh 1,000 if reconnected |
| TotalAmountDue | Currency | Final amount due |
| DueDate | Date/Time | Month end deadline |
| PaidDate | Date/Time | Payment date |
| BillStatus | Short Text | Paid, Overdue, Disconnected |
| Disconnected | Yes/No | Service disconnection state |
TBLPAYMENT
| Field Name | Data Type | Description |
|---|---|---|
| PaymentID | AutoNumber | Primary key |
| InstitutionID | Number | Paying institution |
| BillID | Number | Linked bill if any |
| PaymentDate | Date/Time | Date paid |
| PaymentType | Short Text | Registration, Installation, Monthly |
| AmountPaid | Currency | Amount settled |
| ReceiptNumber | Short Text | Receipt reference |
| Notes | Short Text | Payment notes |
Switchboard and Input Design
Access 2016 switchboard: use the links below to open all forms and reporting queries.
Figure 3: Access 2016 switchboard design
Institution Categories
Figure 4: Institution categories form screen
Input and Output Screens
LAN Node Rates
Payment Capture
Query Design
qryRegisteredInstitutions
Lists all registered institutions together with category and contact details.
qryDefaulters
Lists institutions with overdue or disconnected bills.
qryDisconnectionIssues
Shows institutions whose services were disconnected because of unpaid bills.
qryInfrastructureRequirements
Shows readiness, computers, LAN nodes and remarks for each institution.
qryInstallationCostPerInstitution
Computes total installation cost using installation fee, computer cost and LAN cost.
qryComputersAndLanCostByInstitution
Shows infrastructure cost for institutions with assorted services.
qryUpgradedMonthlyCharges
Computes net monthly charges for upgraded services after a 10% discount.
qryCategoryMonthlyCharges
Summarises internet charges, fines and reconnection fees by institution category.
qryAggregateAmountByService
Aggregates paid amounts by service type and institution.
System Construction and Implementation
Tables
The final database was constructed using eight related tables. The tables store categories, institutions, service plans, LAN node rates, site assessments, subscriptions, bills and payments.
Relationships
The relationships ensure that each institution belongs to one category, each assessment belongs to one institution, each subscription uses one service plan and each bill belongs to one subscription.
Implementation Environment
The project was implemented in Microsoft Access 2016 style using linked tables, saved queries, structured forms, a startup switchboard and documented report layouts. The database opens through a switchboard so users can start work immediately.
Testing and Validation
| Test Area | Action Performed | Expected Result | Actual Result |
|---|---|---|---|
| Startup | Open database file | Switchboard opens first | Switchboard opens |
| Registration | Capture institution details | Institution saved correctly | Record saved correctly |
| Billing | Enter monthly bill | Amounts calculated correctly | Billing approved |
| Payments | Record receipt entry | Payment details saved | Payment recorded successfully |
| Navigation | Use save, clear, delete, previous, next and new buttons | Records move and update correctly | Navigation works correctly |
| Validation | Enter missing or invalid values | System rejects invalid input | Validation message displayed |
| Outputs | Open report/query | Filtered output displays | Output displayed correctly |