Monday, September 13, 2010

ASSIGNMENT:用 php + mysql 研发一个e-commerce系统

这个sem我有一科是web development,其中一个project就是替一家公司/商店开发一个网上预订/网购的系统。我们的组选了一间背包店,帮它研发一个网购系统。

首先,我们要清楚我们所开发的系统会有什么功能,使用者是谁,还有最重要的,是系统的保安一定要到家,因为它涉及你的client的资料和金钱。如果有保安漏洞,那么这套系统的interface做到几美都没用。
还有,我发现一些同学的concept错了,因为他们担心client的product太多,要帮client 输入资料会很麻烦。第一,我们只是developer,我们只开发一套系统给client,我们完全不用帮client输入product的资料,可能只需要key in几个来test我们的系统。而且client也不会随便把公司product的资料交给我们。而且想想,如果client在明天有新的product到,难道client要call我们帮他们输入这些product的资料?
所以,我们的系统一定要有ADD, REMOVE和MODIFY的功能。这系统一定会有一个database,然后我么就要设计一些interface让user去add,remove和delete database里的data。例子:当有新的product时,user就要进入add page去输入这些新product的资料。当这product没有了货或者是停止售卖时,user就要去remove page删除这product的资料。当这product补货时,就要去modify的page更新货物的数量。这些功能一定要设计只能让管理层(admin)使用。
还有view的功能,让user能游览所有product。
我们先明白一些网店的运作流程吧。
1. 一个顾客游览网店,
2. 他游览网店的网页,点击网页上的产品。
3. 他阅读产品的资料,对产品有兴趣。
4. 点击“add to cart”,把产品加入购物栏(shopping cart)。
5. 他结帐,输入邮寄地址,付费资料。
6. 他离开网店。
嗯,就是那么简单。这就是大家要做的基本功能,就是网店该有的网页让顾客能做完以上6个步骤。当然,你能够为你的网店加入更多的功能,比如多预订之类的,但是我们还是先focus在basic的功能。
下面是我为网店做的data flow diagram。还在学习中,不懂做得对不对。
还有一个use case diagram,就是哪些user该享有哪些功能的使用权。


至于开发网店所用的语言,我选用php,因为语法比较简单(对我来说),还有很容易找到免费的web hosting。database方面就选用mySql。原因一样。^.^v

先写到这,要睡觉咯~大家加油加油!!!
_________________________________________________________________
_________________________________________________________________
看看这个php的code,是view all product的code。
<?php

$con = mysql_connect("localhost","root","");

if(!$con)
{
die('Could not connect: ' .mysql_error());
}

mysql_select_db("bagman_ecommerce", $con);

$result = mysql_query("SELECT * FROM product");

echo "<table border='1'>
<tr>
<th>No.</th>
<th>Product id </th>
<th> Product name</th>
<th>SKU</th>
<th>Quantity</th>
<th>stock Status</th>
<th>manufacturer id</id>
<th>shipping</th>
<th>Price</th>
<th>Date available</th>
<th>Weight</th>
<th>Length</th>
<th>Length class</th>
<th>Width</th>
<th>Heigth</th>
<th>Weight class</th>
<th>Date added</th>
<th>Date modified</th>
<th>Viewed</th>
</tr>";
$no = 0;

while($row = mysql_fetch_array($result))
{
$no = $no + 1;
echo "<tr>";
echo "<td>" . $no."</td>";
echo "<td>" . $row['product_id']."</td>";
echo "<td>" . $row['product_name']."</td>";
echo "<td>" . $row['sku']."</td>";
echo "<td>" . $row['quantity']."</td>";
echo "<td>" . $row['stock_status_id']."</td>";
echo "<td>" . $row['manufacturer_id']."</td>";
echo "<td>" . $row['shipping']."</td>";
echo "<td>RM " . $row['price']."</td>";
echo "<td>" . $row['date_available']."</td>";
echo "<td>" . $row['weight']."</td>";
echo "<td>" . $row['length']."</td>";
echo "<td>" . $row['length_class_id']."</td>";
echo "<td>" . $row['width']."</td>";
echo "<td>" . $row['height']."</td>";
echo "<td>" . $row['weight_class_id']."</td>";
echo "<td>" . $row['date_added']."</td>";
echo "<td>" . $row['date_modified']."</td>";
echo "<td>" . $row['viewed']."</td>";
echo "</tr>";
}
echo "</table>";

mysql_close($con);
?>

No comments:

Post a Comment

LinkWithin

Related Posts with Thumbnails