Bonus Cards (Vocab & Deeper Learning) Flashcards
Pro/Con: Using ‘Enumeration’ in a model.
Pros:
+ No user or programmer typos (strings are hard to catch by the compiler, types are not)
+ Good when you have automated deployment (no serious development team required for updates)
+ Simpler than an associated class
+ Can also represent constant values and have operations
Cons:
- No flexibility for users creating options
- Bad when you do not have easy access to your developers (recompilations)
Pro/Con: Using ‘Associated Classes’ in a model.
Pros: \+ Users can create new options \+ Allows pre-registered options \+ Allows permission control to manage the options \+ Can aggregate related attributes
Cons:
- One more class in the system
(more UI, tests, files, code, artifacts, database table, etc.)
Pro/Con: Using ‘Inheritance Classes’ in a model.
Pros:
+ Implementation of option-specific operations
Cons:
- No flexibility for creating options
- Difficulty in changing the chosen option
Pro/Con: Using ‘Associated Inheritance Classes’ in a model.
Pros:
+ Implementation of option-specific operations
+ Users can change the chosen option
Cons:
- No flexibility for creating options
- More classes
What is ‘Data Aggregation’?
Any process in which information is gathered and expressed in a summary form, for purposes such as statistical analysis.
In a data warehouse, the use of aggregate data dramatically reduces the time to query large sets of data.
What does a ‘Use-Case Diagram’ consist of?
“Don’t describe implementation details or design decisions.”
Good use case diagrams:
+ The system registers the product.
+ The system stores the product data
+ The user selects the form of payment
DO NOT write overly-descriptive things like:
- The system writes the product data to the database
- The system executes an INSERT in the Product table
- The user clicks on the button corresponding to the form of payment
What does a ‘Use-Case Description’ consist of?
Use Case: [the name of the use case]
Actor: [the owner of the use case]
(optional) Triggers: [what triggered the use case]
Description: [of the use case]
Preconditions: [preliminary conditions for the use case]
Post-conditions: [aftermath of use case]
Main Flow: [labeled 1., 2., 3., etc…]
Alternative Flow: [labels follow the main flow labels, i.e *a., 2a., 3a., 3b., etc…]
(optional) Extensions: [operations that may be used (correlating to main flow labels)]