19-SOFT-A3 Software Design Exam A, Exams of Technology

Introduces core software design principles including modularity, abstraction, coupling, cohesion, and reuse. Covers design methodologies like structured design and object-oriented design. Diagrams such as flowcharts and structure charts are used.

Typology: Exams

2023/2024

Available from 06/05/2025

nicky-jone
nicky-jone 🇮🇳

2.9

(44)

28K documents

1 / 127

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
19-SOFT-A3 Software Design Exam A
Question 1. What is the primary purpose of the software design activity
within the SDLC?
A) To gather user requirements only
B) To translate requirements into a blueprint for implementation
C) To test the software before deployment
D) To document user manuals
Answer: B
Explanation: The main purpose of software design within SDLC is to translate
gathered requirements into a detailed blueprint that guides implementation,
ensuring the system fulfills user needs effectively.
Question 2. How does software requirements analysis differ from software
design?
A) Requirements analysis defines what the system should do, while design
specifies how to do it
B) Design focuses solely on coding, requirements analysis on testing
C) Requirements analysis is performed after deployment, design before
deployment
D) They are identical activities with different terminologies
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Partial preview of the text

Download 19-SOFT-A3 Software Design Exam A and more Exams Technology in PDF only on Docsity!

Question 1. What is the primary purpose of the software design activity within the SDLC? A) To gather user requirements only B) To translate requirements into a blueprint for implementation C) To test the software before deployment D) To document user manuals Answer: B Explanation: The main purpose of software design within SDLC is to translate gathered requirements into a detailed blueprint that guides implementation, ensuring the system fulfills user needs effectively. Question 2. How does software requirements analysis differ from software design? A) Requirements analysis defines what the system should do, while design specifies how to do it B) Design focuses solely on coding, requirements analysis on testing C) Requirements analysis is performed after deployment, design before deployment D) They are identical activities with different terminologies

Answer: A Explanation: Requirements analysis identifies and documents what the software must accomplish, whereas design focuses on how to implement those requirements effectively. Question 3. Which of the following best describes the architectural design level? A) Developing detailed algorithms for modules B) Creating high-level structures and system organization C) Writing user interface screens D) Testing individual functions Answer: B Explanation: Architectural design involves defining the high-level structure and organization of the entire system, including components and their interactions. Question 4. Which challenge in software design involves adapting to changing requirements over time? A) Requirements volatility B) Technological stagnation

C) It restricts the addition of new features D) It focuses solely on performance optimization Answer: B Explanation: Maintainability emphasizes designing software that can be easily understood, corrected, extended, and adapted, facilitating long-term sustainability. Question 7. Which quality attribute relates to the software's ability to be transferred from one environment to another? A) Portability B) Robustness C) Security D) Reusability Answer: A Explanation: Portability is the attribute that allows software to operate effectively across different environments, platforms, or systems. Question 8. What does robustness in software design primarily address? A) Handling invalid inputs and stressful conditions gracefully B) User interface aesthetics

C) Code reusability D) Reducing development costs Answer: A Explanation: Robustness refers to the system's capacity to continue functioning correctly in the presence of invalid inputs or adverse environmental conditions. Question 9. Which principle of software design involves decomposing a system into distinct functions or responsibilities? A) Abstraction B) Separation of Concerns C) Encapsulation D) Reusability Answer: B Explanation: Separation of Concerns involves dividing a system into separate parts, each handling a specific concern or responsibility, to improve modularity and manageability. Question 10. How does abstraction benefit software design? A) It simplifies complex systems by focusing on essential features while

Question 12. Which type of cohesion is characterized by a module performing a single, well-defined task? A) Logical cohesion B) Functional cohesion C) Temporal cohesion D) Coincidental cohesion Answer: B Explanation: Functional cohesion occurs when a module performs a single, specific task, leading to high-quality, maintainable code. Question 13. What is the primary goal of coupling in software modules? A) To minimize dependencies between modules B) To maximize interaction between modules C) To increase code duplication D) To enforce security policies Answer: A Explanation: The goal of coupling is to reduce inter-module dependencies, promoting loose coupling, which enhances modularity and ease of maintenance.

Question 14. Which of the following is an example of data coupling? A) Modules communicate by passing data through parameters B) Modules share global variables C) Modules access shared memory directly D) Modules communicate via message queues Answer: A Explanation: Data coupling occurs when modules communicate solely by passing data through parameters, which is considered a low level of coupling and desirable in modular design. Question 15. What does encapsulation primarily achieve in object-oriented design? A) Bundling data and methods within a class and controlling access to them B) Hiding data completely from the system C) Sharing all data openly among modules D) Simplifying user interfaces only Answer: A Explanation: Encapsulation involves bundling data and related methods

