Use Cases are used to define the interactions between a user and a system, detailing the steps the user takes to accomplish a specific goal.

  • Flowcharts
  • Use Cases
  • User Stories
  • Wireframes
Use Cases are a technique in software development to specify how a system interacts with its users. They outline a sequence of steps that a user or actor takes to achieve a specific task or goal within the system.

Which type of testing assesses the software's performance under a specific load, such as a large number of concurrent users?

  • Black Box Testing
  • Integration Testing
  • Stress Testing
  • Unit Testing
Stress testing evaluates how software performs under extreme conditions, like high user loads or resource constraints. It helps identify bottlenecks and weaknesses under stress.

In which type of testing is the system tested for the expected behavior under abnormal conditions or system failure?

  • Functional Testing
  • Negative Testing
  • Regression Testing
  • Unit Testing
Negative Testing is the type of testing where the system is tested for unexpected or abnormal conditions, system failures, and invalid inputs to ensure it handles such situations correctly.

Organizations use _____ management systems to ensure that all software is up to date and secure.

  • Configuration
  • Inventory
  • Patch
  • Risk
Organizations use configuration management systems to ensure that all software is up to date and secure. These systems help maintain consistent configurations across an organization's software and hardware assets.

Which principle in SOLID stands for the concept that an object should only have a single responsibility?

  • I (Interface Segregation Principle)
  • L (Liskov Substitution Principle)
  • O (Open-Closed Principle)
  • S (Single Responsibility Principle)
In SOLID, the "S" stands for the Single Responsibility Principle. This principle emphasizes that an object should have only one reason to change, meaning it should have a single responsibility. This leads to more maintainable and flexible software.

The _____ tool is widely used for creating interactive prototypes with a focus on user experience design.

  • Database
  • IDE
  • Prototyping
  • Wireframing
The Prototyping tool is widely used for creating interactive prototypes with a focus on user experience design. Prototypes help designers and stakeholders visualize and refine the user interface.

How does the use of a traceability matrix assist in managing and documenting requirements?

  • It automates the testing process.
  • It ensures that requirements are never changed.
  • It generates code from requirements.
  • It serves as a requirements repository.
A traceability matrix is a valuable tool that helps in managing and documenting requirements. It links requirements to their sources, making it easier to track changes, ensure completeness, and verify that all requirements have been addressed throughout the project.

What is the significance of properly documenting requirements in the SDLC?

  • It ensures efficient communication
  • It is optional
  • It only helps developers understand
  • It slows down the development process
Properly documenting requirements in the SDLC is crucial because it ensures efficient communication among all stakeholders. It serves as a common reference point, reduces misunderstandings, and helps in building software that meets user needs.

What considerations should be taken into account while gathering requirements to ensure they are complete and clear?

  • Ambiguous Language
  • Changing Requirements
  • Inadequate Stakeholder Involvement
  • Lack of Testing
When gathering requirements, it's important to consider avoiding ambiguous language to ensure completeness and clarity. Ambiguities can lead to misunderstandings and incomplete requirements, which can impact the quality of the software being developed.

A software development team is considering integrating Test-Driven Development (TDD) into their workflow. What considerations should they take into account regarding the impact on development time and code quality?

  • TDD has no impact on development time or code quality.
  • TDD is only suitable for specific project types.
  • TDD may lead to longer development times and lower code quality.
  • TDD typically shortens development times and improves code quality.
When considering TDD, a team should recognize that, while it may require an initial adjustment period, it typically results in shorter development times and higher code quality due to continuous testing. It's a valuable practice for many types of projects.