SE322 · Chapter 5 · Lecture 1 · Annotated SlidesPrinciples of Detailed Design I: What Detailed Design Is and Its Key Tasks
Chapter 5 Quiz PDF
Overview

Principles of Detailed Design I: What Detailed Design Is and Its Key Tasks

Detailed design takes the architecture’s black-box components and refines them until they can be coded: their internal structure, their behaviour, their interfaces and their data. Architecture bridges requirements and design; detailed design bridges design and code. The lecture places it in the life cycle and lists its five key tasks: understand the architecture and the requirements allocated to your component, create the detailed design, evaluate it with technical reviews, document it in the software design document (SDD), and keep the implementation synchronised with it.

Refinement

Detailed design refines and expands the architecture until the design is complete enough to implement.

Both directions

From requirements and architecture forward to code, and from code backward (reverse engineering) to the design.

Five tasks

Understand → create → evaluate (technical reviews) → document (SDD) → monitor and control implementation.

Synchronicity

Detailed design follows the architecture and the code follows the detailed design; low synchronicity signals project risk.

How the lecture is organized

Exam focus

Final 252 Q1 asked for the primary focus of detailed design (the internals of components and their behaviour to meet functional requirements). Expect short questions on the five key tasks, technical-review guidelines, the SDD and synchronicity; Lecture 2 holds the SOLID questions.

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 14 slides
  1. 1 Slide 1
  2. 2 Lecture Outlines
  3. 3 Where we are: from requirements to construction
  4. 4 What is Detailed Design?
  5. 5 What is Detailed Design?
  6. 6 Designer’s Mental Model During Detailed Design
  7. 7 Key Tasks in Detailed Design
  8. 8 Key task 1: Understanding Architecture and Requirements
  9. 9 Key task 2: Creating Detailed Designs
  10. 10 Key task 3: Evaluating Detailed Designs
  11. 11 Key task 4: Documenting Detailed Designs
  12. 12 Key task 4: SDD sections and table of contents
  13. 13 Key task 5: Managing Implementation
  14. 14 Summary
Slide 1 / 14

Slide 1

Slide 1: Slide 1

Notes

  1. Chapter 5 moves from architecture to detailed design, the second major design activity. Lecture 1 explains what it is and the tasks it involves; Lectures 2 and 3 cover the principles (SOLID) used to judge a detailed design.

Slide 2 / 14

Lecture Outlines

Slide 2: Lecture Outlines

Notes

  1. First: what detailed design is and where it fits in the life cycle.

  2. Then its five key tasks, each on its own slide (7–13).

Slide 3 / 14

Where we are: from requirements to construction

Slide 3: Where we are: from requirements to construction

Notes

  1. Requirements: gather and document what the system must do, e.g. banking-app users must check balances and transfer money.

  2. Architecture: define the overall structure and interactions, e.g. a client–server system with a database, the app and a security layer.

  3. Detailed design: break the architecture into smaller components and detailed functions, e.g. for login, specify password validation, authentication and session management. The diagram marks this “we are here”: design shifts from a macro approach to a micro one, decomposing components into fine-grained elements, functions and data.

  4. Construction: start coding from the detailed design (login, account management, transfers).

Slide 4 / 14

What is Detailed Design?

Slide 4: What is Detailed Design?

Notes

  1. Definition: detailed design is the process of refining and expanding the preliminary design (the software architecture) of a system or component until the design is complete enough to be implemented.

  2. Designers go deep into each component to define its internal structure and behaviour, so that construction becomes natural and efficient. Structure = how the component is built inside; behaviour = how it acts and reacts in different scenarios.

  3. Detailed design produces specifications, algorithms, database schemas, interface definitions and class diagrams, but no code yet. Login example: password rules (minimum length, special characters), hashing plus salting for authentication, session timeout and refresh tokens. It is the blueprint before building.

  4. Construction then translates that design into code: writing validatePassword(), implementing the authentication API, coding session management. It is building the house from the blueprint.

Exam angle

Past exam · Final 252 · Q1 MCQ 7Q1

What is the primary focus of “Detailed Design”?

  1. External properties of software components and non-functional requirements.
  2. The overall development process for both hardware and software.
  3. The internals of system components and their behavior to fulfill functional requirements.
  4. Project management tasks like staffing and tracking.
Show answer

C. The internals of system components and their behavior to fulfill functional requirements.

Slide 5 / 14

What is Detailed Design?

Slide 5: What is Detailed Design?

Notes

  1. Detailed design sits between architecture and construction, so detailed designers need a full understanding of both the requirements and the architecture they are refining.

  2. The bridge analogy: architecture bridges requirements and design; detailed design bridges design and code.

  3. Designers must also be proficient in design strategies (e.g. object-oriented), programming languages, and quality-control methods, because their output must be directly implementable.

Exam angle

PredictionQ1

Detailed design provides the bridge between:

  1. Design and code
  2. Requirements and architecture
  3. Testing and deployment
  4. Users and managers
Show answer

A. Design and code

Slide 6 / 14

Designer’s Mental Model During Detailed Design

Slide 6: Designer’s Mental Model During Detailed Design

Notes

  1. Forward: given requirements and architecture, detailed designers must move the project all the way to code (the funnel: requirements/architecture → detailed design → code).

  2. Backward: given code, they must be able to reverse engineer it into detailed and architectural designs. Starting at detailed design, you must be able to produce both the code and the architecture.

  3. Reverse engineering means analysing existing code to recover what the system does, how it is structured, and how it maps back to design and requirements (useful for legacy systems and maintenance).

  4. Tools are essential at this stage: UML modelling, code generation, compilers, reverse-engineering tools and configuration management.

