Assignment of Software Engineering - II
Assignment of Software Engineering - II
Roll no – 4524
Tdev = c(E)d
Where,
The above formula is used for the cost estimation of the basic
COCOMO model and also is used in the subsequent models. The
constant values a, b, c, and d for the Basic Model for the
different categories of the software projects are:
Software
Projects a b c d
Semi-
3.0 1.12 2.5 0.35
Detached
Solution
From the above table we take the value of constant a,b,c and d.
2. Employee Engagement
Assesses how committed and motivated employees are in their roles.
Commonly measured through surveys that ask about job satisfaction,
work environment, and organizational loyalty.
3. Absenteeism Rate
Tracks the frequency and duration of employee absences.
High absenteeism may signal poor job satisfaction, health issues, or
workplace stress.
4.Time to Hire
Measures the average time taken to fill open positions.
A shorter time to hire usually indicates an efficient recruitment process
4. Employee Productivity
Evaluates the amount of work or output generated by an
employee or team over a specific period.
Can be measured by output per hour, sales per employee, or
other relevant performance indicators.
As with any product on the market, once the software is released to the
public, new issues and ideas come to the surface. Users may see the
need for new features or requirements that they would like to see in
the software to make it the best tool available for their needs. This is
when perfective software maintenance comes into play.
Q.4 Discuss process & Project Metrics how are they useful?
Ans. Process Metrics
Process metrics are key indicators used to measure the
performance, efficiency, and effectiveness of a process. These
metrics provide insights into how well a process is functioning
and where improvements can be made. They are essential for
process management, quality control, and continuous
improvement efforts.
Efficiency Metrics
Cycle Time: The total time taken to complete a process from
start to finish.
Throughput: The amount of work completed or units produced
in a given time period.
Resource Utilization: The percentage of resources (like labor,
machinery, or materials) used in the process.
Effectiveness Metrics
Quality: Measures the quality of the output, often assessed
through defect rates or customer satisfaction scores.
Compliance Rate: The degree to which the process adheres to
regulatory standards or internal guidelines.
Project Metrics
In software engineering, project metrics are quantitative
measures that provide insights into the various aspects of
software development processes, product quality, and team
performance. They are essential for managing, improving, and
ensuring the successful delivery of software projects.
2. Product Metrics
- Pull Request (PR) Cycle Time: The time taken for a pull request
to be reviewed and merged.
5. Business-Oriented Metrics
Hardware Reliability
Software Reliability
Software
Features Hardware Reliability Reliability
Is Failure
In this failures are time- In this failures are
Time-
dependent. not time-dependent.
dependent?
Reliability can be
Reliability can’t be
Reliability improved through
improved through
Improvemen redundancy of
redundant of hardware.
t software.
1. Product Metrics
2. Process Metrics
3. Project Metrics
1. Product Metrics
- Complexity Metrics:
- Code Coverage:
- Defect Density:
- Maintainability Index:
2. Process Metrics
- Lead Time:
- Cycle Time:
- Process Productivity:
Measures how often builds are created and how stable they are
(i.e., how often they pass testing).
3. Project Metrics
- Velocity:
- Burn Rate:
- Usefulness: Tracks how quickly funds are being spent and can
indicate potential budget issues early on.
- Resource Utilization:
Specialized Metrics
Agile Metrics
- Lead Time: The time between a task being requested and its
completion. Shorter lead times mean faster delivery.
- Cycle Time: Measures how long a task takes from the start of
development to its release.
DevOps Metrics
10,
ABC 20 170 400 100 12 4
000
20,
PQR 60 300 1000 129 32 6
000
000
Conclusion
Steps in CPM:
3. Focus on Edge Cases: BVA targets edge cases, which are often
prone to errors, helping to uncover potential defects that might
not be found through regular testing methods.
Example:
- 1 (minimum value)
2. Components:
Summary:
8. Forms and Input Fields: Areas where users can enter data,
including text boxes, checkboxes, and dropdowns, designed for
ease of use.
1. Technical Risks
3. Requirements Risks
5. External Risks
6. Operational Risks
7. Quality Risks
8. Security Risks
- Example: Vulnerabilities in the software can expose it to
cyberattacks. For example, if the application does not properly
validate user inputs, it may be susceptible to SQL injection
attacks.
Summary
Types of Coupling:
Best Practices:
Types of Feasibility:
Benefits of Decomposition:
1. Entity:
2. Attribute
a. Key Attribute
The key attribute is used to represent the main characteristics of
an entity. It represents a primary key. The key attribute is
represented by an ellipse with the text underlined.
b. Composite Attribute
c. Multivalued Attribute
An attribute can have more than one value. These attributes are
known as a multivalued attribute. The double oval is used to
represent multivalued attribute.
d. Derived Attribute
a. One-to-One Relationship
For example, A female can marry to one male, and a male can
marry to one female.
b. One-to-many relationship
When only one instance of the entity on the left, and more than
one instance of an entity on the right associates with the
relationship then this is known as a one-to-many relationship.
When more than one instance of the entity on the left, and only
one instance of an entity on the right associates with the
relationship then it is known as a many-to-one relationship.
For example, Student enrolls for only one course, but a course
can have many students.
d. Many-to-many relationship
When more than one instance of the entity on the left, and more
than one instance of an entity on the right associates with the
relationship then it is known as a many-to-many relationship.
2. Flow Chart :
Flowchart is a graphical representation of an algorithm.
Programmers often use it as a program-planning tool to solve a
problem. It makes use of symbols which are connected among
them to indicate the flow of information and processing. Flow
chart is a convenient technique to represent the flow of control
in a program.
Difference between Structure chart and Flow chart :