SE322 · Chapter 2 · Lecture 2 · Annotated SlidesThe Architecture Process and Requirements Engineering
PDF
Overview

The Architecture Process and Requirements Engineering

The architecture process has five steps: understand and evaluate the requirements, design the architecture, evaluate it, document it, and monitor and control its implementation. This lecture covers the first step in depth. Requirements engineering runs four activities (elicitation, analysis, specification and validation), and a requirement worth designing from must be specific, correct, complete, consistent, attainable and verifiable. Every bad-requirement example on the slides fails at least one of those six tests.

Five-step process

Understand requirements → design → evaluate → document → monitor and control implementation.

Four RE activities

Elicit (discover needs), analyse (classify, prioritise, negotiate, model), specify (write down), validate (check with stakeholders).

Six qualities

Specific, correct, complete, consistent, attainable, verifiable. “The system shall be fast” fails specific and verifiable.

Architects live in requirements

Architects go back and forth between requirements and design, and conceptual modelling is often where architecture starts.

How the lecture is organized

  • Slides 1–3The software architecture process
  • Slides 4–6Requirements engineering and elicitation
  • Slides 7–11Analysis: classification, prioritisation and negotiation, conceptual modelling
  • Slides 12–18Specification and validation; the six characteristics of good requirements
  • Slide 19Summary and the 4+1 views next

Exam focus

Quiz 1 261 drew seven questions from this lecture: elicitation (twice), validation, negotiation, matching the five architecture-process activities to their purposes, architecture evaluation, and whether “the system should respond quickly” is verifiable (it is not).

How to read this page

Every original slide is shown unchanged. Yellow marks on a slide point to a numbered note: hover or tap a mark to jump to its note, and hover a note to see its marks. Questions tagged Past exam appeared on a real paper; Prediction questions are likely angles, not confirmed.

All 19 slides
  1. 1 Slide 1
  2. 2 Lecture Outlines
  3. 3 Software Architecture Process
  4. 4 Understand and Evaluate Requirements
  5. 5 Understand and Evaluate Requirements (Elicitation)
  6. 6 Understand and Evaluate Requirements (Elicitation)
  7. 7 Understand and Evaluate Requirements (Analysis)
  8. 8 Extra: Banking App requirements analysis
  9. 9 Understand and Evaluate Requirements (Analysis)
  10. 10 Understand and Evaluate Requirements (Analysis)
  11. 11 Understand and Evaluate Requirements (Analysis)
  12. 12 Understand and Evaluate Requirements
  13. 13 Understand and Evaluate Requirements
  14. 14 Extra: Specific vs. non-specific requirements
  15. 15 Understand and Evaluate Requirements
  16. 16 Understand and Evaluate Requirements
  17. 17 Understand and Evaluate Requirements: consistent and attainable
  18. 18 Understand and Evaluate Requirements
  19. 19 Summary
Slide 1 / 19

Slide 1

Slide 1: Slide 1

Notes

  1. Week 3, second lecture. Lecture 1 listed what an architect does; this one gives the order in which it is done, and then studies the first step, understanding the requirements, in detail.

Slide 2 / 19

Lecture Outlines

Slide 2: Lecture Outlines

Notes

  1. Part 1 is the five-step architecture process (slide 3).

  2. Part 2 is requirements engineering, the discipline behind step 1, with its four activities: elicitation, analysis, specification, validation.

Slide 3 / 19

Software Architecture Process

Slide 3: Software Architecture Process

Notes

  1. Understand and evaluate requirements: find the architectural drivers, meaning the requirements, quality attributes and constraints that will shape the structure.

  2. Design the architecture: define the major structures (components, connectors) and the design decisions behind them.

  3. Evaluate the architecture: check whether it satisfies the important requirements and stakeholder concerns before building on it.

  4. Document the architecture: communicate the structures and decisions to everyone who needs them (chapter 9).

  5. Monitor and control implementation: check that the code stays consistent with the architecture. This is design synchronicity from Lecture 1, and it is why architecture work doesn’t end when coding starts.

Exam angle

Past exam · Quiz 1 · 261 · Q5 (matching)Q1

Match each architecture process activity with its main purpose: understand and evaluate requirements; design architecture; document architecture; evaluate architecture; monitor and control implementation.

Show answer

Understand and evaluate requirements → identify architectural drivers and constraints. Design architecture → define major structures and design decisions. Document architecture → communicate architectural structures and decisions. Evaluate architecture → assess whether the architecture satisfies important concerns. Monitor and control implementation → check that implementation remains consistent with the architecture. (Design and document are the pair most often swapped.)

