Chuyên đề Xây dựng phần mềm quản trị quan hệ khách hàng tại công ty công nghệ tin học Tinh Vân

Cùng với sự phát triển của công nghệ thông tin, tin học đang được áp dụng ngày càng nhiều vào đời sống thực tế và ngày càng trở nên không thể thiếu được trong quá trình phát triển của xã hội nói chung và của các công ty nói riêng. Lĩnh vực quản lý quan hệ khách hàng là một trong những lĩnh vực đòi hỏi tin học hoá cao. Với số lượng khách hàng lớn, đa dạng nếu dùng phương pháp thủ công sẽ tốn rất nhiều công sức và thời gian nhưng kết quả đạt được không cao. Ngược lại khi áp dụng tin học vào việc quản lý sẽ giảm bớt rất nhiều chi phí không đáng có mà hiệu quả công việc lại rất lớn Chính vì vậy, quản lý quan hệ khách hàng là một đề tài đã được nghiên cứu và xây dựng rất nhiều. Tuy nhiên, tuỳ theo yêu cầu của mỗi công ty, doanh nghiệp mà cách thức quản lý là khác nhau. Do đó, đề tài vẫn là một vấn đề mới mẻ cần được nghiên cứu và phát triển.

doc81 trang | Chia sẻ: aloso | Lượt xem: 1691 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Chuyên đề Xây dựng phần mềm quản trị quan hệ khách hàng tại công ty công nghệ tin học Tinh Vân, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
dữ liệu về khách hàng và thông tin kết quả của các xử lý đã được thực hiện. 2.1.2. Phân loại hệ thống thông tin trong tổ chức Có hai cách phân loại các HTTT trong tổ chức hay được dung. Một cách lấy mục đích phục vụ của thông tin đầu ra để phân loại còn một cách lấy nghịêp vụ mà nó phục vụ làm cơ sở để phân loại. *Phân loại theo mục đích phục vụ của thông tin đẩu ra: HTTT xử lý giao dịch TPS (Transaction Processing System). HTTT xử lý giao dịch là một HTT nghiệp vụ. Nó phục vụ cho hoạt động cảu các tổ chức ở mức vận hành. Nó thực hiện việc ghi nhận các giao dịch hang ngày cần thiết cho hoạt động nghiệp vụ của tổ chức. HTTT quản lý MIS (Management Information System). HTTT quản lý trợ giúp cho các hoạt đọng quản lý cảu tổ chức như lập kế hoạch, kiểm tra thực hiện, tổng hợp và làm báo cáo, làm các quyết định quản lý trên cơ sở các quy trình thủ tục cho trước. Hệ thống trợ giúp ra quyết định DSS (Decision Support System). Hệ thống là một hệ máy tính được sử dụng ở mức quản lý của tổ chức. Nó có nhiệm vụ tổng hợp các dữ liệu và tiến hành phân tích bằng các mô hình để trợ giúp ra quyết định cho các nhà quản lý. Hệ thống chuyên gia ES (Expert System). Hệ thống chuyên gia là một hệ thống trợ giúp ra quyết định ở mức chuyên sâu. Ngoài những kiến thức, kinh nghiệm của các chuyên gia và các luật suy diễn nó còn có thể trang bị những thiết bị cảm nhận để thu các thông tin từ những nghuồn khác nhau. hệ thống có thể xử lý và dựa vào các luật suy diễn để dưa ra quyết định rất hữu ích và thiết thực. HTTT tăng cường khả năng cạnh tranh ISCA ( Information System for Competitive Advantage). HTTT loại này được sử dụng như một trợ giúp chiến lược. HTTT tăng cường khả năng cạnh tranh được thiết lập cho người sử dụng là những người ngoài tổ chức, có thể là một khách hang, một người cung cấp và cũng xó thể là một tổ chức khác của cùng nghành công nghiệp,…(trong khi ở bốn loại hệ thống trên người sử dụng chử yếu là các bộ phận trong tổ chức. Hệ thống là công cụ đắc lực thực hiện các ý đồ chiến lược ( vì vậy có thể gọi là HTTT chiến lược). * Phân loại HTTT trong tổ chức doanh nghiệp. Các thông tin trong tổ chức được phân chia theo cấp quản lý và trong mỗi cấp quản lý chúng lại được chia theo nghiệp vụ mà chúng phục vụ. Theo cách phân chia này có 3 loại HTTT đó là: HTTT chiến lược, HTTT chiến thuật và HTTT tác nghiệp. Chiến lược Chiến thuật Tác nghiệp Tài chính Marketing Nhân lực Kinh doanh Văn phòng kế toán và sản xuất HTTT quản trị quan hệ khách hàng là hệ thống thông tin kinh doanh và sản xuất. Hệ thống này cung cấp các thông tin đẩu ra có tính tin học hoá cao. Đó là các báo cáo về khách hàng và dự án đang thực hiện. 2.1.3. Mô hình biểu diễn HTTT Cùng một hệ thống thông tin có thể được mô tả khác nhau tuỳ theo quan điểm của người mô tả. Có ba mô hình đã dược đề cập tới để mô tả cùng một HTTT, đó là: mô hình logic, mô hình vật lý ngoài và mô hình vật lý trong. Mô hình logic: mô tả hệ thống làm gì? Dữ liệu mà nó thu thập, xử lý phải thực hiện, các kho chứa kết quả hoặc dữ liệu để lấy ra cho các xử lý và thông tin mà hệ thống sản sinh ra. Ví dụ: Phòng kinh doanh muốn có báo cáo chính xác về số lượng khách hàng tham gia vào dự án hoặc tiến độ mà dự án đang được thực hiện. Mô hình vật lý ngoài: Chú ý tới những khía cạnh nhìn hấy được của hệ thống như là các vật mang tin và mang kết quả cũng như hình thức vủa đầu vào và của đầu ra, phương tiện để thao tác với hệ thống… Ví dụ: Tại phòng kinh doanh người ta có hồ sơ của khách hàng bao gồm đầy đủ các thông tin về khách hàng đó cũng như thông tin về dự ná mà khách hàng tham gia ký hợp đồng. Khi tiến hành ký hợp đồng nhân viên phòng kinh doanh sẽ nghiên cứu hồ sơ khách hàng và đưa ra một bản hợp đòng một cách hợp lý nhất. Đảm bảo cho việc thực thi dự án đạt hiệu quả cao nhất. Mô hình vật lý trong: lien quan tới những khía cạnh vật lý của hệ thống, tuy nhiên không phải là cái nhìn của người sử dụng mà là của nhân viên kỹ thuật. Ví dụ: Phục vụ cho công việc lưu trữ hồ sơ khách hàng và các thông tin về dự án đang thực hiện người ta dùng máy vi tính. Đó là các máy tính được trang bị đĩa cứng để lưu trữ dữ liệu, đĩa cứng dung lượng 40GB, bộ nhớ trong 512MB. Hệ thống được thực hiện trong môi trường .NET và có Internet Explorer. Ba mô hình trên có độ ổn định khác nhau, mô hình logic là ổn định nhất và mô hình vật lý trong là biến động nhất. 2.2 Quy trình xây dựng phần mềm ứng dụng cho hệ thống thông tin quản lý 2.2.1.Phưong pháp phát triển hệ thống thông tin: Mục đích chính xác của dự án phát triển một HTTT là có được một sản phẩm đáp ứng nhu cầu của người sử dụng mà nó dược hoà hựp vào trong các hoạt động của tổ chức, chính xác về mặt kỹ thuật, tuân thủ các giới hạn về tài chính và thời gian định trước. Một HTTT là một đối tượng phức tạp, vận động trong môi trường cũng rất phức tạp. Có ba nguyên tắc cơ sở chung để phát triển HTTT. Ba nguyên tắc đó là: Nguyên tắc 1: Sử dụng các mô hình Một HTTT bao gồm ba mô hình: mô hình logic, mô hình vật lý ngoài và mô hình vật lý trong. Bằng cáhc cùng mô tả về một đối tượng chúng ta đã thấy ba mô hình này quan tâm từ những góc độ khác nhau. Nguyên tắc 2: Chuyển từ cái chung sang cái riêng Nguyên tác đi từ cái chung đến cái riêng là một nguyên tắc của sự đơn giản hoá. Để hiểu tốt một hệ thống thí trước hết phải hiểu các mặt chung trước khi xem xét chi tiết. Sự cần thiết áp dụng nguyên tắc này là hiển nhiên. Nguyên tắc 3: chuyển từ mô hình vật lý sang mô hình logic khi phân tích và từ mô hình logic sang mô hình vật lý khi thiết kế Nhiệm vụ phát triển cũng sẽ đơn giản hơn khi sử dụng nguyên tắc chuyển từ mô hình vật lý sang mô hình logic khi phân tích và từ mô hình logic sang mô hình vật lý khi thiết kế. Phân tích bắt đầu từ thu tập dữ liệu về HTTT đang tồn tại. Nguồn dữ liệu chính là những người sử dụng, các tài liệu và quan sát. Cả ba nguồn này cung cấp chủ yếu sự mô tả mô hình vật lý ngoài của hệ thống. “ Hệ thống quản trị quan hệ khách hàng” được xây dựng nhừ vào sự kết hợp của cả 3 nguyên tắc trên. Tuy nhiên nguyên tắc thứ 3 vẫn đóng một vai trò đặc biệt quan trọng. 2.2.2.Các giai đoạn phát triển một HTTT Một hệ thống thông tin dù lớn hay nhỏ khi xây dựng không thể tuỳ tiện làm mà phải tuân thủ theo những giai đoạn nhất định – Giai đoạn phân tích thiết kế. Giai đoạn đánh giá yêu cầu: Mục đích của giai đoạn này là cung cấp cho lãnh đạo tổ chức hoặc những người có trách nhiệm các dữ liệu đích thực để ra quyết định về thời cơ, tính khả thi và hiệu quả của một dự án. Giai đoạn phân tích chi tiết Giai đoạn này được tiến hành sau khi có sự đánh giá thuận lợi về yêu cầu. Mục đích chính của giai đoạn này là hiểu rõ các vấn đề về hệ thống đang nghiên cứu, xác định nhứng nguyên tắc cơ bản đích thực của những vấn đề đó, xác định những đòi hỏi và những rang buộc áp đặt với hệ thống và xác định mục tiêu của HTTT mới phải đạt được. Giai đoạn thiết kế lôgic Giai đoạn này nhằm xác định tất cả cá thành phần logic của một hệ thống thông tin cho phép loại bỏ được các vấn đề của hệ thống thực tế và đạt được những mục tiêu đã được thiết lập ở giai đoạn trớc đó. Mô hình logic của hệ thống mới sẽ bao hàm thông tin mà hệ thống sẽ sản sinh ra(nội dung của output), nội dung của CSDL(các tệp, các quan hệ giữa các tệp), các xử lý và hợp thức hoá sữ phải thực hiện(các xử lý) và các dữ liệu sẽ được nhập vào(các Input). Mô hình logic sẽ phải được người sử dụng xem xét và chuẩn y. Giai đoạn đề xuất các phương án và giải pháp Mô hình logic của hệ thống mới mô tả cái mà hệ thống này sẽ làm. Khi mô hình này được xác định và chuẩn y bởi người sử dụng thì phân tích viên phải xây dựng các phương án và giải pháp khách nhau để cụ thể hoá mô hình logic. Mỗi một phương án khác nhau là một phác hoạ của mô hình vật lý ngoài của hệ thống nhưng chưa phải là một mô tả chi tiết. Giai đoạn thiết kế vật lý ngoài Sau khi chọn được một phương án giải pháp thì giai đoạn này được tiến hành. Thiết kế vật lý bao gồm hai tài liệu cần có đó là: một tài liệu bao gồm chứa tất cả các đặc trưng của hệ tống mới sẽ cần cho việc thực hiện kỹ thuật và tài liệu dành cho người sử dụng và nó mô tả cả phần thủ công và cả những giao diện với phần tin học hoá. Giai đoạn triển khai kỹ thuật hệ thống Kết quả quan trọng nhất của giai đoạn này là phần tin học hoá của HTTT có nghĩa là phần mềm. những người chịu trách nhiệm về giai đoạn này phải cung cấp các tài liệu như các bản hướng dẫn sử dụng và thao tác cũng như các tài liệu mô tả hệ thống. Giai đoạn cài đặt và khai thác Cài đặt và khai thác là công việc chuyển từ hệ thống cũ sang hệ thống mới được thực hiện bằng việc triển khai kế hoạch cài đặt. Để việc chuyển đổi được thưcj hiện với những va chạm ít nhất cần phải có một kế hoạch chi tiết và tỉ mỉ được thiết lập một cách cẩn thận nhất. 2.3. Phân tích hệ thống thông tin 2.3.1. Các phương pháp thu thập thông tin *Phỏng vấn: Phỏng vấn là một trong hai công cụ thu thập thông tin đắc lực nhất dung cho hầu hết các dự án phát triển HTTT. Phỏng vấn cho phép thu thập đượoc những thông tin được xử lý theo cách khác với mô tả trong tài liệu. *Nghiên cứu tài liệu: Cho phép nghiên cứư kỹ và tỉ mỉ về nhiều khía cạnh của tổ chứ như: lịch sử hình thành và phát triển của tổ chức, tình trạng tài chính, các tiêu chuẩn và định mức, cấu trúc thứ bậc, vai trò và nhiệm vụ của các thành viên, nội dung và hình dạng của các thông tin đầu vào cũng như đầu ra. * Sử dụng phiếu điều tra: Khi cần phái lấy thông tin với số lượng lớn và trên một phạm vi rộng thì dung tới phiếu điều tra. * Quan sát: việc thực hiện phương pháp quan sát giúp cho chúng ta thấy những gì không thể hiện trên tài liệu hoặc qua phổng vấn như tài liệu để ở đâu, đưa cho ai…Quan sát sẽ có khi gặp khó khăn vì bị người quan sát dể ý khi đó họ sẽ không thực hiện đúngquy trình như ngày bình thường. Phương pháp thu thập thông tin để phục vụ cho giai đoạn phân tích thiết kế chi tiết “Hệ thống thông tin quản trị quan hệ khách hàng” chủ yếu là nghiên cứu tài liệu, quan sát và phỏng vấn. 2.3.2. Mã hoá dữ liệu Mã hoá là cách thức để thực hiện việc phân loại, xếp lớp các đối tượng cần quản lý. Phương pháp được sử dụng trong tất cả các hệ thống. Xây dựng HTTT rất cần thiết phải mã hoá dữ liệu. Việc mã hoá dữ liệu mang lại những lợi ích sau: - Nhận diện không nhầm lẫn đối tượng. Mô tả nhanh chóng các đối tượng. Nhận diện nhóm đối tượng nhanh. Tiết kiệm không gian lưu trữ và thời gian xử lý. Thực hiện những phép kiểm tra logic hình thức hoặc thể hiện vài đặc tính của đối tượng. * Các phương pháp mã hoá cơ bản: Một hệ thống mã gồm một tập hợp các đối tượng, một bộ ký tự hợp lệ, được định nghỉatước, được sử dụng để nhận diện đối tượng cần quan tâm. Phương pháp mã hoá liên tiếp: Mã kiểu này được tạo ra bởi một quy tắc tạo dãy nhất định. Phương pháp mã hoá phân cấp: nguyên tắc này lập bộ mã rất đơn giản. Người ta phân cấp đối tượng từ trên xuống và mã số được xây dựng từ trái qua phải, các chữ số được kéo dài về phía bên phải để thể hiện chi tiết sự phân cấp sâu hơn. Phương pháp mã hoá tổng hợp: khi kết hợp việc mã hoá phân cấp với mã hoá liên tiếp thì ta được phương pháp mã hoá tổng hợp. Phương pháp mã hoá gợi nhớ: phương pháp này cho phép ta căn cứ vào đặc tính của đối twngj để xây dựng bộ mã. Phương pháp mã hoá theo seri: phương pháp này chính là sử dụng một tập hợp theo dãy gọi là seri. Seri được coi như là một giấy phép theo mã quy định. Phương pháp mã hoá ghép nối: phương pháp này chia mã ra thành nhiều trường, mỗi trường tương ứng với một đặc tính, những liên hệ có thể có giữa những tập hợp con khác nhâu với đối tượng được gán mã. 2.3.3. Các công cụ mô hình hoá hệ thống thông tin Sơ đồ luồng thông tin IFD ( Iformation Flow Control): Sơ đồ luồng thông tin IFD được dung để mô tả hệ thống thông tin theo cách thức động, tức là mô tả sự di chuyển của dữ liệu, việc xử lý, lưu trữ trong thế giới vật lý bằng các sơ đồ: * Các ký pháp của sơ đồ luồng thông tin: - Xử lý: Thủ công Giao tác người - máy Tin học hoá hoàn toàn - Kho dữ liệu: Thủ công Tin học hoá Dòng thông tin: Tài liệu Sơ đồ luồng dữ liệu DFD Sơ đồ luồng dữ liệu dùng để mô tả HTTT như sơ đồ luồng thông tin nhưng trên góc độ trừu tượng. Trên sơ đồ chỉ bao gồm các luồng dữ liệu, các xử lý, các lưu trữ sữ liệu, nguồn và đích nhưng không hề quan tâm tới nơi, thời điểm và đối tượng chịu trách nhiệm xử lý, Sơ đồ DFD chỉ mô tả đơn thuần làm gì và để làm gì. * Ký pháp dung cho sơ đồ DFD Ngôn ngữ sơ đồ luồng dữ liệu sử dụng bốn loại ký pháp cơ bản: thực thể, tiến trình, kho dữ liệu và dòng dữ liệu. Khách hàng Nguồn hoặc đích: Biểu thị thông tin xuất phát từ đâu, đích đến của nó là bộ phận nào hoặc cá nhân nào. Dòng dữ liệu: là dòng chuyển dời thông tin vào hoặc ra khỏi tiến trình, một chức năng, Các dòng khác nhau phải có tên khác nhau và thông tin khi có sự thay đổi thì phải có tên phù hợp. Bản sao đơn hàng Tiến trình xử lý: được hiểu là quá trình biến đổi thông tin, từ thông tin đầu vào nó biến đổi, tổ chức lại thông tin, bổ sung thông tin hoặc tạo ra thông tin mới tổ chức thành thông tin đầu ra phục vụ cho hoạt động của hệ thống như lưu vào kho dữ liệu hoặc gửi cho các tiến trình hay bộ phận khác. Thực thi hợp đồng Kho dữ liệu: dùng để thể hiện các thông tin cần lưu trữ dưới dạng vật lý. Các kho dữ liệu này có thể là các tập tài liệu, các cặp hồ sơ hoặc các tệp thông tin trên đĩa. Hồ sơ khách hàng * Các mức của DFD Sơ đồ ngữ cảnh (Context Diagram): thể hiện rất khái quát nội dung chính của hệ thống thông tin. Sơ đồ này không đi vào chi tiết mà nó mô tả sao cho chỉ cần một lần là nhận ra nội dung chính của hệ thống. Phân rã sơ đồ ngữ cảnh: nhằm mô tả hệ thống chi tiết hơn người ta dung kỹ thuật phân rã (Explosion) sơ đồ. Bắt đầu từ sơ đồ ngữ cảnh ta phân rã ra thành sơ đồ mức 0, tiếp đó là mức 1…tuỳ theo mức độ chi tiết do yêu cầu đòi hỏi. “Hệ thống thông tin quản lý quan hệ khách hàng” sử dụng cả hai công cụ sơ đồ luồng dữ liệu và sơ đồ luồng thông tin để mô tả. 2.3.4. Thiết kế cơ sở dữ liệu (CSDL) 2.3.4.1.thiết kế CSDL logic từ các thông tin đầu ra Xác địnhcác tệp CSDL trên cơ sở 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 suấ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 dượ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 tính khoá cho thông tin đầu ra. - Loại bỏ các thuộc tính thứ sinh 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 hoá mức 1 (1.NF). Chuẩn hoá 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 danh sách con (có một ý nghĩa dưới góc độ quản lý). Gắn thêm cho nó một tên, tìm cho nó một thuộc tính định danh riêng và them thuộc tính định danh của các danh sách gốc. * Thực hiện chuẩn hoá mức 2 (2.NF). Chuẩn hoá 2.NF quy định rằng: trong một danh sách mỗi thuộc tính phải phụ thuộc vào toàn bộ khoá chính chứ không chỉ phụ thuộc vào một phần của khoá. Nếu có sự 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 khoá thành một danh sách con mới. Lấy bộ phận khoá đó làm khoá cho danh sách mới. Đặt cho danh sách mới này một tên riêng cho phù hợp với nội dung của các thuộc tính trong danh sách. * Thực hiện chuẩn hoá mức 3 (3.NF). Chuẩn hoá 3.NF quy dịnh rằng; trong một 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 hoá 3.NF sẽ là một tệp CSDL. Biểu diễn các tệp theo ngôn ngữ của 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 khoá 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ách thực hiện của bước hai sẽ tạo ra rất nhiều danh sách và mỗi danh schs lien 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ộtthự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, nếu có quan hệ một - nhiều thì vẽ mũi tên về hướng đó. 2.3.4.2 Thiết kế CSDL bằng phương pháp mô hình hoá. Khái niệm cơ bản: Thực thể(Entity): Thực thể trong mô hình lôgic dữ liệu được dung để biểu diễn những đối tượng cụ thể hoặc trừu tượng trong thế giới thực mà ta muốn lưu trữ thông tin về chúng. Thực thể được biểu diễn bằng một hình chữ nhật có ghi tên thực thể bên trong. Ví dụ: KHÁCH HÀNG Liên kết(Association): Một thực thể trong thực tế không tồn tại độc lập với các thực thể khác. Có sự liên hệ qua lại giữa các thực thể khác nhau. Cũng có thể gọi là quan hệ qua lại với nhau. Khái niệm liên kết được dùng để trình bày, thể hiện những mối liên hệ tồn tại giữa các thực thể. Ví dụ: KHÁCH HÀNG DỰ ÁN CÓ Số mức độ của liên kết: Những cặp số lượng: Một - Một, Một - Nhiều, Nhiều - Nhiều được coi là số mức độ của liên kết. 1@1 – Liên kết loại Một - Một. Một lần xuất hiện của thực thể A được liên kết với chỉ một lần xuất hiện của thực thể B và ngược lại, ví dụ: KHÁCH HÀNG NGƯỜI ĐẠI DIỆN CỐ 1@N – Liên kết loại Một - Nhiều. Mỗi lần xuất hiện của thực thể A được liên kết với một hoặc nhiều thức thể B và mỗi lần xuất hiện của thực thể B chỉ liên kết với duy nhất một lần với thực thể A, ví dụ: KHÁCH HÀNG NHÓM KHÁCH HÀNG CỐ N@M - Loại liên kết Nhiều - Nhiều. Mỗi lần xuất hiện của thực thể A được liên kết với nhiều thức thể B và ngược lại. Chiều của liên kết: Chiều của một quan hệ chỉ ra số lượng các thực thể tham gia vào quan hệ đó. Có ba loại quan hệ: một chiều, hai chiều và nhiều chiều. Quan hệ một chiều: là quan hệ mà một lần xuất hiện của một thực thể được quan hệ với một lần xuất hiện của chính thực thể đó. Quan hệ hai chiều: là quan hệ trong đó có hai thực thể liên kết với nhau. KHÁCH HÀNG DỰ ÁN Cã - Quan hệ nhiều chiều: là quan hệ trong đó có nhiều hơn hai thực thể liên kết với nhau: KHÁCH HÀNG DỰ ÁN CÓ NHÀ CUNG CẤP Thuộc tính: dùng để mô tả các đặc trưng của một thực thể hoặc một quan hệ. Có ba loại thuộc tính; thuộc tính mô tả, thuộc tính định danh và thuộc tính quan hệ. Thuộc tính định danh là thuộc tính dùng để xác định một cách duy nhất mỗi lần xuất hiện của thực thể. Giá trị của thuộc tính đó là duy nhất đối với mọi lần xuất hiện của thực thể. Thuộc tính mô tả dùng để mô tả thực thể. Thuộc tính quan hệ dùng để chỉ đến một lần xuất hiện nào đó trong thực thể có quan hệ. Cơ sở dữ liệu lôgic của “Hệ thống thông tin quản lý quan hệ khách hàng” được thiết kế bằng phương pháp mô hình hoá. 2.4. Hệ thống thông tin quản trị quan hệ khách hàng Ý tưỏng chính Mục đích: - Cung cấp công cụ với các mức độ bảo mật khác nhau cho các cán bộ phòng kinh doanh trong quá trình quản lý khách hàng và các dự ná có liên quan. - Lưu trữ các thông tin liên quan trong quá trình làm việc với các khách hàng và có thể tìm kiếm nhanh chóng các thông tin cần thiết. - Hỗ trợ việc tạo báo cáo tuần cho cán bộ kinh doanh. - Hỗ trợ việc theo dõi thực hiện các hợp đồng đã ký. Coi mỗi khách hàng là một đơn vị quản lý. Trong mỗi khách hàng có các trường thuộc tính về khách hàng và các dự án. Mỗi dự án có các thông tin liên quan đến dự án đó như: hợp đồng, kết quả cuộc gặp, ngày bắt đầu, ngày kết thúc, chi phí, tiến độ,… 2.5.Khái quát về công cụ sử dụng để thực hiện đề tài 2.5.1. Cơ sở dữ liệu Ông Thomas Watson, Jr, nghuyên chủ tịch của công ty IBM đã từng nói:” Toàn bộ giá trị của công ty này nằm trong đội ngữ nhân viên và những tệp dữ liệu. Dù tất cả các nhà cửa, văn phòng cảu công ty bị cháy trụi nhưng vẫn giữ được những con người và những tệp dữ liệu thì chẳng bao lâu chúng ta sẽ lại trở nên hung mạnh như xưa”. Một cơ quan bị mất trí nhớ thì sẽ không thể tồn tại được. Hãy thử tưởng tượng xem điều gì sẽ xảy ra nếu một công ty phần mềm máy tính đã mất hết những chương trình nguồn mà họ đã lập ra. Các cơ quan phải có trí nhớ, đó là những kho dữ liệu lưu trữ hàng tỷ những điều chi tiết cần thiết cho quá trình kinh doanh và ra quyết định. Nói rằng:” Dữ liệu của một công ty hay tổ chức có vai trò sống còn: là điều khẳng định không hề quá một chút nào. * 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). - 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ịet, 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 ché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 System) là một hệ thống chương trình máy tính giúp ta tạo lập, duy trì và sử dụng các hệ cơ sở dữ liệu. 2.5.2. Giới thiệu chung về môi trường .NET và ASP.NET Trước hết, ASP.NET là Active Server Pages.NET(.NET ở đây là .NET framework). Nói đơn giản, ngắn gọn thì ASP.NET là một công nghệ có tính cách mạng dùng để phát triển các ứng dụng về mạng hiện nay cũng như trong tương lai. ASP.NET là một phương pháp tổ chức hay khung tổ chức(frame work) để thiết lập các ứng dụng hết sức hung mạnh cho mạng dựa trên CLR(Common Language Runtime) chứ không phải là một ngôn ngữ lập trình. Ngôn ngữ lập trình để diễn đạt ASP.NET là VB.NET hoặc C#.NET. Tuy mang họ tên gần giống như ASP nhưng ASP.NET không phải là ASP. Có những khác biệt rất lớn giữa ASP và ASP.NET. CLR(Common Language Runtime) là môi trường dùng để quản lý sự thi hành các nguồn mã mà ta đã soạn ra và biên dịch trong các ứng dụng. Tuy nhiên, khi biên dịch nguồn mã ta lại biên dịch chúng thành một ngôn ngữ trung gian gọi là Microsoft Intermediate Language(MSIL). Chính MSIL là ngôn ngữ chung cho tất cả các ngôn ngữ.NET hiện có, do đó ASP cũng được biên dịch ra MSIL. Khi biên dịch như vậy, các ứng dụng cũng sản xuất ra các thông tin cần thiết để tự quảng cáo chính mình, ta gọi những thông tin này là Metadata. Đến khi ta chạy một ứng dụng, CLR sẽ tiếp quản và lại biên dịch nguồn mã một lần nữa ra thành ngôn ngữ gốc của máy vi tính trước khi thi hành những công tác đã được bố trí trong nguồn mã đó. Ta có thể cảm thấy những việc bận rộn sau hậu trường đó khi phải chờ đợi một khoảng thời gian cần thiết để CLR chấm dứt nhiệm vụ của nó khi lần đầu tiên biên dịch và hiển thị một trang Web, nhưng mọi chuyện sẽ dễ dàng, cuối cùng ta có một trình biên dịch để sử dụng rất hiệu quả. .NET FRAME WORK CLASSES Điều quan trọng nhất mà ta cần phải nhớ là mọi thứ trong .NET để là Object, các trang ASP.NET, các hộp thông điệp, hay là nút bấm, tất cả điều là Object. Các Object đó được tổ chức lại thành từng nhóm riêng biệt như trong một thư viện để ta dễ dàng sử dụng. Ta gọi các nhóm đó là Namespaces, và ta sẽ dùng những Namespaces này để gọi hay nhập các Class cần thiết cho ứng dụng của mình. CHƯƠNG III XÂY DỰNG PHẦN MỀM QUẢN TRỊ QUAN HỆ KHÁCH HÀNG TẠI CÔNG TY CÔNG NGHỆ TIN HỌC TINH VÂN 3.1. Khái quát phần mềm quản trị quan hệ khách hàng Trong quá trình quản lý qquan hệ khách hàng, có bốn nghiệp vụ chính đó là: Nghiệp vụ gặp gỡ khách hàng Nghiệp vụ quản lý và thực thi hợp đồng - dự án Nghiệp vụ xử lý tình trạng dự án Nghiệp vụ lên báo cáo Khi có thông tin về một khách hàng nào đó, nhân viên của bộ phận quản lý quan hệ khách hàng sẽ lập kế hoạch gặp khách hàng với các mục tiêu cần đạt được. Sau khi gặp mặt trực tiếp, sẽ tiến hành ký hợp đồng nếu khách hàng có yêu cầu cụ thể. Dự án sẽ được thực hiện theo hợp đồng và có sự giám sát của hai bên. Khi có sự cố sẽ đượoc xử lý theo đúng quy định và định kỳ sẽ có những báo cáo tổng hợp được đưa ra. * Nghiệp vụ gặp gỡ khách hàng: - Khi có yêu cầu gặp gỡ trực tiếp từ phía khách hàng hoặc do chủ động của nhân viên phòng kinh doanh thì những thông tin về khách hàng sẽ được thu thập một cách đày đủ qua CSDL của hệ thống hoặc từ phía khách hàng cung cấp. - Một kế hoạch gặp mặt sẽ được đề ra với thời gian, công việc cần đạt được, số lần gặp,… - Cuộc gặp trực tiếp sẽ tiên hành thêo đúng kế hoạch, kết quả đạt được sẽ cập nhật vào hệ thống. * Nghiệp vụ quản lý và thực thi hợp đồng - dự án Nghiệp vụ này bao gồm bốn nghiệp vụ cơ bản, đó là: Ký hợp đồng Thực thi hợp đồng Cập nhật chi phí dự án Nghiệm thu dự án. Sau những lần tiến hành gặp mặt, khách hàng muôn thực hiên ký một hợp đồng về một dự án nào đó. Việc ký hợp đồng sẽ diễn ra và dự án sẽ thực thi. Các thông tin về chi phí dự án, tiến độ sẽ được thường xuyên cập nhật. Sauk hi hoàn thành, sự án sẽ được nghiệm thu và hợp đồng kết thúc. * Nghiệp vụ xử lý tình trạng dự án Trong việc thực thi dự án, nếu có sự cố xảy ra thì sẽ được bộphận kiểm tra xử lý theo đúng hợp đồng đã ký với khách hàng. * Nghiệp vụ lên báo cáo Báo cáo về tình hình thực thi dự án hoặc tình trạng dự án cũng như về khách hàng sẽ được hệ thống tự động đưa ra. Tuỳ thuộc vào trách nhiệm của từng bộ phận mà báo cáo sẽ được gửi tưói đúng bộ phận đó. 3.2. Sơ đồ chức năng của hệ thống (BFD) Dựa vào phần khảo sát trên, ta có sơ đồ chức năng của quy trình quản lý quan hệ khách hàng như sau: Hình 3.1. Sơ đồ chức năng nghiệp vụ của HTTT quản trị Quan hệ khách hàng tại công ty công nghệ tin học Tinh Vân Sơ đồ BFD tiến trình 1: Hình 3.2. Sơ đồ chức năng nghiệp vụ gặp khách hàng của HTTT quản trị quan hệ khách hàng tại công ty công nghệ tin học Tinh Vân Sơ đồ BFD tiến trình 2: Hình 3.3. Sơ đồ chức năng nghiệp vụ quản lý HĐ-DA của HTTT quản trị quan hệ khách hàng tại công ty công nghệ tin học Tinh Vân Sơ đồ BFD tiến trình 3: Hình 3.4. Sơ đồ chức năng nghiệp vụ báo cáo của HTTT quản trị quan hệ khách hàng tại công ty công nghệ tin học Tinh Vân 3.3. Sơ đồ luồng dữ liệu của hệ thống (DFD) 3.3.1.Sơ đồ DFD ngữ cảnh Hình 3.5 Sơ đồ DFD ngữ cảnh của hệ thống quản trị quan hệ khách hàng tại công ty công nghệ tin học Tinh Vân 3.3.2.Sơ đồ DFD mức 0 Hình 3.6 Sơ đồ DFD mức 0 của hệ thống quản trị quan hệ khách hàng tại công ty công nghệ tin học Tinh Vân 3.3.3.Sơ đồ DFD mức 1 Các tiến trình mức 0 sẽ được phân rã để cụ thể hoá chức năng của từng tiến trình, làm cơ sở xây dựng hệ thống mới. Ta lần lượt phân rã các tiến trình: Gặp gỡ khách hàng, Thực thi hộp đồng - dự án, xử lý tình trạng dự án, báo cáo thành các tiến trình nhỏ hơn, ta được các sơ đồ sau: * Phân rã xử lý 1.0 Hình 3.7 Sơ đồ DFD 1.0 ứng với tiến trình “Gặp gỡ khách hàng” * Phân rã xử lý 2.0 Hình 3.8 Sơ đồ DFD 2.0 ứng với tiến trình “Thực thi hợp đồng - dự án ” * Phân rã 3.0 Hình 3.9 Sơ đồ DFD 3.0 ứng với tiến trình “Xử l ý tình trạng dự án ” * Phân rã 4.0 Hình 3.10 Sơ đồ DFD 3.0 ứng với tiến trình “Báo cáo ” 3.4. Sơ đồ luồng thông tin Sơ đồ luồng thông tin được dung để môt tả hệ thống theo cáh thức động. Tức là mô tả sự di chuyển của dữ liệu, việc xử lý trong thế giới vật lý bằng các sơ đồ. Ta có sơ đồ luồng thông tin của hệ thống quản trị quan hệ khách hàng Hình 3.11 Sơ đồ luồng thông tin của hệ thống quản trị quan hệ khách hàng tại công ty công nghệ tin học Tinh Vân 3.5. Thiết kế CSDL 3.5.1. Thiết kế CSDL bằng phương pháp mô hình hóa Nhóm KH Người đại diện KH DA Nhóm DA NViên Bộ phận Người liên hệ Có Có Gặp Qlý Có Thuộc 1 n n n n n 1 1 1 1 1 1 1 Coi mỗi khách hàng là một đơn vị quản lý. Trong mỗi khách hàng có các trường thuộc tính về khách hàng và các dự án. Mỗi dự án có các thông tin liên quan đến dự án đó như: hợp đồng, kết quả cuộc gặp, ngày bắt đầu, ngày kết thúc, chi phí, tiến độ,… Hình 3.12 Sơ đồ quan hệ thực thể ERD của hệ thống quản trị quan hệ khách hàng tại công ty công nghệ tin học Tinh Vân Manhom Tennhom Mota MaKH Manhom MaNDD MaNDD ManhomDA Mota MaNV MaDA MaKH Mota MaNV Ten Diachi Ten MaBophan MaNV ID Ten Ghichu Ma MaKH Kqua Tgian ManhomDA CphiKH Ten Ngaybd Ngaykt Nhóm KH Khách hàng Người đại diện Dự án Nhóm dự án Nhân viên Bộ phận Người liên hệ Gặp gỡ KH Hình 3.13 Mối quan hệ giữa các bảng trong CSDL của hệ thống quản trị quan hệ khách hàng tại công ty công nghệ tin học Tinh Vân 3.5.2. Các bảng và mối quan hệ giữa các bảng trong CSDL * Danh mục nhóm khách hàng Tên trường Kiểu dữ liệu Độ rộng Mô tả Manhom Character 3 Mã nhóm Tennhom VarCharacter 20 Tên nhóm Mota Memo 30 Mô tả nhóm * Danh mục khách hàng Tên trường Kiểu dữ liệu Độ rộng Mô tả MaKH Character 5 Mã khách hàng Manhom Character 3 Mã nhóm khách hàng MaNDD Character 3 Mã người đại diện TenKH VarCharacter 30 Tên khách hàng Diachi VarCharacter 30 Địa chỉ Dienthoai NVarCharacter 10 Điện thoại Fax VarCharacter 20 Fax Email VarCharacter 30 Thư điện tử * Danh mục người đại diện Tên trường Kiểu dữ liệu Độ rộng Mô tả MaNDD Character 3 Mã người đại diện TenNDD VarCharacter 20 Tên người đại diện Mota Memo 30 Mô tả * Danh mục nhóm dự án Tên trường Kiểu dữ liệu Độ rộng Mô tả ManhomDA Character 3 Mã nhóm dự án Tennhom VarCharacter 20 Tên nhóm Mota Memo 30 Mô tả nhóm * Danh mục dự án Tên trường Kiểu dữ liệu Độ rộng Mô tả MaDA Character 5 Mã dự án ManhomDA Character 3 Mã nhóm dự án MaKH Character 5 Mã khách hàng MaNV Character 5 Mã nhân viên TenDA VarCharacter 50 Tên dự án ThongtinDA VarCharacter 50 Thông tin dự án TinhtrangDA VarCharacter 1 Tình trạng dự án Ngaybd Date 8 Ngày bắt đầu Ngaykt Date 8 Ngày kết thúc Nguồn vốn Float 15 Vốn đầu tư * Danh mục nhân viên Tên trường Kiểu dữ liệu Độ rộng Mô tả MaNV Character 5 Mã nhân viên TenNV VarCharacter 30 Tên nhân viên Diachi VarCharacter 30 Địa chỉ Dienthoai VarCharacter 10 Điện thoại Email Character 30 Thư điện tử * Danh mục bộ phận Tên trường Kiểu dữ liệu Độ rộng Mô tả MaBP Character 3 Mã bộ phận MaNV Character 5 Mã nhân viên TenBP VarCharacter 30 Tên bộ phận Ghichu Memo 30 Ghi chú * Danh mục người liên hệ Tên trường Kiểu dữ liệu Độ rộng Mô tả MaNLH Character 3 Mã người liên hệ MaBP Character 3 Mã bộ phận TenNLH VarCharacter 30 Tên người liên hệ Ghichu Memo 30 Ghi chú * Danh mục cuộc gặp Tên trường Kiểu dữ liệu Độ rộng Mô tả MaNLH Character 3 Mã người liên hệ MaKH Character 5 Mã khách hàng Thoigian Date 8 Ngày gặp Ketqua VarCharacter 30 Kết quả cuộc gặp Chiphi Numeric 12 Chi phí khách hàng 3.6.Thiết kế giải thuật Trong các bước mô tả và phân tích công việc ở trên giúp chúng ta hình dung các công việc xử lý khi xây dựng các chức năng của chương trình. Tuy nhiên, để thuận tiệ cho việc thiết kế các bước xử lý cũng như viết chương trình chúng ta nên xây dựng giải thuật xử lý các công việc chính, phức tạp. Dưới đây là các ký hiệu thường dùng trong thiết kế giải thuật: - Khối đầu: - Khối thao tác: - Đường mũi tên dùng để chỉ trình tự các bước cần thực hiện trong thuật toán: - Khối kiểm tra: - Khối nhập/Xuất thông tin: - Khối kết thúc: Thuật toán đăng nhập vào chương trình: Thuật toán thêm bản ghi vào các bảng: Thuật toán tìm kiếm Thuật toán lên báo cáo: Một số giao diện chính KẾT LUẬN Cùng với sự phát triển của công nghệ thông tin, tin học đang được áp dụng ngày càng nhiều vào đời sống thực tế và ngày càng trở nên không thể thiếu được trong quá trình phát triển của xã hội nói chung và của các công ty nói riêng. Lĩnh vực quản lý quan hệ khách hàng là một trong những lĩnh vực đòi hỏi tin học hoá cao. Với số lượng khách hàng lớn, đa dạng nếu dùng phương pháp thủ công sẽ tốn rất nhiều công sức và thời gian nhưng kết quả đạt được không cao. Ngược lại khi áp dụng tin học vào việc quản lý sẽ giảm bớt rất nhiều chi phí không đáng có mà hiệu quả công việc lại rất lớn…Chính vì vậy, quản lý quan hệ khách hàng là một đề tài đã được nghiên cứu và xây dựng rất nhiều. Tuy nhiên, tuỳ theo yêu cầu của mỗi công ty, doanh nghiệp mà cách thức quản lý là khác nhau. Do đó, đề tài vẫn là một vấn đề mới mẻ cần được nghiên cứu và phát triển. Chương trình được xây dựng hoàn toàn trên hướng mở nhằm có thể hoàn thiện và nâng cấp trong tương lai. Tuy nhiên, đây chưa phải là một chương trình hoàn chỉnh do còn có những hạn chế về mặt thực tế, kinh nghiệm cũng như thời gian. TÀI LIỆU THAM KHẢO 1. Giáo trinh hệ thống thông tin quản lý, TS.Trương Văn Tú – TS.Trần Thị Song Minh, NXB Thống kê, Hà Nội,2000 2. Giáo trình cơ sở dữ liệu SQL, Access, Ths.Trần Công Uẩn, NXB Thống kê, Hà Nội,2000 3. Giáo trình phân tích hệ thống thông tin, Nguyễn Văn Vị, Hà Nội,2004 4. Microsoft HTML Help Workshop 5. Xây dựng và triển khai ứng dụng thương mại điện tử, Phạm Hữu Khang, NXB Lao động xã hội,2005 6. ASP 3.0 & ASP.NET, Nguyễn Phương Lan,NXB Lao động xã hội,2004 PHỤ LỤC Trang login.asp Default <body background="file:///C:\Documents and Settings\My Love\My Documents\Visual Studio Projects\WebApp\images\Peace.jpg" MS_POSITIONING="GridLayout"> <asp:image id="Image1" runat="server" Height="80px" url="WebApp/images/logo_vi.gif" Width="128px" ImageUrl="file:///C:\Inetpub\wwwroot\WebApp\images\logo_vi.gif" BackColor="White"> Custormer Relationship Management <IMG src="file:///C:\Documents and Settings\My Love\My Documents\Visual Studio Projects\WebApp\images\banner_navigate.gif" align="left" useMap="#NAVIGATE" border="0"> Thông tin chung Dự án Người đại diện Tìm kiếm <asp:hyperlink id="HyperLink2" runat="server" ImageUrl="file:///C:\Documents and Settings\My Love\My Documents\Visual Studio Projects\WebApp\images\sign-in.gif" NavigateUrl="Login.aspx">HyperLink <asp:hyperlink id="HyperLink3" runat="server" ImageUrl="file:///C:\Documents and Settings\My Love\My Documents\Visual Studio Projects\WebApp\images\new-user.gif" NavigateUrl="Register.aspx">HyperLink Danh mục khách hàng Danh mục dự án Trang login.aspx.vb Imports System.Data.SqlClient Public Class Login Inherits System.Web.UI.Page #Region " Web Form Designer Generated Code " 'This call is required by the Web Form Designer. Private Sub InitializeComponent() End Sub Protected WithEvents Image1 As System.Web.UI.WebControls.Image Protected WithEvents thongtin As System.Web.UI.WebControls.HyperLink Protected WithEvents duan As System.Web.UI.WebControls.HyperLink Protected WithEvents NDD As System.Web.UI.WebControls.HyperLink Protected WithEvents timkiem As System.Web.UI.WebControls.HyperLink Protected WithEvents HyperLink2 As System.Web.UI.WebControls.HyperLink Protected WithEvents HyperLink3 As System.Web.UI.WebControls.HyperLink Protected WithEvents dmkhachhang As System.Web.UI.WebControls.HyperLink Protected WithEvents Hyperlink1 As System.Web.UI.WebControls.HyperLink Protected WithEvents UserName As System.Web.UI.WebControls.TextBox Protected WithEvents Password As System.Web.UI.WebControls.TextBox Protected WithEvents Button1 As System.Web.UI.WebControls.Button 'NOTE: The following placeholder declaration is required by the Web Form Designer. 'Do not delete or move it. Private designerPlaceholderDeclaration As System.Object Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init 'CODEGEN: This method call is required by the Web Form Designer 'Do not modify it using the code editor. InitializeComponent() End Sub #End Region Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim msg As String If Session.Contents("username") = "-1" Then msg = "Sai mật khẩu, " msg += "xin vui lòng cung cấp lại " msg += "mật khẩu." ElseIf Session.Contents("username") = "-2" Then msg = "Tài khoản không " msg += "tồn tại trong hệ thống, xin vui " msg += "lòng nhập lại tài khoản khác." Else msg = "Xin vui lòng nhập tài khoản " msg += "và mật khẩu để đăng nhập." End If End Sub Function checkinput(ByVal a As String) As String Dim msg As String If (Request.Form("UserName") = "") Then msg = "Invalid Email, Please enter your own Username" 'frmlogin.UserName.focus() End If If (Request.Form("Password") = "") Then msg = "Please enter your own Password" 'frmLogin.Password.focus() End If Return msg End Function Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Totalrecords As String Dim record As String Dim strSQL = "select * from [User]" Dim myConnection As SqlConnection = _ New SqlConnection(ConfigurationSettings.AppSettings("conn")) Dim myAdapter As SqlDataAdapter = _ New SqlDataAdapter(strSQL, myConnection) Dim myDataSet As DataSet = New DataSet myAdapter.Fill(myDataSet, strSQL) Totalrecords = myDataSet.Tables(strSQL).Rows().Count Dim re As DataTable For Each re In myDataSet.Tables If re.Rows(0).Item("taikhoan").ToString = UserName.Text.Trim And _ re.Rows(0).Item("matkhau").ToString = Password.Text Then Response.Redirect("du_an.aspx") Else Response.Write("alert('Tài khoản hoặc mật khẩu không hợp lệ');") End If Next End Sub End Class Trang khách hàng. aspx.vb Imports System.Data.SqlClient Public Class WebForm10 Inherits System.Web.UI.Page #Region " Web Form Designer Generated Code " 'This call is required by the Web Form Designer. Private Sub InitializeComponent() End Sub Protected WithEvents btOK As System.Web.UI.WebControls.Button Protected WithEvents Label2 As System.Web.UI.WebControls.Label Protected WithEvents Label4 As System.Web.UI.WebControls.Label Protected WithEvents Label6 As System.Web.UI.WebControls.Label Protected WithEvents Label7 As System.Web.UI.WebControls.Label Protected WithEvents Label8 As System.Web.UI.WebControls.Label Protected WithEvents Label9 As System.Web.UI.WebControls.Label Protected WithEvents txttenkh As System.Web.UI.WebControls.TextBox Protected WithEvents txtnhomkh As System.Web.UI.WebControls.TextBox Protected WithEvents txtdienthoai As System.Web.UI.WebControls.TextBox Protected WithEvents txtemail As System.Web.UI.WebControls.TextBox Protected WithEvents txtfax As System.Web.UI.WebControls.TextBox Protected WithEvents txtdiachi As System.Web.UI.WebControls.TextBox Protected WithEvents txtmakh As System.Web.UI.WebControls.TextBox Protected WithEvents txtmandd As System.Web.UI.WebControls.TextBox Protected WithEvents HyperLink1 As System.Web.UI.WebControls.HyperLink Protected WithEvents HyperLink2 As System.Web.UI.WebControls.HyperLink 'NOTE: The following placeholder declaration is required by the Web Form Designer. 'Do not delete or move it. Private designerPlaceholderDeclaration As System.Object Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init 'CODEGEN: This method call is required by the Web Form Designer 'Do not modify it using the code editor. InitializeComponent() End Sub #End Region Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim outError As ErrObject Dim mydataset As New DataSet Dim strConn As String Dim strSQL As String End Sub Private Sub btOK_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btOK.Click Try If IsPostBack() Then Dim strConn As String strConn = ConfigurationSettings.AppSettings("conn") Dim myConn As SqlConnection = _ New SqlConnection(strConn) myConn.Open() Dim nhomkh, makh, tenkh, mandd, email, dienthoai, fax, diachi As String Dim taikhoan, matkhau As String Dim strSqlInsert As String nhomkh = CStr(Request.Form("txtnhomkh")) makh = CStr(Request.Form("txtmakh")) tenkh = CStr(Request.Form("txttenkh")) mandd = CStr(Request.Form("txtmandd")) email = CStr(Request.Form("txtemail")) dienthoai = CStr(Request.Form("txtdienthoai")) fax = CStr(Request.Form("txtfax")) diachi = CStr(Request.Form("txtdiachi")) If (nhomkh "") And (makh "") And (mandd "") Then strSqlInsert = "insert into [KH] values('" & makh & "','" & nhomkh & "','" & mandd & "','" & tenkh & "','" & diachi & "','" & dienthoai & "','" & fax & "','" & email & "' ) " Dim myCom = New SqlCommand(strSqlInsert, myConn) myCom.ExecuteNonQuery() End If myConn.Close() End If Catch objError As Exception Dim msg As String msg = "* Error: " & _ objError.Message & "" 'outError.innerHTML = "* Error: " & _ 'objError.Message & "" End Try End Sub End Class Trang Du_an.asp Trang Du_an.asp.vb Imports System.Data.SqlClient Public Class WebForm7 Inherits System.Web.UI.Page #Region " Web Form Designer Generated Code " 'This call is required by the Web Form Designer. Private Sub InitializeComponent() End Sub Protected WithEvents mydatagrid As System.Web.UI.WebControls.DataGrid Protected WithEvents btnFirst As System.Web.UI.WebControls.LinkButton Protected WithEvents btnPrev As System.Web.UI.WebControls.LinkButton Protected WithEvents btnNext As System.Web.UI.WebControls.LinkButton Protected WithEvents btnLast As System.Web.UI.WebControls.LinkButton 'NOTE: The following placeholder declaration is required by the Web Form Designer. 'Do not delete or move it. Private designerPlaceholderDeclaration As System.Object Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init 'CODEGEN: This method call is required by the Web Form Designer 'Do not modify it using the code editor. InitializeComponent() End Sub #End Region Public TotalRecords = 0, TotalPages = 0 Public Records = 5, CurrentPage = 0 Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim myDataSet As New DataSet Dim strConn As String Dim strSQL As String If Not Page.IsPostBack Then BindGrid() End If TotalPages = mydatagrid.PageCount End Sub Function toDate(ByVal a As DateTime) As String Dim str As String str = a.Day.ToString & "/" & a.Month.ToString & "/" & a.Year.ToString Return str End Function Sub MyDataGridPage(ByVal sender As Object, ByVal e As _ DataGridPageChangedEventArgs) mydatagrid.CurrentPageIndex = e.NewPageIndex BindGrid() End Sub Sub BindData() Dim strConn As String = _ ConfigurationSettings.AppSettings("conn") Dim strSQL As String = "Select * from [DA]" Dim myConn As New SqlConnection(strConn) Dim myDataReader As SqlDataReader Dim Cmd As New SqlCommand(strSQL, myConn) myConn.Open() myDataReader = Cmd.ExecuteReader( _ System.Data.CommandBehavior.CloseConnection) mydatagrid.DataSource = myDataReader mydatagrid.DataBind() myConn.Close() End Sub Private Sub BindGrid() mydatagrid.PageSize = Records CurrentPage = mydatagrid.CurrentPageIndex + 1 Dim strSQL = "select * from [DA]" Dim myConnection As SqlConnection = _ New SqlConnection(ConfigurationSettings.AppSettings("conn")) Dim myAdapter As SqlDataAdapter = _ New SqlDataAdapter(strSQL, myConnection) Dim myDataSet As DataSet = New DataSet myAdapter.Fill(myDataSet, strSQL) TotalRecords = myDataSet.Tables(strSQL).Rows().Count mydatagrid.DataSource = myDataSet mydatagrid.DataBind() End Sub Sub PagerButtonClick(ByVal sender As Object, ByVal e As EventArgs) Dim arg As String = sender.CommandArgument Select Case arg Case "next" If (mydatagrid.CurrentPageIndex < (mydatagrid.PageCount - 1)) Then mydatagrid.CurrentPageIndex += 1 End If Case "prev" If (mydatagrid.CurrentPageIndex > 0) Then mydatagrid.CurrentPageIndex -= 1 End If Case "last" mydatagrid.CurrentPageIndex = (mydatagrid.PageCount - 1) Case Else mydatagrid.CurrentPageIndex = System.Convert.ToInt32(arg) End Select BindGrid() End Sub End Class Sub Page_Load(sender As Object, e As EventArgs) dim gotofile as String if replace(request.form("USERNAME"),"'","''")="" then gotofile="login.aspx" end if Dim strSQL= "select * from [User]" strSQL +=" Where taikhoan='" strSQL += replace(request.form ("USERNAME") ,"'","''") strSQL += "'" Dim myConn As SqlConnection = _ New SqlConnection(ConfigurationSettings.appSettings("conn")) myConn.Open Dim myCom = New SqlCommand(strSQL, myConn) Dim drd as SqlDataReader dim password as string password=Cstr(request.form("PASSWORD")) drd=myCom.ExecuteReader() if drd.read() then if drd("Password").toString() = _ request.form("PASSWORD").toString() then session.Contents("username")=drd("UserID").toString() session.Contents("email")=drd("Email").toString() session.Contents("password")=drd("matkhau").toString() gotofile="myaccount.aspx" else session.Contents("username")="-1" gotofile="login.aspx" end if else session.Contents("username")="-2" gotofile="login.aspx" end if myCom.Connection.Close() myConn.close response.redirect (gotofile) End sub Trang Nguoidaidien.aspx Nguoidaidien1 <asp:button id="btOK" style="Z-INDEX: 107; LEFT: 216px; POSITION: absolute; TOP: 256px" runat="server" Font-Bold="True" Text="Lưu" Width="72px"> <asp:DropDownList id="cbomandd" style="Z-INDEX: 109; LEFT: 304px; POSITION: absolute; TOP: 128px" runat="server" ForeColor="#C00000"> Mô tả chi tiết Tên người đại diện Mã người đại diện <asp:TextBox id="txttenndd" style="Z-INDEX: 105; LEFT: 544px; POSITION: absolute; TOP: 128px" runat="server" Width="136px"> <asp:TextBox id="txtmota" style="Z-INDEX: 106; LEFT: 304px; POSITION: absolute; TOP: 160px" runat="server" Width="184px" Height="72px"> <asp:HyperLink id="HyperLink1" style="Z-INDEX: 108; LEFT: 408px; POSITION: absolute; TOP: 256px" runat="server" ForeColor="Black" Width="184px" Font-Italic="True" NavigateUrl="KH.aspx">Trở lại trang khách hàng Trang Chitietduan. Aspx chitietda <asp:TextBox id="txtvon" style="Z-INDEX: 119; LEFT: 216px; POSITION: absolute; TOP: 352px" runat="server" Width="152px"> <asp:TextBox id="txtngaykt" style="Z-INDEX: 118; LEFT: 536px; POSITION: absolute; TOP: 304px" runat="server" Width="152px"> <asp:TextBox id="txtngaybd" style="Z-INDEX: 117; LEFT: 216px; POSITION: absolute; TOP: 312px" runat="server" Width="152px"> <asp:TextBox id="txttinhtrang" style="Z-INDEX: 116; LEFT: 536px; POSITION: absolute; TOP: 232px" runat="server" Width="112px"> <asp:Label id="Label10" style="Z-INDEX: 115; LEFT: 88px; POSITION: absolute; TOP: 360px" runat="server" Width="96px">Số vốn đầu tư <asp:Label id="Label9" style="Z-INDEX: 114; LEFT: 392px; POSITION: absolute; TOP: 312px" runat="server" Width="96px">Ngày kết thúc <asp:Label id="Label8" style="Z-INDEX: 113; LEFT: 88px; POSITION: absolute; TOP: 320px" runat="server" Width="96px">Ngày bắt đầu <asp:Label id="Label7" style="Z-INDEX: 112; LEFT: 392px; POSITION: absolute; TOP: 240px" runat="server" Width="104px">Tình trạng dự án <asp:Label id="Label6" style="Z-INDEX: 110; LEFT: 88px; POSITION: absolute; TOP: 240px" runat="server" Width="96px">Thông tin dự án <asp:Label id="Label5" style="Z-INDEX: 109; LEFT: 392px; POSITION: absolute; TOP: 184px" runat="server" Width="128px">Mã nhân viên quản lý <asp:TextBox id="txtmanv" style="Z-INDEX: 104; LEFT: 536px; POSITION: absolute; TOP: 176px" runat="server" Width="72px"> <asp:Label id="Label4" style="Z-INDEX: 108; LEFT: 88px; POSITION: absolute; TOP: 184px" runat="server" Width="96px">Mã khách hàng <asp:TextBox id="txtmada" style="Z-INDEX: 105; LEFT: 216px; POSITION: absolute; TOP: 144px" runat="server" Width="72px"> <asp:TextBox id="txttenda" style="Z-INDEX: 107; LEFT: 536px; POSITION: absolute; TOP: 136px" runat="server" Width="152px"> <asp:Label id="Label3" style="Z-INDEX: 103; LEFT: 392px; POSITION: absolute; TOP: 144px" runat="server" Width="64px">Tên dự án <asp:Label id="Label2" style="Z-INDEX: 102; LEFT: 88px; POSITION: absolute; TOP: 144px" runat="server" Width="64px">Mã dự án <asp:Label id="Label1" style="Z-INDEX: 101; LEFT: 88px; POSITION: absolute; TOP: 104px" runat="server" Width="80px">Nhóm dự án <asp:TextBox id="txtmakh" style="Z-INDEX: 106; LEFT: 216px; POSITION: absolute; TOP: 176px" runat="server" Width="72px"> <asp:TextBox id="txtthongtin" style="Z-INDEX: 111; LEFT: 216px; POSITION: absolute; TOP: 224px" runat="server" Height="64px"> <asp:Button id="btOK" style="Z-INDEX: 120; LEFT: 280px; POSITION: absolute; TOP: 392px" runat="server" Width="72px" Text="Lưu"> <asp:TextBox id="txtnhom" style="Z-INDEX: 121; LEFT: 216px; POSITION: absolute; TOP: 112px" runat="server" Width="72px"> <asp:Button id="btcancel" style="Z-INDEX: 122; LEFT: 424px; POSITION: absolute; TOP: 392px" runat="server" Text="Quay ra"> MỤC LỤC Trang Người đại diện

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

  • doc36323.doc
Tài liệu liên quan