0% found this document useful (0 votes)
18 views

Software Engineering Assignment-3

Uploaded by

pbhavy15
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

Software Engineering Assignment-3

Uploaded by

pbhavy15
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

s

BHAGWAN MAHAVIR UNIVERSITY


COMPUTER/IT ENGINEERING DEPARTMENT
5TH SEM
ASSIGNMENT-3

Software Engineering –Theory (2010206504)

Unit-3: Project Management Concepts and Requirement Analysis


and Specification
Submission Date - 13/12/24
Q:1 Answer the following Questions. (2 Marks)

1. What is the difference between process metrics and


product metrics?

process metrics product metrics


Measure the efficiency of the Measure the quality and
development process. characteristics of the software
product.
Concentrate on workflows and Concentrate on the final software
activities. output.
Aim to improve development practices Aim to assess product quality and
and team performance. user satisfaction.
Eg: Cycle time, defect rates during Eg: Code complexity, number of
development. bugs in the released product.
Collected during the development Assessed after product completion or
lifecycle. during testing.
2. What is the purpose of a software project management
plan?

The purpose of a software project management plan is to


provide a detailed roadmap for managing and controlling a
software project, ensuring it is completed on time, within
budget, and to the required quality standards.

3. What is the difference between risk analysis and risk


management?

risk analysis risk management


Identifies and evaluates potential Develops strategies to mitigate and
risks. respond to those risks.
Involves assessing the likelihood and Involves planning, implementing, and
impact of risks. monitoring risk responses.
Concentrates on understanding risks. Focuses on controlling and minimizing
risks.
Produces a risk assessment report Results in a risk management plan
or risk profile. with specific actions.
Typically conducted at the beginning An ongoing process throughout the
of a project or when changes occur. project lifecycle.

4. What is the purpose of project scheduling in software


engineering?

The purpose of project scheduling in software engineering is


to create a timeline for the project, outlining the tasks,
activities, and milestones to be completed, and the resources
and time required to complete them.
Q:2 Answer the following Questions. (4 Marks)

1. How do project planning techniques help in achieving


software project goals?

Project planning techniques help achieve software project


goals by:

1. Defining project scope and objectives


2. Estimating time, cost, and resources
3. Creating realistic schedules and timelines
4. Identifying and mitigating risks
5. Allocating resources and tasks effectively
6. Monitoring and controlling project progress

Techniques include:

1. Gantt Charts
2. PERT/CPM
3. Agile Methodologies
4. Waterfall Model
5. Work Breakdown Structure (WBS)
2. Compare and contrast reactive and proactive strategies
in software development.

Reactive Strategies

1. Fix issues as they arise


2. Focus on symptoms, not root causes
3. Short-term focus

Proactive Strategies

1. Anticipate and prevent issues


2. Focus on root causes, not symptoms
3. Long-term focus

Reactive strategies lead to:

- Quick fixes, not lasting solutions


- Increased technical debt

Proactive strategies lead to:

- Improved system reliability


- Reduced technical debt
- Increased efficiency
3. Describe the advantages and disadvantages of using
software project estimation techniques.

Advantages:

1. Improved project planning and scheduling


2. Realistic budgeting and resource allocation
3. Reduced risk and uncertainty
4. Enhanced stakeholder communication and expectation
management
5. Better decision-making and prioritization

Disadvantages:

1. Time-consuming and resource-intensive


2. Requires expertise and experience
3. May not account for unexpected changes or complexities
4. Can be influenced by biases and assumptions
5. May require ongoing revisions and updates
Q3: Answer the following Questions. (6 Marks)

1. Discuss the importance of software project estimation


in software engineering. Explain how estimation
techniques can be used to plan and manage software
projects.
Importance of Software Project Estimation:

1. Accurate planning and scheduling


2. Realistic budgeting and resource allocation
3. Risk management and mitigation
4. Stakeholder expectation management

Estimation Techniques:

1. Expert Judgment
2. Analogous Estimation
3. Parametric Estimation
4. Bottom-Up Estimation
5. Three-Point Estimation
6. Agile Estimation (Story Points, Velocity)

Using Estimation Techniques:

1. Project planning and scheduling


2. Resource allocation and budgeting
3. Risk management and mitigation
4. Project monitoring and control
5. Stakeholder expectation management
2. How do risk analysis techniques help in identifying
and mitigating software project risks?
Risk analysis techniques help identify and mitigate software project risks by:

1. Identification: Techniques like brainstorming, checklists, and SWOT analysis


uncover potential risks early in the project lifecycle.

2. Assessment: Tools such as risk matrices evaluate the likelihood and impact of
identified risks, helping prioritize them.

3. Mitigation Planning: By understanding risks, teams can develop targeted strategies


to reduce their impact or likelihood, such as contingency plans or resource
allocation.

4. Monitoring: Continuous risk assessment allows for ongoing tracking and adjustment
of strategies as the project evolves.

Overall, these techniques enhance decision-making and improve project outcomes


by proactively addressing potential issues.
3. Explain the concept of requirement elicitation in
software engineering. Describe the different
techniques used for requirement elicitation
(interviews, surveys, observation).

Requirement Elicitation

Requirement elicitation is the process of gathering,


understanding, and documenting software requirements from
stakeholders.

Techniques for Requirement Elicitation

1. Interviews: One-on-one discussions to gather information.


2. Surveys: Questionnaires to collect data from multiple
stakeholders.
3. Observation: Watching users interact with existing
systems to understand needs.
4. Focus Groups: Group discussions to gather feedback and
opinions.
5. Prototyping: Creating a preliminary version to gather
feedback.
6. Use Cases: Documenting user interactions to identify
functional requirements.
7. User Stories: Gathering natural-language descriptions of
software requirements.

You might also like