Slide 7 / 14

Key Tasks in Detailed Design

Slide 7: Key Tasks in Detailed Design

Notes

  1. 1. Understand the architecture and the requirements allocated to your components (slide 8).

  2. 2. Create the detailed designs: interfaces, GUI, internal structure and behaviour, data (slide 9).

  3. 3. Evaluate them, mainly through technical reviews (slide 10).

  4. 4. Document them, mainly in the SDD (slides 11–12).

  5. 5. Monitor and control implementation, keeping code and design in sync (slide 13). The tasks form a loop: a review or a coding discovery can send you back to an earlier task.

Exam angle

PredictionQ1

List the five key tasks of detailed design.

Show answer

Understanding the architecture and requirements; creating detailed designs; evaluating detailed designs (technical reviews); documenting the design (SDD); monitoring and controlling implementation (synchronicity).

Slide 8 / 14

Key task 1: Understanding Architecture and Requirements

Slide 8: Key task 1: Understanding Architecture and Requirements

Notes

  1. In architecture the whole set of requirements is evaluated. In detailed design, each designer focuses on the requirements allocated to their specific component.

  2. Architecture components (SensorManager, VideoManager, ClientManager in the diagram) are assigned to teams, each with the functional and quality requirements allocated to it. Each team refines its component and prepares it for coding.

  3. During detailed design, designers may also derive new requirements for their component (validation rules, performance limits) and impose them on its implementation.

Slide 9 / 14

Key task 2: Creating Detailed Designs

Slide 9: Key task 2: Creating Detailed Designs

Notes

  1. Once the architecture and requirements for the assigned component are understood, detailed design starts. It covers both structural and behavioural design.

  2. Interface design: internal interfaces (between components of the system) and external ones (with other systems).

  3. GUI design: the screens users interact with.

  4. Internal component design: the structure (classes, relationships) and behaviour (interactions, states) inside each component. Lectures 2–3 give the principles for this.

  5. Data design: the database and the data dictionary (the definitions of every data element).

Slide 10 / 14

Key task 3: Evaluating Detailed Designs

Slide 10: Key task 3: Evaluating Detailed Designs

Notes

  1. The most popular way to evaluate detailed designs is a technical review.

  2. Send the review notice early enough that reviewers can study the design thoroughly.

  3. Include a technical expert, the stakeholders of your design, and a member of the QA or testing team.

  4. During the review, focus on what matters: how the design meets the functional and non-functional requirements. E-commerce checkout example: secure payments (non-functional) and smooth order processing (functional).

  5. Document the review, and make sure every action item is captured and assigned to someone.

Exam angle

PredictionQ1

Give three guidelines for conducting a technical review of a detailed design.

Show answer

Send the review notice early so reviewers can prepare; include a technical expert, stakeholders and a QA/testing member; focus on how the design meets functional and non-functional requirements; document the review and assign every action item.

Slide 11 / 14

Key task 4: Documenting Detailed Designs

Slide 11: Key task 4: Documenting Detailed Designs

Notes

  1. The design is documented mainly in the software design document (SDD), also called the software design description. It is used throughout development by programmers, testers, maintainers and system integrators.

  2. The interface control document describes the system’s interfaces and how components communicate.

  3. The version control document lists what each software release contains (files, scripts, executables); different versions of the design correspond to specific releases.

Exam angle

PredictionQ1

Detailed designs are documented mainly in the:

  1. Software Design Document (SDD)
  2. Software Requirements Specification
  3. Test plan
  4. Project charter
Show answer

A. Software Design Document (SDD)

Slide 12 / 14

Key task 4: SDD sections and table of contents

Slide 12: Key task 4: SDD sections and table of contents

Notes

  1. The SDD sections and a sample table of contents.

  2. Front matter: date of issue and status (each formal release gets a new date), scope (the intended purpose of the software), issuing organisation, authorship, references (every document or technology referred to), and context.

  3. Body: the main section where the design itself is documented, the part stakeholders read to understand how the software is to be built. In the sample contents it holds the software architecture (stakeholders, concerns, architectural viewpoints and views) and the detailed design (one viewpoint per component).

  4. Back matter: summary, glossary (definitions of all terms and acronyms) and change history (what was added, removed or changed).

Slide 13 / 14

Key task 5: Managing Implementation

Slide 13: Key task 5: Managing Implementation

Notes

  1. Detailed design synchronicity measures how well the detailed design adheres to the architecture and how well the code adheres to the detailed design.

  2. A low degree of synchronicity points to a flaw in the process and can lead to project failure.

  3. It needs particular attention when the project enters maintenance or new engineers join, the moments when design and code drift apart. Processes must be in place to keep it high.

  4. Example: the architecture requires encrypted login, the detailed design forgets encryption, and the code stores plain passwords. Each level broke synchronicity with the one above.

Exam angle

PredictionQ1

What is detailed design synchronicity, and why does low synchronicity matter?

Show answer

It is the degree to which the detailed design follows the architecture and the code follows the detailed design. Low synchronicity means the documentation no longer describes the real system; it points to a process flaw and can lead to project failure, especially during maintenance or when new engineers join.

Slide 14 / 14

Summary

Slide 14: Summary

Notes

  1. Recap: detailed design refines the architecture until it can be coded, through five tasks: understand, create, evaluate, document, monitor.

  2. Next: the principles for judging a detailed design (SOLID, Lectures 2–3), then design patterns.