Phân tich thiết kế trang web bán điện thoại

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 4 1.1 TỔNG QUAN VỀ INTERNET VÀ THƯƠNG MẠI ĐIỆN TỬ 4 1.1.1 TỔNG QUAN VỀ INTERNET 4 1.1.2 THƯƠNG MẠI ĐIỆN TỬ 5 1.2 PHP VÀ VIỆC XÂY DỰNG CÁC ỨNG DỤNG TRÊN WEB 7 1.2.1 GIỚI THIỆU VÀ SỬ DỤNG PHP 7 1.2.2 NGÔN NGỮ PHP 8 1.3 CƠ SỞ DỮ LIỆU VÀ PHƯƠNG PHÁP TRUY XUẤT CSDL MYSQL 20 1.3.1 CÁC KHÁI NIỆM CƠ BẢN 20 1.3.2 MYSQL VÀ PHƯƠNG PHÁP TRUY XUẤT CSDL MYSQL 22 CHƯƠNG 2 PHÂN TÍCH HỆ THỐNG 28 2.1 CƠ SỞ LÝ THUYẾT 28 2.1.1 Nghiên cứu – khảo sát hệ thống cũ để làm gì ? 28 2.1.2 Chiến lược điều tra và Quy trình khảo sát hệ thống 28 2.1.3. Xây dựng dự án 30 2.2 PHÂN TÍCH HỆ THỐNG VỀ CHỨC NĂNG 30 2.2.1. Biểu đồ phân cấp chức năng 30 2.2.2. Biểu đồ luồng dữ liệu 31 2.2.3. Phân rã luồng dữ liệu theo mức 33 2.3 PHÂN TÍCH HỆ THỐNG VỀ DỮ LIỆU 33 2.3.1. Sơ đồ thực thể 33 2.3.2. Các thành phần của sơ đồ thực thể 34 2.4 MÔ TẢ HỆ THỐNG KHẢO SÁT 35 2.4.1. Hệ thống bán hàng trực tiếp 35 2.4.2. Hệ thống bán hàng qua mạng 35 2.5 MỘT SỐ SƠ ĐỒ 37 2.5.1. Sơ đồ phân cấp chức năng 37 2.5.2. Biểu đồ mức khung cảnh 38 2.5.3. Biểu đồ mức đỉnh 38 2.5.4. Biểu đồ mức dưới đỉnh - chức năng quản lý người dùng 39 2.5.5. Biểu đồ mức dưới đỉnh – chức năng xử lý đơn hàng 40 2.5.6.Biểu đồ liên kết thực thể 41 CHƯƠNG 3 HỆ THỐNG BÁN HÀNG TRỰC TUYẾN 42 KẾT LUẬN 45 TÀI LIỆU THAM KHẢO 46

