munotes®

The Complete UML Set

Get access to whole semester resourcesSemester Pass

Chapter Thirty-Five

Syllabus topic Module 1, "Documentation Deliverables at the End of Module 1: ... Complete UML Set".

Pages 217 to 221 of 499

In one line

A complete UML set is the system's diagrams gathered into one document: each numbered, captioned and tied to the requirements it realises, together covering the users, the structure, the behaviour, the data and the deployment, and checked to agree with each other and with the SRS, so that the set describes one system and not six.

In the wording to use when asked: a complete UML set is the consolidated collection of a system's models, the use case, class, sequence, activity, ER and deployment diagrams and any others the design requires, presented with numbering, captions and traceability to the requirements, and verified for mutual consistency, so that each requirement is realised in the design and every design element traces to a requirement.

What makes a set complete

"Complete" means three things, and a set can fail any one of them:

  1. Nothing missing. At least the six kinds MU's syllabus lists: use case, class, sequence, activity, ER and deployment. And any other kind the system needs: the worked team added a state machine, because an order's statuses are a state machine (Chapter 23). One diagram of a kind is not always enough: draw a sequence or activity diagram for every use case whose steps matter.
  2. Nothing unexplained. Every diagram numbered and captioned, with a paragraph saying what it shows and what to notice, and the requirements it realises named.
  3. Nothing contradictory. Every diagram agreeing with the others and with the SRS: the seven checks of Chapter 19.

Assembling the set

The UML set is a document like the other three (Chapter 32): a title page, a version history, and then:

  • A list of figures, so a reader can find any diagram.
  • One section per diagram: the figure, its caption, a short text on what it shows, the requirements and use cases it realises, and where its source is.
  • The cross-check: each of the seven checks, and its result.
  • The design column of the traceability matrix: for each requirement, the diagrams and design elements that realise it.

Keep each diagram readable at the size it will be printed; split a diagram rather than shrink it (Chapter 19). And never paste a screenshot of a diagram whose source you do not have.

The worked UML set

Version 1.1, as it stood after the first increment. Its history:

VersionDateByWhat changed
1.07 Sep 2026Farhan, Rohan and Snehathe ten diagrams, finished the day the ER diagram was finished with the schema; accepted at the design review, 11 Sep
1.125 Sep 2026Farhanthe two sequence diagrams and the two activity diagrams corrected against the ordering code of the first increment

Its list of figures, with the chapter of this book where each is printed and explained:

munotes.in217

The Complete UML Set

FigureDiagramCaptionRealisesChapter
1use casewho uses the system, and for what: three actors, thirteen use casesFR-1 to FR-1720
2classthe system's things: User, Session, Order, OrderItem, MenuItem, and three enumerationsall stored data; FR-9, FR-1521
3sequenceplacing an order: the student, the page and the APIUC-4; FR-7, FR-1122
4sequenceplacing an order inside the server: one transaction, three refusalsUC-4; FR-7 to FR-10; NFR-222
5activityordering, from the student's sideUC-4; FR-7 to FR-1123
6activityserving, from the counter's side, with the kitchenUC-8; FR-1523
7state machinean order's six statuses and the five moves between themFR-13, FR-1523
8ER, Chen's notationthe conceptual data: users, orders, menu itemsstored data24
9ER, crow's footthe logical data: five tables, every columnstored data24
10deploymentwhere the system runs during the trialC-3; SRS 3.1, hardware and communications25

Every source is in the repository under docs/uml, and every figure is redrawn from its source by one command (Chapter 19).

The seven checks, run

