0% found this document useful (0 votes)
55 views17 pages

Practical 2 1

Uploaded by

prince1msbing
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)
55 views17 pages

Practical 2 1

Uploaded by

prince1msbing
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/ 17

Practical – 2

AIM: Prepare the Software Project Management Plan (SPMP) including following:
1)Estimation of Size, Cost, Duration, Effort 2) Prepare the Schedule, Milestones
using Gantt chart

• Objectives:
1. To perform Estimation of Size, Cost, Duration, Effort
2. To Prepare the Schedule, Milestones

• Theory:

Once a project is found to be feasible, software project managers undertake project planning. Project
planning is undertaken and completed even before any development activity starts. Project planningconsists
of the following essential activities:

Estimating the following attributes of the project:


Project size: What will be problem complexity in terms of the effort and time required to develop
the product?
Cost: How much is it going to cost to develop the project?
Duration: How long is it going to take to complete development?
Effort: How much effort would be required?

The effectiveness of the subsequent planning activities is based on the accuracy of these estimations.

• Scheduling manpower and other resources.


• Staff organization and staffing plans.
• Risk identification, analysis, and abatement planning
• Miscellaneous plans such as quality assurance plan, configuration management plan, etc.

Organization of SPMP Document

Introduction (Objectives, Major Functions, Performance Issues, Management and Technical Constraints)
Project Estimates (Historical Data, Estimation Techniques, Effort, Cost, and Project Duration Estimates) Project
Resources Plan(People, Hardware and Software, Special Resources)
Schedules (Work Breakdown Structure, Task Network, Gantt Chart Representation, PERT Chart
Representation)
Risk Management Plan (Risk Analysis, Risk Identification, Risk Estimation, Abatement Procedures)Project
Tracking and Control Plan
Miscellaneous Plans(Process Tailoring, Quality Assurance)
Function Points

STEP 1: measure size in terms of the amount of functionality in a system. Function points are computed
by first calculating an unadjusted function point count (UFC).
Counts are made for the following categories
External inputs–those items provided by the user that describe distinct application-oriented data (such as
file names and menu selections)
External outputs–those items provided to the user that generate distinct application-oriented data (such
as reports and messages, rather than the individual components of these)
External inquiries–interactive inputs requiring a response
External files–machine-readable interfaces to other systems
Internal files–logical master files in the system

STEP 2: Multiply each number by a weight factor, according to complexity (simple, average or
complex) of the parameter, associated with that number. The value is given by a table:

STEP 3: Calculate the total UFP(Unadjusted Function Points)

STEP 4: Calculate the total TCF(Technical Complexity Factor) by giving a value between 0 and 5
according to the importance of the following points(next slide):
Technical Complexity Factors:
1.Data Communication 2.Distributed Data Processing 3.Performance Criteria 4.Heavily Utilized
Hardware 5.High Transaction Rates 6.Online Data Entry 7.Online Updating 8.End-user Efficiency
9.Complex Computations 10.Reusability 11.Ease of Installation 12.Ease of Operation 13.Portability
14.Maintainability
STEP 5: Sum the resulting numbers to obtain DI(degree of influence)

STEP 6: TCF(Technical Complexity Factor) by given by the formula


–TCF=0.65+0.01*DI
STEP 6: Function Points are by given by the formula
–FP=UFP*TCF

The Constructive Cost Model (COCOMO) is the most widely used software estimation model.

The COCOMO model predicts the effort and duration of a project based on inputs relating to the size
of the resulting systems and a number of "cost drives" that affect productivity.
The most important factors contributing to a project's duration and cost is the Development Mode Organic
Mode: The project is developed in a familiar, stable environment, and the product is similar topreviously
developed products. The product is relatively small, and requires little innovation.

Semidetached Mode: The project's characteristics are intermediate between Organic and Embedded.

Embedded Mode: The project is characterized by tight, inflexible constraints and interface
requirements. An embedded mode project will require a great deal of innovation.

