0% found this document useful (0 votes)
2 views11 pages

STRAIMS

The Revenue Authority Office Information Management System (RAOIMS) is designed to automate the management of taxpayer information, tax collection, and report generation, addressing issues like data redundancy and slow processing in manual systems. The project utilizes Object-Oriented Software Engineering principles and includes detailed UML diagrams, system requirements, and sample Java implementations. Key functionalities include taxpayer registration, tax assessment, payment processing, and secure user authentication.

Uploaded by

yilekalabriham
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views11 pages

STRAIMS

The Revenue Authority Office Information Management System (RAOIMS) is designed to automate the management of taxpayer information, tax collection, and report generation, addressing issues like data redundancy and slow processing in manual systems. The project utilizes Object-Oriented Software Engineering principles and includes detailed UML diagrams, system requirements, and sample Java implementations. Key functionalities include taxpayer registration, tax assessment, payment processing, and secure user authentication.

Uploaded by

yilekalabriham
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Here is a complete Object Oriented Software Engineering (OOSE) Project for a Revenue Authority Office

Information Management System (RAOIMS) including analysis, UML diagrams (described clearly so you
can draw them), and sample implementation.

📘 PROJECT TITLE

Revenue Authority Office Information Management System (RAOIMS)

1. INTRODUCTION

1.1 Project Overview

The Revenue Authority Office Information Management System (RAOIMS) is a computerized system
developed to manage taxpayer information, tax collection, payments, penalties, and report generation
in a Revenue Authority office.

The system replaces manual record keeping with an automated, secure, and efficient object-oriented
system.

2. PROBLEM STATEMENT

Manual systems in revenue offices cause:

Data redundancy

Record misplacement

Slow processing of tax payments

Poor report generation

Security risks

This project solves these problems using Object-Oriented principles.

3. OBJECTIVES

General Objective

To design and implement a Revenue Authority Office Information Management System using Object-
Oriented Software Engineering principles.

Specific Objectives

Manage taxpayer registration

Manage tax assessment

Process tax payments


Calculate penalties

Generate financial reports

Ensure secure user authentication

4. SYSTEM REQUIREMENTS

4.1 Functional Requirements

The system shall:

Register taxpayers

Update taxpayer information

Record tax assessments

Process payments

Calculate penalties for late payments

Generate reports

Allow user login/logout

Manage employees

4.2 Non-Functional Requirements

Security

Performance

Reliability

Maintainability

Scalability

5. SYSTEM ANALYSIS (UML DIAGRAMS)

5.1 USE CASE DIAGRAM

Actors:

Admin

Revenue Officer
Taxpayer

Main Use Cases:

Login

Register Taxpayer

Update Taxpayer

Record Assessment

Process Payment

Calculate Penalty

Generate Report

Manage Users

Use Case Diagram Structure (Text Representation)

Copy code

+-------------------+

| Admin |

+-------------------+

| |

Manage Users Generate Report

+-------------------+

| Revenue Officer |

+-------------------+

| | | |

Register Assess Payment Report

Taxpayer Tax Process


+-------------------+

| Taxpayer |

+-------------------+

Make Payment

You can draw this in StarUML, Visual Paradigm, or [Link].

5.2 CLASS DIAGRAM

Main Classes

1. User (Abstract Class)

userID

username

password

role

login()

logout()

2. Admin (inherits User)

createUser()

deleteUser()

3. RevenueOfficer (inherits User)

registerTaxpayer()

recordAssessment()

4. Taxpayer

taxpayerID

name
address

TIN

phone

updateInfo()

5. TaxAssessment

assessmentID

taxYear

taxableAmount

taxAmount

calculateTax()

6. Payment

paymentID

paymentDate

amount

paymentMethod

processPayment()

7. Penalty

penaltyID

penaltyAmount

calculatePenalty()

8. Report

generateDailyReport()

generateAnnualReport()

Class Relationships

User → Admin (Inheritance)


User → RevenueOfficer (Inheritance)

Taxpayer → TaxAssessment (Association)

TaxAssessment → Payment (Association)

Payment → Penalty (Dependency)

5.3 SEQUENCE DIAGRAM

Scenario: Processing Payment

RevenueOfficer logs in

Officer selects taxpayer

System retrieves tax record

Officer enters payment

System calculates penalty (if any)

System stores payment

Receipt generated

5.4 ACTIVITY DIAGRAM

Process Payment Flow

Start

→ Login

→ Select Taxpayer

→ Check Outstanding Tax

→ Calculate Penalty

→ Record Payment

→ Generate Receipt

→ End

6. SYSTEM DESIGN

6.1 Architecture
The system follows Three-Tier Architecture:

Presentation Layer (UI)

Business Logic Layer

Data Access Layer

7. IMPLEMENTATION (Sample Code in Java – OOP)

Below is a simplified implementation.

7.1 User Class

Java

Copy code

public abstract class User {

protected String userID;

protected String username;

protected String password;

public User(String userID, String username, String password) {

[Link] = userID;

[Link] = username;

[Link] = password;

public boolean login(String username, String password) {

return [Link](username) && [Link](password);

public void logout() {


[Link]("User logged out.");

7.2 Taxpayer Class

Java

Copy code

public class Taxpayer {

private String taxpayerID;

private String name;

private String address;

private String TIN;

private String phone;

public Taxpayer(String taxpayerID, String name, String address, String TIN, String phone) {

[Link] = taxpayerID;

[Link] = name;

[Link] = address;

[Link] = TIN;

[Link] = phone;

public void updateInfo(String address, String phone) {

[Link] = address;

[Link] = phone;

}
}

7.3 TaxAssessment Class

Java

Copy code

public class TaxAssessment {

private String assessmentID;

private int taxYear;

private double taxableAmount;

public TaxAssessment(String assessmentID, int taxYear, double taxableAmount) {

[Link] = assessmentID;

[Link] = taxYear;

[Link] = taxableAmount;

public double calculateTax() {

return taxableAmount * 0.15; // 15% tax rate

7.4 Payment Class

Java

Copy code

public class Payment {

private String paymentID;

private double amount;


public Payment(String paymentID, double amount) {

[Link] = paymentID;

[Link] = amount;

public void processPayment() {

[Link]("Payment of " + amount + " processed successfully.");

8. DATABASE DESIGN (Simplified Tables)

Users (userID, username, password, role)

Taxpayers (taxpayerID, name, address, TIN, phone)

Assessments (assessmentID, taxpayerID, taxYear, taxableAmount)

Payments (paymentID, assessmentID, amount, paymentDate)

Penalties (penaltyID, paymentID, penaltyAmount)

9. TESTING

Unit Testing

Test login()

Test calculateTax()

Test processPayment()

Integration Testing

Test payment flow

Test report generation

10. CONCLUSION
The Revenue Authority Office Information Management System:

Improves efficiency

Reduces errors

Enhances security

Provides accurate reporting

Applies Object-Oriented principles:

Encapsulation

Inheritance

Polymorphism

Abstraction

If you want, I can now:

Draw the UML diagrams in proper diagram format (PlantUML code)

Convert this into a full 20–30 page project report

Provide database SQL scripts

Provide a complete working Java project

Convert it into PDF or Word format

Tell me what format your lecturer requires 😊

You might also like