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

SOFTWARE ENGINEERING Unit 2

Uploaded by

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

SOFTWARE ENGINEERING Unit 2

Uploaded by

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

SOFTWARE ENGINEERING – UNIT 2

SOFTWARE PROJECT MANAGEMENT-


Software project management is an art and discipline of planning and supervising software projects.
It is a sub-discipline of software project management in which software projects planned,
implemented, monitored and controlled.

It is a procedure of managing, allocating and timing resources to develop computer software that
fulfils requirements.

In software Project Management, the client and the developers need to know the length, period and
cost of the project.

Prerequisite of software project management?

There are three needs for software project management. These are:

1. Time

2. Cost

3. Quality

It is an essential part of the software organization to deliver a quality product, keeping the cost
within the client’s budget and deliver the project as per schedule. There are various factors, both
external and internal, which may impact this triple factor. Any of three-factor can severely affect the
other two.

FEASIBILITY STUDY
Feasibility Study in Software Engineering is a study to evaluate feasibility of proposed project or
system. Feasibility study is one of stage among important four stages of Software Project
Management Process. As name suggests feasibility study is the feasibility analysis or it is a measure
of the software product in terms of how much beneficial product development will be for the
organization in a practical point of view. Feasibility study is carried out based on many purposes to
analyse whether software product will be right in terms of development, implantation, contribution
of project to the organization etc.

Types of Feasibility Study :


The feasibility study mainly concentrates on below five mentioned areas. Among these Economic
Feasibility Study is most important part of the feasibility analysis and Legal Feasibility Study is less
considered feasibility analysis.

1. Technical Feasibility –
In Technical Feasibility current resources both hardware software along with required
technology are analyzed/assessed to develop project. This technical feasibility study gives
report whether there exists correct required resources and technologies which will be used
for project development. Along with this, feasibility study also analyzes technical skills and
capabilities of technical team, existing technology can be used or not, maintenance and up-
gradation is easy or not for chosen technology etc.

2. Operational Feasibility –
In Operational Feasibility degree of providing service to requirements is analyzed along with
how much easy product will be to operate and maintenance after deployment. Along with
these other operational scopes are determining usability of product, determining suggested
solution by software development team is acceptable or not etc.

3. Economic Feasibility –
In Economic Feasibility study cost and benefit of the project is analyzed. Means under this
feasibility study a detail analysis is carried out what will be cost of the project for
development which includes all required cost for final development like hardware and
software resource required, design and development cost and operational cost and so on.
After that it is analyzed whether project will be beneficial in terms of finance for organization
or not.

4. Legal Feasibility –
In Legal Feasibility study project is analyzed in legality point of view. This includes analyzing
barriers of legal implementation of project, data protection acts or social media laws, project
certificate, license, copyright etc. Overall, it can be said that Legal Feasibility Study is study to
know if proposed project confirms legal and ethical requirements.

5. Schedule Feasibility –
In Schedule Feasibility Study mainly timelines/deadlines is analyzed for proposed project
which includes how many times teams will take to complete final project which has a great
impact on the organization as purpose of project may fail if it can’t be completed on time.

Aim of feasibility study:

 the overall objective of the organization is covered and contributed by the system or not.

 the implementation of the system be done using current technology or not.

 can the system be integrated with the other system which are already exist

Feasibility Study process:


The below steps are carried out during entire feasibility analysis.

1. Information assessment

2. Information collection

3. Report writing

4. General information

Software Management Activities-


Software project management comprises of a number of activities, which contains planning of
project, deciding scope of software product, estimation of cost in various terms, scheduling of tasks
and events, and resource management. Project management activities may include:

 Project Planning

 Scope Management

 Project Estimation

1) Project Planning

Software project planning is task, which is performed before the production of software actually
starts. It is there for the software production but involves no concrete activity that has any direction
connection with software production; rather it is a set of multiple processes, which facilitates
software production. Project planning may include the following:

2) Scope Management

It defines the scope of project; this includes all the activities, process need to be done in order to
make a deliverable software product. Scope management is essential because it creates boundaries
of the project by clearly defining what would be done in the project and what would not be done.
This makes project to contain limited and quantifiable tasks, which can easily be documented and in
turn avoids cost and time overrun.

During Project Scope management, it is necessary to -

 Define the scope

 Decide its verification and control

 Divide the project into various smaller parts for ease of management.

 Verify the scope

 Control the scope by incorporating changes to the scope

3) Project Estimation

For an effective management accurate estimation of various measures is a must. With correct
estimation managers can manage and control the project more efficiently and effectively.

Project estimation may involve the following:

 Software size estimation


