1.
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.
○ a) Computer Science
○ b) Software Engineering
○ c) Data Analysis
○ d) Software Testing
2. Software Engineering is concerned with __________, ____________, and
_______________________ for professional software development.
○ a) Theories, Methods, Tools
○ b) Hardware, Software, Firmware
○ c) Cost, Time, Resources
○ d) Specification, Validation, Design
3. Software costs often dominate computer system costs. The costs of software on a
PC are often ____________ than the hardware cost.
○ a) Cheaper
○ b) Greater
○ c) Equal
○ d) Less
4. What are the fundamental software engineering activities?
○ a) Specification, Development, Validation, Evolution
○ b) Testing, Maintenance, Deployment
○ c) Coding, Debugging, Documentation
○ d) Planning, Design, Monitoring
5. Which of the following is not a software process model?
○ a) Waterfall
○ b) Spiral
○ c) Agile
○ d) Process Matrix
6. What is the main goal of software engineering?
○ a) Develop software that is maintainable and dependable
○ b) Maximize profits
○ c) Minimize development time
○ d) Reduce hardware costs
7. Which of the following is NOT a software development life cycle (SDLC) phase?
○ a) Coding
○ b) Analysis
○ c) Hardware Selection
○ d) Maintenance
8. Why do many software projects fail?
○ a) Lack of clear requirements
○ b) Insufficient testing
○ c) Poor project management
○ d) All of the above
9. Which model involves customer feedback and incremental improvements?
○ a) Waterfall
○ b) Spiral
○ c) Agile
○ d) V-Model
10. Software Evolution refers to:
● a) Modifying software to reflect changing customer requirements
● b) Developing new software
● c) Discarding outdated software
● d) Integrating software with hardware
11. The Spiral Model combines which two approaches?
● a) Waterfall and Agile
● b) Prototyping and Waterfall
● c) Iterative and Linear
● d) Testing and Design
12. Which of the following is not a generic software product?
● a) Photoshop
● b) Microsoft Word
● c) Custom-made payroll system
● d) Web Browser
13. Which of these is considered a key attribute of good software?
● a) Flexibility
● b) Inconsistency
● c) Speed
● d) Dependability
14. Software that is developed to meet a specific need for a particular client is called:
● a) Generic software
● b) Custom software
● c) Open-source software
● d) Application software
15. The Waterfall Model is a:
● a) Linear sequential model
● b) Prototype model
● c) Incremental model
● d) Iterative model
16. Which of the following activities is performed during Software Validation?
● a) Coding
● b) Testing
● c) Documentation
● d) Analysis
17. The RAD Model emphasizes:
● a) Rapid prototyping and quick feedback
● b) Detailed documentation
● c) Delayed user involvement
● d) Large scale project management
18. What is Software Testing?
● a) Creating software
● b) Evaluating software to detect errors
● c) Documenting software
● d) Debugging software
19. Stand-alone applications are:
● a) Systems that run on a local machine without a network
● b) Network applications
● c) Embedded systems
● d) Distributed applications
20. Which of the following activities is NOT part of software engineering?
● a) Requirement gathering
● b) Data processing
● c) Software testing
● d) Software deployment
21. A prototype model is most useful when:
● a) Requirements are not clear
● b) There is limited interaction with the customer
● c) The project has a low budget
● d) The technology is mature
22. Software specification involves:
● a) Defining the software’s purpose and requirements
● b) Coding the software
● c) Installing the software
● d) Testing the software
23. Software Engineering focuses on:
● a) Technical development only
● b) Project management only
● c) Both technical and project management aspects
● d) Marketing only
24. Software Maintainability is an attribute that implies:
● a) Easy correction and adaptation of software
● b) High user satisfaction
● c) Lower development cost
● d) Faster hardware requirements
25. Software Process includes:
● a) Analysis, coding, validation
● b) Analysis, specification, design, validation, evolution
● c) Testing and deployment only
● d) Coding and debugging only
26. Which of the following is NOT a software engineering challenge?
● a) Coping with increasing diversity
● b) Reducing delivery time
● c) Developing trustworthy software
● d) Lowering hardware costs
27. Software Architecture is:
● a) Detailed design of the system components
● b) The basic structure of the system
● c) Coding style
● d) Database management
28. Which is a disadvantage of the Waterfall Model?
● a) Flexibility in requirements
● b) Sequential execution with little user feedback
● c) Low documentation requirements
● d) High cost
29. Iterative Model is:
● a) Process where software is developed in repeated cycles
● b) A model without user feedback
● c) Only used in small projects
● d) A strict model without flexibility
30. Which of the following best describes Embedded Control Systems?
● a) Systems that operate independently of the hardware
● b) Systems embedded within devices to control functionality
● c) Network-based applications
● d) Database management systems
1. · What is software engineering?
a) The process of designing, developing, and maintaining software
b) The study of computer hardware components
c) The creation of video games
d) A subset of electrical engineering
2. · Which of the following is NOT a characteristic of good software?
a) Reliability
b) Maintainability
c) Expensiveness
d) Usability
3. · Who is considered the 'Father of Software Engineering'?
a) Bill Gates
b) Alan Turing
c) Barry Boehm
d) Frederick Brooks
4. · Which phase of software development involves gathering
requirements?
a) Coding
b) Testing
c) Requirements Analysis
d) Maintenance
5. · What does SDLC stand for?
a) Software Design Life Cycle
b) System Development Life Cycle
c) Software Development Life Cycle
d) System Design Life Cycle
6. Answer: c
7. · Which model is also known as the "Waterfall Model"?
a) Agile Model
b) V-Model
c) Incremental Model
d) Sequential Model
8. Answer: d
9. · In software engineering, what is a 'stakeholder'?
a) A person who writes code
b) An individual or group that has an interest in the project
c) A software testing tool
d) A type of software design pattern
10. Answer: b
11. · Which of the following is an example of a functional requirement?
a) The system shall handle 1000 transactions per second
b) The user interface shall be user-friendly
c) The system shall allow users to reset their passwords
d) The system shall be available 99% of the time
12. Answer: c
13. · What is the main goal of the testing phase in software development?
a) To fix all bugs in the software
b) To ensure that the software meets requirements and works as expected
c) To design the user interface
d) To deploy the software
14. Answer: b
15. · Which of the following is a non-functional requirement?
a) The system should allow users to log in
b) The software should be compatible with mobile devices
c) The user should be able to download reports
d) The system should process transactions
16. Answer: b
17. · What does software engineering emphasize?
a) Developing high-speed software
b) Creating perfect software free of errors
c) Systematic development and maintenance of software
d) Focusing on hardware over software
Answer: c) Systematic development and maintenance of software
18. · Which attribute is essential for good software?
a) Random adaptability
b) Dependability
c) Cost reduction only
d) Minimal documentation
Answer: b) Dependability
19. · Which of the following defines a software process model?
a) A strict programming language guideline
b) A detailed plan for manufacturing hardware
c) A framework for organizing development activities
d) A user interface guideline
Answer: c) A framework for organizing development activities
20. · Which discipline is software engineering closely associated with?
a) Psychology
b) Mechanical Engineering
c) Computer Science
d) Civil Engineering
Answer: c) Computer Science
21. · Software Engineering is concerned with:
a) Building computer hardware
b) Developing software for specific purposes
c) Scientific principles only
d) All hardware and software systems
Answer: b
22. · What are the three main attributes of good software?
a) Dependability, Efficiency, Maintainability
b) Performance, Accessibility, Speed
c) Reliability, Cost, Usability
d) Flexibility, Compatibility, Security
Answer: a
23. · The primary goal of software engineering is to:
a) Create software with no bugs
b) Maximize hardware usage
c) Develop cost-effective, high-quality systems
d) Improve hardware capabilities
Answer: c
24. · Which of the following best defines software engineering?
a) Writing code quickly
b) Systematic application of engineering principles to software development
c) Installing operating systems
d) Debugging software errors
Answer: b
25. · What is NOT a key challenge in software engineering?
a) Increasing diversity
b) Meeting tight deadlines
c) Improving processor speed
d) Building trustworthy software
Answer: c
26. · Which is NOT a characteristic of good software?
a) Maintainability
b) High energy consumption
c) Dependability
d) Efficiency
Answer: b
27. · Software engineering emerged as a discipline to address:
a) Increasing hardware failures
b) The software crisis in the 1960s
c) Lack of trained programmers
d) Complexity of hardware systems
Answer: b
28. · What is the software crisis?
a) A shortage of programming tools
b) Increasing difficulty in developing reliable, cost-effective software
c) Decreasing computer usage
d) A decline in hardware production
Answer: b
29. · Which of these is NOT a key software engineering activity?
a) Specification
b) Implementation
c) Validation
d) Hardware installation
Answer: d
30. · Which type of software is developed for specific clients?
a) Generic software
b) Open-source software
c) Custom software
d) Application software
Answer: c
31. · Software reliability is part of:
a) Flexibility
b) Dependability
c) User experience
d) Coding speed
Answer: b
32. · Which field is software engineering closely related to?
a) Electrical engineering
b) Civil engineering
c) Computer science
d) Mechanical engineering
Answer: c
33. · The primary difference between software and hardware is:
a) Software wears out over time
b) Software cannot be copied
c) Software does not physically degrade
d) Software is cheaper to produce
Answer: c
34. · The term software process refers to:
a) Steps involved in installing software
b) Activities carried out during software development
c) Testing procedures for software
d) Managing hardware resources
Answer: b
35. · What is an important focus of software engineering?
a) Reducing hardware cost
b) Managing complexity through design and processes
c) Simplifying machine coding
d) Avoiding software maintenance
Answer: b
36. · What is the primary difference between software engineering and
programming?
a) Programming focuses on writing code, while software engineering includes
managing the entire software lifecycle
b) Software engineering only involves debugging
c) Programming focuses on hardware development
d) Software engineering involves no coding
Answer: a
37. · Which of the following is an example of a real-time software system?
a) Word processor
b) Online payment gateway
c) Video editing software
d) Media player
Answer: b
38. · What is the term for a structured set of activities required to develop
software?
a) Software lifecycle
b) Software process
c) Programming loop
d) Testing phase
Answer: b
39. · What is NOT a characteristic of a good software engineering process?
a) Predictability
b) Flexibility
c) High cost
d) Maintainability
Answer: c
40. · What is the main goal of software specification?
a) Writing code
b) Understanding and documenting software requirements
c) Debugging the software
d) Conducting system testing
Answer: b
41. · What does the term "dependability" in software engineering include?
a) Reliability, availability, security, and safety
b) User-friendliness and portability
c) Cost-effectiveness and user support
d) Adaptability to new hardware
Answer: a
42. · Which type of software is delivered in a form that can be reused by many
users?
a) Custom software
b) Generic software
c) Embedded software
d) Distributed software
Answer: b
43. · Which activity is NOT part of the software engineering process?
a) Requirement gathering
b) Debugging hardware drivers
c) System design
d) Testing and validation
Answer: b
44. · What is the primary purpose of software documentation?
a) To help end-users use the software
b) To aid developers in understanding the software
c) To provide legal support
d) Both a and b
Answer: d
45. · What is an emergent property in a software system?
a) A property that arises when individual components interact
b) A feature explicitly defined during requirements gathering
c) A runtime bug in the software
d) A compatibility issue with older hardware
Answer: a
46. · Which software development model emphasizes heavy documentation
and sequential phases?
a) Agile
b) Spiral
c) Waterfall
d) Prototype
Answer: c
47. · What is one of the major differences between custom and generic
software?
a) Custom software is cheaper to develop than generic software
b) Generic software is designed for a broad audience, while custom software is
developed for specific clients
c) Custom software cannot be updated after release
d) Generic software is always open source
Answer: b
48. · The term "reusability" in software engineering refers to:
a) Using the same hardware for different software systems
b) Designing components or modules that can be used in multiple systems
c) Debugging the software
d) Repurposing old code for entirely different requirements without changes
Answer: b
49. · Why is software maintenance crucial?
a) Software doesn’t degrade but needs updates to adapt to new requirements or
environments
b) Maintenance always lowers costs
c) Software maintenance is optional after deployment
d) Maintenance reduces user interaction with the system
Answer: a
50. · What is software crisis?
a) A shortage of computer hardware
b) The challenges in developing reliable, cost-effective software in a timely manner
c) A rise in software piracy
d) A lack of programmers in the IT industry
Answer: b
51. · Which of the following is NOT an attribute of software engineering?
a) Systematic processes
b) Emphasis on maintenance
c) Direct hardware management
d) Producing reliable systems
Answer: c
52. · Software testing is primarily carried out to:
a) Eliminate all bugs before deployment
b) Reduce development time
c) Verify that the software meets user requirements
d) Improve hardware compatibility
Answer: c
53. · Which type of software development focuses on continuous user
feedback?
a) Waterfall
b) Spiral
c) Agile
d) Big Bang Model
Answer: c
54. · What is an example of embedded software?
a) An operating system
b) Software in a washing machine
c) A web browser
d) A database management system
Answer: b
55. · Why is abstraction important in software engineering?
a) It makes software development slower
b) It simplifies complex systems by focusing on essential features
c) It eliminates the need for testing
d) It increases hardware dependencies
Answer: b
56. · Which of the following is an example of dependable software?
a) Banking software
b) Weather forecasting software
c) Space exploration systems
d) All of the above
Answer: d
57. · Which activity helps identify software system boundaries?
a) Coding
b) System modeling
c) Deployment
d) Regression testing
Answer: b
58. · Portability in software refers to:
a) The ease of deploying software across multiple environments
b) The speed of execution on different machines
c) The software’s compatibility with older systems
d) The ability to run software without debugging
Answer: a
59. · What does scalability mean in software engineering?
a) The ability of software to adapt to increased workloads or users
b) The speed of software execution
c) The ability of software to reduce hardware usage
d) Minimizing software cost
Answer: a
60. · Which of the following represents a trade-off in software engineering?
a) Increasing system performance at the expense of higher memory usage
b) Eliminating all documentation to speed up development
c) Focusing on hardware design instead of software
d) Reducing software size by removing critical features
Answer: a
61. · The primary output of the requirements engineering phase is:
a) Design documents
b) A requirements specification document
c) Source code
d) Test scripts
Answer: b
62. · What is NOT a reason for the increasing complexity of software systems?
a) Growing user demands
b) Development of simple requirements
c) Interoperability with other systems
d) Large-scale distributed systems
Answer: b
63. · What is a software engineering methodology?
a) A fixed tool used to write code
b) A set of guidelines, practices, and tools used for developing software
c) A debugging strategy
d) A deployment checklist
Answer: b
64. · Why is systematic engineering necessary for software development?
a) To avoid hardware dependencies
b) To manage the growing complexity and ensure high-quality outputs
c) To create faster user interfaces
d) To eliminate project documentation
Answer: b
65. · Which of the following is a limitation of software?
a) High production costs
b) Lack of physical wear and tear
c) High dependency on hardware
d) Frequent need for maintenance
Answer: d
—---------------------------------------TỔNG HỢP—-------------------------------
1. What is the main goal of the Software Development Life Cycle (SDLC)?
○ A) To create software without any requirements.
○ B) To follow an unstructured process for rapid results.
○ C) To organize activities to develop a software system.
○ D) To minimize customer involvement.
2. Which is NOT a basic process activity in SDLC?
○ A) Specification
○ B) Design and Implementation
○ C) Evolution
○ D) Marketing
3. What is the primary focus during the Specification phase of SDLC?
○ A) Writing and testing code
○ B) Designing system structure
○ C) Defining system requirements and constraints
○ D) Debugging software errors
Plan-Driven and Agile Processes
4. In Plan-driven processes, how are the activities managed?
○ A) Incrementally with frequent revisions
○ B) Planned and measured against a detailed plan
○ C) Completely unstructured
○ D) Performed without customer feedback
5. What is a key feature of Agile processes?
○ A) No customer involvement
○ B) Strict adherence to pre-written plans
○ C) Incremental planning and flexibility
○ D) Focus only on documentation
6. Which approach combines aspects of plan-driven and agile methods?
○ A) Prototype
○ B) Hybrid
○ C) Waterfall
○ D) RAD
Requirements Engineering
7. Requirements engineering is part of which process activity?
○ A) Validation
○ B) Specification
○ C) Implementation
○ D) Maintenance
8. What type of requirement specifies constraints on system performance or
development?
○ A) Functional
○ B) Non-functional
○ C) Architectural
○ D) Domain
9. Which stage of requirements elicitation focuses on organizing discovered
requirements?
○ A) Prioritization and negotiation
○ B) Specification
○ C) Discovery
○ D) Validation
10. What is the purpose of requirements validation?
○ A) To clarify all development phases
○ B) To confirm requirements align with customer needs
○ C) To verify if the system functions correctly
○ D) To modify non-functional attributes
Design and Implementation
11. What is the main deliverable from the design activity?
○ A) Source code
○ B) System architecture and structure
○ C) Test cases
○ D) Customer training material
12. Which design activity involves defining relationships between system components?
○ A) Interface design
○ B) Architectural design
○ C) Database design
○ D) Component selection
13. What process often overlaps with design in practice?
○ A) Validation
○ B) Testing
○ C) Implementation
○ D) Specification
Validation and Verification
14. Verification asks which question?
○ A) Are we building the product right?
○ B) Are we building the right product?
○ C) What is the cost of building this product?
○ D) What are the future requirements?
15. What activity is central to software validation?
○ A) Testing
○ B) Debugging
○ C) Marketing
○ D) Maintenance
16. Which is NOT a requirement validation technique?
○ A) Prototyping
○ B) Code reviews
○ C) Systematic manual analysis
○ D) Test-case generation
Testing
17. What is the primary purpose of testing in SDLC?
○ A) To verify the correctness of customer requirements
○ B) To find errors and ensure conformance to specification
○ C) To replace formal validation methods
○ D) To reduce the cost of development
18. System testing focuses on:
○ A) Testing individual components
○ B) Ensuring the system works as a whole
○ C) Testing developer documentation
○ D) Reviewing requirement documents
19. Which type of testing is driven by abnormal usage scenarios?
○ A) Validation testing
○ B) Defect testing
○ C) Integration testing
○ D) Customer testing
Software Evolution
20. What does software evolution involve?
○ A) Building completely new software
○ B) Updating software to meet changing needs
○ C) Debugging legacy systems
○ D) Replacing hardware
21. What type of software maintenance focuses on bug fixes and environmental
updates?
○ A) Servicing
○ B) Phase-out
○ C) Evolution
○ D) Implementation
22. What can drive the need for urgent software changes?
○ A) Team changes
○ B) Hardware updates or system faults
○ C) Customer feedback during final delivery
○ D) Routine software audits
Process Models
23. What is a characteristic of the Waterfall model?
○ A) Parallel execution of phases
○ B) Sequential execution with minimal overlap
○ C) High adaptability to changes
○ D) Focused on prototypes
24. How does the V-Model enhance the waterfall model?
○ A) By supporting iterative changes
○ B) Adding corresponding testing for each phase
○ C) Removing the maintenance phase
○ D) Including customer collaboration
25. What is unique about the Spiral model?
○ A) It's linear and sequential.
○ B) It's focused entirely on documentation.
○ C) It emphasizes risk analysis in each cycle.
○ D) It eliminates prototyping.
Incremental and Iterative Development
26. In the Incremental model, development:
○ A) Implements all features at once
○ B) Delivers functionality in increments
○ C) Avoids user feedback
○ D) Prefers linear workflows
27. What is an advantage of the Iterative model?
○ A) No feedback is required
○ B) Early delivery of a partial system
○ C) Complete requirements must be known upfront
○ D) Reduces the need for testing
28. How is the RAD model distinguished?
○ A) Focus on long-term planning
○ B) Sequential delivery phases
○ C) Prototyping and parallel functional module development
○ D) Avoidance of user involvement
Agile Methodologies
29. What is a primary objective of Agile methods?
○ A) Maximize documentation
○ B) Deliver working software quickly
○ C) Eliminate customer collaboration
○ D) Avoid changes once development begins
30. Which methodology emphasizes frequent system releases and customer
involvement?
○ A) RAD
○ B) Waterfall
○ C) Agile
○ D) Spiral
1. What is a software process model?
○ A) A tool to test software for bugs
○ B) A simplified representation of a software process
○ C) A programming language for software systems
○ D) A framework for creating hardware solutions
2. What are the three categories of software process models?
○ A) Linear, iterative, evolutionary
○ B) Functional, non-functional, system
○ C) Specification, validation, evolution
○ D) Agile, plan-driven, incremental
Waterfall Model
3. Which is a key characteristic of the Waterfall model?
○ A) Phases are performed in parallel
○ B) Each phase is completed before moving to the next
○ C) Continuous integration of customer feedback
○ D) High flexibility during execution
4. What is the primary disadvantage of the Waterfall model?
○ A) Poor testing practices
○ B) High complexity of design
○ C) Difficult to accommodate requirement changes
○ D) Insufficient documentation
5. Which phase occurs last in the Waterfall model?
○ A) Deployment
○ B) Design
○ C) Maintenance
○ D) Validation
V-Model
6. How does the V-Model differ from the Waterfall model?
○ A) It includes risk analysis in every stage
○ B) It has corresponding testing for each phase
○ C) It allows for overlapping phases
○ D) It removes the maintenance phase
7. What does the Validation phase in the V-Model address?
○ A) Ensuring the system conforms to requirements
○ B) Verifying individual code modules
○ C) Debugging errors in the design
○ D) Validating third-party integrations
8. Which type of project is most suited for the V-Model?
○ A) Large, complex projects with evolving requirements
○ B) Small, straightforward projects with fixed requirements
○ C) Agile projects requiring frequent updates
○ D) Systems requiring minimal testing
Incremental and Iterative Models
9. In the Incremental model, how is development structured?
○ A) Full functionality is delivered after all increments
○ B) Critical features are delivered in initial increments
○ C) All increments must be identical in size
○ D) Testing is done only after the final increment
10. What is the primary focus of the Iterative model?
○ A) Delivering a small set of working features early
○ B) Avoiding user feedback until the final release
○ C) Prioritizing documentation over functionality
○ D) Ensuring all features are delivered in a single iteration
11. What is a key advantage of incremental development?
○ A) No customer involvement
○ B) Continuous delivery of working software
○ C) Low emphasis on testing
○ D) No need for planning
Rapid Application Development (RAD)
12. Which technique is central to the RAD model?
○ A) Creating prototypes rapidly
○ B) Detailed upfront documentation
○ C) Sequential software development
○ D) Eliminating user feedback
13. Which project type is best suited for RAD?
○ A) Projects with static and fixed requirements
○ B) Small to medium-sized projects with user involvement
○ C) Large and complex systems requiring high precision
○ D) Systems requiring no testing
14. Which of the following is NOT a phase in the RAD model?
○ A) Business modeling
○ B) Application generation
○ C) Prototyping
○ D) Risk analysis
Spiral Model
15. What is a defining feature of the Spiral model?
○ A) Sequential execution of phases
○ B) Emphasis on risk management
○ C) Eliminating prototypes
○ D) Requiring fixed customer requirements
16. How does the Spiral model handle risks?
○ A) It minimizes risks by freezing requirements early
○ B) It incorporates risk assessment in every iteration
○ C) It avoids risks by limiting project size
○ D) It delegates risk management to external stakeholders
17. Which project type is most appropriate for the Spiral model?
○ A) Low-risk projects with stable requirements
○ B) High-risk projects with evolving requirements
○ C) Small projects with fixed budgets
○ D) Agile projects requiring rapid delivery
Agile Methods
18. What is the primary objective of Agile methods?
○ A) Produce extensive documentation
○ B) Deliver working software quickly and iteratively
○ C) Reduce customer collaboration
○ D) Avoid changes to requirements
19. What principle is emphasized in the Agile Manifesto?
○ A) Following strict processes over collaboration
○ B) Working software over comprehensive documentation
○ C) Contract negotiation over customer collaboration
○ D) Responding to plans over responding to changes
20. Which Agile practice involves continuous code improvement?
○ A) Refactoring
○ B) Test automation
○ C) Prototyping
○ D) Pair programming
Extreme Programming (XP)
21. Which practice is a hallmark of Extreme Programming (XP)?
○ A) Writing extensive user manuals before coding
○ B) Delivering large system increments infrequently
○ C) Test-driven development
○ D) Avoiding pair programming
22. What is the role of user stories in XP?
○ A) To replace all technical documentation
○ B) To express customer requirements in simple terms
○ C) To define architectural constraints
○ D) To plan defect testing
23. What does pair programming involve?
○ A) Two programmers writing separate modules simultaneously
○ B) One programmer coding while the other reviews in real time
○ C) Parallel coding without communication
○ D) Only one programmer working on critical components
Scrum
24. In Scrum, what is a Sprint?
○ A) A phase where no changes can be made
○ B) A fixed period to develop an increment
○ C) A sequence of ad-hoc tasks
○ D) A document review session
25. Who is the Scrum Master?
○ A) A senior programmer responsible for coding
○ B) A facilitator ensuring the team is shielded from distractions
○ C) A stakeholder approving system requirements
○ D) A project manager planning tasks
26. What is the Product Backlog?
○ A) A record of unresolved bugs
○ B) A list of tasks completed during a sprint
○ C) A prioritized list of features to be developed
○ D) A documentation repository
General Agile Practices
27. Which benefit is commonly associated with Scrum?
○ A) Increased project complexity
○ B) On-time delivery of increments
○ C) Eliminated need for stakeholder feedback
○ D) Avoidance of team collaboration
28. What is a potential challenge with test-first development in Agile?
○ A) Lack of automated testing frameworks
○ B) Difficulty writing tests for complex user interfaces
○ C) Tests failing to cover all functional requirements
○ D) All of the above
29. How does refactoring improve a software system?
○ A) By creating more detailed user manuals
○ B) By simplifying and improving code without changing functionality
○ C) By eliminating the need for customer feedback
○ D) By adding more non-functional requirements
30. What is the expected outcome of daily Scrum meetings?
○ A) Resolution of all software defects
○ B) Better communication and short-term planning
○ C) Delivery of the final product
○ D) Approval of budgets
1. What is the primary focus of software architecture?
○ A) Writing code for the system
○ B) High-level structure of the system and its components
○ C) Creating detailed test cases
○ D) Determining marketing strategies
○ Answer: B
2. According to IEEE 1471:2000, software architecture refers to:
○ A) The organization of system components and their relationships
○ B) The project timeline and deliverables
○ C) The programming languages used
○ D) The customer’s business goals
○ Answer: A
3. Who is primarily responsible for developing software architecture?
○ A) Software testers
○ B) Business analysts
○ C) Software architects and designers
○ D) End-users
○ Answer: C
Importance of Software Architecture
4. What is NOT an advantage of good software architecture?
○ A) Reduces risks in software projects
○ B) Leads to higher quality software
○ C) Eliminates the need for testing
○ D) Makes the system easier to maintain
○ Answer: C
5. What is the main input for architectural design?
○ A) Software Requirements Specification (SRS)
○ B) Implementation code
○ C) Marketing plans
○ D) System test cases
○ Answer: A
6. What is the primary output of architectural design?
○ A) Source code
○ B) Software Design Description (SDD)
○ C) Project timeline
○ D) User manuals
○ Answer: B
Architectural Styles and Patterns
7. Which term is synonymous with architectural styles?
○ A) Code guidelines
○ B) Design diagrams
○ C) Architecture patterns
○ D) Testing standards
○ Answer: C
8. Which is NOT a component of architectural styles?
○ A) Elements
○ B) Connectors
○ C) Constraints
○ D) Budget allocations
○ Answer: D
9. What does “loose coupling” mean in software architecture?
○ A) Components are tightly integrated
○ B) Components have minimal dependencies on each other
○ C) Components share the same functionality
○ D) Components avoid interaction altogether
○ Answer: B
Architectural Styles Overview
10. In Monolithic architecture, how are components structured?
○ A) They are separated into microservices
○ B) All components are in a single package
○ C) Components communicate asynchronously
○ D) Components are distributed across servers
○ Answer: B
11. Which architectural style organizes systems into layers with defined
responsibilities?
○ A) Repository
○ B) Layered architecture
○ C) Blackboard architecture
○ D) Event-based architecture
○ Answer: B
12. What is a defining characteristic of Microservices architecture?
○ A) All functionalities are combined in a single application
○ B) Small, independent services communicate to form a system
○ C) Components do not interact
○ D) A centralized database handles all operations
○ Answer: B
Data-Centered Architectures
13. In a Repository architecture, what is the role of the repository?
○ A) It acts as a passive data store accessed by agents
○ B) It manages user interaction with the system
○ C) It dynamically adjusts system configurations
○ D) It eliminates the need for external storage
○ Answer: A
14. Which architecture is best suited for systems requiring collaborative problem-solving?
○ A) Monolithic
○ B) Blackboard architecture
○ C) Layered
○ D) Client-server
○ Answer: B
15. What is a key benefit of Blackboard architecture?
○ A) It ensures 100% accurate solutions
○ B) It supports parallel processing and scalability
○ C) It requires minimal communication between components
○ D) It eliminates the need for synchronization
○ Answer: B
Object-Oriented and Component-Based Architectures
16. In Object-Oriented architecture, what encapsulates data and behavior?
○ A) Attributes
○ B) Components
○ C) Objects
○ D) Layers
○ Answer: C
17. Which design principle emphasizes low coupling and high cohesion?
○ A) Hierarchical control
○ B) Component independence
○ C) Object-oriented principles
○ D) SOLID principles
○ Answer: D
18. What is a primary advantage of Component-Based architecture?
○ A) Components can be reused in other projects
○ B) Components are tightly integrated
○ C) Testing is unnecessary
○ D) It eliminates architectural constraints
○ Answer: A
Hierarchical Architectures
19. What is a key feature of the Layered architecture?
○ A) Layers interact with all other layers directly
○ B) Each layer provides services to the layer above it
○ C) Data flows bidirectionally across all layers
○ D) There are no boundaries between layers
○ Answer: B
20. What is the primary focus of the Main-Subroutine architecture?
○ A) Fault tolerance
○ B) Decomposing a program into subroutines
○ C) Decentralized decision-making
○ D) Dynamic user interaction
○ Answer: B
21. In the Master-Slave architecture, what role does the master play?
○ A) Executes all critical computations
○ B) Selects and coordinates the outputs of the slaves
○ C) Ensures system scalability
○ D) Manages the user interface
○ Answer: B
Distributed Architectures
22. In a Client-Server architecture, the client:
○ A) Provides services to multiple servers
○ B) Requests services from the server
○ C) Stores and processes all data
○ D) Acts as the intermediary between servers
○ Answer: B
23. What is a key benefit of a Multi-tier architecture?
○ A) Simplifies communication between clients and servers
○ B) Separates application logic, data, and presentation layers
○ C) Eliminates the need for network protocols
○ D) Reduces server processing requirements
○ Answer: B
24. What is the purpose of a Broker architecture in distributed systems?
○ A) It provides direct communication between components
○ B) It mediates communication between clients and servers
○ C) It minimizes data exchange between layers
○ D) It ensures all components share the same data format
○ Answer: B
Interaction-Oriented and Microservice Architectures
25. The Model-View-Controller (MVC) pattern divides responsibilities into:
○ A) Layers, filters, and sinks
○ B) Model, view, and controller components
○ C) Services, clients, and repositories
○ D) Input, processing, and output modules
○ Answer: B
26. What is the primary benefit of Event-Based architecture?
○ A) Tightly coupled components
○ B) Flexibility in dynamic system interactions
○ C) Dependence on centralized control
○ D) Elimination of event handling
○ Answer: B
27. Which characteristic does NOT apply to Microservices?
○ A) Small in size
○ B) Independently deployable
○ C) Strictly monolithic design
○ D) Focused functionality
○ Answer: C
Quality Attributes
28. Which of the following is a runtime quality attribute?
○ A) Maintainability
○ B) Scalability
○ C) Availability
○ D) Portability
○ Answer: C
29. What is an example of an implementation quality attribute?
○ A) Usability
○ B) Extensibility
○ C) Security
○ D) Performance
○ Answer: B
30. Which quality attribute is most associated with scaling up a system?
○ A) Performance
○ B) Usability
○ C) Scalability
○ D) Flexibility
○ Answer: C