First Deliverable Planning & Requirements Guideline
First Deliverable Planning & Requirements Guideline
First Deliverable Planning & Requirements Guideline
0
Final Project Deliverable Guide Date: 10 May, 2005
PUCIT
Punjab University College of Information
Technology
First Deliverable
Version 1.0
TABLE OF CONTENTS
1 Introduction
First part of this deliverable is all about planning and scheduling of project. This
deliverable must contain following artifacts:
a. Project Feasibility
b. Project Scope
c. Project Costing
d. Critical Path Method Analysis (CPM Analysis)
e. Gantt Chart
f. Introduction to team members
g. Tools and Technologies
h. Vision Document
i. Risk List
Technical
Operational
Economic
Schedule
Specification
Information
Motivational
Legal and Ethical
Another important query to be answered is to evaluate whether you (the project members
or organization) possess the technology and technical expertise.
grown, there has been scope creep. The amount of growth is an indication of how well
requirements were gathered by and/or communicated to the project team. If the amount of
growth of projects declines over time it is a natural assumption that communication with
the user has improved.
Function points are computed by completing the table shown in the figure below. Five
information domain characteristics are determined and counts are provided in the
appropriate table location.
Number of user inputs: Each user input that provides distinct application-oriented data
to the software is counted. Inputs should be distinguished from inquiries, which are
counted separately.
Number of user inquiries: An inquiry is defined ass an on-line input that results in the
generation of some immediate software response in the form of an on-line output. Each
distinct inquiry is counted.
Number of files: Each logical master file (i.e. a logical grouping of data that may be one
part of a large database or a separate file) is counted.
Number of external interfaces: All the machine-readable interfaces (e.g., data files on
storage media) that are used to transmit information to another system are counted.
Once these data have been collected, a complexity value is associated with each count.
Organizations that use function point methods develop criteria for determining whether a
Where count total is the sum of all FP entries obtained from above figure and (Fi) is
value adjustment factor (VAF) is based on 14 general system characteristics (GSC's) that
rate the general functionality of the application being counted. Each characteristic has
associated descriptions that help determine the degrees of influence of the characteristics.
The degrees of influence range on a scale of zero to five, from no influence to strong
influence.
1. Data communications
2. Distributed data processing
3. Performance
4. Heavily used configuration
5. Transaction rate
6. On-Line data entry
7. End-user efficiency
8. On-Line update
9. Complex processing
10. Reusability
11. Installation ease
12. Operational ease
13. Multiple sites
14. Facilitate change
Basic COCOMO
Type Effort Schedule
Organic PM= 2.4 (KLOC)1.05 TD= 2.5(PM)0.38
Semi-Detached PM= 3.0 (KLOC)1.12 TD= 2.5(PM)0.35
Embedded PM= 2.4 (KLOC)1.20 TD= 2.5(PM)0.32
Intermediate COCOMO
Type Effort
Organic PM= 2.4 (KLOC)1.05 x M
Semi-Detached PM= 3.0 (KLOC)1.12 x M
Embedded PM= 2.4 (KLOC)1.20 x M
PM= person-month
KLOC= lines of code, in thousands
M.- reflects 15 predictor variables, called cost drivers
Determining the following six parameters for each activity which can identify the critical
path:
ES: earliest start time: the earliest time at which the activity can start given that
its precedent activities must be completed first.
ES (K)= max [EF(J) : J is an immediate predecessor of K]
EF: earliest finish time: equal to the earliest start time for the activity plus the
time required to complete the activity.
EF (K)= ES (K) + Dur (K)
LF: latest finish time: the latest time at which the activity can be completed
without delaying the project.
LF (K)= min [LS(J) : J is a successor of K]
LS: latest start time: equal to the latest finish time minus the time required to
complete the activity.
LS (K)= LF(K) – Dur (K)
TS: Total Slack: the time that the completion of an activity can be delayed
without delaying the end of the project
TS (K)= LS(K) – ES(K)
FS: Free Slack: the time that an activity can be delayed without delaying both the
start of any succeeding activity and the end of the project.
FS (K)= min [ES(J) : J is successor of K] – EF(K)
The slack time for an activity is the time between its earliest and latest start time, or
between its earliest and latest finish time. Slack is the amount of time that an activity can
be delayed past its earliest start or earliest finish without delaying the project.
The critical path is the path through the project network in which none of the activities
have slack, that is, the path for which ES=LS and EF=LF for all activities in the path. A
delay in the critical path delays the project. Similarly, to accelerate the project it is
necessary to reduce the total time required for the activities in the critical path.
Example:
Star B D F G End
t
Activity Duration ES EF LS LF TS FS
A 5 0 5 0 5 0 0
B 3 0 3 3 6 3 2
C 8 5 13 5 13 0 0
D 7 5 12 6 13 1 1
E 7 0 7 6 13 6 6
F 4 13 17 13 17 0 0
G 5 17 22 17 13 0 0
1 Introduction
Requirements engineering process provides the appropriate mechanism for understanding
what the customer wants, analyzing need, assessing feasibility, negotiating a reasonable
solution, specifying the solution unambiguously, validating the specification and
managing the requirements as they are transformed into an operational system. The task
of capturing, structuring, and accurately representing the user's requirements so that they
can be correctly embodied in systems which meet those requirements (i.e. are of good
quality).
Requirements elicitation
Requirements analysis and negotiation
Requirements specification
System modeling
Requirements validation
Requirements management
Here, requirements specification is to be discussed. Requirements specification would
lead to the following four steps:
Identify external interfaces
Development of context diagram
Capture “shall statements
Allocate requirements
Prioritize requirements
Development of requirements traceability matrix
b. Perform Refinement
After over specifying the entities, you have to refine them on the basis of your business
logic. For example, in this example we found the following entities more related to our
business logic;
1.8 Example
Here is an example to explain all the above. We are taking the system of Green Wood
Company.
1.8.1 Introduction
Green Wood (GW) is a multinational company, which deals in manufacturing, delivery
and selling of sports goods and sports ware throughput the world. GW deals in almost all
types of support goods and has its manufacturing set-up in Sialkot, Pakistan. They have
their own products selling outlets and showrooms throughout the world. They also supply
their goods to other dealers on wholesale ordering basis. Currently GW is managing their
operations manually. GW management has decided to completely automate the whole
business processes of the company. Also in order to increase their sales, GW wants to
have fully automated system, which can support online 24x7 electronic buying and
selling.
Order Management
Customer Account Maintenance
Order Processing
Shipping Department
Product Inventory
Accounts & Administration
CRM
MIS
HRM & Pay Roll
Sales & Marketing
1.8.4.1 Phase I
Phase I includes following business areas:
Customer Account Maintenance
Order Processing
Product Inventory
1.8.4.2 Phase II
Phase II involves complete automation of the Supplier Department. Phase II includes
following business areas:
Accounts and Administration
CRM
MIS
HRM and Payroll
Sales and Marketing
1. Only registered customer could place order for goods. So a customer must be able to
register himself to the system by requesting for registration. There should have to be two
types of registration process, normal and privileged. Customer should provide his
personal, organizational, authorizer and payment details in the registration request
process. All the requests are to be viewed by the customer account administrator (CA).
CA could accept, reject and temporarily waive the requests on the basis of credentials
provided. If admin accept the registration request, a login information (Password, Id &
role) should be assigned and mailed to the corresponding customer. Similarly customer
could also request for the updating of his record. He could request for different types of
updating e.g. updating of his personal/shipping details, or upgrading of his status from
registered to privileged customer, or updating of his payment methodology. Customer
could also view his details for verification purposes and similarly CA could search any
customer detail and could also view the whole list of currently registered customers.
2. Both registered and privileged customers could order for goods. Customer places an
order by providing his ID and other order related details A complete order must contain
personal details of the customer, shipping information, product list along with product
quantity and payment details. Customer could make payment either through cash or
through a credit card. Accordingly invoice should be generated, and user should be given
the option to finally place the order and in the end confirmation receipt must be given to
the customer. Invoice contains the list of complete product along with their pricing
details. It also contains discounts, sales tax and total pricing details. User could also view
the status of their orders by providing the Order Number. Privileged customers could
also place the request for the updating of their orders if the orders are not shipped. They
could place request for the updating of shipping address and product quantity only.
Similarly the privileged customer could also place the request for the cancellation of the
order. But all these updating and cancellation requests are to be viewed by the Order
Administrator in order to accept, reject, or waive them.
Deals with addition, searching, updating of products and their stocks. Whenever a
product stock arrives, the Inventory Administrator updates the stocks of the products. He
could add new product in the inventory. He could also view, search and modify the
product details. The Admin could view the whole product list and their product
summaries.
goods.
1.0 Mediu The system UC_6 UC_Place_Order_Request
m “shall” provide
two types of
registration
process, normal
and privileged
3.0 Mediu The System UC_7 UC_Create_Action
m “shall” generate
an action event
for a
corresponding
administrator
when a request
is placed for
updating of
orders or
customer details
etc
1.0 Mediu CA UC_8 UC_Accept_Customer_Reque
m “shall”accept, UC_9 st
reject and UC_Reject_Customer_Reques
UC_1
temporarily t
0
waive the UC_View_Customer_Request
requests on the
basis of
credentials
provided.
1.0 Mediu System “shall” UC_1 UC_Update_Request
m update the 1
customers
Request
1.0 Mediu System “shall” UC_1 UC_Change_Payment_Details
m process different 2 ,
types of UC_1 UC_Change_Status,
updating e.g. 3 UC_Change_Personal_Details
updating of his UC_1
personal/shippin 4
g details, or
upgrading of his
status from
registered to
privileged
customer, or
updating of his
payment
methodology
1.0 Mediu A customer UC_1 UC_View_Customer_Details
m “shall” view his 5
details for
verification
purposes
1.0 Mediu System “shall” UC_1 UC_Search_Customer
m search any 6
customer details
2.0 Mediu User “shall” UC_1 UC_Serach_Orders
m view the status 7
of their orders
by providing the
Order Number
2.0 Mediu Privileged UC_1 UC_Update_Request
m customers 8
“shall”place the
request for the
updating of their
orders if the
orders are not
shipped.
2.0 Mediu Privileged UC_1 UC_View_All_Orders
m customer “shall” 9 UC_Manage_Order
place the request UC_2
for the 0
cancellation of UC_2
the order. But all 1
these updating
and cancellation
requests are to
be viewed by the
Order
Administrator in
order to accept,
reject, or waive
them.
1.0 Lowest A customer UC_2 UC_Login,
“shall” login to 2
the system and UC_2
can change his 3
password
Example