Past exam · Quiz 1 · 261 · Q6 (fill in)Q2

Fill in the blank: After designing an architecture, the activity used to determine whether it satisfies important requirements and stakeholder concerns is architecture ___.

Show answer

Evaluation.

Slide 4 / 19

Understand and Evaluate Requirements

Slide 4: Understand and Evaluate Requirements

Notes

  1. Requirements engineering is the part of software engineering concerned with a systematic approach to requirements: getting them, understanding them and writing them down properly.

  2. It has four activities, explained on the next slides: elicitation (discover), analysis (clean up), specification (document) and validation (confirm).

  3. Architects spend a lot of time here. Even after requirements are specified they keep going back and forth between requirements and design, because designing exposes gaps and conflicts. On some projects they are completely immersed in the requirements phase and help write the specification.

Exam angle

PredictionQ1

List the four activities of requirements engineering in order.

Show answer

Elicitation, analysis, specification, validation.

Slide 5 / 19

Understand and Evaluate Requirements (Elicitation)

Slide 5: Understand and Evaluate Requirements (Elicitation)

Notes

  1. Elicitation is the discovery activity: identify the stakeholders, uncover what the customer needs and wants, and determine the non-functional requirements (which customers rarely state unprompted).

  2. It starts by listing every source of information that can produce requirements, before collecting a single requirement.

  3. Sources may have similar but different visions of the system: two departments can describe “the same” workflow differently. Spotting that early prevents conflicts later.

  4. Common sources: stakeholders; goals (the business objectives the system serves); domain knowledge (how banking, medicine or education works); and the operational and organisational environment (existing systems, policies, hardware the new system must live with).

Exam angle

Past exam · Quiz 1 · 261 · Q1 (fill in)Q1

Fill in the blank: The requirements activity in which stakeholder needs are discovered using techniques such as interviews and observation is called ___.

Show answer

Elicitation: the discovery step, before anything is documented.

Slide 6 / 19

Understand and Evaluate Requirements (Elicitation)

Slide 6: Understand and Evaluate Requirements (Elicitation)

Notes

  1. Interviews: ask stakeholders directly, one at a time or in small groups. Good for detail; limited by what people remember to say.

  2. Facilitated meetings (workshops): bring stakeholder groups together with a facilitator so conflicting views surface and get discussed in one place.

  3. Observation: watch users do their current work. It reveals steps and workarounds that people never mention in interviews because they take them for granted.

  4. Scenarios: walk through concrete stories of use (“a student registers for a full course…”) to discover what the system must do and how it should respond.

Exam angle

Past exam · Quiz 1 · 261 · Q2Q1

An architect interviews end users, observes their current work, and runs a facilitated workshop to discover system needs. Which requirements activity is being performed?

  1. Negotiation
  2. Architecture documentation
  3. Elicitation
  4. Classification
Show answer

C. Elicitation — Interviews, observation and facilitated meetings are elicitation techniques.

Slide 7 / 19

Understand and Evaluate Requirements (Analysis)

Slide 7: Understand and Evaluate Requirements (Analysis)

Notes

  1. Analysis takes requirements in their raw form and fixes the ones that are contradictory, incomplete, vague or simply wrong.

  2. Contradiction example: one requirement says the system runs 24/7, another needs daily maintenance downtime. Both can’t be true as written, so someone must decide.

  3. Analysis lets architects clear the air about what really needs to be done before they invest in detailed designs.

  4. Its four tasks: classification (slide 9), prioritisation and negotiation (slide 10), and conceptual modelling (slide 11).

Slide 8 / 19

Extra: Banking App requirements analysis

Slide 8: Extra: Banking App requirements analysis

Notes

  1. R1 Secure login is vague: “secure” could mean a password, two-factor authentication or a fingerprint. Resolution: clarify the exact login method with the stakeholders.

  2. R2 Fast & seamless experience may conflict with R1, since strong security slows things down. Resolution: a design that balances the two (efficient encryption, smart caching).

  3. R3 Multiple payment methods is incomplete: which methods (card, PayPal, crypto)? Resolution: define them explicitly.

  4. R4 24/7 availability contradicts the need for maintenance downtime. Resolution: rolling updates or redundant servers, so updates happen without the service going down. Each row is one of slide 7’s problem types.

Exam angle