CheckResult for the worked set
1. Every functional requirement is covered by a use case, and every use case traces back to at least one requirementall 17 requirements and all 13 use cases, both ways (Chapter 20; SRS Appendix A)
2. Every actor is a user class or an outside system named in the SRSStudent, Counter staff and Owner are the SRS's three user classes, and the SRS names no outside system; the kitchen, which never signs in, is a stakeholder, not an actor (Chapter 20)
3. Every important use case has a sequence or an activity diagramUC-4, placing an order, has two sequence diagrams and an activity diagram; UC-8, moving an order on, has the serving activity diagram and the state machine; each of the other eleven is one request and one answer, which its row of the API table describes (Chapter 30)
4. Every message a sequence diagram sends is something its receiver can doevery message of Figures 3 and 4 checked against a route, a function or a statement in the code (Chapter 22)
5. Every class whose data must survive a restart is in the ER diagram, with the same attributesall five classes, every attribute: the model check below (Chapter 24)
6. Every artifact in the deployment diagram is something the architecture says will be built, and every node existsthe application, the database the schema creates and the Android app; the lab desktop, the phones and the counter's device (Chapter 25)
7. One thing, one namethe same names in every diagram; the one exception, an order's slot stored as pickup_slot, written down and translated in one place (Chapters 21 and 24)
munotes.in218

The Complete UML Set

Checks 5 and 7, and the agreement of the model with the code, are made by two short scripts in the book's tools rather than by eye, and they report:

schema: 5 tables, 30 columns: er.puml and schema.sql agree column for column (names, order, types, keys, NOT NULL)
model: 5 classes, 22 attributes all stored; 3 enumerations match the schema; the state machine's 6 states and 5 moves match Status and rules.js

The first compares the ER diagram with the schema. The second checks that every attribute of every class is a column of its table, that each enumeration has exactly the values its column allows, and that the state machine's states are the Status values and its arrows exactly the moves the code allows. Each script tests itself first: it plants mistakes, a changed type, a missing column, an extra status, a redrawn arrow, and stops if it misses one, so its "agree" can be trusted. Your team can make the same checks by hand, with a printout and a pencil, and should, every time a diagram changes.

The drafts did not pass, and each mistake is told in its diagram's own chapter. Before the design review, the checks found a class called OrderLine while its table was order_items, three attributes missing from the class diagram (Chapter 19), and a deployment diagram that claimed HTTPS the trial cannot have (Chapter 25); all were corrected in version 1.0. Other mistakes survived the review. Once the ordering code existed, comparing the diagrams with it found a sequence diagram that saved an order after rolling it back, with no refusal for a second order in the same slot (Chapter 22), and an ordering diagram that checked the stock and then took it, beside a serving diagram with no kitchen (Chapter 23). Those corrections are version 1.1.

Two lessons follow. Checks made by eye miss things, which is why two of them are worth scripting. And a design is checked again once the code exists: the diagrams describe the system, so when the two disagree, one of them is wrong and must be put right. A set that has never failed its checks has probably never been checked.

The design column

Chapter 9 began the traceability matrix with each requirement's source, and the SRS added its use case. The UML set adds where each requirement is realised in the design, with the figure numbers of the list above:

RequirementUse caseFiguresClasses and tablesAPI
FR-1 RegisterUC-11User; usersPOST /api/auth/register
FR-2 Sign in and sign outUC-21Session; sessionsPOST /api/auth/login, /api/auth/logout
FR-3 Counter staff accountsUC-131User, role staff; usersPOST /api/users/staff
FR-4 Today's menuUC-31MenuItem; menu_itemsGET /api/menu
FR-5 Menu itemsUC-101MenuItem; menu_itemsPOST /api/menu; PATCH /api/menu/{id}
FR-6 Today's stockUC-111MenuItem.stockLeft; menu_items.stock_leftPUT /api/menu/{id}/stock
FR-7 Place an orderUC-41, 3, 4, 5Order, OrderItem; orders, order_itemsPOST /api/orders
FR-8 Pickup slotsUC-44, 5Order.slot; orders.pickup_slotGET /api/slots; POST /api/orders
FR-9 StockUC-42, 4, 5MenuItem.takeStock; menu_itemsPOST /api/orders
FR-10 One order per slotUC-44, 5Order; ordersPOST /api/orders
FR-11 Order numberUC-43, 5Order.id; orders.idPOST /api/orders
FR-12 My ordersUC-51Order, OrderItem; orders, order_itemsGET /api/orders/mine
FR-13 Cancel an orderUC-61, 7Order.canMoveTo; ordersPOST /api/orders/{id}/cancel
FR-14 The counter's listUC-71Order, OrderItem; orders, order_itemsGET /api/orders
FR-15 Moving an order onUC-82, 6, 7Order.canMoveTo, Status; orders.statusPATCH /api/orders/{id}/status
FR-16 The kitchen listUC-91Order, OrderItem; orders, order_itemsGET /api/kitchen
FR-17 Daily reportUC-121Order, OrderItem; orders, order_itemsGET /api/reports/daily
munotes.in219