Example:

Project-task scheduling is an important project planning activity. It involves deciding which tasks would
be taken up when. In order to schedule the project activities, a software project manager needs to do the
following:

1. Identify all the tasks needed to complete the project.


2. Break down large tasks into small activities.
3. Determine the dependency among different activities.
4. Establish the most likely estimates for the time durations necessary to complete the activities.
5. Allocate resources to activities.
6. Plan the starting and ending dates for various activities.
7. Determine the critical path.
A critical path is the chain of activities that determines the duration of the project. The first step in
scheduling a software project involves identifying all the tasks necessary to complete the project. A
good knowledge of the intricacies of the project and the development process helps the managers to
effectively identify the important tasks of the project. Next, the large tasks are broken down into alogical
set of small activities which would be assigned to different engineers. The work breakdown structure
formalism helps the manager to breakdown the tasks systematically after the project manager has broken
down the tasks and created the work breakdown structure, he has to find the dependency among the
activities.

Dependency among the different activities determines the order in which the different activities wouldbe
carried out. If an activity A requires the results of another activity B, then activity A must be scheduled
after activity B. In general, the task dependencies define a partial ordering among tasks, i.e. each tasks
may precede a subset of other tasks, but some tasks might not have any precedence ordering defined
between them (called concurrent task). The dependency among the activities is represented in the form
of an activity network. Once the activity network representation has been worked out, resources are
allocated to each activity.

Resource allocation is typically done using a Gantt chart. After resource allocation is done, a PERT chart
representation is developed. The PERT chart representation is suitable for program monitoring andcontrol.
For task scheduling, the project manager needs to decompose the project tasks into a set of activities. The
time frame when each activity is to be performed is to be determined. The end of each activity is called
milestone. The project manager tracks the progress of a project by monitoring the timely completion of
the milestones. If he observes that the milestones start getting delayed, then he has to carefully control the
activities, so that the overall deadline can still be met.

Gantt charts are mainly used to allocate resources to activities. The resources allocated to activities include
staff, hardware, and software. Gantt charts (named after its developer Henry Gantt) are useful for resource
planning. A Gantt chart is a special type of bar chart where each bar represents an activity. The bars are
drawn along a time line. The length of each bar is proportional to the duration of time planned for the
corresponding activity. Gantt charts are used in software project management are actually an enhanced
version of the standard Gantt charts. In the Gantt charts used for software project management, each bar
consists of a white part and a shaded part. The shaded part of the bar shows the length of time each task
is estimated to take. The white part shows the slack time, that is, the latest time by which a task must be
finished.
Quiz:

1) Explain project scheduling process. Explain Gantt Chart in detail.


2) A project size of 300 KLOC is to be developed. Software development team has beginner
experience on similar type of projects. The project schedule is not very tight. Calculate the Effort,
development time, average staff size, and productivity of the project.
3) Explain Software metrics used for software cost estimation

Suggested Reference:

I. COCOMO
II. Halstead complexity measures
III. COCOMO (Constructive Cost Model), Seminar on Software Cost Estimation WS 2002 / 2003,
presented by Nancy Merlo – Schett
IV. The Halstead metrics
V. Software Engineering, National Program on Technology Enhanced Learning
VI. Halstead Metrics, Verify soft Technology
PRACTICAL-2

STEP 1: Measure Project Size Using Function Points


Objectives:
1. To perform Estimation of Size, Cost, Duration, Effort
2. To Prepare the Schedule, Milestones

Objective: Measure the size of the project in terms of functionality using Function Points. This
step will help us understand the scope and complexity of the online renting web application.

Define the Purpose