PredictionQ1

For each banking-app requirement, name the problem analysis would find: (a) “secure login”, (b) “multiple payment methods”, (c) “24/7 availability” alongside planned maintenance downtime.

Show answer

(a) Vague: “secure” is undefined. (b) Incomplete: the payment methods aren’t listed. (c) Contradictory: 24/7 conflicts with downtime; resolved with rolling updates or redundant servers.

Slide 9 / 19

Understand and Evaluate Requirements (Analysis)

Slide 9: Understand and Evaluate Requirements (Analysis)

Notes

  1. Classification identifies the nature of each requirement, along three independent axes.

  2. Functional vs. non-functional: functional says what the system does (“users can log in”); non-functional says how well it behaves (“the page loads within 2 seconds”).

  3. Product vs. process: a product requirement is about the delivered software (“the app supports online payments”); a process requirement is about how it is developed (“the app must be developed using Agile”).

  4. Imposed vs. derived: an imposed requirement comes straight from stakeholders (“the app runs on iOS and Android”); a derived one is worked out by the team to meet a higher goal (“to support both platforms, use Flutter”).

Exam angle

PredictionQ1

Classify “The app must be developed using the Agile methodology” on the product/process axis, and “To support both platforms we will use Flutter” on the imposed/derived axis.

Show answer

The first is a process requirement (about how the product is developed). The second is derived: the team chose it to satisfy the imposed requirement “run on iOS and Android”.

PredictionQ2

“The system must load within 2 seconds” is a:

  1. Non-functional requirement
  2. Functional requirement
  3. Process requirement
  4. Derived requirement
Show answer

A. Non-functional requirement

Slide 10 / 19

Understand and Evaluate Requirements (Analysis)

Slide 10: Understand and Evaluate Requirements (Analysis)

Notes

  1. Prioritisation identifies the most important functions: login security matters more than a theme colour.

  2. Done well, it refines the schedule by deciding which requirements are handled first: payment and security early, less urgent features later.

  3. It also defines the builds (releases): Release 1 has the core features, Release 2 adds the chatbot and extras.

  4. And it supports negotiation when requirements conflict: “security now, chatbot in a later update” is a negotiated outcome based on priority.

Exam angle

Past exam · Quiz 1 · 261 · Q4Q1

Two stakeholder groups request requirements that cannot both be fully satisfied. Which activity is most directly used to resolve this conflict?

  1. Requirements classification
  2. Code inspection
  3. Requirements negotiation
  4. Requirements elicitation
Show answer

C. Requirements negotiation — Classification only groups requirements; negotiation reaches an acceptable trade-off.

Slide 11 / 19

Understand and Evaluate Requirements (Analysis)

Slide 11: Understand and Evaluate Requirements (Analysis)

Notes

  1. Conceptual models help identify requirements by showing their context, the system’s boundaries, and how the system interacts with its environment.

  2. Boundaries decide what is inside and outside the system. Online banking: login, balance and transfers are inside; ATM hardware and cash withdrawal are outside. Getting this wrong means designing (or forgetting) whole subsystems.

  3. This is often where architectural design begins, because building a good conceptual model already requires decomposing the system into parts. The slide marks this as important.

Slide 12 / 19

Understand and Evaluate Requirements

Slide 12: Understand and Evaluate Requirements

Notes

  1. Specification formally captures the results of elicitation and analysis in a document format that every stakeholder can use and review (the SRS).

  2. Validation: stakeholders review the documented requirements to confirm they are accurate, complete and feasible, i.e. that they really represent their needs.

  3. Each requirement must have six characteristics: specific, correct, complete, consistent, attainable, verifiable. Slides 13–18 take them one at a time.

Exam angle

Past exam · Quiz 1 · 261 · Q3 (fill in)Q1

Fill in the blank: Checking whether documented requirements correctly represent stakeholder needs is called requirements ___.

Show answer

Validation. (Analysis and correctness were the common wrong answers.)

PredictionQ2

List the six characteristics a well-specified requirement should have.

Show answer

Specific, correct, complete, consistent, attainable, verifiable.

Slide 13 / 19

Understand and Evaluate Requirements

Slide 13: Understand and Evaluate Requirements

Notes

  1. Specific has three parts: the requirement is clear, concise and exclusive.

  2. Clear: not open to interpretation. Ambiguity leads to wrong designs, wrong code, and deceptive validation: a test can “pass” against one reading of the requirement while the stakeholder meant another.

  3. Concise: short and to the point, so it is easy to understand.

  4. Exclusive: each requirement states one and only one thing, which makes it easy to verify; a requirement that bundles two things can be half met.

