Project Plan

advertisement
Project Plan
Using CLIPS to Detect Network Intrusions - (CLIPNIDS)
Submitted in partial fulfillment of the requirements of the degree of
Master of Software Engineering
Sripriya Marry
CIS 895 – MSE Project
Computing and Information Sciences
Kansas State University
Committee Members
Dr. David Gustafson (Major Professor)
Dr. Rodney Howell
Dr. Mitchell Nielsen.
1
Change Log
Version #
Changed By
Release Date
Change Description
-----------------------------------------------------------------------------------------------------------------Version 1.0
Sripriya Marry
02/20/2013
2
Initial Release
Table of Contents
1. Introduction ..................................................................................................................................... 4
2. Work Breakdown Structure ............................................................................................................ 4
2.1 Inception Phase .......................................................................................................................... 4
2.1 Elaboration Phase
.................................................................................................................. 4
2.2 Production Phase ....................................................................................................................... 5
3. Cost Estimation ................................................................................................................................ 6
4. Gantt Chart ....................................................................................................................................... 8
5. Architecture Elaboration Plan .......................................................................................................... 9
5.1 Revise Vision Document 1.0 ..................................................................................................... 9
5.2 Revise Project Plan 1.0 .............................................................................................................. 9
5.3 Architectural Design 1.0............................................................................................................ 9
5.4 Developing Prototype ................................................................................................................ 9
5.5 Test Plan .................................................................................................................................... 9
5.6 Formal Technical Inspections ................................................................................................... 9
5.7 Formal Requirements Specification1.0 .................................................................................. 10
3
1. Introduction
This document provides an overview of project plan. This document will mainly list down the various
tasks which include work breakdown structure, the cost estimation using COCOMO model and activities
which are planned for various phases of the project.
2. Work Breakdown Structure
This mainly list down various tasks identified in various workflows and their assignments to different teams
and individuals. This includes three phases which are “Inception”, “Elaboration” and “Production”. The
first two are the engineering phases and the third is the production phase.
Phase
Completed by
Inception Phase
February 20 2014
Elaboration Phase
March 20 2014
Production Phase
April 20 2014
2.1. Inception Phase
The first phase of a software development cycle is Inception Phase. The primary goal of Inception phase
is to capture the requirements for the project, estimating the costs, schedule and effort. Since this project
is updating an existing product, this phase brings to light an original vision of a potential product, and
transforms it into an actual project. Its purpose is to establish a major update, and to specify the project
scope. For the evolution of an existing product, this may be a simple and short phase, based on new
technological advances like evolving signatures of new threats or attacks.
Entry criteria:

An original vision – This is the research publication paper that describes Clipnids.

A legacy system – The Clipnids package built in 2003.

Some assets - This includes software and support from the author in using and executing
Clipnids.
Exit criteria:

Vision Document 1.0 - focuses on requirement elicitation, scope, purpose, and goals of the
project.
4

Project Plan 1.0 - describes the tasks carried out in each phase and estimates the cost, effort and
schedule.

Software Quality Assurance Plan - describes the standards and conventions of the project,
required project documentation, steps to be taken to ensure project quality.

Workable Prototype – The legacy system received as an input will be successfully built using
latest libraries like libpcap, libglib2.0, g++, automake and libclips. This will demonstrate the
feasibility of the project and will also prepare the initial baseline of the code on which will be
updated to achieve the goal of the project.
All these deliverables need to be approved by committee to move into the next phase of project.
2.2. Elaboration Phase
The main idea behind the elaboration phase is to develop an architectural design for the project by doing
more thorough analysis of problem domain. In this phase, the architectural design will be documented
using the applicable UML diagrams. Each component will be documented at the interface level.
Entry criteria:

The products and artifacts described in the exit criteria of the inception phase.

Suggestions given by the supervisory committee at the end of Inception phase for vision
document and project plan.
Exit criteria:

Vision Document 2.0 - revised version of the document, as per the suggestions given by the
supervisory committee at the end of Inception phase

