Unit 2 - Practice Quiz

CSE320

1 Which of the following best describes the fundamental goal of software design?

A. To write the code for the system immediately
B. To transform the requirements model into a representation of the software
C. To test the system for bugs before coding
D. To create a marketing plan for the software

2 In the context of modularity, what does Information Hiding imply?

A. Modules should communicate with as many other modules as possible
B. Internal data and processing logic of a module are hidden from other modules
C. The documentation of the software should be kept secret
D. Global variables should be used to share information

3 Which design principle suggests that a problem should be divided into smaller, manageable sub-problems?

A. Abstraction
B. Decomposition (Modularity)
C. Refactoring
D. Prototyping

4 What is the primary objective regarding Cohesion and Coupling in good software design?

A. Low Cohesion and Low Coupling
B. High Cohesion and High Coupling
C. High Cohesion and Low Coupling
D. Low Cohesion and High Coupling

5 Which of the following is the best type of Cohesion?

A. Logical Cohesion
B. Coincidental Cohesion
C. Functional Cohesion
D. Temporal Cohesion

6 Which of the following is the worst (weakest) type of Cohesion?

A. Coincidental Cohesion
B. Procedural Cohesion
C. Sequential Cohesion
D. Communicational Cohesion

7 A module performs a series of steps where the output of one step serves as the input to the next. What type of cohesion is this?

A. Sequential Cohesion
B. Communicational Cohesion
C. Temporal Cohesion
D. Procedural Cohesion

8 When a module performs a set of tasks that are related by the fact that they must be executed within the same time span (e.g., initialization), it exhibits:

A. Logical Cohesion
B. Temporal Cohesion
C. Procedural Cohesion
D. Coincidental Cohesion

9 What is Coupling a measure of?

A. The functional strength of a module
B. The complexity of the code inside a module
C. The degree of interdependence between modules
D. The size of the software documentation

10 Which type of coupling occurs when one module modifies data that is internal to another module (e.g., branching into the middle of another module)?

A. Data Coupling
B. Control Coupling
C. Content Coupling
D. Stamp Coupling

11 Which is the best (lowest) type of Coupling?

A. Content Coupling
B. Common Coupling
C. Control Coupling
D. Data Coupling

12 If two modules share the same global data area (e.g., global variables in C), they are exhibiting:

A. Stamp Coupling
B. Common Coupling
C. External Coupling
D. Control Coupling

13 What type of coupling exists when a complete data structure is passed from one module to another, but the receiving module only needs a specific field within it?

A. Data Coupling
B. Stamp Coupling
C. Control Coupling
D. External Coupling

14 Control Coupling is characterized by:

A. Passing data structures between modules
B. Sharing global variables
C. One module passing a flag to control the logic of another module
D. One module modifying the code of another module

15 Which of the following is a key design trade-off often faced when trying to maximize modularity?

A. Efficiency vs. Maintainability
B. Cost vs. Documentation
C. Hardware vs. Software
D. User Interface vs. Database

16 In Function-Oriented Design, what is the primary modeling tool?

A. Class Diagrams
B. Data Flow Diagrams (DFD)
C. Entity Relationship Diagrams (ERD)
D. Use Case Diagrams

17 In a Data Flow Diagram (DFD), what does a Circle or Bubble represent?

A. External Entity
B. Data Store
C. Process / Transform
D. Data Flow

18 In DFD notation, what does an Open-ended Rectangle (or parallel lines) typically represent?

A. A Process
B. A Data Store
C. An External Entity
D. A Control Signal

19 What is a Context Diagram?

A. A detailed flowchart of the logic
B. A DFD at Level 0 showing the system as a single process interacting with external entities
C. A diagram showing the database schema
D. A chart showing the hierarchy of modules

20 Which of the following is a valid rule for constructing DFDs?

A. Data can flow directly from one external entity to another
B. Data can flow directly from one data store to another
C. All data flows must either originate or terminate at a process
D. Processes do not need unique names

21 A process in a DFD that has inputs but generates no outputs is called a:

A. Miracle
B. Black Hole
C. Source
D. Sink

22 What does DFD Leveling refer to?

A. Making sure all bubbles are the same size
B. Decomposing high-level processes into more detailed lower-level DFDs
C. Aligning the diagram horizontally
D. Removing data stores from the diagram

23 What is the concept of Balancing in DFDs?

A. Ensuring inputs and outputs of a parent process match the inputs and outputs of the child diagram
B. Ensuring there are equal numbers of processes and data stores
C. Drawing the DFD symmetrically
D. Ensuring equal data flow speed

24 Which symbol represents a Source or Sink (External Entity) in a DFD?

A. Circle
B. Arrow
C. Rectangle / Square
D. Open Rectangle

25 A Structure Chart is primarily used to depict:

