Bishad Ghimire
Anuj Joshi
Rajeev Rauniyar
Kostyantyn Vovk
1. Project Scope and Description.......................................................................................................... 3
1.1 Project Statement............................................................................................................................... 3
1.2 Customer Information...................................................................................................................... 3
1.3 Benefits for the Customer.............................................................................................................. 3
1.4 Product Features.................................................................................................................................. 4
1.5 Performance and Capacity Requirements........................................................................... 4
2. Technical Aspects....................................................................................................................................... 5
2.1 General Overview.................................................................................................................................. 5
2.2 Resources Used........................................................................................................................................ 6
3. Estimation of
Resources............................................................................................................................. 7
3. 1 LOC Based Estimation................................................................................................................................ 7
3.2 Function Point Based Estimation............................................................................................... 8
3.3 COCOMO Intermediate Model Estimation.............................................................................. 9
3.4 Discussion of Results.......................................................................................................................... 9
4. Risk Analysis................................................................................................................................................. 10
4.1 Risks mitigation, monitoring and
management.................................................................... 10
4.2 Risks before software is developed............................................................................................... 10
4. 3 Risk after software is developed................................................................................................... 10
4.4 Risk Analysis................................................................................................................................................. 11
5. Scheduling...................................................................................................................................................... 12
5.1 Process Model........................................................................................................................................ 12
5.2 Macroscopic Schedule..................................................................................................................... 12
5.3 Detailed Schedule............................................................................................................................... 13
5.4 Personal Work Distribution............................................................................................................... 14
1. Project Scope and Description
This project is an online
computer shop system. It is meant to be an Internet computer superstore, where
Internet users can buy a large variety of computer equipment online. Users can
purchase computer products online using their credit-card and the products will
be shipped to them. The aim of this project is to develop an Internet retailing
and e-commerce site.
The customer for this project
is a computer retailer, that is a company that already owns one or more
computer shops and warehouses for storing computer products. The project is
aimed at such a customer that would now like to also sell its computer products
online over the Internet.
The benefits for the customer
are the following:
·
The customer can sell more products since there is the
ability to reach a much larger number of clients. The increase in sales
increases the revenue.
·
The customer can implement a more flexible stock
management and logistics system, tailoring it much closer to the actual
situation. This will allow the customer to decrease the required warehouse and
stocks capacity thus maximizing profit
·
The customer’s clients no longer have to travel to the
shop to buy products, they can do it directly from their homes. This increases
clients’ purchasing incentive and clients’ satisfaction
·
Customer can ship products from multiple warehouses thus
increasing the number of products that can be sold from the Internet site. In
this way the customer is no longer limited by the capacity of any single shop.
·
It is predicted that e-commerce will be all-present and
dominating in the next century, therefore the earlier the customer enters this
field, the greater the possibilities
These are the features of our
product:
·
The user can select from a multitude of different
products in a large number of categories
·
The user can search the database of available products
based on a large number of entry options, e.g. by manufacturer, by category, by
type etc.
·
The user can compare two or more different products to
help him or her decide on the best product
·
The user can view the specifications and characteristics
of each single product
·
The user can purchase a product over a secure
connection
·
The user will receive an e-mail confirming his or her
order and will be issued a unique order number
·
The product can be used by anybody with access to a 4th
generation WWW browser
·
The price of each product can be updated in real-time
·
The number of products in stock is updated in real-time
·
The customer (i.e. the computer retailer) is provided
with a database management console that allows the customer’s employees to easily
and conveniently add entries to the main database and update existing entries.
The main database on the Internet Site Server is updated in real time.
1.5 Performance and Capacity Requirements
These are the performance and
capacity requirements for our project:
·
The customer requires that the product sustains
multiple simultaneous users without significant performance breakdown
·
The customer requires a database capacity to store
records in the order of tens of thousands, the database size being located in the
100 MB to 1 GB range
·
The customer requires a database query time of no
longer than 30 seconds for each query
This demonstrates the general
model of how our product is built and the relationships between the separate
parts of the product as well as
software and protocols that are used to achieve our aim.
a) Hardware:
i)
Quantex Pentium II 233 MHz Computer – Server
ii)
Toshiba Pentium II 233 MHz Computer
iii)
Gateway Pentium II 400 MHz Computer
iv)
10BaseT Hub
b) Software:
i)
Microsoft Windows NT Server 4.0
ii)
Microsoft Internet Information Server 4.0
iii)
Microsoft Windows NT Workstation 4.0
iv)
Microsoft Visual FoxPro 6.0
v)
Microsoft Visual Basic 6.0
vi)
Microsoft Visual InterDev 6.0
vii)
Microsoft Visual C++ 6.0
viii)
Microsoft Internet Explorer 5.0
ix)
Netscape Communicator 4.5
x)
Borland Delphi 4.0
xi)
NetObjects Fusion 4.0
xii)
Adobe Photoshop 5.0
xiii)
Microsoft Word 97
xiv)
Microsoft PowerPoint 97
All the listed
resources, both hardware and software are available to the team members. After discussing
and comparing our technical skills, we came to the conclusion that the
following technical skills need to be acquired:
i)
Visual C++ Windows OLE DB programming
ii)
FoxPro x-Base Programming
iii)
ASP Programming
Software cost and effort estimation will never be an
exact science. Too many variables like technical, environmental, human,
political can affect the ultimate cost of software and effort applied to
develop it. However project estimation can be transformed to a series of systematic
steps that provide estimates with acceptable risk.
When LOC is used as the
estimation and variable, decomposition is absolutely essential and is often
taken to considerable levels of details. The greater the degree of
partitioning, the more likely that reasonably accurate estimates of LOC can be
developed. Table 1 shows our estimation. Note that the Expected LOC was
calculated using the formula: EV =
(Optimistic + 4 * Likely + Pessimistic) / 6
Table 1. LOC Based Estimation
|
Function |
Optimistic |
Likely |
Pessimistic |
Expected |
|
HTML User
Interface CSS Style
Definitions JavaScript
Client-Side Scripting ASP Server-Side
Scripting C++ to x-Base
Bridge Visual FoxPro
x-Base Code Visual Basic OLE
DB Code Management
Console Delphi Code SQL Query Code GUI Java Menu
Applets |
1800 200 500 1000 500 900 650 800 300 500 |
2000 300 800 1100 750 1200 900 1000 450 750 |
2400 350 900 1400 800 1400 1000 1150 500 850 |
2040 280 770 1140 710 1180 875 990 430 725 |
Thus
the Total LOC that we estimated is 9140
Effort
= 14.5 person–months
Cost = 9140 LOC * (8000$ / (620 LOC/PM)) =
105,000$
3.2 Function Point Based Estimation
Function oriented software
metrics use a measure of the functionality delivered by the application as a
normalization value. Function points are derived using an empirical
relationship based on countable (direct) measures of software's information
domains and assessments of software complexity. Each of the information domain
characteristics like input, output, data file inquiries and external interface
and fourteen complexity adjustment value are estimated. The estimation of
information domain values is shown in Table 2. Note that the Estimated Count
was calculated using the formula: EV =
(Optimistic + 4 * Likely + Pessimistic) / 6
Table 2. Estimation of Information Domain Values:
|
Information Domain |
Opt. |
Likely |
Pess. |
Est. Count |
Weight |
FP-Count |
|
Number of Inputs Number of Outputs Number of Inquiries Number of Files Number of Interfaces |
15 9 8 2 2 |
18 11 13 2 2 |
22 14 14 3 3 |
18 11 12 2 2 |
4 5 4 10 7 |
72 55 48 20 14 |
Therefore the
Count-Total is 209
Table 3.
Estimation of Complexity Adjustment Values
|
Factor |
Value |
|
Backup
and recovery Data
Communications Distributed
Processing Performance
Critical Existing
Operating Environment Online
Data Entry Input
Transaction over multiple screens Master
files updated online Information
domain values complex Internal
Processing complex Code
designed for re-use Conversion/Installation
design Multiple
Installations Application
Designed for change |
2 4 4 3 1 4 1 4 2 3 2 0 0 4 |
|
Complexity Adjustment Factor |
0.99 |
So the Estimated FP = 209 * Complexity
Adjustment Factor = 209*0.99 = 207 FP
Effort = 13.8
person-months
Cost = 108, 000$
3.3 COCOMO Intermediate Model Estimation
The intermediate COCOMO model computes software development
effort as a function of program size and a set of "cost drivers" that
include subjective assessments of product, hardware, personnel, and project
attributes.
The intermediate COCOMO model takes the form
E = ai KLOC ^ bi * EAF
Where E is the
effort applied in person-months and KLOC is the estimated number of delivered
lines of code for the project.
If the project is considered to be an intermediate, we
can take ai = 3.2 and bi = 1.05 and EAF (Effort Adjustment
Factor) as .45
Our Estimated lines of code is 9140
From the calculation we get E = 14.7 person - months.
The product duration can be calculated as:
D = (2.5)(E
^0.35) = 2.77 months.
Estimated recommended number of people, N, is:
N = E / D = 14.7 /
2.77 ~ 5 people
The above computation in all
of the estimation techniques looks reasonable. The estimations that we have
come up with are all in the proximity of each other since we had lot of meeting
going on every week and all the team members knew what they were doing and the
part they were playing in the design process. The concurrence of the estimation
results is a sign that the project has been sufficiently planned thus the team
is in a position to go on with the project.
4.1 Risks mitigation, monitoring and management
We came up with the following list of risks related to
the software engineering project and a list of proactive prevention to that
risk. It should be noted that risk can only be approximated but cannot be
measured like other values
4.2 Risks before software is developed
·
Team members’ health and motivation is very important
for the development of good software.
It also accounts for that the team members are technically skilled to
carry on with project. The members should be excited to learn and contribute as
much as possible. We are going through lots of learning and regularly
discussing the materials we have learned. Members have good understanding
between the group. Each one appreciates other work and eager to help each other
any time.
·
Priority of the work – In projects everybody should
prioritize the work. If member are not going according to the schedule and not
working according to priority then there will be lot of hindrance to the
project. The seriousness and dedication of work is very important. Since we are
graded for that we are very serious about it.
·
Lack of interest by customer team – During the
development of the project it could happen that our the customer might not
cooperate with our development. To avoid that we are constantly discussing with
the customer team to avoid confusion and to build better and user friendly
product
4. 3 Risk after software is developed
·
Hacking – The objects and development that make money
and provide information are eye to the hackers. Since our product is online
computer store there is great chance that hacker would try to disrupt it. To
minimize the hacking of our site and information we will have secure server,
socket layers and protocols. (We will have other security codes in our asp page.)
·
Credit Card Fraud- Credit Card fraud is also another
very serious problem to online business. For our online store it is obviously
very important. To minimize the credit card fraud we will use SSL Layer 2
connection for transmitting credit-card information. There will be secure 128
bit encryption
·
Simultaneous Buyers- Since the online shopping store is
all in real-time so there might be that some buyers buying the same thing at
same time which could cause error in stock management when there is only one item
left in stock. To avoid this we would be utilizing fast real time transactions
at a time. If two transaction of same purchase collide one will have to wait
until other one finishes other wise if different purchases collide they can buy
simultaneously, since no problem would then occur.
Table 4. Risk
Analysis
|
RISKS |
CATEGORY |
PROBABILITY |
IMPACT |
|
|
Lack of interest by customer |
Customer |
35% |
** |
|
|
Team members’ health |
Process |
30% |
*** |
|
|
Priority of Work |
Members’ risk |
10% |
* |
|
|
Credit Card Fraud |
Technology |
45% |
||