Khóa luận Dịch vụ web hỗ trợ đầu tư trực tuyến tính roi

TÓM TẮT Khóa luận trình bày phương pháp xây dựng một dịch vụ web trợ giúp tính toán tỷ suất hoàn vốn đầu tư trong kinh doanh nhanh chóng, hiệu quả, trực quan và chính xác. Nội dung khóa luận được chia thành ba phần chính: Phần đầu tập trung nghiên cứu về tỷ suất hoàn vốn đầu tư ROI, các yếu tố ảnh hưởng từ đó đửa ra công thức tính ROI và mô hình ROI. Phần thứ hai tìm hiểu về công nghệ AJAX để từ đó có thể ứng dụng vào bài toán phát triển hệ thống tính toán ROI. Phần cuối xây dựng hệ thống tính toán ROI qua việc phân tích và thiết kế hệ thống theo hướng đối tượng. DANH MỤC HÌNH Hình 1: Mô hình cấu trúc các nhân tố tham gia tính ROI cơ bản 17 Hình 2. Mô hình cổ điển của một ứng dụng Web 22 Hình 3. Mô hình ứng dụng Web sử dụng AJAX 22 Hình 4. Mô hình ROI theo các mức 37 Hình 5. Biểu đồ ca sử dụng hệ thống 41 Hình 6. Biểu đồ ca sử dụng quản trị hệ thống. 41 Hình 7. Biểu đồ ca sử dụng quản lý dự án. 42 Hinh 8. Biểu đồ ca sử dụng cập nhật dữ liệu. 42 Hình 9. Mô hình phân tích thực thi ca sử dụng Quản trị hệ thống 50 Hình 10. Mô hình phân tích thực thi ca sử dụng Tạo nội dung dự án 51 Hình 11. Mô hình phân tích thực thi ca sử dụng Xậy dựng mô hình ROI 51 Hình 12 Mô hình phân tích thực thi ca sử dụng Sao chép dự án từ dự án đã có 52 Hình 13. Mô hình phân tích thực thi ca sử dụng Sửa nội dung dự án 52 Hình 14. Mô hình phân tích thực thi ca sử dụng Sửa mo hình ROI 53 Hình 15. Mô hình phân tích thực thi ca sử dụng Xoa dự án 53 Hình 16. Mô hình phân tích thực thi ca sử dụng In báo cáo 54 Hình 17. Mô hình phân tích thực thi ca sử dụng Quan ly linh vuc kinh doanh 54 Hình 18. Mô hình phân tích thực thi ca sử dụng Cập nhật cấu hình 55 Hình 19. Biểu đồ tuần tự đối tượng Tạo người dùng mới 55 Hình 20. Biểu đồ tuần tự đối tượng Cập nhật thông tin người dùng 56 Hình 21. Biểu đồ tuần tự đối tượng Xóa người dùng 56 Hình 22. Biểu đồ tuần tự đối tượng Tạo nội dung dự án 57 Hình 23. Biểu đồ tuần tự đối tượng Xây dựng mô hình ROI 58 Hình 24. Biểu đồ tuần tự đối tượng Sao chép từ dự án đã có 59 Hình 25. Biểu đồ tuần tự đối tượng Sửa nội dung dự án 59 Hình 26. Biểu đồ tuần tự đối tượng Sửa mô hình ROI 60 Hình 27. Biểu đồ tuần tự đối tượng Xóa dự án 60 Hình 28. Biểu đồ tuần tự đối tượng In báo cáo 61 Hình 29. Biểu đồ tuần tự đối tượng Tạo lĩnh vực mới 61 Hình 30. Biểu đồ tuần tự đối tượng Sửa lĩnh vực 62 Hình 31. Biểu đồ tuần tự đối tượng Xóa lĩnh vực 62 Hình 32. Biểu đồ tuần tự đối tượng Xóa lĩnh vực 63 Hình 33. Biểu đồ lớp 63 Hình 34. Giao diện đăng ký 64 Hình 35. Giao diện đăng nhập 64 Hình 36. Giao diện quản lý dự án 64 Hình 37. Giao diện quản lý lĩnh vực kinh doanh 65 Hình 38. Giao diện xây dựng mô hình ROI 65 Hình 39. Giao diện báo cáo 66 MỤC LỤC Chương 1: TỔNG QUAN VỀ TỶ SUẤT HOÀN VỐN ĐẦU TƯ (ROI) 8 1.1. Bài toán đầu tư 8 1.2. Khái niệm ROI (Return On Investment) 10 1.2.1. Định nghĩa và công thức 10 1.2.2. Tầm quan trọng của ROI 10 1.2.3. Các nhân tố ảnh hưởng đến ROI. 10 1.3. Mô hình ROI 17 Chương 2: CÔNG NGHỆ AJAX 20 2.1. Tổng quan về AJAX 20 2.2. Các công nghệ trong AJAX 23 2.2.1. Javascript 23 2.2.2. Cascading Style Sheets (CSS) 25 2.2.3. XML 26 2.2.4. Đối tượng XMLHttpRequest 30 Chương 3. PHÂN TÍCH THIẾT KẾ HỆ THỐNG TÍNH TOÁN ROI 34 3.1. Bài toán nghiệp vụ 34 3.2. Đặc tả yêu cầu 35 3.2.1. Mục đích 35 3.2.2. Các tính chất của hệ thống 35 3.2.3. Các chức năng của hệ thống 36 3.3. Đặc tả hệ thống 39 3.3.1. Các tác nhân và các ca sử dụng 39 3.3.2. Biểu đồ ca sử dụng 40 3.3.3. Mô tả các ca sử dụng 43 3.4. Phân tích hệ thống 50 3.5. Thiết kế hệ thống 55 3.6. Biểu đồ lớp 63 3.7. Kết quả thực nghiệm 64 MỞ ĐẦU Trong thời đại công nghiệp hóa, hiện đại hóa, đất nước phát triển chưa từng thấy như hiện nay, việc áp dụng công nghệ thông tin vào đời sống văn hóa – xã hội – kinh tế - chính trị là một nhu cầu cấp thiết. Đặc biệt, trong lĩnh vực kinh tế, với sự cạnh tranh vô cùng khốc liệt, các công ty phải không ngừng đổi mới nâng cao các ứng dụng công nghệ kỹ thuật hiện đại nhằm thu được lợi thế cho mình. Bài toán tỷ suất hoàn vốn đầu tư từ lầu đã được chú trọng, ngày nay càng được quan tâm đúng mực hơn. Xây dựng một công cụ trực tuyến trợ giúp cho việc tính toán tỷ suất hoàn vốn đầu tư một cách dễ dàng, nhanh chóng, trực quan và chính xác sẽ là một công cụ hết sức quan trọng đối với các nhà kinh doanh. Tuy nhiên, để có thể tính chính xác được tỷ suất hoàn vốn đầu tư thì quả là không đơn giản bởi nó không phải là tỷ suất thực mà là tỷ suất dự kiến. Trong khóa luận này tôi sẽ trình bày một hệ thống trợ giúp tính toán ROI trực tuyến sử dụng công nghệ AJAX và đạt được các tiêu chí: Dễ dàng, trực quan, nhanh chóng và chính xác.

