software eng
software eng
Here are 10 more new and important questions, with concise answers
suitable for a 5-mark evaluation.
Answer:
Answer:
<<include>> Relationship:
● Purpose: It specifies that one use case (the base) must incorporate the
functionality of another use case (the inclusion). The included use case is
mandatory for the completion of the base use case.
● Analogy: Think of it as a function call. The base use case is "incomplete"
without the included one.
● Notation: A dashed arrow from the base use case to the included use
case, stereotyped as <<include>>.
● Example: For an online bank transaction, both Transfer Funds and
Pay Bill use cases would <<include>> a User Authentication
use case. You cannot perform either action without first authenticating.
<<extend>> Relationship:
● Purpose: It specifies that one use case (the extending) provides optional
functionality that may be added to another use case (the extended) under
certain conditions.
● Analogy: Think of it as an optional feature or a conditional branch. The
base use case is complete on its own.
● Notation: A dashed arrow from the extending use case to the extended
use case, stereotyped as <<extend>>.
● Example: A Login use case could be <<extend>>ed by a Show
"Forgot Password" option use case. This option is only relevant if
the user fails to log in multiple times; the basic login functionality is
complete without it.
(Diagram: A diagram showing Show "Forgot Password" option ->
<<extend>> -> Login would be effective.)
Answer:
Main Components:
Answer:
3. Configuration Auditing: This involves verifying that the software product
is built according to the requirements and configuration information defined
in the baseline. It ensures that what is documented is what has been built,
checking for completeness and correctness.
4. Status Accounting (or Reporting): This is the activity of recording and
reporting the status of configuration items and any proposed changes. It
answers questions like, "What is the status of a specific change request?"
or "What components were changed in a particular release?"
Answer:
1. Process Metrics: These metrics are used to measure the characteristics
of the software development process itself. The goal is to improve the
efficiency and effectiveness of the process over time.
Answer:
Answer:
Sprint Velocity is a key metric in Scrum that measures the amount of work a
Development Team can complete in a single Sprint. It is a measure of the team's
rate of progress.
1. Sprint Planning: During Sprint Planning, the team uses its average
velocity as a guide to determine how much work they can
realistically pull from the Product Backlog into the next Sprint. This
helps prevent over-commitment and makes the Sprint Goal more
achievable.
2. Release Planning: The Product Owner can use the team's average
velocity to forecast how many sprints it will take to complete a set of
features in the Product Backlog.
■ Formula: Number of Sprints = Total Story Points
for Release / Average Velocity This provides a
rough estimate for stakeholders about when a release might
be ready.
Answer:
The primary purpose of an MVP is to facilitate validated learning with the least
amount of effort. Instead of building a full-featured product based on
assumptions, an MVP allows a team to test their core business hypothesis
quickly.
1. Test Product Hypotheses: It helps answer the most critical question:
"Should this product be built at all?" By getting a real product into the
hands of real users, the team can gather data on whether there is a market
need for their solution.
2. Gather User Feedback Early: An MVP is a powerful tool for collecting
feedback from early adopters. This feedback is invaluable for guiding
future development, ensuring the team builds features that users actually
want and need.
Answer:
Use in Kanban Boards: In Kanban, swimlanes are horizontal rows that span
across the columns of the board. They are used to categorize work items based
on specific criteria, helping teams manage their workflow more effectively.
Common uses include:
Answer:
A project repository is a central storage location where all the artifacts related
to a software project are stored and managed. While it most commonly refers to
the source code repository managed by a version control system like Git, it can
also include documentation, design models, test cases, build scripts, and other
project-related files.
A project repository is crucial for effective team collaboration for several key
reasons: