1Which 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
Correct Answer: To transform the requirements model into a representation of the software
Explanation:Software design is the phase where requirements are translated into a blueprint or representation (architecture, components, interfaces) for constructing the software.
Incorrect! Try again.
2In 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
Correct Answer: Internal data and processing logic of a module are hidden from other modules
Explanation:Information hiding ensures that effective modularity is achieved by defining independent modules that communicate only that information necessary to achieve the software function, keeping implementation details private.
Incorrect! Try again.
3Which design principle suggests that a problem should be divided into smaller, manageable sub-problems?
A.Abstraction
B.Decomposition (Modularity)
C.Refactoring
D.Prototyping
Correct Answer: Decomposition (Modularity)
Explanation:Decomposition, or modularity, involves breaking a complex software system into smaller, independent modules to manage complexity.
Incorrect! Try again.
4What 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
Correct Answer: High Cohesion and Low Coupling
Explanation:A high-quality design strives for High Cohesion (modules focus on a single task) and Low Coupling (minimal interdependence between modules).
Incorrect! Try again.
5Which of the following is the best type of Cohesion?
A.Logical Cohesion
B.Coincidental Cohesion
C.Functional Cohesion
D.Temporal Cohesion
Correct Answer: Functional Cohesion
Explanation:Functional Cohesion is the highest (best) level where a module performs exactly one distinct computation or task.
Incorrect! Try again.
6Which of the following is the worst (weakest) type of Cohesion?
A.Coincidental Cohesion
B.Procedural Cohesion
C.Sequential Cohesion
D.Communicational Cohesion
Correct Answer: Coincidental Cohesion
Explanation:Coincidental Cohesion implies that parts of a module are grouped arbitrarily with no significant relationship, making the module hard to maintain.
Incorrect! Try again.
7A 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
Correct Answer: Sequential Cohesion
Explanation:Sequential Cohesion occurs when elements are grouped because the output of one element is the input to the next.
Incorrect! Try again.
8When 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
Correct Answer: Temporal Cohesion
Explanation:Temporal Cohesion exists when operations are grouped because they are done during the same time period (like start-up or shut-down routines).
Incorrect! Try again.
9What 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
Correct Answer: The degree of interdependence between modules
Explanation:Coupling measures how closely connected two modules are. Lower coupling indicates better module independence.
Incorrect! Try again.
10Which 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
Correct Answer: Content Coupling
Explanation:Content Coupling is the worst form of coupling, where one module modifies or relies on the internal workings of another module.
Incorrect! Try again.
11Which is the best (lowest) type of Coupling?
A.Content Coupling
B.Common Coupling
C.Control Coupling
D.Data Coupling
Correct Answer: Data Coupling
Explanation:Data Coupling is the most desirable, where modules communicate by passing only the necessary data items (parameters) required for the function.
Incorrect! Try again.
12If 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
Correct Answer: Common Coupling
Explanation:Common Coupling occurs when multiple modules have access to the same global data. A change in the global data structure can affect all modules accessing it.
Incorrect! Try again.
13What 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
Correct Answer: Stamp Coupling
Explanation:Stamp Coupling occurs when a composite data structure is passed, potentially exposing the receiving module to data it does not need.
Incorrect! Try again.
14Control 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
Correct Answer: One module passing a flag to control the logic of another module
Explanation:Control Coupling happens when one module passes elements of control (like a 'switch' or 'flag') to direct the execution path of another module.
Incorrect! Try again.
15Which 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
Correct Answer: Efficiency vs. Maintainability
Explanation:Excessive modularity (too many small modules) can sometimes introduce performance overhead (Efficiency), though it generally improves Maintainability.
Incorrect! Try again.
16In 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
Correct Answer: Data Flow Diagrams (DFD)
Explanation:Function-oriented design focuses on the functions of the system, primarily modeled using Data Flow Diagrams (DFDs).
Incorrect! Try again.
17In a Data Flow Diagram (DFD), what does a Circle or Bubble represent?
A.External Entity
B.Data Store
C.Process / Transform
D.Data Flow
Correct Answer: Process / Transform
Explanation:A circle or rounded rectangle in a DFD represents a Process, which transforms incoming data into outgoing data.
Incorrect! Try again.
18In 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
Correct Answer: A Data Store
Explanation:A Data Store (file or database) is typically represented by an open-ended rectangle or two parallel lines.
Incorrect! Try again.
19What 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
Correct Answer: A DFD at Level 0 showing the system as a single process interacting with external entities
Explanation:The Context Diagram (Level 0 DFD) represents the entire system as one single bubble, showing its boundaries and interactions with external entities.
Incorrect! Try again.
20Which 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
Correct Answer: All data flows must either originate or terminate at a process
Explanation:In a DFD, data cannot move directly between two data stores or two external entities; it must be processed by a Process bubble.
Incorrect! Try again.
21A process in a DFD that has inputs but generates no outputs is called a:
A.Miracle
B.Black Hole
C.Source
D.Sink
Correct Answer: Black Hole
Explanation:A 'Black Hole' is a DFD error where a process consumes data but produces no output.
Incorrect! Try again.
22What 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
Correct Answer: Decomposing high-level processes into more detailed lower-level DFDs
Explanation:Leveling is the technique of breaking down a high-level process into a detailed child diagram (Level 1, Level 2, etc.) to manage complexity.
Incorrect! Try again.
23What 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
Correct Answer: Ensuring inputs and outputs of a parent process match the inputs and outputs of the child diagram
Explanation:Balancing ensures consistency between levels. The data flows entering and leaving a child diagram must match those entering and leaving the parent process.
Incorrect! Try again.
24Which symbol represents a Source or Sink (External Entity) in a DFD?
A.Circle
B.Arrow
C.Rectangle / Square
D.Open Rectangle
Correct Answer: Rectangle / Square
Explanation:External Entities (Sources/Sinks) define the system boundaries and are represented by squares or rectangles.
Incorrect! Try again.
25A 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
Correct Answer: The hierarchy of modules and their communication interfaces
Explanation:Structure Charts represent the software architecture as a hierarchy of modules, showing how they call each other and what parameters are passed.
Incorrect! Try again.
26In a Structure Chart, a rectangular box represents:
A.Data
B.A Module
C.A Condition
D.A Loop
Correct Answer: A Module
Explanation:In Structure Charts, a rectangular box represents a distinct module (function or subroutine).
Incorrect! Try again.
27In 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
Correct Answer: Data Couple
Explanation:An arrow with an open circle indicates a Data Couple (passing data parameters), whereas a filled circle indicates a Control Couple.
Incorrect! Try again.
28In a Structure Chart, an arrow with a filled (solid) circle represents:
A.Data Couple
B.Control Couple
C.Standard Call
D.Library Module
Correct Answer: Control Couple
Explanation:A filled circle on the arrow tail signifies a Control Couple, typically a flag used to control execution flow.
Incorrect! Try again.
29What 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
Correct Answer: The number of modules that call a specific module
Explanation:Fan-in is the count of modules that call a given module. High fan-in is often desirable for utility modules (reuse).
Incorrect! Try again.
30What 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
Correct Answer: The module is likely too complex and controls too many subordinates
Explanation:Fan-out is the number of modules called by a specific module. High fan-out suggests the module is doing too much management and should be factored.
Incorrect! Try again.
31The 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
Correct Answer: Transform Analysis and Transaction Analysis
Explanation:Transform and Transaction analysis are specific strategies to map the data flow (DFD) into a hierarchical module structure.
Incorrect! Try again.
32In 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
Correct Answer: The Central Transform (Afferent, Transform, Efferent flows)
Explanation:Transform analysis identifies the main processing center by dividing the DFD into afferent (input), central transform, and efferent (output) branches.
Incorrect! Try again.
33Transaction 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
Correct Answer: The input splits into many distinct paths based on a transaction type
Explanation:Transaction analysis is used when a single input triggers one of several parallel action paths (e.g., a menu selection dispatching to different functions).
Incorrect! Try again.
34In a Structure Chart, a diamond symbol typically denotes:
A.A loop
B.A conditional call (Selection)
C.A data store
D.A library module
Correct Answer: A conditional call (Selection)
Explanation:A diamond is used to represent a decision point where a module conditionally calls one of several subordinate modules.
Incorrect! Try again.
35Which 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
Correct Answer: Design should be dependent on the programming language used
Explanation:Good software design should be relatively independent of the implementation language to ensure flexibility and portability.
Incorrect! Try again.
36What 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
Correct Answer: Breaking a module into smaller sub-modules to distribute control or work
Explanation:Factoring involves decomposing a large module into smaller subordinates to reduce size and complexity and improve cohesion.
Incorrect! Try again.
37In 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
Correct Answer: Independence is maximized by maximizing Cohesion and minimizing Coupling
Explanation:Module independence increases as internal cohesion increases and external coupling decreases.
Incorrect! Try again.
38Which document is the primary output of the Design Phase?
Explanation:The SDD describes the architecture, interfaces, and data design, serving as the blueprint for implementation.
Incorrect! Try again.
39Which of the following is a Design Review technique?
A.Unit Testing
B.Integration Testing
C.Formal Technical Review (FTR)
D.Requirement Elicitation
Correct Answer: Formal Technical Review (FTR)
Explanation:FTR is a quality assurance activity performed by software engineers to uncover errors in the design.
Incorrect! Try again.
40What 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
Correct Answer: Walkthroughs are author-led; Inspections are moderator-led and strictly formal
Explanation:Walkthroughs are generally less formal and led by the author. Inspections are formal, rigorous, metric-driven, and led by a trained moderator.
Incorrect! Try again.
41The '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
Correct Answer: The input processing section
Explanation:Afferent flow moves information from the external world into the central transform (inputs).
Incorrect! Try again.
42The '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
Correct Answer: The output generation section
Explanation:Efferent flow moves information from the central transform to the external world (outputs).
Incorrect! Try again.
43Which 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
Correct Answer: Abstraction
Explanation:Abstraction enables a designer to specify a procedure or data at a high level without focusing on low-level implementation details.
Incorrect! Try again.
44Cyclomatic 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
Correct Answer: Measuring the complexity of a module's control flow to determine testability
Explanation:Though often calculated on code, it is a design metric indicating the number of independent paths through a module, affecting test effort.
Incorrect! Try again.
45In a Structure Chart, a curved arrow looping around a straight arrow indicates:
A.Recursion
B.Iteration (Loop)
C.Data Couple
D.Error handling
Correct Answer: Iteration (Loop)
Explanation:A curved arrow typically represents a repetitive call (loop) within the structure chart notation.
Incorrect! Try again.
46Procedural 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
Correct Answer: Procedural elements are related by order of execution, Temporal elements are related by timing
Explanation:Procedural cohesion follows a specific algorithm/flowchart order. Temporal implies they just happen at the same time (like init) regardless of order.
Incorrect! Try again.
47Which 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
Correct Answer: A process with outputs but no inputs
Explanation:A process cannot generate data out of nothing. It must have an input to transform into an output.
Incorrect! Try again.
48When designing module interfaces, 'narrow' interfaces are preferred over 'broad' interfaces. This relates to minimizing:
49A 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
Correct Answer: Communicational
Explanation:If the tasks operate on the same input data (employee record) or produce the same output, it is Communicational. If they are just logically related (all 'print' functions), it is Logical. Here, assuming they use the same data to complete the payment, Communicational is the best fit among non-functional types.
Incorrect! Try again.
50In 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
Correct Answer: It acts as a central repository for definitions of all data objects and control items
Explanation:The Data Dictionary is metadata; it defines the structure, type, and relationships of data elements used in DFDs and structure charts.
Incorrect! Try again.
Give Feedback
Help us improve by sharing your thoughts or reporting issues.