doc68 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2354 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Khóa luận Dịch vụ web hỗ trợ đầu tư trực tuyến tính roi, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ã nêu, chúng ta thấy vốn có nhiều loại và tùy vào căn cứ để chúng ta phân loại vốn: - Căn cứ vào hình thái biểu hiện, vốn được chia làm hai loại: Vốn hữu hình và vốn vô hình. - Căn cứ vào phương thức luân chuyển, vốn được chia làm hai loại: Vốn cố định và vốn lưu động. - Căn cứ vào thời hạn luân chuyển, vốn được chia làm hai loại: Vốn ngắn hạn và vốn dài hạn. - Căn cứ vào nguồn hình thành, vốn được hình thành từ hai nguồn cơ bản: Vốn chủ sở hữu và nợ phải trả. - Căn cứ vào nội dung vật chất, vốn được chia làm hai loại: Vốn thực (còn gọi là vốn vật tư hàng hóa) và vốn tài chính (hay còn gọi là vốn tiền tệ). Hoạt động sản xuất kinh doanh của doanh nghiệp là một quá trình với các chu kỳ được lập đi lập lại, mỗi chu kỳ được chia làm nhiều giai đoạn từ chuẩn bị sản xuất, sản xuất và tiêu thụ. Trong mỗi giai đoạn của chu kỳ sản xuất kinh doanh, vốn được luân chuyển và tuần hoàn không ngừng, trên cơ sở đó nó hình thành vốn cố định và vốn lưu động mà chúng ta sẽ tiếp tục nghiên cứu để hiểu rõ hơn vai trò của chúng. Vốn cố định Bất kỳ một doanh nghiệp nào khi tiến hành sản xuất kinh doanh đều phải có tư liệu lao động, đó chính là đất đai, nhà xưởng, máy móc, thiết bị… chúng giữ vai trò là môi giới trong quá trình lao động. Trong nền sản xuất hàng hóa, việc mua sắm hay quản lý tư liệu lao động phải sử dụng tiền tệ. Chính vì lẽ đó, doanh nghiệp muốn tiến hành hoạt động kinh doanh phải ứng trước một số tiền vốn nhất định về tư liệu lao động. Số vốn này được luân chuyển theo mức hao mòn dần của tư liệu lao động. Khi tham gia vào quá trình sản xuất, tư liệu lao động vẫn giữ nguyên hình thái vật chất ban đầu và tham gia vào nhiều chu kỳ sản xuất kinh doanh, trong thời gian sử dụng chúng bị hao mòn dần. Vì vậy, giá trị của tư liệu lao động phụ thuộc vào mức độ hao mòn vật chất được chuyển dịch dần từng bộ phận vào sản phẩm mới. Bộ phận giá trị chuyển dịch của tư liệu lao động hợp thành một yếu tố chi phí sản xuất của doanh nghiệp và được bù đắp mỗi khi sản phẩm được thực hiện. Vì có đặc điểm trongquá trình luân chuyển, hình thái vật chất của tư liệu lao động không thay đổi, còn giá trị thì luân chuyển dần, cho nên bộ phận vốn ứng trước này là vốn cố định. Từ những nhận định đã nêu ta thấy: Vốn cố định của doanh nghiệp là số vốn ứng trước về những tư liệu lao động chủ yếu mà đặc điểm của nó là luân chuyển dần dần từng bộ phận giá trị vào sản phẩm mới cho đến khi tư liệu lao động hết thời hạn sử dụng thì vốn cố định mới hoàn thành một lần luân chuyển (hoặc hoàn thành một vòng tuần hoàn). Vốn cố định phản ánh bằng tiền bộ phận tư liệu lao động chủ yếu của doanh nghiệp. Tư liệu lao động lại là cơ sở vật chất của nền sản xuất xã hội. Chính vì thế, vốn cố định có tác dụng rất lớn đối với việc phát triển nền sản xuất xã hội. Tài sản cố định và vốn cố định của doanh nghiệp có sự khác nhau ở chổ: khi bắt đầu hoạt động, doanh nghiệp có vốn cố định giá trị bằng giá trị tài sản cố định. Về sau, giá trị của vốn cố định thấp hơn giá trị nguyên thủy của tài sản cố định do khoản khấu hao đã trích. Trong quá trình luân chuyển, hình thái hiện vật của vốn cố định vẫn giữ nguyên (đối với tài sản cố định hữu hình), nhưng hình thái giá trị của nó lại thông qua hình thức khấu hao chuyển dần từng bộ phận thành quỹ khấu hao. Do đó, trong công tác quản lý vốn cố định phải đảm bảo hai yêu cầu: một là bảo đảm cho tài sản cố định của doanh nghiệp được toàn vẹn và nâng cao hiệu quả sử dụng của nó; hai là phải tính chính xác số trích lập quỹ khấu hao, đồng thời phân bổ và sử dụng quỹ này để bù đắp giá trị hao mòn, thực hiện tái sản xuất tài sản cố định. Sau khi đã ứng trước một số vốn cho tư liệu lao động, để tiến hành sản xuất kinh doanh, doanh nghiệp cần phải có đối tượng lao động và sức lao động. Đây chính là vốn lưu động tại doanh nghiệp. Vốn lưu động Vốn lưu động là số vốn ứng trước về đối tượng lao động và tiền lương. Trong thực tế vận động, chúng thể hiện thông qua hình thái tồn tại như nguyên vật liệu ở khâu dự trữ sản xuất, sản phẩm đang chế tạo ở khâu trực tiếp sản xuất, thành phẩm, hàng hóa, tiền tệ ở khâu lưu thông. Đối tượng lao động ở doanh nghiệp biểu hiện thành hai bộ phận: một bộ phận là vật tư dự trữ để chuẩn bị sản xuất, một bộ phận là những vật tư đang trong quá trình chế biến (sản phẩm đang chế tạo, bán thành phẩm tự chế). Hình thái hiện vật của hai bộ phận này là tài sản lưu động. Tài sản lưu động phục vụ trực tiếp cho quá trình sản xuất là tài sản lưu động sản xuất. Trong hoạt động kinh doanh, không phải lúc nào sản phẩm sản xuất ra được tiêu thụ ngay. Thực tế cho thấy, sau khi sản phẩm hoàn thành, doanh nghiệp phải chọn lọc, đóng gói, tích lũy thành lô hàng, thanh toán với khách hàng… nên hình thành một số khoản vật tư và tiền tệ (thành phẩm, vốn bằng tiền, khoản phải trả…). Những khoản vật tư và tiền tệ phát sinh trong quá trình lưu thông gọi là tài sản lưu thông. Do tính chất liên tục của hoạt động kinh doanh, mọi doanh nghiệp phải có một số vốn thỏa đáng để mua sắm tài sản lưu động sản xuất và tài sản lưu thông. Cả hai loại tài sản này thay thế lẫn nhau vận động không ngừng để quá trình sản xuất kinh doanh được tiến hành thuận lợi. Trong nền kinh tế hàng hóa, tài sản lưu động sản xuất và tài sản lưu thông được biểu hiện dưới hình thái tiền tệ. Số vốn ứng trước cho những tài sản này gọi là vốn lưu động của doanh nghiệp. Vậy vốn lưu động của doanh nghiệp là số vốn ứng trước về đối tượng lao động và tiền lương tồn tại dưới các hình thái nguyên vật liệu dự trữ, sản phẩm đang chế tạo, thành phẩm, hàng hóa và tiền tệ hoặc đó là số vốn ứng trước về tài sản lưu động sản xuất và tài sản lưu thông ứng ra bằng số vốn lưu động nhằm đảm bảo cho quá trình tái sản xuất được thực hiện thường xuyên liên tục. Vốn lưu động luân chuyển giá trị toàn bộ ngay trong một lần và hoàn thành một vòng tuần hoàn sau một chu kỳ sản xuất. Vốn lưu động là điều kiện vật chất không thể thiếu được của quá trình sản xuất kinh doanh. Do đặc điểm tuần hoàn của vốn lưu động trong cùng một lúc nó phân bổ trên khắp các giai đoạn luân chuyển và tồn tại dưới nhiều hình thức khác nhau. Để tổ chức hợp lý sự tuần hoàn của các tài sản ở doanh nghiệp, để quá trình sản xuất kinh doanh diễn ra liên tục doanh nghiệp phải có đủ vốn để đầu tư vào các hình thái khác nhau như đã nêu làm cho các hình thái này có mức tồn tại hợp lý và đồng bộ. Vốn lưu động còn là công cụ phản ánh và kiểm tra quá trình vận động của vật tư, hàng hóa. Trong doanh nghiệp, sự vận động của vốn phản ánh sự vận động của vật tư, hàng hóa. Vốn lưu động nhiều hay ít phản ánh số lượng vật tư hàng hóa dự trữ ở các khâu nhiều hay ít. Mặt khác, vốn lưu động luân chuyển nhanh hay chậm phản ánh số lượng vật tư sử dụng có tiết kiệm hay không, thời gian nằm ở khâu sản xuất và lưu thông có hợp lý hay không. Vì thế, thông qua tình hình luân chuyển vốn lưu động còn có thể kiểm tra một cách toàn diện việc cung cấp, sản xuất và tiêu thụ của doanh nghiệp. Vốn lưu động là một bộ phận quan trọng của tài sản quốc gia. Tại doanh nghiệp, tổng số vốn lưu động và tính chất sử dụng của nó có quan hệ chặt chẽ với những chỉ tiêu công tác cơ bản của doanh nghiệp. Doanh nghiệp đảm bảo đầy đủ, kịp thời nhu cầu vốn cho sản xuất, ra sức tiết kiệm vốn, phân bổ vốn hợp lý trên các giai đoạn luân chuyển, tăng nhanh tốc độ luân chuyển vốn, thì với số vốn ít nhất có thể đạt hiệu quả kinh tế cao nhất. Hoàn thành tốt kế hoạch sản xuất, tiêu thụ sản phẩm là điều kiện để thực hiện tốt nghĩa vụ với ngân sách, trả nợ vay, thúc đẩy việc nâng cao hiệu quả sử dụng vốn lưu động. 1.3. Mô hình ROI ROI có thể được tính theo nhiều cách khác nhau tùy thuộc vào các nhân tố được đưa vào tính toán và phương thức tính toán. Hai phương pháp tính toán thường hay dùng là: - Mô hình tĩnh: Trong mô hình này, xem lợi nhuận thu được cho một thời kỳ là không đổi đối với mỗi năm, khi đó tổng lợi nhuận của thời kỳ n năm là: LN = P * n Trong đó P là lợi nhuận trước thuế của một năm - Mô hình biến thể: Trong mô hình này lợi nhuận được tính cho từng năm trong kỳ: LN = P1 + P2 + … + Pn Mô hình tính toán ROI: ROI LN VonDT CP TB DTKhac XL LD QL NVL KH CFBD TSCD TyLeKH LaiNgan LaiDH DT SL BH CPKhac Gia Hình 1: Mô hình cấu trúc các nhân tố tham gia tính ROI cơ bản Bảng 1: Các ký hiệu sử dụng trong mô hình STT Ký hiệu Ý nghĩa 1 ROI Tỷ suất hoàn vốn đầu tư 2 LN Lợi nhuận 3 VonDT Vốn đầu tư 4 DT Doanh thu 5 CP Chi phí 6 TB Thiết bị 7 XL Xây lắp 8 DTKhac Đầu tư khác 9 LaiDH Lãi vay dài hạn 10 SL Sản lượng 11 Gia Giá sản phẩm 12 CPBD Chi phí biến động 13 KH Khấu hao 14 BH Chi phí bán hàng 15 CPKhac Chi phí khác (như quảng cáo) 16 NVL Nguyên vật liệu 17 LD Lao động 18 QL Quản lý 19 LaiNgan Lãi vay ngắn hạn 20 TyLeKH Tỷ lệ khấu hao 21 TSCD Tài sản cố định Chương 2: CÔNG NGHỆ AJAX 2.1. Tổng quan về AJAX Vào những năm 90, trên thế giới, khi mà công nghệ “Web động” cho phép các lập trình viên nhanh chóng phát triển các ứng dụng trên nền Web với khả năng tương tác 2 chiều với người sử dụng, nhiều người đã có thể hy vọng rằng đến một lúc nào đó tất cả các ứng dụng mà chúng ta sử dụng sẽ là các ứng dụng Web thay vì các phần mềm chạy độc lập trên các máy tính đơn lẻ (ứng dụng desktop). Quả thật, với sự phát triển chóng mặt của mạng Internet cùng với những ưu điểm của các ứng dụng Web (truy cập tại mọi nơi, không cần nâng cấp nhiều về phía máy sử dụng,…), tương lai của các phần mềm chắc chắn sẽ gắn chặt với các ứng dụng Web, nếu không muốn nói là có thể sẽ bị thay thế. Tuy nhiên, cho đến giờ, hy vọng đó vẫn chưa được đáp ứng một cách triệt để bởi một số điểm đặc trưng của ứng dụng Web lại chính là những giới hạn tưởng chừng như không thể vượt qua nổi. Đó chính là cách thức mà người dùng và ứng dụng Web tương tác với nhau. Khác với các phần mềm chạy độc lập ở máy khách (có khả năng tương tác gần như tức thời với người dùng), các ứng dụng Web bị giới hạn bởi chính nguyên lý hoạt động của nó: tất cả các giao dịch phải thực hiện thông qua phương thức giao dịch HTTP (HyperText Transport Protocol - Giao thức truyền tải qua các siêu liên kết) trong một mô hình có tên Client/Server. Bất kỳ một tác động nào của người dùng lên ứng dụng Web thông qua trình duyệt đều cần thời gian gửi về Server và sau khi xử lý, Server sẽ trả về những thông tin người dùng mong đợi. Như vậy, độ trễ trong trường hợp này chính là điều mà các ứng dụng Web khó có thể sánh với như các phần mềm chạy trên máy tính đơn lẻ (đặc biệt là trong các ứng dụng như Bản đồ trực tuyến, soạn thảo văn bản trực tuyến, sát hạch trực tuyến có tính thời gian làm bài…). Thuật ngữ AJAX được xuất hiện vào ngày 18/2/2005 trong một bài báo có tên AJAX : A New Approach to Web Applications của tác giả Jesse James Garrett, công ty AdapativePath. Ông định nghĩa và tóm gọn lại từ cụm từ “Asynchronous JavaScript+CSS+DOM+XMLHttpRequest”. Ngay sau đó thuật ngữ AJAX được phổ biến cực kỳ nhanh chóng trong cộng đồng phát triển Web và cho đến nay nó là một trong những từ khóa được tìm kiếm nhiều nhất trên Internet. Nội dung định nghĩa của Garrett về AJAX như sau: AJAX không phải là một công nghệ. Nó là tập hợp của nhiều công nghệ với thế mạnh của riêng mình để tạo thành một sức mạnh mới. AJAX bao gồm: * Thể hiện Web theo tiêu chuẩn XHTML và CSS; * Nâng cao tính năng động và tương tác bằng DOM (Document Object Model); * Trao đổi và xử lý dữ liệu bằng XML và XSLT; * Truy cập dữ liệu theo kiểu không đồng bộ (asynchronous) bằng XMLHttpRequest * Tất cả các kỹ thuật trên được liên kết lại với nhau bằng JavaScript. Trong các thành phần cấu thành trên, điểm mấu chốt của AJAX nằm ở XMLHttpRequest. Đây là một kỹ thuật do Microsoft khởi xướng và tích hợp lần đầu tiên vào IE5 dưới dạng một ActiveX. Mozilla tích hợp công nghệ này vào Mozilla 1.0/Netscape 6 sau đó (đương nhiên toàn bộ các version sau này của Firefox đều có XMLHttpRequest) và hiện nay đã có trong trình duyệt Safari 1.2 (Apple) và Opera 7 trở lên. Một số nét khác biệt cơ bản giữa các ứng dụng Web truyền thống và ứng dụng Web sử dụng AJAX: Trong các ứng dụng Web truyền thống, khi người dùng có một cần thay đổi dữ liệu trên trang Web, yêu cầu thay đổi được gửi về server dưới dạng HTTP request (hay còn gọi postback), server sẽ xử lý yêu cầu này và gửi trả lại trang HTML khác thay thế trang cũ. Qui trình này được mô tả là nhấp-chờ và tải lại (click-wait-and-refresh): ví dụ người dùng sau khi nhấn một nút “Submit” trên trang Web phải chờ cho đến khi server xử lý xong mới có thể tiếp tục công việc. Ngược lại, trong các ứng dụng AJAX, người dùng có thể nhấn chuột, gõ phím liên tục mà không cần chờ đợi. Nội dung tương ứng với từng hành động của người dùng sẽ gần như ngay lập tức được hiển thị vào vị trí cần thiết (đáp ứng gần như tức thời) trong khi trang Web không cần phải làm tươi lại toàn bộ nội dụng. Để tìm hiểu kỹ hơn điều này, ta sẽ xem xét 2 mô hình ứng dụng, Mô hình cổ điển và Mô hình AJAX-based: Mô hình cổ điển của một ứng dụng Web Hình 2. Mô hình cổ điển của một ứng dụng Web Mô hình ứng dụng Web sử dụng AJAX Hình 3. Mô hình ứng dụng Web sử dụng AJAX Rõ ràng điểm khác biệt là thay vì phải tải cả trang Web thì với AJAX trình duyệt phía người dùng chỉ cần tải về phần của trang Web mà người dùng muốn thay đổi. Điều này giúp cho ứng dụng Web phản hồi nhanh hơn, thông minh hơn. Ngoài ra, điểm đặc biệt quan trọng trong công nghệ AJAX nằm ở chữ A (Asynchronous) – không đồng bộ – tức là người dùng cứ gửi yêu cầu của mình tới server và quay lại với công việc của mình mà không cần chờ trả lời. Khi nào server xử lý xong yêu cầu của phía người dùng, nó sẽ báo hiệu và người dùng có thể “thu nhận lấy” để thể hiện những thay đổi cần thiết. Vậy tất cả cơ chế này hoạt động thực sự thế nào? AJAX cho phép tạo ra một AJAX Engine nằm giữa giao tiếp này. Khi đó, các yêu cầu gửi (resquest) và nhận (response) do AJAX Engine thực hiện. Thay vì trả dữ liệu dưới dạng HTML và CSS trực tiếp cho trình duyệt, Web server có thể gửi trả dữ liệu dạng XML và AJAX Engine sẽ tiếp nhận, phân tách và chuyển hóa thành XHTML + CSS cho trình duyệt hiển thị. Việc này được thực hiện trên client nên giảm tải rất nhiều cho server, đồng thời người sử dụng cảm thấy kết quả xử lý được hiển thị tức thì mà không cần nạp lại trang. Mặt khác, sự kết hợp của các công nghệ Web như CSS và XHTML làm cho việc trình bày giao diện trang Web tốt hơn nhiều và giảm đáng kể dung lượng trang phải nạp. Đây là những lợi ích hết sức thiết thực mà AJAX đem lại. 2.2. Các công nghệ trong AJAX 2.2.1. Javascript Javascript là một ngôn ngữ thông dịch, chương trình nguồn của nó được nhúng hoặc tích hợp vào tập tin HTML chuẩn. Khi file được load trong Browser, Browser sẽ thông dịch các Script và thực hiện các công việc xác định. Chương trình nguồn JavaScript được thông dịch trong trang HTML sau khi toàn bộ trang được load nhưng trước khi trang được hiển thị. Javascript là một ngôn ngữ có đặc tính: Đơn giản Động Hướng đối tượng Trên trình duyệt, rất nhiều trang web sử dụng JavaScript để thiết kế trang web động và một số hiệu ứng hình ảnh thông qua DOM. JavaScript được dùng để thực hiện một số tác vụ không thể thực hiện được với chỉ HTML như kiểm tra thông tin nhập vào, tự động thay đổi hình ảnh,... Ở Việt Nam, JavaScript còn được ứng dụng để làm bộ gõ tiếng Việt giống như bộ gõ hiện đang sử dụng trên trang Wikipedia tiếng Việt. Tuy nhiên, mỗi trình duyệt áp dụng JavaScript khác nhau và không tuân theo chuẩn W3C DOM, do đó trong rất nhiều trường hợp lập trình viên phải viết nhiều phiên bản của cùng một đoạn mã nguồn để có thể hoạt động trên nhiều trình duyệt. Các thành phần cú pháp chính Biến: Trước khi sử dụng biến trong JavaScript, lập trình viên không nhất thiết phải khai báo biến. Có hai cách để định nghĩa biến trong JavaScript. Một là sử dụng cú pháp var để khai báo biến: var tên_biến; Hoặc chỉ việc gán cho biến một gía trị để sử dụng biến đó: tên_biến =giá_trị; Biến được định nghĩa ngoài tất cả các hàm hoặc được sử dụng mà không khai báo với cú pháp var sẽ được coi là biến toàn cục, những biến này có thể sử dụng trên toàn trang web. Biến được khai báo với var bên trong một hàm là biến cục bộ của hàm đó và chỉ có thể sử dụng được bên trong hàm đó. Đối tượng: JavaScript có một số đối tượng định nghĩa sẵn, bao gồm mảng (Array), đối tượng đại số Bool (Boolean), đối tượng ngày tháng (Date), đối tượng hàm (Function), đối tượng toán học (Math), đối tượng số (Number), đối tượng đối tượng (Object), đối tượng biểu thức tìm kiếm (RegExp) và đối tượng chuỗi ký tự (String). Các đối tượng khác là đối tượng thuộc phần mềm chủ (phần mềm áp dụng JavaScript - thường là trình duyệt). Mảng: JavaScript cũng cho phép làm việc với mảng giống như trong C. Một số ví dụ về mảng: var test = new Array(10); // Tạo một mảng 10 chỉ mục var test2 = new Array(0,1,2,,3); // Tạo một mảng với bốn giá trị và 5 chỉ mục var test3 = new Array(); test3["1"] = 123; // Hoàn toàn đúng cú pháp Các cấu trúc điều khiển, các vòng lặp: Giống như các ngôn ngữ lập trình khác, ví dụ ngôn ngữ C,… Ngoài ra JavaScript còn cho phép làm việc với các sự kiện chuột, bàn phím 2.2.2. Cascading Style Sheets (CSS) CSSlà một ngôn ngữ quy định cách  trình bày cho các  tài  liệu viết bằng HTML, XHTML, XML, SVG, hay UML,…  CSS cung cấp hàng trăm thuộc tính trình bày dành cho các đối tượng với sự sáng tạo cao trong kết hợp các thuộc tính giúp mang lại hiệu quả. Sử dụng các mã định dạng trực tiếp trong HTML tốn hao nhiều thời gian thiết kế cũng  như dung lượng lưu trữ trên đĩa cứng. Trong khi đó CSS đưa ra phương thức “tờ mẫu ngoại” giúp áp dụng một khuôn mẫu chuẩn từ một file CSS ở ngoài. Nó thật sự có hiệu quả đồng bộ khi tạo một website có hàng trăm trang và thực sự thuận tiện khi muốn thay đổi một thuộc tính trình bày nào đó. Cú pháp của CSS gồm ba thành phần: Thành phần lựa chọn (thường là một thẻ HTML) (Selecto). Thuộc tính (Property). Giá trị (Value). Cú pháp như sau: Selector { Property1: Value1; Property2: Value2; } Selector có thể là các thẻ/nhóm thẻ HTML, các lớp khai báo, hay bằng định danh duy nhất của phần tử. Khi chèn các đoạn mã CSS vào trang web, trình duyệt sẽ hiển thị trang web theo cách CSS đã qui định cho nó, có ba cách để chèn CSS vào trang web: Chèn ngay trong mã thẻ của HTML: Text Sử dụng file CSS được định nghĩa trong file riêng: Định nghĩa các style sheet ngay trong trang web: hr {color: sienna;} p {margin-left: 20px;} body {background-image: url("images/back40.gif");} Property là thuộc tính của Selector ví dụ như: color, font-size, background,… Value là các giá trị cho thuộc tính. 2.2.3. XML XML là chữ viết tắt của eXtensible Markup Language (Ngôn ngữ đánh dấu mở rộng). XML cũng là một ngôn ngữ đánh dấu giống như HTML. Cú pháp của XML thì cũng gần giống với cú pháp của HTML, nghĩa là cũng dùng tag mở () và tag đóng () để đánh dấu một đoạn thông tin. Ngôn ngữ đánh dấu không phải là ngôn ngữ lập trình, nó được dùng để thêm chức năng/tính chất cho một số thông tin nào đó để cho thông tin đó được thể hiện hay có vai trò một cách khác với những thông tin không được đánh dấu. Ví dụ trong HTML: Xin chào tôi tên là Maika Thì khi in ra sẽ là: Xin chào tôi tên là Maika Ở đây ta thấy là chữ Maika đã được đánh dấu bằng cặp tag , để được hiển thị đậm lên so với các ký tự khác. Tuy nhiên, XML khác với các ngôn ngữ khác ở chỗ XML không đơn thuần chỉ là một ngôn ngữ đánh dấu mà nói cho chính xác, XML là một ngôn ngữ dùng để định nghĩa ngôn ngữ. Bởi vì XML cho phép ta tự định nghĩa cách thể hiện văn bản bằng các tag do người dùng quy định. Chính nhờ những tag này mà chúng ta có thể tự định nghĩa bất kỳ một thông tin nào trên thế giới, không nhất thiết phải liên quan đến IT mà nó có thể là Toán học, Kinh tế, Âm nhạc, ... XML được sinh ra nhằm những mục đích chính sau: Tạo ra một tiêu chuẩn thống nhất để truyền và trao đổi thông tin với nhau qua Internet bởi các web services. Thông tin XML được truyền qua Internet bằng các protocol như HTTP hay SOAP. XML hỗ trợ hầu hết các ứng dụng. Trong khi HTML chỉ được dùng hạn chế trên trang web mà thôi, không dùng được bởi các ứng dụng. Tạo thuận lợi cho các trình ứng dụng đọc và xử lý thông tin dưới dạng XML, bởi vì thật chất XML chỉ là một file text đơn thuần. XML có thể được soạn thảo bằng bất kỳ text-editor nào như Notepad chẳng hạn. Cấu trúc của một file .xml Ví dụ một file .xml HTML & XML How to Coltech $50 C programming - How to XML $23.5 Teach yourself cooking Maika $10 Một file .xml thông thường sẽ bao gồm các phần như sau: Dòng khai báo XML Trong ví dụ trên, chúng ta dùng version 1.0 vì đây là phiên bản hiện hành của xml. Encoding để chỉ ra cái character encoding của file .xml, tương tự như tag meta của HTML. standalone để cho các XML parser (chương trình đọc và phân tích file .xml) biết rằng file xml này là tự nó tồn tại một mình hay là cần phải đi kèm với một file .dtd nào khác. Trong 3 thuộc tính trên thì chỉ có version là bắt buộc. Dòng khai báo loại văn bản DOCTYPE phải viết. Sau chữ DOCTYPE sẽ là root-tag, đây cũng chính là cái tag đầu tiên của file .xml. Trong ví dụ trên, root-tag books trong phần khai báo DOCTYPE là trùng với tag ở dòng thứ 3, là tag đầu tiên của file .xml. Tiếp theo, ta có thể chọn SYSTEM hoặc PUBLIC. Trước tiên, cần hiểu một file .dtd (Document Type Declaration) đóng vai trò như là một template của file .xml. Trong file dtd này, chúng ta sẽ quy định cấu trúc của file xml đang xét, chẳng hạn như là có những tag nào? mỗi tag sẽ có những thuộc tính nào? các tag sẽ lồng nhau ra sao? v.v… Nếu chọn SYSTEM thì có nghĩa là chỉ dùng file.dtd cho riêng file xml này thôi. Còn nếu dùng PUBLIC thì nghĩa là dùng một cái file .dtd của người khác chia sẻ. Khi đó phải khai báo tên của tổ chức sở hữu file.dtd này và địa chỉ URI trỏ tới cái file.dtd. Lưu ý: Nếu không khai báo dòng thì XML parser sẽ hiểu là file .xml này không có template, tự định nghĩa. Các nhân tố Một nhân tố được định nghĩa bao gồm một cặp tag (đóng và mở) và tất cả những gì nằm trong cặp tag đó. Vì dụ như trên, là một nhân tố vì nó có tag mở , tag đóng . Tương tự cũng là một nhân tố, , , ... cũng vậy. trường hợp của được gọi là nhân tố rỗng vì nó không có nội dung gì cả. Đối với một nhân tố rỗng, có 2 cách thể hiện: hoặc dùng một cặp tag đóng và mở () hay có thể dùng dạng rút gọn . Bất kỳ nhân tố nào trong XML đều phải được đóng lại. Cho nên nếu ta ghi không là sai cú pháp. Thuộc tính: Thuộc tính được lồng trong tag mở đầu của một nhân tố, có vai trò bổ sung thông tin cho nhân tố đó. Trong ví dụ trên, id là thuộc tính của nhân tố , giúp phân biệt các cuốn sách khác nhau. Lưu ý: không giống như HTML, các giá trị của thuộc tính trong XML phải được bao bởi cặp nháy kép (“”). Thực thể Thực thể cho phép chèn những đoạn văn bản hay lặp lại trong file .xml bằng cách thay thế chúng bằng những thực thể. Ví dụ nếu ta khai báo (đặt dòng khai báo này sau dòng nhưng trước cái tag đầu tiên của file .xml) Thì mỗi khi ta ghi ©right; thì trình biên dịch sẽ thay thế nó bằng câu "Copyright by Haiau". Lưu ý là tên của ENTITY phải bắt đầu bằng dấu & và kết thúc bằng dấu chấm phẩy ; Có 5 cái entity được định nghĩa sẵn trong XML là: ' : ' (dấu nháy đơn) & : & (dấu và) > : > (dấu lớn hơn) < : < (dấu nhỏ hơn) " : " (dấu nhấy kép) Như ví dụ trên ghi "HTML & XML how to" thì khi biên dịch ra sẽ thành " HTML & XML how to ". Text Text là những nội dung thuộc nhân tố, cung cấp thông tin về nhân tố đó. Vì dụ như trên Coltech là một text thuộc vào nhân tố author vì nó nằm giữa 2 tag và . Ngoài những cái trên thì còn những cái không quan trọng như là ghi chú (comment). Những câu ghi chú không thuộc vào nội dung của file .xml. Cũng giống như HTML, ghi chú trong XML được bao bởi cặp Một cái khác nữa là CDATA. Đôi khi, trong phần text chúng ta có những cái tag nhưng chúng ta không muốn trình biên dịch XML hiểu rằng nó là một tag thuộc file .xml mà chỉ là văn bản đơn thuần. Khi đó, ta phải để phần text của chúng ta trong tag CDATA, cú pháp như sau: ví dụ ta có thể có đoạn text như sau: document.write("hello world") ]]> Các ràng buộc trong XML Các nhân tố phải được lồng vào nhau một cách hợp lý, không chồng chất lên nhau. Một nhân tố con phải hoàn toàn nằm trong nhân tố cha. Các giá trị của thuộc tính phải được bao bọc bởi cặp ngoặc kép. Bất kỳ nhân tố nào cũng có tag mở và tag đóng. Nếu nhân tố đó rỗng (không có text) thì phải dùng dạng rút gọn () Chỉ có duy nhất một nhân tố là cha của tất cả các nhân tố khác và nhân tố này gọi là nhân tố văn bản Trong mỗi nhân tố, một thuộc tính nếu có chỉ được xuất hiện một lần duy nhất. XML phân biệt chữ hoa với chữ thường đối với tên của các nhân tố, thuộc tính, ... Do đó, nên hoặc dùng chữ in hết, hoặc dùng chữ thường hết đối với các nhân tố, thuộc tính, ... trong file .xml. (trừ các câu lệnh khai báo như ENTITY, DOCTYPE, CDATA). 2.2.4. Đối tượng XMLHttpRequest XMLHttpRequest là yếu tố trọng tâm trong AJAX. Đối tượng này cung cấp các chức năng trao đổi dữ liệu bất đồng bộ giữa client và server. Cần tạo một đối tượng XMLHttpRequest bằng JavaScript trước khi sử dụng đối tượng này để gửi yêu cầu và nhận các trả lời từ server. XMLHttpRequest chưa là chuẩn của W3C, vì thế phải dùng JavaScript theo nhiều cách khác nhau đối với các trình duyệt khác nhau để tạo một thể hiện của của XMLHttpRequest. Internet Explorer thực thi XMLHttpRequest như một đối tượng ActiveX, và các trình duyệt khác như Firefox, Safari, và Opera thực thi nó như một đối tượng JavaScript nguyên thủy. Các tạo đối tượng XMLHttpRequest: var xmlHttp; function createXMLHttpRequest() { if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); } } Đoạn mã trên kiểm tra sự hỗ trợ đối tượng ActiveX của trình duyệt. Nếu hỗ trợ ActiveX, thì tạo một đối tượng XMLHttpRequest dùng ActiveX. Trường hợp khác, tạo đối tượng này bằng kỹ thuật tạo đối tượng JavaScript nguyên thủy. Do đó dễ dàng tạo ra các thể hiện của đối tượng XMLHttpRequest mà không quan tâm tới trình duyệt. Ba thuộc tính quan trọng của XMLHttpRequest - Thuộc tính onreadystatechange: Sau khi gửi yêu cầu tới server ta cần một một hàm nào đó để nhận dữ liệu trả về từ server. Thuộc tính onreadystatechange trỏ tới một hàm mà sẽ thực hiện việc xử lý dữ liệu trả về từ server. Hàm này sẽ được gọi một cách tự động. xmlhttp.onreadystatechange=function() { // Các câu lệnh để xử lý dữ liệu trả về } - Thuộc tính readyState: Lưu trữ trạng thái của dữ liệu trả về từ server, mỗi lần thuộc tính này thay đổi giá trị thì hàm onreadystatechange sẽ được thực thi. Các giá trị của readyState: 0: Yêu cầu chưa được khởi tạo 1: Yêu cầu đã được thiết lập 2: Yêu cầu đã được gửi đi 3: Yêu cầu đang được xử lý 4: Yêu cầu đã hoàn thành Thêm câu lệnh if vào hàm onreadystatechange để kiểm tra xem server đã xử lý xong và gửi trả lời về chưa: xmlhttp.onreadystatechange=function(){ if(xmlhttp.readyState==4){ // Lấy dữ liệu từ trả lời của server } } - Thuộc tính responseText: Nhận dữ liệu trả về từ server: xmlhttp.onreadystatechange=function(){ if(xmlhttp.readyState==4){ document.myForm.text.value = xmlhttp.responseText; } } Các bước cơ bản để gửi request dùng đối tượng XMLHttpRequest là: 1. Dùng một tham chiếu tới một thể hiện của XMLHttpRequest, có thể bằng cách tạo mới hay truy cập vào một biến có thể hiện của XMLHttpRequest. 2. Khai báo cho đối tượng XMLHttpRequest về hàm sẽ xử lí các trạng thái của XMLHttpRequest. Ta hoàn thành việc này bằng cách thiết lập thuộc tính onreadystatechange của đối tượng với một con trỏ về một hàm JavaScript. 3. Gán các thuộc tính cho request sử dụng phương thức open() của đối tượng XMLHttpRequest. Phương thức open() có ba tham số: một biến string cho biết phương thức dùng là GET hay POST, một biến string biểu diễn địa chỉ URL của tài nguyên, một biến boolean chỉ báo request sẽ là bất đồng bộ. 4. Gửi request tới server sử dụng phương thức send(). Ví dụ: xmlhttp.open("GET","sample.php?text=testtesttest",true); xmlhttp.send(null); Chương 3. PHÂN TÍCH THIẾT KẾ HỆ THỐNG TÍNH TOÁN ROI 3.1. Bài toán nghiệp vụ Trong hoạt động đầu tư, bất kỳ một nhà đầu tư nào trước khi quyết định đầu tư vào một dự án họ đều phải có những tính toán sao cho việc đầu tư của họ đạt hiệu quả cao nhất. Mỗi nhà đầu tư có thể đầu tư vào nhiều dự án khác nhau, thuộc các lĩnh vực kinh doanh khác nhau. Mỗi dự án có một chỉ tiêu quan trọng để đánh giá hiệu quả của việc đầu tư đó là tỉ suất ROI. Trong khi một dự án nào đó đang thực hiện, nhà đầu tư có thể có thêm các dự án mới và như thế số dự án ngày một tăng lên theo thời gian. Một hoạt động quan trọng và thường xuyên của các nhà đầu tư là họ phải quản lý được các dự án mà họ đã đầu tư cũng như các dự án mà họ dự định sẽ đầu tư. Khi đầu tư vào một dự án, nhà đâu tư sẽ thu thập các thông tin chi tiết về dự án như: Tên dự án, ngày tạo dự án, đơn vị thực hiện dự án, lĩnh vực kinh doanh, … và một thông tin hết sức quan trọng đó là tỉ suất ROI của dự án đó. Để có được tỉ suất ROI nhà đầu tư cần thu thập các nhân tố có ảnh hưởng tới tỉ suất ROI để từ đó xây dựng lên các mô hình tính toán và tính được giá trị ROI. Các thông tin này sẽ được nhập vào hệ thống và một dự án mới sẽ được tạo ra. Trong quá trình thực hiện dự án, một số thông tin về dự án có thể có sự thay đổi, nhà đầu tư sẽ tìm dự án đó và cập nhật các sự thay đổi cần thiết. Trong hoạt động đầu tư của mình, nhà đầu tư có thể gặp các dự án tương tự dự án mà mình đã từng đầu tư, lúc đó nhà đầu tư sẽ sao chép dự án cũ và thực hiện sửa đổi một số thông tin cho phù hợp với dự án mới sau đó lưu dự án dưới dạng một dự án mới. Có những dự án không còn cần thiết nữa hoặc đó là các dự án lỗi, nhà đầu tư có thể xóa các dự án đó ra khỏi hệ thống. Đối với các dự án thực hiện thành công và việc đầu tư đạt hiệu quả cao, nhà đầu tư có thể chia sẻ các dự án đó cho các nhà đầu tư khác tham khảo. Ngoài ra, nhà đầu tư có thể in báo cáo chi tiết về một dự án đầu tư nào đó hoặc báo cáo tổng thể thông tin về tất cả các dự án mà mình đã đầu tư. 3.2. Đặc tả yêu cầu 3.2.1. Mục đích Mục đích của dự án này là tạo ra một hệ thống ứng dụng trên nền web, cho phép các doanh nghiệp, các nhà đầu tư tính được giá trị tỉ suất hoàn vốn đầu tư (ROI) đối với từng dự án theo từng lĩnh vực kinh doanh một cách chính xác, nhanh chóng và có phương pháp, đồng thời cho phép họ quản lý các dự án của mình. 3.2.2. Các tính chất của hệ thống Bất cứ một nhà đầu tư nào cũng muốn có trong tay một bản kế hoạch kinh doanh khả thi, tiệm cận thực tế. Trong bản kế hoạch kinh doanh đó, tỉ suất hoàn vốn đầu tư (ROI) luôn dành được sự chú ý cao nhất bởi nó phản ánh trung thực hiệu quả kinh doanh. Khi vạch kế hoạch kinh doanh, tỉ suất ROI được coi là mục tiêu quan trọng nhất để nhà đầu tư nhắm tới. Sau một quá trình hoạt động, thông qua một dữ liệu kinh doanh cụ thể, nhà đầu tư có được tỉ suất ROI của hoạt động kinh doanh vừa qua, từ đó thực hiện nghiên cứu thị trường, vạch ra kế hoạch kinh doanh mới cùng với tỉ suất ROI mới. Do đó, nhà đầu tư mong muốn hệ thống tính toán ROI phải có được những tính chất sau: Tính chính xác Tỷ suất ROI là một thông tin đặc biệt quan trọng đối với mỗi nhà đầu tư. Dựa trên tỉ suất ROI nhà đầu tư sẽ đưa ra quyết định đầu tư của mình. Vì vậy tỉ suất ROI cần đạt được sự chính xác nhất định trong việc tính toán những nhân tố của quá trình kinh doanh. Ngay đối với từng sản phẩm, mô hình ROI cũng bao gồm rất nhiều mối quan hệ nhằng nhịt, phức tạp, nhiều mối quan hệ không thể hiện rõ ràng cho người tính. Do đó, nếu để người tự tính, không thể tránh được những sai sót, bỏ qua nhân tố. Điều này có thể gây ảnh hưởng nghiêm trọng tới quyết định của nhà đầu tư. Tính khả biến Hoạt động kinh doanh của doanh nghiệp này và doanh nghiệp kia thông thường là rất khác nhau do điều kiện và môi trường hoạt động khác nhau. Một chương trình tính tỉ suất lợi nhuận không thể áp dụng cho mọi hoạt động kinh doanh của các doanh nghiệp một cách cứng nhắc mà phải có tính khả biến để phù hợp với đặc điểm của từng doanh nghiệp. Hơn nữa, chương trình cần có sự hỗ trợ cho nhà đầu tư trong từng lĩnh vực kinh doanh, tức là giảm bớt công sức của người sử dụng trong việc xây dựng mô hình ROI. Tính toàn diện Một chương trình tính tỉ suất ROI không chỉ tính cho một mặt hàng đơn lẻ mà cần phải có khả năng tính cho nhiều mặt hàng. Hơn nữa, không chỉ tính cho một công ty thành viên mà cần tính cho toàn bộ tổng công ty. Đó là tính toàn diện của hệ thống. Như thế, toàn bộ hoạt động kinh doanh của một doanh nghiệp có thể liên kết với nhau một cách thống nhất, chính xác và rõ ràng, giúp nhà đầu tư luôn có được cái nhìn khái quát về tình hình hoạt động kinh doanh của doanh nghiệp, luôn có được những thông tin nhanh nhậy, đầy đủ, vận động theo sự biến động của thị trường. Từ đó, đưa ra được quyết định kinh doanh đúng đắn, kịp thời. Tính thân thiện Hệ thống tính tỉ suất ROI không thể yêu cầu người sử dụng có trình độ hiểu biết cao về tinh học và kinh tế. Vì thế, hệ thống cần có sự hỗ trợ rõ ràng, đầy đủ, thuận tiện, dễ dùng, giảm bớt công sức trong việc dây dựng mô hình ROI. 3.2.3. Các chức năng của hệ thống C1. Quản lý người dùng Để có thể sử dụng được hệ thống, người sử dụng cần phải có một tài khoản đăng nhập. Tài khoản đăng nhập được chia thành hai cấp độ, đó là: tài khoản người dùng bình thường và tài khoản người quản trị hệ thống. Người dùng bình thường sau khi đăng nhập thì có thể sử dụng các chức năng cơ bản của hệ thống như: Quản lý các dự án đầu tư mà người dùng đã tạo, tạo mới dự án đầu tư, xây dựng mô hình tính toán ROI, v.v… Tài khoản người quản trị hệ thống ngoài chức năng như người dùng bình thường thì còn có thêm quyền quản lý các cấu hình của hệ thống, được phép quản lý (thêm, xóa, sửa) các người dùng khác và các dự án tồn tại trong hệ thống. C2. Quản lý các dự án đầu tư Các dự án đầu tư do người dùng tạo ra và được phân loại theo các lĩnh vực khác nhau như: Công nghệ thông tin, Y tế, Văn hóa – Xã hôi, v.v…Mỗi một người sử dụng đều có thể quản lý với quyền đầy đủ là Thêm, Xóa, Sửa đối với các dự án do người dùng đó tạo ra. Ngoài ra, người dùng còn có thể chia sẻ dự án của mình cho những người khác tham khảo. Đối với các dự án được chia sẻ, những người dùng khác chỉ có thể đọc dự án mà không được phép xóa hoặc thay đổi. Người dùng có thể sao chép một dự án được chia sẻ từ người dùng khác về làm dự án của mình để từ đó sửa đổi cho phù hợp với dự án mà người dùng đang cần. hoặc cũng có thể tạo mới một dự án bằng cách sao chép từ dự án đã có. C3. Xây dựng mô hình tính ROI bằng đồ họa C3.1. Tạo các nhân tố. Sau khi tạo dự án, người dùng có thể bắt đầu xây dựng mô hình tính toán ROI cho dự án đó. Mô hình ROI bao gồm nhiều nhân tố có mối liên hệ với nhau. Các nhân tố được phân chia thành các cấp 1, 2, 3, 4, …. Nhân tố ROI có cấp thấp nhất là 0. Các nhân tố cấp cao sẽ là con của các nhân tố cấp thấp. Mỗi nhân tố có thể có nhiều con nhưng chỉ có thể có một cha. ROI LN VonDT CP TB DTKhac XL LD QL NVL KH CFBD TSCD TyLeKH LaiNgan LaiDH DT SL BH CPKhac Gia Mức 0 Mức 1 Mức 3 Lá Nút Hình 4. Mô hình ROI theo các mức Mỗi nhân tố có các thuộc tính là: Tên, Công thức và Giá trị. Tên sẽ có dạng: A?: Tên_nhân_tố Trong đó A? là ký hiệu của nhân tố, bắt đầu bằng chữ A và theo sau là số thứ tự. Việc tạo ký hiệu cho nhân tố sẽ tạo điều kiện thuận lợi cho việc nhập công thức cho nhân tố cha của nó. Các nhân tố không có con ta gọi là các nhân tố “lá”, các nhân tố có từ 1 con trở lên gọi là các nhân tố “nút”. Đối với các nhân tố “lá” thì người dùng phải nhập giá trị cho nhân tố và không cần nhập công thức. Còn các nhân tố “nút” thì người dùng chỉ cần nhập công thức, không cần nhập giá trị. Giá trị của các nhân tố “nút” sẽ được tính tự động dựa vào công thức của nhân tố và các nhân tố con. Công thức nhập vào sẽ có dạng (A1+A2*A3)/100. Trong đó A1, A2, A3 là các ký hiệu của các nhân tố con. Công thức có thể nhập dạng ngắn gọn chỉ bằng dấu ‘+’ hoặc ‘-’ hoặc ‘*’ hoặc ‘/’. Nếu nhập dạng ngắn gọn thì giá trị của nhân tố sẽ được tính bằng cách lấy các giá trị của nhân tố con thực hiện phép tính được nhập vào công thức. Ví dụ: ‘+’ tương ứng A1+A2+A3+...; ‘*’ tương ứng A1*A2*A3*… Khi người dùng chọn một nhân tố và muốn tạo nhân tố mới thì hệ thống phải đưa ra danh sách các gợi ý về các nhân tố con của nhân tố được chọn để người dùng lựa chọn. Khi người dùng chọn một nhân tố trong danh sách thì nhân tố ngay lập tức được vẽ ra một cách trực quan. C3.2. Sửa đổi nhân tố. Người dùng có khả năng chọn một nhân tố và sửa đổi các thuộc tính của nhân tố đó. Việc sửa đổi thực hiện trực tiếp trên nhân tố mà không bật một hộp thoại nhập liệu ra. C3.3. Vẽ các đường liên kết giữa các nhân tố. Người dùng có thể vẽ các đường mũi tên từ một nhân tố đến một nhân tố khác để thể hiện mối quan hệ cha con giữa chúng. Đường liên kết có thể được vẽ tự động nếu người dùng tạo nhân tố bằng cách chọn nhân tố trong danh sách các nhân tố gợi ý. C3.4. Di chuyển vị trí các nhân tố. Trong quá trình xây dựng mô hình ROI, người dùng có thể chọn một nhân tố, kéo thả nhân tố tới một vị trí khác, tao nên cách trình bày trực quan hơn cho mô hình. Khi di chuyển nhân tố, các đường liên kết cũng tương ứng di chuyển theo. C3.5. Tự động tính toán. Trong quá trình xây dựng mô hình, khi người dùng nhập giá trị cho các nhân tố “lá” thì giá trị của các nhân tố “nút” sẽ tự động được tính toán và hiển thị trực tiếp trên mô hình cho người dùng biết. C3.6. In báo cáo. Sau khi xây dựng xong mô hình và tính toán được tỉ suất ROI, người dùng có thể in thông tin chi tiết về dự án và tỉ suất ROI dưới dạng bảng báo cáo. 3.3. Đặc tả hệ thống 3.3.1. Các tác nhân và các ca sử dụng Có hai tác nhân chính tham gia vào hệ thống: Người sử dụng: Sử dụng các chức năng chung của hệ thống như: Quản lý các dự án đầu tư, xây dựng mô hình tính toán ROI cho mỗi dự án. Người quản trị: Sử dụng các chức năng như: Quản lý người dùng, quản lý cấu hình hệ thống. Bảng 2. Các tác nhân: Tác nhân Các ca sử dụng Kết quả đem lại Người sử dụng Tạo dự án mới Tạo mới hoàn toàn hoặc sao chép từ dự án khác Sửa dự án Cập nhật các thông tin về dự án Xóa dự án Mở dự án Khi mở dự án cũng là lúc bắt đầu xây dựng mô hình ROI cho dự án. Tạo mô hình tính ROI In báo cáo In thông tin về dự án Người quản trị hệ thống Cập nhật cấu hình hệ thống Cập nhật các cấu hình của hệ thống như: màu chữ, font chữ, đơn vị tiền tệ mặc đinh, v.v… Tạo lĩnh vực kinh doanh Tạo ra các lĩnh vực kinh doanh khác nhau để phân loại dự án Quản lý người dùng Thêm, xóa, sửa tài khoản người sử dụng. Các ca sử dụng: Gói quản trị hệ thống UC1. Tạo người dùng mới. UC2. Xóa người dùng. UC3. Thay đổi thông tin người dùng. Gói quản lý dự án. UC4. Tạo dự án mới UC5. Cập nhật thông tin dự án UC6. Xóa dự án UC7. In báo cáo dự án. 4. Cập nhật dữ liệu UC8. Cập nhật cấu hình UC9. Tạo lĩnh vực kinh doanh 3.3.2. Biểu đồ ca sử dụng 1. Biểu đồ ca sử dụng hệ thống Hình 5. Biểu đồ ca sử dụng hệ thống Biểu đồ chi tiết các ca sử dụng Quản trị hệ thống Hình 6. Biểu đồ ca sử dụng quản trị hệ thống. Quản lý dự án Hình 7. Biểu đồ ca sử dụng quản lý dự án. Cập nhật dữ liệu Hinh 8. Biểu đồ ca sử dụng cập nhật dữ liệu. 3.3.3. Mô tả các ca sử dụng UC1. Tạo người dùng mới - Tên ca sử dụng: Tạo người dùng mới - Tiền điều kiện: - Tác nhân: Người sử dụng - Mô tả khái quát: Nhập vào form nhập liệu các thông tin: Tên đăng nhập, mật khẩu, email,… và yêu cầu hệ thống ghi nhận - Mô tả diễn biến: Hành động của tác nhân Hồi đáp của hệ thống 1. Yêu cầu đăng ký tài khoản 2. Hiện form nhập liệu 3. Nhập các thông tin cần thiết và yêu cầu ghi nhận 4. Ghi nhận và thông báo kết quả - Ngoại lệ: Kết quả kiểm tra thông tin là thiếu hoặc không chính xác. Hệ thống thông báo lỗi và yêu cầu nhập lại UC2. Xóa người dùng - Tên ca sử dụng: Xóa người dùng - Tiền điều kiện: - Tác nhân: Người quản trị - Mô tả khái quát: Tìm kiếm một người dùng và xóa tất cả các thông tin trong hệ thống liên quan đến người dùng - Mô tả diễn biến: Hành động của tác nhân Hồi đáp của hệ thống 1. Yêu cầu xóa người dùng 2. Hiện ra form nhập điều kiện tìm kiếm 3. Nhập thông tin về người dùng cần xóa 4. Hiển thị danh sách người dùng tìm được 5. Chọn người dùng cần xóa trong danh sách 6. Hiển thị các thông tin về người dùng đó 7. Yêu cầu hệ thống xóa 8. Xóa và thông báo kết quả - Ngoại lệ: UC3. Thay đổi thông tin người dùng - Tên ca sử dụng: Thay đổi thông tin người dùng - Tiền điều kiện: - Tác nhân: Người sử dụng, Người quản trị - Mô tả khái quát: Tìm kiếm một người dùng và sửa đổi các thông tin về người dùng - Mô tả diễn biến: Hành động của tác nhân Hồi đáp của hệ thống Người quản trị: 1. Yêu cầu sửa thông tin người dùng 2. Hiện ra form nhập điều kiện tìm kiếm 3. Nhập thông tin về người dùng 4. Hiển thị danh sách người dùng tìm được 5. Chọn người dùng trong danh sách 6. Hiển thị các thông tin về người dùng đó trong form nhập liệu 7. Sửa thông tin người dùng và yêu cầu ghi nhận 8. Ghi nhận và thông báo kết quả Người sử dụng: 1. Yêu cầu sửa thông tin cá nhân 2. Hiện các thông tin người dùng hiện tại trong form nhập liệu 3. Sửa thông tin và yêu cầu ghi nhận 4. Ghi nhận và thông báo kết quả - Ngoại lệ: Kết quả kiểm tra thông tin là thiếu hoặc không chính xác. Hệ thống thông báo lỗi và yêu cầu nhập lại UC4. Tạo mới dự án - Tên ca sử dụng: Tạo mới dự án - Tiền điều kiện: Đã đăng nhập vào hệ thống - Tác nhân: Người sử dụng - Mô tả khái quát: Người dùng chọn chức năng tạo mới dự án. Có thể chọn tạo mới hoặc sao chép từ dự án khác. - Mô tả diễn biến: Hành động của tác nhân Hồi đáp của hệ thống 1. Chọn chức năng tạo dự án 2. Hiện hai chức năng tạo mới, sao chép từ dự án đã có. 3. *Chọn tạo mới: Thực hiện phần Tạo nội dung dự án và Xây dựng mô hình ROI Luồng sự kiện rẽ nhánh: 3b. Chọn sao chép từ dự án đã có 4b. Hiện danh mục lĩnh vực 5b. Chọn lĩnh vực 6b. Hiện danh mục các dự án trong lĩnh vực 7b. Chọn để sửa nội dung và ghi lại 8b. Hiện form nhập tên mới cho dự án 9. Nhập tên và yêu cầu ghi nhận 10. Ghi dự án và thông báo kết quả Phần Tạo nội dung dự án: 1. Yêu cầu tạo mới dự án 2. Hiện form nhập nội dung dự án 3. Nhập thông tin dự án và yêu cầu ghi nhận 4. Ghi nhận và chuyển sang phần Xây dựng mô hình ROI Phần Xây dựng mô hình ROI: 1. Yêu cầu xây dựng mô hình ROI 2. Hiện giao diện mô hình ROI 3. Tạo các nhân tố, tạo liên kết, nhập dữ liệu cho nhân tố, tính toán giá trị cho nhân tố và yêu cầu ghi dự án 4. Ghi dự án và thông báo kết quả UC5. Cập nhật thông tin dự án - Tên ca sử dụng: Cập nhật thông tin dự án - Tiền điều kiện: Đã đăng nhập vào hệ thống - Tác nhân: Người sử dụng - Mô tả khái quát: Người dùng chọn một dự án trong danh sách, yêu cầu sửa, sửa đổi các thông tin và yêu cầu hệ thống ghi nhận - Mô tả diễn biến: Hành động của tác nhân Hồi đáp của hệ thống 1. *Chọn dự án trong danh sách và yêu cầu sửa nội dung dự án 2. Hiện các thông tin về dự án trong một form nhập liệu 3. Sửa các thông tin cần thiết và yêu cầu ghi nhận 4. Ghi nhận và hiển thị kết quả Luồng sự kiện rẽ nhánh 1b. Chọn dự án trong danh sách và yêu cầu sửa mô hình tính ROI 2b. Hiện mô hình tính ROI của dự án. 3b. Sửa và yêu cầu ghi nhận 4b. Ghi nhận và thông báo kết quả UC6. Xóa dự án - Tên ca sử dụng: Xóa dự án - Tiền điều kiện: Đã đăng nhập vào hệ thống - Tác nhân: Người sử dụng - Mô tả khái quát: Người dùng chọn một tập các dự dán trong danh sách và yêu cầu hệ thống xóa các dự án đó - Mô tả diễn biến: Hành động của tác nhân Hồi đáp của hệ thống 1. Chọn các dự án trong danh sách và yêu cầu xóa 2. Xóa và thông báo kết quả. - Ngoại lệ: UC7. In báo cáo - Tên ca sử dụng: In báo cáo - Tiền điều kiện: Đã đăng nhập vào hệ thống - Tác nhân: Người sử dụng - Mô tả khái quát: In ra thông tin chi tiết về dự án - Mô tả diễn biến: Hành động của tác nhân Hồi đáp của hệ thống 1. * Chọn một dự án và yêu cầu in báo cáo cho dự án 2. Lưu nội dung dự án và mô hình tính ROI thành một file văn bản và cho người dùng download về 3. Download file báo cáo về máy. Luồng sự kiện rẽ nhánh: 1b. Yêu cầu báo cáo tất cả các dự án 2b. Lưu nội dung dự án của tất cả các dự án thành một file và cho người dùng download về UC8. Cập nhật cấu hình - Tên ca sử dụng: Cập nhật cấu hình - Tiền điều kiện Đã đăng nhập vào hệ thống - Tác nhân: Người quản trị - Mô tả khái quát: Thay đổi các cấu hình của hệ thống: font chữ, màu chữ, cỡ chữ, đơn vị tiền tệ mặc định. - Mô tả diễn biến: Hành động của tác nhân Hồi đáp của hệ thống 1. Yêu cầu cập nhật cấu hình hệ thống 2. Hiện form cấu hình 3. Sửa các giá trị cấu hình 4. Ghi nhận và thông báo kết quả - Ngoại lệ: UC9. Cập nhật lĩnh vực kinh doanh - Tên ca sử dụng: Cập nhật lĩnh vực kinh doanh - Tác nhân: Người quản trị - Mô tả khái quát: Thêm, xóa, sửa lĩnh vực kinh doanh - Mô tả diễn biến: Hành động của tác nhân Hồi đáp của hệ thống 1. Yêu cầu cập nhật lĩnh vực kinh doanh 2. Hiện danh sách các lĩnh vực 3. *Chọn tạo mới 4. Hiện form yêu cầu nhập tên lĩnh vực 5. Nhập tên và yêu cầu ghi nhận 6. Ghi nhận và thông báo kết quả. Luồng sự kiện rẽ nhánh: 3b. Chọn sửa 4b. Hiện form yêu cầu nhập tên mới 3c. Chọn xóa 4c. Xóa và thông báo kết quả 3.4. Phân tích hệ thống Mô hình phân tích cho các ca sử dụng 1. Quản trị hệ thống Tác nhân: Người sử dụng Lớp giao diện: Gd_quan tri he thong Lớp điều khiển: Dk_quan tri he thong Lớp thực thể: Tai khoan nguoi dung Hình 9. Mô hình phân tích thực thi ca sử dụng Quản trị hệ thống 2. Tạo nội dung dự án Tác nhân: Người sử dụng Lớp giao diện: Gd_tao noi dung du an Lớp điều khiển: Dk_tao noi dung du an Lớp thực thể: Du an Hình 10. Mô hình phân tích thực thi ca sử dụng Tạo nội dung dự án 3. Xây dựng mô hình ROI Tác nhân: Người sử dụng Lớp giao diện: Gd_xay dung mo hinh ROI Lớp điều khiển: Dk_xau dung mo hinh ROI Lớp thực thể: Nhan to Hình 11. Mô hình phân tích thực thi ca sử dụng Xậy dựng mô hình ROI 4. Sao chép từ dự án đã có Tác nhân: Người sử dụng Lớp giao diện: Gd_sao chep du an Lớp điều khiển: Dk_sao chep du an Lớp thực thể: Du an, Nhan to Hình 12. . Mô hình phân tích thực thi ca sử dụng Sao chép dự án từ dự án đã có 4. Sửa nội dung dự án Tác nhân: Người sử dụng Lớp giao diện: Gd_Sua noi dung du an Lớp điều khiển: Dk_sua noi dung du an Lớp thực thể: Du an Hình 13. Mô hình phân tích thực thi ca sử dụng Sửa nội dung dự án 5. Sửa mô hình ROI Tác nhân: Người sử dụng Lớp giao diện: Gd_Sua mo hinh ROI Lớp điều khiển: Dk_sua mo hinh ROI Lớp thực thể: Nhan to Hình 14. Mô hình phân tích thực thi ca sử dụng Sửa mo hình ROI 6. Xóa dự án Tác nhân: Người sử dụng Lớp giao diện: Gd_xoa du an Lớp điều khiển: Dk_xoa du an Lớp thực thể: Nhan to, Du an Hình 15. Mô hình phân tích thực thi ca sử dụng Xoa dự án 7. In báo cáo Tác nhân: Người sử dụng Lớp giao diện: Gd_xoa du an Lớp điều khiển: Dk_xoa du an Lớp thực thể: Nhan to, Du an Hình 16. Mô hình phân tích thực thi ca sử dụng In báo cáo 8. Quản lý lĩnh vực kinh doanh Tác nhân: Người sử dụng Lớp giao diện: Gd_quan ly linh vuc kinh doanh Lớp điều khiển: Dk_ quan ly linh vuc kinh doanh Lớp thực thể: Linh vuc kinh doanh Hình 17. Mô hình phân tích thực thi ca sử dụng Quan ly linh vuc kinh doanh 9. Cập nhật cấu hình Tác nhân: Người sử dụng Lớp giao diện: Gd_cap nhat cau hinh Lớp điều khiển: Dk_cap nhat cau hinh Lớp thực thể: Cau hinh Hình 18. Mô hình phân tích thực thi ca sử dụng Cập nhật cấu hình 3.5. Thiết kế hệ thống 1. Biểu đồ tuần tự đối tượng. Tạo người dùng mới Hình 19. Biểu đồ tuần tự đối tượng Tạo người dùng mới Cập nhật thông tin người dùng Hình 20. Biểu đồ tuần tự đối tượng Cập nhật thông tin người dùng Xóa người dùng Hình 21. Biểu đồ tuần tự đối tượng Xóa người dùng Tạo dự án mới Tạo nội dung dự án Hình 22. Biểu đồ tuần tự đối tượng Tạo nội dung dự án Xây dựng mô hình ROI Hình 23. Biểu đồ tuần tự đối tượng Xây dựng mô hình ROI Sao chép từ dự án đã có Hình 24. Biểu đồ tuần tự đối tượng Sao chép từ dự án đã có Cập nhật thông tin dự án Sửa nội dung dự án Hình 25. Biểu đồ tuần tự đối tượng Sửa nội dung dự án Sửa mô hình ROI Hình 26. Biểu đồ tuần tự đối tượng Sửa mô hình ROI Xóa dự án Hình 27. Biểu đồ tuần tự đối tượng Xóa dự án In báo cáo Hình 28. Biểu đồ tuần tự đối tượng In báo cáo Quản lý lĩnh vực kinh doanh a. Tạo lĩnh vực mới Hình 29. Biểu đồ tuần tự đối tượng Tạo lĩnh vực mới b. Sửa lĩnh vực Hình 30. Biểu đồ tuần tự đối tượng Sửa lĩnh vực c. Xóa lĩnh vực Hình 31. Biểu đồ tuần tự đối tượng Xóa lĩnh vực Cập nhật cấu hình Hình 32. Biểu đồ tuần tự đối tượng Xóa lĩnh vực 3.6. Biểu đồ lớp Hình 33. Biểu đồ lớp 3.7. Kết quả thực nghiệm Giao diện Đăng ký: Hình 34. Giao diện đăng ký Giao diện Đăng nhập: Hình 35. Giao diện đăng nhập Giao diện Quản lý dự án đầu tư: Hình 36. Giao diện quản lý dự án Giao diện Quản lý lĩnh vực kinh doanh: Hình 37. Giao diện quản lý lĩnh vực kinh doanh Giao diện Xây dựng mô hình ROI: Hình 38. Giao diện xây dựng mô hình ROI Giao diện Báo cáo: Hình 39. Giao diện báo cáo KẾT LUẬN Qua thời gian nghiên cứu và xây dựng hệ thống tính toán ROI trực tuyến tôi đã đạt được một số kết quả như sau: - Hiểu được thế nào là tỷ suất hoàn vốn đầu tư ROI, vai trò của ROI như thế nào trong hoạt động kinh doanh và các nhân tố ảnh hưởng đến ROI. - Nắm bắt được công nghệ AJAX. - Xây dựng được một hệ thống tính toán ROI nhanh chóng, trực quan và chính xác. Bên cạnh những kết quả đã đạt được hệ thống còn có một số hạn chế: - Chưa hoàn thiện về các tính năng bảo mật cho hệ thống. - Các nhân tố gợi ý trong quá trình xây dựng mô hình ROI còn chưa thật đa dạng Trong thời gian tới tôi sẽ tiếp tục nghiên cứu hoàn thiện hệ thống sao cho có thể đưa ra ứng dụng thực tiễn. TÀI LIỆU THAM KHẢO [1] Nguyễn Văn Vỵ, Phân tích thiết kế hệ thống thông tin hiện đại: Hướng đối tượng và hướng cấu trúc. NXB Thống kê, Hà Nội, 2002. [2] Phùng Xuân Nhạ, Đầu tư quốc tế, NXB Đại Học Quốc Gia Hà Nội, 2001. [3] Tham khảo một số nguồn trên Internet: …

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

  • docDịch vụ web hỗ trợ đầu tư trực tuyến tính roi.doc