Unit 3 SE
Unit 3 SE
A software project manager is the most important person inside a team who
takes the overall responsibilities to manage the software projects and play an
important role in the successful completion of the projects.
The task of a project manager are classified into two major types:
1. Project planning
2. Project monitoring and control
Project planning
Project planning is undertaken immediately after the feasibility study phase and
before the starting of the requirement analysis and specification phase. Once a
project has been found to be feasible, Software project managers started
project planning.
During the project planning the project manager performs the following
activities:
1. Project Estimation: Project Size Estimation is the most important
parameter based on which all other estimations like cost, duration and effort
are made.
Cost Estimation: Total expenses to develop the software product is
estimated.
Time Estimation: The total time required to complete the project.
Effort Estimation: The effort needed to complete the project is
estimated.
The effectiveness of all later planning activities is dependent on the accuracy
of these three estimations.
2. Scheduling: After completion of estimation of all the project parameters,
scheduling for manpower and other resources are done.
3. Staffing: Team structure and staffing plans are made.
4. Risk Management: The project manager should identify the unanticipated
risks that may occur during project development risk, analysis the damage
might cause these risks and take risk reduction plan to cope up with these
risks.
5. Miscellaneous plans: This includes making several other plans such as
quality assurance plan, configuration management plan, etc.
The order in which the planning activities are undertaken is shown in the below
figure:
Disadvantages:
Different programming languages contain a different number of lines.
No proper industry standard exists for this technique.
It is difficult to estimate the size using this technique in the early stages of
the project.
4. Function Point Analysis: In this method, the number and type of functions
supported by the software are utilized to find FPC(function point count). The
steps in function point analysis are:
Count the number of functions of each proposed type.
Compute the Unadjusted Function Points(UFP).
Find Total Degree of Influence(TDI).
Compute Value Adjustment Factor(VAF).
Find the Function Point Count(FPC).
The explanation of the above points is given below:
Count the number of functions of each proposed type: Find the number
of functions belonging to the following types:
External Inputs: Functions related to data entering the system.
External outputs: Functions related to data exiting the system.
External Inquiries: They lead to data retrieval from the system but
don’t change the system.
Internal Files: Logical files maintained within the system. Log files
are not included here.
External interface Files: These are logical files for other
applications which are used by our system.
Compute the Unadjusted Function Points(UFP): Categorise each of the
five function types like simple, average, or complex based on their
complexity. Multiply the count of each function type with its weighting factor
and find the weighted sum. The weighting factors for each type based on
their complexity are as follows:
Function type Simple Average Complex
External Inputs 3 4 6
External Output 4 5 7
External Inquiries 3 4 6
External Interface
Files 5 7 10
COCOMO model
COCOMO or Constructive Cost Estimation Model is a model that
estimates the effort and time taken to complete the model based on the
size of the source code. It includes 15 multiplying factors from different
attributes of the project, and finally calculates time and effort using this
information.
The COCOMO model first divides the software based on its size.
Organic
Semi-detached
Embedded
The different types of COCOMO models define the depth of cost estimation is
required for the project. It depends on the software manager, what type of
model they choose.
Basic Model
Intermediate Model
Detailed Model
Basic Model – This model is based on rough calculations thus, there is very
limited accuracy. The whole model is based on only lines of source code to
estimate the calculation and other factors are neglected.
1. Product attributes
size of the application’s database
the complexity of the product
software’s reliability extent
2. Hardware attributes
Total turnabout time
Memory constraints
Run-time performance constraints
3. Project attributes
software tools used
required development schedule
4. Personnel attributes
Applications experience
Coding experience
Software developer’s capability
Analyst experience
Detailed Model – The detailed model or the complete model includes all the
factors of the both-the basic model and the intermediate model. In the
detailed model for each cost driver property, various effort multipliers are
used.
The whole software is divided into smaller phases and then the COCOMO
calculations or model is applied to them.