Project Plan 2.0 - revised version of the document, as per the suggestions given by the supervisory
committee at the end of Inception phase.

Architectural Design – it will be Clipnids software architecture description stating constraints and
limitations.

Test Plan – it documents all the testing activities that should be performed on Clipnids.

Formal Requirement Specification - it helps in uncovering risks and making sure all requirements
is captured.

Formal Technical Inspection Letters – these documents are given by two technical inspectors who
will perform an architectural review based on the checklist given and provides the feedback

Architecture Prototype - it will address at least the top key use cases identified in the inception
phase. This will be an evolutionary prototype, of production quality code which becomes the
5
architectural baseline, but it will not exclude the development of one or more exploratory, throwaway prototypes to mitigate specific risks: refinements of the requirements, feasibility.
All these deliverables need to be approved by committee to move into the next phase of project.
2.3. Production Phase
This phase comprises the construction and transition phases. The main goal of the production phase
will be to implement and test the project. By the end of this phase all the required documentation and the
entire code will be constructed. During this phase all the code of the project will be tested using the test
plan documented in the Elaboration phase. The test will be carried out to ensure that all the requirements
mentioned in the vision document 2.0 are met. Then the test results are analyzed and documented. A User
manual which contains the directions of using the website would be created.
Entry criteria:

The products and artifacts described in the exit criteria of the inception phase and elaboration
phase.

Suggestions given by the supervisory committee at the end of elaboration phase for items that
were signed off.
Exit criteria:

User Manual

Component Design 1.0

Source Code

Assessment Evaluation

Project Evaluation

References

Formal Technical Inspection Letters

