Hệ thống được viết trên nền Web sử dụng ngôn ngữ PHP trong môi trường Macromedia Dreamweaver 8 và cơ sở dữ liệu.
2.1.1. Giới thiệu Dreamweaver
1. Dreamweaver là gì ?
Dreamweaver là một chương trình Visual Editor chuyên nghiệp để tạo và quản lý các trang web. Dreamweaver cung cấp các công cụ phác thảo trang web cao cấp, hỗ trợ các tính năng DHTML (Dynamic HTML) mà không cần viết các dòng lệnh giúp các bạn không biết lập trình web cũng có thể thiết kế được các trang web động một cách dễ dàng, trực quan.Với Dreamweaver bạn có thể dễ dàng nhúng các sản phẩm của các chương trình thiết kế web khác như Flash,Fireworks, Shockwave, Generator, Authorwave vv...
Với Dreamweaver bạn có thể quản lý các Local và Remote site giúp cho việc quản lý các trang web trong các site cục bộ và các website điều khiển từ xa có thể đồng bộ. Ngoài ra Dreamweaver còn cho phép bạn chỉnh sửa trực tiếp HTML.Với Quick Tag Editor bạn có thể nhanh chóng bổ sung hoặc xóa bỏ một HTML mà không cần thoát khỏi cửa sổ tài liệu.Chế độ soạn thảo trang web bằng HTML giúp các bạn có thể thiết kế trang trực tiếp bằng ngôn ngữ HTML.
Dreamweaver còn hổ trợ các HTML Styles và Cascading Style Sheet giúp bạn định dạng trang web nhằm tăng tính hấp dẫn khi duyệt các trang web này.Vùng làm việc của chương trình Deamweaver rất linh động và dễ sử dụng gồm các thành phần như sau: Document, Launcher,Object Palette, Property Inspector, Floating Palette và các context menu(Menu ngữ cảnh).
2. Mô tả chức năng
Thanh menu : Gồm các menu
• File: gồm các chức năng liên quan đến tập tin như: New, Open, Save, Print…
• Edit: gồm các chức năng hỗ trợ việc soạn thảo: Copy, Cut, Paste, Undo, Find, Replace…
• View: gồm các chức năng liên quan đến phần hiển thị: Code (Hiển thị phần mã HTML hay mã PHP) , Design (cho phép bạn xem trước trang web trước khi chạy trên WebBrowse), Code and Design (Hiển thị song song cả 2 chức năng)..
• Insert: Dùng để chèn các thẻ hay đối tượng vào phần soạn thảo: Image, Table, Form…
• Modify: Các chứng năng về chỉnh sửa các thành phần của trang. Sử dụng menu này các
bản có thể sửa chữa thuộc tính của các thẻ (tag), thay đổi các thành phần của table…
• Text: Các chức năng chỉnh sửa văn bản text: font, css, size, color, canh lề (align).
• Command: Hỗ trợ các chức năng giúp bạn trong việc định dạng code, tạo photo album, tối
ưu hình ảnh với Macromedia Fireworks.
• Site: Hỗ trợ các chức năng như: tạo, mở và sửa site và để quản lý tập tin trong site.
• Window: Giúp bạn có thể dễ dàng thao các cửa sổ của ứng dụng: panels, inspectors…
Thanh Insert :
Tương tự menu Insert, dùng để chèn các thẻ hay đối tượng như Image, table vào vùng soạn thảo. Chọn cách bố cục (có 2 cách là standard và layout) cho trang web.
Thanh Document:
Tương tự menu View, dùng để chọn cách hiển thị cho vùng soạn thảo và một vài chức năng về chọn trình duyệt để hiển thị trang web…
Thanh Tag selector :
Bạn có thể sử dụng thanh này để chọn nhanh các thẻ (tag). Thanh Properties :
Bạn có thể xem và thay đổi các thuộc tính của đối tượng hat text đã chọn. Panel groups:
• Design: Thực hiện các chức năng về thiết kế: CSS, HTML Style, Behavious.
• Code: Giúp bạn xem cấu trúc thẻ của trang văn bản hiện tại, chọn nhanh một nhóm thẻ,một vài ebook giúp bạn tra cứu về cú pháp trong quá trình viết code.
• Application: Các chức năng hỗ trợ việc tạo ứng dụng web.
• File: Đây là panel quan trọng nhất trong nhóm panel này, nó giúp bạn thêm, mở site và quản lý các tập tin trong site.
• Answer: Các thông tin về hướng dẫn sử dụng và update Dreamwaver.
2.1.2. Ngôn ngữ lập trình PHP
1. PHP là gì ?
PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng
viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới.
2. Cách dùng ngôn ngữ lập trình PHP
Có 4 cách dùng ngôn ngữ này :
• <? echo ("this is the simplest, an SGML processing instruction\n"); ?>
• <?php echo("if you want to serve XML documents, do like this\n"); ?>
• <script language="php">
echo ("some editors (like FrontPage) don't like processing instructions");
</script>
• <% echo ("You may optionally use ASP-style tags"); %> <%= $variable; # This is a shortcut for "<%echo .." %> 3. Các kiểu dữ liệu trong ngôn ngữ lập trình PHP
• Số nguyên • Số thực • Xâu • Mảng Mảng 1 chiều Mảng nhiều chiều 4. Biến-giá trị
• Một số biến đã được tạo sẵn
• Tên biến
• Các giá trị bên ngòai phạm vi PHP
5. Constants 6. Biểu thức 7. Các cấu trúc lệnh • If ....else....else if • Vòng lặp • break và continue • switch 8. Hàm • Tham trị • Tham biến • Tham số có giá trị mặc định
• Gía trị trả lại của hàm
• Hàm biến 9. Các toán tử 10. Lớp và đối tượng 11. Tham chiếu 12. Thao tác với ảnh 13. PHP và MySQL 2.2. SQL Server 2005 2.2.1. Microsoft SQl server là gì ?
Microsoft SQl server là một hệ quản trị cơ sở dữ liệu quan hệ (relational database management system – RDBMS) do Microsoft phát triển. SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ mạng máy tính hoạt động theo mô hình khách
chủ cho phép đồng thời cùng lúc có nhiều người dùng truy xuất đến dữ liệu, quản lý việc truy nhập hợp lệ và các quyền hạn của từng người dùng trên mạng. Ngôn ngữ truy vấn quan trọng của Microsoft SQL server là Transact-SQL. Transact-SQL là ngôn ngữ SQL mở rộng dựa trên SQL chuẩn của ISO (International Organization for Standardization) và ANSI (American National Standards Institute) được sử dụng trong SQL Server
SQL Server 2005 được cấu tạo bởi nhiều thành phần như Relational Database Engine, Analysis Service và English Query.... Các thành phần này khi phối hợp với nhau tạo thành một giải pháp hoàn chỉnh giúp cho việc lưu trữ và phân tích dữ liệu một cách dễ dàng.
2.2.2. Relational Database Engine
Ðây là một engine có khả năng chứa data ở các quy mô khác nhau dưới dạng table và support tất cả các kiểu kết nối (data connection) thông dụng của Microsoft như ActiveX Data Objects (ADO), OLE DB, and Open Database Connectivity (ODBC). Ngoài ra nó còn có khả năng tự điều chỉnh (tune up) ví dụ như sử dụng thêm các tài nguyên (resource) của máy khi cần và trả lại tài nguyên cho hệ điều hành khi một user log off.
2.2.3. Replication
Giả sử bạn có một database dùng để chứa dữ liệu được các ứng dụng thường xuyên cập nhật. Một ngày đẹp trời bạn muốn có một cái database giống y hệt như thế trên một server khác để chạy báo cáo (report database) (cách làm này thường dùng để tránh ảnh hưởng đến performance của server chính). Vấn đề là report server của bạn cũng cần phải được cập nhật thường xuyên để đảm bảo tính chính xác của các báo cáo. Bạn không thể dùng cơ chế back up and restore trong trường hợp này. Thế thì bạn phải làm sao? Lúc đó cơ chế replication của SQL Server sẽ được sử dụng để bảo đảm cho dữ liệu ở 2 database được đồng bộ
(synchronized).
2.2.4. Data Transformation Service (DTS)
Nếu bạn làm việc trong một công ty lớn trong đó data được chứa trong nhiều nơi khác nhau và ở các dạng khác nhau cụ thể như chứa trong Oracle, DB2 (của IBM), SQL Server, Microsoft Access....Bạn chắc chắn sẽ có nhu cầu di chuyển data giữa các server này (migrate hay transfer) và không chỉ di chuyển bạn còn muốn định dạng (format) nó trước khi lưu vào database khác, khi đó bạn sẽ thấy DTS giúp bạn giải quyết công việc trên dễ dàng như thế nào
2.2.5. Analysis Service
Dữ liệu (Data) chứa trong database sẽ chẳng có ý nghĩa gì nhiều nếu như bạn không thể lấy được những thông tin (Information) bổ ích từ đó. Do đó Microsoft cung cấp cho bạn một công cụ rất mạnh giúp cho việc phân tích dữ liệu trở nên dễ dàng và hiệu quả bằng cách dùng khái niệm hình khối nhiều chiều (multi-dimension cubes) và kỹ thuật "đào mỏ dữ liệu" (data mining).
2.2.6. English Query
Ðây là một dịch vụ giúp cho việc query data bằng tiếng Anh.
2.2.7. Meta Data Service
Meta data là những thông tin mô tả về cấu trúc của data trong database như data thuộc loại nào String hay Integer..., một cột nào đó có phải là Primary key hay không....Bởi vì những thông tin này cũng được chứa trong database nên cũng là một dạng data nhưng để phân biệt với data "chính thống" người ta gọi nó là Meta Data
2.2.8. SQL Server Tools
Ðây là một bộ các công cụ của người quản trị cơ sở dữ liệu (DBA ).Sau đây là một vài công cụ thông dụng:
Enterprise Manager: Ðây là một công cụ cho ta thấy toàn cảnh hệ thống cơ sở dữ liệu một cách rất trực quan. Nó rất hữu ích đặc biệt cho người mới học và không thông thạo lắm về SQL.
Query Analyzer. Ðối với một DBA giỏi thì hầu như chỉ cần công cụ này là có thể quản lý cả một hệ thống database mà không cần đến những thứ khác. Ðây là một môi trường làm việc khá tốt vì ta có thể đánh bất kỳ câu lệnh SQL nào và chạy ngay lập tức đặc biệt là nó giúp cho ta debug mấy cái stored procedure dễ dàng. SQL Profiler. Nó có khả năng "chụp" (capture) tất cả các sự kiện hay hoạt động diễn ra trên một SQL server và lưu lại dưới dạng text file rất hữu dụng trong việc kiểm soát hoạt động của SQL Server.
Ưu điểm của SQL Server 2005:
• Xuất phát từ bài toán kích thước lớn, phân tán và đa người dùng.
• Là hệ quản trị cơ sở dữ liệu hỗ trợ với dữ liệu lớn, cho phép người sử dụng theo mô hình Client – Server.
• Tiện dụng trong việc phân tán tra cứu dữ liệu nhanh.
• Hỗ trợ mạnh với dữ liệu phân tán.
• Là một trong những phần mềm tiện lợi và hiệu quả trong việc ứng dụng phát triển cơ sở dữ liệu lớn, phân tán thích hợp cho các cơ quan,tổ chức.
• Hỗ trợ tốt trong quản lý xử lý đồng nhất, bảo mật dữ liệu theo mô hình Client – Server trên mạng.
• Lưu trữ sơ sở dữ liệu trên các thiết bị khác nhau, mỗi thiết bị có thể nằm trong đĩa cứng, mềm, băng từ, có thể nằm trong nhiều đĩa.
• Cho phép quản trị với tệp dữ liệu lớn tới 32TB.
• Kế thừa cùng với Windows 2005 tạo nên hệ thống bảo mật tốt quản trị người dùng, Server, và những tiện ích của Windows 2005.
CHƯƠNG 3
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.1. Khảo sát hiện trạng.
3.1.1. Một vài nét về công ty máy tính Vĩnh Lâm.
Công ty máy tính Vĩnh Lâm được thành lập năm 2/2010 tại địa chỉ Lộc Hà Mai Lâm - Huyện Đông Anh - Hà Nội. Do mới mở và kinh phí có hạn nên công ty có qui mô tương đối nhỏ. Công ty ban đầu chỉ chuyên kinh doanh các thiết bị vi tính như máy tính xách tay, máy tính đồng bộ, linh kiện máy tính, thiết bị mạng…
Hiện nay công ty kinh doanh với hình thức là khách hàng đến công ty xem hàng trực tiếp hoặc thông qua bảng báo giá rồi lựa chọn sản phẩm. Nhiều khi khách hàng đến mua hàng nhưng sản phẩm đó đã hết hoặc chưa nhập về kịp dẫn đến mất thời gian cho khách, và ảnh hưởng trực tiếp đến hiệu quả kinh doanh của công ty.
Trong những năm gần đây với sợ bùng nổ của Internet, thương mại điện tử đã phát triển mạnh mẽ trên toàn thế giới nói chung và Việt Nam nói riêng. Nó mang lại lợi ích không chỉ cho các nhà cung cấp mà cho cả người sử dụng. Từ yêu cầu cấp thiết đó công ty máy tính Vĩnh Lâm cần thiết kế một website để có thể bán hàng trực tuyến và quảng bá hình ảnh của công ty mình. Mô hình mà website lựa chọn là B2C. Khách hàng chỉ cần chọn sản phẩm, điền thông tin cá nhân vào biểu mẫu, chọn hình thức thanh toán và cách thức vận chuyển là có thể mua được hàng. 3.1.2. Khảo sát hiện trạng.
Quản lý khách hàng: Mỗi khách hàng được quản lý các thông tin sau đây: Họ, tên, địa chỉ, điện thoại, fax, email, tên đăng nhập, mật khẩu. Ngoài ra, nếu khách hàng là công ty hay cơ quan thì quản lý thêm tên công ty/cơ quan.
Quản lý mặt hàng: Mỗi mặt hàng được quản lý những thông tin: Tên mặt hàng, đơn giá, số lượng, thời gian bảo hành, hình ảnh, mô tả.
Quá trình đặt hàng của khách hàng: Khách hàng xem và lựa chọn mặt hàng cần mua. Trong quá trình lựa chọn, bộ phận bán hàng sẽ trực tiếp trao đổi thông tin cùng khách hàng, chịu trách nhiệm hướng dẫn. Sau khi lựa chọn xong, bộ phận bán hàng sẽ tiến hành lập đơn đặt hàng của khách. Sau khi tiếp nhận yêu cầu trên, bộ phận này sẽ làm hóa đơn và thanh toán tiền.
Trong trường hợp nhiều công ty, trường học, các doanh nghiệp, ...có yêu cầu đặt hàng, mua với số lượng lớn thì cửa hàng nhanh chóng làm phiếu đặt hàng, phiếu thu có ghi thuế cho từng loại mặt hàng và giao hàng hàng theo yêu cầu.
Quá trình đặt hàng với nhà cung cấp: Hàng ngày nhân viên kho sẽ kiểm tra hàng hóa trong kho và đề xuất lên ban điều hành cần xử lý về việc những mặt hàng cần nhập. Trong quá trình đặt hàng thì ban điều hành sẽ có trách nhiệm xem xét các đề xuất về những mặt hàng yêu cầu và quyết định loại hàng, số lượng hàng cần đặt và phương thức đặt hàng với nhà cung cấp. Việc đặt hàng với nhà cung cấp được thực hiện thông qua địa chỉ trên mạng hay qua điện thoại, fax.
Quá trình nhập hàng: Sau khi nhận yêu cầu đặt hàng từ công ty, nhà cung cấp sẽ giao hàng cho công ty có kèm theo hóa đơn hay bảng kê chi tiết các loại mặt hàng. Thủ kho sẽ kiểm tra lô hàng của từng nhà cung cấp và trong trường hợp hàng hóa giao không đúng yêu cầu đặt hàng hay kém chất lượng về hệ thống máy móc,...thì thủ kho sẽ trả lại nhà cung cấp và yêu cầu giao lại những mặt hàng bị trả đó.
Tiếp theo thủ kho sẽ kiểm tra chứng từ giao hàng để gán giá trị thành tiền cho từng loại sản phẩm. Những loại hàng hóa này sẽ được cung cấp một mã số và
được cập nhật ngay vào giá bán. Sau khi nhập xong chứng từ giao hàng, nhân viên nhập kho sẽ in một phiếu nhập để lưu trữ trong hồ sơ.
Từ quy trình thực tiễn nêu trên, ta nhận thấy rằng hệ thống được xây dựng cho bài toán đặt ra chủ yếu phục vụ cho hai đối tượng: Khách hàng và nhà quản lý.
Khách hàng: Là những người có nhu cầu mua sắm hàng hóa. Khác với việc đặt hàng trực tiếp tại công ty, khách hàng phải hoàn toàn tự thao tác thông qua từng bước cụ thể để có thể mua được hàng. Trên mạng, các mặt hàng được sắp xếp và phân theo từng loại mặt hàng giúp cho khách hàng dễ dàng tìm kiếm. Trong hoạt động này, khách hàng chỉ cần chọn một mặt hàng nào đó từ danh mục các mặt hàng thì những thông tin về mặt hàng đó sẽ hiển thị lên màn hình như: hình ảnh, đơn giá, mô tả,...và bên cạnh là trang liên kết để thêm hàng hóa vào giỏ hàng. Đây là giỏ hàng điện tử mà trong đó chứa các thông tin về hàng hóa lẫn số lượng khách mua và hoàn toàn được cập nhật trong giỏ.
Khi khách hàng muốn đặt hàng thì hệ thống hiển thị trang xác lập đơn đặt hàng cùng thông tin về khách hàng và hàng hóa. Cuối cùng là do khách hàng tùy chọn đặt hay không.
Nhà quản lý: Là người làm chủ hệ thống, có quyền kiểm soát mọi hoạt động của hệ thống. Nhà quản lý được cấp một username và password để đăng nhập