Trong thời điểm hiện nay, Việt Nam đã gia nhập WTO tạo nhiều điều kiện thuận lợi cho ngành du lịch và giao thương quốc tế. Tất cả các công ty du lịch đều có chung một lợi thế và thách thức nhưng chỉ có một số ít công ty có khả năng biến thách thức thành lợi thế cho mình.
MonVietNam là một công ty du lịch tuổi đời còn trẻ nhưng khả năng phát triển trong lĩnh vực du lịch và dịch vụ là rất lớn. Không phải công ty du lịch nào cũng làm được điều đó, để khách hàng thực sự cảm thấy công ty tổ chức tour là người thân, có thể gọi điện nhờ tư vấn, thắc mắc, hay là kể chuyện về chuyến đi bất cứ vào lúc nào. Tất cả những cố gắng nỗ lực của giám đốc và nhân viên công ty cho đến nay là sự tin cậy của bạn bè khắp nơi đã từng đến với MonVietNam. Đó là cơ sở vững chắc cho sự thành công của doanh nghiệp trên con đường dài phía trước.
108 trang |
Chia sẻ: aloso | Lượt xem: 1584 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Chuyên đề Phân tích thiết kế hệ thống thông tin quản lý thông tin Card Visit – Leaflet, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
bởi những người có hiểu biết ít nhiều về tin học và sẽ thực hiện một công việc nào đó trong một môi trường riêng.
2.3.2 Nguyên tắc trình bày thông tin trên màn hình
* Khi thiết kế thông tin ra trên màn hình phải chú ý những điểm sau:
Thông tin ra phải được thiết kế sao cho người sử dụng phải kiểm soát được lượng thông tin ra màn hình. Cần thiết kế thông tin lấp đầy màn hình rồi dừng lại và để người sử dụng chủ động cho tiếp tục hiện thông tin ra hay không? Thiết kế sao cho người sử dụng có thể lùi về trang trước hoặc xem trang sau bằng các phím ( Up, Down, PageUp, PageDown )
Thiết kế viên phải cho phép người sử dụng hạn chế khối lượng thông tin hiện ra trên màn hình
* Khi thiết kế thông tin ra trên màn hình thiết kế viên phải tuân thủ những nguyên tắc thiết kế màn hình như sau:
- Đặt mọi thông tin gắn liền với nhiệm vụ trên cùng một màn hình. Người sử dụng không phải nhớ thông tin từ màn hình này sang màn hình khác.
- Chỉ dẫn rõ ràng cách thoát khỏi màn hình. Đặt giữa các tiêu đề và xếp đặt các thông tin theo trục trung tâm.
- Nếu đầu ra gồm nhiều trang màn hình thì mỗi trang phải được đánh số thứ tự. Việc này giúp cho người sử dụng biết rõ mình đang ở đâu?
- Viết văn bản theo quy ước chung bằng cách sử dụng chữ in hoa, gạch chân và ngắt câu hợp lý.
- Đặt tiêu đề cho mỗi cột, chỉ đặt màu cho những thông tin quan trọng.
- Tổ chức các phần tử của danh sách theo trật tự quen thuộc.
- Căn trái các cột văn bản và căn phải các cột số.
- Chỉ tô màu cho những thông tin quan trọng.
2.3.3 Nguyên tắc thiết kế màn hình nhập liệu
Mục đích của thiết kế màn hình nhập liệu là thiết kế các thủ tục nhập liệu có hiệu quả và giảm thiểu tối đa các sai sót.
Việc thiết kế màn hình nhập liệu phải tuân thủ các nguyên tắc sau đây:
- Khi nhập tài liệu từ một tài liệu gốc, khuôn dạng màn hình phải giống như tài liệu gốc.
- Nên nhóm các trường trên trên màn hình theo một trật tự có ý nghĩa, theo trật tự tự nhiên, theo tần số chung, theo chức năng hoặc theo tầm quan trọng.
- Không nhập các thông tin mà hệ thống thông tin có thể truy tìm được từ cơ sở dữ liệu hoặc tính toán được.
- Đặt tên các trường ở trên hoặc trước trường nhập.
- Đặt các giá trị ngầm định cho phù hợp.
- Sử dụng phím tab để chuyển trường nhập.
2.3.4 Thiết kế cơ sở dữ liệu bằng phương pháp mô hình hóa
Xác định các tệp CSDL trên các thông tin đầu ra của hệ thống là phương pháp cổ điển và cơ bản của việc thiết kế CSDL.
Các bước chi tiết khi thiết kế CSDL từ các thông tin đầu ra :
Bước 1 : Xác định các đầu ra
Liệt kê toàn bộ các thông tin đầu ra
Nội dung, khối lượng, tần xuất và nơi nhận của chúng
Bước 2 : Xác định các tệp cần thiết cung cấp đủ dữ liệu cho việc tạo ra từng đầu ra
Liệt kê các phần tử thông tin đầu ra
+ Trên mỗi thông tin đầu ra bao gồm các phần tử thông tin được gọi là các thuộc tính. Liệt kê toàn bộ các thuộc tính thành một danh sách.
+ Đánh dấu các thuộc tính lặp (là những thuộc tính có thể nhận nhiều giá trị dữ liệu).
+ Đánh dấu các thuộc tính thứ sinh (S) là những thuộc tính được tính toán ra hoặc suy ra từ những thuộc tính khác.
+ Gạch chân các thuộc khóa cho thông tin đầu ra.
+ Loại bỏ các thuộc tính thứ sinh ra khỏi danh sách, chỉ để lại các thuộc tính cơ sở. Xem xét loại bỏ các thuộc tính không có ý nghĩa trong quản lý.
Thực hiện việc chuẩn hóa mức 1 (1.NF)
Chuẩn hóa 1.NF quy định rằng: Trong mỗi danh sách không được phép chứa những thông tin lặp. Nếu có các thuộc tính lặp thì phải tách các thuộc tính này ra thành các thuộc tính con (có ý nghĩa dưới góc độ quản lý).
Gắn thêm cho nó 1 tên, tìm cho nó một thuộc tính định danh riêng và thêm thuộc tính định danh của các danh sách gốc.
Thực hiện việc chuẩn hóa mức 2 (2.NF)
Chuẩn hóa 2.NF quy định: Trong mỗi danh sách mỗi thuộc tính phụ thuộc vào toàn bộ khóa chính chứ không chỉ phụ thuộc vào một phần của khóa. Nếu có phụ thuộc như vậy thì phải tách những thuộc tính phụ thuộc hàm vào bộ phận của khóa thành một danh sách con mới.
Lậy bộ phận khóa đó làm khóa cho danh sách mới. Đặt cho danh sách mới này một tên riêng phù hợp với nội dung của các thuộc tính trong danh sách.
Thực hiện việc chuẩn hóa mức 3 (3.NF)
Chuẩn hóa 3.NF quy định: Trong mỗi danh sách không được phép có sự phụ thuộc bắc cầu giữa các thuộc tính. Nếu thuộc tính Z phụ thuộc hàm vào thuộc tính Y, mà thuộc tính Y phụ thuộc hàm vào thuộc tính X thì phải tách chúng vào hai danh sách chứa quan hệ Z với Y và danh sách chứa quan hệ Y với X.
Mô tả các tệp.
Mỗi danh sách xác định được sau khi chuẩn hóa 3.NF sẽ là một tệp CSDL. Biểu diễn các tệp theo ngôn ngữ CSDL về tệp. Tên tệp viết chữ in hoa, nằm phía bên trên. Các thuộc tính nằm trong ô, thuộc tính khóa có gạch chân,
Bước 3 : Tích hợp các tệp để chỉ tạo ra một CSDL.
Từ mỗi đầu ra theo các thực hiện của bước hai sẽ tạo ra rất nhiều danh sách và mỗi danh sách liên quan tới một đối tượng quản lý, có sự tồn tại riêng tương đối độc lập. Những danh sách này cùng mô tả về một thực thể thì phải tích hợp lại, nghĩa là tạo thành một danh sách chung, bằng cách tập hợp tất cả các thuộc tính chung và riêng của những danh sách đó lại với nhau.
Bước 4 : Xác định liên hệ logic giữa các tệp và thiết lập sơ đồ cấu trúc dữ liệu.
Xác định số lượng các bản ghi cho từng tệp.
Xác định độ dài cho một thuộc tính. Tính độ dài cho bản ghi.
Xác định mối liên hệ giữa các tệp, biểu diễn chúng bằng các mũi tên hai chiều, quan hệ một – nhiều theo chiều mũi tên.
* Một số khái niệm về cơ sở dữ liệu (CSDL)
- Mỗi bảng (Table) ghi chép dữ liệu về một nhóm phần tử nào đó gọi là thực thể (Entity). Thực thể là một nhóm người, đồ vật, sự kiện, hiện tượng hay khái niệm với các đặc điểm và tính chất cần ghi chép và lưu giữ.
- Mỗi thực thể đều có những đặc điểm riêng mà ta gọi đó là thuộc tính. Mỗi thuộc tính là một yếu tố dữ liệu tách biệt, thường không chia nhỏ được nữa. Các thuộc tính góp phần mô tả thực thể và là những dữ liệu về thực thể mà ta muốn lưu trữ.
- Mỗi bảng có những dòng (Row). Mỗi dòng còn được gọi là một bản ghi (Record) bởi vì nó ghi chép dữ liệu về một cá thể (Instante) tức là một biểu hiện riêng của thực thể.
- Mỗi bảng có những cột (Column). Mỗi cột còn được gọi là một trường (Field). Giao giữa cột và dòng là một ô chứa dữ liệu ghi ghép về một thuộc tính của cá thể trên dòng đó.
- Cơ sở dữ liệu (Database) là một nhóm gồm một hay nhiều bảng có liên quan với nhau.
- Một tập hợp các dữ liệu có liên quan với nhau được gọi là một hệ cơ sở dữ liệu (Database System) hay ngân hàng dữ liệu (Data bank). -
Hệ quản trị cơ sở dữ liệu (Database Management Systems) là một hệ thống chương trình máy tính giúp tạo lập, duy trì và sử dụng các hệ cơ sở dữ liệu.
Hệ quản trị cơ sở dữ liệu được các công ty phần mềm lập sẵn và bán trên thị trường. Một vài hệ quản trị cơ sở dữ liệu thông dụng nhất theo mô hình quan hệ là DB2, SQL/DS, Oracle, Microsoft Access, Microsoft Visual Foxpro và Microsoft SQL Server.
2.4 Phương pháp luận về công cụ thực hiện đề tài
2.4.1 Cơ sở dữ liệu Access 2003
Khi thiết kế hệ thống thông tin hay thiết kế phần mềm, việc lựa chọn hệ quản trị cơ sở dữ liệu (HQTCSDL) là rất quan trọng. Đối với lập trình viên mà nói, khi lựa chọn một HQTCSDL để dựa vào đó viết những ứng dụng CSDL (database application), người ta thường chú ý đến khả năng, mức độ tiện dụng và các lĩnh vực chuyên sâu của bản thân HQTCSDL đồng thời chú ý đến tính tương thích của nó với phần cứng hiện có cũng như với các phần mềm mà khách hàng đang thường xuyên sử dụng.
Phiên bản đầu tiên của Access ra đời vào năm 1989. Từ đó đến nay Access đã không ngừng được cải tiến và đã có các phiên bản mang số hiệu 1.0, 1.1, …, 2.0, …, 7.0, Access 95, Access 97, Access 2000 và phiên bản hiện nay được dùng nhiều nhất là Access 2003.
Microsoft Access là một phần trong bộ phần mềm Microsoft Office Professional, vì thế mà những đối tượng thuộc giao diện như thực đơn, thanh công cụ (toolbar) và các hộp thoại đều rất tương tự như các ứng dụng khác của Office mà phần lớn người dùng máy tính đều đã quen thuộc. Việc trao đổi (nhập/xuất) dữ liệu giữa Access và các ứng dụng khác trong môi trường Windows như Excel, Word, Visual FoxPro, SQL Server, Oracle, HTML, XML… cũng rất thuận tiện.
Access có nhiều chức năng để đáp ứng những nhu cầu khác nhau về CSDL. Lập trình viên có thể dùng Access để phát triển 6 kiểu ứng dụng phổ biến nhất đó là:
- Ứng dụng cá nhân.
- Ứng dụng cho doanh nghiệp nhỏ.
- Ứng dụng trong nội bộ từng phòng ban.
- Ứng dụng cho toàn công ty.
- Ứng dụng ở tuyến trước (front-end) cho các CSDL theo mô hình khách/chủ trên phạm vi toàn doanh nghiệp.
- Ứng dụng trên mạng nội bộ của một cơ quan (intranet) và mạng Internet.
Microsoft Access 2003 hoạt động tốt trong môi trường của hệ điều hành Windows với các phiên bản 2000, XP hay 2003.
Microsoft Access 2003 là HQTCSDL rất phù hợp cho các bài toán quản lý ở quy mô vừa và nhỏ. Sử dụng Access thực sự đơn giản nhưng rất hiệu quả trong việc tìm kiếm, tổ chức, khai thác và truy xuất thông tin từ cơ sở dữ liệu. Khả năng kết nối dữ liệu và công cụ truy vấn mạnh mẽ của Access làm cho việc tìm kiếm và truy xuất thông tin được thực hiện một cách nhanh chóng. Access có hiệu năng cao và đặc biệt dễ sử dụng bởi giao diện phần mềm sử dụng icon và các tính năng khác giống hệt bộ Office 2003.
So với các phiên bản trước thì Access 2003 có những tiến bộ vượt bậc. Các thao tác sử dụng đơn giản và giao diện rất thân thiện với người dùng. Điều đặc biệt với người dùng chuyên nghiệp là Access còn cung cấp hệ thống công cụ khá mạnh đi kèm là Development Tools. Công cụ này sẽ giúp các nhà phát triển phần mềm đơn giản trong việc xây dựng trọn gói các dự án phần mềm quản lý quy mô vừa và nhỏ. Đặc biệt với những người muốn học cách lập trình một phần mềm quản lý thì đây là con đường ngắn nhất để giải quyết một bài toán quản lý.
Các thành phần chính của một cơ sở dữ liệu Access
- Bảng (Table) :
Là thành phần cơ sở của tập tin cơ sở dữ liệu Access. Nó được dùng để lưu trữ dữ liệu của cơ sở dữ liệu. Vì vậy, các bảng phải là đối tượng đầu tiên được tạo ra trước. Một cơ sở dữ liệu thường gồm nhiều bảng có quan hệ với nhau nhằm phản ánh mối liên kết thực sự của các đối tượng dữ liệu ở bên ngoài thế giới thực. Các thành phần của bảng (table) gồm có:
+ Cột (Column) hay trường (Field): nằm trong bảng. Trong một bảng không thể có hai cột trùng tên nhau. Các thuộc tính cơ sở của một trường là: tên trường (field name), kiểu dữ liệu (data type), độ rộng (field size).
+ Dòng (Row): nằm trong bảng. Trong một bảng không thể có hai dòng trùng lặp với nhau về thông tin lưu trữ.
+ Khóa chính (Primary Key): là một hoặc nhiều trường trong một bảng mà dữ liệu tại các cột này bắt buộc phải có (không được để trống) và đồng thời phải duy nhất, không được phép trùng lặp (tính duy nhất của dữ liệu). Mặt khác, giá trị dữ liệu của khóa chính xác định duy nhất các giá trị của các trường khác trong cùng một dòng.
+ Khóa ngoại lai (Foreign Key): là một trong nhiều trường trong một bảng đồng thời các trường này là khóa chính của một bảng khác. Do đó, dữ liệu tại các trường này bắt buộc phải tồn tại có trong một bảng khác. Đây được gọi là tính tồn tại của dữ liệu.
- Truy vấn (Query) :
Là công cụ cho phép người sử dụng dùng ngôn ngữ truy vấn có cấu trúc SQL hoặc công cụ truy vấn bằng QBE để thực hiện các truy vấn trích rút, chọn lựa dữ liệu hoặc cập nhật dữ liệu (thêm, sửa, xóa) trên các bảng. Query là công cụ mạnh của Access dùng để tổng hợp, sắp xếp, tìm kiếm dữ liệu trên các bảng. Khi thực hiện truy vấn sẽ nhận được một tập hợp các kết quả thể hiện trên màn hình dưới dạng bảng gọi là Dynaset. Dynaset chỉ là bảng kết quả trung gian, không được ghi lên đĩa và nó sẽ bị xóa khi kết thúc truy vấn. Tuy nhiên, có thể sử dụng một Dynaset như một bảng để xây dựng các truy vấn khác.
- Mẫu biểu (Form) :
Form cho phép người sử dụng xây dựng trên các màn hình dùng để cập nhật hoặc xem dữ liệu lưu trong các bảng, ngoài ra cũng cho phép người sử dụng tạo ra các hộp thoại. Form dùng để tổ chức cập nhật dữ liệu cho các bảng và thiết kế giao diện chương trình. Tuy có thể nhập dữ liệu trực tiếp vào các bảng nhưng Form sẽ cung cấp nhiều khả năng nhập dữ liệu thuận tiện hơn rất nhiều như: nhập dữ liệu từ một một danh sách (listbox), nhập dữ liệu đồng thời trên nhiều bảng thông qua SubForm. Form còn cho phép nhập các giá trị riêng lẻ (không liên quan đến bảng) từ bàn phím. Ngoài ra, Form còn một khả năng quan trọng khác là tổ chức giao diện chương trình dưới dạng một bảng nút lệnh hoặc hệ thống menu chức năng.
- Báo cáo (Report) :
Report cho phép tạo ra các kết xuất từ các cơ sở đã lưu trong các bảng, sau đó sắp xếp và định dạng theo một khuôn dạng cho trước và từ đó có thể xuất báo cáo ra màn hình hoặc máy in. Report là một công cụ tuyệt vời phục vụ việc in ấn, nó cung cấp các khả năng:
+ In dữ liệu dưới dạng bảng.
+ In dữ liệu dưới dạng biểu.
+ Sắp xếp dữ liệu trước khi in.
+ Sắp xếp và phân nhóm dữ liệu tới 10 cấp. Cho phép thực hiện các phép toán để nhận dữ liệu tổng hợp trên mỗi nhóm. Ngoài ra dữ liệu tổng hợp nhận trên các nhóm còn có thể được đưa vào công thức để xuất ra báo cáo cho nhà quản lý theo một tiêu chí cụ thể nào đó.
+ In dữ liệu của nhiều bảng có quan hệ trên một báo cáo.
- Lệnh gộp (Macro) :
Macro bao gồm một dãy các hành động (actions) dùng để tự động hóa một loạt các thao tác. Marco thường dùng với biểu mẫu để tổ chức giao diện chương trình. Macro là công cụ cung cấp cho người sử dụng tạo ra các hành động đơn giản trong Microsoft Access như mở form, report, thực hiện một truy vấn…
- Các Module :
Đó là nơi chứa các hàm, thủ tục. Các module sử dụng các hàm và thủ tục để thực hiện một số hành động phức tạp nào đó mà không thể làm bằng Macro hay thực hiện những nhiệm vụ đặc biệt phức tạp.
2.4.2 Ngôn ngữ lập trình Visual Basic 6.0
Visual Basic là ngôn ngữ lập trình có thể dùng cho Microsoft Access, Microsoft Excel hay là bất cứ thành viên nào trong bộ phần mềm Microsoft Office. Visual Basic là ngôn ngữ lập trình được sử dụng để phát triển các phần mềm ứng dụng. Visual Basic có nhiều tính ưu việt hơn so với các ngôn ngữ khác ở chỗ tiết kiệm thời gian và công sức khi xây dựng ứng dụng. Visual Basic gắn liền với khái niệm lập trình trực quan nghĩa là trong khi thiết kế chương trình, ta được nhìn thấy kết quả qua từng thao tác và giao diện khi chương trình thực hiện. Đây là điểm mạnh của Visual Basic so với các ngôn ngữ khác. Trong khi thiết kế, lập trình viên có thể dễ dàng chỉnh sửa màu sắc, kích thước, hình dáng của các đối tượng có mặt trong ứng dụng. Một trong những tính năng thường được sử dụng của Visual Basic chính là kỹ thuật lập trình truy cập cơ sở dữ liệu.
Visual Basic là một ngôn ngữ lập trình bậc cao dùng để xây dựng các trình ứng dụng chạy trong Microsoft Windows. Với Visual Basic người lập trình có thể dùng bộ phận thiết kế màn hình để tạo nên các nội dung cho một cửa sổ, chọn các đối tượng điều khiển (các nút bấm, các listbox v. v...) từ một hộp công cụ (toolbox) và đưa chúng vào trong thiết kế. Sau đó viết các thủ tục cho các đối tượng đó bằng một phiên bản mới của BASIC. Visual Basic ứng dụng phương pháp lập trình hướng sự kiện. Các thủ tục sẽ chạy khi bạn chọn dùng nút bấm hoặc một đôí tượng điều khiển khác. Visual Basic có sự hỗ trợ của OLE 2. 0 và Access 1. 1, do đó dễ dàng hơn trong việc biên soạn một chương trình mặt trước dùng giao diện người máy đồ họa cho một cơ sở dữ liệu. Sau khi đã xây dựng được một trình ứng dụng, lập trình viên có thể dùng Visual Basic Setup Wizard để tạo ra các đĩa cài đặt cho nó.
Ngôn ngữ BASIC là ngôn ngữ lập trình bậc cao dễ sử dụng nhưng bị nhiều phê phán, phù hợp với máy tính cá nhân. Được soạn thảo vào năm 1964, BASIC ( BeginnerWindows All-Purpose Symbolic Instruction Code) là ngôn ngữ thủ tục, nó báo cho máy tính biết phải làm gì theo từng bước.
Các chương trình BASIC chạy trong môi trường tương tác lẫn nhau gồm một chương trình soạn thảo văn bản, một chương trình gỡ rối, và một trình thông dịch để dịch và thực hiện mã nguồn BASIC lần lượt theo từng dòng.
Vì chương trình được xây dựng một cách tương tác, nên cố gắng thay đổi luân phiên và kiểm thử tính toàn vẹn của chương trình theo từng bước của cách thức đó. Quá trình cấu tạo chương trình như vậy có tác dụng hướng dẫn học tập rất tốt.
Gần đây người ta đã biên soạn các chương trình biên dịch để chuyển mã BASIC thành những chương trình có thể chạy độc lập.
BASIC có thể học dễ dàng, nhưng các chương trình này thực hiện chậm. Điều đó làm cho BASIC rất ít được chọn dùng cho các ứng dụng chuyên nghiệp. Các phiên bản mới đã xuất hiện, như QUICK BASIC của Microsoft hoặc Turbo BASIC của Borland, chúng bao gồm các cấu trúc điều khiển hiện đại (gọi là chương trình con - subroutine) và một trình biên dịch. Một số phần mềm thương phẩm (và nhiều chương trình thuộc phần mềm cổ đông) đã được viết bằng BASIC có biên dịch, mặc dù ngôn ngữ C phổ dụng hơn trong lĩnh vực phát triển các chương trình chuyên dụng.
Các kỹ thuật lập trình mới đã trao cho BASIC một sức sống mới. Ví dụ Visual BASIC của Microsoft (được thiết kế cho việc lập trình Windows) đã sử dụng giao diện đồ hoạ và lập trình hướng sự kiện để tạo nên những chương trình ứng dụng đầy ấn tượng
Visual Basic được phát triển dựa trên nền tảng là ngôn ngữ Basic. Quá trình phát triển từ khi ra đời cho đến nay của Visual Basic như sau:
+ Visual Basic 1.0 ra đời vào giữa năm 1991, được phát triển từ Quick Basic.
+ Visual Basic 2.0 được phát hành vào năm 1992 bao gồm kiểu dữ liệu biến thể, xác định trước bằng hằng số true (false) và biến đổi đối tượng. Vào thời điểm này chỉ có VB SQL và ODBC API là phương pháp truy cập dữ liệu mà người dùng có thể dùng.
+ Visual Basic 3.0 ra đời năm 1993 bao gồm nhiều công cụ chuẩn. Những công cụ này cung cấp động cơ truy xuất cơ sở dữ liệu trong một ứng dụng với mã lệnh rất ít. Đi kèm phiên bản này là động cơ cơ sở dữ liệu Jet phiên bản 1.1 (Jet engine). Jet được dùng trong kết nối dữ liệu thông qua DAO (Data Access Object) hoặc điều khiển Data. Mặc dù Jet được phát triển cho đến ngày nay (phiên bản 4.0) nhưng ADO mới là phương pháp truy cập dữ liệu được ưa chuộng nhất hiện nay. Do đó, ADO là thành phần chính trong chiến lược phát triển của Microsoft.
+ Visual Basic 4.0 hoàn thành vào năm 1995 được xem là một bước tiến bộ. Nó đuổi kịp những tiến bộ trong lĩnh vực phát triển phần mềm bởi công nghệ kết hợp OLE (Object Linking and Embedding) và khả năng tạo ra những đối tượng. Một phương thức truy cập dữ liệu mới tích hợp trong phiên bản này là RDO (Remote Data Object) và RDC (Remote Data Control). RDO là phương pháp truy cập dữ liệu được thiết kế thay cho DAO. Thư viện ActiveX 32-bit này nhỏ hơn và nhanh hơn DAO và được thiết kế bằng một hệ thống đối tượng phân cấp giống như ODBC API.
+ Visual Basic 5.0 được phát hành năm 1997. Nó hỗ trợ chuẩn COM của Microsoft và cho phép tạo ra các điều khiển ActiveX. Phiên bản này là bước tiến vượt bậc bởi vì những người phát triển có thể dùng VB để tạo ra các điều khiển và thư viện liên kết động DLL riêng của họ.
+ Visual Basic 6.0 được phát hành vào năm 1998. Theo những yêu cầu đề ra, phiên bản này tăng cường phương pháp giao tiếp mới với SQL Server. Nó cải tiến cách truy nhập dữ liệu, nhiều công cụ và điều khiển mới cho giao tiếp với cơ sở dữ liệu, nhiều công cụ và điều khiển mới cho giao tiếp với cơ sở dữ liệu cung cấp những tính năng Web và những Wizard mới. Phiên bản này được đánh dấu với công nghệ ADO 2.0 (phương thức truy cập dữ liệu tốt nhất và nhanh nhất hiện nay. Nó giao tiếp với OLE DB tương tự như RDO nhưng nhỏ hơn và có cấu trúc phân cấp đơn giản hơn. ADO được thực thi các ứng dụng kinh doanh hay ứng dụng Internet. Phiên bản hiện nay là 2.5 đi kèm với Windows 2000.
+ Visual Basic.net được phát hành vào năm 2003. Hiện nay đây là công cụ được phát triển rất mạnh mẽ để thiết kế các phần mềm ứng dụng lớn, được tích hợp trong xây dựng các giải pháp ERP (Enterprise Resource Planning) cùng với hệ quản trị cơ sở dữ liệu SQL Server. Công nghệ DotNet ngày một phát triển và VB.net là ngôn ngữ thân thiện, dễ dùng ngày càng được ưa chuộng.
Visual Basic thực sự thích hợp cho các ứng dụng vừa và nhỏ, giúp giải quyết các bài toán quản lý đơn giản.
Các thành phần chính của Visual Basic :
Form :
Hình 2.2: Form trong thiết kế Visual Basic
Form là biểu mẫu của mỗi ứng dụng trong Visual Basic. Form dùng để định vị và sắp xếp các bộ phận trên nó khi thiết kế các thành phần giao tiếp với người dùng.
Ta có thể xem Form như là một bộ phận mà nó có thể chứa các bộ phận khác. Form chính của ứng dụng, các thành phần của nó tương tác với các Form khác, và các bộ phận của chúng tạo nên giao tiếp cho ứng dụng. Form chính là giao diện chính của ứng dụng, các Form khác có thể chứa các hộp thoại, hiển thị cho nhập dữ liệu và thi hành các tác vụ khác.
Visual Basic cho phép ta thay đổi kích cỡ và di chuyển vị trí của các Form đến bất kỳ nơi nào trên màn hình khi tính đối tượng (Properties Windows). Thực tế, một trong những tính năng thiết yếu của Visual Basic đó là khả năng tiến hành các thay đổi động để đáp ứng các sự kiện của người dùng.
Properties Windows (cửa sổ thuộc tính):
Hình 2.3: Cửa sổ thuộc tính
Properties Windows là nơi chứa danh sách các thuộc tính của một đối tượng cụ thể. Các thuộc tính này có thể thay đổi được để phù hợp với yêu cầu về giao diện của các chương trình ứng dụng.
Các thuộc tính sẵn có đối với các điều khiển chia làm 3 loại như sau:
+ Loại 1: Các thuộc tính sẵn có của điều khiển chỉ thiết lập lúc thiết kế, có nghĩa là có thể thiết lập các thuộc tính của điều khiển thông qua cửa sổ thuộc tính ( Properties Windows).
+ Loại 2: Các thuộc tính sẵn có của điều khiển chỉ thiết lập lúc chương trình chạy, có nghĩa là khi chương trình chạy ta có thể thay đổi các hành vi của các điều khiển. Ví dụ như có thể thay đổi thuộc tính Enable của các điều khiển giúp người sử dụng có thể tương tác hoặc không với các điều khiển.
+ Loại 3: Các thuộc tính sẵn có của điều khiển có thể thiết lập bất kỳ lúc nào. Ví dụ như các thuộc tính FillColor, Font, … có thể thiết lập lúc thiết kế chương trình.
Tools Box (Hộp công cụ)
Hình 2.4: Hộp công cụ
Bản thân hộp công cụ này chỉ chứa các biểu tượng biểu thị cho các điều khiển mà ta có thể bổ sung vào biểu mẫu, là bảng chứa các đối tượng được định nghĩa sẵn của Visual Basic. Các đối tượng này được sử dụng trong Form để tạo thành giao diện cho các chương trình ứng dụng của Visual Basic.
* Project Explorer:
Hình 2.5: Project Explorer
Do các ứng dụng Visual Basic thường dùng chung mã hoặc các Form đã tùy biến trước đó, nên Visual Basic tổ chức các ứng dụng thành các Project. Mỗi Project có thể có nhiều Form và mã kích hoạt các điều khiển trên một Form sẽ được lưu trữ chung với Form đó trong các tập tin riêng biệt. Project Explorer quản lý tất cả các Form và các Module chung, tạo nên các ứng dụng.
Data Controls (Điều khiển dữ liệu):
Để sử dụng Data Control ta thiết lập các thuộc tính của nó để có thể kết nối đến cơ sở dữ liệu (Database) và các bảng (Table) trong cơ sở dữ liệu đó. Bản thân Data Controls không hiển thị dữ liệu, nó chỉ hiển thị dữ liệu khi thực hiện kết nối đến cơ sở dữ liệu. Thông thường ta dùng nó để hiển thị cơ sở dữ liệu trên Form.
Recordsets:
Sau khi kết nối thành công với cơ sở dữ liệu ta tiến hành truy nhập đến các bản ghi, để thực hiện được việc này, ta sử dụng thuộc tính Recordset. Thuộc tính Recordset của ADODC (Active Data Object Data Control) là một đối tượng được sử dụng để truy nhập đến các bản ghi từ bảng hoặc truy vấn. Đối tượng Recordset thực hiện các thao tác:
Thêm bản ghi.
Sửa đổi bản ghi.
Xóa bản ghi.
Module Lớp (Class Module):
Module lớp là nền tảng của lập trình hướng đối tượng trong Visual Basic, nó bao gồm nhóm các đối tượng có cùng thuộc tính, có chung hành vi và có chung mối quan hệ. Khuôn mẫu để tạo đối tượng là Module lớp. Sau này Module lớp còn được dùng để tạo đối tượng ActiveX, đó là một kỹ thuật cao hơn trong lập trình hướng đối tượng. Trong bước lập trình căn bản với Visual Basic, ta dùng Module để chứa các hàm và thủ tục. Tùy theo tầm hoạt động của các hàm hay thủ tục này ta có thể gọi chúng trực tiếp từ Module.
Những module lớp thì không bao giờ được gọi trực tiếp. Để sử dụng một lớp, ta phải tạo đối tượng từ lớp thông qua lệnh New.
Công cụ làm báo cáo Data Report
Hình 2.6: Cửa sổ thiết kế báo cáo bằng Data Report
Khi xây dựng một ứng dụng thực tiễn, kết quả cuối cùng mà nhà quản lý quan tâm đó là báo cáo. Dữ liệu cuối cùng có thể kết xuất ra các thiết bị máy in, các trình hỗ trợ khác cho phép người dùng in hay trích xuất dữ liệu sang các trình ứng dụng tương thích khác nhau.
Data Report là công cụ làm báo cáo tích hợp trong Visual Basic 6.0. Nó cho phép ta thiết kế báo cáo trên ứng dụng Visual Basic.
Để tạo báo cáo bằng Data Report trước hết phải có cơ sở dữ liệu, có thể tạo bằng Microsoft Access hoặc SQL Server.
2.4.3 Sự tích hợp Access 2003 với Visual Basic 6.0
Visual Basic là ngôn ngữ lập trình có thể dùng cho Microsoft Access, Microsoft Excel và nói chung là tất cả các chương trình trong gói phần mềm Microsoft Access. Visual Basic là ngôn ngữ lập trình dễ sử dụng và tiện lợi cho lập trình viên để phát triển các gói ứng dụng cho bài toán quản lý.
Sự kết hợp hệ quản trị cơ sở dữ liệu Microsoft Access 2003 với ngôn ngữ lập trình Visual Basic 6.0 rất thích hợp cho việc thiết kế các phần mềm với quy mô vừa và nhỏ. Phần mềm ứng dụng sau khi tạo ra có dung lượng nhỏ gọn, đơn giản, dễ sử dụng nhưng có tích hợp nhiều tính năng ưu việt nổi trội mà nhiều ngôn ngữ lập trình khác không có được.
CHƯƠNG III
PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN QUẢN LÝ THÔNG TIN CARD VISIT - LEAFLET TẠI CÔNG TY TNHH DU LỊCH VÀ DỊCH VỤ
“VIỆT NAM CỦA TÔI”
3.1 PHÂN TÍCH HỆ THỐNG THÔNG TIN
3.1.1 Phân tích yêu cầu
3.1.1.1 Khảo sát bộ phận quản lý thông tin Card Visit và Leaflet
* Địa điểm khảo sát :
Bộ phận quản lý thông tin Card Visit – Leaflet của công ty TNHH du lịch và dịch vụ Việt Nam Của Tôi.
* Thời gian khảo sát :
Từ ngày 06/01/2008 đến ngày 05/03/2008.
* Kết quả khảo sát :
- Môi trường tổ chức :
+ Môi trường pháp lý : là một bộ phận nằm trong phòng hành chính – tổng hợp của Công ty TNHH du lịch và dịch vụ Việt Nam Của Tôi.
+ Loại hình hoạt động : thực hiện chức năng nghiệp vụ quản lý nhằm mục tiêu kinh doanh.
+ Lịch sử : ra đời cùng với sự thành lập của công ty.
+ Thông tin địa lý : bộ phận có vị trí tại tầng 3 – trụ sở chính của Công ty TNHH du lịch và dịch vụ Việt Nam của tôi, địa chỉ tại số 14, 267/2/157 đường Hoàng Hoa Thám, phường Liễu Giai, quận Ba Đình, thành phố Hà Nội.
- Môi trường vật lý :
+ bộ phận quản lý Card Visit – Leaflet có 1 máy tính được nối mạng LAN của công ty.
+ Ngoài máy tính, mỗi cán bộ có một ngăn riêng dùng để lưu trữ Card Visit, Leaflet, giấy tờ liên quan.
- Môi trường kỹ thuật :
+ Tình trạng tin học hóa: thủ công hoàn toàn. Công việc do 2 cán bộ phòng hành chính – tổng hợp đảm nhận. Việc quản lý các thông tin trên tấm Card Visit và Leaflet được quản lý hoàn toàn thủ công, mỗi một tấm thẻ được đánh mã và theo dõi trực quan. Do đó rất khó khăn cho việc quản lý của doanh nghiệp.
+ Phần cứng : các máy tính PC có cấu hình như sau :
Màn hình : 17 inches.
CPU : Intel Cleron 2.13 Ghz.
RAM: 256 MB.
Ổ cứng: 40 GB.
Hỗ trợ in ấn: máy in Canon
+ Phần mềm:
Hệ điều hành: Window XP Professional SP 2
Tin học văn phòng: Microsoft Office 2003, bộ gõ Unikey 4.0….
+ Trình độ cán bộ: thành thạo tin học văn phòng, đáp ứng nhu cầu công việc.
3.1.1.2 Yêu cầu chức năng
Phần mềm thiết kế được phải đáp ứng các yêu cầu về mặt chức năng như sau:
- Chức năng quản lý dữ liệu : quản lý thông tin trong các danh mục dữ liệu.
- Chức năng quản lý thẻ : quản lý Card Visit (thông tin về cá nhân), quản lý Leaflet (thông tin về tổ chức : khách sạn, nhà hàng, sân golf, công ty vận tải…).
- Chức năng lập báo cáo : Tổng hợp dữ liệu và xuất báo cáo theo yêu cầu của giám đốc và nhân viên quản lý các cấp.
- Chức năng cập nhật số liệu : tự động cập nhật dữ liệu giữa các bảng dữ liệu có quan hệ.
3.1.1.3 Yêu cầu phi chức năng
- Yêu cầu kỹ thuật :
+ Các máy tính có cấu hình vừa phải phù hợp với yêu cầu xử lý công việc văn phòng.
+ Ngôn ngữ lập trình Visual Basic, phiên bản 6.0.
- Yêu cầu khác :
+ Yêu cầu về bảo mật : phần mềm phải có khả năng lưu trữ dữ liệu an toàn.
+ Yêu cầu về tính mở: phần mềm có khả năng mở rộng, nâng cấp.
+ Yêu cầu về giao diện: giao diện tiếng Việt chuẩn, các màn hình xử lý cơ bản phải có sự tương đồng về hình thức, các tiêu đề thông báo phải rõ ràng, dễ hiểu.
* Giải pháp thực hiện:
- Giải pháp kĩ thuật: Phần mềm giúp người dùng đơn giản hóa các thao tác để người sử dụng có thể thực hiện một cách dễ dàng nhất. Đặc biệt, công việc mà nhân viên quản lý phải thực hiện thủ công nay sẽ được tin học hóa.
- Giải pháp giao diện: Phần mềm sử dụng tiếng Việt, có giao diện thân thiện với người dùng, kể cả nhân viên có trình độ tin học trung bình. Trong quá trình thiết kế phần mềm có sử dụng một số công cụ hỗ trợ thiết kế giao diện đảm bảo tính thẩm mĩ và tiện lợi khi sử dụng.
3.1.2 Sơ đồ chức năng của HTTT quản lý thông tin Card Visit – LeafletHình 3.1: Sơ đồ chức năng kinh doanh BFD
QUẢN LÝ THÔNG TIN CARD VISIT - LEAFLET
Hệ thống
Danh mục
DM Website
Đăng nhập
Thoát
Hướng dẫn sử dụng phần mềm
BC danh mục Website
Quản lý Leaflet
Quản lý người sử dụng
DM Tỉnh Thành Phố
BC danh sách tỉnh thành
Quản lý Card Visit
Giới thiệu về phần mềm
BC Card Visit
BC Leaflet
Quản lý dữ liệu
Báo cáo
Trợ giúp
3.1.3 Sơ đồ luồng dữ liệu DFD
3.1.3.1 Sơ đồ DFD mức ngữ cảnh
Giám đốc
Tour-guide Office
Bộ phận quản lý thông tin (phòng HC-TH)
HTTT quản lý Card Visit - Leaflet
Thẻ
Thông tin thẻ
Yêu cầu báo cáo
Báo cáo
Yêu cầu thông tin
Thông tin
Yêu cầu thông tin
Thông tin
Hình 3.2: Sơ đồ DFD mức ngữ cảnh
3.1.3.2 Sơ đồ DFD mức 0
Hình 3.3: Sơ đồ DFD mức 0
`
3.1.3.3 Sơ đồ DFD mức 1 – mức quản lý danh mục :
Hình 3.4: Sơ đồ DFD mức 1 – mức quản lý danh mục
Thông tin về tổ chức/cá nhân
Tour-guide Office
1.2
Phân loại thông tin danh mục
1.3
Cập nhật thông tin danh mục
1.4
Cập nhật nhu cầu thông tin danh mục
P. HC-TH
Thông tin đã thu thập
Thông tin sau khi phân loại
Dữ liệu danh mục
Nhu cầu
thông tin danh mục
1.1
Thu thập thông tin về tổ chức/
cá nhân
3.1.3.4 Sơ đồ DFD mức 1 – mức quản lý Card Visit :
Thông tin về Card Visit
Tour-guide Office
1.2
Phân loại thông tin Card Visit
1.3
Cập nhật thông tin Card Visit
1.4
Cập nhật nhu cầu thông tin Card Visit
P. HC-TH
Thông tin đã thu thập
Thông tin sau khi phân loại
Dữ liệu Card Visit
Nhu cầu
thông tin Card Visit
1.1
Thu thập thông tin về
Card Visit
Hình 3.5: Sơ đồ DFD mức 1 – mức quản lý Card Visit
3.1.3.5 Sơ đồ DFD mức 1 – mức quản lý Leaflet :
Thông tin về Leaflet
Tour-guide Office
1.2
Phân loại thông tin Leaflet
1.3
Cập nhật thông tin Leaflet
1.4
Cập nhật nhu cầu thông tin
Leaflet
P. HC-TH
Thông tin đã thu thập
Thông tin sau khi phân loại
Dữ liệu Leaflet
Nhu cầu
thông tin Leaflet
1.1
Thu thập thông tin về tổ chức
Hình 3.6: Sơ đồ DFD mức 1 – mức quản lý Leaflet
3.1.3.6 Sơ đồ DFD mức 1 – mức lập báo cáo :
Hình 3.7: Sơ đồ DFD mức 1 – mức lập báo cáo
Dữ liệu danh mục
Dữ liệu Card Visit
Dữ liệu Leaflet
Giám đốc/BP quản lý thông tin
4.1
Truy xuất dữ liệu
4.2
Hiển thị báo cáo
Báo cáo theo yêu cầu
Yêu cầu
báo cáo
3.2 THIẾT KẾ HỆ THỐNG THÔNG TIN
3.2.1 Thiết kế CSDL
3.2.1.1 Các bảng CSDL
* Bảng danh mục tỉnh thành phố
Hình 3.8: Bảng danh mục tỉnh thành phố
* Bảng danh mục Website
Hình 3.9: Bảng danh mục Website
Bảng dữ liệu Leaflet
Hình 3.10: Bảng dữ liệu Leaflet
* Bảng dữ liệu Card Visit
Hình 3.11: Bảng dữ liệu Card Visit
3.2.1.2 Sơ đồ quan hệ thực thể
Hình 3.12: Sơ đồ quan hệ thực thể ( Relasion Ships )
3.2.2 Thiết kế giải thuật
3.2.2.1 Giải thuật đăng nhập chương trình
Hình 3.13: Giải thuật đăng nhập hệ thống
Bắt đầu
i = 0
Nhập tên người dùng và mật khẩu
Kiểm tra tên, mật khẩu
S
Đ
Thông báo sai mật khẩu
i = i + 1
i = 3
Đ
S
Thoát khỏi chương trình
Kết thúc
Vào form chính
3.2.2.2 Giải thuật thêm mới một bản ghi
Hình 3.14: Giải thuật thêm mới một bản ghi
Bắt đầu
Nhập thông tin cần thiết
Hiển thị lỗi
S
Đ
Thêm tiếp?
Kết thúc
Cập nhật lại
Dữ liệu hợp lệ
Đ
S
Đ
KT dữ liệu đã tồn tại hay chưa
Ghi thông tin vừa cập nhật vào CSDL
S
Hiển thị lỗi
S
Đ
3.2.2.3 Giải thuật sửa một bản ghi
Bắt đầu
Chọn danh mục cần sửa
Sửa lại thông tin
Dữ liệu hợp lệ
Ghi lại thông tin đã sửa
Đ
S
Hiển thị lỗi
Có sửa tiếp k?
S
Kết thúc
Đ
Sửa lại
Đ
S
Hình 3.15: Giải thuật sửa một bản ghi
3.2.2.4 Giải thuật xóa một bản ghi
Bắt đầu
Chọn danh mục cần xóa
Hiện thông tin cần xóa
Đồng ý xóa?
Đ
Xóa bản ghi
Kết thúc
S
có xóa tiếp k?
S
Đ
Hình 3.16: Giải thuật xóa một bản ghi
3.2.2.5 Giải thuật in báo cáo
BĐ
Nhập danh mục báo cáo
Hiện báo cáo
đồng ý in ?
Đ
In báo cáo
S
Có in tiếp k?
Đ
Kết thúc
S
Hình 3.17: Giải thuật in báo cáo
3.2.3 Thiết kế giao diện
3.2.3.1 Các form chương trình
* Form Đăng nhập
Hình 3.18: Giao diện đăng nhập chương trình
Giao diện đăng nhập khi mở chương trình. Người dùng gõ tên vào phần Username, gõ mật khẩu vào phần Password. Sau đó chọn Login. Nếu muốn thoát khỏi cửa sổ đăng nhập chọn Logout.
Khi chọn tên đăng nhập, người sử dụng có thể chọn tên trên hộp danh sách hoặc gõ trực tiếp tên đăng nhập. Chỉ những người dùng được admin phân quyền mới có thể đăng nhập thành công vào chương trình khi gõ đúng mật khẩu đăng nhập hệ thống.
Sau khi đăng nhập thành công sẽ có thông báo xuất hiện như sau :
Hình 3.19: thông báo sau đăng nhập
Chọn OK để tiếp tục chương trình.
* Giao diện chính của chương trình : Form main
Hình 3.20: Giao diện chính của chương trình
Trên đây là giao diện chính của phần mềm. Trên menu là các chức năng chính của phần mềm.
* Giao diện chính của chương trình – chức năng hệ thống
Hình 3.21: chức năng hệ thống
* Giao diện chính của chương trình – chức năng quản lý dữ liệu
Hình 3.22: chức năng quản lý dữ liệu
* Giao diện chính của chương trình – chức năng quản lý thẻ
Hình 3.23: chức năng quản lý thẻ
* Giao diện chính của chương trình – chức năng báo cáo
Hình 3.24: chức năng báo cáo
* Giao diện chính của chương trình – chức năng trợ giúp
Hình 3.25: chức năng trợ giúp
* Giao diện thêm người sử dụng mới
Hình 3.26: Giao diện thêm người sử dụng mới
* Giao diện xóa người sử dụng
Hình 3.27: Giao diện xóa người sử dụng
* Giao diện đổi mật khẩu
Hình 3.28: Giao diện thay đổi mật khẩu
* Danh mục tỉnh thành phố
Hình 3.29: Giao diện danh mục tỉnh thành phố
* Danh mục Website
Hình 3.30: Giao diện danh mục Website
* Giao diện quản lý Card Visit
Hình 3.31: giao diện quản lý Card Visit
* Giao diện quản lý Leaflet – thông tin về tổ chức
Hình 3.32: Giao diện quản lý Leaflet
3.2.3.1 Các mẫu báo cáo
* Báo cáo danh mục tỉnh thành phố:
Hình 3.33: Báo cáo danh mục tỉnh thành phố
* Báo cáo danh mục Website:
Hình 3.34: báo cáo danh mục Website
* Báo cáo thông tin Card Visit – thông tin cá nhân
Hình 3.35: Báo cáo thông tin Card Visit
KẾT LUẬN
Trong thời điểm hiện nay, Việt Nam đã gia nhập WTO tạo nhiều điều kiện thuận lợi cho ngành du lịch và giao thương quốc tế. Tất cả các công ty du lịch đều có chung một lợi thế và thách thức nhưng chỉ có một số ít công ty có khả năng biến thách thức thành lợi thế cho mình.
MonVietNam là một công ty du lịch tuổi đời còn trẻ nhưng khả năng phát triển trong lĩnh vực du lịch và dịch vụ là rất lớn. Không phải công ty du lịch nào cũng làm được điều đó, để khách hàng thực sự cảm thấy công ty tổ chức tour là người thân, có thể gọi điện nhờ tư vấn, thắc mắc, hay là kể chuyện về chuyến đi bất cứ vào lúc nào. Tất cả những cố gắng nỗ lực của giám đốc và nhân viên công ty cho đến nay là sự tin cậy của bạn bè khắp nơi đã từng đến với MonVietNam. Đó là cơ sở vững chắc cho sự thành công của doanh nghiệp trên con đường dài phía trước.
Sau thời gian thực tập tại MonVietNam, tôi thực sự mong muốn được đóng góp một góc nhỏ nào đó vào sự thành công của công ty. Đề tài nghiên cứu như tôi đã trình bày trên đây hoàn toàn nằm trong khả năng và giới hạn thực tế cho phép. Phần mềm này sau khi hoàn tất sẽ được đưa vào sử dụng tại công ty.
Do thời gian thực tập thực tế tại công ty cũng như trình độ chuyên môn và kinh nghiệm thực tế có hạn nên chắc chắn phần mềm thiết kế cũng như báo cáo chuyên đề này còn nhiều thiếu sót. Rất mong được sự thông cảm và góp ý của thầy giáo và các bạn.
Cuối cùng, tôi xin chân thành cảm ơn thầy giáo Đoàn Quốc Tuấn đã tận tình chỉ bảo và định hướng trong cách học và cách làm. Xin chân thành cảm ơn sự giúp đỡ nhiệt tình từ phía công ty: ông Đỗ Anh Tuấn và các anh chị trong công ty đặc biệt là phòng hành chính – tổng hợp đã giúp đỡ tôi hoàn thành báo cáo này.
Hà Nội, ngày 25 tháng 4 năm 2008
DANH MỤC TÀI LIỆU THAM KHẢO
TIẾNG VIỆT:
TS.Trần Công Uẩn, “Giáo trình cơ sở dữ liệu 1,2”, NXB Thống Kê, Hà Nội.
TS.Trương Văn Tú – TS.Trần Thị Song Minh, “Giáo trình Hệ Thống Thông Tin Quản Lý”, NXB ĐHKTQD, Hà Nội.
Tài liệu phòng Hành Chính – Tổng Hợp, công ty TNHH Du lịch và Dịch vụ Việt Nam Của Tôi, tài liệu nội bộ, Hà Nội.
Giấy phép đăng kí kinh doanh, tài liệu phòng Giám Đốc, công ty TNHH Du lịch và Dịch vụ Việt Nam Của Tôi, Hà Nội.
TIẾNG PHÁP
1. Trang web www.monvietnam.net
PHỤ LỤC
Mã form Login ( form đăng nhập )
// mã nút Thoát
Private Sub cmd_Thoat_Click()
Unload Me
End Sub
// Mã lệnh nút đăng nhập
Private Sub CmdDangNhap_Click()
Dim Found As Boolean
UserName = cmbUsername.Text
If txtPassword.Text = "" Then
MsgBox "Hay nhap mat khau!", vbInformation, "Mat khau sai"
txtPassword.SetFocus
Else
AdodcPass.Recordset.MoveFirst
Do Until AdodcPass.Recordset.EOF Or Found
If AdodcPass.Recordset.Fields("Username") = cmbUsername.Text And AdodcPass.Recordset.Fields("Password") = txtPassword.Text Then
Found = True
Else
AdodcPass.Recordset.MoveNext
End If
Loop
If Found = True Then
MsgBox (" Chµo mõng b¹n ®Õn víi phÇn mÒm BasicDataInfo")
FrmMain.Show
Unload Me
Else
MsgBox "Mat khau khong hop le", vbExclamation, "Mat khau sai"
txtPassword.Text = ""
End If
End If
End Sub
// Cập nhật thông tin
Private Sub Form_Load()
On Error GoTo ErrHand:
txtPassword.Text = ""
AdodcPass.Refresh
AdodcPass.Recordset.Requery
AdodcPass.Recordset.MoveFirst
Do Until AdodcPass.Recordset.EOF
cmbUsername.AddItem AdodcPass.Recordset.Fields("Username")
AdodcPass.Recordset.MoveNext
Loop
cmbUsername.ListIndex = 0
Exit Sub
ErrHand:
MsgBox Err.Description, vbInformation, "Error"
End Sub
// Thủ tục chuyển phím Tab thành phím Enter
Private Sub cmbUsername_KeyPress(keyASCII As Integer)
If keyASCII = 13 Then
txtPassword.SetFocus
End If
End Sub
Private Sub txtPassword_KeyPress(keyASCII As Integer)
If keyASCII = 13 Then
CmdDangNhap.SetFocus
End If
End Sub
Mã form AddUser (thêm người sử dụng mới)
Private Sub cmdAdd_Click()
On Error GoTo ErrorHandler
Dim Found As Boolean
If txtUsername.Text = "" Or txtPass.Text = "" Or txtConfirmPass.Text = "" Or TxtPassAdmin.Text = "" Then
MsgBox "Please fill in all non-optional fields", vbInformation, "Add User | Error"
ElseIf txtConfirmPass.Text txtPass.Text Then
MsgBox "Passwords dont match", vbInformation, "Add User | Error"
txtPass.Text = ""
txtConfirmPass.Text = ""
txtPass.SetFocus
ElseIf Len(txtUsername.Text) > 20 Then
MsgBox "Username is too long, please shorten it", vbInformation, "Add User | Error"
Call CleanUp
Exit Sub
ElseIf Len(txtPass.Text) < 6 Then
MsgBox "Your password should have at least 6 characters"
txtPass.Text = ""
txtConfirmPass.Text = ""
txtPass.SetFocus
Else
AdodcAdmin.Refresh
AdodcAdmin.Recordset.MoveFirst
Do Until AdodcAdmin.Recordset.EOF Or Found
If AdodcAdmin.Recordset.Fields("Group") = "Admin" And AdodcAdmin.Recordset.Fields("Password") = TxtPassAdmin.Text Then
Found = True
Else
AdodcAdmin.Recordset.MoveNext
End If
Loop
If Found = True Then
FrmLogin.AdodcPass.Recordset.AddNew
FrmLogin.AdodcPass.Recordset.Fields("Username") = txtUsername.Text
FrmLogin.AdodcPass.Recordset.Fields("Password") = txtPass.Text
FrmLogin.AdodcPass.Recordset.Fields("Group") = "User"
FrmLogin.AdodcPass.Recordset.Update
FrmLogin.AdodcPass.Refresh
MsgBox "User added", vbInformation, " Add User | Status"
CleanUp
Else
MsgBox "Invalid password admin", vbExclamation, "Invalid Password"
TxtPassAdmin.Text = ""
End If
End If
ErrorHandlerExit:
Exit Sub
ErrorHandler:
MsgBox ("This username is already existed!")
txtUsername.Text = ""
Resume ErrorHandlerExit
End Sub
Private Sub CleanUp()
TxtPassAdmin.Text = ""
txtUsername.Text = ""
txtPass.Text = ""
txtConfirmPass.Text = ""
TxtPassAdmin.SetFocus
End Sub
Private Sub Cmdthoat_Click()
Unload Me
FrmMain.Show
End Sub
Private Sub txtconfirmpass_Change()
If txtConfirmPass.Text = txtPass.Text Then
LblStatus.Caption = "MËt khÈu hîp nhau!"
Else
LblStatus.Caption = "MËt khÈu kh«ng hîp nhau!"
End If
End Sub
Private Sub txtPassAdmin_KeyPress(keyASCII As Integer)
If keyASCII = 13 Then
txtUsername.SetFocus
End If
End Sub
Private Sub TxtUsername_KeyPress(keyASCII As Integer)
If keyASCII = 13 Then
txtPass.SetFocus
End If
End Sub
Private Sub TxtPass_KeyPress(keyASCII As Integer)
If keyASCII = 13 Then
txtConfirmPass.SetFocus
End If
End Sub
Private Sub txtConfirmPass_KeyPress(keyASCII As Integer)
If keyASCII = 13 Then
cmdAdd.SetFocus
End If
End Sub
Private Sub cmdAdd_KeyPress(keyASCII As Integer)
If keyASCII = 13 Then
cmdThoat.SetFocus
End If
End Sub
Mã form PassConfig (Đổi mật khẩu)
Private Sub cmd_Thoat_Click()
Unload Me
FrmMain.Show
End Sub
Private Sub cmdOK_Click()
Dim Found As Boolean
Dim Change As Boolean
Dim Box As VbMsgBoxResult
FrmLogin.AdodcPass.Refresh
If cmbUsername.Text = "" Or txtCurrPassword.Text = "" Or txtConfirmPass.Text = "" Or txtNewPass.Text = "" Then
MsgBox "Please fill in all non-optional fields", vbInformation, "Password configuration | Error"
ElseIf txtConfirmPass.Text txtNewPass.Text Then
MsgBox "Passwords dont match", vbInformation, "Password configuration | Error"
txtNewPass.Text = ""
txtConfirmPass.Text = ""
txtNewPass.SetFocus
ElseIf Len(txtNewPass.Text) < 6 Then
MsgBox "Your password should have at least 6 characters"
txtNewPass.Text = ""
txtConfirmPass.Text = ""
txtNewPass.SetFocus
Else
Box = MsgBox("Are you sure?", vbQuestion + vbYesNo, "Change user password")
If Box = vbYes Then
FrmLogin.AdodcPass.Refresh
FrmLogin.AdodcPass.Recordset.MoveFirst
Do Until FrmLogin.AdodcPass.Recordset.EOF Or Found
If FrmLogin.AdodcPass.Recordset.Fields("Username") = cmbUsername.Text And FrmLogin.AdodcPass.Recordset.Fields("Password") = txtCurrPassword.Text Then
Found = True
Else
FrmLogin.AdodcPass.Recordset.MoveNext
End If
Loop
If Found = True Then
FrmLogin.AdodcPass.Refresh
FrmLogin.AdodcPass.Recordset.MoveFirst
Do Until FrmLogin.AdodcPass.Recordset.EOF Or Change
If FrmLogin.AdodcPass.Recordset.Fields("Password") = txtCurrPassword.Text Then
FrmLogin.AdodcPass.Recordset.Fields("Password") = txtNewPass.Text
Change = True
Else
FrmLogin.AdodcPass.Recordset.MoveNext
End If
Loop
Else
MsgBox "Incorrect Old Password ", vbExclamation, "Incorrect Old Password"
txtCurrPassword.Text = ""
txtCurrPassword.SetFocus
End If
If Change = True Then
MsgBox "Password changed." & vbCrLf & vbCrLf & "Password will take effect next time the application is started.", vbInformation, "Password Status"
FrmLogin.AdodcPass.Recordset.Update
Call CleanUp
End If
FrmLogin.AdodcPass.Refresh
End If
End If
End Sub
Private Sub CleanUp()
txtCurrPassword.Text = ""
txtNewPass.Text = ""
txtConfirmPass.Text = ""
End Sub
Private Sub Form_Load()
cmbUsername.Clear
FrmLogin.AdodcPass.Recordset.MoveFirst
Do Until FrmLogin.AdodcPass.Recordset.EOF
cmbUsername.AddItem FrmLogin.AdodcPass.Recordset.Fields("Username")
FrmLogin.AdodcPass.Recordset.MoveNext
Loop
cmbUsername.ListIndex = 0
End Sub
Private Sub txtconfirmpass_Change()
If txtConfirmPass.Text = txtNewPass.Text Then
lblStatus.Caption = "MËt khÈu hîp nhau!"
Else
lblStatus.Caption = "MËt khÈu kh«ng hîp nhau!"
End If
End Sub
Private Sub cmbUsername_KeyPress(keyASCII As Integer)
If keyASCII = 13 Then
txtCurrPassword.SetFocus
End If
End Sub
Private Sub txtCurrPassword_KeyPress(keyASCII As Integer)
If keyASCII = 13 Then
txtNewPass.SetFocus
End If
End Sub
Private Sub txtNewPass_KeyPress(keyASCII As Integer)
If keyASCII = 13 Then
txtConfirmPass.SetFocus
End If
End Sub
Private Sub txtConfirmPass_KeyPress(keyASCII As Integer)
If keyASCII = 13 Then
cmdOK.SetFocus
End If
End Sub
Private Sub txtcmdOK_KeyPress(keyASCII As Integer)
If keyASCII = 13 Then
cmd_Thoat.SetFocus
End If
End Sub
Mã form Main
Private Sub adduser_Click()
FrmAddUser.Show
End Sub
Private Sub deluser_Click()
FrmDelUser.Show
End Sub
Private Sub hotkey_Click()
FrmLogin.Show
End Sub
Private Sub mnuBC3_Click()
BCDMTinhThanh.Show
End Sub
Private Sub mnuBC4_Click()
BCDMWebsite.Show
End Sub
Private Sub mnuBCCard_Click()
BCCard.Show
End Sub
Private Sub mnuC_Click()
FrmCardVisit.Show
End Sub
Private Sub mnudmk_Click()
FrmPassConfig.Show
End Sub
Private Sub mnuL_Click()
FrmLeaflet.Show
End Sub
Private Sub mnuThoat_Click()
Unload Me
End Sub
Private Sub mnuTP_Click()
FrmDMTinhThanh.Show
End Sub
Private Sub mnuweb_Click()
FrmDMWeb.Show
End Sub
Private Sub Timer1_Timer()
Dim x As String
Dim Y As String
x = Left(Label1.Caption, 1)
Y = Right(Label1.Caption, Len(Label1.Caption) - 1)
Label1.Caption = Y + x
End Sub
Mã form danh mục tỉnh thành
Private Sub Cmdthoat_Click(Index As Integer)
Unload Me
FrmMain.Show
End Sub
Private Sub CmdLuu_Click(Index As Integer)
AdoDMTinhThanh.Recordset.Save
GrdDMTinhThanh.AllowUpdate = False
End Sub
Private Sub CmdSua_Click(Index As Integer)
Dim TraLoi As Integer
TraLoi = MsgBox("B¹n Muèn Söa Gi¸ TrÞ Míi?")
If TraLoi = vbNo Then
AdoDMTinhThanh.Refresh
Exit Sub
Else
GrdDMTinhThanh.AllowUpdate = True
AdoDMTinhThanh.Recordset.Update
End If
End Sub
Private Sub CmdThem_Click(Index As Integer)
AdoDMTinhThanh.Recordset.AddNew
GrdDMTinhThanh.AllowUpdate = True
GrdDMTinhThanh.SetFocus
Exit_Them_click:
Exit Sub
Err_Them_click:
MsgBox Err.Description
Resume Exit_Them_click
End Sub
Private Sub CmdXoa_Click(Index As Integer)
Dim TraLoi As Integer
TraLoi = MsgBox("B¹n Muèn Xo¸ B¶n Ghi Nµy ?", vbYesNo, "MonVietNam")
If TraLoi = vbNo Then
GrdDMTinhThanh.AllowDelete = False
Else
GrdDMTinhThanh.AllowDelete = True
AdoDMTinhThanh.Recordset.Delete
End If
End Sub
Private Sub cpiccuoi_Click()
AdoDMTinhThanh.Recordset.MoveLast
End Sub
Private Sub Cpicdau_Click()
AdoDMTinhThanh.Recordset.MoveFirst
End Sub
Private Sub Cpicsau_Click()
If AdoDMTinhThanh.Recordset.EOF = False Then
AdoDMTinhThanh.Recordset.MoveNext
Else
MsgBox "Kh«ng Cßn B¶n Ghi Nµo N÷a ", vbInformation + vbOKOnly
AdoDMTinhThanh.Recordset.MoveLast
End If
End Sub
Private Sub cpictruoc_Click()
If AdoDMTinhThanh.Recordset.BOF = False Then
AdoDMTinhThanh.Recordset.MovePrevious
Else
MsgBox "Kh«ng Cßn B¶n Ghi Nµo N÷a ", vbInformation + vbOKOnly
AdoDMTinhThanh.Recordset.MoveFirst
End If
End Sub
Mã form Quản lý Card Visit
Private Sub Cmdthoat_Click(Index As Integer)
Unload Me
FrmMain.Show
End Sub
Private Sub CmdLuu_Click(Index As Integer)
AdodcCard.Recordset.Save
DataGrid1.AllowUpdate = False
End Sub
Private Sub CmdSua_Click(Index As Integer)
Dim TraLoi As Integer
TraLoi = MsgBox("B¹n Muèn Söa Gi¸ TrÞ Míi?")
If TraLoi = vbNo Then
AdodcCard.Refresh
Exit Sub
Else
DataGrid1.AllowUpdate = True
AdodcCard.Recordset.Update
End If
End Sub
Private Sub CmdThem_Click(Index As Integer)
AdodcCard.Recordset.AddNew
DataGrid1.AllowUpdate = True
DataGrid1.SetFocus
Exit_Them_click:
Exit Sub
Err_Them_click:
MsgBox Err.Description
Resume Exit_Them_click
End Sub
Private Sub CmdXoa_Click(Index As Integer)
Dim TraLoi As Integer
TraLoi = MsgBox("B¹n Muèn Xo¸ B¶n Ghi Nµy ?", vbYesNo, "MonVietNam")
If TraLoi = vbNo Then
DataGrid1.AllowDelete = False
Else
DataGrid1.AllowDelete = True
AdodcCard.Recordset.Delete
End If
End Sub
Private Sub cpiccuoi_Click()
AdodcCard.Recordset.MoveLast
End Sub
Private Sub Cpicdau_Click()
AdodcCard.Recordset.MoveFirst
End Sub
Private Sub Cpicsau_Click()
If AdodcCard.Recordset.EOF = False Then
AdodcCard.Recordset.MoveNext
Else
MsgBox "Kh«ng Cßn B¶n Ghi Nµo N÷a ", vbInformation + vbOKOnly
AdodcCard.Recordset.MoveLast
End If
End Sub
Private Sub cpictruoc_Click()
If AdodcCard.Recordset.BOF = False Then
AdodcCard.Recordset.MovePrevious
Else
MsgBox "Kh«ng Cßn B¶n Ghi Nµo N÷a ", vbInformation + vbOKOnly
AdodcCard.Recordset.MoveFirst
End If
End Sub
Các file đính kèm theo tài liệu này:
- 33125.doc