Software size may be estimated either in terms of KLOC (Kilo Line of Code) or by calculating
number of function points in the software. Lines of code depend upon coding practices and
Function points vary according to the user or software requirement.
 Effort estimation
The managers estimate efforts in terms of personnel requirement and man-hour required to
produce the software. For effort estimation software size should be known. This can either
be derived by managers’ experience, organization’s historical data or software size can be
converted into efforts by using some standard formulae.
 Time estimation
Once size and efforts are estimated, the time required to produce the software can be
estimated. Efforts required is segregated into sub categories as per the requirement
specifications and interdependency of various components of software. Software tasks are
divided into smaller tasks, activities or events by Work Breakthrough Structure (WBS). The
tasks are scheduled on day-to-day basis or in calendar months.
The sum of time required to complete all tasks in hours or days is the total time invested to
complete the project.
 Cost estimation
This might be considered as the most difficult of all because it depends on more elements
than any of the previous ones. For estimating project cost, it is required to consider -
o Size of software
o Software quality
o Hardware
o Additional software or tools, licenses etc.
o Skilled personnel with task-specific skills
o Travel involved
o Communication
o Training and support

Project Estimation Techniques


We discussed various parameters involving project estimation such as size, effort, time and cost.

Project manager can estimate the listed factors using two broadly recognized techniques –

Decomposition Technique

This technique assumes the software as a product of various compositions.

There are two main models -

 Line of Code Estimation is done on behalf of number of line of codes in the software product.

 Function Points Estimation is done on behalf of number of function points in the software
product.

Empirical Estimation Technique

This technique uses empirically derived formulae to make estimation. These formulae are based on
LOC or FPs.

 Putnam Model

This model is made by Lawrence H. Putnam, which is based on Norden’s frequency distribution
(Rayleigh curve). Putnam model maps time and efforts required with software size.

 COCOMO

COCOMO stands for COnstructive COst MOdel, developed by Barry W. Boehm. It divides the software
product into three categories of software: organic, semi-detached and embedded.

HALSTEAD’S SOFTWARE SCIENCE MODEL-


Halstead's Software Science, developed by Maurice Halstead in the 1970s, is a software metric that
aims to measure the complexity and size of a software system.

Halstead’s Software metrics are a set of measures proposed by Maurice Halstead to evaluate the
complexity of a software program. These metrics are based on the number of distinct operators and
operands in the program and are used to estimate the effort required to develop and maintain the
program. Field of Halstead Metrics include Program Length (N), Vocabulary Size (n), Program Volume
(V), Program Level (L), Program Difficulty (D), Program Effort (E) and Time to Implement (T).

STAFF ESTIMATION

staff estimation in software engineering, it involves estimating the number of personnel (developers,
testers, project managers, etc.) required for a software development project. Various techniques and
models are used for staff estimation, and they often consider factors such as project size, complexity,
technology, and the skills of the team members. Common approaches include expert judgment,
analogy-based estimation, and algorithmic models like COCOMO (Constructive Cost Model) or
Function Point Analysis. Staff estimation is crucial for budgeting, resource allocation, and project
planning.

Project Scheduling
Project-task scheduling is a significant project planning activity. It comprises deciding which functions
would be taken up when. To schedule the project plan, a software project manager wants to do the
following:

1. Identify all the functions required to complete the project.

2. Break down large functions into small activities.

3. Determine the dependency among various activities.

4. Establish the most likely size for the time duration required to complete the activities.

5. Allocate resources to activities.

6. Plan the beginning and ending dates for different activities.

7. Determine the critical path. A critical way is the group of activities that decide the duration
of the project.

ACTIVITY NETWORK AND CRITICAL PATH –

ACTIVITY NETWORK-

Activity Network Diagram is a diagram of project activities that shows the sequential
relationships of activities using arrows and nodes. An activity network diagram tool is used
extensively in and is necessary for the identification of a project’s critical path (which is used to
determine the expected completion time of the project).
Example: Suppose the team is tasked with improving the process of building a house. The team
lists the major steps involved – everything from the excavation step through the landscaping
step.

CRITICAL PATH-

The team’s job is to take note of which of the nodes D, E, and F, will be taking the most amount of
time, and which of those nodes is expected to take the least amount of time. This is essential when
creating the Critical Path. For instance, if node D is expected to take the most amount of time as
compared with nodes E and F, it is not important that nodes D and E start at the exact same time as
node F. Those steps can start later, but they have to be finished no later than the most time
consuming of the three steps that run in parallel. The team evaluates the nine steps and come to a
consensus on how many days each of the nine steps will take. The critical path is a line that goes
through all of the nodes that have the longest expected completion times.

