Unit 2 - Practice Quiz

CSE320 60 Questions
0 Correct 0 Wrong 60 Left
0/60

1 In software design, what is the primary goal of modularity?

Modularity Easy
A. To use as many global variables as possible.
B. To write the entire software in a single, large file.
C. To ensure the software only runs on one specific operating system.
D. To divide a complex system into smaller, manageable, and independent parts called modules.

2 Which term describes the degree to which the elements inside a single module belong together and are focused on a single task?

Cohesion Easy
A. Coupling
B. Abstraction
C. Cohesion
D. Encapsulation

3 In software design, what does 'coupling' refer to?

Coupling Easy
A. The physical connection of hardware components.
B. The degree of interdependence between different software modules.
C. The strength of connections within a single module.
D. The process of compiling code.

4 Which type of cohesion is considered the most desirable and strongest?

Types of cohesion and coupling Easy
A. Temporal Cohesion
B. Coincidental Cohesion
C. Logical Cohesion
D. Functional Cohesion

5 Which type of coupling is generally considered the worst or most undesirable, where one module modifies the internal data of another?

Types of cohesion and coupling Easy
A. Content Coupling
B. Data Coupling
C. Stamp Coupling
D. Control Coupling

6 A software design is considered to have good module independence if its modules have:

Measuring module independence Easy
A. Low cohesion and high coupling
B. Low cohesion and low coupling
C. High cohesion and high coupling
D. High cohesion and low coupling

7 In a Data Flow Diagram (DFD), what does a circle or a rounded rectangle typically represent?

Function-oriented design: Data Flow Diagrams (DFD) - symbols, notations and leveling Easy
A. A data store
B. A process
C. A data flow
D. An external entity

8 What does an arrow represent in a Data Flow Diagram (DFD)?

Function-oriented design: Data Flow Diagrams (DFD) - symbols, notations and leveling Easy
A. Data flow
B. Control flow
C. A database
D. A user

9 What is a Level 0 DFD also known as?

Context diagrams and decomposition and Rules for constructing DFDs Easy
A. A Context Diagram
B. A Flowchart
C. A Structure Chart
D. A Class Diagram

10 What is the primary purpose of a Structure Chart?

Structure Charts - components and notation Easy
A. To detail the step-by-step logic of an algorithm.
B. To illustrate the module hierarchy and control flow between modules.
C. To describe the database schema.
D. To show the flow of data through a system.

11 The design principle of hiding the implementation details of a module from other parts of the system is known as:

Basic principles of software design Easy
A. Information Hiding
B. Refinement
C. Abstraction
D. Modularity

12 In a DFD, what is represented by two parallel lines or an open-ended rectangle?

Function-oriented design: Data Flow Diagrams (DFD) - symbols, notations and leveling Easy
A. A Process
B. An External Entity
C. A Data Flow
D. A Data Store

13 The process of breaking down a high-level DFD process into a more detailed, lower-level DFD is called:

Context diagrams and decomposition and Rules for constructing DFDs Easy
A. Decomposition or Leveling
B. Aggregation
C. Generalization
D. Compilation

14 A common design trade-off in software engineering involves balancing performance with which other quality attribute?

Design trade-offs Easy
A. Compilation speed
B. Maintainability
C. Programming language choice
D. Number of code files

15 In a Structure Chart, what does a small arrow with an empty circle at its tail represent?

Structure Charts - components and notation Easy
A. A data couple
B. A control couple
C. A module call
D. A conditional call

16 What is the primary purpose of a Software Design Document (SDD)?

Design documentation and design review techniques Easy
A. To provide the complete source code of the application.
B. To list all the bugs found during testing.
C. To describe the system's architecture, components, interfaces, and data for developers.
D. To serve as a user manual for the end-users.

17 Which of the following is a common, informal technique for reviewing a software design document?

Design documentation and design review techniques Easy
A. Beta Testing
B. Unit Testing
C. Design Walkthrough
D. Code Compilation

18 According to the rules of DFD construction, which of the following connections is generally considered illegal?

Context diagrams and decomposition and Rules for constructing DFDs Easy
A. A data flow directly between two external entities.
B. A data flow from a data store to a process.
C. A data flow from a process to a data store.
D. A data flow from an entity to a process.

19 Transform Analysis is a design strategy used to convert a DFD into what?

Module hierarchy and control flow and Transform and transaction analysis Easy
A. A structure chart
B. Source code
C. A flowchart
D. A database schema

20 In a structure chart, what does a diamond symbol at the base of a module call represent?