Slide 14 / 19

Extra: Specific vs. non-specific requirements

Slide 14: Extra: Specific vs. non-specific requirements

Notes

  1. Specific examples: searching by product ID, authenticating with user ID and password, acknowledging within ½ second. Each says exactly what, how, or how much.

  2. “The software shall search the database” is not specific: search for what, by which criteria, returning what?

  3. “The software shall be secure” is not specific: security covers encryption, authentication, access control… which one is required?

  4. “Secure and fast” fails twice: two vague qualities in one sentence (not exclusive), with no measurable meaning for either.

Exam angle

PredictionQ1

Rewrite “The software shall be secure and fast” as specific requirements.

Show answer

Split it and make each measurable, e.g. “The system shall authenticate users with a user ID and password and lock the account after 5 failed attempts” and “The system shall return search results within 2 seconds for 95% of requests.”

Slide 15 / 19

Understand and Evaluate Requirements

Slide 15: Understand and Evaluate Requirements

Notes

  1. A requirement is correct when it accurately describes a function the stakeholders actually want. A wrong requirement, implemented perfectly, still gives wrong or undesired behaviour.

  2. The cartoon is an incorrect requirement in action. The specification said each user ID + password combination must be unique, so registering as user123/pwd123 is rejected with “you must use a unique combination”. But that error tells the new user that someone else already has exactly that username and password: the system has just given away another person’s login. The code did what the requirement said; the requirement was wrong. (Usernames should be unique; passwords should never be compared across users.)

Exam angle

PredictionQ1

Explain why “each username and password combination must be unique” is an incorrect requirement.

Show answer

Enforcing it means telling a registering user that their chosen combination already exists, which discloses another user’s valid credentials. The requirement describes undesired behaviour; the correct one is that usernames are unique.

Slide 16 / 19

Understand and Evaluate Requirements

Slide 16: Understand and Evaluate Requirements

Notes

  1. Complete applies at two levels. Individually, each requirement is specified thoroughly enough to describe fully the function it asks for.

  2. Collectively, the whole set in the SRS (software requirements specification) must cover all the required functionality: nothing missing, everything specified. A perfect login requirement doesn’t make the SRS complete if account recovery was never written down.

  3. Incompleteness propagates: incomplete requirements → incomplete design → incomplete construction.

Slide 17 / 19

Understand and Evaluate Requirements: consistent and attainable

Slide 17: Understand and Evaluate Requirements: consistent and attainable

Notes

  1. Consistent: requirements don’t preclude (prevent) the design or construction of other requirements, i.e. no conflicts.

  2. Consistent pair: “support online payments” and “support credit-card payments” work together. Conflicting pair: “the system must be offline only” and “the system must support online payments”.

  3. Attainable: unattainable requirements serve no purpose. A requirement is attainable if it can realistically be achieved within the project’s constraints of time, technology, budget and resources, and this applies to both product and process requirements.

  4. Attainable: “handle 1,000 simultaneous users”. Not attainable: “handle 1 billion users on a $500 budget”.

Slide 18 / 19

Understand and Evaluate Requirements

Slide 18: Understand and Evaluate Requirements

Notes

  1. Verifiable is perhaps the most obvious desirable characteristic: there must be a suitable way (test, measurement, demonstration) to confirm the requirement has been met.

  2. A requirement that can’t be verified can’t be claimed as met, and being unable to verify a requirement points to a serious flaw early in development: nobody knows what “done” means.

  3. “The system shall maximise speed” is not verifiable (maximise compared with what?). “The system’s data rate shall be at least 1 Mbps” is. Rule of thumb: use numbers, limits or conditions.

Exam angle

Past exam · Quiz 1 · 261 · Q15 (true/false)Q1

The requirement “The system should respond quickly” is sufficiently specific and verifiable for architectural evaluation.

Show answer

False — “Quickly” is vague unless replaced by a measurable criterion such as “within 2 seconds for 95% of requests”.

Slide 19 / 19

Summary

Slide 19: Summary

Notes

  1. This lecture gave the basics of requirements engineering, enough to write good requirements: elicit, analyse, specify and validate, then check each requirement against the six characteristics.

  2. Next: designing the architecture with the 4+1 view model: logical, development, process and physical views, plus the user (scenario) view that ties them together.