The purpose of measuring project size using Function Points is to quantify the functional aspects
of our online renting web application. This will serve as a foundation for estimating effort,
duration, and cost.
Identify Functional Categories
For your online renting web application project, identify and list the functional categories based
on the Function Point method. These categories are:
External Inputs: These are items provided by the user that describe distinct application-oriented
data. Examples might include user registration, property listing, or booking requests.
External Outputs: These are items provided to the user that generate distinct application-oriented
data. Examples include generating rental agreements, property details, or confirmation messages.
External Inquiries: These are interactive inputs from the user that require a response. For your
application, it might include property searches or user inquiries.
External Files: These represent machine-readable interfaces to other systems, such as data imports
or exports to external listing services.
Internal Files: These are logical master files within the system, such as user databases or property
databases.
Count Function Points
For each functional category identified above, follow these steps:
Identify and list all the functions or features within the category. For example, under "External
Inputs," you might list "User Registration," "Property Listing," and so on.
Assign complexity weights to each function within the category. Common complexity levels are
"low," "average," and "high."
Calculate the function points for each category by multiplying the number of functions by their
respective complexity weights.
Calculate Unadjusted Function Point Count (UFC)
Sum up the function points calculated for each functional category to arrive at the Unadjusted
Function Point Count (UFC) for your online renting web application project.
Document the Results
Create a detailed document that outlines the functional categories, the functions within each
category, their associated complexity weights, and the UFC. This documentation will serve as a
reference for future estimation and project planning.
Validate the Count
Review your function point counts with your project team and stakeholders to ensure accuracy and
completeness. Validate that all key functions are accounted for.
Use UFC for Estimation
The UFC serves as the foundation for estimating effort, duration, and cost for your project. Use
historical data and estimation techniques to derive these estimates based on the UFC.
Review and Approval
Present the Function Point analysis and estimation results to your project team and stakeholders
for review and approval. Ensure that everyone understands and agrees with the project size
estimation.
Document the Process
Document the entire process, including sources of data, complexity assessments, and any
assumptions made during the Function Point analysis. This documentation is essential for
transparency and future reference.
By following these instructions, you'll be able to measure the size of your online renting web
application project accurately using Function Points, providing a solid foundation for the
subsequent project planning phases.

STEP 2: Certainly, here's a table summarizing the information related to the measurement of the
size of your "Online Renting Project" using Function Points:

Parameter Simple Weight Average Weight Complex Weight


External Inputs 3 4 6
External Outputs 4 5 7
External Inquiries 3 4 6
External Files 7 10 15
Internal Files 5 7 10
Function Point Counts (for your "Online Renting Project")

Functional Simple Average Complex Total


Category
External Inputs 8 4 2 14
External Outputs 6 3 1 10
External Inquiries 4 2 1 7
External Files 2 2 1 5
Internal Files 4 2 1 7

Function Point Complexity Calculation (Weights x Counts)

Functional Simple Average Complex


Category
External Inputs 24 16 12
External Outputs 24 15 7
External Inquiries 12 8 7
External Files 14 20 15
Internal Files 20 14 7

STEP 3: To calculate the Unadjusted Function Point (UFP) for the adjusted Function Point
Complexity Calculation table, you can sum the complexity weights for each functional category.
Here's the calculation:

Calculation Unadjusted Function Point (UFP):

For External Inputs:


- Simple Weight: 24
- Average Weight: 16
- Complex Weight: 12
- Total UFP for External Inputs: 24 + 16 + 12 = 52
For External Outputs:
- Simple Weight: 24
- Average Weight: 15
- Complex Weight: 7
- Total UFP for External Outputs: 24 + 15 + 7 = 46
For External Inquiries:
- Simple Weight: 12
- Average Weight: 8
- Complex Weight: 7
- Total UFP for External Inquiries: 12 + 8 + 7 = 27
For External Files:
- Simple Weight: 14
- Average Weight: 20
- Complex Weight: 15
- Total UFP for External Files: 14 + 20 + 15 = 49
For Internal Files:
- Simple Weight: 20
- Average Weight: 14
- Complex Weight: 7
- Total UFP for Internal Files: 20 + 14 + 7 = 41
Now, sum up the UFP values for all functional categories:
Total UFP = Total UFP for External Inputs + Total UFP for External Outputs + Total UFP for
External Inquiries + Total UFP for External Files + Total UFP for Internal Files
= 52 + 46 + 27 + 49 + 41
UFP = 215
So, the Unadjusted Function Point (UFP) for your "Online Renting Project" based on the adjusted
Function Point Complexity Calculation table is 215. This represents the size of your project in
terms of functionality before considering any complexity factors or adjustments.

