0% found this document useful (0 votes)
8 views5 pages

2MARKS

The document outlines various software design patterns, including creational, structural, and behavioral patterns, along with their limitations and benefits. It discusses key concepts such as the Model-View-Controller (MVC) architecture, the Observer pattern, and the importance of loose coupling and high cohesion in system design. Additionally, it covers testing methodologies, debugging strategies, and metrics like cyclomatic complexity.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views5 pages

2MARKS

The document outlines various software design patterns, including creational, structural, and behavioral patterns, along with their limitations and benefits. It discusses key concepts such as the Model-View-Controller (MVC) architecture, the Observer pattern, and the importance of loose coupling and high cohesion in system design. Additionally, it covers testing methodologies, debugging strategies, and metrics like cyclomatic complexity.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

2MARKS (FIRST 20 QUESTIONS)

1. List out the different types of patterns:

- Creational patterns

- Structural patterns

- Behavioral patterns

2. Organize the limitations of Factory Pattern:

- Lack of flexibility in adding new product types

- Can lead to complex hierarchies of factories

3. Define Design Pattern:

- Design patterns are reusable solutions to common problems in software


design and development.

4. Organize the limitations of Factory Pattern:

- Lack of flexibility in adding new product types

- Can lead to complex hierarchies of factories

5. “A system must be loosely coupled and highly cohesive” - Justify:

- Loose coupling reduces dependencies between components, making the


system easier to maintain and modify.

- High cohesion ensures that components within a module are closely related
and focused on a specific task, improving clarity and maintainability.
6. Describe Model-view-controller (MVC):

- MVC is a software architectural pattern where Model represents data, View


displays the user interface, and Controller handles user input and updates the
Model and View accordingly.

7. Define Observer Pattern:

- Observer pattern is a behavioral design pattern where an object (subject)


maintains a list of its dependents (observers) and notifies them of any state
changes, enabling them to update automatically.

8. “A system must be loosely coupled and highly cohesive” - Justify:

- Loose coupling reduces dependencies between components, making the


system easier to maintain and modify.

- High cohesion ensures that components within a module are closely related
and focused on a specific task, improving clarity and maintainability.

9. Characteristics of a good user interface:

- Intuitiveness

- Consistency

- Responsiveness

- Clarity

- Accessibility
10. Benefits of Low Coupling:

- Easier maintenance and modification

- Increased reusability

- Better encapsulation and abstraction

11. Various types of system testing:

- Unit testing

- Integration testing

- System testing

- Acceptance testing

12. Basis Path Testing:

- Basis path testing is a white-box testing technique that systematically tests all
possible paths through a program's control flow graph.

13. Differentiate verification and validation:

- Verification ensures that the software meets specified requirements.

- Validation ensures that the software meets the customer's needs and
expectations.

14. Various approaches of debugging:

- Print debugging

- Breakpoint debugging

- Step debugging

- Remote debugging
15. White box testing methods:

- Statement coverage

- Branch coverage

- Path coverage

- Condition coverage

16. Comparison of black box and white box testing:

- Black box testing focuses on functional aspects without knowing internal code
structure.

- White box testing examines internal code structure and logic for thorough
testing.

17. Advantages of Equivalence Class Partitioning:

- Efficient test case coverage

- Identifies representative inputs for testing

- Reduces redundancy in test cases

18. Symbolic Execution:

- Symbolic execution is a white-box testing technique that analyzes a


program's code paths symbolically to detect errors and generate test cases.
19. Debugging and its strategies:

- Debugging is the process of identifying and resolving defects or errors in


software.

- Strategies include step-by-step execution, code inspection, and using


debugging tools.

20. Calculation of Cyclometric Complexity:

- Cyclometric complexity is calculated using the formula: M = E - N + 2P, where E


is the number of edges, N is the number of nodes, and P is the number of
connected components.

You might also like