trong quá trình phân tích và thiết kế người phân tích đã hình thành nên giao diện của hệ thống như thế nào là thuận tiện, các mối quan hệ dữ liệu ra sao .... đối với một lập trình viên k
Trang 1THIẾT KẾ HỆ THỐNG WEBSITE
Thiết kế hệ thống là công việc cụ thể hóa hệ thống ở mức sơ lược
Gồm có ba phần chính:
I Cơ sở lý thuyết
II Thiết kế giao diện chính của hệ thống
III Mô tả một số modul quan trọng của hệ thống
Nó có mang tính chất rất quan trọng đối với hệ thống điều quan tâm lớn nhất của người phân tích hệ thống là làm sao mà hệ thống thiết kế ra phải đáp ứng được yêu cầu, người đọc hiểu hình dung được hệ thống như thế nào hệ thống thiết kế ra phải được các chuyên gia có liên quan đến lĩnh vực phân tích hệ thống kiểm nghiệm họ phải nắm bắt được hệ thống , đánh giá được một cách khải quát về sự ảnh hưởng của hệ thống, tính linh hoạt tiện lợi, độ an toàn khi hệ thống hoạt động từ đó đánh giá được tính ứng dụng của hệ thống khi hoàn thành có nghĩa là có thể đưa hệ thống này vào ứng dụng được hay không được đây là một khâu kiểm duyệt tạo nên bước ngoặt cho việc có tiếp tục thực hiện các khâu tiếp theo của hệ thống hay không hay là phải phân tích lại
mặt khác phân tích thiết kế hệ thống còn hỗ trợ cho công việc của lập trình viên người lập trình viên không cần phải có chuyên môn nhiều về thiết kế hệ thống cũng có thể viết được chương trình nhưng lý do chính là đòi hỏi lập trình viên phải thực hiện theo yêu cầu của người thiết kế trong quá trình phân tích và thiết kế người phân tích đã hình thành nên giao diện của hệ thống như thế nào là thuận tiện, các mối quan hệ dữ liệu ra sao như vậy khi thiết kế hệ thống người phân tích đã chọn được phương án thiết kế mang tính khả thi đối với một lập trình viên không đi xâu vào việc phân tích, không khảo sát dữ liệu cũng như tìm hiểu nghiệp vụ không thể nào tạo nên một giao diện thân thiện với người sử dụng hay không thiết kế dữ liệu một cách chính xác được
I Cơ sở lý thuyết
Trang 21.1 Lý thuyết Cơ sở dữ liệu (CSDL)
* CSDL là gì?
Một cơ sở dữ liệu có thể định nghĩa tạm như sau: một chỗ chứa có tổ chức tập hợp các tập tin dữ liệu có tương quan, các mẫu tin và các cột
Ngày nay CSDL tồn tại trong mỗi ứng dụng thông dụng, ví dụ:
- Hệ kho và kiểm kê
- Hệ đặt chỗ máy bay
- Hệ nguồn nhân lực
- hệ dịch vụ công cộng như cấp nước, điện, khí đốt
- Điều khiển quá trình chế tạo và sản xuất
* Hệ quản trị CSDL
Một hệ quản trị CSDL (HQTCSDL) là:
- Một tập các phần mềm quản lý CSDL và cung cấp các dịch vụ xử lý CSDL cho các
những người phát triển ứng dụng và người dùng cuối.
- HQTCSDL cung cấp một giao diện giữa người sử dụng và dữ liệu
- HQTCSDL biến đổi CSDL vật lý thành CSDL logic
Dựa vào cách tổ chức dữ liệu, HQTCSDL được chia thành năm loại:
- loại phân cấp như hệ IMS của IBM
- loại mạng như IDMS của Cullinet Software
- Loại tập tin đảo như ADABAS của Software AG
- Loại quan hệ như như ORACLE của Oracle, DB2 của IBM, ACCESS của Microsoft Access
- Loại đối tượng là một tiếp cận khá mới trong thiết kế HQTCSDL và việc sử dụng loại này sớm trở nên phổ biến
Trang 3Hiện tại, loại HQTCSDL chính được sử dụng trong công nghệ là loại HQTCSDL quan hệ (RDBMS) Loại này đã chiếm lĩnh trong công nghệ trên 10-15 năm cuối cùng khi đánh bật loại HQTCSDL phân cấp và gần đây là HQTCSDL mạng.
+ lưu phòng hờ và phục hồi CSDL
+ giữ liên lạc với người phát triển ứng dụng, người lập trình và người dùng cuối.+ bảo đàm sự hoạt động trôi chảy và hiệu quả của CSDL và HQTCSDL
- Người phát triển và lập trình ứng dụng là những người chuyên nghiệp về máy tính
có trách nhiệm thiết kế, tạo dựng và bảo trì hệ thông tin cho người dùng cuối
- Người dùng cuối là những người không chuyên về máy tính nhưng họ là các chuyên gia trong các lãnh vực khác có trách nhiệm cụ thể trong tổ chức Họ khai thác CSDL thông qua hệ được phát triển bởi người phát triển ứng dụng hay các công cụ truy vấn của HQTCSDL
* CSDLQH và Hệ tập tin theo lối cũ
Tiếp cận CSDL đã giải quyết 3 vấn đề của hệ tập tin theo lối cũ:
Vấn đề 1: cấu trúc logic và cấu trúc vật lý
Kiến trúc bên trong HQTCSDL quan hệ tách biệt rõ ràng giữa:
- cấu trúc luận lý của tất cả tập tin và chương trình ứng dụng khai thác tập tin này và
- cấu trúc vật lý của csdl và phần lưu trữ các tập tin
Trang 4Tiếp cận này tạo cho người quản trị CSDL có thể thay đổi cấu trúc vật lý hay nơi lưu trữ của tập tin
mà không ảnh hưởng đến chương trình ứng dụng
Vấn đề 2: dư thừa dữ liệu
Khi HQTCSDLQH được giới thiệu, nhiều tổ chức mong tích hợp các tập tin đã phân tán khắp trong tổ chức vào một CSDL tập trung Dữ liệu có thể chia sẻ cho nhiều ứng dụng khác nhau và người sử dụng có thể khai thác đồng thời các tập con dữ liệu liên quan đến
họ Điều này làm hạn chế sự dư thừa dữ liệu
Vấn đề 3: Sự khai thác dữ liệu của người sử dụng
Trong hệ QTCSDLQH người dùng có thể trực tiếp khai thác dữ liệu thông qua việc sử dụng các câu truy vấn hay các công cụ báo cáo được cung cấp bởi hệ QTCSDL
1.2 Tìm hiểu về ngôn ngữ sử dụng trong hệ thống
1.2.1 Giới thiệu về ASP.
ASP (Active Server Pages) là một môi trường lập trình cung cấp cho việc kết hợp HTML, ngôn ngữ kịch bản (Scripting) như VBScript, Javacript, và các thành phần được viết trong các ngôn ngữ nhằm tạo ra một ứng dụng Internet mạnh mẽ và hoàn chỉnh
1.2.2 ASP file là gì?
File được tạo với phần mở rộng ASP Trong file này chứa các thẻ HTML, Các kịch bản Scripting như VBSCript, JavaScript hay các lời gọi đến các components(Như DLL và ActiveX control)
Các script của ASP được nằm trong cặp thẻ <% %>
Khi cần sửa đổi các file ASP ta chỉ cần ghi lại trên server thôi Vào nhưng lần
saukhi trang ASP được gọi, các Script trong file ASP tự động biên dịch lại
Trang 5Công nghệ ASP được xây dưng trực tiếp bên trong ; IIS(WinNT, 2000), Personal Webserver
1.2.3 ASP làm việc như thế nào ?
Trang HTML tĩnh:
Trang Web động
Trang 61.3 Giới thiệu về IIS- Internet Information Server.
1.3.1 IIS là gì?
Microsoft Internet Information Server là một ứng dụng server chuyển giao thông tin bằng việc sử dụng giao thức chuyển đổi siêu văn bản HTTP
1.3.2 IIS có thể làm được gì?
- Xuất bản một Home page lên Internet
- Tạo các giao dịch thương mại điện tử trên Internet( Quá trình giao dịch, đặt hàng…)
- Cho phép người dùng từ xa có thể truy xuất Cơ sở dữ liệu (Data Base Remote Access)
…
1.3.3 ISS hoạt động như thế nào ?
Trang 7Web, về cơ bản thực sự là một hệ thống các yêu cầu (Request) và các đáp ứng (Response) IIS phản hồi lại các yêu cầu đòi thông tin của Web Browser IIS lắng nghe các yêu cầu đó
từ phía Users trên một mạng sử dụng WWW
1.3.4 Cài đặt IIS.
Ví dụ và thực hiện chạy file ASP.
<% If (Time >=#12:00:00 AM#) then%>
1.4.1 Khai báo biến.
- Không bắt buộc nhưng nên khai báo để kiểm soát và bắt lỗi
- Nên sử dụng <% Option Explicit %> ở ngay đầu mỗi tệp ASP
- Cú pháp: Dim biến 1, biến 2…
- Để khai báo mảng:
i Dim a(10) : chỉ số chạy từ 0->10 do đó có 11 phần tử
ii Khi khai báo nên sử dụng các tiền tố:
Dạng dữ liệu Tiền tố (prefix)
Trang 81.4.2 Khai báo hằng số.
CONST tên hằng= giá trị
1.4.3 Các đối tượng xây dựng sẵn trong ASP.
Trong ASP có 5 đối tượng phục vụ cho việc sử dụng toàn bộ
+ Request: Lấy thông tin từ User
+ Response: Gửi thông tin từ Server tới User.
+ Server: Dùng để điều khiển IIS
+ Session: Dùng để lưu trữ các thông tin như các cài đặt, thay đổi cho một
phiên làm việc hiện thời của User
+ Application: Dùng để chia sẻ các thông tin cấp ứng dụng và điều khiển
các thiết lập cho toàn bộ quá trình chạy ứng dụng
Trang 91.5 Cấu trúc điều khiển lệnh và Hàm.
1.5.1 Các cấu trúc điều khiển.
A Cấu trúc điều kiện IF THEN ELSE IF
Select Case <tenbien>
Case <gia tri 1>
Trang 10Ví dụ: Hiện ngày giờ trên máy chủ và cho biết hôm nay là thứ mấy?
C Cấu trúc lặp tuần tự for…next.
Dùng để lặp với số lần đã biết, tuy nhiên ta có thể ngắt bằng lệnh EXIT FOR
Trang 111.6 Một số hàm hữu dụng trong ASP.
1.6.1 Các Hàm xử lý văn bản
i TRIM(xâu as string): Bỏ khoảng trắng hai đầu kí tự
ii LEFT(Xâu as string, n as interger): Lấy bên trái xâu n kí tự.
iii RIGHT(Xâu as string, n as interger): Lấy bên phải xâu n kí tự.
iv LCASE(Xâu as string) : Chuyển xâu về chữ thường
v UCASE(Xâu as string) : Chuyển xâu về chữ hoa
vi MID(xâu as string, n1, n2): Lấy n2 kí tự trong xâu bắt đầu từ vị trí
n1
vii CSTR(Biến): Hàm chuyển đổi biến thành kiểu string
viii Hàm JOIN/SPLIT(Xâu as string, kí tự ngăn cách): Sẽ Nối/Cắt
xâu thành một/nhiều đoạn bằng cách xác định kí tự ngăn cách ở trên
và cho các đoạn đó lần lượt vào một mảng
Ví dụ:
<%
x=”Hà nội;Hải phòng; TPHCM”
y=split(x,”;”) Response.write y(0) ‘y(0)=”Hà nội”
%>
1.6.2 Các hàm xử lý số.
Trang 12ix SQR(n): Căn bậc hai của n
x INT(n) : Lấy phần nguyên n
xi MOD : Phép đồng dư
xii Toán tử \ : Chia nguyên
xiii Round(số, n) : Làm tròn số với n chữ số thập phân
xiv RND(): Trả về số ngẫu nhiên bất kì trong khoảng [0,1]
1.6.3 Các hàm về ngày tháng thời gian.
i now()
ii date()
II Thiết kế một số giao diện chính của hệ thống
Đối với một hệ thống hỗ trợ bán hàng qua mạng thì việc thiết kế giao diện đóng góp một phần rất quan trọng bởi vì ngoài việc thực chức năng chính là bán hàng nó còn đóng góp một phần rất lớn trong việc quảng bá sản phẩm, nâng cao chất lượng thương hiệu và
uy tín trách nhiệm của Công ty đối với khách hàng… Vì vậy giao diện cần phải được thiết
kế thân thiện, đẹp mắt dễ sử dụng Thể hiện được tính chuyên nghiệp của công tác Thương mại điện tử
Một số giao diện chính của hệ thống Website hỗ trợ bán hàng qua mạng:
Khi một khách hàng ghé thăm Website của Công ty Hệ thống sẽ kết nối và hiển thị trang chủ của Website có giao diện như (Hình 4.1.1)
Trang 13(Hình 4.1.1)Tại đây một giao diện trực quan của hệ thống sẽ được hiển thị, bao chứa các liên kết và tất
cả các chức năng của hệ thống đều có thể bắt đầu từ trang chủ này: Nếu là một khách hàng mới ghé thăm lần đầu tiên bạn có thể lướt các trang liên kết, và xem thông tin quảng cáo của các sản phẩm của công ty, những sản phẩm mới ra hay sản phẩm nào bán chạy nhất hiện nay Để có thêm các chức năng , tiện ích khác của hệ thống khách có thể đăng ký là một thành viên, bằng cách điền các thông tin cá nhân vào Form của trang đăng ký như (Hình 4.1.2)
Trang 14(Hình 4.1.2)Khi đă có một tài khoản được chấp nhận , tức là việc đăng ký của khách đã thành công Khách có thể dùng tài khoản này để đăng nhập vào hệ thống (Hình 4.1.3) Tài khoản này
có thể sử dụng được cho cả các lần ghé thăm sau
Trang 15(Hình 4.1.4)Đăng nhập rồi hệ thống sẽ tự động liên kết đến trang chủ Khách có thể xem danh mục của tất cả các loại sản phẩm của công ty (Hình 4.1.5) Ví dụ như: các loại Chip – CPU mà công
ty có bán
Trang 16(Hình 4.1.5)Khi khách không nhớ rõ tên của một sản phẩm nào đó , khách có thể nhập một vài ký tự liên quan vào Text tìm kiếm và thực hiện hiện Serach Danh sách các mặt hàng có chứa từ khóa tìm kiếm đó sẽ được hiển thị từ đó khách có thể lựa chọn ra sản phẩm mà mình quan tâm Nếu việc xác định thông tin của sản phẩm cần còn khó khăn khách có thể vào liên kết Tìm kiếm chi tiết Để tìm kiếm một cách cụ thể hơn (Hình 4.1.6).
Trang 17(Hình 4.1.6)Kết quả tìm kiếm sẽ được hiển thị (Hình 4.1.7)
Trang 18(Hình 4.1.7)
Có được thông tin của sản phẩm mong muốn khách có thể xem chi tiêt sản phẩm đó như trên (Hình 4.1.8)
Trang 19(Hình 4.1.8)Tại đây khách có thể thực hiện lựa chọn và mua hàng bằng việc đưa hàng vào giỏ hàng , khách hàng có thể mua thêm nhiều mặt hàng khác nhau, có thể xóa hay sửa số lượng mua một mặt hàng nào đó mà mình chưa yên tâm hay không có đủ kinh phí để mua tất cả Giỏ hàng có giao diện như (Hình 4.1.9).
Trang 20(Hình 4.1.9)Nếu quyết định mua hàng khách có thể thực hiện việc lập phiếu mua Ngoài ra khách có thể xem được thông tin cá nhân đã đăng ký của mình (Hình 4.1.10)
Trang 21(Hình 4.1.10)Khi thành viên là ADMIN (Người có quyền quản trị) thì sẽ được cấp các quyền có thể tác động đến Cơ Sở Dữ Liệu (CSDL) – Thêm, sửa , Xóa trên một CSDL nào đó, hay là việc xem thông tin của các thành viên khác …
Trang 22III Một số mudule chính trong hệ thống
rs.Open sql,connend sub
sub ngatketnoi(rs,conn)
rs.closeconn.close
Trang 23set rs=nothingset conn=nothingend sub
%>
3.2 Hienthi.asp
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="css/style.css" rel="stylesheet" type="text/css">
<! #include file = "Function.asp" >
<table border="1" width="100%" cellspacing="1" cellpadding="0" id="table1" collapse: collapse">
style="border-<tr>
<td bgcolor="#92D3C7"><img src = "<%Response.Write Server.MapPath(" /Images/icon_home.gif")%>"></td>
<font color="#CC3300"><b>Tên Sản Phẩm</b></font></td>
<td width="13%" align="center" bgcolor="#D4D4D4" height="27">
<font color="#CC3300"><b>Kho hàng</b></font></td>
<td width="9%" align="center" bgcolor="#D4D4D4" height="27">
<font color="#CC3300"><b>Giá (USD)</b></font></td>
<td width="13%" align="center" bgcolor="#D4D4D4" height="27">
<font color="#CC3300"><b>Giá (VNĐ)</b></font></td>
<td width="11%" align="center" bgcolor="#D4D4D4" height="27">
<font color="#CC3300"><b>Bảo Hành</b></font></td>
Trang 24<td align="center" bgcolor="#D4D4D4" height="27" width="8%"><font color="#CC3300"><b>
Do While NOT rs_loai.EOF
sql_sp = "SELECT * FROM Hanghoa WHERE Maloai = "& rs_loai("MaLoai")
<td width="9%" align =right height="32"><font color="Red"><b><
%Response.Write "$ " & rs_sp("Dongia")%> </b></font></td>
<td width="13%" height="32" align = right><font color="Red"><
Trang 25<div align = center>
<table border="1" width="60%" cellspacing="0" cellpadding="0" style="border-collapse: collapse">
Trang 26<img with = "40" height = "40" border="0" src="<%Response.Write
Server.MapPath(" /images/back.jpg")%>" style="cursor:hand" onclick="javascript:history.back()" align="center"></td>
If tendangnhap = "" ThenThongbao = "Bạn chưa nhập Tên dăng nhập !"call LoiDangky()
Else
If matkhau <> matkhau1 Then
Thongbao = "Mật khẩu và Xác nhận mật khẩu không giống nhau !"
call LoiDangky()Else
sql="select * from Thanhvien where TenDangNhap='" & TenDangNhap & "'"
call SetRecord(sql,conn,rs) 'kiem tra ten dang nhap co bi trung khong?
if not rs.bof then
call ngatketnoi(rs,conn)Response.Redirect("Thongbao.asp?Thongbao=3")end if
Trang 27sql = "INSERT INTO thanhvien
(hodem,tenthanhvien,tendangnhap,matkhau,gioitinh,ngaysinh,diachi,dienthoai,email,nghenghiep,hinhanh) VALUES ('"
sql = sql & hodem & "','"
sql = sql & ten & "','"
sql = sql & tendangnhap & "','"
sql = sql & matkhau & "','"
sql = sql & gioitinh & "','"
sql = sql & ngaysinh & "','"
sql = sql & diachi & "','"
sql = sql & dienthoai & "','"
sql = sql & email & "','"
sql = sql & nghenghiep & "','"
sql = sql & hinhanh & "')"
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="css/style.css" rel="stylesheet" type="text/css">
<! #include file = "Function.asp" >
<%
Dim tenhang