Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
44 views8 pages

SE Notes 3rd Chapter

Uploaded by

niki76321
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views8 pages

SE Notes 3rd Chapter

Uploaded by

niki76321
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Subject: Software Engineering

Chapter 3

Q.1) Software Metrics

A metric is a measurement of the level at which any impute belongs to a system product or
process.

Software metrics are a quantifiable or countable assessment of the attributes of a software


product. There are 4 functions related to software metrics:

1. Planning

2. Organizing

3. Controlling

4. Improving

Characteristics of software Metrics

1. Quantitative: Metrics must possess a quantitative nature. It means metrics can be


expressed in numerical values.

2. Understandable: Metric computation should be easily understood, and the method of


computing metrics should be clearly defined.

3. Applicability: Metrics should be applicable in the initial phases of the development


of the software.

4. Repeatable: When measured repeatedly, the metric values should be the same and
consistent.

5. Economical: The computation of metrics should be economical.

6. Language Independent: Metrics should not depend on any programming language.


Types of Software Metrics

1. Product Metrics: Product metrics are used to evaluate the state of the product,
tracing risks and undercover prospective problem areas. The ability of the team to
control quality is evaluated. Examples include lines of code, cyclomatic complexity,
code coverage, defect density, and code maintainability index.

2. Process Metrics: Process metrics pay particular attention to enhancing the long-term
process of the team or organization. These metrics are used to optimize the
development process and maintenance activities of software. Examples include effort
variance, schedule variance, defect injection rate, and lead time.

3. Project Metrics: The project metrics describes the characteristic and execution of a
project. Examples include effort estimation accuracy, schedule deviation, cost
variance, and productivity. Usually measures-

 Number of software developer

 Staffing patterns over the life cycle of software

 Cost and schedule

 Productivity

Advantages of Software Metrics

1. Reduction in cost or budget.

2. It helps to identify the particular area for improvising.

3. It helps to increase the product quality.

Disadvantages of Software Metrics

1. It is expensive and difficult to implement the metrics in some cases.

2. Performance of the entire team or an individual from the team can’t be determined.
Only the performance of the product is determined.

3. Sometimes the quality of the product is not met with the expectation.
Q.2) Short note on Project Scheduling

A schedule in your project’s time table actually consists of sequenced activities and
milestones that are needed to be delivered under a given period of time.

Project schedule simply means a mechanism that is used to communicate and know about
that tasks are needed and has to be done or performed and which organizational resources
will be given or allocated to these tasks and in what time duration or time frame work is
needed to be performed. Effective project scheduling leads to success of project, reduced
cost, and increased customer satisfaction. Scheduling in project management means to list out
activities, deliverables, and milestones within a project that are delivered. It contains more
notes than your average weekly planner notes. The most common and important form of
project schedule is Gantt chart.

Process
The manager needs to estimate time and resources of project while scheduling project. All
activities in project must be arranged in a coherent sequence that means activities should be
arranged in a logical and well-organized manner for easy to understand. Initial estimates of
project can be made optimistically which means estimates can be made when all favourable
things will happen, and no threats or problems take place.

The total work is separated or divided into various small activities or tasks during project
schedule. Then, Project manager will decide time required for each activity or task to get
completed. Even some activities are conducted and performed in parallel for efficient
performance. The project manager should be aware of fact that each stage of project is not
problem-free.
Problems arise during Project Development Stage:

 People may leave or remain absent during stage of development.

 Hardware may get failed while performing.

 Software resource that is required may not be available at present, etc.

The project schedule is represented as set of chart in which work-breakdown structure and
dependencies within various activities are represented. To accomplish and complete project
within a given schedule, required resources must be available when they are needed.
Therefore, resource estimation should be done before starting development.

Resources required for Development of Project:

 Human effort

 Sufficient disk space on server

 Specialized hardware

 Software technology

 Travel allowance required by project staff, etc.

Advantages of Project Scheduling:


There are several advantages provided by project schedule in our project management:

 It simply ensures that everyone remains on same page as far as tasks get completed,
dependencies, and deadlines.

 It helps in identifying issues early and concerns such as lack or unavailability of


resources.

What is Project Tracking?

Project tracking is a process of monitoring the progress of a project. It involves tracking


the project’s tasks, milestones, and deliverables to ensure that it is completed on time and
within budget. Project tracking also helps to identify any potential risks or issues that may
arise during the course of the project.

Project tracking can be done manually or with software tools. Manual tracking involves
keeping track of tasks, deadlines, and other details in a spreadsheet or document.
Software tools provide more detailed tracking capabilities, such as task management,
resource allocation, and reporting.

Benefits of Project Tracking

