Midterm Flashcards
CLASS --- memberVaribles --- \+ \_\_\_\_\_\_ # \_\_\_\_\_\_ - \_\_\_\_\_\_
+ public
# protected
- private
Empty Triangle
Derived from
Empty Diamond
Aggregation - the diamond has the line as a part. The part may be shared with other wholes.
Solid Diamond
Composition - the diamond has the line as a part. Lifetime of part controlled by whole.
Simple line with line arrow
Navigation. Can reach arrow from line.
Open Close Principle
Open for extension, closed for modification. That is, we can extend behavior without modifying existing code.
Single Responsibility Principle
Every module should have responsibility over a single part, and that responsibility should be entirely encapsulated by the class.
Consider: who is likely to ask for changes in the code?
Interface Segregation Principle
Many client specific interfaces are better than one general purpose interface.
Interfaces should belong to clients, not to libraries or hierarchies.
Git: Working Directory
Where code resides, even after saving.
Git: Staging Area
Where you put code before committing. Can pool only some of the many files in your working directory, or all.
Git: Local Repository
Where committed code is stored - code that is tested and believed to be valid.
Git: Shared/Remote Repository
Where code is stored after pushing - code that should be integrated with team’s code for sharing.
Git: Master
Trunk from which all branches derive. Only merged into master in larger chunks (ie a release).
Git: Release
Ready or getting ready to ship to customers.
Git: Develop
Where teams check in tested, working code, but not enough changes or improvement to release.
Git: Features
Where features can be isolated and focused on, thus reducing opportunity for meddling up unrelated code.
Git: Hotfixes
Fix shit quick. Added to development and shipped products.
Git: Origin
Remote, shared repository.
Git: HEAD
Where a branch thinks the next code merge or checkin should occur.
Git: Origin/Master
Remote branch where the source code of HEAD always reflects a production-ready state.
Git: Origin/Develop
Remote branch where the source code of HEAD always reflects a state of latest delivered development changes for the next release.
Where automatic nightly builds are from.
Specification
Defining the system. What should it do? How should it behave? What high-level data does it use? What should it look like (reqs)?
Development
Define organization of system (architecture), implementing and building.
Validation
Does it meet the customer’s needs? Are they motivated to buy the product?
Verification
Does it meet the specifications? Are its fruits accurate?
Evolution
Change to meet customer’s needs.