- Published on
COMP2120 Exam Cheat Sheet
Table of Contents
- Three Tier Architecture
- Presentation Tier
- Application Tier
- Data Tier
- Tier vs Layer
- Essential Attributes of Good Software
- General Issues Affecting Software
- Software Engineering Ethics - Slide 21
- Plan-driven and Agile
- Software Process Models
- Process Improvement
- Activities - Slide 51
- Agile - Slide 56
- Agile Principles
- XP - Slide 66
- Practices - Details on slide 74
- User Stories for Requirements - Slide 71
- Scrum - Slide 85
- Terminology
- Requirements - 114
- Vision Statement - Slide 162
- Business Rules - Slide 207
- Functional Requirements - Slide 289
- Quality Attributes - Slide 308
- UI and Usability - Slide 370
- Principles
- 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 Case Flow Diagrams - Slide 285
- Sequence Diagram - Slide 537
- Design Class Diagram - Slide 537
- State Diagram - Slide 612
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
- Waterfall, more on slide 30
- Incremental Development, more on slide 37
- Integration and Configuration
Process Improvement
Slide 49
- Maturity Approach
- Agile Approach
Activities - Slide 51
- Measurement
- Analysis
- Change
Agile - Slide 56
Agile Principles
Slide 63
- Customer Involvement
- Incremental Delivery
- People not process
- Embrace Change
- Maintain Simplicity
XP - Slide 66
Practices - Details on slide 74
- Incremental Planning
- Small Releases
- Simple Design
- Test-first Development
- Refactoring
- Pair Programming
- Collective Ownership
- Continuous Integration
- Sustainable Pace
- On-Site Customer
User Stories for Requirements - Slide 71
Scrum - Slide 85
Terminology
- Development Team
- Potentially Shippable
- Product Backlog
- Product Owner
- Scrum
- Scrum Master
- Sprint
- 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
- Visibility
- Conceptual (mental) Model
- 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