The Complete UML Set

Every requirement has a design element and an API route. And every route in the API table of Chapter 30 names the requirement it serves, except the two that serve the system itself: who is signed in, and whether the server is up. Module 2 adds the last column, the tests (Chapters 54 and 55).

The problems a guide sends back

  • Diagrams that disagree with each other or with the SRS, found in a minute by comparing names.
  • A missing kind: no deployment diagram, or an ER diagram presented as the class diagram.
  • Unreadable diagrams: forty use cases on one page, or a sequence diagram shrunk to fit.
  • Diagrams with no number, caption or explanation.
  • Diagrams that belong to a different system: a textbook's library example with the names changed.
  • No link to the requirements, so nobody can tell what each diagram is for.

Do this for your project

  1. List the diagrams your system needs: MU's six kinds at least, several of a kind where needed, and any other kind that says something better.
  2. Number and caption every diagram, and write what it shows and which requirements it realises.
  3. Run the seven checks, and fix every disagreement before the design review.
  4. Add the design column to your traceability matrix.
  5. Keep every source in your repository, and redraw every figure from its source before submitting.

Mistakes that cost marks

Six diagrams, one of each, and nothing else, when a use case with a transaction needed its own sequence diagram.

A set assembled the night before, with no cross-check, so the class diagram and the ER diagram name different things.

munotes.in220

The Complete UML Set

A traceability matrix with no design column.

Pictures pasted from different tools at different sizes, with no common numbering.

Quick revision

  • Complete = nothing missing, nothing unexplained, nothing contradictory.
  • The set: title page, version history, list of figures, one section per diagram (figure, caption, text, requirements realised, source), the cross-check, the design column.
  • The seven checks of Chapter 19, run and recorded; some can be made by a script.
  • The design column: for each requirement, the figures, classes, tables and API routes that realise it.

Questions you must be able to answer

1. What makes a UML set complete? It has every kind of diagram the system needs, at least MU's six and any others that say something better; every diagram is numbered, captioned, explained and tied to the requirements it realises; and the diagrams agree with each other and with the SRS.

2. How can you check that a class diagram and an ER diagram agree? Attribute by attribute: every attribute of every stored class must be a column of its table, by one stated naming rule such as camelCase to snake_case, with any exception written down, and each enumeration must have exactly the values its column allows. It can be done by hand with a printout, or by a short script, as this chapter's two are, which compare the files themselves and test themselves by planting mistakes they must catch.

3. What is the design column of a traceability matrix? The column that names, for each requirement, the parts of the design that realise it: its diagrams, classes, tables and API routes. It shows that every requirement is designed for, and that no design element exists without a requirement.

4. Why did the worked team draw a state machine when MU does not list one? Because FR-15's rule, which status may follow which, is exactly what a state machine shows; and because the diagram can then be checked against the database and the code: its states are exactly the statuses the database allows, and its arrows exactly the moves the code allows.

5. Name three problems a guide commonly sends back in a UML set. Diagrams that disagree with each other or with the SRS; diagrams with no number, caption or explanation; and unreadable diagrams, such as one crowded use case diagram where two readable ones were needed.

munotes.in221

The rest of this subject

These notes are cut from the University's printed syllabus. Open the syllabus itself for the same subject.

Issue
Done!