docx47 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2719 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Phân tich thiết kế trang web bán điện thoại, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
MỤC LỤC LỜI NÓI ĐẦU Ngày nay với sự phát triển của khoa học kỹ thuật, công nghệ máy tính đã đạt được nhiều thành tựu to lớn. Máy tính đã và đang được sử dụng rộng rãi trong các công việc mà trước đó con người phải sử dụng bàn tay của mình với hình thức lao động thủ công năng suất thấp và chất lượng công việc không cao. Với sự ra đời và phát triển không ngừng của công nghệ, máy tính hiện nay đã đáp ứng được một phần nhu cầu trong cuộc sống, sản xuất, nghiên cứu khoa học và làm thay đổi bộ mặt xã hội. Trong thời đại bùng nổ của cuộc cách mạng công nghệ thông tin trên toàn cầu, khi nói đến Internet, người ta nghĩ ngay tới Web. Với một vai trò quan trọng là đảm bảo chia sẻ thông tin chung cho mọi người, Web hiện nay còn chứa rất nhiều những giải pháp, công nghệ để đảm nhận được vai trò to lớn của nó trong đời sống, kinh tế, văn hóa, xã hội. Để có một website “ Thương mại điện tử ” được ứng dụng, đáp ứng được nhu cầu công việc đặt ra thì người làm tin học phải biết phân tích thiết kế hệ thống làm việc của chương trình, để từ đó xây dựng nên một website ứng dụng quản lý chương trình đó bằng ngôn ngữ lập trình. Công nghệ thông tin và ứng dụng có vai trò rất quan trọng trong việc cung cấp thông tin, trao đổi thông tin, giao dịch thương mại... qua hệ thống Website trên Internet. Mọi người có thể tìm kiếm thông tin về mọi lĩnh vực trong cuộc sống : khoa học, giáo dục, dịch vụ, giải trí, du lịch, .... phục vụ và đáp ứng nhu cầu của mọi người. Vì vậy xây dựng Website là vô cùng cần thiết để đáp ứng nhu cầu của người sử dụng . Bắt nguồn từ những ý tưởng, từ nhu cầu thực tế trên em chọn đề tài: “ Nghiên cứu xây dựng một số chức năng của wesbsite bán hàng trên Internet dựa trên ngôn ngữ lập trình PHP ” Sau khi hoàn thành trang Web. Em xin được viết báo cáo trình bày bài thực tập chuyên nghành này. Bài thực tập bao gồm thành phần cơ bản sau : CHƯƠNG 1: CƠ SỞ LÝ THUYẾT CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG CHƯƠNG 3: HỆ THỐNG BÁN HÀNG TRỰC TUYẾN Do còn thiếu kinh nghiệm thực tế nên em không tránh khỏi những vấn đề sai sót. Em rất mong nhận được sự chỉ bảo tận tình của thày cô để em có thể hoàn thiện website, để website có giá trị thực tiễn trong việc ứng dụng nó vào thực tế. Em xin gửi lời cảm ơn chân thành đến cô Nguyễn Thu Hằng và các thày cô đã chỉ bảo tận tình để em có được những kiến thức hữu ích trong quá trình thực tập lần này ! Em xin chân thành cảm ơn ! CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 1.1 TỔNG QUAN VỀ INTERNET VÀ THƯƠNG MẠI ĐIỆN TỬ 1.1.1 TỔNG QUAN VỀ INTERNET 1.1.1.1 Internet và xuất xứ của nó Internet là một hệ thống thông tin toàn cầu có thể được truy nhập công cộng gồm các mạng máy tính được liên kết với nhau. Hệ thống này bao gồm hàng ngàn mạng máy tính nhỏ hơn của các doanh nghiệp, của các viện nghiên cứu và các trường đại học, của người dùng cá nhân, và các chính phủ trên toàn cầu. Tiền thân của mạng Internet ngày nay là mạng ARPANET. Tới năm 1995, Internet đã trở thành một mạng lớn nhất trên thế giới, mạng của các mạng, xuất hiện trong mọi lĩnh vực thương mại, chính trị, quân sự, nghiên cứu, giáo dục, văn hoá, xã hội... Cũng từ đó, các dịch vụ trên Internet không ngừng phát triển tạo ra cho nhân loại một thời kỳ mới: kỷ nguyên thương mại điện tử trên Internet. 1.1.1.2 Cách thức truyền thông trên Internet Trong những năm 60 và 70, nhiều công nghệ mạng máy tính đã ra đời. Internet được thiết kế để liên kết các kiểu mạng khác nhau và cho phép thông tin được lưu thông một cách tự do giữa những người sử dụng mà không cần biết họ sử dụng loại máy nào và kiểu mạng gì Một số mạng máy tính bao gồm một máy tính trung tâm (còn gọi là máy chủ) và nhiều máy trạm khác nối với nó. Các mạng khác kể cả Internet có quy mô lớn bao gồm nhiều máy chủ cho phép bất kỳ một mạng máy tính nào trong mạng đều có thể kết nối với các máy khác để trao đổi thông tin. Một máy tính khi được kết nối với Internet sẽ là một trong số hàng chục triệu thành viên của mạng khổng lồ này. Vì vậy Internet là mạng máy tính lớn nhất thế giới hay nó là mạng của các mạng. 1.1.1.3 Các dịch vụ trên Internet Thư điện tử ( E – mail ) : Trao đổi thông tin giữa cá nhân với cá nhân, cá nhân với tổ chức và các tổ chức với nhau. Nó cho phép gửi nội dung thông tin tới từng địa chỉ hoặc đến tất cả các địa chỉ theo danh sách. Lợi ích chính của dịch vụ thư điện tử là thông tin gửi nhanh và rẻ. WWW ( World Wide Web ) : Là dịch vụ mà ngưởi dùng quan tâm nhất hiên nay. Web là một công cụ, một công cụ của Internet, nó chứa thông tin bao gồm : âm thanh, hình ảnh, văn bản, thậm chí cả video được kết hợp với nhau. Dịch vụ truyền file ( FTP – File Transfer Protocol ) : dịch vụ dùng để trao đổi các tệp tin từ máy chủ xuống các máy cá nhân và ngược lại. Gropher : dịch vụ hoạt động như viện Menu đủ loại. Thông tin hệ thống Menu phân cấp giúp người sử dụng từng bước xác định được những thông tin cần thiết để đi được tới vị trí cần đến. Telnet : dịch vụ cho phép truy cập tới Server được xác định rõ như một Telnet Site tìm kiếm Server người dùng có thể thấy được dịch vụ vô giá khi tìm kiếm các thông tin trong thư viện và các thông tin lưu trữ 1.1.2 THƯƠNG MẠI ĐIỆN TỬ Thương mại điện tử là gì ? Thương mại điện tử ( E – Commerce ) là hình thái hoạt động kinh doanh bằng các phương pháp điện tử; là việc trao đổi “ thông tin ” kinh doanh thông qua các phương tiện công nghệ điện tử Theo khái niệm này, thương mại điện tử không chỉ là bán hàng trên mạng hay bán hàng trên Internet mà là hình thái hoạt động kinh doanh bằng các phương pháp điện tử. Hoạt động kinh doanh bao gồm tất cả các hoạt động trong kinh doanh như : giao dịch, mua bán, thanh toán, đặt hàng, quảng cáo, và kể cả giao hàng. Các phương pháp điện tử ở đây không chỉ có Internet mà bao gồm việc sử dụng các phương tiện công nghệ điện tử như : điện thoại, máy fax, truyền hình, mạng máy tính ( trong đó có Internet ). Thương mại điện tử cũng bao hàm cả việc trao đổi thông tin kinh doanh thông qua các phương tiện công nghệ điện tử. Thông tin ở đây không chỉ là những số liệu hay văn bản, tin tức mà nó gồm cả hình ảnh, âm thanh và phim video. Thương mại điện tử và tầm quan trọng của nó Hiện nay nhờ vào sự phát triển của các phương tiện truyền thông đặc biệt là sự phát triển của tin học đã tạo điều kiện cho mọi người có thể giao tiếp với nhau 1 cách nhanh chóng và dễ dàng hơn thông qua các dịch vụ của Internet. Vì vậy thương mại điện tử thông qua Internet đang phát triển trong điều kiện vô cùng thuận lợi. Nó trở nên phổ biến và trở thành công cụ mạnh mẽ để bán hàng và quảng bá sản phẩm của các doanh nghiệp. Thông qua đó khách hàng có thể lựa chọn, so sánh sản phẩm phù hợp về chủng loại, dịch vụ, giá cả, chất lượng và phương thức giao hàng cho khách hàng. Thương mại điện tử không chỉ mở ra những cơ hội kinh doanh mới, những sản phẩn và dịch vụ mới, nghành nghề kinh doanh mới mà bản thân nó thực sự là một phương thức kinh doanh mới : “phương thức kinh doanh điện tử”. Thương mại điện tử chuyển hóa các chức năng kinh doanh, từ nghiên cứu thị trường và sản xuất sản phẩm đến bán hàng, dịch vụ sau bán hàng từ phương thức kinh doanh truyền thống đến phương thức kinh doanh điện tử Thực tế thương mại điện tử ở Việt Nam Việt Nam là một nước có nền CNTT kém phát triển so với thế giới nói chung và khu vực nói riêng. Ngày 19/11/1997 (ngày Internet Việt Nam), Internet chính thức được đưa vào sử dụng tại Việt Nam, xu hướng ứng dụng Thương mại điện tử đã bắt đầu. Con đường tiếp cận Thương mại điện tử qua 3 giai đoạn: chuẩn bị, chấp nhận và ứng dụng, và Việt Nam đang ở bước đầu tiên của giai đoạn thứ nhất. Khó khăn: Các trở ngại có tính Công nghệ như : thiếu một cơ sở hạ tầng và một môi trường công nghệ thích hợp như : giá sử dụng; khả năng bảo mật; nền CNTT kém phát triển và thiếu cán bộ kỹ thuật. Các trở ngại có tính Xã hội: thiếu một môi trường xã hội thích hợp, thiếu hiểu biết từ lãnh đạo đến nhân viên; thiếu hiểu biết từ khách hàng đến bạn hàng. Việt Nam là đất nước tham gia sau và bắt đầu từ đầu nên ngoài vấp phải những khó khăn chung kể trên thì còn rất nhiều khó khăn riêng. Theo đánh giá thì có 3 khó khăn chính là: Cơ sở hạ tầng thông tin cần cải thiện ngay, cần có thời gian hàng năm và lượng vốn đầu tư lớn. Hệ thống dịch vụ tài chính chưa áp dụng hệ thống thanh toán thẻ. Đây là trở ngại và là khó khăn lớn nhất. Cần nâng cao nhận thức của người Việt Nam về Thương mại điện tử thì mới có thể triển khai được. Thuận lợi: Theo các dự báo về một nền kinh tế kỹ thuật số của thế kỷ 21 thì Thương mại điện tử là một trong những yếu tố then chốt. Không liên quan đến những trở ngạivừa nêu, khi phát triển Thương mại điện tử, Việt Nam cũng được thừa hưởng tất cả các thuận lợi này. PHP VÀ VIỆC XÂY DỰNG CÁC ỨNG DỤNG TRÊN WEB 1.2.1 GIỚI THIỆU VÀ SỬ DỤNG PHP 1.2.1.1 Lịch sử ra đời của PHP PHP đã được nghĩ đến trong khoảng cuối năm 1994 bởi Rasmus Lerdorf. Cuối năm 1996 PHP/FI đã được dùng trên ít nhất 15000 trang web trên khắp thế giới. Khoảng giữa năm 1997 con số này đã tăng lên trên 50000 trang web. Ngày nay, PHP 3 hoặc PHP 4 hiện tại chuyên chở một số lượng các sản phẩm thương mại như web server Red Hat’s Stronghold. Ngày nay, theo ước lượng thì PHP được dùng trong khoảng 5.1 triệu trang trên toàn thế giới và hơn cả IIS server của Microsoft ( khoảng 5.03 triệu trang). 1.2.1.2 Sử dụng PHP Để sử dụng được PHP, trước tiên bạn phải cấu hình PHP trên Server có cài đặt IIS ( Internet Information Server ) hay Persional Web Server. Tuy nhiên trong trường hợp ứng dụng mang tính thực tiễn, bạn nên sử dụng Server có cài IIS. + + + echo ("some editors (like FrontPage) don't like processing instructions"); + NGÔN NGỮ PHP Các kiểu dữ liệu a. Số nguyên Được khai báo và sử dụng giống C++ : Ví dụ : $a = 1234; $a = -123; $a = 0123; $a = 0x12; b. Số thực Ví dụ : $a = 1.234; $a = 1.2e3; Chú ý : khi sử dụng số thực để tính toán, có thể sẽ làm mất giá trị của nó. Vì vậy, nên sử dụng các hàm toán học trong thư viện chuẩn để tính toán. c. Xâu Có 2 cách để xác định 1 xâu : Đặt giữa 2 dấu ngoặc kép (“”) hoặc giữa 2 dấu ngoặc đợn (‘. Chú ý : các biến giá trị sẽ không được khai triển trong xâu giữa 2 dấu ngoặc đơn. d. Mảng Mảng thực chất là gồm 2 bảng : bảng chỉ số và bảng liên kết. Mảng là biến dữ liệu lưu trữ tập hợp dữ liệu gồm nhiều phần tử, mỗi phần tử chứa một giá trị như text, number...hay một mảng khác. Mỗi phần tử trong mảng đều có một chỉ mục chính và vị trí của phần tử đó trong mảng. Phần tử đầu tiên trong mảng có chỉ mục là 0. Có thể duyệt trên phần tử mảng bằng các phát biểu vòng lặp Mảng 1 chiều : Có thể dùng hàm : list() hoặc array() hoặc liệt kê các giá trị của từng phần tử trong mảng để tạo mảng. Có thể thêm các giá trị vào mảng để tạo thành 1 mảng. Có thể dùng các hàm asort(), arsort(), ksort(), rsort(), sort(), uasort(), usort(), and uksort() để sắp xếp mảng. Tùy thuộc vào sắp xếp theo kiểu gì. Mảng nhiều chiều: Mảng nhiều chiều được biết đến như một bảng dữ liệu,ma trận lưới hai chiều, ba chiều. Mỗi phần tử trong mảng có thể là một mảng con. Để có thể khai báo mảng hai chiều ta có thể sử dụng cú pháp : $products = array( Array( “tir”,”tires”,100), Array(“cor”,”concord”,1000), Array(“boe”,”boeing”,5000), Để gán giá trị vào mảng hai chiều, ta cũng có thể thực hiện gán giá trị cho từng phần tử ứng với hàng thứ i và cột thứ j như sau : $products[0][0] = “A”; $products[0][1] = “b”; Biến và các giá trị PHP quy định một biến được biểu diễn bắt đầu bằng dấu $, sau đó là một chữ cái hoặc dấu gạch dưới. a. Một số biến đã được tạo sẵn argv : Mảng tham số truyền cho script. Khi đoạn script chạy bằng dòng lệnh, tham số này sẽ được dùng giống như C để truy nhập các tham số trên dòng lệnh. argc : số các tham số được truyền. Dùng với argv; PHP_SELF : tên của đoạn mã script đang thực hiện. Nếu PHP đang được chạy từ dòng lệnh thì tham số này không có giá trị. HTTP_COOKIE_VARS: một mảng các giá trị được truyền tới script hiện tại bằng HTTP cookie. Chỉ có tác dụng nếu "track_vars" trong cấu hình được đặt hoặc chỉ dẫn HTTP_GET_VARS: Mảng các giá trị truyền tới script thông qua phương thức HTTP GET. Chỉ có tác dụng nếu "track_vars" trong cấu hình được đặt hoặc chỉ dẫn b. Phạm vi giá trị PHP coi 1 biến có một giới hạn. Để xác định một biến toàn cục (global) có tác dụng trong một hàm, ta cần khai báo lại. Nếu không giá trị của biến sẽ được coi như là cục bộ trong hàm. Ví dụ: $a = 1; $b = 2; Function Sum () { global $a, $b; $b = $a + $b;} Sum (); echo $b; Khi có khai báo global ở trên, $a và $b được cho biết đó là những biến toàn cục. Nếu không có khai báo global, $a và $b chỉ được coi là các biến bên trong hàm Sum(). Điều này khác với C. Một cách khác để dùng biến toàn cục trong 1 hàm là ta dùng mảng $GLOBAL của PHP Ví Dụ (ở trên sẽ có thể viết như sau) : $a = 1; $b = 2; Function Sum () { $GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];} Sum (); echo $b; Một chú ý khác là khai báo static. Với khai báo này bên trong một hàm với 1 biến cục bộ, giá trị của biến cục bộ đó sẽ không bị mất đi khi ra khỏi hàm. Ví dụ: Function Test () { static $a = 0; echo $a; $a++;} Với khai báo như trên, $a sẽ không mất đi giá trị sau khi thực hiện lời gọi hàm Test() mà $a sẽ được tăng lên 1 sau mỗi lần gọi hàm Test(). c. Tên biến Một biến có thể gắn với 1 cái tên . Ví dụ: $a = "hello"; $$a = "world"; ==> $hello = "world" và echo "$a ${$a}"; echo "$a $hello"; Kết quả ra sẽ là : hello world. Chú ý : bạn có thể gặp phải trường hợp không rõ ràng khi sử dụng cách này với mảng . Ví dụ: $$a[1] sẽ hiểu là bạn muốn dùng $a[1] như 1 biến hay dùng $$a như 1 biến với [1] là chỉ số. Để tránh trường hợp này , cần có sự phân biệt rõ bằng dấu { }. Ví dụ: ${$a[1]} hoặc ${$a}[1]. d. Các giá trị bên ngoài phạm vi PHP HTML Form : khi 1 form gắn với 1 file php qua phương thức POST Ví dụ: Name: PHP sẽ tạo 1 biến $name bao gồm mọi giá trị trong trường Name của Form. PHP có thể hiểu được một mảng một chiều gồm các giá trị trong một form. Vì vậy, có thể nhóm những giá trị liên quan lại với nhau hoặc sử dụng đặc tính này để nhận các giá trị từ một đầu vào tuỳ chọn.(multi select input). Khi tính chất track_vars được đặt trong cấu hình hoặc có chỉ dẫn . các giá trị được submit được lấy ra qua phương thức GET và POST có thể lấy từ hai mảng toàn cục $HTTP_POST_VARS và $HTTP_GET_VARS Một số chú ý a. IMAGE SUBMIT: Khi dùng một image để thực hiện submit, có thể dùng tag như sau: Khi người dùng click chuột trên ảnh, form tương ứng sẽ được gửi tới server kèm theo hai giá trị thêm vào : sub_x và sub_y. Những biến này sẽ lưu giữ toạ độ mà người dùng đã click chuột trên ảnh. Người lập trình có kinh nghiệm sẽ thấy rằng trên thực tế, trình duyệt gửi các giá trị có chu kỳ thời gian nhưng PHP đã tạo cảm giãc gần như việc gửi các giá trị đó là liên tục. b. HTTP Cookies : PHP hỗ trỡ HTTP cookies theo định dạng của Netscape. Cookies file lưu giữ thông tin của các trình duyệt từ xa và qua đó có thể theo dõi hay nhận biết người sử dụng. Có thể dùng Cookies bằng hàm SetCookie(). Hàm này cần được gọi trước khi thông tin được gửi tới trình duyệt. Bất kỳ cookie nào gửi tới bạn từ máy khách (client) sẽ tự động chuyển thành dữ liệu của phương thức GET và POST.Nếu muốn có nhiều giá trị trong một cookie, chỉ cần thêm vào dấu [ ] với tên của cookie. Ví dụ: SetCookie ("MyCookie[]", "Testing", time()+3600); Chú ý rằng cookie sẽ thay thế cho cookie cùng tên, trừ trường hợp khác đường dẫn hoặc miền. c. BIẾN MÔI TRƯỜNG: PHP tự động tạo biến cho các biến môi trường như một biến bình thường của PHP. Ví dụ: echo $HOME; /* Shows the HOME environment variable, if set. */ Vì thông tin tới qua các phương thức GET, POST , Cookie cũng tự đông tạo các biến PHP, thỉnh thoảng bạn nên đọc 1 biến từ môi trường để chắc chắn rằng bạn có đúng version. Hàm getenv() và putenv() giúp bạn đọc và ghi với các biến môi trường. d. DẤU CHẤM TRONG TÊN BIẾN Bình thường, PHP không thay đổi tên biến khi biến đó được truyền vào đoạn script. Tuy nhiên, nên chú ý rằng dấu chấm (.) không phải là một ký hiệu hợp lệ trong tên biến đối với PHP. Vì vậy, PHP sẽ tự động thay thế các dấu chấm bằng dấu gạch dưới.(_) Biểu thức Biểu thức là một phần quan trọng trong PHP. Phần lớn mọi thứ chúng ta viết đềuđược coi như một biểu thức. Điều này có nghĩa là mọi thứ đều có một giá trị. Một dạng cơ bản nhất của biểu thức bao gồm các biến và hằng số. PHP hỗ trợ 3 kiểu giá trị cơ bản nhất: số nguyên, số thực, và xâu. Ngoài ra còn có mảng và đối tượng. Mỗi kiểu giá trị này có thẻ gán cho các biến hay làm giá trị trả ra của các hàm. Có thể thao tác với các biến trong PHP giống như với trong C. Ví dụ: $b = $a = 5 $c = $a++; /* $e = $d = ++$b; Các câu lệnh a. If ....else....else if if (điều kiện) { do something; } elseif ( điều kiện ) { do something;} else { do something;} b. Vòng lặp while ( DK) { ...} do { .....} white ( DK ); for (bieuthuc1; bieuthuc2; bieu thuc3) {.....} Với PHP4: foreach(array_expression as $value) statement foreach(array_expression as $key => $value) statement c. Break và Continue break : thoát ra khỏi vòng lặp hiện thời continue : bỏ qua vòng lặp hiện tại, tiếp tục vòng tiếp theo. d. Switch switch (tên biến) { case trường hợp 1: ..... break; case trường hợp 2: ..... break; case trường hợp 3: ..... break; default :} Hàm a. Tham trị Ví dụ: function takes_array($input) { echo "$input[0] + $input[1] = ", $input[0]+$input[1];} b. Tham biến function add_some_extra(&$string) { $string .= 'and something extra.';} c. Tham số có giá trị mặc định function makecoffee ($type = "cappucino") { return "Making a cup of $type.\n";} Chú ý : khi sử dụng hàm có đối số có giá trị mặc định, các biến này sẽ phải nằm về phía phải nhất trong danh sách đối số. Ví dụ: Sai : function makeyogurt ($type = "acidophilus", $flavour) { return "Making a bowl of $type $flavour.\n";} Đúng : function makeyogurt ($flavour, $type = "acidophilus") { return "Making a bowl of $type $flavour.\n"; } d. Giá trị trả lại của hàm Có thể là bất kỳ giá trị nào, Tuy vây, không thể trả lại nhiều giá trị riêng lẻ nhưng có thể trả lại một mảng các giá trị. Ví dụ: Để trả lại một tham trỏ, bạn cần có dấu & ở cả khai báo của hàm cũng nhớ giá trị trả lại. function &returns_reference() { return &$someref;} $newref = &returns_reference(); e. Hàm biến PHP cho phép sử dụng hàm giá trị nghĩa là khi một biến được goi có kèm theo dấu ngoặc đơn , PHP sẽ tìm hàm có cùng tên với giá trị biến đó và thực hiện. Ví dụ: <?php function foo() { echo "In foo()\n";} function bar( $arg = '' ) { echo "In bar(); argument was '$arg'.\n";} $func = 'foo'; $func(); $func = 'bar'; $func( 'test' ); ?> Các toán tử - PHP có các toán tử cho các phép số học : + - * / % - Các toán tử logic : and or xor ! && || - Toán tử thao tác với bit : & | ^ ~ > - Toán tử so sánh : ==, != , ,=, ==== (bằng và cùng kiểu - PHP4 only), - !== (khác hoặc khác kiểu - PHP4 only) Toán tử điều khiển lỗi : @ - khi đứng trước 1 biểu thức thì các lỗi của biểu thức sẽ bị bỏ qua và lưu trong $php_errormsg Ví dụ: <?php $res = @mysql_query ("select name, code from 'namelist") or- die ("Query failed: error was '$php_errormsg'"); ?> Toán tử thực thi : ` `- PHP sẽ thực hiện nội dung nằm giữa 2 dấu ` như một lệnh shell. Trả ra giá trị là kết quả thực hiện lệnh Ví dụ: $output = `ls -al`; //liệt kê các file bằng lệnh Linux echo "$output"; Lớp và đối tượng Class: là tập hợp các biến và hàm làm việc với các biến này. Một lớp có định dạng như sau: <?php class Cart { var $items; function add_item ($artnr, $num) { $this->items[$artnr] += $num; } function remove_item ($artnr, $num) { if ($this->items[$artnr] > $num) { $this->items[$artnr] -= $num; return true;} else {return false;} } } ?> Lớp Cart ở đây là một kiểu dữ liệu, vì vậy ta có thể tạo một biến có kiểu này với toán tử new Ví dụ: $cart = new Cart; $cart->add_item("10", 1); Lớp có thể được mở rộng bằng những lớp khác. Lớp mới thu được có tất cả những biến và hàm của cá lớp thành phần. Thực hiện việc thừa kế này bằng từ khoá "extends". Chú ý : kế thừa nhiều lớp 1 lúc không được chấp nhận. Ví dụ: class Named_Cart extends Cart { var $owner; function set_owner ($name) { $this->owner = $name;} } Các hàm khởi tạo của lớp được gọi tự động khi bạn gọi toán tử new. Tuy nhiên, các hàm khởi tạo của lớp cha sẽ không được gọi khi hàm khởi tạo của lớp con được gọi. Hàm khởi tạo có thể có đối số hoặc không. Tham chiếu Tham chiếu trong PHP có nghĩa là lấy cùng 1 giá trị bằng nhiều tên biến khác nhau. Khác với con trỏ trong C, tham chiếu là một bảng các bí danh. Chú ý :trong PHP, tên biến và nôi dung của biến là khác nhau. Vì vậy, cùng một nội dung có thể có nhiều tên khác nhau.Tham chiếu PHP cho phép bạn tạo 2 biến có cùng nội dung. Ví dụ: $a = & $b; -- > $a, $b è trỏ tới cùng 1 giá trị. Tham chiếu truyền giá trị bằng tham chiếu. Thực hiện việc này bằng cách tạo một hàm cục bộ và truyền giá trị được tham chiếu Ví dụ: function foo (&$var) { $var++;} $a=5; foo ($a); --> Kết quả : $a = 6; Giá trị trả lại của một hàm bằng tham chiếu rất tiện khi bạn muốn sử dụng làm để tìm một giá trị trong một phạm vi nào đó. Ví dụ: function &find_var ($param) { ...code... return $found_var;} $foo =& find_var ($bar); Khi bạn muốn loại bỏ mối liên kết giữa tên biến và giá trị của biến, sử dụng hàm unset() Ví dụ: $a = 1; $b =& $a; unset ($a); Thao tác với ảnh PHP không bị giới hạn với mã HTML được trả lại cho trình duyệt. Vì vậy, có thể dùng PHP để tạo và thao tác với các file ảnh có định dạng khác nhau, bao gồm :gif, png, jpg, wbmp, and xpm. PHP có thể đưa các file ảnh trực tiếp đến các trình duyệt. Bạn sẽ cần biên dịch PHP với thư viện GD bao gồm các hàm thao tác với ảnh. GD và PHP có thể sẽ cần có thêm 1 số thư viện khác, tuỳ thuộc vào định dạng của file ảnh cần dùng. CƠ SỞ DỮ LIỆU VÀ PHƯƠNG PHÁP TRUY XUẤT CSDL MYSQL 1.3.1 CÁC KHÁI NIỆM CƠ BẢN 1.3.1.1 khái niệm Cơ sở dữ liệu(csdl) là một lĩnh vực rất quan trọng của công nghệ thông tin mà nếu thiếu nó nhiều vấn đề đặt ra sẽ khó giải quyết được. Cơ sở dữ liệu được định nghĩa là kho thông tin về một chủ đề, được tổ chức hợp lý để dễ dàng quản lý và truy tìm. Bất kỳ kho thông tin nào đáp ứng được yêu cầu này đều có thể coi là một cơ sở dữ liệu. 1.3.1.2 Quản trị cơ sở dữ liệu Chương trình quản trị csdl là một chương trình ứng dụng trên máy tính các công cụ để truy tìm, sửa chữa, xoá và chèn thêm dữ liệu. Các chương trình này cũng có thể dùng để tạo lập một csdl và tạo ra các báo cáo, thống kê. Các chương trình quản trị csdl liên quan khá thông dụng hiện nay tại Việt Nam là Foxpro, Access cho ứng dụng nhỏ, DBL, MySQL và Oracle cho ứng dụng vừa và lớn. Quản trị csdl quan hệ là một cách quản lý csdl trong đó dữ liệu được lưutrữ trong các bảng dữ liệu hai chiều gồm các cột và các hàng, có thể liên quan với nhau nếu các bảng đó có một cột hoặc một trường chung nhau. Hệ quản trị csdl là một quá trình xử lý xoay quanh các vấn đề sau đây: + Lưu trữ dữ liệu + Truy nhập dữ liệu + Bảo đảm tính toàn vẹn của dữ liệu Ba vấn đề chính ở trên có mối quan hệ mật thiết, phụ thuộc lẫn nhau và chúng được liệt kê theo thứ tự thực hiện mỗi ứng dụng. Mô hình csdl quan hệ (Relationship Database Management System -RDMS) được xây dựng làm đơn giản hoá quá trình lưuvà đọc dữ liệu RDMS cung cấp khả năng giao tiếp tốt với dữ liệu và giúp người lập trình tự do trong lĩnh vực quản lý truy cập csdl. Sau đây là các bước xây dựng một csdl theo mô hình cơ sở dữ liệu quan hệ: + Tổ chức dữ liệu theo nhóm logic(table) + Xác định các mối quan hệ giữa các table + Tạo tập tin cơ sở dữ liệu và định nghĩa cấu trúc của các table trong csdl. + Lưu dữ liệu Hai bước đầu là hai bước thiết kế csdl và đây là hai bước cực kỳ quan trọng. Nếu được thiết kế tốt, các khía cạnh khác sẽ được giải quyết dễ dàng hơn; ngược lại việc khai thác csdl sẽ không hiệu quả và chương trình sẽ có những lỗi rất khó phát hiện. Các bước chính khi tiến hành thiết kế một cơ sở dữ liệu: Xác định dữ liệu cần trong ứng dụng Xác định nguồn gốc dữ liệu Tổ chức dữ liệu thành các nhóm logic Tiêu chuẩn hoá dữ liệu và các mối quan hệ giữa chúng Xác định cách sử dụng các bảng MYSQL VÀ PHƯƠNG PHÁP TRUY XUẤT CSDL MYSQL Khái niệm MySQL là cơ sở dữ liệu được sử dụng cho các ứng dụng Web có quy mô vừa và nhỏ. Tuy không phải là một csdl lớn nhưng cũng có trình giao diện trên Windows hay Linux, cho phép người dùng có thể thao tác các hành động có thể liên quan đến cơ sở dữ liệu. Cũng giống như các hệ cơ sở dữ liệu khác, khi làm việc với cơ sở dữ liệu MySQL, bạn đăng ký kết nối, tạo cơ sở dữ liệu, quản lý người dùng, phân quyền sử dụng, thiết kế đối tượng Table của cơ sở dự liệu và xử lý dữ liệu.Để sử dụng các phát biểu hay các thao tác trên cơ sở dữ liệu, bạn có thể sử dụng trình quản lý dạng đồ họa hay dùng dòng lệnh còn gọi là Command line. Phương pháp truy xuất CSDL MySQL a. Một số khái niệm Để hiểu được chương này một cách rõ ràng, trước tiên cần phải có một số kiến thức cơ bản về cơ sở dữ liệu quan hệ. Nếu đã từng làm việc với MS SQL Server hay Access chúng đều có hỗ trợ việc tạo CSDL rất là dễ dàng với giao diện trực quan. Đối với MySQL cũng có thể sử dụng công cụ trực quan đó là phpMyadmin. Tuy nhiên, phải học cách thao tác với CSDL bằng dòng lệnh. Muốn chương trình, trong lúc chạy thao tác tự động với CSDL thì cần hàng tá lệnh PHP/SQL để thực hiện các yêu cầu của chương trình. Trước khi chúng ta tạo các table trong CSDL của MySQL, có một vài thứ cần phải hiểu rõ. Những khái niệm cơ bản sau đây rất quan trọng + Null: Việc đầu tiên phải làm trong việc thiết kế một table là quyết định xem một field có cho phép giá trị NULL hay không. Trong CSDL quan hệ, giá trị NULL của một field đồng nghĩa với nó có thể chấp nhận không có dữ liệu trong đó. Nên nhớ rằng giá trị NULL khác với giá trị của một chuỗi không có ký tự trong đó hoặc số có giá trị 0. + Index: Người ta nói rằng ưu điểm vượt trội của Hệ quản trị CSDL quan hệ là nó thực hiện các việc tìm kiếm hay sắp xếp những khối lượng dữ liệu khổng lồ một cách rất nhanh chóng. Sở dĩ nó thực hiện được việc này là do nó có chứa một cơ cấu lưu trữ dữ liệu gọi là Index. Index cho phép database server tạo được một field đặc trưng tìm kiếm với tốc độ khó ngờ. Các INDEX đặc biệt hỗ trợ một hoặc một nhóm các record trong một table chứa số lượng lớn các record. Chúng cũng hỗ trợ tốc độ cho các hàm liên kết hoặc tách nhóm dữ liệu nhmin(), max(). Với các tính năng vượt trội này, tại sao người ta lại không tạo index trong tất cả các field của một table? Có một số điều trở ngại như sau: Index có sẽ làm chậm một số tiến trình trong CSDL. Mỗi lần bảo trì các index Database Server phải mất khá nhiều thời gian. Có một vài trường hợp chính các index làm cho chúng chậm hẳn. Đối với một table có gắn khoá chính (primary key) thì thông thường field có khoá này được dùng vào việc tìm kiếm cho nên index sẽ được gán tự động trên field này. + Lệnh CREATE Database: Trước khi tạo được một Table thì điều tất yếu là phải tạo được một Database. Lệnh CREATE được sử dụng như sau: mysql> create database database_name; Khi đặt tên cho database, hay đặt tên cho field và index gì đấy tránhtrường hợp đặt những cái tên khó nhớ hoặc dễ bị lẫn lộn. Đối với một số hệ thống Unix chẳng hạn có sự phân biệt chữ HOA/thường thì CSDL chạy trên nó cũng ảnh hưởng theo. Chẳng hạn tên của table và field đều đặt chữ thường chẳng hạn. Nên nhớ là không được sử dụng khoảng trắng. + Lệnh USE Database: Sau khi đã tạo được một database mới trong database server, bắt đầu chọn nó để sử dụng cho công việc của mình. + Lệnh CREATE Table: Lưu ý: Lệnh này thực hiện sau khi đã có lệnh CREATE Database.Một khi đã tạo và chọn database, việc tiếp theo là tạo một table Đối với thuộc tính các field (cột) chúng ta cần bàn về: - null hoặc not null - default Nếu không định nghĩa NULL hay NOT NULL thì NULL sẽ được chọn làm giá trị mặc định b. Kiểu dữ liệu Bây giờ chúng ta hãy bàn về các kiểu dữ liệu (type) gán cho field trong table. Có rất nhiều kiểu khác nhau chúng ta sẽ lần lượt khảo sát từng kiểu một. + Kiểu chuỗi văn bản: MySQL có 7 kiểu dành cho dữ liệu kiểu chuỗi văn bản: * char * varchar * enum * tinytext * text * mediumtext * longtext + Kiểu dữ liệu số: MySQL có tất cả 7 kiểu số. Lưu ý rằng các kiểu sau đây là giống nhau: * int/integer * tinyint * mediumint * bigint * float * double/double precision/real * decimal/numeric Đối với tất cả kiểu số, giá trị lớn nhất cho phép là 255. Đối với một số kiểu cho phép thể hiện các số 0 đứng đầu. Giả sử có một field có độ dài là10 thì số 25 trong ô dữ liệu sẽ được thể hiện 0000000025. Field số còn được định nghĩa là có dấu (signed) hoặc không dấu (unsigned). Mặc địch là có. + Kiểu dữ liệu ngày, giờ: MySQL có 5 dạng ngày giờ: * date _ time * datetime _ year * timestamp * time * year c. Các loại table MySQL hỗ trợ các dạng talble sau: ISAM, MyISAM, BDB và Heap. ISAM là dạng table xưa và trong các ứng dụng mới không được sử dụng. Dạng table mặc định là MyISAM. Cú pháp để khai báo loại table này là: create table table_name type=table_type( col_name column attribute); Table dạng MyISAM có tốc độ tốt và tính ổn định cao. Không cần thiết phải định nghĩa một dạng table mới nào khác trừ phi cần dùng loại khác cho vì một lý do đặc biệt nào đó.Heap là dạng table thường trú trong bộ nhớ. Chúng không được lưu trữ trong đĩa cứng hay các thiết bị dùng để trữ tin. + Lệnh Alter table: Nếu như muốn thay đổi các thành phần của table, sử dụng lệnh alter table. Cóthể thực hiện các thay đổi như : đổi tên table, field, index; thêm hoặc xoá field và index; định nghĩa lại các field và index. Cú pháp cơ bản của lệnh này là: “ alter table table_name” Các lệnh còn lại tuỳ thuộc vào thao tác mà chúng ta sẽ bàn tiếp theo đây: + Đổi tên Table Cú pháp như sau: alter table table_name rename new_table_name + Thêm và xoá cột trong Table Khi thêm field vào trong table, cần phải có những định nghĩa cần thiết cho field đó. Từ phiên bản 3.22 của MySQL cho phép chọn vị trí để đặt field mới vào trong table. Chức năng này không bắt buộc. alter table table_name add column column_name column attributes + Thêm và xoá Index Có thể thêm index bằng cách sử dụng lệnh index, unique và primary key, tương tự Như việc sử dụng lệnh create vậy. alter table my_table add index index_name (column_name1,column_name2, ...) alter table my_table add unique index_name(column_name) alter table my_table add primary key(my_column) Cũng có thể bỏ index bằng cách sử dụng lệnh drop: alter table table_name drop index index_name alter table_name test10 drop primary key + Đổi thuộc tính của cột (field) Thay đổi cách thành tố của field bằng lệnh change hoặc modify: alter table table_name change original_column_name new_column_name int not null Với MySQL phiên bản 2.22.16 trở đi có thể dùng lệnh modify: alter table table_name modify 1 col_1 varchar(200) + Lệnh Insert insert into table_name (column_1, column2, column3,...) values (value1, value2, value3 ...) Nếu trong một fiedl cho phép giá trị NULL có thể không cần đưa vào trong lệnh INSERT. Thấy các chuỗi tên field và giá trị đều được đặt trong dấu ngoặc đơn (). Ngoài ra giá trị kiểu chuỗi phải được bao bọc bởi dấu nháy đơn. Có thể thoát ra khỏi dấu nháy đơn bằng cách sử dụng 2 dấu ngoặc đơn đóng mở (). + Lệnh Update Lệnh UPDATE có một chút khác biệt so với các lệnh mà chúng ta đã khảo sát, nó thực hiện thông qua lệnh WHERE. Cú pháp thông thường là: update table_name set col_1=value1, col_2=value_2 where col=value CHƯƠNG 2 PHÂN TÍCH HỆ THỐNG 2.1 CƠ SỞ LÝ THUYẾT 2.1.1 Nghiên cứu – khảo sát hệ thống cũ để làm gì ? Khảo sát hệ thống là bước đầu tiên, cơ bản nhất trong quá trình phát triển bất cứ một hệ thống nào. Một hệ thống mới được xây dựng lên nhằm thay thế một hệ thống cũ đã bộc lộ những bất cập và không phù hợp với yêu cầu công việc đặt ra nữa. Khảo sát hiện trạng của hệ thống nhằm mục đích : + Tiếp cận với nghiệp vụ chuyên môn, môi trường hoạt động của hệ thống. + Tìm hiểu các chức năng, nhiệm vụ và cung cách hoạt động của hệ thống. + Chỉ ra các chỗ hợp lý của hệ thống cần kế thừa, các chỗ bất hợp lý cần được nghiêm cứu khắc phục. Chính vì thế, việc khảo sát hệ thống cũ nhằm tạo ra hiệu quả cao nhất cho công việc, đáp ứng nhu cầu hoạt động của doanh nghiệp. 2.1.2 Chiến lược điều tra và Quy trình khảo sát hệ thống a. Chiến lược điều tra Một cuộc điều tra phải thực hiện theo một chiến lược đã được cân nhắc từ trước. Một chiến lược bao gồm các yếu tố sau: Các nguồn thông tin điều tra. Các phương pháp áp dụng cho mỗi nguồn thông tin điều tra. Các quy trình điều tra thích hợp. Sử dụng phương pháp phỏng vấn và nghiên cứu tài liệu viết Phỏng vấn là phương pháp quan trọng trong công tác khảo sát hệ thống, quá trình này cho những thông tin mà việc quan sát hay nghiên cứu tài liệu không có được Nghiên cứu tài liệu viết là quan sát hệ thống một cách gián tiếp từ đó ta có các hình dung tổng thể về hệ thống. Các tài liệu như: hóa đơn thanh toán, sổ ghi chép, báo cáo tổng kết doanh thu, quy chế nghiệp vụ... Các nguồn điều tra Các phương pháp điều tra Các phương pháp mô hình hoá Chọn các nguồn và các phương pháp Chọn các quy trình điều tra thích hợp Cách triển khai một chiến lược điều tra: b. Quy trình khảo sát hệ thống Bước 1: Khảo sát đánh giá hiện trạng của hệ thống cũ. Tìm hiều các hoạt động của hệ thống hiện tại nhằm xác định những thế mạnh và những yếu kém. Bước 2: Đề xuất mục tiêu cho hệ thống mới. Xác định phạm vi ứng dụng và ưu nhược điểm của hệ thống dự kiến. Cần xác định rõ lĩnh vực mà hệ thống mới sẽ làm, những thuận lợi khó khăn khi cải tiến hệ thống. Bước 3: Để xuất ý tưởng cho giải pháp mới có cân nhắc tính khả thi. Phác họa những giải pháp thỏa mãn những yêu cầu của hệ thống mới, đồng thời đưa ra đánh giá về mọi mặt để quyết định lựa chọn cuối cùng. Bước 4: Vạch ra kế hoạch cho dự án cùng với dự trù tổng quát. Xây dựng kế hoạch bán hàng có hiệu quả trong giai đoạn tiếp theo. Dự trù nguồn tài nguyên ( tài chính, nhân sự, nguồn cung ứng hàng...) để triển khai dự án. 2.1.3. Xây dựng dự án a. Mục tiêu của dự án Một dự án có thể gắn với nhiều mục tiêu. Tuy nhiên việc xác định đúng mục tiêu của dự án là vô cùng quan trọng. Xây dựng dự án mới nhằm: khắc phục những yếu kém hiện tại, đáp ứng nhu cầu tương lại, mang lại lợi ích nghiệp vụ cao nhất, mang lại hiệu quả kinh tế cho doanh nghiệp. b. Xây dựng giải pháp Xây dựng một hệ thống sao cho hợp lý, có thể giải quyết nhiều công việc phức tạp nhưng không làm thay đổi nhiều cơ cấu tổ chức hoặt động căn bản của hệ thống cũ. Việc xây dựng dựa trên nhiều yếu tố : Khả năng về nghiệp vụ. Khả năng về kỹ thuật và công nghệ. Khả năng về tài chính, nhân lực. Hình thành các yếu tố đánh giá đối với hệ thống thông tin quản lý. 2.2 PHÂN TÍCH HỆ THỐNG VỀ CHỨC NĂNG 2.2.1. Biểu đồ phân cấp chức năng Biểu đồ phân cấp chức năng (BPC) là công cụ biểu diễn việc phân rã có thứ bậc đơn giản các công việc cần thực hiện. Mỗi chức năng được ghi trong một khung và nếu cần sẽ được phân thành những chức năng con, số mức phân ra phụ thuộc vào kích cỡ và độ phức tạp của hệ thống. Biểu đồ phân cấp chức năng Thành phần biểu đồ bao gồm: Tên chức năng : mỗi chức năng có một tên duy nhất dưới dạng động từ + bổ ngữ. Ký hiệu : Chức năng được ký hiệu bằng hình chữ nhật bên trong có tên chức năng. Tên chức năng Kết nối: kết nối giữa các chức năng mang tính phân cấp và được ký hiệu bằng đoạn thẳng nối chức năng “cha” với chức năng “con”. 2.2.2. Biểu đồ luồng dữ liệu Biểu đồ luồng dữ liệu (BLD) là biểu đồ nhằm mục đích diễn tả một quá trình xử lý thông tin, là công cụ chính của quá trình phân tích, nhằm mục đích thiết kế, trao đổi và tạo lập dữ liệu. Nó thể hiện rõ ràng và đầy đủ các nét đặc trưng của hệ thống trong các bước phân tích và thiết kế. Các thành phần của biểu đồ luồng dữ liệu: Chức năng xử lý (process): + Chức năng xử lý biểu diễn bằng hình tròn hay hình ôvan, trong đó ghi tên chức năng. Tên chức năng 1 Tên chức năng 2 + Tên chức năng : động từ + bổ ngữ. Luồng dữ liệu (Data Flows : + Luồng dữ liệu là luồng thông tin vào hay ra của một chức nang xử lý. Bởi vậy luồng dữ liệu được coi như các giao diện giữa các thành phần của biểu đồ. Tên luồng + Biểu diễn bằng mũi tên có hướng và tên luồng thông tin mang theo. + Tên luồng : Danh từ + tính từ. Kho dữ liệu (Data store): + Kho dữ liệu là các thông tin cần lưu trữ giữ lại trong một khoảng thời gian, để sau đó một hay vài chức năng xử lý, hoặc tác nhân trong sử dụng. + Biểu diễn bằng cặp đường thẳng song song. Tên dữ liệu + Tên gọi : Danh từ + tính từ. Tác nhân ngoài (External Entity): + Tác nhân ngoài là phần sống còn của hệ thống, chúng là nguồn cung cấp thông tin cho cả hệ thống cũng như chúng nhận được các sản phẩm thông tin từ hệ thống. Tên tác nhân ngoài + Biểu diễn bằng hình chức nhật có tên. + Tên : Danh từ + tính từ. Tác nhân trong (Internal Entity) : Tên tác nhân trong + Tác nhân trong là một chức năng hay một hệ thống con của hệ thống được mô tả ở trang khác của biểu đồ, nhưng có sự trao đổi thông tin với các phần tử thuộc hiện trạng của biểu đồ. + Biểu diễn bằng hình chữ nhật hở 1 phía. + Tên gọi : Động từ kèm bổ ngữ nếu cần. 2.2.3. Phân rã luồng dữ liệu theo mức  Với biểu đồ luồng dữ liệu thì quá trình phân rã từ trên xuống lại là quá trình thành lập dần dần các BLD diễn tả các chức năng của hệ thống theo từng mức. Mỗi mức là tập hợp của các BLD : Mức bối cảnh hay khung cảnh ( mức 0) chỉ có một BLD, trong đó chỉ có một chức năng duy nhất – chức năng tổng quát của hệ thống và các luồng thông tin trao đổi với tác nhân ngoài. Mức đỉnh (mức1) cũng chỉ có một BLD gồm các chức năng chính của hệ thống. Mức dưới đỉnh ( mức 2,3,4,5...) mỗi mức gồm nhiều biểu đồ luồng dữ liệu. Công cụ sử dụng để phân rã : có 2 phương pháp chính. Phương pháp Topdown : Từ chức năng tổng quát liên tiếp phân rã thành các chức năng con cho đến khi nhận được chức năng đơn giản nhất không thể phân rã được nữa. Phương pháp Bootom up : Từ chi tiết đến tổng quát, gom nhóm các chức năng để thành mức chức năng cao hơn, thực hiện cho đến khi thu được chức năng của toàn hệ thống. 2.3 PHÂN TÍCH HỆ THỐNG VỀ DỮ LIỆU 2.3.1. Sơ đồ thực thể - Sơ đồ thực thể xác định các đơn vị thông tin cơ sở cần thiết cho hệ thống( các thực thể ) và mối quan hệ giữa chúng - Trong thực tế có nhiều mô hình biểu diễn, ở đây ta đi tìm hiểu một trong nhiều loại mô hình đó là mô hình quan hệ. Dữ liệu lưu trữ trong hệ thống dưới dạng tập các văn bản. Sơ đồ thực thể liên kết sẽ xác định trong hệ thống có bao nhiêu bảng và mối quan hệ giữa chúng. 2.3.2. Các thành phần của sơ đồ thực thể - Thực thể : là một đối tượng, một sự kiện cần được lưu trữ thông tin - Kiểu thực thể : Tập các thực thể có cùng tính chất, mô tả cho một loại thông tin. Kiểu thực thể được xác định : + Liên quan đến thực thể mang thông tin + Liên quan đến đối tượng quản lý hoặc mang tính thống kê + Thông tin liên quan đến một giao dịch chủ yếu của hệ + Thông tin đã khái quát dưới dạng thống kê liên quan đến lập kế hoạch hoặc kiểm soát. Thuộc tính : mỗi thực thể bao gồm nhiều thông tin. Mỗi thông tin dó là một thuộc tính của thực thể. Có 4 loại thuộc tính bao gồm : Thuộc tính khóa Thuộc tính mô tả Thuộc tính kết xuất Thuộc tính kết nối Liên kết và kiểu liên kết: Liên kết là chỉ ra một sự kết nối có ý nghĩa giữa hai hay nhiều thực thể phản ánh sự ràng buộc về mặt quản lý. Kiểu liên kết là tập hợp các liên kết có cùng bản chất. Bao gồm : Liên kết 1-1 Liên kết 1-n Liên kết n-n 2.4 MÔ TẢ HỆ THỐNG KHẢO SÁT 2.4.1. Hệ thống bán hàng trực tiếp Ngày nay nhu cầu sử dụng các sản phẩm công nghệ ngày càng nhiều, chính vì nhu cầu ngày càng lớn như vậy mà có nhiều cửa hàng bán các sản phẩm công nghệ ra đời, cùng với nó là nhu cầu quảng bá cho cửa hàng mình cũng như tạo sự thuận tiện cho khách hàng khi tham khảo giá hay chức năng của những sản phẩm đó. Với cuộc sống sôi động ngày nay nhiều người với công việc bận rộn sẽ không thể thu xếp thời gian của mình để dạo qua các cửa hàng để tham khảo, và thường lựa chọn của họ là tìm kiếm thông tin qua mạng. Do vậy nhu cầu xây dựng website cho cửa hàng là cần thiết và cũng là một cách để quảng bá cho cửa hàng của mình Khi chưa có ứng dụng CNTT, ta muốn mở cửa hàng thì trước tiên là phải có địa điểm bán hàng thuận lợi về mặt địa lý, phải rộng rãi để trưng bày sản phẩm,và khu xung quanh có đông dân cư không? có thể buôn bán mặt hàng này ở đó hay không? Việc quản lý cửa hàng còn nhiều hạn chế sau: Không thể trưng bày hết được các mặt hàng, các chủng loại Thuê nhân viên phục vụ Cửa hàng không được nhiều người biết đến Hàng ngày phải kiểm kê, tính toán sổ sách Quản lí khó khăn.... 2.4.2. Hệ thống bán hàng qua mạng - Website này sẽ có đầy đủ hình ảnh, mẫu mã, thông tin sản phẩm và giá sản phẩm của từng chủng loại, từng hãng khác nhau. Kèm theo đó là có các mục cho khách hàng có thể đăng kí làm thành viên và đăng nhập vào đánh giá các sản phẩm. - Giới thiệu về công ty, tin tức( tin tức từ các hãng điện thoại, sức mạnh số, giải trí… ), bảng báo giá, liên hệ ( địa chỉ và số điện thoại của cửa hàng ) - Tìm sản phẩm theo nhiều tiêu chí, so sánh và nhận xét sản phẩm. - Hỗ trợ trực tuyến, góp ý và giới thiệu về các trung tâm bảo hành của các hãng điện thoại. - Thông tin về sản phẩm khuyến mãi, và các câu hỏi thường gặp. - Giúp khách hàng có thể trực tiếp đặt mua sản phẩm. - Cho phép khách hàng có thể tra cứu lịch sử giao dịch của mình. - Có thể quản lý các hóa đơn, hàng hóa một cách dễ dàng và thuận tiện Những hạn chế của website: Hiện nay tại Việt Nam ta vẫn chưa thể tiến hành thực hiện thanh toán trực tuyến một cách thuận tiện nên cũng làm giảm đi sự linh hoạt của website và cũng làm mất một chức năng thuận tiện cho khách hàng. Chỉ bán hàng cho những ai đã đăng ký làm thành viên. Chưa hoàn xây dựng được một số chức năng của website 2.5 MỘT SỐ BIỂU ĐỒ 2.5.1. Biểu đồ phân cấp chức năng Quản lý bán hàng qua mạng Quản lý người dùng Quản lý sản phẩm Q L góp ý – phản hồi Khuyến mại Xử lý đơn hàng Thống kê Tìm kiếm Quản lý thành viên Quản lý khách hàng Xử lý đơn mua hàng Xử lý đơn bán hàng 2.5.2. Biểu đồ mức khung cảnh QL bán hàng qua mạng Ban quản trị Khách hàng Thông tin đăng ký, hàng Thông tin phản hồi, hàng Yêu cầu báo cáo Bản báo cáo 2.5.3. Biểu đồ mức đỉnh Ban quảntrị Đơn hàng Sản phẩm Người dùng Góp ý y QL sản phẩm Tìm kiếm QL nội dung Góp ý Thống kê Khuyến mại Khách hàng QL người dùng Khuyến mại Cập nhật thông tin sản phẩm Yêu cầu báo cáo Cập nhật thông tin chung Cập nhật thông tin khuyến mại Ý kiến Yêu cầu tìm kiếm Đăng ký – phản hồi 2.5.4. Biểu đồ mức dưới đỉnh - chức năng quản lý người dùng Khách hàng Quản lý khách hàng Người dùng Thông tin đăng ký Phản hồi đăng ký Ban quản trị Quản lý thành viên Người dùng Thông tin thành viên Phản hồi thông tin 2.5.5. Biểu đồ mức dưới đỉnh – chức năng xử lý đơn hàng Mua hàng Ban quản trị Đơn hàng Khách hàng Cập nhật thông tin hàng Yêu cầu hàng Ban quản trị Bán hàng Đơn hàng Chấp nhận đơn hàng 2.5.6.Biểu đồ liên kết thực thể CHƯƠNG 3 HỆ THỐNG BÁN HÀNG TRỰC TUYẾN Một số chức năng chính của trang web Hình 3.1: trang chủ Hình 3.2 : trang giới thiệu Hình 3.3 : trang liên hệ Hình 3.4 : trang đăng nhập của nhân viên Hình 3.5 : trang của nhân viên KẾT LUẬN Với xu thế tin học hóa toàn cầu, tin học không còn xa lạ với người dân, việc tiếp cận với tri thức nhân loại là một lợi thế. Việc đưa ứng dụng của công nghệ thông tin vào thương mại là việc nên làm. Đặc biệt là việc xây dựng những Website giới thiệu,quảng bá và bán hàng cho các tổ chức kinh tế thương mại nhằm mở rộng thị trường là điều hết sức cần thiết. Do khả năng trình độ còn non kém và thời gian có hạn, chương trình cài đặt còn có nhiều sai sót, một số chức năng chưa được hoàn thiện. Sau đây là kết quả và những hạn chế mà em nhận thấy, hi vọng những hạn chế này sẽ sớm được khắc phục được trong tương lai. Kết quả đạt được: - Xây dựng thành công Website. - Đưa ra được yêu cầu của bài toán. - Hiểu được ngôn ngữ PHP , MySQL và các ứng dụng của nó. - ứng dụng một phần vào thực tế. Hạn chế: - Bố cục chưa hợp lý. - Website nhìn chung đơn giản, độ phức tạp chưa được cao. - Còn nhiều thiếu sót trong khâu quản lý. - Chưa đưa ra được công cụ tìm kiếm hữu ích. Hướng phát triển: Trong tương lai Website sẽ được xây dựng hoàn thiện để phục vụ khách hàng ngày một tốt hơn. Đồng thời trang web được thiết kế mở rộng với nhiều mặt hàng khác nhau, chủng loại, mẫu mã khác nhau để đáp ứng nhu cầu của khách hàng và người sử dụng. TÀI LIỆU THAM KHẢO [1]. Nguyễn Văn Huân – Lê Anh Tú. Giáo trình phát triển hệ thống thông tin kinh tế. Bộ môn HTTT kinh tế.Thái Nguyên, năm 2011. [2]. Nguyễn Trường Sinh. Macromedia Dreamweaver. NXB Lao động – xã hội, Năm 2007. [3]. Phạm Hữu Khang. Xây dựng ứng dụng Web bằng PHP &MySQL. NXB Phương Đông, Năm 2006. [4]. Phạm Hữu Khang. Xây dựng & triển khai ứng dụng Thương mại điện tử NXB Thống kê, Năm 2003.

Các file đính kèm theo tài liệu này:

  • docxPhân tich thiết kế trang web bán điện thoại.docx
Luận văn liên quan