WorksheetsSoftware Engineering Quiz-1
Total questions: 60
Worksheet time: 3600secs
Which of the following characteristics of software primarily contributes to the challenge of predicting development effort accurately?
Portability
Malleability
Complexity
Interoperability
Software being intangible means:
It cannot be updated once delivered
It cannot be physically touched or seen
It is always portable across systems
It cannot be modified
The fact that each software product is unique means:
The development cost is always the same
No two projects are exactly alike, even with similar goals
Every software must use different programming languages
Testing is not reusable between products
Which key characteristic of software could also introduce unintended defects if not managed carefully?
Changeability
Security
Functionality
Portability
A software acting as a 'vehicle' in embedded systems refers to:
Delivering other products like controlling hardware components
Being a standalone product for customers
Operating without any hardware dependency
Being a purely theoretical model
Portability in software means:
The software can run without security risks
The software can operate across various platforms and systems
The software can work only in online mode
The software requires minimal maintenance
Which of the following best differentiates 'software' from 'hardware'?
Hardware is changeable; software is fixed
Hardware degrades physically; software degrades logically
Hardware is intangible; software is tangible
Hardware is malleable; software is static
Security as a software characteristic primarily ensures:
High performance on all platforms
Protection against unauthorized access and attacks
Faster execution of processes
Automatic adaptability to new environments
Which of the following is NOT a feature of WebApps?
Network-Intensive
Browser-Executable
Hardware-dependent execution
Cross-Platform Compatibility
In WebApps architecture, which component primarily handles business logic and generates responses?
Web Server
Application Server
Database
Client Browser
Continuous evolution in WebApps implies:
Rare updates
Frequent updates and improvements
Static deployment
One-time release cycles
Which feature ensures WebApps remain usable under different network speeds?
Content-Driven Design
Performance-Oriented Design
Maintainability
Incremental Development
Availability and Accessibility in WebApps mean:
They can be accessed anytime, anywhere via the internet
They need specific local installation
They only function on specific operating systems
They are designed only for offline use
The main advantage of WebApps' central maintenance is:
Updates need to be installed on every user device
Updates happen centrally, reducing user effort
Updates are unnecessary after deployment
Users can control when to apply updates
Which of these is an example of a WebApp?
Microsoft Word desktop version
Google Docs
BIOS firmware
Printer driver software
Which myth assumes late requirement changes are cost-free?
Developer Myth
Manager Myth
Customer Myth
Designer Myth
Which is a fact contradicting the myth 'Once we write the code and it works, the job is done'?
Maintenance and testing stop after delivery
Maintenance, updates, and testing continue post-development
Requirements never change after deployment
Code never needs improvement
The myth 'We have all the standards and procedures available for software development' is held by:
Customers
Developers
Managers
Testers
Believing that testing is unnecessary is a myth held by:
Customers
Managers
Developers
Stakeholders
Which consequence is common to all software myths?
Improved decision-making
Reduced project costs
Unrealistic expectations and poor workflows
Immediate error detection
Late requirement changes mainly affect:
Documentation format
Cost and system stability
Programming language choice
File naming conventions
The main difference between 'elicitation' and 'analysis' is:
Elicitation collects requirements; analysis studies and organizes them
Elicitation validates requirements; analysis documents them
Elicitation focuses on testing; analysis focuses on coding
Both are identical processes
Which activity ensures requirements are correct and complete?
Verification
Validation
Documentation
Elicitation
Prioritization during requirements analysis is important because:
It eliminates the need for documentation
It decides which requirements should be addressed first
It ensures no requirements are gathered
It replaces the need for testing
Modeling requirements helps by:
Hiding ambiguities
Creating visual representations to aid understanding
Eliminating the need for stakeholders
Automating all coding tasks
Verification of requirements ensures they are:
Ambiguous and flexible
Clear, unambiguous, and testable
Costly and changeable
Ignored in design
Which requirement gathering method is most effective for capturing real-time user behavior?
Interviews
Observations
Surveys
Brainstorming
Documentation of requirements is important because:
It replaces coding
It clearly states what is required
It prevents stakeholder communication
It increases ambiguity
An SRS document's main role in communication is to:
Reduce cost of programming languages
Act as a formal agreement between customers and developers
Serve as a replacement for system testing
Eliminate the need for project planning
Functional requirements in an SRS define:
How fast the system should perform
Security and reliability aspects
Specific features, calculations, and user interactions
Project constraints and dependencies
Non-functional requirements in an SRS focus on:
Describing algorithms in detail
Performance, usability, and security constraints
Functional modules of the system
Use cases and workflows
Use cases in an SRS are useful for:
Providing abstract mathematical models
Describing real user interactions with the system
Replacing the need for test cases
Detailing low-level algorithms
The 'System Context' in an SRS should specify:
Design patterns and classes
The environment where the software will operate
A list of user interface elements only
Possible code libraries
A well-prepared SRS reduces development costs primarily by:
Eliminating the need for designers
Preventing misunderstandings and rework
Reducing the need for testing
Avoiding requirement validation
Which of the following is NOT typically included in an SRS?
Functional Requirements
Non-functional Requirements
Source Code Implementation
Use Cases
The completeness of an SRS means:
It only includes critical requirements
It covers all functional and non-functional requirements
It is free from spelling errors
It contains only developer-approved content
Requirements traceability primarily ensures:
All requirements are implemented and tested
The project scope remains undefined
Functional requirements are omitted
System design is skipped
Change traceability is essential because it:
Helps in ignoring ripple effects of modifications
Tracks the impact of changes on the system
Prevents the addition of new requirements
Eliminates the need for regression testing
Which tool is most commonly used for mapping relationships between requirements and artifacts?
Gantt Chart
Traceability Matrix
Use Case Diagram
Data Flow Diagram
One key benefit of traceability is:
Increased ambiguity
Reduced risk
Reduced requirement documentation
Limited test coverage
Requirements management tools with traceability features are used to:
Write program code directly
Manage, track, and relate requirements to design and tests
Replace system models
Automate debugging
Improved quality from traceability mainly comes from:
Ensuring requirements are never changed
Ensuring requirements are consistently verified and validated
Removing stakeholder input
Limiting the scope of testing
An unambiguous requirement in an SRS means:
It can be interpreted in multiple ways
It has only one clear meaning
It avoids specifying outcomes
It is flexible for developer interpretation
Modifiability in an SRS ensures:
Requirements can be updated without affecting clarity
No changes can be made
Changes are undocumented
The document is replaced frequently
Verifiability in an SRS means:
Requirements are vague but testable
Requirements can be tested to confirm implementation
Requirements are based only on user preference
Testing is not required for the requirement
Feasibility ensures requirements are:
Ambiguous and costly
Technically and operationally possible
Only aesthetically pleasing
Ignored during design
The main objective of IEEE 830 is to:
Define programming languages for SRS
Standardize the structure and content of SRS documents
Automate requirement gathering
Eliminate all non-functional requirements
In IEEE 830, the 'Overall Description' section focuses on:
Detailed algorithms
High-level system overview without detailed requirements
Source code listing
Testing procedures
The 'Specific Requirements' section in IEEE 830 includes:
Functional, non-functional requirements, and interfaces
Only project objectives
Only high-level diagrams
Developer bios
Which is NOT a benefit of following IEEE 830 guidelines?
Uniform format for SRS documents
Clear communication among stakeholders
Increased ambiguity in requirements
Better planning and estimation
Which section of IEEE 830 SRS would list hardware and regulatory constraints?
Introduction
Overall Description
Specific Requirements
Use Cases
The 'Purpose' in the Introduction section of IEEE 830 SRS explains:
Who the development team members are
Why the document exists and what it aims to achieve
How the source code is structured
What tools are used for development
Decision tables are most effective when:
There are few simple rules
There are multiple conditions with complex combinations
No conditions are required
System logic is sequential without choices
In decision trees, leaf nodes represent:
Initial conditions
Branching options
Final actions or outcomes
Conflicting requirements
One major advantage of decision trees over plain text is:
They reduce the need for documentation
They visually represent branching logic clearly
They eliminate the need for testing
They prevent requirement changes
Formal methods are mainly applied in:
Casual gaming software
Safety-critical systems like medical devices
Social media platforms only
Simple calculator applications
The key advantage of formal methods is:
Delaying error detection until after coding
Early detection of errors and inconsistencies
Reduced need for specification
Eliminating all stakeholder involvement
In axiomatic specification, preconditions define:
What must be true before the operation starts
What is guaranteed after the operation finishes
Optional steps for the operation
The internal algorithm
In algebraic specification, 'sorts' define:
The operations on data types
The data types themselves
The algorithm flow
The final output
Which is NOT a limitation of formal methods?
Require special training
Can be costly and time-consuming
Easy to apply to large complex systems
Hard to apply to large complex systems
