Software DevelopmentDevelopment Process | Design Principles | Design Patterns | Requirement Analysis |
Design QualityQuality Models | Design Quality Metrics | Design Quality Characteristics | O-O Metrics : C&K and MOOD |
McCall's Triangle of Quality
Quality CharacteristicsModularity | Cohesion | Coupling | Understandability | Sufficiency | Robustness | Flexibility | Reusability | Efficiency | Reliability |
| | ArchitecturesSoftware components | Key Factors | Architectural styles |
Quality AttributesCorrectness | Maintainabilty | Usability |
Program RepresentationAST | CFG | Data Dependency Graph | Optimisations |
Software EvolutionEvolution vs Maintenance | Laws of Software Evolution | Staged Model of Evolution | Legacy Software Evolution | Wraping, Migration |
Architectural StylesLayered | MVC | Pipe-and-Filter | Client-Server | Peer-to-peer | Service-Oriented | Publish-Subscribe | Edge-dominant | 3-Tier / Multi-tier | Implicit Invocation |
| | Design PatternsInput Control Patterns | Front Controller, Page Controller | Request encapsulation and execution pattern | Command pattern, Application controller, Command processor | Output Control Patterns | Template View, Transform View | Access Control Patterns | Firewall proxy, Authorization | Messaging Patterns | Channel, Endpoint, Translator, Router, scatter-gather, aggregator, splitter | Object Interaction Patterns | Observer, Mediator, Facade, Memento, Data Transfer Object, Double dispatch |
Design PrinciplesInformation Hiding | Separation of Concerns | Open Close Principle | Interface Segregation Principle | Program to Interface | Dependency Inversion | Object composition over inheritance |
|
Created By
Metadata
Comments
No comments yet. Add yours below!
Add a Comment
Related Cheat Sheets