STEP 4: To calculate the Total Technical Complexity Factor (TCF) for your "Online Renting
Project," you'll need to assign values between 0 and 5 according to the importance of each of the
following points:
1. Data Communication: 4 (Significant)
2. Distributed Data Processing: 3 (Average)
3. Performance Criteria: 4 (Significant)
4. Heavily Utilized Hardware: 2 (Moderate)
5. High Transaction Rates: 4 (Significant)
6. Online Data Entry: 3 (Average)
7. Online Updating: 3 (Average)
8. End-user Efficiency: 3 (Average)
9. Complex Computations: 2 (Moderate)
10. Reusability: 3 (Average)
11. Ease of Installation: 4 (Significant)
12. Ease of Operation: 4 (Significant)
13. Portability: 3 (Average)
14. Maintainability: 4 (Significant)

STEP 5: Now, sum up the assigned values for all the points to calculate the Total TCF:
Total DI = Sum of assigned values
=4+3+4+2+4+3+3+3+2+3+4+4+3+4
DI = 46

STEP 6: To calculate the Total Technical Complexity Factor (TCF) using the formula TCF = 0.65
+ 0.01 * DI, where DI (Degree of Influence) is given as 46, you can simply plug in the value of DI
into the formula:
Total TCF = 0.65 + 0.01 * 46
= 0.65 + 0.46
TCF = 1.11
So, the Total Technical Complexity Factor (TCF) for your "Online Renting Project," given a DI of
46, is 1.11. This represents the overall technical complexity factor based on the given formula.