them inherently thread-safe and reducing side-effects in concurrent environments. Question 18. Which SOLID principle states that a class should have only one reason to change? A) Single Responsibility Principle (SRP) B) Open/Closed Principle (OCP) C) Liskov Substitution Principle (LSP) D) Interface Segregation Principle (ISP) Answer: A Explanation: SRP emphasizes that a class should have only one responsibility or reason to change, promoting high cohesion and easier maintenance. Question 19. Which design methodology primarily uses data flow diagrams (DFDs)? A) Function-oriented design B) Object-oriented design C) Component-based design D) Interface design Answer: A

Explanation: Data flow diagrams are central to function-oriented design, illustrating how data moves through processes within a system. Question 20. What is a core concept in object-oriented design (OOD)? A) Encapsulation of data and behavior within objects and classes B) Linear sequence of functions only C) Focus solely on procedural programming techniques D) Avoidance of inheritance and polymorphism Answer: A Explanation: OOD centers on encapsulating data and associated behaviors within objects and classes, facilitating modularity and reusability. Question 21. Which of the following best describes component-based design? A) Building software systems from reusable, encapsulated components with defined interfaces B) Designing every component from scratch for each project C) Avoiding reuse to ensure custom solutions D) Relying exclusively on monolithic architecture Answer: A

Explanation: Layered architecture structures the system into layers with each layer providing services to the one above, promoting separation of concerns and modularity. Question 24. Which architectural pattern is characterized by a single interface through which different components communicate, often used to encapsulate complex subsystems? A) Facade pattern B) Microservices architecture C) Peer-to-Peer D) Pipe-and-Filter Answer: A Explanation: The Facade pattern provides a simplified interface to complex subsystems, hiding internal complexities and facilitating easier interaction. Question 25. Which decision factor most influences the choice between monolithic and distributed system architectures? A) Scalability and fault tolerance requirements B) The color of the user interface C) The programming language used

D) The type of database employed Answer: A Explanation: Scalability and fault tolerance considerations significantly influence whether a system adopts a monolithic or distributed architecture, with distributed systems often better suited for scalability. Question 26. In module-level design, what is the primary goal of data packaging? A) To encapsulate data within modules respecting scope and visibility constraints B) To encrypt all data at rest C) To duplicate data across modules for redundancy D) To expose all internal data to other modules for flexibility Answer: A Explanation: Data packaging involves encapsulating data within modules with appropriate scope and visibility, promoting modularity and protecting internal data. Question 27. Which UML diagram type is most suitable for illustrating the static structure of classes and their relationships?

Question 29. What is the main purpose of a use case diagram? A) To capture system functionalities from an external user's perspective B) To show the physical deployment of components C) To specify internal data structures D) To model database schemas Answer: A Explanation: Use case diagrams model the interactions between actors and the system, capturing functional requirements from an external viewpoint. Question 30. Which diagram type in UML depicts the flow of activities and decisions within a process? A) Activity Diagram B) State Machine Diagram C) Class Diagram D) Deployment Diagram Answer: A Explanation: Activity diagrams visualize workflows, actions, decisions, and control flow within a process, suitable for modeling behavior.

Question 31. Which is a key benefit of using design patterns? A) They provide reusable solutions to common design problems B) They eliminate the need for requirements analysis C) They guarantee performance improvements D) They enforce strict security policies Answer: A Explanation: Design patterns offer proven, reusable solutions to recurring design challenges, promoting code reuse and maintainability. Question 32. The Singleton pattern ensures that: A) Only one instance of a class exists and provides a global access point B) Objects are created based on runtime parameters only C) Multiple classes share a common interface D) Objects are instantiated repeatedly for different data sets Answer: A Explanation: The Singleton pattern restricts a class to a single instance and provides a global point of access, useful for managing shared resources. Question 33. Which pattern is primarily used to encapsulate the creation process of objects?

C) Checking memory leaks D) Testing hardware components Answer: A Explanation: Black-box testing evaluates system behavior based on specifications, without inspecting internal code, focusing on inputs and outputs. Question 36. Which testing approach involves testing the system with knowledge of internal implementation? A) Grey-box testing B) Black-box testing C) Usability testing D) Acceptance testing Answer: A Explanation: Grey-box testing combines aspects of both black-box and white- box testing, utilizing some knowledge of internal code for more targeted testing. Question 37. Which metric measures the extent to which all parts of the code are executed during testing?

A) Test coverage B) Code complexity C) Response time D) Reliability index Answer: A Explanation: Test coverage quantifies how much of the codebase has been exercised during testing, indicating thoroughness. Question 38. Concurrency challenges such as race conditions can be mitigated by: A) Proper synchronization and mutual exclusion mechanisms B) Increasing the number of threads arbitrarily C) Avoiding the use of shared resources D) Running tests sequentially only Answer: A Explanation: Proper synchronization and mutual exclusion ensure that concurrent threads do not interfere destructively, preventing race conditions. Question 39. Which is a typical consideration when designing distributed systems?