A. The flow of data through the system over time
B. The hierarchy of modules and their communication interfaces
C. The database relationship structure
D. The user interface layout

26 In a Structure Chart, a rectangular box represents:

A. Data
B. A Module
C. A Condition
D. A Loop

27 In a Structure Chart, what does an arrow with an open circle (or empty circle) at the tail represent?

A. Control Couple (Flag)
B. Data Couple
C. Module Call
D. Recursion

28 In a Structure Chart, an arrow with a filled (solid) circle represents:

A. Data Couple
B. Control Couple
C. Standard Call
D. Library Module

29 What is Fan-in?

A. The number of modules a specific module calls
B. The number of lines of code in a module
C. The number of modules that call a specific module
D. The number of global variables used

30 What does a high Fan-out (greater than 7) usually indicate?

A. The module is very simple
B. The module is likely too complex and controls too many subordinates
C. The system is highly cohesive
D. The module is a leaf node

31 The process of converting a DFD into a Structure Chart typically involves:

A. Transform Analysis and Transaction Analysis
B. Cohesion Analysis
C. Database Normalization
D. User Interface Prototyping

32 In Transform Analysis, the first step is to identify:

A. The Transaction Center
B. The Central Transform (Afferent, Transform, Efferent flows)
C. The Database Schema
D. The Hardware Interface

33 Transaction Analysis is best suited for systems where:

A. Data flows sequentially without branching
B. The input splits into many distinct paths based on a transaction type
C. There is no user interaction
D. The system performs a single calculation

34 In a Structure Chart, a diamond symbol typically denotes:

A. A loop
B. A conditional call (Selection)
C. A data store
D. A library module

35 Which of the following is NOT a characteristic of a good design?

A. Design should exhibit a hierarchy
B. Design should represent a distinct decomposition of data and procedure
C. Design should be dependent on the programming language used
D. Design should lead to modules that exhibit independent functional characteristics

36 What is Factoring in the context of Structure Charts?

A. Combining two modules into one
B. Calculating the cost of the project
C. Breaking a module into smaller sub-modules to distribute control or work
D. Converting code back to design

37 In the context of Module Independence, the equation implies:

A. Independence is directly proportional to Coupling
B. Independence is maximized by maximizing Cohesion and minimizing Coupling
C. Independence is irrelevant to Cohesion
D. High Coupling leads to high Independence

38 Which document is the primary output of the Design Phase?

A. Software Requirements Specification (SRS)
B. Software Design Description (SDD) / Design Document
C. Source Code
D. Test Plan

39 Which of the following is a Design Review technique?

A. Unit Testing
B. Integration Testing
C. Formal Technical Review (FTR)
D. Requirement Elicitation

40 What is the main difference between a Walkthrough and an Inspection?

A. Inspections are informal; Walkthroughs are formal
B. Walkthroughs are author-led; Inspections are moderator-led and strictly formal
C. Walkthroughs involve managers; Inspections do not
D. There is no difference

41 The 'Afferent branch' in a DFD refers to:

A. The output generation section
B. The central processing section
C. The input processing section
D. The error handling section

42 The 'Efferent branch' in a DFD refers to:

A. The input processing section
B. The output generation section
C. The database storage
D. The user interface

43 Which design principle allows the designer to focus on the 'what' without thinking about the 'how' initially?

A. Refinement
B. Abstraction
C. Structural Partitioning
D. Concurrency

44 Cyclomatic Complexity is a metric primarily useful for:

A. Determining the number of inputs
B. Measuring the graphical user interface
C. Measuring the complexity of a module's control flow to determine testability
D. Estimating the cost of hardware

45 In a Structure Chart, a curved arrow looping around a straight arrow indicates:

A. Recursion
B. Iteration (Loop)
C. Data Couple
D. Error handling

46 Procedural Cohesion differs from Temporal Cohesion because:

A. Procedural elements are related by order of execution, Temporal elements are related by timing
B. Procedural is stronger than Functional
C. Temporal requires data passing
D. There is no difference

47 Which of the following is considered a 'Miracle' in DFD rules?

A. A process with inputs but no outputs
B. A process with outputs but no inputs
C. A process with too many inputs
D. A data store connected to an external entity

48 When designing module interfaces, 'narrow' interfaces are preferred over 'broad' interfaces. This relates to minimizing:

A. Cohesion
B. Coupling
C. Fan-in
D. Abstraction

49 A module called 'Calculate Net Pay' which calculates tax, deducts insurance, and prints the paycheck exhibits which type of cohesion if the tasks are just grouped because they relate to 'Pay'?

A. Functional
B. Communicational
C. Logical
D. Coincidental

50 In the context of design documentation, what is the utility of a Data Dictionary?

A. It stores the actual data of the system
B. It acts as a central repository for definitions of all data objects and control items
C. It is used only for database administrators
D. It replaces the DFD