STEP 7: To calculate Function Points (FP) using the given values TCF = 1.11 and UFP = 215, you
can use the formula:
FP = UFP * TCF
Plug in the values:
FP = 215 * 1.11
FP ≈ 238.65
So, the approximate Function Points (FP) for your "Online Renting Project" based on a Total
Technical Complexity Factor (TCF) of 1.11 and an Unadjusted Function Point (UFP) of 215 is
approximately 238.65.
To calculate the final output numbers for Size, Cost, Duration, and Effort using the COCOMO
formula, we'll use the following values:
- Size (S): 328 lines of code (KLOC).
- Mode: Semidetached.
- Mode-specific constants (a, b, c, d) for the semidetached mode.
- Effort Adjustment Factor (EAF) based on your specific project context (you need to determine
this value based on your project's characteristics).
- Average Programmer Salary per Month (you need to provide this value).

Let's assume for demonstration purposes that:


- a = 3.0
- b = 1.12
- c = 2.5
- d = 0.35
- EAF = 1.2 (you need to determine this based on your project)
- Average Programmer Salary per Month = $6,000

Now, let's calculate the values:


Effort (E)
- E = a * (S^b) * EAF
- E = 3.0 * (328^1.12) * 1.2
- E ≈ 407.69 Person-Months
Duration (D)
- D = c * (E^d)
- D = 2.5 * (407.69^0.35)
- D ≈ 15.87 months
Cost (C)
- C = E * Average Programmer Salary per Month
- C ≈ 407.69 * $6,000
- C ≈ $2,446,140

So, with the provided values and assumptions, the estimated numbers for your project are as
follows:
- Size (S): 328 KLOC
- Effort (E): Approximately 407.69 Person-Months
- Duration (D): Approximately 15.87 months
- Cost (C): Approximately $2,446,140
Please note that these numbers are rough estimates based on the provided inputs and assumptions.
To get more accurate estimates, you should determine the Effort Adjustment Factor (EAF) based
on your specific project's characteristics and gather more detailed information about your project's
context and team salaries.
Certainly, to prepare the schedule and milestones for your online renting website project, you can
use a Gantt chart, which is a visual representation of project tasks and their timelines. Here's a
step-by-step guide to creating a Gantt chart for your project:

STEP 1: List Project Tasks

Start by listing all the tasks required to complete your online renting website project. These tasks
can include:

• Requirements gathering
• Design and prototyping
• Front-end development
• Back-end development
• Database setup
• User authentication
• Property listing functionality
• Booking and payment processing
• User testing
• Quality assurance
• Documentation
• Deployment
• Marketing and promotion

STEP 2: Determine Task Durations

Estimate the duration in days or weeks for each task. This should be based on the complexity of
the task and the resources available. For example:

• Requirements gathering (2 weeks)


• Design and prototyping (3 weeks)
• Front-end development (6 weeks)
• Back-end development (8 weeks)
• Database setup (2 weeks)
• User authentication (2 weeks)
• Property listing functionality (4 weeks)
• Booking and payment processing (6 weeks)
• User testing (4 weeks)
• Quality assurance (3 weeks)
• Documentation (2 weeks)
• Deployment (1 week)
• Marketing and promotion (ongoing)

STEP 3: Define Dependencies


Identify any dependencies between tasks. Some tasks may need to be completed before others can
start. For example, design and prototyping should be completed before front-end development can
begin.

STEP 4: Create the Gantt Chart


Use software tools like Microsoft Project, Excel, or specialized project management software to
create your Gantt chart. Alternatively, you can draw it by hand on paper or a whiteboard.

STEP 5: Add Milestones


Milestones are significant points in your project that mark its progress. Common milestones for
your online renting website project might include:

• Project kickoff
• Design completion
• Front-end development completion
• Back-end development completion
• User testing phase start and end
• Deployment
• Launch
• Marketing campaign start

STEP 6: Allocate Resources


Assign team members or resources to each task. Ensure that you have the necessary skills and
personnel available for each phase of the project.
STEP 7: Review and Adjust
Review your Gantt chart with your project team and stakeholders to ensure that the schedule is
realistic and achievable. Make adjustments as necessary based on feedback and constraints.

STEP 8: Monitor and Update


Once the project begins, regularly monitor progress against your Gantt chart and update it as
needed to reflect any changes or delays.

By following these steps, you can create a detailed schedule and milestones for your online renting
website project, helping you manage the project effectively and ensure that it stays on track.

Project: Online Renting Website Development

Task Start Date End Date Duration


Requirements 2023-10-01 2023-10-14 2 weeks
Gathering
Design and 2023-10-15 2023-11-04 3 weeks
Prototyping
Front-end 2023-11-05 2023-12-16 6 weeks
Development
Back-end 2023-11-05 2023-12-30 8 weeks
Development
Database Setup 2023-12-17 2023-12-30 2 weeks
User Authentication 2023-12-31 2024-01-13 2 weeks
Property Listing 2024-01-14 2024-02-10 4 weeks
Functionality
Booking and 2024-02-11 2024-03-23 6 weeks
Payment Processing
User Testing 2024-03-24 2024-04-20 4 weeks
Quality Assurance 2024-04-21 2024-05-11 3 weeks
Documentation 2024-05-12 2024-05-25 2 weeks
Deployment 2024-05-26 2024-06-01 1 week
Marketing and 2024-06-02 - Ongoing
Promotion
(Ongoing)
Launch 2024-06-02 2024-06-02 1 day
Rubric wise marks obtained:

Rubrics 1 2 3 4 5 Total

Marks Complete Complete Complete Complete Complete


implementation implementation implementation implementation implementation
as asked as asked as asked as asked as asked

Problem analysis Problem analysis Problem analysis Problem analysis

Development of Development of Development of


the Solution the Solution the Solution

Concept Clarity Concept Clarity


& understanding & understanding

Correct answer to
all questions

Signature of Faculty:

You might also like