GANTT CHART-
Generalized Activity Normalization Time Table (GANTT) chart is type of chart in which series of
horizontal lines are present that show the amount of work done or production completed in given
period of time in relation to amount planned for those projects.

Gantt chart represents following things :

 All the tasks are listed at leftmost column.

 The horizontal bars indicate or represent required time by corresponding particular task.

 When occurring of multiple horizontal bars takes place at same time on calendar, then that
means concurrency can be applied for performing particular tasks.

 The diamonds indicate milestones.


Advantages-
 Simplify Project –
Gantt charts are generally used for simplifying complex projects.

 Establish Schedule –
It simply establishes initial project schedule in which it mentions who is going to do what,
when, and how much time it will take to complete it.

 Provide Efficiency –
It brings efficiency in planning and allows team to better coordinate project activities.

 Emphasize on scope –
It helps in emphasizing i.e., gives importance to scope of individual tasks.

 Ease at understanding –
It makes it easy for stakeholders to understand timeline and brings clarity of dates.

 Visualize project –
It helps in clearly visualizing project management, project tasks involved.

 Organize thoughts and Highly visible –


It organizes your thoughts and can be highly visible so that everyone in enterprises can have
basic level of understanding and have knowledge about what’s happening in project even if
they are not involved in working.

 Make Practical and Realistic planning –


It makes the project planning practical and realistic as realistic planning generally helps to
avoid any kind of delays and losses of many that can arise.

Disadvantages :
 Sometimes, using Gantt chart makes project more complex.

 The size of bar chart dost not necessarily indicate amount of work done in project.

 Gantt charts and projects are needed to be updated on regular basis.

 It is not possible or difficult to view this chart on one sheet of paper. The software products
that produce Gantt chart needed to be viewed on computer screen so that whole project can
be seen easily.
PERT CHART-
Project Evaluation and Review Technique (PERT) is a procedure through which activities of a project
are represented in its appropriate sequence and timing. The PERT chart is used to schedule, organize
and co-ordinate tasks within the project.

Characteristics of PERT:

The main characteristics of PERT are as following :

1. It serves as a base for obtaining the important facts for implementing the decision-making.

2. It forms the basis for all the planning activities.

3. PERT helps management in deciding the best possible resource utilization method.

4. PERT take advantage by using time network analysis technique.

5. PERT presents the structure for reporting information.

6. It helps the management in identifying the essential elements for the completion of the
project within time.

7. It specifies the activities that from the critical path.

8. It describes the probability of completion of project before the specified date.

9. It describes the dependencies of one or more tasks on each other.

10. It represents the project in graphical plan form.

Advantages of PERT:

It has the following advantages :

1. Estimation of completion time of project is given by the PERT.

2. It supports the identification of the activities with slack time.

3. The start and dates of the activities of a specific project is determined.

4. It helps project manager in identifying the critical path activities.

5. PERT makes well organized diagram for the representation of large amount of data.

Disadvantages of PERT:

It has the following disadvantages :

1. The complexity of PERT is more which leads to the problem in implementation.

2. The estimation of activity time are subjective in PERT which is a major disadvantage.

3. Maintenance of PERT is also expensive and complex.


4. The actual distribution of may be different from the PERT beta distribution which causes
wrong assumptions.

5. It under estimates the expected project completion time as there is chances that other paths
can become the critical path if their related activities are deferred.

PROJECT MONITORING AND CONTROL-

Monitoring and Controlling are processes needed to track, review, and regulate the
progress and performance of the project. It also identifies any areas where changes
to the project management method are required and initiates the required changes.

The Monitoring & Controlling process group includes eleven processes, which are:

1. Monitor and control project work: The generic step under which all other
monitoring and controlling activities fall under.
2. Perform integrated change control: The functions involved in making changes to
the project plan. When changes to the schedule, cost, or any other area of the project
management plan are necessary, the program is changed and re-approved by the
project sponsor.
3. Validate scope: The activities involved with gaining approval of the project's
deliverables.
4. Control scope: Ensuring that the scope of the project does not change and that
unauthorized activities are not performed as part of the plan (scope creep).
5. Control schedule: The functions involved with ensuring the project work is
performed according to the schedule, and that project deadlines are met.
6. Control costs: The tasks involved with ensuring the project costs stay within the
approved budget.
7. Control quality: Ensuring that the quality of the project?s deliverables is to the
standard defined in the project management plan.
8. Control communications: Providing for the communication needs of each project
stakeholder.
9. Control Risks: Safeguarding the project from unexpected events that negatively
impact the project's budget, schedule, stakeholder needs, or any other project
success criteria.
10. Control procurements: Ensuring the project's subcontractors and vendors meet the
project goals.
11. Control stakeholder engagement: The tasks involved with ensuring that all of the
project's stakeholders are left satisfied with the project work.

