Q: 1 Architectural design defines:
Algorithm structure.
Data dictionary.
Overall structure and interaction of system components.
Test plans.
[ Option C ]
The architectural design provides a high-level view of system components and their interactions.
Q: 2 Which one of the following pairs is not correctly matched:
Co-incidental cohesion – unplanned and random cohesion.
Temporal cohesion – elements of module are processed at different points of time.
Sequential cohesion – output of one element serves as input to another.
Procedural cohesion – elements of module are grouped together, which are executed sequentially in order to perform a task.
[ Option B ]
Cohesion refers to how closely the elements within a single module of a program are related to one another. The higher the cohesion, the better the design, as the module performs a single, well-defined task. Different types of cohesion describe different levels of relationship among module elements.
| TYPE OF COHESION | DESCRIPTION |
|---|---|
| Co-incidental Cohesion | The elements inside the module are unrelated and are put together without any specific reason or purpose. Such grouping usually happens by accident or poor design decisions, making maintenance and understanding very difficult. |
| Logical Cohesion | Elements are grouped because they perform similar types of activities. However, which operation is executed depends on a control flag or parameter. |
| Temporal Cohesion | Elements of the module are grouped together because they are executed at the same time, such as during system startup, initialization, or shutdown. These operations are related by their timing rather than their function. |
| Procedural Cohesion | Elements are grouped because they are part of the same procedure or control sequence. |
| Communicational Cohesion | The elements of the module are grouped because they operate on the same data set. |
| Sequential Cohesion | This occurs when the output of one element becomes the input of the next. |
| Functional Cohesion | Every element in the module contributes to a single, well-defined purpose or function. The module performs exactly one task and nothing else, making it easy to test, reuse, and maintain. |
Q: 3 In decision table left-lower quadrant is called-
Condition Entry
Condition Stub
Action Entry
Action Stub
[ Option D ]
A Decision Table is a tabular method for representing logical relationships between conditions and actions in a system. It is widely used in software testing, system design, and decision-making.
| Quadrant | Position | Purpose |
|---|---|---|
| Condition Stub | Top-Left (Upper-Left) | Lists the conditions to be tested. |
| Condition Entry | Top-Right (Upper-Right) | Shows possible values for each condition. |
| Action Stub | Bottom-Left (Lower-Left) | Lists all possible actions. |
| Action Entry | Bottom-Right (Lower-Right) | Specifies the actions to take for each condition combination. |
Q: 4 __________ is a structured repository of data about data.
Data Flow Diagram
System Components Matrix
Data Dictionary
Decision Table
[ Option C ]
A Data Dictionary is a centralized, structured repository that contains metadata, information about the data used in a system, such as:
Q: 5 ______________, a program development tool, shows how the program has been partitioned into smaller more manageable modules, the hierarchy and organization of those modules and the communication interfaces between modules.
Structure Chart
Fourth Generation Language Tools (4GL Tools)
Object-Oriented Programming and Design Tools
Program Flow Chart
[ Option A ]
When a big program becomes too large to understand, we divide it into small manageable modules. To show how these modules are arranged and how they communicate, we use a special tool called a Structure Chart.
It looks like a Tree Diagram where the top represents the main module and the bottom branches represent submodules.
| STRUCTURE CHART | PROGRAM FLOWCHART |
|---|---|
| Shows module hierarchy. | Shows step-by-step logic of a program or process. |
| Focuses on how the program is divided into smaller modules. | Focuses on how the program flows from start to end. |
| Represents modular design. | Represents program logic or algorithm. |
| Modules are arranged in levels like parent–child relationship. | Statements are arranged in sequence, decision, and loops. |
| Used during the system design phase. | Used during program development and algorithm design. |
| Does not show internal logic of modules. | Shows the internal working of the program in detail. |
| Looks like a tree structure. | Looks like a flow diagram with symbols like oval, diamond, rectangle, parallelogram. |
Q: 6 At the architectural design level, a software architect uses an _________ to model the manner in which software interacts with entities external to its boundaries.
Architectural Activity Diagram (AAD)
Architectural Context Diagram (ACD)
Architectural State Diagram (ASD)
Architectural Design Diagram (ADD)
[ Option B ]
An ACD (Architectural Context Diagram) provides a high-level view of the system and shows how it fits into its environment. It illustrates the system boundary and depicts all external interfaces through which the system communicates with other entities.
This helps designers and stakeholders understand what lies inside and outside the system’s scope, ensuring that all necessary interactions are properly identified and managed.
Q: 7 In case of flow-oriented requirement modeling, context diagram is also known as
Level 0 DFD
Level 1 DFD
Level 2 DFD
Level 3 DFD
[ Option A ]
Data Flow Diagrams (DFDs) are used to represent how data moves through a system. A Context Diagram is the highest-level view of a DFD, which provides an overview of the entire system as a single process.
Because it gives this top-level, overall picture without showing internal details, the Context Diagram is also called a Level 0 DFD.
Lower-level DFDs such as Level 1, Level 2, and so on, break this single process into smaller sub-processes, showing more internal details of how the system functions.
Q: 8 _____________ is an indication of the relative functional strength of a module.
Aversion
Cohesion
Ripple Effect
Coupling
[ Option B ]
Cohesion refers to the degree of relatedness and functional strength of the elements within a single module. It indicates how well the parts of a module work together to achieve a specific purpose.
High cohesion means that all parts of the module are closely related and focused on a single task, which leads to more maintainable, understandable, and reliable software.
Q: 9 _____________ is a visual representation that depicts the information flow and the transformation that are applied to data as data moves from input to output.
Data Flow Diagram
System Flow Chart
Layout Form
Hierarchy Chart
[ Option A ]
A Data Flow Diagram (DFD) is a visual representation that depicts the flow of information and the transformations applied to data as it moves from input to output in a system. It graphically shows how data enters the system, the processes that act on the data, where the data is stored, and how it exits the system.
Q: 10 Which of the following best describes the Open-Closed Principle (OCP) in object-oriented component-level design?
A component should be either open or closed for both modification and extension.
A component should be open for extension and closed for modification.
A component should be open for modification and closed for extension.
A component should be neither open nor closed for both modification and extension.
[ Option B ]
The Open-Closed Principle (OCP) is one of the key object-oriented design principles. It states that a software component such as a class, module, or function should be open for extension but closed for modification. This means that the behavior of a component can be extended without altering its existing source code.
Q: 11 Which of the following promotes good software design?
High coupling and low cohesion.
Low coupling and high cohesion.
High coupling and high cohesion.
Low coupling and low cohesion.
[ Option B ]
The low coupling and high cohesion make modules independent and maintainable, improving overall software design quality.
Q: 12 Which diagram is used to represent system behavior in UML?
Class diagram
Sequence diagram
Use case diagram
Activity diagram
[ Option D ]
The Activity Diagrams model the dynamic behavior of a system and represent workflows of actions and activities.
Q: 13 The word which describes the importance of software design is –
Complexity
Quality
Efficiency
Accuracy
[ Option B ]
Software design plays a crucial role in ensuring the Quality of software systems. A good design makes software more understandable, maintainable, reliable, and reusable. It reduces development time and effort by providing a clear blueprint before coding begins.
Software design is the foundation of software quality. It influences not only the immediate development but also the long-term success of the system by affecting maintainability, usability, performance, reliability, scalability, and reusability.
| Quality Attribute | Description |
|---|---|
| Maintainability | The ease with which software can be modified to fix bugs, add features, or adapt to new requirements. |
| Usability | How simple and intuitive the software is for end-users to learn and operate effectively. |
| Performance (Efficiency) | The ability of the software to execute quickly and use system resources optimally. |
| Reliability | The consistency of the software in producing correct outputs and operating without failures. |
| Scalability | The capability of the software to handle growth, such as more users, data, or workload, without performance issues. |
| Reusability | The extent to which software components can be used in other systems or projects, reducing duplication of effort. |
Q: 14 System Design is carried out __________________.
as soon as system requirements are determined.
whenever the system analyst feels it to be urgent.
after the final system specifications are approved by the management.
whenever the management feels it to be urgent.
[ Option C ]
Before designing a system, we must clearly understand, what the system should do, what features it must have and what limitations and rules apply. These details are called System Requirements.
System Design is the phase in system development that follows requirements analysis. It begins as soon as the system requirements are clearly determined and understood. The purpose of system design is to create the blueprint or architecture of the system that will fulfill those requirements.
Why Design Starts After Final Approval?
Q: 15 Which of the following is correct definition of Coupling in Java language?
Degree to which elements of a module belong together.
The ability of a class to inherit from other classes.
Process of hiding internal details of a module.
Degree of direct knowledge one class has of other.
[ Option D ]
In object-oriented programming, coupling refers to the level of dependency between classes or modules.
High Coupling means a class depends heavily on other classes, which makes the system harder to maintain or modify.
Low Coupling means a class has little knowledge of other classes, leading to more modular and flexible code.
Q: 16 In context of software design, choose the correct option for the following Assertion and Reason:
Assertion (A) : It is desirable to have the lowest possible coupling between modules.
Reason (R) : Simple connectivity among modules results in software that is easier to understand and less prone to a "ripple effect" of errors across the system.
Both (A) and (R) are true, and (R) is the correct explanation of (A).
Both (A) and (R) are true, but (R) is not the correct explanation of (A).
(A) is true, but (R) is false.
(A) is false, but (R) is true.
[ Option A ]
In software design, Coupling refers to the degree of interdependence between software modules. Means, how closely connected or dependent one module is on another. It is desirable to have the lowest possible coupling because loosely coupled modules can function independently, are easier to Test, Maintain, and Modify without affecting other parts of the system.
Q: 17 Which part of a Decision Table comprehensively lists the comparisons or conditions?
Action Entries
Condition Entries
Condition Stub
Action Stub
[ Option C ]
A Decision Table is a tabular method for representing logical relationships between conditions and actions in a system. It is widely used in software testing, system design, and decision-making.
| Quadrant | Position | Purpose |
|---|---|---|
| Condition Stub | Top-Left (Upper-Left) | Lists the conditions to be tested. |
| Condition Entry | Top-Right (Upper-Right) | Shows possible values for each condition. |
| Action Stub | Bottom-Left (Lower-Left) | Lists all possible actions. |
| Action Entry | Bottom-Right (Lower-Right) | Specifies the actions to take for each condition combination. |
Q: 18 A black hole in a DFD is-
A data store with no in bound flows
A data store with only in bound flows
A data store with more than one in bound flow
None of these
[ Option B ]
In a Data Flow Diagram (DFD), a Black Hole is a process or data store that receives data but does not produce any output. In other words, information flows into it, but nothing comes out. This situation usually indicates an error or a missing component in the diagram, as every process should normally transform or pass on data through both input and output flows.
Apart from a Black Hole, there are several other common errors in Data Flow Diagrams (DFD):
| DFD Error Type | Description | Example |
|---|---|---|
| Black Hole | A process has inputs but no outputs. Data enters but nothing comes out. | A process “Calculate Salary” takes employee details but produces no salary slip. |
| Miracle | A process has outputs but no inputs. Data appears without any source. | A process “Generate Report” creates reports without receiving any input data. |
| Gray Hole | A process has inputs and outputs, but the outputs are not logically possible from the given inputs. | A process “Calculate GPA” generates a GPA without having any marks or grade data as input. |
| Data Store with No Flows | A data store has neither input nor output flows. | A database symbol in the DFD is drawn but never connected to any process. |
| Unconnected Process | A process has no data flows connected or it is isolated. | A process “Update Inventory” is shown but has no input or output arrows. |
| Data Flow Errors | Data flows directly between external entities or between data stores without a process. | An arrow directly linking two databases or two users without a process in between. |
Q: 19 The intent of __________ is to conceal the details of data structures and procedural processing behind a module interface.
Modularity
Information hiding
Coupling
Exposing
[ Option B ]
The main intent of information hiding is to protect the internal details of a module, such as data structures and algorithms.
By hiding the internal implementation, changes made inside a module do not affect other modules that depend on it. This leads to better modularity, maintainability, and security of the software.
Q: 20 Which of the following is not an element of interface design?
the user interface (UI)
external interfaces to other systems, devices, networks, or other producers or consumers of information
internal interfaces between various design components
Modularity
[ Option D ]
In software engineering, interface design focuses on defining how different parts of a system interact with each other and with external entities. It ensures smooth communication between components, users, and external systems. The main elements of interface design include, User Interface (UI), External Interfaces, and Internal Interfaces.
The Modularity refers to the division of a system into smaller, independent components or modules to improve maintainability, reusability, and clarity.
Thank you so much for taking the time to read my Computer Science MCQs section carefully. Your support and interest mean a lot, and I truly appreciate you being part of this journey. Stay connected for more insights and updates! If you'd like to explore more tutorials and insights, check out my YouTube channel.
Don’t forget to subscribe and stay connected for future updates.