Structure Charts - components and notation Easy
A. A loop (iteration).
B. A recursive call.
C. A conditional call (selection).
D. A data-only module.

21 A module named ProcessStudentData performs the following tasks in order: 1) It retrieves student records from a data store. 2) It calculates the GPA for each student. 3) It generates a formatted report with the calculated GPAs. The output of each step is the input for the next. Which type of cohesion does this module most accurately exhibit?

Types of cohesion and coupling Medium
A. Temporal Cohesion
B. Sequential Cohesion
C. Communicational Cohesion
D. Functional Cohesion

22 A system design involves multiple modules (Authentication, UserProfile, OrderProcessing) that all read and write to a shared global data structure holding the current user's session information. What is the primary design flaw associated with this approach?

Coupling Medium
A. It exemplifies stamp coupling because a complex data structure is used.
B. It creates high common coupling, making modules interdependent and difficult to maintain.
C. It improves performance by avoiding parameter passing, which is a good trade-off.
D. It increases the logical cohesion of the system as a whole.

23 A DFD for an online ordering system shows a data flow labeled Payment_Details moving directly from the Customer external entity to a Credit_Card_Transactions data store. What fundamental DFD rule does this violate?

Function-oriented design: Data Flow Diagrams (DFD) - symbols, notations and leveling Medium
A. Data stores cannot be duplicated in a DFD.
B. A process must have at least one input and one output data flow.
C. Data cannot flow directly between two data stores.
D. Data cannot flow directly from an external entity to a data store.

24 In a Structure Chart, a diamond symbol is drawn at the base of a superordinate module A, with an arrow pointing from the diamond to a subordinate module B. What does this notation represent?

Structure Charts - components and notation Medium
A. Module A and B are asynchronously coupled.
B. Module A makes a conditional call to module B based on a decision.
C. Module B is a reusable library function called by module A.
D. Module A iteratively calls module B in a loop.

25 A development team decides to implement a microservices architecture for a new e-commerce platform. While this choice enhances scalability and independent deployment, it significantly increases the complexity of network communication, service discovery, and data consistency management. This decision is a classic example of trading off...

Design trade-offs Medium
A. Modularity and scalability for operational simplicity.
B. Development speed for runtime performance.
C. Performance for security.
D. Usability for maintainability.

26 A Level-0 DFD for a University_Registration_System shows two inputs from the Student entity: Course_Selection and Personal_Details, and one output to the Student entity: Registration_Confirmation. When this system is decomposed into a Level-1 DFD, which of the following must be true to maintain balance?

Context diagrams and decomposition and Rules for constructing DFDs Medium
A. The Level-1 DFD must introduce a new external entity, such as Professor.
B. All processes within the Level-1 DFD must connect to a central Student_DB data store.
C. The net sum of all data flows entering and leaving the boundary of the Level-1 DFD must be Course_Selection, Personal_Details, and Registration_Confirmation.
D. The Level-1 DFD must contain exactly three processes, one for each data flow.

27 A system's DFD shows an incoming data stream User_Command that flows into a process called Dispatch_Command. Based on the command type (e.g., 'ADD', 'UPDATE', 'DELETE'), this process activates one of three different downstream data flow paths. Which design strategy is most appropriate for converting this DFD into a structure chart?

Module hierarchy and control flow and Transform and transaction analysis Medium
A. Data Structure-Oriented Design
B. Transaction Analysis
C. Object-Oriented Design
D. Transform Analysis

28 Module independence is a key indicator of a good software design. It is achieved by having...

Measuring module independence Medium
A. High cohesion and high coupling.
B. Low cohesion and high coupling.
C. Low cohesion and low coupling.
D. High cohesion and low coupling.

29 Module A calls Module B and passes it a reference to a large Employee object. Module B only uses the employee_ID field from the object to perform a database lookup. This is a classic example of which type of coupling?

Types of cohesion and coupling Medium
A. Control Coupling
B. Data Coupling
C. Stamp Coupling
D. Content Coupling

30 During a design review meeting, the author of the design document leads a group of peers through the document, explaining the logic and flow, while the peers ask questions and look for errors and ambiguities. The atmosphere is collaborative and focused on improving the design, not on formally approving it. Which technique does this best describe?

Design documentation and design review techniques Medium
A. A management review
B. A formal inspection
C. An audit
D. A design walkthrough

31 A software company is developing a large ERP system. By designing the system as a set of modules (e.g., HR, Finance, Inventory), different teams can work on different modules simultaneously. Which key advantage of modularity does this practice directly leverage?

