WorksheetsArchitectural Design in Software Engineering
Total questions: 91
Worksheet time: 48mins
What is the primary focus of architectural design in software engineering?
Writing code
Testing software
Identifying subsystems and establishing their control and communication
Creating user interfaces
Which of the following is a key consideration in architectural design decisions?
Color scheme of the UI
Size of the software team
How the system will be distributed
Number of lines of code
What is architecture reuse?
Rewriting old code
Using outdated software
Applying existing architectural patterns to new problems
Copying design documents
Which system characteristic is improved by localizing critical operations?
Security
Performance
Maintainability
Availability
How can architectural design support security?
By using only open-source code
Through layered architecture with critical assets in inner layers
By adding more users
With colorful UI elements
What architectural feature enhances availability?
Minimizing communication
Redundant components and fault tolerance
Making the system single-threaded
Removing layers from the architecture
What does documenting architectural decisions involve?
Writing user manuals
Recording the context, rationale, and consequences of design choices
Debugging code
Drawing UML diagrams
Which approach supports maintainability in software architecture?
Large, integrated components
Single-layered architecture
Fine-grain, replaceable components
Use of global variables
Safety in architectural design is achieved by:
Ignoring subsystem boundaries
Using untested code
Localizing safety-critical features
Adding more documentation
Which of the following is NOT a listed key consideration in architectural design?
System decomposition into modules
Approach to system structuring
Choice of programming language
Evaluation of architectural design
In which view do you show where the system components are installed on servers or hardware?
Logical View
Process View
Use Case View
Physical View
Which architectural view is mainly concerned with the organization of the code (e.g., modules, Þles, packages)?
Logical View
Development View
Use Case View
Physical View
What is the main purpose of the Use Case (Scenario) View?
To deÞne how the system is deployed
To explain the behavior of threads during execution
To describe real-life situations where users interact with the system
To organize the system's source code
Which view focuses on how the system is structured using classes and objects?
Physical View
Development View
Logical View
Process View
What does the Process View mainly focus on?
Deployment on hardware
Code structure and Þle organization
Runtime behavior and concurrency (e.g., threads, processes)
Class interactions
Which architecture style involves organizing software into separate layers such as presentation, business logic, and data access?
Microservices
Client-Server
Layered
Broker
Which architecture is characterized by a single, tightly integrated system where all functionality is combined in one codebase?
Monolithic
SOA
Broker
Event-Driven
In which architecture do components communicate through events instead of direct method calls?
Client-Server
Microservices
Event-Driven
Layered
Which architectural pattern uses a central component to coordinate communication between distributed services or components?
Microservices
Broker
Layered
SOA
Which architecture style involves a client requesting services and a server responding to those requests, often over a network?
Broker
Event-Driven
Client-Server
Monolithic
What is the main purpose of application architecture in software development?
To increase user interface complexity
To serve as a blueprint for designing and building systems
To avoid using cloud services
To centralize all hardware devices
Which architecture type involves all components being part of a single codebase?
Microservices Architecture
Serverless Architecture
Monolithic Architecture
Layered Architecture
What is a primary beneÞt of a layered architecture?
Simple deployment
Better debugging through tight coupling
High performance from fewer layers
Clear separation of concerns
Which architecture uses APIs to connect small, independently deployed services?
Client-Server
Monolithic
Microservices
Layered
What is a common drawback of Serverless Architecture?
High server maintenance
Poor performance due to cold starts
No scalability
Tight coupling between layers
Which architectural principle promotes independent modules with minimal dependencies?
High cohesion
Tight coupling
Low cohesion
Low coupling
In which architecture do components communicate by producing and consuming events?
Service-Oriented Architecture
Event-Driven Architecture
Cloud Native Architecture
Monolithic Architecture
What does the presentation layer primarily handle?
Database interactions
Core business logic
Infrastructure deployment
UI rendering and user input
What design principle focuses on dividing a system into distinct sections based on responsibility?
Cohesion
Coupling
Scalability
Separation of concerns
Which of the following is not typically a beneÞt of cloud-native architecture?
Vendor lock-in risks
Scalability
CI/CD readiness
Resilience
What is Object-Oriented Design (OOD)?
A method for creating websites using HTML and CSS
A method of designing software by modeling it as interacting objects
A way to compile software faster
A tool for database management
Which of the following is NOT a key principle of OOD?
Encapsulation
Abstraction
Inheritance
Compilation
What does Encapsulation in OOD mean?
Combining different programming languages
Hiding internal details and exposing only what’s necessary
Creating new classes from existing ones
Using a shared interface for different behaviors
Which UML diagram shows the structure of classes, attributes, methods, and relationships?
Sequence Diagram
Class Diagram
Activity Diagram
Use Case Diagram
What does UML stand for?
UniÞed Modeling Language
Universal Method Logic
UniÞed Management Layout
Unique Modeling Line
Which of the following is a beneÞt of using OOD and UML?
Makes systems harder to understand
Encourages modular, reusable, and maintainable code
Requires no documentation
Eliminates the need for team collaboration
Which UML diagram is best for showing object interactions over time?
Use Case Diagram
Sequence Diagram
Class Diagram
Activity Diagram
In the Library Management System example, which method belongs to the Librarian class?
borrowBook()
checkOut()
addBook()
returnBook()
What does Polymorphism allow in OOD?
Using multiple programming languages in one project
Using a shared interface to perform different behaviors
Creating new objects without classes
Hiding class methods from users
Which UML diagram shows the workflow or step-by-step logic?
Activity Diagram
Class Diagram
Use Case Diagram
Sequence Diagram
Which of these are not a type of design pattern?
Creational
Structural
Architectural
Behavioral
Which of the following is a Creational design pattern?
Adapter Method
Factory Method
Proxy Method
Bridge Method
What is the primary purpose of Creational design patterns?
DeÞne communication between objects
Simplify the structure of complex systems
Control object creation to ensure flexibility and reuse
Add new behaviors to objects at runtime
Which of the following is an example of a Structural design pattern?
Abstract Factory
Singleton
Facade
Observer
The Singleton pattern ensures that:
Objects are grouped into a single class
A class has only one instance and provides a global point of access to it
Each subclass has a separate instance
All objects inherit from a single base class
A behavioral design pattern that lets you go through items in a collection one by one.
Command
Iterator
Observer
Memento
Helps objects communicate with each other.
Class
Object
Mediator
Inator
Among are the most common implementation issues in design patterns except:
Overuse of design patterns
Neglecting Testing
Not knowing how to use the patterns
Changing the patterns according to changing requirements
This design pattern helps decide which object does what, and how they share tasks to handle complex actions, making the program more organized and easier to understand.
Behavioral Pattern
Structural Pattern
Creational Pattern
Technical Pattern
You are the leader in a project consisting of four members. You are tasked to create a system in one week. The system is being passed around the group, and overtime, the system grew more and more complex with the use of multiple design patterns making the code hard to maintain and understand. What implementa
What implementation issue are you facing?
Not paying attention to the project's context
Not knowing how to use patterns
Lack of documentation
Neglecting Testing
What is open source software?
Software that is free to use
Software with publicly available source code
Software that can only be modified by the original developer
Software without a license
Who launched the Free Software Movement?
Linus Torvalds
Bill Gates
Richard Stallman
Steve Jobs
What is the main advantage of open source software?
Closed development process
Expensive licensing
Transparency and community collaboration
No updates
Which of the following is a popular open source operating system?
Windows
macOS
Linux
Android (closed version)
What platform is widely used for managing open source projects?
Google Docs
GitHub
Trello
PowerPoint
Which license is known for its copyleft principles?
MIT
Apache
GNU GPL
BSD
What is a common challenge in open source development?
Too much funding
Lack of users
Sustainability and governance
Proprietary integration
Which of the following is NOT typically open source?
VLC Media Player
Mozilla Firefox
Microsoft Word
GIMP
What is the role of version control in open source projects?
Limits access to the code
Prevents code sharing
Tracks changes and enables collaboration
Deletes old versions
What organization promotes and protects open source licenses?
GNU Foundation
Apache Software Foundation
Open Source Initiative (OSI)
Microsoft
What is the main goal of software reliability testing?
To measure network speed
To ensure consistent and correct functionality over time
To reduce hardware dependency
To check user feedback only
Which of the following best describes software performance?
The number of times the software has crashed
The accuracy of the software output
The efficiency and speed of the software in responding to input
The amount of memory used by the hardware
Why is software reliability important?
It prevents user input
It ensures fast download speeds
It keeps the system running correctly without frequent failures
It focuses only on the design layout
What is one way to test software reliability?
Removing unused features
Regression testing
Changing background color
Adding music features
Which of the following is a common test for performance?
GUI interface test
Fault injection
Response time measurement
Logical proof checking
What does fault tolerance in software reliability refer to?
The software's ability to recover from errors and continue working
A system's design feature to detect colors
A marketing strategy to tolerate negative reviews
The speed of rendering graphics
What happens when software lacks performance optimization?
It functions correctly forever
It responds faster
It may be slow, laggy, or unresponsive under load
It becomes more reliable
How does throughput relate to performance testing?
It counts the number of bugs
It shows how many processes the software can handle in a timeframe
It measures storage space
It tests screen brightness
Which test is most suitable when checking how software behaves under stress or heavy load?
Unit testing
Compatibility testing
Load testing
Syntax checking
How is software reliability different from software performance?
Reliability focuses on speed, while performance focuses on stability
Reliability focuses on long-term correctness; performance on speed and efficiency
Reliability is only for websites; performance is for mobile apps
They are the same thing
What is the primary purpose of acceptance testing in software development?
To test individual components in isolation
To verify that different modules work together
To determine if the system meets agreed-upon requirements through client-led testing
To test the system's performance under load
Which testing approach involves running both old and new systems simultaneously to ensure the new system performs correctly?
Alpha Testing
Beta Testing
Parallel Testing
Unit Testing
In the project triangle concept, what happens when you try to optimize quality and time?
Cost automatically decreases
Cost must be sacrificed/increased
All three can be optimized equally
Quality must be compromised
Which type of users typically prefer conceptual models during training?
New users
Occasional users
Skilled users
Administrative users
What is a key characteristic of acceptance testing methodology?
It focuses on internal code structure
It uses black box testing approach, focusing only on user interface
It requires white box testing knowledge
It only tests individual functions
Which of the following is NOT mentioned as a category of documentation in the delivery process?
User documentation
System administrator guides
Marketing documentation
Developer documentation
In Agile development, when does acceptance testing typically occur?
Only at the end of the entire project
At the end of each sprint, with potential retesting of earlier features
Once per month regardless of sprint schedule
Only during the planning phase
What is identified as a consequence of poor delivery?
Reduced development time
Lower initial costs
Higher support and maintenance costs
Improved client satisfaction
Which risk mitigation strategy involves detecting problems early in the development process?
Realistic scheduling and resource allocation
Systematic testing at each stage
Proper investment in documentation
Quality assurance processes
What are the main components involved in 'Delivering the System' according to the document?
Only installation tools and documentation
Installation tools, documentation, and support structures
Just training materials and user guides
Only the software code and database
What is the primary objective of implementing security in software engineering?
Ensuring faster code deployment
Enhancing visual interface performance
Protecting against cyber threats and vulnerabilities
Increasing the size of development teams
Which of the following best defines the CIA triad in software security?
A government agency responsible for surveillance and encryption
A framework focused on hardware-level protection
A model for managing confidentiality, integrity, and availability of data
A method for securing software licensing and ownership
In the context of software security, which scenario demonstrates a loss of confidentiality?
A database allows access to users without authentication
A user accidentally deletes a file
A system crashes during peak hours
A checksum fails to verify a file
Which practice best supports data integrity in software systems?
Encrypting stored passwords
Restricting access using biometric authentication
Verifying file checksums to detect tampering
Scheduling regular backups for disaster recovery
A hospital implements load balancing on its systems. Which principle of the CIA triad is this supporting?
Confidentiality — because medical records are encrypted
Integrity — by ensuring audit logs are unaltered
Availability — by maintaining uptime and service access
All of the above equally
Which statement about Software Project Management aligns most with your presentation?
Its primary goal is reducing code complexity
It ensures projects meet deadlines, budget, and business goals
It focuses only on testing and stakeholder feedback
It replaces the need for traditional security measures
What best defines the role of ‘Risk Management’ in a software project?
Eliminating technical bugs during testing
Identifying and preparing for uncertainties that may impact the project
Hiring cybersecurity consultants post-deployment
Measuring code quality for user feedback
Which of the following is NOT a focus of stakeholder engagement in software projects?
Communicating with clients and investors
Encrypting confidential files during transmission
Understanding end-user needs
Aligning features with business value
What legal issue might arise from reusing open-source code without checking the license?
System instability due to unsupported dependencies
Copyright infringement or IP theft
Lower customer satisfaction
Delayed agile sprints
Why is compliance with data protection laws such as GDPR or HIPAA critical in software development?
It improves UI consistency across regions
It prevents legal actions, fines, or software bans
It enables faster project delivery
It guarantees software will be immune to attacks
