NEW
Font size
WorksheetsSoftware Engineering Quiz
Total questions: 80
Worksheet time: 40mins
What is the main purpose of software engineering?
To produce hardware more cost-effectively
To develop reliable and trustworthy software systems quickly and economically
To minimize the number of programmers required
To make software products more expensive
Which of the following is a key activity in the software development life cycle?
Product marketing
Resource scheduling
Software validation
Legal auditing
Which software development model is best suited for projects with clearly defined and stable requirements?
Waterfall
Agile
Spiral
Prototype
What does the V in V-Model stand for?
Velocity
Verification and Validation
Version
Visualization
Which model emphasizes risk analysis and is suitable for high-risk projects?
Agile
Prototype
Spiral
Waterfall
In Agile development, which value is preferred according to the Agile Manifesto?
Individuals and interactions over processes and tools
Contract negotiation over customer collaboration
Following a plan over responding to change
Comprehensive documentation over working software
What architectural style promotes "high cohesion" and "loose coupling"?
Monolithic
Layered
Any good modular architecture design
Microservices only
Which architectural pattern uses a centralized data store accessed by multiple agents?
MVC
Pipes and Filters
Repository
Blackboard
Which quality attribute is not observable at runtime?
Maintainability
Performance
Availability
Usability
What is a key limitation of the Pipes and Filters architectural style?
Cannot be reused
Requires interactive GUI
Overhead of data transformation
No concurrency is possible
What is the first activity in the SDLC?
Requirements specification
Testing
Maintenance
Deployment
Which type of requirement specifies constraints on system operation?
Functional
Non-functional
Structural
Procedural
What is the goal of verification in software validation?
Ensure the product meets its specifications
Ensure the product has no errors
Ensure the product has good performance
Ensure the product is deployed correctly
What is a functional requirement?
Describes what the system should do
Specifies the programming language to use
Defines user interface colors
Describes organizational policies
What process checks the consistency and completeness of requirements?
Debugging
Design modeling
Requirements validation
User training
Which software model delivers parts of the system in multiple small increments?
Waterfall
Incremental
RAD
V-Model
Which process model is most suitable for systems with evolving requirements?
Waterfall
V-Model
RAD
Iterative
Which architecture style is best for streaming data transformations?
Layered
Repository
Pipes and Filters
Client-Server
In Extreme Programming, what is the main technique for evolving system design?
Refactoring
Waterfall planning
Formal documentation
Monolithic scaling
Which practice is essential in test-driven development?
Writing tests before writing code
Running tests only at the end
Ignoring failing tests
Documenting only critical features
What does "Software Evolution" in SDLC refer to?
Creating new versions every year
Adapting the software to new requirements or environments
Increasing the code size
Switching programming languages
What does the RAD model emphasize?
Prototyping and fast delivery
Formal documentation
Rigid phases
Monolithic systems
What is a domain requirement?
Requirements created by developers
Requirements imposed by the system's application domain
Interface requirements
Constraints imposed by budget
What is the main output of the design phase?
Software Design Description (SDD)
Executable code
Test plan
Project charter
What is a connector in software architecture?
A class
A test case
A mechanism for communication between elements
A functional requirement
In software engineering, what is the role of prototyping?
To help understand user requirements
To generate marketing materials
To speed up hardware development
To replace the final product
What is the primary role of a software architect?
Writing UI code
Managing budgets
Translating requirements into architectural designs
Creating advertisements
What does the Spiral model uniquely emphasize?
Risk management
Code reuse
Debugging
Customer contracts
What kind of requirements change is common after software delivery?
Network hardware upgrade
New features requested by users
Lower CPU usage
Security patching
Which architectural style best supports modularization and independent deployment?
Batch sequential
Monolithic
Microservices
Pipes and Filters
Which component is not part of the architectural elements?
Elements
Connectors
Functional tests
Constraints
What is traceability in requirements engineering?
The ability to track each requirement to its origin
The ability to modify all requirements at once
The ability to trace errors
The ability to assign tests
Which activity focuses on establishing what services the system must provide?
Specification
Implementation
Evolution
Maintenance
What is the key benefit of layered architecture?
It's faster than microservices
It eliminates interfaces
Supports separation of concerns
Requires fewer developers
Which of the following is true about Extreme Programming (XP)?
Code is tested after every change
Developers work in silos
Customers are rarely involved
Long planning phases are necessary
What does "component-based architecture" promote?
Reusability
Tight coupling
Hard-coded dependencies
Monolithic design
What is the primary use of user stories in XP?
Marketing
Capturing requirements
Writing code
Testing APIs
What are non-functional requirements concerned with?
Business goals only
Code syntax
System constraints like performance and usability
License agreements
What model requires each phase to be completed before the next begins?
Waterfall
Incremental
Agile
Spiral
What is software validation concerned with?
Installation procedures
Checking the software against its requirements
What model includes both development and corresponding test phases for each stage?
V-Model
RAD
Agile
Spiral
What is a key benefit of Agile methods?
Fixed scope
Rapid response to change
Detailed documentation
Centralized team
What is one limitation of the Batch Sequential Architecture?
High latency
Real-time data support
Incremental execution
Embedded controller design
What is a microservice?
A monolithic package
A small independent deployable unit
A plug-in
A GUI component
In RAD model, what allows for faster delivery?
Heavy documentation
Parallel development of modules
Centralized team structure
Code reuse only
Which attribute is emphasized in software designed for safety-critical systems?
Aesthetics
User engagement
Reliability
Profit margin
What is software refactoring?
Improving internal structure without changing behavior
Removing test code
Writing UI from scratch
Optimizing database
What is a drawback of the monolithic architecture?
High modularity
Loose coupling
Difficult to scale independently
High latency
What happens during the "Implementation" phase of SDLC?
Requirements are validated
Architecture is chosen
Code is written based on design
Tests are planned
What type of system often uses process-control architecture?
Embedded systems
Web applications
Entertainment apps
Chatbots
What type of project is best suited for Agile development?
Large government project
Small to medium-sized project
Hardware control system
High-assurance safety systems
Which of these is NOT part of the architectural design process?
Identify components
Define interactions
Select style
Develop UI colors
Which requirement type is hardest to verify?
Non-functional
Functional
User story
Interface
What is meant by "loose coupling"?
Minimal documentation
Test-driven development
Minimal dependencies between components
Small team size
What defines the "Repository" architectural style?
Central shared data store accessed by components
Stateless transactions
Real-time update loops
Push notification system
What is the purpose of requirement elicitation?
Test case writing
Discovering stakeholder expectations
Debugging code
Deploying software
In test-first development, what is done before coding?
Write automated tests
Draw UML diagrams
Refactor legacy systems
Configure servers
What kind of software project is DevOps best suited for?
One-man startup
Offline desktop tool
Complex projects involving QA and CI/CD
Prototypes only
What is the goal of design refactoring?
Improve code performance
Simplify structure and improve readability
Add new features
Remove comments
Which term refers to how well a requirement can be tested?
Verifiability
Flexibility
Usability
Compatibility
Which architectural style supports the MVC pattern?
Pipes and Filters
Monolithic
Spiral
Interaction-Oriented Architecture
What is an example of asynchronous communication architecture?
Batch sequence
Monolithic design
Event-based system
Repository-based
What is an advantage of component-based architecture?
Component reuse
Tight integration
Increased coupling
Single build script
What is a software requirement that defines a function or feature?
Functional requirement
Constraint
Design decision
Interface style
Which style divides a system into presentation, logic, and data?
Client-server
Layered
MVC
Spiral
What is the main characteristic of the waterfall model?
Each phase must be completed before the next
Frequent testing
End-user involvement
Daily builds
What is one limitation of the RAD model?
Too much documentation
Poor scalability for large teams
Requires no coding
Not iterative
What describes "blackboard" architecture style?
Services listening to queues
Filters arranged in series
Shared global memory (blackboard) accessed by agents
Real-time control
Which principle is NOT in the Agile Manifesto?
Working software over documentation
Individuals over processes
Contract negotiation over collaboration
Process over interactions
In software engineering, what does "reuse" mean?
Using the same programmer
Utilizing existing components/modules
Writing code in multiple languages
Rebuilding the software from scratch
Which layer typically handles business logic in a layered architecture?
Application layer
Presentation layer
Infrastructure layer
Physical layer
What is one benefit of high cohesion?
Easier coupling
Easier maintenance
More dependencies
Faster deployment
What is NOT a principle of software architecture?
Encapsulation
Centralized governance
Modularity
Scalability
Which architectural pattern uses sensors and control loops?
MVC
Process-Control Architecture
Pipes and Filters
Service-Based Architecture
What is the outcome of "Integration and Test" in SDLC?
Requirements document
Deployment plan
Verified working system
Budget sheet
Why is requirements validation important?
To ensure the system meets customer needs
To skip testing
To reduce UI bugs
To deploy automatically
Which model combines waterfall and risk-driven approaches?
RAD
Spiral
Incremental
DevOps
What is the goal of a use case in software design?
Describe user interactions
Optimize database
Define colors and fonts
Write code templates
What are "user stories" in XP?
Long documents
Short descriptions of features from the user's perspective
Test cases
UML diagrams
What architecture is ideal for cloud-based applications needing independent scaling?
Monolithic
Microservices
Repository
RAD
