Memra
academic · intermediate

COMP 410 — Software Engineering

Write the paper, not just the code — 99 rubric-graded exam answers

A full software engineering course built for a closed-book written paper: the process framework and the prescriptive models, agility and the human side of a software team, requirements engineering and the functional/non-functional split, scenario, class, functional and behavioural modelling in UML, the design concepts (abstraction, modularity, information hiding, functional independence), architecture and component-level design with cohesion and coupling measured properly, user experience and pattern-based design, quality concepts, technical reviews and SQA, security engineering and the whole testing strategy, configuration management, metrics and support, and project planning, estimation and risk management. Every concept ends in the instrument the exam actually uses — a long-form answer you write, commit, then grade against the marking scheme, with the model answer and the technique note beside it. Prepares directly for the three-hour closed-book COMP 410 final examination: four 7-mark definitions, six 10-mark short answers, and one 12-mark thinking problem.

0 / 68 lessons
We'll stop scheduling reviews for after it.

The Discipline and the Process Framework

28 cards
  1. What software is, and why it is engineered 11 min ◈ 9
  2. The process framework: five activities, eight bands 13 min ◈ 9
  3. Practice, principles, and process adaptation 12 min ◈ 5
  4. BorrowBox, and how to answer a COMP 410 question 12 min ◈ 5

Prescriptive Process Models

35 cards
  1. The generic process model: activities, actions, tasks, task sets 11 min ◈ 13
  2. The waterfall model, and the projects where it is the right answer 11 min ◈ 4
  3. Prototyping, incremental delivery, and the spiral 12 min ◈ 5
  4. The Unified Process, and a prototype-driven model with a go/no-go gate 12 min ◈ 8
  5. Choosing a process model and defending the choice 12 min ◈ 5

Agility and the Human Side of Software Engineering

36 cards
  1. Agility and the cost-of-change argument 11 min ◈ 5
  2. Scrum: roles, artifacts, events 11 min ◈ 7
  3. XP, Kanban and DevOps 12 min ◈ 8
  4. Software teams: jelling, toxicity and structure 12 min ◈ 11
  5. Global teams and social media 13 min ◈ 5

Understanding Requirements

28 cards
  1. Requirements engineering: seven tasks, one bridge 11 min ◈ 4
  2. Stakeholders, viewpoints, and the first questions 10 min ◈ 4
  3. Functional and non-functional requirements, and traceability 14 min ◈ 6
  4. Elicitation: the meeting, the scenarios, the work products 11 min ◈ 6
  5. Use cases, negotiating requirements, and validating them 13 min ◈ 8

Scenario- and Class-Based Modelling

23 cards
  1. Requirements analysis and the requirements model 10 min ◈ 4
  2. Scenario-based modelling: actors, use cases and exceptions 11 min ◈ 4
  3. Class-based modelling: the grammatical parse and the six criteria 12 min ◈ 4
  4. UML class models: attributes, operations, associations, multiplicity 11 min ◈ 4
  5. CRC modelling 12 min ◈ 7

Functional and Behavioural Modelling

21 cards
  1. Activity and swim-lane diagrams 11 min ◈ 6
  2. Sequence diagrams 10 min ◈ 4
  3. State diagrams: events, guards and actions 12 min ◈ 5
  4. Which diagram, and why 11 min ◈ 6

Design Concepts and the Design Model

28 cards
  1. Design in the software engineering context 11 min ◈ 5
  2. Abstraction, architecture, patterns, and separation of concerns 12 min ◈ 7
  3. Modularity, information hiding, and functional independence 13 min ◈ 6
  4. Stepwise refinement, refactoring, and design classes 12 min ◈ 5
  5. The design model: five element sets 12 min ◈ 5

Architecture and Component-Level Design

34 cards
  1. Software architecture, and the decision record 11 min ◈ 4
  2. Architectural styles and architectural patterns 12 min ◈ 10
  3. Doing architectural design, and assessing the alternatives 11 min ◈ 4
  4. Components, and the principles that govern their design 12 min ◈ 5
  5. Cohesion and coupling 14 min ◈ 7
  6. Conducting component-level design, and refactoring 11 min ◈ 4

User Experience, Mobility, and Pattern-Based Design

25 cards
  1. UX elements and the three golden rules 11 min ◈ 4
  2. The four interface models and the design spiral 11 min ◈ 4
  3. Design evaluation, usability, and accessibility 12 min ◈ 4
  4. Design for mobility 12 min ◈ 4
  5. Pattern-based design, frameworks, and anti-patterns 14 min ◈ 9

Quality, Reviews, and Software Quality Assurance

51 cards
  1. What software quality means 11 min ◈ 10
  2. The quality dilemma and the cost of quality 11 min ◈ 7
  3. Quality control versus quality assurance 11 min ◈ 5
  4. Reviews: defect amplification, metrics, and choosing a review type 12 min ◈ 8
  5. Formal technical reviews, postmortems, and agile reviews 11 min ◈ 11
  6. SQA, statistical SQA, reliability, availability and safety 15 min ◈ 10

Security Engineering and Software Testing

32 cards
  1. Security across the life cycle: secure SDLC, SQUARE, misuse cases 12 min ◈ 4
  2. Threat modelling, STRIDE, attack surface, and secure coding 12 min ◈ 4
  3. Testing strategy: V&V, organizing for testing, scaffolding, and stopping 11 min ◈ 4
  4. White-box testing, basis path testing, and cyclomatic complexity 12 min ◈ 5
  5. Black-box testing, boundary values, and object-oriented testing 12 min ◈ 5
  6. Integration, regression, smoke, validation, acceptance, and specialized testing 14 min ◈ 10

Configuration Management, Metrics, and Support

33 cards
  1. Configuration management: baselines, SCIs and the repository 12 min ◈ 7
  2. The change management process 11 min ◈ 5
  3. Measures, metrics, indicators, and software analytics 12 min ◈ 6
  4. Product, process, project and quality metrics 12 min ◈ 4
  5. Software support: maintenance, reverse engineering and evolution 12 min ◈ 4
  6. Software process improvement and the CMMI 10 min ◈ 7

Managing the Project, and the Thinking Problem

55 cards
  1. The management spectrum and the planning process 12 min ◈ 10
  2. Estimation: sizing, decomposition, and reconciling 13 min ◈ 9
  3. Scheduling: task networks, the critical path, and tracking 14 min ◈ 10
  4. Risk: reactive versus proactive, categories, and the risk table 13 min ◈ 12
  5. Risk refinement, RMMM, and the risk information sheet 12 min ◈ 7
  6. The thinking problem, and sitting the paper 15 min ◈ 7
NORMAL ~/memra/learn/comp-410 utf-8 LF