Prototyping & UI/UX Requirements

Wireframes

18 min Lesson 3 of 10

Wireframes

A wireframe is a skeletal blueprint of a screen: it defines layout, hierarchy, and behavior using only boxes, placeholder text, and annotations — deliberately stripped of colour, typography, and imagery. Think of it as the architectural floor plan before anyone chooses paint or furniture. For systems analysts, wireframes are the bridge between a requirements specification and a visual design; they let stakeholders inspect the structure of a solution without being distracted by aesthetics.

Why Structure Without Style?

When stakeholders see colours and polished visuals, discussions drift toward brand preferences and icon choices rather than whether the right fields are present, in the right order, for the right users. Wireframes short-circuit that distraction by using a deliberately neutral vocabulary:

  • Gray boxes represent regions: headers, sidebars, content panels, footers.
  • Horizontal lines or lorem-ipsum blocks stand in for text content.
  • X-crossed boxes mark image or media placeholders.
  • Labeled rectangles show buttons, links, and input fields.
  • Annotations (numbered callouts or margin notes) explain behaviour, business rules, and data sources.

This constraint forces every conversation back to the question that matters most at this stage: Is this the right information in the right place?

Anatomy of a Wireframe

A professional wireframe has four layers of information:

  1. Layout skeleton — the grid or column structure dividing the screen into zones.
  2. Content blocks — placeholders that represent each piece of information or functionality.
  3. Interaction cues — buttons, checkboxes, dropdowns, and links labeled with their action (e.g., [ Book Appointment ]).
  4. Annotations — numbered notes linking elements to requirements (e.g., "① Validates against patient ID in HIS; error shown inline").
Link wireframes to requirements. Every annotation should reference a requirement ID from your specification document (e.g., FR-12, UC-03). This traceability lets reviewers confirm that nothing in the spec has been forgotten and nothing in the wireframe is gold-plating.

Wireframe of a Clinic Appointment Booking Screen

Consider a hospital information system. The analyst has requirement FR-07: "A patient shall be able to book a follow-up appointment by selecting a doctor, date, and time slot." The wireframe below documents the screen structure that satisfies this requirement.

Wireframe: Clinic Appointment Booking Screen ClinicPortal My Profile Sign Out Book a Follow-Up Appointment Select Doctor -- Choose a doctor -- Preferred Date DD / MM / YYYY Available Slots 09:00 10:30 11:00 14:00 ✕ Reason for Visit (optional) Confirm Booking Cancel Booking Summary Doctor: Date: Time: Reason: Photo ① Page title · ② Doctor dropdown (FR-07-a) · ③ Date picker — future dates only (BR-04) · ④ Blue = selected, Red = booked · ⑤ Disabled until all required fields valid
Annotated wireframe of the Clinic Appointment Booking screen — structure and annotations only, no visual styling.

Reading the Wireframe

Each annotation in the diagram above maps to a concrete decision or rule:

  • The page title confirms scope — patients know they are booking a follow-up, not a first visit.
  • The doctor dropdown is fed by the current patient's care team (requirement FR-07-a). The annotation tells the development team where the data comes from without specifying how it is styled.
  • The date picker must block past dates (business rule BR-04). This constraint lives in the annotation, not in a colour or icon.
  • Slots use three visual states — available, selected, and unavailable — identified here by placeholder fills. The exact colours are the designer's decision later.
  • The primary button is disabled until all required fields are complete. This is a validation behaviour, documented here so developers build it from day one.

Annotation Best Practices

Annotations are where the analyst's value shows most clearly. Follow these conventions:

  • Number every element that carries a rule. Purely structural boxes (a simple page header with no logic) need no annotation.
  • One annotation, one fact. Do not bundle three rules into one note. Reviewers need to approve each rule individually.
  • State the what, not the how. Write "validates email format on blur" — not "use a regex". Implementation is the developer's domain.
  • Reference requirement IDs. "Slots fetched from Scheduler API (FR-07-b)" ties the wireframe to the specification so nothing falls through the gap.
Low-fidelity on purpose. Resist the urge to add colour, exact font sizes, or icons in a wireframe. The moment a stakeholder says "I don't like that shade of blue," you have lost twenty minutes of the review session to aesthetics. Save that conversation for the mockup stage.

Wireframe Components: A Quick Reference

The table below lists the standard vocabulary used in wireframes. These conventions are recognised across every tool — pen-and-paper sketches, Balsamiq, Figma wireframe kits, and even ASCII diagrams in a Word document.

  • [ Button Label ] — a clickable action; primary actions filled, secondary outlined.
  • [ ____________ ] — a text input field; label above, placeholder text inside.
  • ( ▾ Option ) — a dropdown/select control.
  • ⊠ Checkbox label / ◉ Radio label — boolean and single-select controls.
  • A gray rectangle with an X crossing corner to corner — an image or media placeholder.
  • Horizontal lines of varying length — body text paragraphs or list items.
  • A thick-bordered rectangle or lightly shaded zone — a card, modal, or panel boundary.
Do not skip the annotation pass. A wireframe without annotations is ambiguous: stakeholders see a box and assume it is obvious what data fills it or what happens when they click it. Weeks later, developers build the wrong thing. The annotation pass is the analyst's quality gate — treat it as mandatory, not optional polish.

Practical Workflow: From Requirements to Wireframe

In practice, an analyst produces wireframes in three passes:

  1. First pass — element inventory. List every piece of data and every action the screen must support, pulled directly from use cases and functional requirements. For the booking screen: doctor selector, date picker, time slots, reason field, confirm action, cancel action, booking summary.
  2. Second pass — layout sketch. Arrange elements in priority order (most important top-left for LTR interfaces). Sketch with pen-and-paper or a simple grid, no tools needed. Group related elements into panels.
  3. Third pass — annotation. For each interactive or data-driven element, write the rule it must follow, referencing the requirement ID. Flag edge cases (empty states, error messages, loading states) in annotations even if they are not visible in the main wireframe.

Only after these three passes is the wireframe ready for stakeholder review. At that review, walk through each annotation explicitly — do not assume stakeholders will read the notes unprompted.

Empty states and error messages. A complete wireframe set includes companion sketches for the empty state (no appointments booked yet), the error state (slot no longer available after form submission), and the success state (confirmation message). These edge-case frames catch a large proportion of missing requirements before a single line of code is written.

Summary

A wireframe communicates structure, hierarchy, and behaviour without any visual styling. Its power lies in deliberate restraint: by using only boxes, placeholders, and annotations, it keeps stakeholder reviews focused on whether the right information and actions are present. Every annotation should trace back to a requirement ID, and the wireframe set should cover happy-path, empty, error, and success states. In the next lesson you will add interactivity and visual polish to arrive at a full mockup and clickable prototype.