Please enable JavaScript.
Coggle requires JavaScript to display documents.
COMP1531 - Prac (Software Design (Design Smells (Rigidity, Fragility,…
COMP1531 - Prac
Software Design
Design Smells
Rigidity
Fragility
Viscosity
Opacity
Needless Complexity
Needless repetition
Immobility
Good Design
Coupling
Low
Reduce dependency on others
Cohesion
High
How much the components work together
SOLID (SOD)
Single Repsonsibiltiy Principle
Each class should have one axis of change
Open Closed Principle
Open for extension
Closed for modification
Dependency Inversion Principle
Use interfaces to invert dependency
Testing
Types of tests
Unit Tests
Integration Tests
System Tests
Funciton Tests
Quality Tests
Acceptance Tests
Installation Tests
Test Coverage
Equivalence Tests
Boundary Tests
Control-flow testing
OO Design
Abstraction
Grouping the common attributes of elements together
Simplifies understanding
Encapsulation
Hiding the objects state
Preserves the objects state
Increases usability
Abstracts the implementation
Software Architecture
Described by
Components
Connectors
Constraints
Styles
Client-Server
Peer-to-Peer
Layered
Central Repository
Blackboard
Passive
Pipe and Filter
Publish-Subscribe
Service Orientated Architecture