Font size
WorksheetsSoftware Engineering Quiz
Total questions: 173
Worksheet time: 1hrs 29mins
Software Engineering is concerned with __________, ____________, and _______________________ for professional software development.
Theories, Methods, Tools
Hardware, Software, Firmware
Cost, Time, Resources
Specification, Validation, Design
Software costs often dominate computer system costs. The costs of software on a PC are often ____________ than the hardware cost.
Cheaper
Greater
Equal
Less
What are the fundamental software engineering activities?
Specification, Development, Validation, Evolution
Testing, Maintenance, Deployment
Coding, Debugging, Documentation
Planning, Design, Monitoring
Which of the following is not a software process model?
Waterfall
Spiral
Agile
Process Matrix
What is the main goal of software engineering?
Develop software that is maintainable and dependable
Maximize profits
Minimize development time
Reduce hardware costs
Which of the following is NOT a software development life cycle (SDLC) phase?
Coding
Analysis
Hardware Selection
Maintenance
Why do many software projects fail?
Lack of clear requirements
Insufficient testing
Poor project management
All of the above
Which model involves customer feedback and incremental improvements?
Waterfall
Spiral
Agile
V-Model
Software Evolution refers to:
Modifying software to reflect changing customer requirements
Developing new software
Discarding outdated software
Integrating software with hardware
The Spiral Model combines which two approaches?
Waterfall and Agile
Prototyping and Waterfall
Iterative and Linear
Testing and Design
Which of the following is not a generic software product?
Photoshop
Microsoft Word
Custom-made payroll system
Web Browser
Which of these is considered a key attribute of good software?
Flexibility
Inconsistency
Speed
Dependability
Software that is developed to meet a specific need for a particular client is called:
Generic software
Custom software
Open-source software
Application software
The Waterfall Model is a:
Linear sequential model
Prototype model
Incremental model
Iterative model
Which of the following activities is performed during Software Validation?
Coding
Testing
Documentation
Analysis
The RAD Model emphasizes:
Rapid prototyping and quick feedback
Detailed documentation
Delayed user involvement
Large scale project management
What is Software Testing?
Creating software
Evaluating software to detect errors
Documenting software
Debugging software
Stand-alone applications are:
Systems that run on a local machine without a network
Network applications
Embedded systems
Distributed applications
Which of the following activities is NOT part of software engineering?
Requirement gathering
Data processing
Software testing
Software deployment
A prototype model is most useful when:
Requirements are not clear
There is limited interaction with the customer
The project has a low budget
The technology is mature
Software specification involves:
Defining the software's purpose and requirements
Coding the software
Installing the software
Testing the software
Software Engineering focuses on:
Technical development only
Project management only
Both technical and project management aspects
Marketing only
Software Maintainability is an attribute that implies:
Easy correction and adaptation of software
High user satisfaction
Lower development cost
Faster hardware requirements
Software Process includes:
Analysis, coding, validation
Analysis, specification, design, validation, evolution
Testing and deployment only
Coding and debugging only
Which of the following is NOT a software engineering challenge?
Coping with increasing diversity
Reducing delivery time
Developing trustworthy software
Lowering hardware costs
Software Architecture is:
Detailed design of the system components
The basic structure of the system
Coding style
Database management
Which is a disadvantage of the Waterfall Model?
Flexibility in requirements
Sequential execution with little user feedback
Low documentation requirements
High cost
Iterative Model is:
Process where software is developed in repeated cycles
A model without user feedback
Only used in small projects
A strict model without flexibility
Which of the following best describes Embedded Control Systems?
Systems that operate independently of the hardware
Systems embedded within devices to control functionality
Network-based applications
Database management systems
Software Engineering is an engineering discipline that is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use.
Software Engineering
Computer Science
Information Technology
Systems Engineering
Software Engineering is concerned with __________, ____________, and _______________________ for professional software development.
Theories, Methods, Tools
Design, Development, Testing
Planning, Execution, Delivery
Analysis, Design, Implementation
Software costs often dominate computer system costs. The costs of software on a PC are often ____________ than the hardware cost.
Less
Greater
Equal
Negligible
What are the fundamental software engineering activities?
Specification, Development, Validation, Evolution
Planning, Coding, Testing
Design, Implementation, Maintenance
Analysis, Design, Development
Which of the following is not a software process model?
Waterfall Model
Spiral Model
Agile Model
Process Matrix
What is the main goal of software engineering?
Develop software that is maintainable and dependable
Create software that is user-friendly
Reduce software development costs
Increase software performance
Which of the following is NOT a software development life cycle (SDLC) phase?
Requirements Analysis
Design
Testing
Hardware Selection
Why do many software projects fail?
Lack of user involvement
Poor project management
Inadequate requirements
All of the above
Which model involves customer feedback and incremental improvements?
Waterfall
Agile
Spiral
V-Model
Software Evolution refers to:
Modifying software to reflect changing customer requirements
Creating new software from scratch
Upgrading hardware components
Implementing security measures
The Spiral Model combines which two approaches?
Prototyping and Waterfall
Agile and Waterfall
Incremental and V-Model
RAD and Waterfall
Which of the following is not a generic software product?
Commercial software
Open-source software
Custom-made payroll system
Shareware
Which of these is considered a key attribute of good software?
Usability
Dependability
Performance
Scalability
Software that is developed to meet a specific need for a particular client is called:
Custom software
Commercial software
Open-source software
Proprietary software
The Waterfall Model is a:
Linear sequential model
Iterative model
Incremental model
Spiral model
Which of the following activities is performed during Software Validation?
Requirements gathering
Testing
Design review
Code review
The RAD Model emphasizes:
Rapid prototyping and quick feedback
Extensive documentation
Long development cycles
User involvement
What is Software Testing?
Evaluating software to detect errors
Creating test cases
Debugging software
Designing software
Stand-alone applications are:
Systems that run on a local machine without a network
Web applications
Mobile applications
Cloud-based applications
Which of the following activities is NOT part of software engineering?
Data processing
Requirements analysis
Design
Testing
A prototype model is most useful when:
Requirements are not clear
Requirements are well-defined
Budget is limited
Time is short
Software specification involves:
Defining the software's purpose and requirements
Creating user interfaces
Writing code
Testing software
Software Engineering focuses on:
Both technical and project management aspects
Only technical aspects
Only project management aspects
User experience
Software Maintainability is an attribute that implies:
Easy correction and adaptation of software
High performance
User-friendly interfaces
Low cost
Software Process includes:
Analysis, specification, design, validation, evolution
Coding, testing, deployment
Planning, execution, delivery
Documentation, maintenance, support
Which of the following is NOT a software engineering challenge?
Lowering hardware costs
Managing requirements
Ensuring quality
Meeting deadlines
Software Architecture is:
The basic structure of the system
The design of user interfaces
The coding standards
The testing strategy
Which is a disadvantage of the Waterfall Model?
Sequential execution with little user feedback
Flexibility in requirements
High user involvement
Rapid development
Iterative Model is:
Process where software is developed in repeated cycles
A linear approach to software development
A model with no user feedback
A model that focuses on documentation
Which of the following best describes Embedded Control Systems?
Systems embedded within devices to control functionality
Standalone systems
Cloud-based systems
Web applications
What is software engineering?
The process of designing, developing, and maintaining software
The study of computer hardware components
The creation of video games
A subset of electrical engineering
Which of the following is NOT a characteristic of good software?
Reliability
Maintainability
Expensiveness
Usability
Who is considered the 'Father of Software Engineering'?
Bill Gates
Alan Turing
Barry Boehm
Frederick Brooks
Which phase of software development involves gathering requirements?
Coding
Testing
Requirements Analysis
Maintenance
What does SDLC stand for?
Software Design Life Cycle
System Development Life Cycle
Software Development Life Cycle
System Design Life Cycle
Which model is also known as the 'Waterfall Model'?
Agile Model
V-Model
Incremental Model
Sequential Model
In software engineering, what is a 'stakeholder'?
A person who writes code
An individual or group that has an interest in the project
A software testing tool
A type of software design pattern
Which of the following is an example of a functional requirement?
The system shall handle 1000 transactions per second
The user interface shall be user-friendly
The system shall allow users to reset their passwords
The system shall be available 99% of the time
What is the main goal of the testing phase in software development?
To fix all bugs in the software
To ensure that the software meets requirements and works as expected
To design the user interface
To deploy the software
Which of the following is a non-functional requirement?
The system should allow users to log in
The software should be compatible with mobile devices
The user should be able to download reports
The system should process transactions
What are the four main activities of the SDLC?
Planning, Testing, Debugging, Maintenance
Specification, Design/Implementation, Validation, Evolution
Design, Implementation, Debugging, Validation
Specification, Testing, Prototyping, Deployment
What does the 'Evolution' stage in SDLC involve?
Debugging the software
Changing the system to meet evolving needs
Writing new specifications
Testing all components
Which software process focuses on incremental planning and adaptability?
Plan-driven process
Waterfall process
Agile process
V-Model process
The 'Specification' activity in the software process focuses on:
Designing the database structure
Writing code
Defining what the system should do
Testing the software
Which activity involves checking if the system meets customer requirements?
Specification
Validation
Evolution
Implementation
What is the primary goal of 'Design and Implementation'?
Validate system requirements
Define system constraints
Convert specifications into an executable program
Review customer feedback
Functional requirements define:
Constraints on system development
The services the system should provide
System testing processes
High-level architectural design
What is an example of a non-functional requirement?
User login functionality
System response time within 2 seconds
Product catalog search
Adding an item to the cart
What is the first step in requirements engineering?
Validation
Specification
Elicitation
Documentation
Requirements elicitation does NOT include:
Requirements discovery
Requirements validation
Requirements prioritization
Requirements negotiation
What is the main purpose of requirements validation?
To verify the coding standards
To ensure requirements align with customer needs
To test software components
To improve system performance
Which of the following is NOT a requirements validation technique?
Prototyping
Debugging
Test-case generation
Requirements reviews
What is the cost impact of fixing a requirements error after delivery?
10 times the cost of fixing a code error
50 times the cost of fixing a code error
100 times the cost of fixing a code error
500 times the cost of fixing a code error
What is the first step in the design process?
Database design
Interface design
Architectural design
Component selection
Implementation involves:
Testing user requirements
Writing the source code
Negotiating stakeholder priorities
Creating prototypes
Debugging is the process of:
Writing system specifications
Fixing faults in the program
Validating the requirements
Designing user interfaces
Verification is defined as:
"Are we building the product right?"
"Are we building the right product?"
Testing system usability
Debugging the source code
Validation focuses on:
System specifications
Customer requirements
Implementation efficiency
Database accuracy
Which is NOT a stage of software testing?
Component testing
System testing
Marketing testing
Customer testing
Software evolution refers to:
Debugging errors in the system
Changing software to meet new requirements
Documenting requirements
Reviewing test cases
Which is NOT a reason for software change?
New hardware introduction
Changes in business environment
Stable requirements
New system errors
What is the 'servicing' stage in software evolution?
Adding new functionality
Fixing bugs and maintaining operation
Replacing outdated components
Rewriting the entire system
What is a key characteristic of a plan-driven process?
Flexibility to changes
Detailed upfront planning
Continuous customer feedback
Minimal documentation
Agile processes typically involve:
Fixed scope and timeline
Rigid adherence to initial plans
Incremental development and frequent delivery
Long-term documentation
What is a common element of both plan-driven and agile processes?
No requirement validation
Inclusion of system testing
Lack of stakeholder involvement
Ignoring customer requirements
Requirements discovery focuses on:
Requirements discovery focuses on:
Writing test cases
Identifying stakeholder needs
Implementing software solutions
Reviewing system architecture
What is requirements prioritization?
Organizing stakeholders by importance
Deciding which requirements are most critical
Testing system components first
Writing requirements in order
Negotiation in requirements engineering ensures:
Resolving conflicts between stakeholders
Finalizing test plans
Organizing system design activities
Prioritizing code optimization
Functional requirements specify:
How the system behaves under specific conditions
Constraints like timing or security
The tools required for system development
System evolution strategies
Domain requirements are:
High-level functional descriptions
Constraints specific to the application domain
General software design principles
Testing methodologies
What is an example of a functional requirement?
The system shall authenticate users before access
The system shall respond within 2 seconds
The system must comply with ISO standards
The system should be easy to maintain
Architectural design involves:
Creating a user interface
Defining overall system structure and components
Writing system specifications
Testing software modules
Which design activity focuses on creating interfaces between system components?
Architectural design
Interface design
Database design
Component selection
What is the relationship between design and implementation?
Completely independent activities
Sequential and unrelated
Closely interleaved and iterative
Conducted by separate teams
Validation testing ensures:
Correct integration of system components
System functionality meets customer expectations
Internal system architecture is optimized
No defects exist in the program
What is the primary purpose of defect testing?
To validate customer requirements
To discover software faults or errors
To test user satisfaction
To improve system performance
Which is NOT a stage of software testing?
Component testing
Performance testing
Code documentation
Customer testing
Which factor does NOT drive software changes?
New business regulations
Hardware upgrades
Customer satisfaction surveys
Emergence of new errors
What is 'phase-out' in the software life cycle?
Adding features to existing software
Maintaining critical systems
Discontinuing system updates and changes
Initial system testing
Evolution processes depend on:
Developer preferences
Type of software and development practices
Customer deadlines only
Static requirements
What is the input of software design in SDLC?
Software Requirements Specification (SRS)
Software Design Description (SDD)
Deployment Plan
Test Cases
Which of the following is NOT a benefit of good software architecture design?
Reduces risks
Ensures low-quality software
Facilitates teamwork
Enhances traceability(theo dõi)
What is the primary output of software design?
Implementation Code
Test Scripts
Software Design Description (SDD)
Deployment Guide
Which standard defines software architecture as 'the fundamental organization of a system embodied in its components'?
IEEE 1471:2000
ISO 9001
CMMI
PMBOK
Who is mainly responsible for developing the software architecture?
Project Manager
Software Architect
Business Analyst
Quality Analyst
Which architectural style is also referred to as 'Architecture Patterns'?
Monolithic Architecture
Architectural Styles
Microservices
Object-Oriented
Which component in an architectural style defines how elements integrate to form the system?
Constraints
Connectors
Attributes
Elements
What is the focus of a Monolithic architecture?
Small and simple software systems
Distributed systems
Interaction-oriented systems
Asynchronous communication
Which of the following describes Data Flow Architecture?
Sequence of data transformations
Repository for centralized data storage
Collection of loosely connected objects
Layered hierarchy
In Batch Sequential Architecture, when can a subsystem begin its process?
Anytime
After the previous subsystem completes
At a fixed schedule
Upon user request
Which architectural style uses components like Data Source, Pipes, Filters, and Data Sink?
Repository
Blackboard
Pipes and Filters
Layered
What is a major benefit of the Pipes and Filters architecture?
High latency
Concurrency
Limited scalability
Interactive user interfaces
What is a major benefit of the Pipes and Filters architecture?
High latency
Concurrency
Limited scalability
Interactive user interfaces
Which architecture is commonly used for embedded systems like temperature control?
Pipes and Filters
Process-Control Architecture
Repository
Object-Oriented
In Blackboard Architecture, which component is active?
Blackboard
Agents
Controller
Filters
Which architectural style emphasizes the use of encapsulation, inheritance, and polymorphism?
Component-Based
Object-Oriented
Layered
Virtual Machine
Which architecture splits the system into reusable software components?
Monolithic
Component-Based
Microservices
Multi-Tier
What is the primary purpose of the Layered architecture?
High reliability
Functional separation
Embedded control systems
Asynchronous communication
Which architectural style supports redundancy and fault tolerance?
Master-Slave
Main-Subroutine
Repository
Pipes and Filters
What is the virtual machine architecture commonly used for?
Real-time systems
Creating emulators
Web-based applications
Distributed systems
Which architecture divides the system into services, each serving a specific business need?
SOA
Microservices
Pipes and Filters
Layered
In Repository Architecture, what type of data storage is used?
Active storage
Passive storage
Hierarchical storage
Distributed storage
What is the primary disadvantage of Repository Architecture?
Lack of data integrity
Dependency on data warehouse structure
Limited scalability
Difficult backup and recovery
What is the main feature of Blackboard Architecture?
Synchronous communication
Independent agents working in parallel
Centralized processing control
Stateless components
Which of the following is a drawback of Blackboard Architecture?
Lack of scalability
Hard to debug and test
Inefficient for concurrency
Low data integrity
What is a key characteristic of Object-Oriented Architecture?
Layers and abstraction
Relationships through message exchange
Centralized data store
Independent pipelines and filters
What is a feature of the Master-Slave Architecture?
Replicated services for fault tolerance
Fully decentralized control
Stateless communication
No dependency between components
Which hierarchical architecture involves subroutines passing data by reference or value?
Master-Slave
Main-Subroutine
Layered
Virtual Machine
What is the role of a lower-level module in a Layered Architecture?
Provide services to adjacent upper layers
Oversee all other layers
Act as a central repository
Replace other modules if needed
Which architecture is commonly used in designing emulators?
Master-Slave
Repository
Virtual Machine
Component-Based
What is a key feature of Distributed Architecture?
Centralized storage and control
Communication via message passing
Small, independent services
Layers of abstraction
Which architectural style divides the system into Model, View, and Controller?
Layered
MVC
PAC
Repository
What is the purpose of the Abstraction layer in PAC architecture?
To provide data storage
To manage logic processing
To handle user interactions
To serve as the main controller
What is a primary advantage of Microservices Architecture?
Centralized communication
Small, focused services
High latency
Single business implementation
What distinguishes Microservices from SOA?
Microservices are smaller and more autonomous units
SOA lacks scalability
SOA has no communication between services
Microservices use monolithic design
What protocol is commonly used for communication in Microservices?
HTTP/HTTPS
TCP/IP only
Direct method calls
Pipes and filters
Which architecture provides high scalability but is challenging to test?
Blackboard
Repository
Pipes and Filters
Master-Slave
What is a limitation of Batch Sequential Architecture?
Requires user interaction
High latency and no concurrency
High implementation complexity
Lacks clear data flow
Why might Layered Architecture be chosen for a project?
It ensures fault tolerance
It simplifies functional separation
It is ideal for monolithic systems
It eliminates redundancy
What is the key disadvantage of Monolithic Architecture?
Difficulty in debugging
Unsuitable for small systems
Inefficiency in local communication
Hard to scale for large applications
What is the key disadvantage of Monolithic Architecture?
Difficulty in debugging
Unsuitable for small systems
Inefficiency in local communication
Hard to scale for large applications
What is a notable benefit of Object-Oriented Architecture?
Encapsulation and inheritance support
Highly centralized processing
Easy implementation for any system
Strong ties between objects
Which architecture is suitable for banking and billing systems?
Repository
Batch Sequential
Virtual Machine
Master-Slave
What type of system uses Process-Control Architecture?
Interactive web applications
Embedded systems like cruise control(hệ thống nhúng kiểm soát hành trình)
Multi-layered ERP systems
Monolithic applications
What is an example of Virtual Machine Architecture?
Blackboard architecture in AI systems
CLR in .NET platform
Multi-tier web servers
MVC-based user interfaces
Which architectural style is used in distributed database systems?
Pipes and Filters
Master-Slave
Repository
Microservices
In PAC architecture, what does the Controller layer manage?
Interaction between components
User interface logic
System-wide data storage
All low-level operations
What is the main trade-off in Pipes and Filters architecture?
Concurrency vs simplicity
Scalability vs latency
Reusability vs dynamic interaction(tái sử dụng và tương tác)
Independence vs coupling
Which architecture pattern is best suited for independent, scalable services?
Component-Based
Microservices
Monolithic
Repository
What makes Process-Control Architecture effective for real-time systems?
Its low latency
Its modularity
Its use of controlled variables and sensors
Its simplicity in design
What is the key limitation of Blackboard Architecture in debugging?
Lack of clear roles
High interaction complexity
Absence of dynamic control
Dependence on agent priorities
Why is Layered Architecture a good choice for security-sensitive systems?
Each layer can implement its own security policies
It centralizes all security mechanisms
It avoids external dependencies
It restricts direct interaction between layers
Which factors influence the choice of a software development model?
Customer understanding of requirements
Team skills and experience
Risk assessment
All of the above
The Waterfall model is best suited for projects with:
Vague and evolving requirements
Stable and well-documented requirements
High customer involvement
Continuous requirement changes
Which software development model is appropriate for managing high-risk projects?
V-Shaped
Iterative
Spiral
Agile
The Agile model is most effective when (năng suất,hiệu quả)
The project is short-term with clear requirements
There is a need to accelerate software delivery(đẩy nhanh)
The technology used is static
The project team has no experience with the technology
Which quality attribute is NOT observable(quan sát) at runtime?
Security
Availability
Interoperability(tương tác)
Usability
What is the main principle(nguyên tắc) of designing software architecture?
Think of implementation details first
Focus on non-functional requirements early
Avoid software reusability
Use tightly coupled components
What is an example of a tradeoff(sự đánh đổi) in software architecture?
Improving performance can reduce security(tăng hiệu suất-> giảm bảo mật)
Increasing reliability can improve usability
Reducing cost can increase functionality
Enhancing scalability reduces maintainability
The Prototype model is best used for:
Systems with minimal user interaction
Complex systems with stable requirements
Systems requiring user feedback and interaction
Projects with high-quality documentation needs
Which of the following is a runtime quality attribute?
Maintainability
Portability
Performance
Scalability
In software development, Agile promotes:
Strict adherence to initial requirements
Risk reduction through iterative cycles
Minimal customer involvement
Fixed budget and timeline
What type of projects is the DevOps model most suited for?
Simple and small-scale projects
Projects requiring high-quality assurance and testing
Projects with unclear requirements
Prototyping-focused projects