Presentation 3
All these deliverables need to be approved by committee.
3. Cost Estimation
COCOMO
The COCOMO cost estimation method, abbreviated as The Constructive Cost Model is developed by Barry
W. Boehm and is used to estimate effort, cost and schedule for the project. The effort and time can be
estimated by the following equations:
Effort = C1 * EAF * (Size)P1
6
Time = C2 * (Effort)P2
where:
Effort = number of person-months
Time = duration time in months for the project
C1= constant scaling coefficient of effort
C2= constant scaling for schedule
P1= exponent that characterizes the economics of scale inherent in the process used to produce
the end product
P2= exponent that characterizes the inherent inertia and parallelism in managing a software
development effort.
EAF= effort adjustment factor that characterizes the domain personnel, environment, and tools
used to produce the artifacts of the process.
Size= size of the end product, measured by the number of delivered source instructions i.e.
number of thousand source lines of code
There are three different development modes which include Organic, Semidetached and Embedded
modes. This project can be categorized under Organic mode as it is fairly simple, developed by a single
programmer and very flexible. As the project is in Organic Mode
C1= 3.2
C2= 2.5
P1= 1.05
P2= 0.38
Therefore we calculate Effort and Schedule by following equations
Effort = 3.2 * EAF * (Size)1.05
Time = 2.5 * (Effort)0.38
EAF Calculation
EAF, abbreviated as Effort Adjustment Factor is the product of the 15 adjustment factors that normalizes
the Effort. Each adjustment factor is classified as Very Low, Low, Nominal, High, Very High or Extra
High and the value of each adjustment factor lies within specific range. So by knowing the calculation,
value can be determined by also considering the range which means the value falls within the range. The
table below shows the list of all the adjustment factors and their respective ranges.
Parameter Name
Effort Adjustment Factor
RELY
Required Reliability
0.75-1.40
DATA
Database Size
0.94-1.16
CPLX
Product Complexity
0.70-1.65
7
Value Range
TIME
Execution Time Constraint
1.00-1.66
STOR
Main Storage Constraint
1.00-1.56
VIRT
Virtual Machine Volatility
0.87-1.30
TURN
Computer Turnaround Time
0.87-1.15
ACAP
Analyst Capability
0.71-1.46
AEXP
Applications Experience
0.82-1.29
PCAP
Programmer Capability
0.70-1.42
VEXP
Virtual Machine Experience
0.90-1.21
LEXP
Language Experience
0.95-1.14
MODP
Use of Modern Practices
0.82-1.24
TOOL
Use of Software Tools
0.83-1.24
SCED
Required Development schedule
1.10-1.23
Values of the Effort adjustment factors for this project are given below
Parameter
Value
Level
RELY
1.00
Nominal
DATA
1.08
High
CPLX
1.15
High
TIME
1.11
High
STOR
1.06
High
VIRT
0.87
Low
TURN
1.00
Nominal
ACAP
0.86
High
AEXP
1.00
Nominal
PCAP
0.86
High
VEXP
1.10
Low
LEXP
0.95
High
MODP
1.00
Nominal
TOOL
1.00
Nominal
SCED
1.00
Nominal
So to calculate the EAF we have to multiply all the values by which we get the Effort Adjustment Factor
as 0.982.
8
Size Estimation
I estimate the size to be 1.5 as I am using the Visual Studio it reduces the amount of code to the
maximum.
Therefore by substituting the EAF and Size values in the below equations we get
Effort = 3.2 * 0.982 * (1.5)1.05 = 4.81 staff months
Time = 2.5 * (4.81)0.38 = 4.54 months
4. Gantt Chart
1/23/14 1/30/14 2/6/14 2/13/14 2/20/14 2/27/14 3/6/14 3/13/14 3/20/14 3/27/14 4/3/14 4/10/14 4/17/14
Inception Phase
Vision Document 1.0
Project Plan 1.0
SQA Plan
Prototype
Presentation 1
Elaboration Phase
Vision Document 2.0
Project Plan 2.0
Formal Specification
Architectural Design
Test Plan
Inspection checklist
Inspection
Prototype
Presentation 2
Production Phase
Component Design
Develop code
Testing
Documentation
User Manual
Project Evaluation
Presentation 3
Start Date
Duration
5. Architecture Elaboration Plan
By the Architecture Elaboration plan the following tasks and documents should be completed.
5.1. Revise Vision Document 1.0
The Vision Document 1.0 will be revised in order to make sure that all the requirements are stated which
are required for the project. The requirements should be in the order of their priority. If supervisory
committee suggests any changes at the end of the Phase I presentation, the changes will be reflected in the
9
revised vision document. After making the necessary changes, revised vision document, named Vision
Document 2.0 will be submitted to the supervisory committee at the end of the Phase II.
5.2. Revise Project Plan 1.0
The Project plan 1.0 document will be revised and if necessary, the changes will be made to the estimated
Effort, size and cost. Also, the Gantt chart will be updated with the changes in the schedule. If supervisory
committee suggests any changes at the end of the Phase I presentation, the changes will be reflected in the
revised Project Plan document. After making the necessary changes, revised Project Plan document,
Project Plan 2.0 document will be submitted to the supervisory committee at the end of the Phase II.
5.3. Architectural Design 1.0
The complete project design will be documented with the applicable UML diagrams. Each component in
the architecture will be documented at the interface level. Then the document would be submitted to the
supervisory committee at the end of Phase II by naming it as Architectural Design 1.0.
5.4. Developing Prototype
The Prototype of the project will be built by considering the requirements mentioned in the Vision
document 2.0. Then the prototype which finalizes the architectural baseline would be submitted to the
supervisory committee at the end of the Phase II.
5.5. Test Plan
A Test Plan will be developed to ensure that all requirements mentioned in the Vision document 2.0 are
satisfied in the project. The Plan will include the evaluation criteria for all the critical use cases. Then the
document will be submitted to the supervisory committee at the end of Phase II for approval.
5.6. Formal Technical Inspections
The architectural design will be inspected by the two MSE students, Denise Case and Sri Priya. The
checklist will be provided by the developer and then the technical inspectors go through the project based
on the checklist and provide the feedback.
5.7. Formal Requirement Specification 1.0
The Object Constraint Language will be used to define and verify the formal specification of the product.
10
Download