Modularity Medium
A. Improved algorithmic efficiency
B. Parallel development
C. Reduced runtime complexity
D. Guaranteed information hiding

32 A utility module contains several functions: one to initialize the system log, one to close database connections, and one to write shutdown metrics. These functions are grouped together because they all need to be executed at system shutdown. This module exhibits which type of cohesion?

Types of cohesion and coupling Medium
A. Sequential Cohesion
B. Functional Cohesion
C. Logical Cohesion
D. Temporal Cohesion

33 In the context of transform analysis, the part of the DFD that handles incoming data, validates it, and converts it into a format suitable for the main processing is known as the...

Module hierarchy and control flow and Transform and transaction analysis Medium
A. Efferent stream
B. Central transform
C. Afferent stream
D. Transaction center

34 A DFD shows a process Generate_Report with no data inflows, but it has one data outflow called Final_Report going to an external entity. What is the common name for this error in DFD modeling?

Rules for constructing DFDs Medium
A. Spontaneous Generation
B. Miracle
C. Data Sink
D. Black Hole

35 A designer chooses to create a generic, highly configurable DataParser module that can handle XML, JSON, and CSV formats. This makes the module very reusable. However, the internal logic of the module is now extremely complex due to the need to handle all formats. This decision prioritizes...

Design trade-offs Medium
A. Reusability over simplicity and maintainability.
B. Simplicity over functionality.
C. Security over performance.
D. Performance over reusability.

36 Which software design principle advocates for separating the user interface from the application logic, ensuring that changes to the UI will have minimal impact on the underlying business rules and data processing?

Basic principles of software design Medium
A. Separation of Concerns (SoC)
B. Principle of Least Astonishment (POLA)
C. Information Hiding
D. Don't Repeat Yourself (DRY)

37 Module X calls module Y. Based on a result from Y, module X then decides whether to call module Z or module W. How does this control logic affect the coupling between modules X, Y, Z, and W?

Types of cohesion and coupling Medium
A. It creates control coupling between X and Y.
B. It is an example of data coupling, as Y returns data to X.
C. It creates content coupling between X and the other modules.
D. It creates control coupling between X and modules Z and W.

38 Which of the following elements is most characteristic of a detailed design document rather than an architectural design document?

Design documentation and design review techniques Medium
A. A breakdown of the system into its major components or subsystems.
B. The data structures and algorithms to be used within a specific module.
C. The choice of architectural pattern, such as layered or client-server.
D. The protocols for communication between major subsystems.

39 Which of the following lists represents the general hierarchy of cohesion types, from most desirable (strongest) to least desirable (weakest)?

Cohesion Medium
A. Functional, Communicational, Sequential, Logical, Temporal, Coincidental
B. Coincidental, Logical, Temporal, Communicational, Sequential, Functional
C. Sequential, Functional, Communicational, Temporal, Coincidental, Logical
D. Functional, Sequential, Communicational, Temporal, Logical, Coincidental

40 In a structure chart, an arrow with an open circle at its tail is shown going from subordinate module B up to superordinate module A. What does this notation signify?

Structure Charts - components and notation Medium
A. Module B is a data source.
B. Module B returns a data parameter to Module A.
C. The invocation of Module B by Module A is optional.
D. Module A passes a control flag to Module B.

41 A development team is designing a ReportGenerator module. To achieve high cohesion, they place all functions related to report creation (e.g., generateHeader, generateBody, fetchData, formatData, saveToFile) into this single module. However, fetchData and formatData are also needed by a separate DataAnalytics module. To avoid code duplication, the DataAnalytics module now calls these two functions within the ReportGenerator module. What is the most significant design trade-off that has occurred?

Design trade-offs Hard
A. Logical cohesion in ReportGenerator has been unintentionally created, weakening its initial design.
B. A shift from Stamp to Content coupling has occurred between the two modules.
C. The pursuit of high cohesion within ReportGenerator has led to undesirable Control coupling with DataAnalytics.
D. The effort to achieve high cohesion and avoid duplication has introduced high functional coupling (specifically, Stamp or Data coupling) for functions that could have been in a separate utility module.

42 Consider a design metric for module instability, , defined as , where (efferent coupling) is the number of modules this module depends on (fan-out), and (afferent coupling) is the number of modules that depend on it (fan-in). A module is considered stable if is close to 0 and unstable if close to 1. In a layered architecture, which scenario represents the most severe design flaw?

