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

Paper1 Solution

Uploaded by

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

Paper1 Solution

Uploaded by

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

MAHARAJA INSTITUTE OF TECHNOLOGY MYSORE

Dept. of Computer Science & Engineering and Artificial Intelligence


Sub. Name : Software Engineering and Project Management (21CS61)
CS
Schedule:30/07/2024 and 09:30am – 10:45am
3rd Internal Assessment
6th Sem. Total Marks: 30
Instructions to students
1. Answer ONE full question from each part
BT C
Q# Question Description M
L Os
PART A
The place of software quality in project planning
Quality Concerns:
Present at all stages of project planning and execution.
Key points in the Step Wise framework where quality is particularly emphasized:
Step 1: Identify Project Scope and Objectives o Objectives may include
qualities of the application to be delivered.
Step 2: Identify Project Infrastructure
Activity 2.2 involves identifying installation standards and procedures, often
related to quality.
Step 3: Analyze Project Characteristics
1 a Activity 3.2 involves analyzing other project characteristics, including quality- 8 4 5
based ones.
Example: Safety-critical applications might require additional activities such as n-
version development, where multiple teams develop versions of the same
software to cross-check outputs.
Step 4: Identify the Products and Activities of the Project o Identify entry,
exit, and process requirements for each activity.
Step 5: Review and Publicize Plan o Review the overall quality aspects of the
project plan at this stage.
b 7 4 5
2 a 8 4 5
Applications of AoA in Project Planning

1. Project Scheduling:
- AoA helps in developing a project schedule by identifying the sequence of
activities and their dependencies.
- It facilitates the determination of the project timeline and critical path.

2. Resource Allocation:
- By visualizing the project activities and their dependencies, project managers can
allocate resources more efficiently.
- Helps in identifying potential resource conflicts and resolving them.

3. Critical Path Analysis:


- AoA is used to identify the critical path, which is crucial for timely project
completion.
- Focuses on critical activities that cannot be delayed without affecting the project's
overall timeline.

4. Risk Management:
- AoA helps in identifying potential risks associated with dependencies and critical
activities.
- Allows project managers to develop mitigation strategies for high-risk areas.

5. Progress Monitoring:
- The AoA diagram provides a visual tool for tracking project progress.
Helps in identifying delays and their impact on the project schedule

b 7 4 5
PART B
The text discusses the planning and management of testing in software
development, highlighting the challenges of estimating the amount of testing
required due to unknowns, such as the number of bugs left in the code.
It introduces the V-process model as an extension of the waterfall model,
emphasizing the importance of validation activities at each development stage.

1. Quality Judgement: The final judgement of software quality is based on its


correct execution.
2. Testing Challenges: Estimating the remaining testing work is difficult due to
unknown bugs in the code.
3. V-Process Model:
 Introduced as an extension of the waterfall model.
 Diagrammatic representation provided in Figure 13.5.
 Stresses the necessity for validation activities matching the project creation
activities.
4. Validation Activities:
 Each development step has a matching validation process.
 Defects found can cause a loop back to the corresponding development
stage for rework.
3 a 5. Discrepancy Handling: Feedback should occur only when there is a 8 4 5
discrepancy between specified requirements and implementation.
Example: System designer specifies a calculation method; if a developer
misinterprets it, the discrepancy is caught during system testing.
6. System Testing:
 Original designers are responsible for checking that software meets the
 specified requirements, discovering any misunderstandings by developers.
Framework for Planning:
1) Dromey’s model: Dromey proposed that software product quality depends on
four major high-level properties of the software: Correctness, internal
characteristics, contextual characteristics and certain descriptive properties. Each
of these high-level properties of a software product, in turn depends on several
lower-level quality attributes. Dromey’s hierarchical quality model is shown in Fig
13.2

2) Boehm’s Model: Boehm’s suggested that the quality of a software can be


defined based on these high-level characteristics that are important for the users of

b
the software. These three high-level characteristics are the following: As-is -utility: 7 4 5
How well (easily, reliably and efficiently) can it be used? Maintainability: How
easy is to understand, modify and then retest the software? Portability: How
difficult would it be to make the software in a changed environment? Boehm’s
expressed these high-level product quality attributes in terms of several measurable
product attributes. Boehm’s hierarchical quality model is shown in Fig 13.3 .
Users assess the quality of a software product based on its external attributes,
whereas during development, the developers assess the product’s quality based on
various internal attributes. The internal attributes may measure either some aspects
of product or of the development process(called process metrics).

1. Product Metrics: Purpose: Measure the characteristics of the software product


being developed. Examples: Size Metrics: Such as Lines of Code (LOC) and
Function Points, which quantify the size or complexity of the software. Effort
Metrics: Like Person-Months (PM), which measure the effort required to develop
the software. Time Metrics: Such as the duration in months or other time units
needed to complete the development.

2. Process Metrics: Purpose: Measure the effectiveness and efficiency of the


development process itself. Examples: Review Effectiveness: Measures how
thorough and effective code reviews are in finding defects. Defect Metrics:
Average number of defects found per hour of inspection, average time taken to
correct defects, and average number of failures detected during testing per line of
a code. Productivity Metrics: Measures the efficiency of the development team in 8 4 5
terms of output per unit of effort or time. Quality Metrics: Such as the number of
latent defects per line of code, which indicates the robustness of the software after
development.

Differences: ➢ Focus: Product metrics focus on the characteristics of the software


4 being built (size, effort, time), while process metrics focus on how well the
development process is performing (effectiveness, efficiency, quality).
➢ Use: Product metrics are used to gauge the attributes of the final software
product, aiding in planning, estimation, and evaluation. Process metrics help in
assessing and improving the development process itself, aiming to enhance quality,
efficiency, and productivity.
➢ Application: Product metrics are typically applied during and after development
phases to assess the product's progress and quality. Process metrics are applied
throughout the development lifecycle to monitor and improve the development
process continuously. By employing both types of metrics effectively, software
development teams can better manage projects, optimize processes, and deliver
high-quality software products that meet user expectations.
ISO 9126 Software Quality Characteristics
1. Functionality:
Definition: The functions that a software product provides to satisfy user needs.
Sub-characteristics: Suitability, accuracy, interoperability, security, compliance.
b 2. Reliability: 7 4 5
Definition: The capability of the software to maintain its level of performance
under stated conditions.
Sub-characteristics: Maturity, fault tolerance, recoverability.
3. Usability:
Definition: The effort needed to use the software.
Sub-characteristics: Understandability, learnability, operability, attractiveness.
4. Efficiency: Definition: The ability to use resources in relation to the amount of
work done.
Sub-characteristics: Time behavior, resource utilization.
5. Maintainability:
Definition: The effort needed to make changes to the software.
Sub-characteristics: Analyzability, modifiability, testability.
6. Portability:
Definition: The ability of the software to be transferred from one environment to
another.
Sub-characteristics: Adaptability, install ability, co-existence.

Approval

Prof. Yashaswini A R Prof. Sahanna B R Prof. Akshatha M


Faculty

DEC Facilitator Academic Coordinator HOD

You might also like