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

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

 

 

doc68 trang | Chia sẻ: netpro | Lượt xem: 1495 | Lượt tải: 1download
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 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

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