Free Software Engineering Questions and Answers — Questions and Answers
Question 1: Which of these software engineering processes is not included in software engineering?
- Software development
- Software specification
- Software dependence (Correct answer)
- Software validation
Correct answer: Software dependence
Software engineering processes typically include software specification (defining requirements), software development (designing and coding), and software validation (testing and verification). "Software dependence" is not a standard, distinct process activity within the generally accepted software engineering life cycle.
Question 2: If and only if ________, is the SRS considered consistent?
- no subset of individual requirements described in it conflict with each other (Correct answer)
- Its structure and style allow for easy modification of the criteria while maintaining the document's aesthetic appeal.
- every requirement stated therein is one that the software shall meet
- every requirement stated therein is verifiable
Correct answer: no subset of individual requirements described in it conflict with each other
An SRS (Software Requirements Specification) is considered consistent if and only if there are no contradictions or conflicts among any of the requirements stated within it. Inconsistent requirements can lead to ambiguity, design flaws, and difficulties in implementation, making consistency crucial for a clear and buildable specification.
Question 3: What among the following is not a part of SRS?
- Functionality
- External Interfaces
- Performance
- Design solutions (Correct answer)
Correct answer: Design solutions
A Software Requirements Specification (SRS) focuses on *what* the system should do, detailing its functionality, external interfaces, and performance characteristics. It explicitly avoids specifying *how* the system will achieve these requirements, as design solutions belong to the subsequent design phase, not the requirements definition.
Question 4: Which two models' components were combined to create the incremental model?
- Linear Model & RAD Model
- Build & FIX Model & Waterfall Model
- Waterfall Model & RAD Model
- Linear Model & Prototyping Model (Correct answer)
Correct answer: Linear Model & Prototyping Model
The Incremental Model combines aspects of the Linear Sequential Model (Waterfall) by having sequential phases for each increment, and the Prototyping Model by delivering working versions (increments) early and iteratively. This allows for both structured development and early customer feedback.
Question 5: How many phases does the RAD model have?
- 3 phase
- 2 phase
- 6 phase
- 5 phase (Correct answer)
Correct answer: 5 phase
The Rapid Application Development (RAD) model typically consists of five distinct phases: Business Modeling, Data Modeling, Process Modeling, Application Generation, and Testing and Turnover. These phases emphasize rapid development and iterative cycles to deliver systems quickly.
Question 6: The foundation of Agile Software Development is
- Linear Development
- Incremental Development
- Both Incremental and Iterative Development (Correct answer)
- Iterative Development
Correct answer: Both Incremental and Iterative Development
Agile Software Development is fundamentally built upon both incremental and iterative approaches. It delivers working software in small, usable increments (incremental) and repeats development cycles (iterative) to refine and add features based on continuous feedback.
Question 7: In what ways are incremental models and spiral models different?
- Users can see the system early in Incremental Model
- Progress can be measured for Incremental Model (Correct answer)
- Changing requirements can be accommodated in Incremental Model
- All of the above
Correct answer: Progress can be measured for Incremental Model
A key distinction of the Incremental Model is that it provides tangible, working software increments at regular intervals, making progress more easily measurable and visible to stakeholders. While the Spiral Model is also iterative, it places a stronger emphasis on risk management and may not always deliver fully functional increments as frequently or predictably for direct progress measurement.
Question 8: Customers receive updates for XP every ______ weeks.
- 1
- 2 (Correct answer)
- 3
- 4
Correct answer: 2
Extreme Programming (XP) emphasizes short development cycles and frequent releases to gather continuous feedback. A common practice in XP is to deliver new system increments or updates to customers every two weeks, ensuring rapid iteration and responsiveness to changing needs.
Question 9: FAST is short for
- Facilitated Application Specification Technique (Correct answer)
- Functional Application Specification Technique
- Fast Application Specification Technique
- None of the above
Correct answer: Facilitated Application Specification Technique
FAST is an acronym for Facilitated Application Specification Technique. It is a requirements gathering method that brings together stakeholders in a structured meeting to define and refine software requirements collaboratively and efficiently.
Question 10: In which four framework activities does Extreme Programming (XP) take place?
- planning, analysis, coding, testing
- planning, design, coding, testing (Correct answer)
- analysis, design, coding, testing
- planning, analysis, design, coding
Correct answer: planning, design, coding, testing
Extreme Programming (XP) organizes its development activities into four core framework activities: planning (defining user stories and releases), design (simple design, refactoring), coding (pair programming, test-driven development), and testing (unit tests, acceptance tests).
Question 11: Which of the following characteristics does a good Software Requirements Specification (SRS) not have?
- Optimizing, Managed, Defined, Repeatable, Initial
- Initial, Repeatable, Managed, Defined, Optimizing
- Initial, Repeatable, Defined, Managed, Optimizing (Correct answer)
- Initial, Managed, Repeatable, Defined, Optimizing
Correct answer: Initial, Repeatable, Defined, Managed, Optimizing
The options provided (Initial, Repeatable, Defined, Managed, Optimizing) represent the five maturity levels of the Capability Maturity Model Integration (CMMI), which assesses an organization's process maturity. These are not characteristics of a Software Requirements Specification (SRS). A good SRS is typically characterized by being unambiguous, complete, consistent, verifiable, modifiable, and traceable, focusing on the document's quality rather than the development process's maturity level.
Question 12: The two dimensions of the spiral model are _____ and ____.
- radial, perpendicular
- diagonal, perpendicular
- diagonal, angular
- radial, angular (Correct answer)
Correct answer: radial, angular
The Spiral Model is graphically represented as a spiral with two main dimensions. The radial dimension represents the cumulative cost of the project, increasing with each loop. The angular dimension represents the progress made through the four phases (objectives setting, risk assessment, development and validation, planning the next phase) of each iteration.
Question 13: What are the dependability's four dimensions?
- Security, Safety, Testability, Usability
- Usability, Reliability, Security, Flexibility
- Availability, Reliability, Maintainability, Security
- Availability, Reliability, Security, Safety (Correct answer)
Correct answer: Availability, Reliability, Security, Safety
Dependability in software engineering refers to the trustworthiness of a system. Its four key dimensions are Availability (readiness for use), Reliability (correct operation over time), Security (protection against unauthorized access/harm), and Safety (prevention of harm to users or environment).
Question 14: The foundation of Agile Software Development is
- Linear Development
- Both Incremental and Iterative Development (Correct answer)
- Incremental Development
- Iterative Development
Correct answer: Both Incremental and Iterative Development
Agile Software Development is fundamentally built upon both incremental and iterative approaches. It delivers working software in small, usable increments (incremental) and repeats development cycles (iterative) to refine and add features based on continuous feedback.
Question 15: Which of these has no impact on various software categories as a whole?
- Business and social change
- Security
- Flexibility (Correct answer)
- Heterogeneity
Correct answer: Flexibility
While flexibility is a desirable trait in software, it is not a universal *impact* or *challenge* that affects *all* software categories in the same way as the others. Business and social change, security, and heterogeneity (dealing with diverse systems) are pervasive and significant challenges across almost all types of software. Flexibility is more of a design goal or characteristic.
Question 16: RUP is an acronym for ______, which was produced by a division of _________.
- Rational Unified Process, Infosys
- Rational Unified Process, IBM (Correct answer)
- Rational Unified Program, IBM
- Rational Unified Process, Microsoft
Correct answer: Rational Unified Process, IBM
RUP stands for the Rational Unified Process, which is an iterative software development methodology. It was originally developed by Rational Software, which was later acquired by IBM, making IBM the entity associated with its continued development and promotion.
Which of these software engineering processes is not included in software engineering?