Measuring module independence Hard
A. A module in the UI layer has .
B. A core domain logic module has .
C. A core domain logic module has .
D. A database utility module has .

43 A module ProcessOrder is defined with the following sequential operations: 1. It receives a complex CustomerOrder object. 2. It calls validateOrder(CustomerOrder) which uses only the orderID and items fields. 3. It then calls checkInventory(CustomerOrder) which uses only the items field. 4. It then accesses a global SystemConfig object to get the taxRate. 5. Finally, it calculates the total and updates a FinancialLedger object, which is also a global variable. Which pair of coupling and cohesion types represents the most significant design problem in this module?

Types of cohesion and coupling Hard
A. Data Coupling and Sequential Cohesion
B. Common Coupling and Communicational Cohesion
C. Common Coupling and Temporal Cohesion
D. Stamp Coupling and Procedural Cohesion

44 You are given a DFD for a command processing system. The central part of the DFD shows a single process, Parse Command, which receives a User Command data flow. Based on the command type (e.g., 'add', 'delete', 'query'), Parse Command routes a formatted request to one of three separate downstream processes: Add Record, Delete Record, or Query Database. This entire segment is identified as a transaction center. However, the Query Database process itself is complex: it receives the formatted query, transforms it into an SQL query, executes it, receives raw results, formats the results into a report, and outputs the report. How should a structure chart for this system be designed?

Transform and transaction analysis Hard
A. A single, large transaction-driven structure with the main controller calling Parse Command, which then directly calls the sub-functions for add, delete, and query.
B. A hybrid structure: The top level is a transaction-driven hierarchy with a dispatcher module for commands, but the branch for the 'query' command becomes the root of a transform-driven sub-hierarchy.
C. Two separate structure charts: one for the transaction processing of add/delete, and another for the transform flow of the query functionality.
D. A purely transform-driven structure, where User Command is the afferent flow and the final report is the efferent flow, ignoring the transaction-like nature.

45 A Level 1 DFD for a system contains Process 1.0, Process 2.0, an external entity 'User', and a data store 'Inventory'. A data flow 'Item Details' goes from 'Inventory' to Process 1.0. Another data flow, 'Updated Stock Count', goes from Process 2.0 to 'Inventory'. The decomposition of Process 1.0 into a Level 2 DFD shows two sub-processes, 1.1 and 1.2. In this Level 2 DFD, a new data flow 'Low Stock Alert' is shown going from Process 1.1 to the 'User' external entity. Based on DFD leveling rules, what is the primary error?

Rules for constructing DFDs Hard
A. The 'Inventory' data store should not be visible at both Level 1 and Level 2.
B. The data flow 'Low Stock Alert' violates the principle of balancing, as it appears at Level 2 without a corresponding parent flow at Level 1.
C. A process ('Low Stock Alert' source) cannot directly communicate with an external entity in a leveled DFD.
D. Process 1.1 cannot create a new data flow; all flows must originate from its parent, Process 1.0.

46 A team is developing a safety-critical avionics system. The design is complex and has zero tolerance for ambiguity or error. The design document is dense, formal, and over 500 pages long. The review team consists of domain experts who are geographically distributed. Which design review technique is most appropriate and why?

Design documentation and design review techniques Hard
A. An ad-hoc review, where experts review the document on their own time to maximize efficiency and accommodate different time zones.
B. A formal design inspection, because its structured process with defined roles (Moderator, Reader, Scribe) and phases (Preparation, Meeting, Follow-up) is essential for rigorous, evidence-based defect detection in a critical system.
C. Pair designing, where two engineers review and modify the design together in real-time, as this is the quickest way to find deep logical errors.
D. A design walkthrough, because its informal nature encourages collaborative problem-solving and brainstorming among the distributed experts.

47 A structure chart shows that a high-level module A calls module B. A passes a flag named computation_mode to B. Inside B, an if statement checks this flag and executes one of two completely different algorithms, both of which calculate a result and return it to A. Which statement provides the most accurate and critical analysis of this design?

Module hierarchy and control flow Hard
A. The design is flawed due to Pathological Coupling, as A is directly modifying the execution path within B.
B. This represents excellent design, as module B is highly cohesive (Functional Cohesion) by performing a single, well-defined conceptual task: 'compute result'.
C. This design exhibits high Control Coupling, which is problematic because module A must know about the internal logic of module B, and B has low, Logical Cohesion.
D. This is an example of Stamp Coupling because a control flag is part of a larger data structure passed from A to B.

