Case study · Spring 2025

Multi-User College Enrollment System

A Java client-server application supporting concurrent students, instructors, and administrators with role-based permissions.

Discipline
Software engineering · Networking
Technology
Java · TCP/IP · Sockets · Multi-user architecture

ENROLLMENT NETWORK

STUDENTINSTRUCTORADMIN
TCP/IP · ROLE-BASED ACCESS

I designed the system from a formal Software Requirements Specification, then implemented a TCP/IP socket architecture with distinct flows for three user roles.

3User roles
Client / serverArchitecture
TCP/IPNetworking
Complete SRSDesign artifact

How the pieces connect

01Three user roles
02TCP server · access rules
03Role-specific flows

What made the problem worth solving

A multi-user academic system has overlapping workflows and permissions. Building the network layer is only part of the job; the expected behavior has to be clear before implementation begins.

Turning the problem into an engineering plan

  1. 01

    Authored functional and non-functional requirements in a complete Software Requirements Specification.

  2. 02

    Designed separate permissions and workflows for students, instructors, and administrators.

  3. 03

    Implemented concurrent client-server communication over Java TCP/IP sockets.

The project connected implementation with engineering process and taught me that good requirements reduce ambiguity long before the first difficult bug appears.

Next case study64-bit operating system