Free Software Engineering Assessment Questions and Answers — Questions and Answers
Question 1: A specific type software life cycle activity that entails assessing the product's potential market.
- Market analysis (Correct answer)
- Domain analysis
- Requirement elicitation
- Feasibility
Correct answer: Market analysis
Market analysis is a crucial software life cycle activity that involves systematically assessing the potential market for a product. This includes understanding customer needs, competitive landscape, market size, and overall viability. It helps determine if there's a real demand and a profitable opportunity before significant development resources are committed.
Question 2: One of the major groups that has supported, promoted, and contributed to the software development processes. This research and development facility is situated on the Carnegie Mellon University campus and is supported by the US Department of Defense. The company's stated main goal is to "assist others in making significant improvements to their software engineering capabilities."
- SEI - Software Engineering Institute (Correct answer)
- Microsoft
- ISO - International Standards Organization
- None of the above
Correct answer: SEI - Software Engineering Institute
The Software Engineering Institute (SEI) at Carnegie Mellon University is a renowned research and development facility supported by the U.S. Department of Defense. Its primary mission is to improve software engineering capabilities, notably through the development of models like CMMI. SEI has significantly contributed to advancing software development processes and best practices.
Question 3: At this level, the company lacks a formal procedure, thus any significant successes are likely the result of a capable and seasoned leader. This success is unlikely to be repeated.
- Initial (Correct answer)
- Repeatable
- Defined
- Optimizing
Correct answer: Initial
In the Capability Maturity Model (CMMI), the 'Initial' level describes an organization where software processes are ad-hoc and chaotic. Success at this level is largely dependent on individual heroics and the capabilities of a strong leader, rather than established, repeatable procedures. Consequently, any significant successes are unlikely to be consistently repeated.
Question 4: An activity in the software life cycle that involves testing the software in a setting similar to its operating setting.
- Acceptance testing
- Unit testing
- Regression testing
- System testing (Correct answer)
Correct answer: System testing
System testing is a critical activity in the software life cycle where the entire integrated software system is tested as a whole. Its purpose is to verify that the system meets all specified requirements and functions correctly in an environment that closely simulates its actual operating conditions. This ensures the software's overall quality and performance before deployment.
Question 5: Which of the following problems with conventional processes led to the development of agile methods?
- Lengthy development times - Project lengths ranging from 1 to 5 years
- Waste/Duplication of effort - Much documentation is mandated, including documentation that may or may not be needed.
- Both answers are correct (Correct answer)
- None of the above
Correct answer: Both answers are correct
Agile methods were developed to address significant problems inherent in conventional, 'heavyweight' software development processes. These issues included lengthy development times, often spanning years, and excessive, sometimes unnecessary, documentation. Agile approaches aim to mitigate these problems by promoting iterative development, flexibility, and reduced overhead.
Question 6: One of the earliest and most popular agile approaches. For the Chrysler Corporation's C3 project, Kent Beck employed this. For communication to be encouraged, small teams had to work together in the same space.
- XP (Correct answer)
- CMMI
- Spiral
- V Model
Correct answer: XP
Extreme Programming (XP) is one of the earliest and most influential agile software development methodologies. Kent Beck famously employed it for the Chrysler Corporation's C3 project, emphasizing practices like pair programming, continuous integration, and small, co-located teams. These practices are designed to encourage communication and rapid, high-quality development.
Question 7: What number of phases does Scrum have?
- 3 (Correct answer)
- 2
- Scrum is an agile method which means it does not have phases
- 4
Correct answer: 3
Scrum, an agile framework, is structured around iterative cycles called sprints. While it doesn't have 'phases' in the traditional sequential sense, its core components are often grouped into three main categories: the three primary roles (Product Owner, Scrum Master, Development Team), the three main artifacts (Product Backlog, Sprint Backlog, Increment), and the iterative process of planning, execution, and review within each sprint.
Question 8: RAD is short for
- Rapid Application Document
- Relative Application Development
- Rapid Application Development (Correct answer)
- None of the above
Correct answer: Rapid Application Development
RAD is an acronym that stands for Rapid Application Development. It is a software development methodology that prioritizes rapid prototyping, iterative development, and extensive user involvement. The goal of RAD is to accelerate the development process and deliver functional software quickly, often in response to evolving requirements.
Question 9: Which model can be chosen if the user participates in every stage of the SDLC?
- RAD Model (Correct answer)
- Waterfall Model
- Prototyping Model
- All of the above
Correct answer: RAD Model
The Rapid Application Development (RAD) model is specifically designed to facilitate extensive user participation throughout the entire Software Development Life Cycle (SDLC). Its iterative nature, focus on rapid prototyping, and continuous feedback loops ensure that the user's input is integrated at every stage. This makes RAD highly effective for projects where user involvement is paramount.
Question 10: If the development team has less experience on similar projects, which of the following life cycle models can be chosen?
- Waterfall
- RAD
- Spiral (Correct answer)
- None of the above
Correct answer: Spiral
The Spiral model is particularly well-suited for projects with high risk, uncertain requirements, or when the development team has less experience. It is a risk-driven process model that combines elements of both prototyping and waterfall models, allowing for iterative development with continuous risk assessment and mitigation at each stage. This iterative risk management makes it robust for complex or novel projects.
Question 11: Which two models' components were combined to create the incremental model?
- Software can be custom built or custom build.
- Software is developed or engineered; it is not manufactured in the classical sense. (Correct answer)
- Software doesn’t “ wear out ”
- Software can be custom built or custom build.
Correct answer: Software is developed or engineered; it is not manufactured in the classical sense.
This statement highlights a fundamental characteristic of software: it is engineered and developed, not manufactured in the classical sense like physical goods. Unlike hardware, software doesn't physically 'wear out,' but it can degrade due to changes, bugs, or lack of maintenance. This distinction is crucial for understanding software's unique properties and development challenges.
Question 12: Software engineering is a methodical, orderly, and quantitative approach to the creation, use, and upkeep of software.
- False
- True (Correct answer)
Correct answer: True
The statement accurately defines software engineering as a methodical, orderly, and quantitative approach to software development. It encompasses the entire life cycle, including creation, use, and maintenance. This systematic approach aims to produce high-quality, reliable, and maintainable software efficiently.
Question 13: Which of the following models wouldn't be good for adapting to any change?
- RAD Model
- Build & Fix Model
- Waterfall Model
- Prototyping Model (Correct answer)
Correct answer: Prototyping Model
While the Prototyping Model is excellent for gathering initial requirements and incorporating early feedback, it can become problematic if not managed carefully. Allowing 'any change' without strict scope control can lead to an endless cycle of revisions, known as 'feature creep.' This constant adaptation can make it difficult to finalize the product, extending development time indefinitely and making the project inefficient in adapting to every new idea without a clear endpoint.
Question 14: SDLC is short for
- Software Development Life Cycle
- System Development Life cycle (Correct answer)
- System Design Life Cycle
- Software Design Life Cycle
Correct answer: System Development Life cycle
SDLC is a widely recognized acronym in the field of software and systems development. It stands for System Development Life Cycle. This term refers to a structured process that outlines the stages involved in planning, creating, testing, deploying, and maintaining an information system or software application.
Question 15: Software engineers must -
- Ensure that their products only meet the SRS.” d) all of the mentioned
- Act consistently with the public interest (Correct answer)
- Act in a manner that is in the best interests of his expertise and favor.”
- All of the above
Correct answer: Act consistently with the public interest
The IEEE/ACM Code of Ethics for Software Engineers emphasizes that a software engineer's primary responsibility is to the public interest. This means prioritizing the well-being, safety, and welfare of society above personal gain or employer interests. Acting consistently with the public interest is a foundational ethical principle in the field.
Question 16: Software engineers shouldn't abuse other people's machines with their technological expertise. Here, the phrase "misuse" means:
- Dissemination of viruses or other malware
- Unauthorized modification of computer material (Correct answer)
- Unauthorized access to computer material
- All of the above
Correct answer: Unauthorized modification of computer material
In the context of abusing other people's machines with technological expertise, 'misuse' most directly refers to unauthorized modification. This encompasses altering, corrupting, or deleting data or system configurations without permission. While unauthorized access and virus dissemination are also forms of misuse, modification specifically describes the act of changing someone else's computer material.
A specific type software life cycle activity that entails assessing the product's potential market.