L8 - Interface Specification Flashcards
Roundtrip Engineering
Forward Engineering + Reverse Engineering
Bag
Elements can appear more than once (5/5/7/3)
Object Oriented Contract
describes service of an object in natural language/mathematical notation/Object Constraint Language (OCL)
Invariants
Predicate that is always true for all instances of a class
Precondition
Condition must be true BEFORE operation is invoked.
Access Modifiers
private & public & protected (rule: make always private - information hiding)
OCL
Object Constraint Language. Declarative language with no side effects and no control flow
Reengineering
Changing software system after it has been reverse engineered
Code Smell
Violation of best practices: long method + duplicated code + large class + many parameters + lazy class
Postcondition
Condition must be true AFTER operation is invoked.
Sequence
Elements are ordered (1/3/5/7)
Set
Elements can appear only once (5/1/7/3)