Computer Knowledge
Software Development and Management
2,312 Questions
Software development and management focuses on the system development life cycle, enterprise architecture, and configuration management. It tests your familiarity with system analysis, design models, and IT project planning. This subject is essential for specialist and banking officer scale examinations.
System analysis and designSoftware development life cycleConfiguration managementEnterprise architectureObject oriented design
Software Development and Management Questions
Which of the following is a common SCM challenge?
-
Managing large and complex software systems.
-
Ensuring the integrity and consistency of software artifacts.
-
Coordinating changes from multiple developers.
-
All of the above.
D
Correct answer
Explanation
Managing large and complex software systems, ensuring the integrity and consistency of software artifacts, and coordinating changes from multiple developers are all common SCM challenges.
Which of the following is a major research project undertaken by CMMACS?
-
Development of a mathematical model for the spread of infectious diseases
-
Simulation of the behavior of complex systems
-
Analysis of large-scale datasets
-
All of the above
D
Correct answer
Explanation
CMMACS has undertaken several major research projects, including the development of mathematical models for the spread of infectious diseases, simulation of the behavior of complex systems, and analysis of large-scale datasets.
Which of the following is NOT a common technique for eliciting software requirements?
-
Interviews
-
Questionnaires
-
Use cases
-
Reverse engineering
D
Correct answer
Explanation
Reverse engineering is a technique for understanding the design and implementation of an existing software system, not for eliciting requirements for a new system.
Which of the following is NOT a type of software requirement?
-
Functional requirements
-
Non-functional requirements
-
Business requirements
-
User requirements
C
Correct answer
Explanation
Business requirements are high-level statements of the goals and objectives of an organization, not specific requirements for a software system.
Which of the following is NOT a common section of a Software Requirements Specification (SRS)?
-
Introduction
-
Requirements
-
Design
-
Test plan
C
Correct answer
Explanation
The SRS should contain an introduction, a section on requirements, and a section on test plans, but it should not contain a section on design.
Which of the following is NOT a common type of non-functional requirement?
-
Performance requirements
-
Security requirements
-
Reliability requirements
-
Maintainability requirements
D
Correct answer
Explanation
Maintainability requirements are not typically considered non-functional requirements, as they are related to the ease of modifying and updating the software system.
Which of the following is NOT a common technique for managing software requirements?
-
Requirements traceability matrix
-
Change control board
-
Risk management
-
Configuration management
D
Correct answer
Explanation
Configuration management is a technique for managing the changes to the software system itself, not for managing the requirements for the system.
Which of the following is NOT a common tool for documenting software requirements?
-
Natural language
-
Structured natural language
-
Use cases
-
Formal specifications
D
Correct answer
Explanation
Formal specifications are a mathematical notation for expressing software requirements, but they are not a common tool for documenting requirements.
Which of the following is NOT a common technique for managing software requirements changes?
-
Change control board
-
Impact analysis
-
Risk management
-
Version control
D
Correct answer
Explanation
Version control is a technique for managing the changes to the software system itself, not for managing the changes to the requirements for the system.
Which of the following is NOT a common technique for prioritizing software requirements?
-
MoSCoW method
-
Weighted sum method
-
Analytical hierarchy process
-
Pairwise comparison
C
Correct answer
Explanation
The analytical hierarchy process is a technique for making decisions, not for prioritizing software requirements.
Which of the following is NOT a common technique for tracing software requirements?
-
Requirements traceability matrix
-
Use cases
-
Data flow diagrams
-
Entity-relationship diagrams
D
Correct answer
Explanation
Entity-relationship diagrams are a technique for modeling data, not for tracing software requirements.
Which of the following is NOT a common technique for managing software requirements risks?
-
Risk identification
-
Risk assessment
-
Risk mitigation
-
Risk acceptance
D
Correct answer
Explanation
Risk acceptance is a decision to accept a risk, not a technique for managing software requirements risks.
Which of the following is NOT a common technique for communicating software requirements?
-
Natural language
-
Structured natural language
-
Use cases
-
Formal specifications
D
Correct answer
Explanation
Formal specifications are a mathematical notation for expressing software requirements, but they are not a common technique for communicating requirements to stakeholders.
Which of the following is NOT a common technique for measuring the quality of software requirements?
-
Completeness
-
Consistency
-
Correctness
-
Traceability
D
Correct answer
Explanation
Traceability is a measure of the degree to which requirements can be traced to other artifacts, such as design documents and test cases, not a measure of the quality of the requirements themselves.
In the context of software development, what does the term 'agile' methodology refer to?
-
A flexible and iterative approach to software development
-
A waterfall-based approach to software development
-
A top-down approach to software development
-
A bottom-up approach to software development
A
Correct answer
Explanation
Agile methodology is a software development approach that emphasizes flexibility, adaptability, and iterative development. It involves breaking down a project into smaller, manageable tasks and working in short cycles to deliver incremental results.