This set of Basic Software Design Questions and Answers focuses on “Static Modelling Heuristics”.
1. What are the types of responsibilities that occur in software engineering design?
a) An Obligation to do something that is to carry out some tasks(operational)
b) An Obligation to know something that is to maintain some data(data)
c) All of the mentioned
d) None of the mentioned
View Answer
Explanation: There are two types of responsibilities that occur in software engineering design operational responsibility and data responsibility.
2. Which of the following are true for decomposition?
a) Responsibility driven decomposition is a technique for program decomposition in which component responsibilities are decomposed and used to generate sub-components
b) The decomposed responsibilities are assigned to the sub-components, which can then be further decomposed
c) All of the mentioned
d) None of the mentioned
View Answer
Explanation: The statements mentioned are all true with respect to the true decomposition.
3. Designers can use responsibilities to make modules more cohesive and less tightly coupled in several ways such as?
a) Assign modules at most one operational and one data responsibility
b) Assign complementary data and operational responsibilities
c) Make sure module responsibilities do not overlap
d) All of the mentioned
View Answer
Explanation: Designers can use responsibilities to make modules more cohesive and less tightly coupled in all the above mentioned ways.
4. Inheritance is a powerful design and implementation mechanism that offers which of these advantages?
a) Inheritance captures a generalization-specialization relation between the super-class(es) and the sub-class
b) Inheritance provides reuse of the implementations of attributes and operations in the super-class or super-classes
c) All of the mentioned
d) None of the mentioned
View Answer
Explanation: Inheritance is a powerful design and implementation mechanism that offers the mentioned advantages.
5. Heuristic for Class models include which of these?
a) Use inheritance only when there is a generalization relationship between the sub-class and its super-class(es)
b) Combine common attributes and operations in similar classes into a common super-class
c) All of the mentioned
d) None of the mentioned
View Answer
Explanation: Heuristic for Class models includes- Use inheritance only when there is a generalization relationship between the sub-class and its super-class(es).
6. What is Delegation?
a) The tactic where in a module en thrusts another module with responsibility is called delegation
b) Delegation not only allows reuse without inheritance but also provides a mechanism to make software much more flexible and configurable
c) All of the mentioned
d) None of the mentioned
View Answer
Explanation: The tactic where in a module en thrusts another module with responsibility is called delegation, Delegation not only allows reuse without inheritance but also provides a mechanism to make software much more flexible and configurable.
7. Which of the following are static modeling heuristics?
a) State both operational and data responsibilities
b) Assign modules at most one operational and one data responsibility
c) Assign complementary data and operational responsibilities
d) All of the mentioned
View Answer
Explanation: Static modelling heuristic includes -State both operational and data responsibilities, Assign modules at most one operational and one data responsibility, Assign complementary data and operational responsibilities.
8. Designers can use responsibilities to make modules more cohesive and less tightly coupled in which of the following ways?
a) Assign modules at most one operational and one data responsibility
b) Assign complementary data and operational responsibilities
c) All of the mentioned
d) None of the mentioned
View Answer
Explanation: Designers can use responsibilities to make modules more cohesive and less tightly coupled in the following way – Assign modules at most one operational and one data responsibility, Assign complementary data and operational responsibilities.
9. Which of the following is operational responsibility?
a) An Obligation to do something that is to carry out some tasks
b) An Obligation to know something that is to maintain some data
c) All of the mentioned
d) None of the mentioned
View Answer
Explanation: Operational Responsibility is an obligation to do something that is to carry out some tasks.
10. Which of the following is data responsibility?
a) An Obligation to do something that is to carry out some tasks
b) An Obligation to know something that is to maintain some data
c) All of the mentioned
d) None of the mentioned
View Answer
Explanation: Data Responsibility is an obligation to know something that is to maintain some data.
Sanfoundry Global Education & Learning Series – Software Architecture and Design.
- Check Computer Science Books
- Apply for Computer Science Internship
- Practice Computer Science MCQs
- Apply for Software Architecture and Design Internship
- Practice MCA MCQs