Practice
Every practice problem from the nine topics in one place. Try each one before opening the answer.
1. Team & planning2. LaTeX reports3. IEEE SRS4. SDLC models5. DFD levels 0–16. Use case diagrams7. Sequence & communication8. Class diagrams9. UI/UX & Figma
1. Team Formation, Project Assignment & Planning
1. Name the five TELOS feasibility types and give one question for each for a library management system.
Show the answer
Technical: can we build barcode scanning with our skills? Economic: do the savings in librarian time justify the cost? Legal: is storing student data allowed under university policy? Operational: will librarians actually switch from registers? Schedule: can it be finished in 11 weeks?
2. What is the difference between a milestone and a task on a Gantt chart?
Show the answer
A task has a duration and is drawn as a bar; a milestone is a point in time with zero duration (e.g. “SRS approved”), usually drawn as a diamond.
3. A risk has probability 4 and impact 2; another has probability 2 and impact 5. Which is scored higher, and why might you still treat the second one seriously?
Show the answer
Scores are 8 and 10, so the second is higher. Even with a lower score, a high-impact risk (5) such as losing all work deserves a cheap reduction step (backups), because its consequences cannot be recovered.
4. Lab task hint: list the budget categories you would use for a Library Management System (do not fill in numbers here).
Show the answer
For example: equipment (computers, barcode scanners, printer), software (licences, hosting, domain), salaries (developer, designer, trainer), training for librarians, maintenance per year, and a contingency line. Your numbers must come from your own research.
5. Why should exactly one person be “Accountable” for each deliverable in a RACI matrix?
Show the answer
If two people are accountable, each can assume the other will sign it off, and decisions stall. One accountable person gives a single point of decision.
6. Your literature review says “many ATMs exist in the world”. Improve it.
Show the answer
“ATMIA estimates about 3 million ATMs are in use worldwide, roughly one per 3,000 people [1].” — a number, a source and a citation.
7. Which Tuckman stage is the team in if members argue about who should do the diagrams? What should they do?
Show the answer
Storming. Go back to the charter: use the agreed decision rule, assign roles by skill and availability, and record the decision.
8. What is the critical path, and why does it matter to a student team?
Show the answer
The longest chain of dependent tasks. Any delay on it moves the final deadline, so those tasks get the most attention and should not be left to one person without backup.
2. Technical Report Writing with LaTeX
1. What is the difference between
\section{Results} and \section*{Results}?Show the answer
The starred version is not numbered and does not appear in the table of contents.
2. Which package is missing if LaTeX reports “Undefined control sequence \includegraphics”?
Show the answer
graphicx: add \usepackage{graphicx} to the preamble.3. Write a 3-column table (left, centre, right) with a line above and below the header row.
Show the answer
LaTeX source
\begin{tabular}{lcr}
\hline
Name & Qty & Price \\
\hline
Pen & 2 & 20 \\
\end{tabular}Output · what the PDF shows
4. Why do you sometimes see “??” in the PDF instead of a number?
Show the answer
A
\ref points to a label LaTeX does not know yet. Either the label is missing or misspelt, or the document needs to be compiled a second time.5. Write the BibTeX key and \cite command for an entry that starts with
@inproceedings{rahman2023atm,.Show the answer
\cite{rahman2023atm} — the key is the text between { and the first comma.6. Typeset $S_n = \frac{1}{n}\sum_{i=1}^{n} X_i$ as an unnumbered displayed equation.
Show the answer
LaTeX source
\begin{equation*}
S_n = \frac{1}{n}\sum_{i=1}^{n} X_i
\end{equation*}Output · what the PDF shows
\[ … \] without any package.7. Your team splits the report into files intro.tex, srs.tex and uml.tex. How do you join them?
Show the answer
In main.tex, write
\input{intro}, \input{srs} and \input{uml} where each chapter should appear.8. Write an algorithm with numbered lines that sums the numbers 1 to n.
Show the answer
LaTeX source
\begin{algorithmic}[1]
\State $s \gets 0$
\For{$i \gets 1$ to $n$}
\State $s \gets s + i$
\EndFor
\Return $s$
\end{algorithmic}Output · what the PDF shows
3. IEEE Software Requirements Specification (SRS)
1. List the six main sections of the IEEE-style SRS template.
Show the answer
Introduction; Overall description; System features; External interface requirements; Non-functional requirements; Other requirements (plus appendices).
2. Give one non-functional requirement for each: performance, security, usability — for a Library Management System.
Show the answer
Performance: search results within 2 s for a catalogue of 50,000 books. Security: only librarians can delete records; all logins over HTTPS. Usability: a new student can reserve a book within 3 minutes without help.
3. What is the difference between a user requirement and a system requirement?
Show the answer
A user requirement is a high-level statement in the customer’s language (“members can reserve books”). System requirements refine it precisely for developers (“the system shall hold a reservation for 48 hours, then release it”).
4. Lab task hint: which user classes does the Library Management System scenario mention?
Show the answer
Students and staff (members/users) and the librarian. Consider whether an administrator is needed too — your SRS should justify each class.
5. Why must each requirement have an ID?
Show the answer
So it can be traced to designs and test cases, referred to in change requests and reviews, and counted when checking coverage.
6. Which elicitation technique would you use to learn how librarians really issue books, and why?
Show the answer
Observation (possibly with a short interview): people often describe the official process, but watching shows the real steps and workarounds.
7. Mark each MoSCoW for a first release of an ATM: withdraw cash, change PIN, pay utility bills, balance enquiry.
Show the answer
Must: withdraw cash, balance enquiry. Should: change PIN. Could: pay utility bills. (Your justification matters more than the labels.)
8. The manual lists “Reliability: This system will work 24/30/365.” What is wrong and how would you fix it?
Show the answer
“24/30/365” is not a real measure and cannot be tested. Write, for example: “The system shall be available 99.5% of each calendar month, excluding a scheduled 2-hour weekly maintenance window.”
4. SDLC Model Selection
1. Name the six SDLC stages in order.
Show the answer
Planning and requirement analysis; defining requirements (SRS); designing the architecture (DDS); building; testing; deployment and maintenance.
2. What document is produced in stage 2, and in stage 3?
Show the answer
Stage 2: the SRS (Software Requirements Specification). Stage 3: the DDS (Design Document Specification).
3. In the V-model, which test phase is paired with the requirements phase?
Show the answer
Acceptance testing: it checks the finished system against the user requirements.
4. Lab task hint: list five criteria you could use in a comparison matrix for a Library Management System.
Show the answer
For example: requirements are well known; users can test early versions; the system handles personal data securely; the team has used the technology before; delivery within 11 weeks. Your weights and ticks must be your own.
5. What are the four quadrants of the spiral model?
Show the answer
Determine objectives, alternatives and constraints; identify and resolve risks; develop and test; plan the next iteration.
6. Give one difference between the iterative model and the prototyping model.
Show the answer
Iterative builds real, usable increments of the final system; prototyping builds a quick model mainly to discover requirements, which is often thrown away before the real product is engineered.
7. Why must every criterion in a selection matrix be phrased so that “Yes” is good?
Show the answer
Because the model earns the weight for every Yes. A negative criterion such as “time consuming” would reward the wrong property and distort the total.
8. Name the three Scrum roles.
Show the answer
Product Owner, Scrum Master and the Developers (the development team).
5. Data Flow Diagrams (DFD): Level 0 and Level 1
1. Name the four DFD components and their Yourdon symbols.
Show the answer
External entity (rectangle), process (circle), data store (two parallel lines / open rectangle), data flow (labelled arrow).
2. Why does a Level 0 DFD never show data stores?
Show the answer
Level 0 shows the whole system as one process; stores are inside the system, so they only appear when the process is opened up at Level 1.
3. Give two differences between a DFD and a flowchart.
Show the answer
A DFD shows data movement and storage without order or decisions; a flowchart shows the sequence of control with decisions and loops but no data stores.
4. Lab task hint: name three data stores you would expect in a Library Management System.
Show the answer
For example: D1 Members, D2 Books, D3 Loans (issues, returns, reservations). Fines and feedback may be separate stores or part of others — justify your choice.
5. What is a “black hole” in a DFD?
Show the answer
A process that receives data but produces no output.
6. How are the child processes of 2.0 numbered at Level 2?
Show the answer
2.1, 2.2, 2.3 …
7. A flow is labelled “check if valid”. What is wrong?
Show the answer
It describes control/logic, not data. Label it with the data that moves, e.g. “PIN” or “validation result”.
8. What does it mean for two DFD levels to be balanced?
Show the answer
The data flows entering and leaving a parent process are exactly the flows entering and leaving its child diagram.
6. UML Use Case Diagrams
1. What is the difference between a primary and a secondary actor?
Show the answer
A primary actor starts the use case to achieve its own goal; a secondary actor supports the system during the use case (e.g. a bank server or payment gateway).
2. In which direction does the «include» arrow point?
Show the answer
From the base use case to the included use case.
3. Give one example of actor generalization in a university system.
Show the answer
Student and Teacher both generalise to Member (or User): each inherits Member’s associations, such as Log in and Search catalogue.
4. Lab task hint: which scenario sentence suggests an «extend» relationship in the Library Management System?
Show the answer
Paying a fine happens only if a book is returned late or not renewed — optional, conditional behaviour on Return book.
5. Why is “Database” not an actor?
Show the answer
It is part of the system being modelled; actors are always outside the system boundary.
6. List the fields of a use case description.
Show the answer
Name/ID, actors, preconditions, trigger, main success scenario, alternative flows (and exceptions), postconditions (optionally priority and frequency).
7. What does the system boundary box show?
Show the answer
The scope of the system: use cases inside are part of it; actors and anything outside are not.
8. Can a use case diagram show that “Log in” happens before “Withdraw cash”?
Show the answer
No. Use case diagrams do not show order. Show the sequence in a use case description or a sequence/activity diagram.
7. UML Sequence & Communication Diagrams
1. How is a synchronous message drawn, and how does it differ from an asynchronous one?
Show the answer
Synchronous: solid line with a filled arrowhead; the sender waits for a reply. Asynchronous: solid line with an open arrowhead; the sender continues without waiting.
2. What does the name
c1 : Customer on a lifeline mean?Show the answer
An object named c1 of class Customer.
3. Which combined fragment would you use for “if the member has a fine, ask for payment”?
Show the answer
opt with the guard [fine > 0].4. Lab task hint: which objects might take part in “Reserve book” in the Library Management System?
Show the answer
For example the Member actor, a boundary (ReservationScreen), a control (LibrarySystem or ReservationController) and entities Book and Reservation. Your choice must match your class diagram.
5. Why must every message in a sequence diagram match an operation in the class diagram?
Show the answer
A message is a call to an operation of the receiving object; if the class has no such operation, the design is inconsistent and cannot be implemented as drawn.
6. Give one advantage of a communication diagram over a sequence diagram.
Show the answer
It shows at a glance which objects are linked to which, so it directly suggests associations in the class diagram, and it stays compact.
7. What does a dashed arrow with an open head mean?
Show the answer
A reply (return) message.
8. How is time shown in a sequence diagram?
Show the answer
Vertically: messages lower on the page happen later.
8. UML Class Diagrams
1. What do
+, -, # and ~ mean in front of an attribute?Show the answer
public, private, protected and package visibility.
2. Write the UML operation for a Java method
public double getBalance().Show the answer
+ getBalance() : double3. What is the difference between aggregation and composition? Give one example of each.
Show the answer
In aggregation the part can exist independently (Department–Teacher); in composition the part is owned by exactly one whole and is destroyed with it (House–Room).
4. How is an abstract class shown in UML?
Show the answer
Its name is written in italics (or marked {abstract}); abstract operations are italic too.
5. Lab task hint: which classes in the Student Registration System form an inheritance hierarchy?
Show the answer
Student is the parent of UndergraduateStudent and PostgraduateStudent, because they are kinds of student that enrol in different ways (possibly an abstract enroll() operation).
6. Read aloud:
Customer 1 —— owns —— 1..* Account.Show the answer
Each customer owns one or more accounts; each account is owned by exactly one customer.
7. Which relationship is drawn as a dashed line with a hollow triangle?
Show the answer
Realization: a class implementing an interface.
8. Why should an attribute like
account : String in Customer usually be an association instead?Show the answer
Account is itself a class with its own data and behaviour; linking the classes keeps the model consistent and shows multiplicity, instead of hiding the relationship in a text field.
9. UI/UX Foundations & Figma Wireframing
1. What is the difference between UX and UI?
Show the answer
UX is the whole experience of reaching a goal with the product (research, flows, structure, testing); UI is the visible, interactive surface (screens, controls, visual design).
2. Name the three components of usability in ISO 9241-11.
Show the answer
Effectiveness, efficiency and satisfaction (in a specified context of use).
3. Why start with low-fidelity wireframes?
Show the answer
They are fast and cheap to change, and they focus feedback on structure and flow rather than colours and fonts.
4. Lab task hint: list the screens you would need for the “Borrow book” flow of a library system.
Show the answer
For example: sign in, search, search results, book details, confirm borrowing, success (due date), and error states (book unavailable, fine outstanding). Your list should come from your own use cases.
5. What does auto layout do in Figma?
Show the answer
It arranges child layers in a row or column with fixed spacing and padding, so frames grow or shrink with their content.
6. What contrast ratio does WCAG AA require for normal text?
Show the answer
4.5 : 1 (3 : 1 for large text and for non-text elements such as icons and borders).
7. What is a component instance in Figma?
Show the answer
A copy of a main component that stays linked to it: changes to the main component update every instance.
8. How many users are usually enough for one round of usability testing, and why?
Show the answer
About five: Nielsen found that five users typically reveal most of the problems in a round; fixing them and testing again finds more than one big test.