Worked examples
The classic systems, worked through
Library, shop, bank, hospital: the same handful of systems turn up in almost every systems analysis course, and each one is drawn here five ways, with the thinking that decides every box and line.
Library management system
Why a member borrows a copy but reserves a book, and the loan that holds the dates.
Online shopping system
A basket is not an order, and an order line keeps the price the customer actually paid.
ATM system
A conversation between three parties: the PIN loop, the card returned before the cash, and a machine that holds almost no data.
Hospital management system
Pick a slice first; then the appointment joins doctor and patient, and the admission joins patient and bed.
Hotel reservation system
Nights in a kind of room are sold, not rooms; availability is an overlap test, never a flag.
Railway reservation system
A seat is sold for a stretch of one day's run, and a cancellation hands its seats to the waiting list.
Student information system
A mark is provisional until the exam board approves it, and a grade belongs to an enrolment.
Banking system
Every balance is backed by a ledger of paired entries, and a transfer happens completely or not at all.
How to use them
Each page takes one system and gives it a use case diagram, an ER model in crow's foot notation, a data flow diagram, a class diagram and a sequence diagram for its most telling scenario. More important than the pictures is the prose between them, which says why each entity is there, which way each relationship reads, and what the obvious-looking alternative would get wrong.
They are written to be argued with. An assignment brief always adds its own details, and those details change the right answer: a college library that charges no fines, a shop that sells only downloads, a hospital that has no wards. Work out your own version first, then compare. Where yours differs, decide whether the difference comes from your brief or from a mistake the page points out.
Every diagram is drawn by the same code as the editor and opens there in one click, as your own copy, so you can change it to fit your brief instead of redrawing it. Nothing is uploaded: the whole diagram travels inside the link.
A word on notation
Courses differ in the symbols they expect, and the marks usually go to using one set consistently. These pages use crow's foot marks for cardinality (the crow's foot guide explains each mark), with a solid line where the parent's key is part of the child's key and a dashed line where the child has a key of its own, and standard UML for the use case, class and sequence diagrams. The data flow diagrams use Yourdon and DeMarco's symbols, as the site's data flow template draws them: numbered circles for processes and a pair of parallel lines for each data store. The D1, D2 on the stores are labels, there so the text can name them. If your course uses Gane and Sarson's rounded rectangles instead of circles, open the diagram and swap the shape; the flows stay put.