Software Engineering
Quiz covering software engineering fundamentals including testing methodologies, system modeling techniques, object-oriented analysis and design, software maintenance, and configuration management.
Questions
________________ is a process of detecting faults before a software is put into operation.
- Fault detection
- Fault avoidance
- Fault tolerance
- None of these
____________________ is a function of the number of failures experienced by a particular user of software.
- Statistical testing
- Fault recovery
- Software reliability
- None of these
Which of the following involves reusing existing components rather than developing them especially for an application?
- Statistical testing
- Software reuse
- Software reliability
- None of these
Which of the following strategies assumes that residual faults remain in the system?
- Fault avoidance
- Fault tolerance
- Fault detection
- Fault testing
________________ involves adding operations to a component or removing operations, which are very specific to some application domain.
- Name generalization
- Operation generalization
- Exception generalization
- Software generalization
__________________ involves checking each component to see which exception it might generate and including this exception in the component interface.
- Name generalization
- Operation generalization
- Exception generalization
- None of these
________________ organizes a system into a series of layers each of which provides a set of services.
- Repository model
- Abstract machine model
- Client-server model
- None of these
Which of the following models shows how data is processed by a system?
- Semantic data model
- Data flow model
- Object model
- None of these
Which of the following testings is also called glass-box testing?
- White-box testing
- Black-box testing
- Grey-box testing
- None of these
Which of the following is concerned with developing an object-oriented model of application domain?
- Object-oriented analysis
- Object-oriented design
- Object-oriented programming
- None of these
Which of the following testings tests the high levels of a system before testing its detailed components?
- Bottom-up testing
- Top-down testing
- Thread testing
- None of these
A system model based on a shared database is called ____________________.
- client-server model
- abstract machine model
- repository model
- none of these
_______________is concerned with developing an object-oriented model of a software system to implement the identified requirements.
- Object-oriented design
- Object-oriented analysis
- Object-oriented programming
- None of these
Which testing is used when more than one version of a system are avaliable for testing?
- Back-to-back testing
- Thread testing
- Stress testing
- None of these
Which of the following is concerned with designing a sequence of functional transformations that convert system inputs into the required data?
- Function oriented design
- Data-flow design
- Detailed design
- None of these
Which of the following is the process of changing a system after it has been delivered and is in use?
- Software re-engineering
- Software maintenance
- Software refactoring
- Configuration management
__________________ strategy relies on decomposing a system into a set of interacting functions with a centralized system state shared by these functions.
- Detailed design
- Data-flow design
- Function oriented design
- None of these
_________________ is the process which controls the changes made to a system and manages different versions of the evolving software product.
- Configuration management
- Object-oriented programming
- Software maintenance
- None of these
___________________ is concerned with taking existing legacy systems and re-implementating them to make them more maintainable.
- Software re-engineering
- Software maintenance
- Configuration management
- None of these
Which of the following models is used to describe the logical data structures?
- Data-flow model
- Entity-relation model
- Structural model
- Object-oriented model
_______________ means changing the software to some new environment such as a different hardware platform or for use with a different operating system.
- Corrective maintenance
- Adaptive maintenance
- Perfective maintenance
- None of these
Which of the following procedures is designed to ensure that the costs and benefits of change are properly analyzed and changes to the system are made in a controlled way?
- Configuration management
- Software re-engineering
- Chain management
- Software maintenance
Which of the following models is a distributed system model which shows how data and processing is distributed across a range of processors?
- Client-server model
- Control model
- Data-flow model
- None of the above
_________________ involves implementing new functional or non-functional system requirements.
- Perfective maintenance
- Configuration management
- Corrective maintenance
- Adaptive maintenance