Software Engineering › Flashcards › Drawing questions
Flashcards for Drawing questions
60 cards where the term can be tested as a drawing question. Study these as flip cards Random
Planning the solution before coding using modelling tools: algorithms (pseudocode, flowcharts), structure charts, DFDs, class diagrams, storyboards, decision trees and data dictionaries.
Example: Link each design tool to its purpose: DFD = data movement; structure chart = module hierarchy; class diagram = classes and relationships.
A finite, ordered set of clear steps that solves a problem or completes a task, with defined inputs and outputs.
Example: An algorithm can be shown as pseudocode or a flowchart.
A control structure where statements run one after another in the order written.
Example: Every program uses sequence; selection and iteration change the order.
A control structure that chooses which path to run depending on a condition: binary selection (IF ... ELSE), multi-way selection (CASEWHERE) or nested IF.
Example: 'Use IF/ELSE selection to output Pass when mark >= 50.'
A control structure that repeats statements while or until a condition: pre-test loop (WHILE ... ENDWHILE), post-test loop (REPEAT ... UNTIL) or counted loop (FOR ... NEXT).
Example: 'FOR each item in the array: total = total + item.'
Starting with the whole problem (the mainline) and refining it step by step into smaller subroutines.
Example: A structure chart shows top-down design.
Hiding unnecessary detail so you focus on what matters, such as calling a subroutine without knowing how it works.
Example: Also an OOP principle (see Object-oriented card).
Adding successively more detail: a subroutine is expanded into its own algorithm or structure chart, named the same as the subroutine.
Example: 'Show the refinement of the Validate subroutine in a separate chart.'
A diagram of an algorithm drawn with standard symbols (terminator, process, input/output, decision) joined by arrows, read top to bottom and left to right. Decision arrows must be labelled (Yes/No).
Example: Check there is one Start, one End, labelled decision branches and arrowheads on every line.
A data structure that groups related fields of different types into one item, such as a student with name, age and mark.
Example: 'One record per row of a table.'
A hierarchical data structure of nodes: one root, each node having child nodes and leaves at the bottom (for example folder structures or decision trees).
Example: 'A file system is a tree.'
A blueprint or template that defines the attributes and methods shared by all objects of one kind.
Example: 'class Student:' defines the template; each student is an object.
A variable that belongs to an object and stores its data or state (name, age, balance).
Example: 'self.balance = 0' stores an attribute.
A subroutine that belongs to a class and defines what its objects can do (deposit, display, calculate).
Example: 'def deposit(self, amount):' is a method.
A subclass (child) automatically gets the attributes and methods of a superclass (parent) and can add or change its own, giving code reuse. It models an 'is-a' relationship.
Example: 'Student inherits name and age from Person; the arrow points from Student to Person.'
Moving the features shared by several classes up into a common superclass (Student and Teacher generalised as Person). The 2025 marker note: refine attributes into separate inherited classes.
Example: 'Common attributes go in the superclass; unique ones stay in each subclass.'
A superclass is the parent class that supplies shared features; a subclass is a child class that inherits them and adds its own.
Example: 'Dog is a subclass of Animal.'
A design pattern where a simple class provides one easy interface that hides a complex set of subsystem classes behind it.
Example: 'A OrderFacade class calls the Stock, Payment and Delivery classes for the user.'
A diagram of the electrical connections between components using standard symbols (resistor, capacitor, diode, LED, switch, motor, voltage source), showing both power and data connections.
Example: Show power and data connections and label any component you add.
A screen, panel or app that lets a person control and monitor the system (start, stop, set a target, see status).
Example: 'A touchscreen with start and emergency stop buttons.'
A primary key uniquely identifies each record in a table; a foreign key is a field that holds another table's primary key to link the tables.
Example: 'ClassID is the primary key of Class and a foreign key in Student.'
A flowchart-like model where each internal node tests a condition, branches are outcomes and leaves are decisions or predictions.
Example: 'Is it raining? yes: take umbrella; no: next test.'
Idea tools: brainstorming lists ideas freely, a mind map shows how ideas connect, a storyboard shows the screens or steps in order.
Example: 'A storyboard of three app screens.'
A table listing each data item with its name, data type, size or format, description and validation rules.
Example: 'Age | Integer | 0-120.'
A bar chart showing tasks against time, with start and end dates, duration and dependencies; used to schedule and track a project.
Example: 'Testing cannot start until coding finishes.'
An early working model of the solution used to test ideas and gather feedback before final development.
Example: 'A clickable mock-up of the app.'
Planning the screens and controls users interact with, so they are clear, consistent and accessible.
Example: 'Large buttons, clear labels, good contrast.'
A document listing test cases, test data, expected output and results.
Example: 'Test 1: age = 17, expected output: Accepted.'
Comparing the output the program produced with the output expected; a difference shows an error.
Example: 'Expected 15, actual 12: logic error.'
A diagram that shows how data moves through a system between processes, data stores and external entities.
Example: 'Voting system: voter, vote data, count.'
A circle is a process: it uses input(s) to generate output(s). Name it with a verb phrase.
Example: 'Process: Validate login.'
Check this one: Not found word-for-word in the supplied syllabus, specifications, marking guidelines or notes; the definition is standard computing knowledge, so check it against your class notes.
A data store is an electronic file or non-computer storage (a filing cabinet), shown as an open rectangle or two parallel lines.
Example: 'Data store: Students file.'
A person, organisation or element that provides data to the system or receives data from it (shown as a rectangle).
Example: 'External entity: Customer.'
A labelled, curved arrow shows the flow of data between processes, data stores and external entities. Always label it with the data name.
Example: 'Arrow labelled Order details.'
An overview of the whole system as one process; it does not show data stores or internal processes, only external entities and data flows.
Example: 'One circle: Library system with Member and Librarian.'
Breaks the single process of the Level 0 diagram into its main processes and shows data stores and flows between them.
Example: 'Process 1 Borrow book, process 2 Return book, data store Loans.'
Check this one: The course specification gives the Level 0 diagram; Level 1 as a refinement is standard practice. Check how your teacher draws it.
Shows the separate subroutines that make up a system and their relationship to each other, top-down from the main routine.
Example: 'Main calls Get Data, Process Data, Display Results.'
An empty circle indicates data movement between subroutines (usually passed as parameters).
Example: 'An arrow with an empty circle labelled mark.'
A filled circle indicates a flag or control variable passed between subroutines.
Example: 'Filled circle labelled Found.'
A small diamond where lines meet shows optional execution of a subroutine called as the result of a selection.
Example: 'A report is not produced each time a book is returned.'
A curved arrow shows a subroutine or set of subroutines executed multiple times.
Example: 'Curved arrow over Process Item.'
Providing successively more detail as needed; a lower-level subroutine is shown in its own structure chart with the same name.
Example: 'Expand Validate Input into its own chart.'
A visual representation of an object-oriented system: classes (name, attributes, methods) and the relationships between them.
Example: 'Person with Student and Parent inheriting from it.'
Inheritance is shown by an arrow from the subclass to the superclass. Multiplicity (1, 0..*, 1..*) shows how many objects can be related: a student studies 1 or more subjects; a subject has 0 or more students.
Example: 'Student ---- 1..* Subject.'
Shows the tables (entities) in a database, their attributes and the relationships between them (one-to-one, one-to-many, many-to-many) using primary and foreign keys.
Example: 'Customer 1 to many Order.'
Check this one: Your school's drawing-questions page says the ERD is technically NOT in the syllabus (practice only); the course specification has no ERD symbols. Learn it as a low priority.
Shows the screens of an interface and the links (navigation) between them.
Example: 'Home page links to Menu and Contact pages.'
Represents all possible combinations of decisions and their resulting actions. Each path leads to another decision or a final action.
Example: 'If temperature > 25 then fan on.'
Describes every variable: name, data type, format for display, size in bytes, size for display, description, example and validation rules.
Example: 'DOB | Date | YYYY/MM/DD | 4 | 10 | birth date | 1953/10/05 | valid date before today.'
Shows tasks on an estimated timeline with self-explanatory names, estimated time, dependent tasks, dates and milestones; can allocate resources and show percentage completion, and is updated with actual v estimated times.
Example: 'Design (1 wk) then Build (2 wk), dependent on Design.'
Uses standard symbols (resistor, capacitor, diode, LED, switch, motor, speaker, voltage source) to show how mechatronic components are connected; label any extra components.
Example: 'A battery, switch and LED in series.'
Represents an algorithm with standard symbols connected by lines with arrowheads, read top to bottom and left to right, using only the standard control structures. Label arrows leaving a decision (Yes or No).
Example: 'Diamond: age >= 18? Yes: Display Adult.'
Start complex algorithms with a clear, uncluttered mainline that calls subroutines; the details of each subroutine are in separate algorithms.
Example: 'BEGIN Main: GetData, Process, Display END.'
Steps executed one after another in the order written.
Example: 'GET a; GET b; total = a + b'
IF condition THEN process ELSE other process ENDIF: one of two paths is taken.
Example: 'IF age >= 18 THEN DISPLAY "Adult" ELSE DISPLAY "Minor" ENDIF'
CASEWHERE expression evaluates to choice a: ... OTHERWISE: default END CASE; only one process runs.
Example: 'CASEWHERE grade evaluates to "A": ... OTHERWISE: ...'
Make; build; put together items or arguments.
Example: 'Construct a SQL query.' Answer: build the diagram, query or code with every required feature.
Arrange or include in classes or categories.
Example: 'Classify features as SAST or DAST.' Answer: place each item in a category.