Object-Oriented Elicitation: Requirements in Complex Systems

When I start a software project, I don’t just write code. I ask questions. I try to understand the real world behind the system. That’s especially important when I’m working outside my comfort zone—like designing software for a dental clinic. In such cases, object-oriented elicitation becomes my go-to method. It helps me uncover, organize, and refine the requirements that drive system design. But to really understand how this works, I need to go beyond the code. I need to dive deep into requirements engineering, and even deeper into how we elicit those requirements from people who think very differently from developers. In this article, I’ll walk you through a real-world example: a dentist administration system. Along the way, I’ll show how I used object-oriented elicitation to transform complex, chaotic information into a structured and usable model.

What is Requirements Engineering?

Requirements engineering is more than just gathering features for a software system. It’s a discipline. It’s a structured process that includes identifying, analyzing, documenting, validating, and managing the needs of stakeholders.

At its core, requirements engineering ensures that what we build actually solves the right problems. It answers key questions like:

  • What should the system do?
  • Who are the users?
  • What constraints must we consider?

It’s not just technical. It’s social, too. I need to work with people, understand their goals, and deal with conflicts in perspectives. This process sets the foundation for everything that follows in software development.

What is Requirements Elicitation?

Elicitation is the first and most human part of requirements engineering. It’s where I uncover what the system really needs to do. And no—it’s not just sending a survey or reading a spec. It’s interactive. It’s about listening. Observing. Asking better questions.

Often, people don’t know what they need. Or they describe it in their own language, shaped by their role, experience, and daily frustrations. That’s where things get tricky—and interesting.

With object-oriented elicitation, I take these scattered impressions and begin shaping them into structured concepts. I use the principles of object orientation—not just in code, but in how I think and communicate. This helps me turn abstract ideas into clear system components.

Let’s see how this works in practice.

The Case: A Dentist Administration System

My First Impressions

Picture this: I’m standing in a dentist’s office. Patients arrive. The receptionist checks records. Assistants prepare tools. The dentist enters details into a system, prints prescriptions, talks to patients, and checks x-rays. It’s a whirlwind.

I’m here to build software that handles patient data, prescriptions, and the communication flow across the clinic. But first, I need to understand what’s actually happening. Everything feels messy at the beginning. That’s normal.

Listening to Stakeholders

I talk to the dentist. He tells me what matters medically—accurate records, correct dosages, and smooth workflows. The dental assistant cares about billing and insurance codes. Meanwhile, patients want clarity and convenience.

Each person gives me a different picture. Yet they’re all right—in their own way.

Even two assistants who do the same job tell me different things. One focuses on appointment flow. The other talks more about document management. That’s a key insight: requirements aren’t universal. They are filtered through individual experiences.

From Chaos to Structure

As I gather more information, I start noticing patterns. I mentally group similar elements. I define objects that emerge from the real-world mess. A patient. A prescription. An appointment. An invoice.

With object-oriented elicitation, I don’t just write down what people say. I model their world. I identify things that behave as units. For instance, a prescription changes over time, but it remains the same object. It responds to actions, holds data, and interacts with others.

That’s how I start making sense of requirements. One object at a time.

The Nature of Human Understanding

Here’s something fascinating: we naturally think in objects. We say “the computer crashed,” or “the form disappeared,” even when those phrases aren’t technically accurate. Why? Because we humanize systems. We view them as entities with behavior.

I use this instinct as a tool. When people describe a problem in human terms, I translate it into system behavior. I ask: what’s the object? What are its features? What actions affect it?

By doing so, I create a shared language between users and developers. That’s the power of object-oriented elicitation.

Grouping and Categorizing

The next challenge is scale. A dental clinic has hundreds of objects to track. So I categorize them. Patients, staff, prescriptions, invoices, treatments.

Then I go further. I group categories into hierarchies. “People” become “internal staff” and “external contacts.” “Internal staff” splits into “dentist” and “assistant.” This hierarchy brings clarity.

It’s like building mental filing cabinets. Each drawer contains a group of related objects. This is not a natural structure. It’s a designed one. But it helps both me and the users make sense of the system.

Building the Requirements Model

By now, I’ve shifted from raw observation to structured modeling. Every object has:

  • A name
  • Key attributes
  • Relationships with other objects
  • Defined behaviors

I use these objects to build a conceptual model of the system. This model reflects both the real-world complexity and the system logic. It acts as a bridge between user expectations and technical design.

This is the heart of object-oriented elicitation. I don’t impose a system. I derive it—by understanding people, translating their views, and organizing them into clear, consistent objects.

Final Thoughts

Object-oriented elicitation is more than a technique. It’s a mindset. It guides how I explore, structure, and communicate requirements—especially in complex domains like healthcare.

By combining requirements engineering with object-oriented thinking, I bridge the gap between real-world needs and technical solutions. I give stakeholders a voice. I create systems that reflect how people actually work.

In this dentist administration system, object-oriented elicitation helped me move from confusion to clarity. From scattered conversations to a working model. From ideas to real, usable software.

If you’re working in requirements engineering, give this approach a try. It might not just change how you model systems—it might change how you understand people.

More on Service Management

Demand Management in ITIL Service Strategy

Mastering ITIL Service Portfolio Management (SPM)

Transforming ITIL Service Management into a Strategic Asset

Developing a Powerful ITIL – Based Service Strategy for IT Success

What is ITIL: Elevate Your IT Service Management

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top
WordPress Cookie Plugin by Real Cookie Banner