Industrial Engineer Information Processing flashcards
Industrial Engineer Information Processing · Build recall with a focused review session.
32 cards. Read the term and the definition here. The deck at the top of this page is optional.
- Cohesion
- The degree to which the elements inside a single module belong together. Functional cohesion, where all parts contribute to one task, is the strongest; coincidental cohesion is the weakest.
- Coupling
- The degree of interdependence between modules. Design aims for low coupling: data coupling through simple parameters is weakest, while content coupling that reaches into another module's internals is strongest.
- Fan-in and fan-out
- Fan-in is the number of modules that call a given module, indicating reuse. Fan-out is the number of modules it calls, indicating control complexity. High fan-in with moderate fan-out is preferred.
- Aggregation vs composition
- Both are whole-part UML relationships. Aggregation is shared and weak, so the part can exist without the whole. Composition is exclusive and strong, so the part is destroyed with the whole.
- Dependency inversion principle
- High-level modules and low-level modules should both depend on abstractions, and abstractions should not depend on details. This lets implementations change without modifying callers.
- MVC architecture
- A pattern splitting an application into model (data and business rules), view (presentation), and controller (input handling). It separates user interface concerns from domain logic so each can change independently.
- Information hiding
- Parnas's principle that each module should conceal design decisions likely to change behind a stable interface, so that changes inside one module do not propagate to its callers.
- Observer pattern
- A behavioral pattern in which a subject keeps a list of dependents and notifies them automatically when its state changes, decoupling the publisher of events from its subscribers.
- Cyclomatic complexity
- A measure of control-flow complexity: V(G) = edges − nodes + 2, which also equals the number of decision predicates plus one and the number of independent paths needed for testing.
- Boundary value analysis
- A black-box technique that tests values at and just outside the edges of each input range, such as minimum−1, minimum, minimum+1, maximum−1, maximum, and maximum+1, where defects cluster.
- Equivalence partitioning
- A black-box technique that divides inputs into classes expected to behave identically and selects one representative test case per valid and invalid class, reducing redundant cases.
- Stub vs driver
- A stub replaces a called lower-level module during top-down integration. A driver replaces a calling upper-level module during bottom-up integration. Both simulate missing components for testing.
- Regression testing
- Re-running previously passed test cases after a change to confirm that existing functionality still works. It is the main safety net for iterative development and refactoring.
- V-model
- A lifecycle model pairing each development phase with a test level: requirements with acceptance testing, system design with system testing, detailed design with integration testing, and coding with unit testing.
- Perfective maintenance
- Maintenance that improves a working system's performance, maintainability, or functionality rather than fixing defects. It contrasts with corrective, adaptive, and preventive maintenance.
- Third normal form
- A relation is in 3NF when it is in 2NF and has no transitive dependency, meaning no non-key attribute depends on another non-key attribute. It removes redundancy caused by such chains.
- Functional dependency
- A constraint stating that whenever two rows share the same value of attribute set X, they must also share the same value of Y, written X → Y. It drives normalization and key identification.
- ACID properties
- Transaction guarantees: atomicity (all or nothing), consistency (constraints preserved), isolation (concurrent transactions do not interfere), and durability (committed changes survive failure).
- Phantom read
- An anomaly where a transaction re-executes a query and finds new rows inserted by another committed transaction that match its predicate. Only SERIALIZABLE isolation prevents it fully.
- Two-phase locking
- A protocol with a growing phase that acquires locks and a shrinking phase that releases them, with no acquisition after the first release, guaranteeing serializable schedules.
- Leftmost prefix rule
- A composite B-tree index on columns (A, B, C) can serve queries filtering on A, on A and B, or on A, B, and C, but not on B alone, because it is ordered by A first.
- Relational selection and projection
- Selection (sigma) returns the rows of a relation satisfying a predicate. Projection (pi) returns a subset of columns, removing duplicates. They are the basic unary relational algebra operations.
- Incremental vs differential backup
- An incremental backup copies all changes since the last backup of any type and clears the archive bit. A differential backup copies all changes since the last full backup and leaves the bit set.
- RAID 5
- Block-level striping with distributed parity across at least three disks. It survives one disk failure, and usable capacity equals (number of disks − 1) times the smallest disk size.
- Availability formula
- Availability = MTBF / (MTBF + MTTR), where MTBF is mean time between failures and MTTR is mean time to repair. Availability rises when failures are rarer or repairs faster.
- RTO and RPO
- Recovery time objective is the maximum acceptable downtime after a disruption. Recovery point objective is the maximum acceptable data loss, expressed as an amount of time.
- Parallel changeover
- A cutover strategy that runs the old and new systems simultaneously until the new one is proven. It is the safest and most expensive option because operations are duplicated.
- Incident vs problem management
- Incident management restores service quickly, using a workaround if needed. Problem management investigates underlying causes and removes them to prevent recurrence.
- Digital signature
- A hash of a message encrypted with the sender's private key. The receiver verifies it with the sender's public key, providing integrity, authenticity, and non-repudiation but not confidentiality.
- Symmetric vs asymmetric encryption
- Symmetric encryption uses one shared secret key and is fast, suitable for bulk data. Asymmetric encryption uses a public-private key pair and is slow, used for key exchange and signatures.
- RBAC
- Role-based access control assigns permissions to roles rather than to individuals, and users are granted roles. It simplifies administration and supports least privilege and separation of duties.
- SQL injection defense
- SQL injection occurs when untrusted input is concatenated into a query. Parameterized statements or prepared statements with bound parameters prevent input from altering query structure.