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
Overview
I designed the system from a formal Software Requirements Specification, then implemented a TCP/IP socket architecture with distinct flows for three user roles.
System map
How the pieces connect
The challenge
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.
The approach
Turning the problem into an engineering plan
- 01
Authored functional and non-functional requirements in a complete Software Requirements Specification.
- 02
Designed separate permissions and workflows for students, instructors, and administrators.
- 03
Implemented concurrent client-server communication over Java TCP/IP sockets.
Result
The project connected implementation with engineering process and taught me that good requirements reduce ambiguity long before the first difficult bug appears.