48 A module named ProcessStudentData contains the following functions in order: readStudentInfo(), validateStudentInfo(), calculateGPA(), and generateTranscript(). The output of readStudentInfo() (student record) is the input to validateStudentInfo(). The validated student record is then used by calculateGPA(), and the output of calculateGPA() (the GPA value) is added to the student record which is then used by generateTranscript(). What is the highest level of cohesion this module exhibits?

Cohesion Hard
A. Sequential Cohesion
B. Functional Cohesion
C. Procedural Cohesion
D. Communicational Cohesion

49 Module A updates a status record in a shared database. Module B, which runs periodically, reads this status record. If the status is 'Complete', Module B triggers a cleanup process. This interaction is mediated entirely through the database record; the modules do not call each other directly. What is the most precise classification of the coupling between A and B?

Coupling Hard
A. This is a combination of Common Coupling (due to the shared database) and Control Coupling (as the status value directs B's logic).
B. This is Stamp Coupling because the entire status record is read, even if only one field is used to make the decision.
C. This is Content Coupling because B's logic depends on data written by A.
D. This is Data Coupling because they only communicate through data.

50 A Level 0 (Context) DFD shows one process, 'System', and two external entities, 'Manager' and 'Employee'. The diagram shows a data flow 'Timesheet Data' from 'Employee' to 'System' and a data flow 'Payroll Report' from 'System' to 'Manager'. The Level 1 DFD, which decomposes 'System', shows three processes. It correctly shows 'Timesheet Data' entering the diagram boundary and 'Payroll Report' exiting. However, inside the Level 1 diagram, there is also a data flow named 'Error Log' that goes from a process to a new data store 'System Errors', which was not shown on the context diagram. Analyze this situation.

Context diagrams and decomposition and Rules for constructing DFDs Hard
A. The Level 1 DFD is correct, but only if the 'System Errors' data store is also shown on the context diagram, interacting with the 'System' process.
B. The Level 1 DFD is incorrect because the 'Error Log' flow violates balancing, as it does not cross the parent process boundary.
C. The Level 1 DFD is incorrect because a data store cannot be introduced at this level; it must be shown at the context level.
D. The Level 1 DFD is correct. Data stores that are internal to the system are not shown on the context diagram and can be introduced at any level of decomposition.

51 A developer writes the following line of code in a method within the UIController class: customer.getAccount().getProfile().setPrimaryEmail(newEmail). This code directly chains multiple method calls to navigate through objects and finally modify a state. This is a direct violation of which design principle, and what is its primary negative consequence?

Modularity Hard
A. The Open-Closed Principle; its consequence is that adding new profile fields requires modifying the controller.
B. The Single Responsibility Principle; its consequence is low cohesion in the UIController.
C. The Law of Demeter (Principle of Least Knowledge); its consequence is high coupling between the UIController and the internal structure of the Account and Profile classes.
D. The Liskov Substitution Principle; its consequence is that subtypes of Account might behave unexpectedly.

52 During transform analysis, the process of 'first-level factoring' in creating a structure chart from a DFD involves what specific steps?

Transform and transaction analysis Hard
A. Identifying the central transform and creating a main module, then subordinate input, transform, and output modules that directly mirror the DFD processes.
B. Decomposing the DFD into Level 2, then creating a structure chart module for each Level 2 process.
C. Creating a main coordinating module, and then creating one subordinate module for each data flow on the DFD, representing data transformation.
D. Identifying all external entities and creating corresponding controller modules in the structure chart.

53 Module A is a generic XMLParser utility. 25 other modules in the system use it. The XMLParser itself depends on one system library for file I/O. Module B is a BillingReportGenerator. It is used by only one module (the AdminUI). The BillingReportGenerator depends on 8 other modules (DBConnector, CustomerModel, InvoiceCalculator, PDFWriter, etc.). Using the instability metric (), which module is considered more 'responsible' and stable within the architecture?

Measuring module independence Hard
A. Module B, because its instability is high, indicating it is a volatile component.
B. Neither, as both have a Fan-out greater than 0, making them inherently unstable.
C. Module B, because its low Fan-in (1) means changes to it will have a small ripple effect across the system.
D. Module A, because its instability is very low, indicating it is a stable component that many others rely upon.

54 Module M1 calls Module M2, passing it a large Employee object. M2 only reads the employeeID and startDate fields to calculate the employee's tenure. This is a classic example of Stamp Coupling. Which refactoring strategy provides the most significant improvement in module independence?

Types of cohesion and coupling Hard
A. Create a global CurrentEmployee object that M1 sets and M2 reads. This changes the coupling from Stamp to Common.
B. Move the tenure calculation logic from M2 directly into the Employee class itself. M1 would then call employee.calculateTenure(). This eliminates the coupling to M2 entirely.
C. Change M1 to pass only the employeeID and startDate as separate parameters to M2. This changes the coupling from Stamp to Data.
D. Modify M2 to accept the entire Employee object but internally create a copy to avoid side effects, changing the coupling to Data Coupling.

55 On a structure chart, a small diamond symbol is drawn at the point where several lines from a superior module converge on a single subordinate module. What does this notation, known as a 'conditional call' or 'decision symbol', represent in the control flow?

Structure Charts - components and notation Hard
A. The subordinate module returns a value that is a condition used by the superior module for its own logic.
B. The subordinate module will be called repeatedly in a loop until a condition is met.
C. The subordinate module can be called concurrently by multiple threads spawned by the superior module.
D. The superior module will call the subordinate module, but only if a specific condition is true.

56 A team is building a data processing framework. The lead architect insists on using a complex plugin architecture with abstract base classes and dependency injection, allowing new data formats to be added in the future without modifying the core framework code. A junior developer argues that they only need to support CSV files for the foreseeable future and that this architecture is a case of 'over-engineering'. This conflict highlights the tension between which two design principles?

Basic principles of software design Hard
A. Liskov Substitution Principle (LSP) vs. Information Hiding
B. Single Responsibility Principle (SRP) vs. Interface Segregation Principle (ISP)
C. Open-Closed Principle (OCP) vs. You Ain't Gonna Need It (YAGNI)
D. Dependency Inversion Principle (DIP) vs. Law of Demeter (LoD)

57 During a formal design inspection meeting for a critical module, the Author continuously refutes every logged defect with lengthy justifications. The Scribe, being junior, is intimidated and only records defects that the Author agrees are valid. The Moderator notices this dysfunctional dynamic. What is the Moderator's most critical and immediate responsibility according to the formal inspection process?

Design documentation and design review techniques Hard
A. To halt the meeting, speak with the Author and Scribe privately to remind them of their roles (objective defect finding, not resolution), and restart only if the process can be followed correctly.
B. To overrule the Author and instruct the Scribe to log every potential issue raised by the reviewers.
C. To side with the Author if their justifications seem technically sound to save time.
D. To take over the Scribe's role personally to ensure every point is captured accurately.

58 A Level 1 DFD shows a data store D1 with a data flow F1 going from D1 to process P1. The decomposition of P1 into a Level 2 DFD shows sub-process P1.1 and P1.2. Inside this Level 2 diagram, a flow F2 is shown originating from sub-process P1.2 and going to the data store D1. What can be concluded about the validity of this DFD design?

Function-oriented design: DFD - symbols, notations and leveling Hard
A. The design is invalid. The write operation (F2) from a sub-process (P1.2) to D1 violates balancing because there is no corresponding output flow from the parent process P1 to D1 at Level 1.
B. The design is valid; this simply means that process P1 as a whole reads from and writes to the data store D1, which should be reflected by adding an output flow from P1 to D1 at Level 1.
C. The design is invalid because a data store cannot be both a source and a destination for flows related to a single parent process.
D. The design is valid because data flows between internal processes and data stores do not need to be balanced across levels.

59 A module named SystemMonitor performs three actions: it runs a self-check diagnostic at system startup, it logs runtime errors to a file whenever they occur, and it archives log files during system shutdown. The elements are grouped in this module because they all relate to system lifecycle events. What is the highest level of cohesion exhibited by this module?

Cohesion Hard
A. Temporal Cohesion
B. Communicational Cohesion
C. Logical Cohesion
D. Procedural Cohesion

60 In a high-frequency trading application, performance is the absolute highest priority. To minimize latency, a designer makes a conscious decision for the MarketDataProcessor module to directly access and modify a data structure inside the OrderExecution module's memory space, bypassing any function call interfaces. This is a clear instance of Content Coupling. What is the most sophisticated justification for this extreme design choice?

Coupling / Design trade-offs Hard
A. This is an acceptable design pattern for real-time systems and does not negatively impact software quality.
B. The designer is prioritizing high cohesion within the MarketDataProcessor over low coupling.
C. The designer is using a shared memory approach, which is classified as Common Coupling, not Content Coupling.
D. This design decision represents a trade-off where a critical non-functional requirement (performance) is prioritized over software quality attributes like maintainability and modularity.