SOFTWARE RISK-

Risk is an expectation of loss, a potential problem that may or may not occur in the future. It is
generally caused due to lack of information, control or time.A possibility of suffering from loss in
software development process is called a software risk. Loss can be anything, increase in
production cost, development of poor quality software, not being able to complete the project on
time. Software risk exists because the future is uncertain and there are many known and unknown
things that cannot be incorporated in the project plan. A software risk can be of two types (a)
internal risks that are within the control of the project manager and (2) external risks that are
beyond the control of project manager. Risk management is carried out to:

1. Identify the risk


2. Reduce the impact of risk
3. Reduce the probability or likelihood of risk
4. Risk monitoring

(note: read only risk management after that and write that thing if any question comes
related to risk)

RISK IDENTIFICATION-

Risk Identification: The project organizer needs to anticipate the risk in the project
as early as possible so that the impact of risk can be reduced by making effective risk
management planning.
A project can be of use by a large variety of risk. To identify the significant risk, this
might affect a project. It is necessary to categories into the different risk of classes.

There are different types of risks which can affect a software project:

1. Technology risks: Risks that assume from the software or hardware


technologies that are used to develop the system.
2. People risks: Risks that are connected with the person in the development
team.
3. Organizational risks: Risks that assume from the organizational environment
where the software is being developed.
4. Tools risks: Risks that assume from the software tools and other support
software used to create the system.
5. Requirement risks: Risks that assume from the changes to the customer
requirement and the process of managing the requirements change.
6. Estimation risks: Risks that assume from the management estimates of the
resources required to build the system.

RISK ASSESSMENT-

The objective of risk assessment is to division the risks in the condition of their loss,
causing potential. For risk assessment, first, every risk should be rated in two
methods:

o The possibility of a risk coming true (denoted as r).


o The consequence of the issues relates to that risk (denoted as s).

Based on these two methods, the priority of each risk can be estimated:

p=r*s

Where p is the priority with which the risk must be controlled, r is the probability of
the risk becoming true, and s is the severity of loss caused due to the risk becoming
true. If all identified risks are set up, then the most likely and damaging risks can be
controlled first, and more comprehensive risk abatement methods can be designed
for these risks.
RISK PROJECTION-

Risk projection, also called risk estimation, attempts to rate each risk in two ways—
the likelihood or probability that the risk is real and the consequences of the
problems associated with the risk, should it occur. The project planner, along with
other managers and technical staff, performs four risk projection activities:

(1) establish a scale that reflects the perceived likelihood of a risk,

(2) delineate the consequences of the risk,

(3) estimate the impact of the risk on the project and the product, and

(4) note the overall accuracy of the risk projection so that there will be no
misunderstandings.

RISK MANAGEMENT-

Risk Management is an important part of project planning activities. It involves


identifying and estimating the probability of risks with their order of impact on the
project.

Risk Management Steps:


Some steps need to be followed to reduce risk. These steps are as follows:

1. Risk Identification:
Risk identification involves brainstorming activities. It also involves the preparation of
a risk list. Brainstorming is a group discussion technique where all the stakeholders
meet together. This technique produces new ideas and promotes creative thinking.
Preparation of a risk list involves the identification of risks that are occurring
continuously in previous software projects.
2. Risk Analysis and Prioritization:
It is a process that consists of the following steps:

 Identifying the problems causing risk in projects

 Identifying the probability of occurrence of the problem

 Identifying the impact of the problem

 Assigning values to step 2 and step 3 in the range of 1 to 10

 Calculate the risk exposure factor which is the product of values of Step 2 and
Step 3

 Prepare a table consisting of all the values and order risk based on risk
exposure factor

For example,

TABLE (Required)

Probability
of
occurrence Impact of Risk
Risk No Problem of problem problem exposure Priority

Issue of
R1 incorrect 2 2 4 10
password

Testing
R2 reveals a lot 1 9 9 7
of defects

The design
R3 is not 2 7 14 5
robust
3. Risk Avoidance and Mitigation:
The purpose of this technique is to eliminate the occurrence of risks. so the method
to avoid risks is to reduce the scope of projects by removing non-essential
requirements.

4. Risk Monitoring:
In this technique, the risk is monitored continuously by reevaluating the risks, the
impact of risk, and the probability of occurrence of the risk.
This ensures that:

 Risk has been reduced

 New risks are discovered

 The impact and magnitude of risk are measured

You might also like