Machine-translated by Google. Questions are authored in English.
Top

Software Design Principles Questions and Answers

11.

The following figure represents access graphs of two modules M1 and M2. The filled circles represent methods and the unfilled circles represent attributes. If method m is moved to module M2 keeping the attributes where they are, what can we say about the average cohesion and coupling between modules in the system of two modules ?

Access graphs of two modules. Module M1 has four methods and four attributes, each method with arrows to two of them; the method m has two further arrows to attributes of Module M2. Module M2 has three methods and four attributes, each method with arrows to two attributes.

Exam Year(s)

Tripura Public Service Commission - 2025,

Answer: A

The correct choice is There is no change.

Read the figure as a bipartite graph of methods and the attributes they access. Module M1 has 4 methods, 4 attributes and 8 arrows inside it, plus 2 arrows from method m into M2's attributes. Module M2 has 3 methods, 4 attributes and 6 arrows inside it. Measure cohesion as the fraction of possible method-to-attribute links that exist inside the module:

\[ \begin{aligned} \text{before, } M1 &= \tfrac{8}{4 \times 4} = 0.5 \\ \text{before, } M2 &= \tfrac{6}{3 \times 4} = 0.5 \end{aligned} \]

Move m to M2. Its 2 arrows into M2's attributes become internal and its 2 arrows into M1's attributes now cross the boundary:

\[ \begin{aligned} \text{after, } M1 &= \tfrac{6}{3 \times 4} = 0.5 \\ \text{after, } M2 &= \tfrac{8}{4 \times 4} = 0.5 \end{aligned} \]

Coupling is the number of arrows that cross between the modules: 2 before and 2 after. Both cohesion figures and the coupling are unchanged, so the other three options, which claim a change, are wrong.

Please log in or register to report this question.

12.

In process specification, which tool is specifically used to describe complex decision logic ?

Exam Year(s)

Tripura Public Service Commission - 2026,

Answer: A

Complex decision logic is described with a decision table.

A decision table lists the conditions in one part and the actions in another, with a column for each combination of conditions (a rule) showing which actions follow. It makes sure every combination is considered, which is why it is a standard tool for specifying processes with many interacting conditions, alongside decision trees and structured English.

An ER diagram models data and its relationships, a data flow diagram shows how data moves between processes and stores, and a structure chart shows the module hierarchy of a design. None of them specifies decision logic.

Please log in or register to report this question.

13.

Computer-Aided Software Engineering (CASE) tools are widely used in system development. Which of the following best describes their role in modern system analysis and design ?

Exam Year(s)

Tripura Public Service Commission - 2026,

Answer: D

CASE tools automate documentation, design, and development activities.

CASE (Computer-Aided Software Engineering) tools support the software process: drawing and checking DFDs and UML diagrams, maintaining a data dictionary, generating code and reports, and managing documentation. They make analysts and developers more productive and their models more consistent.

They do not replace human judgement in decisions. Debugging and database management are only two of the many activities they can support, so describing them as 'only' or 'exclusively' for those is wrong.

Please log in or register to report this question.

14.

When decomposing a Level 0 DFD to Level 1, an analyst introduces a new external entity not present in the context diagram. This violates which principle ?

Exam Year(s)

Tripura Public Service Commission - 2026,

Answer: A

It violates the DFD balancing rule.

Balancing requires that when a process is decomposed into a lower-level DFD, the inputs and outputs of the child diagram match those of the parent: the same external entities and the same data flows crossing the boundary. Introducing a new external entity at Level 1 that does not appear in the context diagram unbalances the levels.

Process decomposition is the act of splitting a process, not a rule this breaks, data store naming concerns labels, and functional cohesion is a module design principle, not a DFD consistency rule.

Please log in or register to report this question.

15.

Which design pattern is most suitable for decoupling components in an event-driven architecture ?

Exam Year(s)

Tripura Public Service Commission - 2026,

Answer: C

The pattern is Observer.

In the observer (publish-subscribe) pattern, a subject keeps a list of observers and notifies them when an event occurs, without knowing what they are or what they do. Components can be added or removed by subscribing or unsubscribing, which decouples event producers from consumers, the core of event-driven design.

Singleton ensures a class has one instance, factory centralises object creation, and adapter converts one interface into another. None of them is about delivering events between independent components.

Please log in or register to report this question.

16.

A diagram that shows the hierarchical relationship between the modules of a computer program is called_

Exam Year(s)

Tripura Public Service Commission - 2026,

Answer: A

The diagram is a Structured chart.

A structure chart shows a program's modules as boxes arranged in a hierarchy, with lines for the calls from each module to the modules beneath it and small arrows for the data and control passed between them. It is the main tool of structured design.

An ERD models data entities and their relationships. A flowchart shows the step-by-step logic of a process, and a DFD shows how data flows between processes and stores. None of them shows module hierarchy.

Please log in or register to report this question.

17.

Component level design is concerned with

Exam Year(s)

UGC NET - 2012,

Answer: C

Component-level design is concerned with both flow-oriented and class-based elements, so the answer is 'Both of the above'. At this stage the designer turns the analysis models into a detailed design of each component, and the data and control flow of the analysis phase (flow-oriented analysis) and the classes of object-oriented analysis (class-based analysis) both feed into it.

Choosing only flow-oriented analysis or only class-based analysis would leave out one of the two inputs to component-level design. So 'None of the above' is also wrong, as the key takes both to be involved.

Please log in or register to report this question.

Answer: B

In function oriented design we maximize cohesion and minimize coupling.

Cohesion is how strongly the elements inside a module belong together, and coupling is how much one module depends on others. A good design has modules that do one thing well (high cohesion) and are as independent of each other as possible (low coupling), which makes them easier to understand, test and change. The other options either reduce cohesion or raise coupling, and each of these makes the design worse.

Please log in or register to report this question.

Loading…

Other Subjects

Tags: Software Design Principles Questions and Answers || Software Design Principles MCQ Questions and Answers || Software Design Principles GK Questions and Answers || Software Design Principles GK MCQ Questions || Software Design Principles Multiple Choice Questions and Answers || Software Design Principles GK || GK on Software Design Principles || Software Engineering Questions and Answers || Software Engineering MCQ Questions and Answers || Software Engineering GK Questions and Answers || GK on Software Engineering