NEW
Font size
WorksheetsSoftware Engineering Midterm Review
Total questions: 26
Worksheet time: 13mins
What distinguishes software systems from software products?
Software systems are market-driven, while software products are customer-driven.
Software products are market-driven, while software systems are customer-driven
Software systems never require maintenance.
Software products never need user input.
Which software engineering approach is better for long-term, stable enterprise software?
Agile
Waterfall
Extreme Programming
Scrum
Which of the following is a characteristic of software systems?
Rapid updates and changes
Only developed by small teams
Long maintenance cycles and strict stability
Used only in web applications
Which factor makes software products more flexible than software systems?
Less user feedback
Faster release cycles and market-driven updates
No need for version control
Limited customer base
Which development model allows for frequent requirement changes?
Waterfall
Agile
V-Model
Spiral Model
What is the main goal of software engineering?
Writing code as quickly as possible
Applying systematic approaches to software development
Eliminating the need for maintenance
Avoiding the use of development methodologies
What is a software product line?
A single software program with no variations
A company that sells multiple unrelated software programs
A software system that never requires updates
A set of software products that share a common core with variations
Which of these is an example of a software platform?
Microsoft Excel
Google Docs
Facebook API
Calculator App
What are the three fundamental questions a product vision should answer?
What is the product? Who are the users? Why should customers buy it?
What coding language is used? Who is the CEO? What is the budget?
Who developed it? How many employees were involved? What is the UI style?
What is the product's name? What font does it use? What operating system is it on?
Which execution model involves delivering all features through the cloud?
Standalone
Software as a Service (SaaS)
Hybrid
Desktop-based
Why is rapid delivery important in software product engineering?
To capture the market before competitors
To minimize security risks
To avoid the need for testing
To ensure the code is never modified
Which Agile methodology focuses on pair programming and test-driven development?
Scrum
Waterfall
Extreme Programming (XP)
Kanban
What is the primary goal of Agile development?
Delivering working software in small, iterative releases
Avoiding customer feedback until the final product is ready
Writing detailed documentation before coding starts
Following a rigid, unchangeable plan
In Scrum, what is the purpose of a Sprint?
A short, focused development cycle to deliver a working feature
A final stage of development before release
A time for team members to take a break from coding
A method for organizing software documentation
What happens in a daily Scrum meeting?
The team submits a full project report
Developers present their finished work to clients
Team members share progress, plans, and obstacles
A project manager assigns work without discussion
What is the role of a ScrumMaster?
Assign tasks to each developer
Guide the team in following Scrum principles and remove obstacles
Approve all code before deployment
Write detailed project documentation
Which UML diagram represents how users interact with a system?
Class diagram
Sequence diagram
Use case diagram
State diagram
Which UML diagram models interactions between system components over time?
Activity diagram
Class diagram
Sequence diagram
Context diagram
What is the purpose of a class diagram?
Represent the structure of a system’s objects and relationships
Show how a system reacts to user input
Model the workflow of a process
Represent interactions between users and the system
Which perspective in UML focuses on how the system behaves in response to events?
Structural perspective
Interaction perspective
Behavioral perspective
External perspective
What does an activity diagram represent?
Data flow between system components
The sequence of operations in a process
User permissions and security settings
The system’s hardware configuration
Which architecture style organizes software into layers where each layer serves the one above it?
Pipe-and-Filter
Layered Architecture
Repository Architecture
Client-Server
Which architectural pattern is commonly used in web applications to separate UI, business logic, and data access?
Model-View-Controller (MVC)
Repository Architecture
Pipe-and-Filter
Peer-to-Peer
What is a key benefit of microservices architecture?
Independent services can be deployed and scaled separately
All services run in a single process
Eliminates the need for security layers
Simplifies database management by using a single large repository
What is a potential downside of layered architecture?
It is difficult to add new layers
Debugging through multiple layers can be complex
It doesn’t support modular development
Layers must all be updated simultaneously
How does a repository architecture manage data?
Each component has its own independent data store
All components share a central data repository
Data is transferred through sequential pipelines
Data is only stored in the user interface layer
