1Which of the following best describes the primary goal of Software Design?
A.To define what the system should do
B.To define how the system will perform its functions
C.To test the system for bugs
D.To gather requirements from the client
Correct Answer: To define how the system will perform its functions
Explanation:Software Design transforms the analysis model (what) into a design model (how), specifying the data structure, architecture, interface, and procedural details.
Incorrect! Try again.
2In the context of software design principles, what does 'Abstraction' refer to?
A.Hiding the implementation details and showing only functionality
B.Breaking a problem into smaller sub-problems
C.Combining multiple modules into one
D.The dependency between two modules
Correct Answer: Hiding the implementation details and showing only functionality
Explanation:Abstraction allows designers to focus on the essential features of a system while suppressing the low-level implementation details.
Incorrect! Try again.
3Which design principle suggests that a module should hide its internal data and processing details from other modules?
A.Polymorphism
B.Information Hiding
C.Coupling
D.Structured Programming
Correct Answer: Information Hiding
Explanation:Information hiding ensures that modules only communicate through defined interfaces, preventing external access to internal data structures.
Incorrect! Try again.
4What is the desired relationship between Cohesion and Coupling in a good software design?
A.Low Cohesion, High Coupling
B.High Cohesion, High Coupling
C.Low Cohesion, Low Coupling
D.High Cohesion, Low Coupling
Correct Answer: High Cohesion, Low Coupling
Explanation:A good design aims for High Cohesion (functional strength within a module) and Low Coupling (minimal interdependence between modules) to ensure maintainability.
Incorrect! Try again.
5Cohesion is a measure of:
A.The relative functional strength of a module
B.The interdependence between modules
C.The number of errors in a module
D.The speed of module execution
Correct Answer: The relative functional strength of a module
Explanation:Cohesion measures how closely the elements within a single module are related to one another.
Incorrect! Try again.
6Which is the worst (lowest) type of cohesion?
A.Functional Cohesion
B.Logical Cohesion
C.Coincidental Cohesion
D.Sequential Cohesion
Correct Answer: Coincidental Cohesion
Explanation:Coincidental cohesion occurs when parts of a module are grouped arbitrarily with no significant relationship, making it the weakest form.
Incorrect! Try again.
7Which is the best (highest) type of cohesion?
A.Communicational Cohesion
B.Functional Cohesion
C.Temporal Cohesion
D.Procedural Cohesion
Correct Answer: Functional Cohesion
Explanation:Functional cohesion is the ideal state where a module performs exactly one well-defined task.
Incorrect! Try again.
8If a module performs a set of tasks that are related by time (e.g., initialization routines), what type of cohesion does it exhibit?
A.Logical Cohesion
B.Temporal Cohesion
C.Procedural Cohesion
D.Sequential Cohesion
Correct Answer: Temporal Cohesion
Explanation:Temporal cohesion exists when a module contains tasks that must be executed within the same time span, typically during startup or shutdown.
Incorrect! Try again.
9A module has Communicational Cohesion if:
A.Its elements operate on the same input or produce the same output
B.The output of one element serves as the input to the next
C.The elements are logically categorized together
D.The elements perform a series of steps in a specific sequence
Correct Answer: Its elements operate on the same input or produce the same output
Explanation:Communicational cohesion occurs when elements are grouped because they use the same data structure or I/O devices.
Incorrect! Try again.
10Coupling is a measure of:
A.The internal strength of a module
B.The degree of interdependence between modules
C.The complexity of the code algorithms
D.The size of the data structures
Correct Answer: The degree of interdependence between modules
Explanation:Coupling indicates how closely connected two modules are; lower coupling means modules are more independent.
Incorrect! Try again.
11Which is the worst (tightest) form of coupling?
A.Data Coupling
B.Control Coupling
C.Content Coupling
D.Stamp Coupling
Correct Answer: Content Coupling
Explanation:Content coupling is the worst because one module directly modifies or refers to the internal data or code of another module.
Incorrect! Try again.
12Which is the best (loosest) form of coupling?
A.Data Coupling
B.Common Coupling
C.Control Coupling
D.External Coupling
Correct Answer: Data Coupling
Explanation:Data coupling is the ideal form where modules communicate by passing only necessary atomic data items via parameters.
Incorrect! Try again.
13Two modules are Common Coupled if:
A.They share the same global data area
B.One passes a flag to control the logic of the other
C.They pass a composite data structure but use only part of it
D.One refers to the inside of the other
Correct Answer: They share the same global data area
Explanation:Common coupling occurs when multiple modules have read/write access to the same global variables or global memory area.
Incorrect! Try again.
14What type of coupling exists when one module passes a flag to another module to control its execution logic?
A.Stamp Coupling
B.Control Coupling
C.Data Coupling
D.External Coupling
Correct Answer: Control Coupling
Explanation:Control coupling occurs when one module directs the flow of execution in another, often by passing flags or switches.
Incorrect! Try again.
15Stamp Coupling differs from Data Coupling because:
A.Stamp coupling involves passing global variables
B.Stamp coupling involves passing a complete data structure, but the receiver may not use all of it
C.Stamp coupling involves direct memory access
D.Stamp coupling is looser than Data Coupling
Correct Answer: Stamp coupling involves passing a complete data structure, but the receiver may not use all of it
Explanation:In Stamp coupling, composite data structures (like a record or object) are passed, creating a dependency on the data structure definition.
Incorrect! Try again.
16Which metric calculates the number of modules that call a specific module?
A.Fan-out
B.Fan-in
C.Cyclomatic Complexity
D.Information Flow
Correct Answer: Fan-in
Explanation:Fan-in is a measure of the number of modules that call (flow control into) a given module. High fan-in typically indicates high reusability.
Incorrect! Try again.
17What does a high Fan-out () typically indicate in a design?
A.High reusability
B.The module is a utility function
C.High complexity and potential excessive delegation
D.Good modularity
Correct Answer: High complexity and potential excessive delegation
Explanation:Fan-out is the number of modules called by a specific module. High fan-out suggests the module is doing too much management/coordination, often called 'pancaking'.
Incorrect! Try again.
18In Function-Oriented Design, what is the primary modeling tool used?
A.Use Case Diagrams
B.Data Flow Diagrams (DFD)
C.Sequence Diagrams
D.Entity Relationship Diagrams (ERD)
Correct Answer: Data Flow Diagrams (DFD)
Explanation:Function-oriented design focuses on the functional processing of data, primarily modeled using Data Flow Diagrams.
Incorrect! Try again.
19In a DFD, what does a Circle or Rounded Rectangle represent?
A.Data Store
B.External Entity
C.Process / Transform
D.Data Flow
Correct Answer: Process / Transform
Explanation:A circle (Yourdon/DeMarco notation) or rounded rectangle (Gane/Sarson notation) represents a process that transforms incoming data into outgoing data.
Incorrect! Try again.
20What symbol is used to represent an External Entity (Source/Sink) in a DFD?
A.Circle
B.Open-ended Rectangle
C.Square or Rectangle
D.Arrow
Correct Answer: Square or Rectangle
Explanation:External entities (sources or sinks of data outside the system boundary) are represented by squares or rectangles.
Incorrect! Try again.
21In a DFD, two parallel lines or an open-ended rectangle represent:
A.A Process
B.A Data Store
C.A Control Flow
D.An Interface
Correct Answer: A Data Store
Explanation:Data stores (files, databases, repositories) are depicted as parallel lines (Yourdon) or open-ended rectangles (Gane & Sarson).
Incorrect! Try again.
22A Context Diagram is also known as:
A.Level 0 DFD
B.Level 1 DFD
C.Level 2 DFD
D.Structure Chart
Correct Answer: Level 0 DFD
Explanation:The Context Diagram is the highest level (Level 0) DFD, representing the entire system as a single process interacting with external entities.
Incorrect! Try again.
23Which 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 a data store to another data store
C.Data can flow directly from an external entity to a data store
D.All data flows must originate or terminate at a process
Correct Answer: All data flows must originate or terminate at a process
Explanation:Data cannot move between entities or stores without being processed. At least one end of a data flow arrow must be a process.
Incorrect! Try again.
24The process of decomposing a high-level DFD into more detailed lower-level DFDs is called:
A.Balancing
B.Leveling
C.Coupling
D.Structuring
Correct Answer: Leveling
Explanation:Leveling involves breaking down a process into sub-processes to show more detail, moving from Level 0 to Level 1, etc.
Incorrect! Try again.
25What does DFD Balancing ensure?
A.That the system has equal number of inputs and outputs
B.That input and output data flows at a parent level match those at the child level
C.That every process has a name
D.That the diagram fits on one page
Correct Answer: That input and output data flows at a parent level match those at the child level
Explanation:Balancing ensures consistency in data flows between a parent process and its decomposed child diagram.
Incorrect! Try again.
26In a Structure Chart, a rectangular box represents a:
A.Data Flow
B.Decision
C.Module
D.Loop
Correct Answer: Module
Explanation:Structure Charts represent the software architecture, where each rectangular box represents a specific module or function.
Incorrect! Try again.
27In a Structure Chart, an arrow with a filled circle at the tail represents:
A.Data Couple
B.Control Couple (Flag)
C.Module Call
D.Data Store
Correct Answer: Control Couple (Flag)
Explanation:A filled circle indicates a Control Couple (passing control information like a flag), whereas an open circle indicates a Data Couple.
Incorrect! Try again.
28In a Structure Chart, an arrow with an open (empty) circle at the tail represents:
A.Data Couple
B.Control Couple
C.Recursion
D.Exception
Correct Answer: Data Couple
Explanation:An open circle on the arrow indicates data being passed between modules (Data Couple).
Incorrect! Try again.
29Transform Analysis is a design strategy used to convert a __ into a Structure Chart.
A.ER Diagram
B.Data Flow Diagram (DFD)
C.Use Case
D.State Chart
Correct Answer: Data Flow Diagram (DFD)
Explanation:Transform Analysis is a technique to map a DFD (specifically one with distinct input, process, and output flows) into a hierarchical structure chart.
Incorrect! Try again.
30In Transform Analysis, the central part of the DFD where the primary work is done is called the:
A.Afferent Branch
B.Efferent Branch
C.Central Transform
D.Transaction Center
Correct Answer: Central Transform
Explanation:The Central Transform is the portion of the DFD that performs the main logical processing, independent of physical I/O.
Incorrect! Try again.
31Input branches in a Structure Chart derived via Transform Analysis are often called:
A.Efferent branches
B.Afferent branches
C.Transaction branches
D.Recursive branches
Correct Answer: Afferent branches
Explanation:Afferent branches are responsible for receiving input and passing it up to the central transform (Input flow).
Incorrect! Try again.
32Transaction Analysis is applied when the DFD contains:
A.A sequential flow of data
B.A distinct dispatcher that triggers different paths based on input type
C.Only one process
D.No external entities
Correct Answer: A distinct dispatcher that triggers different paths based on input type
Explanation:Transaction Analysis is used when a single input (transaction) triggers one of several distinct processing paths (actions).
Incorrect! Try again.
33Which of the following is NOT a component of a standard Structure Chart?
A.Module
B.Library Module
C.Data Flow (Couple)
D.Diamond for decision logic (Condition)
Correct Answer: Diamond for decision logic (Condition)
Explanation:Standard Structure Charts show hierarchy and data passing. While some extended notations exist, diamonds (decisions) are typically found in Flowcharts, not standard Structure Charts. Conditionality is usually implied by the hierarchy or specific annotations.
Incorrect! Try again.
34The 'Span of Control' in a modular design refers to:
A.The number of lines of code in a module
B.The number of immediate subordinates a module controls (Fan-out)
C.The depth of the module hierarchy
D.The number of global variables used
Correct Answer: The number of immediate subordinates a module controls (Fan-out)
Explanation:Span of control is synonymous with Fan-out: how many modules a specific module directly calls.
Incorrect! Try again.
35When designing for Module Independence, what is the primary objective?
Explanation:This is the golden rule of software design to ensure modules are self-contained and easy to maintain.
Incorrect! Try again.
36Which design documentation standard is widely used for specifying software design (SDD)?
A.IEEE 830
B.IEEE 1016
C.ISO 9001
D.IEEE 1058
Correct Answer: IEEE 1016
Explanation:IEEE 1016 is the Recommended Practice for Software Design Descriptions (SDD).
Incorrect! Try again.
37A Design Walkthrough is characterized as:
A.A formal evaluation led by a moderator
B.An informal meeting led by the author to explain the design
C.A computer-assisted simulation
D.A managerial review of the budget
Correct Answer: An informal meeting led by the author to explain the design
Explanation:Walkthroughs are generally peer-level, informal reviews where the author guides colleagues through the design document or code.
Incorrect! Try again.
38What is the primary role of a Fagan Inspection in design review?
A.To train new employees
B.To formally find defects using a strict process with defined roles
C.To discuss future feature requests
D.To automatically generate code
Correct Answer: To formally find defects using a strict process with defined roles
Explanation:Fagan Inspection is a highly structured, formal review process with roles like Moderator, Reader, Recorder, and Author to detect defects.
Incorrect! Try again.
39Which represents a design trade-off commonly faced?
A.Efficiency vs. Maintainability
B.Correctness vs. Accuracy
C.Documentation vs. Comments
D.Design vs. Analysis
Correct Answer: Efficiency vs. Maintainability
Explanation:Optimizing for extreme efficiency (speed/memory) often requires complex code that hurts maintainability and readability.
Incorrect! Try again.
40In a DFD, the 'Data Dictionary' is used to:
A.Draw the diagrams
B.Define the structure and content of all data flows and stores
C.Compile the code
D.Schedule project tasks
Correct Answer: Define the structure and content of all data flows and stores
Explanation:The Data Dictionary serves as a repository that defines data elements, data structures, and data flows appearing in the DFD.
Incorrect! Try again.
41Which type of cohesion involves elements that are related only because they are grouped in the same file to ensure they are not scattered?
A.Logical
B.Coincidental
C.Functional
D.Communicational
Correct Answer: Coincidental
Explanation:Coincidental cohesion implies no meaningful relationship other than location (e.g., a 'Utilities' file with random unrelated functions).
Incorrect! Try again.
42If module A selects a specific function of module B to execute (e.g., by passing an operation code 1 for add, 2 for delete), this is an example of:
A.Data Coupling
B.Stamp Coupling
C.Control Coupling
D.Content Coupling
Correct Answer: Control Coupling
Explanation:Module A is controlling the internal logic/flow of Module B by passing a 'what to do' flag/opcode.
Incorrect! Try again.
43The factoring of a control module in a structure chart generally results in:
A.Moving decision-making down to lower levels
B.Moving decision-making up and work down
C.Eliminating all global variables
D.Converting the chart to a DFD
Correct Answer: Moving decision-making up and work down
Explanation:Effective factoring results in top-level modules making decisions (control) and lower-level modules performing the actual processing (work).
Incorrect! Try again.
44Which symbol represents a repeated or iterative invocation of a module in extended Structure Chart notations?
A.Curved arrow around the connection
B.Diamond
C.Double rectangle
D.Dashed line
Correct Answer: Curved arrow around the connection
Explanation:A curved arrow looping around the connection line often denotes iteration (a loop) in the calling module.
Incorrect! Try again.
45Procedural Cohesion occurs when:
A.Elements constitute a single mathematical function
B.Elements are part of a specific sequence of execution (algorithm)
C.Elements share the same output data
D.Elements are executed at the same time
Correct Answer: Elements are part of a specific sequence of execution (algorithm)
Explanation:Procedural cohesion groups elements that follow a specific execution sequence, but unlike sequential cohesion, data isn't necessarily passed between them.
Incorrect! Try again.
46Which of the following is NOT a benefit of high modularity?
A.Easier testing
B.Higher complexity
C.Better maintainability
D.Reusability
Correct Answer: Higher complexity
Explanation:Modularity reduces overall system complexity by breaking it into manageable parts. 'Higher complexity' is not a benefit.
Incorrect! Try again.
47In the context of Structured Design, what is a 'Ripple Effect'?
A.The sound made by cooling fans
B.The propagation of errors or changes throughout the system due to high coupling
C.The flow of data in a DFD
D.The hierarchy of modules
Correct Answer: The propagation of errors or changes throughout the system due to high coupling
Explanation:High coupling (especially Common or Content coupling) means a change in one module can cause bugs or require changes in many other modules.
Incorrect! Try again.
48A module with Logical Cohesion typically implements:
A.A series of unrelated tasks
B.Several activities of the same general category (e.g., all input routines)
C.A single function
D.Tasks related by flow of data
Correct Answer: Several activities of the same general category (e.g., all input routines)
Explanation:Logical cohesion groups items that do similar things (like 'Print All Inputs' or 'Handle All Errors'), often selected by a control flag.
Incorrect! Try again.
49In a DFD, if a data flow is labeled 'Invoice Details', it represents:
A.The movement of the 'Invoice Details' data packet
B.The process of creating an invoice
C.The database storing invoices
D.The customer entity
Correct Answer: The movement of the 'Invoice Details' data packet
Explanation:Arrows in a DFD represent the flow or movement of data structures between processes, stores, and entities.
Incorrect! Try again.
50Which design review technique focuses specifically on the logic, data usage, and interface correctness of the design before coding begins?
A.Unit Testing
B.Critical Design Review (CDR)
C.Integration Testing
D.Acceptance Testing
Correct Answer: Critical Design Review (CDR)
Explanation:CDR is a multi-disciplined technical review to ensure the detailed design satisfies requirements and is ready for implementation/coding.