Systems thinking and a conceptual model of a solution

Tip: Choose Save as PDF in the print dialog to download. Use A4 paper size.

Systems thinking and a conceptual model of a solution

Name:
Date:
Class:

Quick Questions

Shade in the A or B circle for each question.

1. Which statement best describes systems thinking?
A Focusing on one part of a solution and ignoring the rest
B Seeing a solution as connected parts that work together
2. A conceptual model of a solution is usually created...
A Before building, to show the parts and how they relate
B After the solution is finished, to replace testing
3. A student draws a diagram of a school canteen app showing the user, the menu database, the payment service and the arrows between them. What is this?
A A finished program ready to run
B A conceptual model showing parts and relationships
4. Which question reflects a whole-system view of a solution?
A How will a change to the database affect the interface and the reports?
B How can I make this one button a nicer colour?
5. In a conceptual model, what do the relationships between parts show?
A How the parts connect, depend on or pass data to each other
B The exact lines of code inside each part

Match the Pairs

Draw a line connecting each item on the left to its match on the right.

Left columnRight column
1systems thinking ASeeing a solution as connected parts that work together, not as separate pieces in isolation
2conceptual model BA simplified diagram showing the parts of a solution and how they relate, made before building begins
3A system is made of parts that are linked, so one part's output can become another part's input CCustomer -> Order form -> Database -> Report
4Model before building: sketch the parts and their links first, so problems are found before coding starts DThe conceptual model is drawn after building, but it should be made before building to plan the parts and relationships
5Building the login screen, the database and the report page separately, never checking how they connect EDraw model -> Check links -> Build solution
6Start coding the app straight away, then draw a conceptual model once it is finished FTreating the parts as separate pieces instead of one connected system, so the relationships between them are ignored

Definitions

systems thinking

Fill in the Blanks

Complete each line of code by filling in the missing parts.

1.
SYSTEM Canteen ____ Till PART Menu
2.
SYSTEM Canteen PART Till LINK Till __ Menu
3.
MODEL Canteen CHECK model with client _____ Canteen
4.
whole = parts + _____________
5.
IF Till FAILS THEN CHECK whole ______

Spot the Error

Shade in the letter of the line that contains an error.

Question 1
A system = "Canteen"
B parts = ["Menu", "Till"
C print(system, len(parts))
Question 2
A links = ()
B links.append(("Till","Menu"))
C links.append(("Cook","Till"))
D print(len(links), "links")
Question 3
A def show_system(parts)
B for p in parts:
C print("Part:", p)
D show_system(["UI", "Data"])
Question 4
A parts = ["Input", "Process"]
B parts.append("Output")
C whole = len(parts)
D print("Parts:", len(whole))
Question 5
A parts = {"UI": 1, "DB": 1}
B parts["DB"] == 0
C working = all(parts.values())
D print("Works:", working)

Answer Key

Systems thinking and a conceptual model of a solution
Section A: Quick Questions
Q1
B — Seeing a solution as connected parts that work together
Q2
A — Before building, to show the parts and how they relate
Q3
B — A conceptual model showing parts and relationships
Q4
A — How will a change to the database affect the interface and the reports?
Q5
A — How the parts connect, depend on or pass data to each other
Section B: Match the Pairs
Q1
systems thinking → Seeing a solution as connected parts that work together, not as separate pieces in isolation
Q2
conceptual model → A simplified diagram showing the parts of a solution and how they relate, made before building begins
Q3
A system is made of parts that are linked, so one part's output can become another part's input → Customer -> Order form -> Database -> Report
Q4
Model before building: sketch the parts and their links first, so problems are found before coding starts → Draw model -> Check links -> Build solution
Q5
Building the login screen, the database and the report page separately, never checking how they connect → Treating the parts as separate pieces instead of one connected system, so the relationships between them are ignored
Q6
Start coding the app straight away, then draw a conceptual model once it is finished → The conceptual model is drawn after building, but it should be made before building to plan the parts and relationships
Section C: Definitions
Q1
systems thinking — Seeing a solution as connected parts working together, and using a conceptual model to show those parts and their relationships before building anything.
Section D: Fill in the Blanks
Q1
SYSTEM Canteen PART Till PART Menu
Q2
SYSTEM Canteen PART Till LINK Till -> Menu
Q3
MODEL Canteen CHECK model with client BUILD Canteen
Q4
whole = parts + relationships
Q5
IF Till FAILS THEN CHECK whole system
Section E: Spot the Error
Q1
B — The list is missing its closing bracket. The parts of the system should be stored as parts = ["Menu", "Till"].
Q2
A — A tuple cannot be changed, so .append() fails. The relationships between parts need a list: links = [].
Q3
A — A function definition must end with a colon. It should be def show_system(parts):.
Q4
D — whole already holds the number of parts, which is an integer. len() only works on collections, so use print("Parts:", whole).
Q5
B — == compares values and does not store anything, so the failed part is never recorded. The whole system would still look like it works. Use = to assign 0.