Project tracking provides many benefits for both the project manager and the team
members. It allows the project manager to monitor progress and make adjustments as
needed. It also helps to identify any potential risks or issues that may arise during the
course of the project.

Project tracking also helps team members stay organized and on track with their tasks. By
having an up-to-date view of what needs to be done, team members can better prioritize
their work and ensure that all tasks are completed on time.

Q.3) Lines of Code (LOC)

A line of code (LOC) is any line of text in a code that is not a comment or blank line, and
also header lines, in any case of the number of statements or fragments of statements on
the line. LOC consists of all lines containing the declaration of any variable, and
executable and non-executable statements.

As Lines of Code (LOC) only counts the volume of code, you can only use it to compare
or estimate projects that use the same language and are coded using the same coding
standards.

Features of Lines of Code (LOC)

 Change Tracking: Variations in LOC as time passes can be tracked to analyze the
growth or reduction of a codebase, providing insights into project progress.

 Limited Representation of Complexity: Despite LOC provides a general idea of code


size, it does not accurately depict code complexity. It is possible for two programs
having the same LOC to be incredibly complex.

 Ease of Computation: LOC is an easy measure to obtain because it is easy to calculate


and takes little time.
Q.4) What is Functional Point Analysis?

Function Point Analysis gives a dimensionless number defined in function points which
we have found to be an effective relative measure of function value delivered to our
customer. A systematic approach to measuring the different functionalities of a software
application is offered by function point metrics. Function point metrics evaluate
functionality from the perspective of the user, that is, based on the requests and responses
they receive.

Objectives of Functional Point Analysis

1. Encourage Approximation: FPA helps in the estimation of the work, time, and
materials needed to develop a software project. Organizations can plan and manage
projects more accurately when a common measure of functionality is available.

2. To assist with project management: Project managers can monitor and manage
software development projects with the help of FPA. Managers can evaluate
productivity, monitor progress, and make well-informed decisions about resource
allocation and project timeframes by measuring the software’s functional points.

3. Comparative analysis: By enabling benchmarking, it gives businesses the ability to


assess how their software projects measure up to industry standards or best practices
in terms of size and complexity. This can be useful for determining where
improvements might be made and for evaluating how well development procedures
are working.

4. Improve Your Cost-Benefit Analysis: It offers a foundation for assessing the value
provided by the program concerning its size and complexity, which helps with cost-
benefit analysis. Making educated judgements about project investments and resource
allocations can benefit from having access to this information.
Q.5) COCOMO Model – Software Engineering

The Constructive Cost Model (COCOMO) is a software cost estimation model that helps
predict the effort, cost, and schedule required for a software development project.

What is the COCOMO Model?

The COCOMO Model is a procedural cost estimate model for software projects and is
often used as a process of reliably predicting the various parameters associated with
making a project such as size, effort, cost, time, and quality.

The key parameters that define the quality of any software product, which are also an
outcome of COCOMO, are primarily effort and schedule:

1. Effort: Amount of labor that will be required to complete a task. It is measured in


person-months units.

2. Schedule: This simply means the amount of time required for the completion of the
job, which is, of course, proportional to the effort put in. It is measured in the units of
time such as weeks, and months.

Types of Projects in the COCOMO Model

In the COCOMO model, software projects are categorized into three types based on their
complexity, size, and the development environment. These types are:

1. Organic: A software project is said to be an organic type if the team size required is
adequately small, the problem is well understood and has been solved in the past and
also the team members have a nominal experience regarding the problem.

2. Semi-detached: A software project is said to be a Semi-detached type if the vital


characteristics such as team size, experience, and knowledge of the various
programming environments lie in between organic and embedded.
3. Embedded: A software project requiring the highest level of complexity, creativity,
and experience requirement falls under this category. Such software requires a larger
team size than the other two models and also the developers need to be sufficiently
experienced and creative to develop such complex models.
The Six phases of detailed COCOMO are:

Phases of COCOMO Model

1. Planning and requirements: This initial phase involves defining the scope,
objectives, and constraints of the project. It includes developing a project plan that
outlines the schedule, resources, and milestones

2. System design: : In this phase, the high-level architecture of the software system is
created. This includes defining the system’s overall structure, including major
components, their interactions, and the data flow between them.

3. Detailed design: This phase involves creating detailed specifications for each
component of the system. It breaks down the system design into detailed descriptions
of each module, including data structures, algorithms, and interfaces.

4. Module code and test: This involves writing the actual source code for each module
or component as defined in the detailed design. It includes coding the functionalities,
implementing algorithms, and developing interfaces.

5. Integration and test: This phase involves combining individual modules into a
complete system and ensuring that they work together as intended.

6. Cost Constructive model: The Constructive Cost Model (COCOMO) is a widely


used method for estimating the cost and effort required for software development
projects.

You might also like