0% found this document useful (0 votes)
4 views7 pages

SE Practical2

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 7

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 planning consists 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 to previously 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.

➢ Estimation For Collabe Hub

Lines of Code(LOC): 15000

Estimated time:

Effort = 3 * (15000) ^ 1.12

= 62 persons

Duration = 2.5 * (62) ^ 0.35

= 10 months

Team size: 8 memebers (3 developer, 1 designer, 2 tester, 1 project manager, 1 admin)

Average developer salary = 62,500/month

Average designer salary = 1,10,000/month

Average tester salary = 40,000/month

Average project manager salary = 1,25,000/month

Cost:

= 62,500*10*3 + 110000*10 + 40000*10 + 125000*10

=46,25,000
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 a logical 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 would be 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 and control. 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.

Time Details Of Content


Content
Required

- Define project scope and objectives

- Create a detailed project plan

- Identify and onboard project team members


Week 1-3
Project Planning Phase - Research existing steganography techniques and
encryption methods
(3 Weeks)

- Conduct a literature review on text and image


steganography

- Familiarize the team with the project's goals and


requirements

- Gather and document detailed project requirements

- Interview potential users to understand their needs


Week 2-5 and preferences
Requirements
Gathering and Analysis
(4 Weeks) - Create use cases and user stories

- Develop a comprehensive functional and non-


functional requirements document

Week 3-6 - Create User Interface Design.


User Interface Design
(4 Weeks) - It should be user friendly and attractive.

- Create UML diagrams (use case, class, sequence, etc.)


for the system

Week 4-9
- Define the system architecture and components
Documentation Phase
(6 Weeks)
- Design the encryption and decryption algorithms

- Develop the user interface for the steganography tool

Week 5-11 Implementation Phase Start implementing the steganography system


(7 Weeks) - Begin coding the encryption and decryption
algorithms

- Develop the core functionality of text steganography

- Build the initial user interface elements

Week 11-12 - Preparing Report and documentation for closeout


Project Closeout
(Report)
(2 Weeks) - Report including each and every details of project.

Quiz:

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


ANS: Project scheduling is the process of planning, organizing, and managing project tasks
and resources. It involves defining tasks, estimating durations, allocating resources, and
creating a schedule. A Gantt chart is a visual representation of the schedule, displaying
tasks as bars on a timeline, facilitating project management and tracking.

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.

ANS: Assuming a basic project and a KLOC-to-effort ratio of 2.4 to 3.6 person-months per
KLOC for a beginner team, your estimated effort would be 720 to 1080 person-months.
Development time depends on staff size, with an average staff size of Effort / (Development
Time * 160 hours/month). Productivity can be calculated as Total KLOC / Total Effort.
Specific project details can yield more accurate estimates.
3) Explain Software metrics used for software cost estimation
ANS: Software metrics used for cost estimation include Lines of Code (LOC), Function
Points (FP), Cyclomatic Complexity, and productivity metrics (e.g., KLOC per person-
month). These metrics help assess software size, complexity, development efficiency, and
potential defects, which are critical for estimating and managing software development
costs.

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, Verifysoft Technology
VII.
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