Published on

COMP2120 Exam Cheat Sheet

Table of Contents

Three Tier Architecture

Presentation Tier

  • User interface and communication layer of the application
    • Display and collection information from the user.

Application Tier

  • Logic tier of the application. Information collected from the presentation layer is processed. Usually using business logic, specific set of business rules. The application tier can also add, modify or delete data from the data tier.

Data Tier

  • Database or back-end where the information processed by the application is stored and managed. In a three-tier application, all communication goes through teh application tier. Note that the presentation tier and the data tier cannot communication directly with one another.

Tier vs Layer

  • A 'layer' refers to a functiona division of the software
  • A 'tier' refers to a functional division of the software that runs on infrastructre separate from the other divisions.
  • Layers can't offer the same benefits as tiers

Essential Attributes of Good Software

Slide 18

  • Acceptability
  • Dependability
  • Efficiency
  • Maintainability

General Issues Affecting Software

Slide 19

  • Business and Societal change
  • Heterogeneity
  • Security and Trust
  • Scale

Software Engineering Ethics - Slide 21

Plan-driven and Agile

Slide 28

  • Plan-driven: Process activities are planned in advance, where process is measured against the plan
  • Agile: Process activities planned incrementally

Software Process Models

Slide 28

  1. Waterfall, more on slide 30
  2. Incremental Development, more on slide 37
  3. Integration and Configuration

Process Improvement

Slide 49

  1. Maturity Approach
  2. Agile Approach

Activities - Slide 51

  • Measurement
  • Analysis
  • Change

Agile - Slide 56

Agile Principles

Slide 63

  1. Customer Involvement
  2. Incremental Delivery
  3. People not process
  4. Embrace Change
  5. Maintain Simplicity

XP - Slide 66

Practices - Details on slide 74

  1. Incremental Planning
  2. Small Releases
  3. Simple Design
  4. Test-first Development
  5. Refactoring
  6. Pair Programming
  7. Collective Ownership
  8. Continuous Integration
  9. Sustainable Pace
  10. On-Site Customer

User Stories for Requirements - Slide 71

Scrum - Slide 85

Terminology

  1. Development Team
  2. Potentially Shippable
  3. Product Backlog
  4. Product Owner
  5. Scrum
  6. Scrum Master
  7. Sprint
  8. Velocity

Requirements - 114

  • Business Requirements: What the business is going to achieve
  • User Requirements: What goals or tasks the suer must be able to perform
  • Functional Requirements: What behaviours the product will exhibit under specific conditions
  • System requirements: What compoents or subsystems must be included

Non-functional requirements - Slide 121

  • Quality Attributes: Describe products characteristics

  • External Interfaces: Describe interfaces at the boundary of system being developed

  • Design and Implementation Constraints: Constraints on the software process, implementation

  • Business Rules - Slide 122

  • Corporate policies, regulations that must be satisfied by software

  • Architecture and requirements - Slide 124

  • Twin peaks - slide 126

  • Requirements Engineering - Slide 134

Vision Statement - Slide 162

Business Rules - Slide 207

Functional Requirements - Slide 289

Quality Attributes - Slide 308

  • Avaliability
  • Installability
  • Integrity
  • Interoperability
  • Performance
  • Reliability
  • Robustness
  • Safety
  • Security
  • Usability

UI and Usability - Slide 370

  1. Visibility
  2. Conceptual (mental) Model
  3. Emotion

Principles

  • Slides 645

Patterns

Testing Fundamentals - Slide 767

Software Evolution - Slide 767

Diagrams

Feature Tree - Slide 154

Ecosystem Map - Slide 169

BDD - Slide 221, 246

Case Diagram

Context Diagram - Slide 172

BPFD - Slide 190

Domain Model - Slide 459

Use Case Diagram - Slide 204, 265

  • Use cases slide 258
  • Relationships, slide 281
  • UCs and Feature tree - slide 288

Use Case Flow Diagrams - Slide 285

Sequence Diagram - Slide 537

Design Class Diagram - Slide 537

State Diagram - Slide 612