1. Trang chủ
  2. » Thể loại khác

LUẬN VĂN TỐT NGHIỆP KỸ SƯ NGÀNH CÔNG NGHỆ THÔNG TIN. ĐỀ TÀI :XÂY DỰNG WEBSITE QUẢN LÝ VÀ BÁN SÁCH TRỰC TUYẾN

66 84 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 66
Dung lượng 3,29 MB

Nội dung

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

Tel (84-511) 736 949, Fax (84-511) 842 771Website: itf.ud.edu.vn, E-mail: cntt@edu.ud.vn

LUẬN VĂN TỐT NGHIỆP KỸ SƯ

NGÀNH CÔNG NGHỆ THÔNG TIN

SINH VIÊN : PHẠM VĂN MỪNG

ĐÀ NẴNG, 06/2011

Trang 2

Trước hết, con xin chân thành cảm ơn cha mẹ, những người đã cócông sinh thành, dưỡng dục con đến ngày hôm nay.

Em xin chân thành cảm ơn các thầy cô trong khoa Công Nghệ ThôngTin và các thầy cô giảng dạy trong Trường Đại học Bách Khoa Đà Nẵngđã tận tâm giảng dạy và truyền đạt những kiến thức quý báu trong suốtnhững năm học vừa qua Đặc biệt, em xin chân thành cảm ơn thầyTRƯƠNG MINH HUY – thuộc , khoa Công nghệ Thông Tin, trường Đạihọc Bách Khoa Đà Nẵng đã tận tình hướng dẫn và giúp đỡ trong suốtthời gian em thực hiện đề tài.

Và tôi xin cảm ơn các bạn bè gần xa, bạn bè trong khoa Công nghệthông tin đã giúp đỡ, chia sẽ kiến thức cũng như kinh nghiệm và tài liệutrong quá trình học tập và thực hiện đề tài.

Cuối cùng, em xin cảm ơn Chủ tịch Hội đồng và các Cán bộ phảnbiện đã dành thời gian quý báu đã đọc, nhận xét và tham gia Hội đồngchấm điểm luận văn này.

Đà Nẵng, Ngày 28 tháng 5 năm 2011 Sinh viên thực hiện

Phạm Văn Mừng

Trang 3

Tôi xin cam đoan :

1 Những nội dung trong luận văn này là do tôi thực hiện dướisự hướng dẫn trực tiếp của Thầy Th.S TRƯƠNG MINH HUY2 Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ

ràng tên tác giả, tên công trình, thời gian và địa điểm côngbố.

3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, haygian trá, tôi xin chịu hoàn toàn trách nhiệm.

Sinh viên Phạm Văn Mừng

Trang 8

II NỘI DUNG CẦN THỰC HIỆN 3

• Chương I: Tổng Quan Về Đề Tài 4

• Chương II: Cơ Sở Lý Thuyết 4

• Chương III: Phân Tích Thiết Kế Hệ Thống 4

• Chương IV: Xây Dựng Chương Trình 4

Trang 9

IV KẾT QUẢ DỰ KIẾN 4

II.2 Đặc điểm và cấu trúc 6

II.3 Hoạt động của một trang PHP 6

II.4 Cách viết một trang PHP cơ bản 6

II.4 Hướng đối tượng trong PHP 7

II.4.1 Lập trình hướng đối tượng là gì? 7

II.4.2 Các tính chất cơ bản của lập trình hướng đối tượng 7

II.4.3 Các khái niệm liên quan đến các ngôn ngữ lập trình OOP hiện đại.9III HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL 11

III.1 Giới thiệu MySQL 11

III.2 Khái niệm cơ bản về cơ sở dữ liệu 12

III.3 Ngôn ngữ truy vấn CSDL SQL 12

III.3.1 Câu lệnh chèn dữ liệu vào một bảng 12

III.3.2 Câu lệnh chỉnh sửa dữ liệu trong bảng 13

III.3.3 Câu lệnh xóa dữ liệu trong bảng 13

III.3.4 Câu lệnh truy vấn (tìm kiếm) dữ liệu trong bảng 13

IV GIỚI THIỆU TỔNG QUAN VỀ AJAX 13

IV.1 Định nghĩa 13

IV.2 Cấu trúc và cách hoạt động 14

V TÌM HIỂU VỀ UML 15

V.1 Giới thiệu UML 15

V.2 Lịch sử phát triển của UML 16

V.3 Các thành phần của ngôn ngữ UML 17

V.4 UML trong phân tích thiết kế hệ thống: 18

V.5 Vì sao phải xây dựng mô hình cho hệ thống 18

VI.GIỚI THIỆU CÔNG CỤ RATIONAL ROSE 20

VII THƯƠNG MẠI ĐIỆN TỬ 20

VII.1 Định nghĩa 20

VII.2 Lợi ích của việc sử dụng thương mại điện tử 21

VII.2.1 Có cơ hội đạt lợi nhuận 21

VII.2.3 Chiến lược kinh doanh 21

VII.3 Các yêu cầu trong thương mại điện tử 22

VII.3.1 Cơ sở hạ tầng 22

VII.3.2 Nhân lực 22

VII.3.3 Tạo mối qhuan hệ bằng sự tin cậy 22

V.II.3.4 Bảo mật và an toàn 22

CHƯƠNG 3 24

PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 24

I PHÂN TÍCH YÊU CẦU 24

Trang 10

I.1.2 Khảo sát hiện trạng 25

I.2 Yêu cầu chức năng 26

II PHÂN TÍCH THIẾT KẾ HỆ THỐNG 26

II.1 Các trường hợp sử dụng Usecase của hệ thống 26

II.2 Xây dựng biểu đồ lớp 31

II.3 Xây Dựng Biểu Đồ Tuần Tự 32

II.4 Biểu đồ hoạt động 35

IV THIẾT KẾ CƠ SỞ DỮ LIỆU 36

IV.1 Mô hình các bảng dữ liệu logic 36

IV.2 THIẾT KẾ CƠ SỞ DỮ LIỆU 41

II.1 Một số giao diện người dung 43

II.2 Một số giao diện của phần quản trị 47

Bảng 9: Bảng dữ liệu hóa đơn chi tiết 41

Bảng 10: Bảng dữ liệu hóa đơn 42

Trang 12

Hình 1 : Các thành phần hợp nhất nên UML 17

Hình 2 : Sơ đồ use case tổng quát 27

Hình 3 : Sơ đồ use case quản lý danh mục 28

Hình 4: Sơ đồ use case quản lý sản phẩm 28

Hình 5: Sơ đồ use case quản lý bán hàng 29

Hình 6: Sơ đồ use case quản lý thành viên 29

Hình 7:Sơ đồ use case quản lý thống kê 30

Hình 8:Sơ đồ use case quản lý tin tức 30

Hình 9:Biểu đồ lớp 31

Hình 10: Biểu đồ tuần tự khách hàng chọn mua hàng 32

Hình 11: Biểu đồ tuần tự khách hàng xác nhận 32

Hình 12: Biểu đồ tuần tự Đăng kí thành viên 33

Hình 13: Biểu đồ tuần tự nhập danh mục sản phẩm 33

Hình 14: Biểu đồ tuần tự nhập loại sản phẩm 34

Hình 28: Trang quản lý menu top 48

Hình 29:Trang quản lý danh mục sản phẩm 49

Hình 30: Trang quản lý sản phẩm 49

Hình 31: Trang quản lý dơn hàng 50

Hình 32: Trang thống kê bán hàng 50

Hình 33: Trang quản lý thành viên 51

Hình 34: Trang quản tin tức 51

Trang 13

CHƯƠNG I

TỔNG QUAN ĐỀ TÀII GIỚI THIỆU ĐỀ TÀI

Hiện nay công nghệ thông tin được ứng dụng hầu hết trong mọi lĩnh vực, đặcbiệt là trong lĩnh vực bán hàng Việc áp dụng tin học vào công việc bán hàng là mộtđiều hết sức cần thiết, nó giúp cho công việc bán hàng và quảng bá sản phẩm củacông ty đến mọi người một cách nhanh chóng và chính xác.

Xuất phát từ thực tiễn, chúng em đã đề xuất một giải pháp nhằm góp phần nângcao hiệu quả trong việc tìm kiếm và thống kê tình hình, hổ trợ đắc lực cho việc bánhàng Được sự đồng ý của giáo viên hướng dẫn, chúng em đã chọn đề tài Xây dựngtrang web “Xây dựng website bán và quản lý sách trực tuyến” làm đề tài tốt nghiệp.

I.1 Đặt vấn đề

Là chủ doanh nghiệp có lẽ nỗi bận tâm hàng đầu là làm sao có thể quản lý sátsao tình hình kinh doanh với các số liệu về kho hàng (nhập, xuất, tồn kho) và tìnhhình hoạt động của công ty như là mua hàng, bán hàng, quảng bá sản phẩm,… mộtcách chính xác, nhanh chóng và thuận tiện.

Với xu thế tiến bộ của khoa học - công nghệ hiện nay, máy tính có thể giúpchúng ta quản lý nhẹ nhàng, nhanh chóng và chính xác, tiết kiệm tối đa chi phíquản lý.

Xây dựng website bán và quản lý sách trực tuyến” được thiết kế nhằm đáp ứngcho nhu cầu đó.

Đây là chương trình giúp quản lý việc bán hàng và quản lý kho hàng, thống kêtình hình công nợ của doanh nghiệp có quy mô nhỏ, đặc biệt là các doanh nghiệpbán hàng.

Chương trình không đòi hỏi người sử dụng phải biết các khái niệm chuyên sâucủa nghiệp vụ kế toán cũng như khả năng sử dụng máy tính.

Trang 14

I.2.Lý do chọn đề tài

Qua quá trình tìm hiểu và quan sát công việc kinh doanh diễn ra ở các công ty,doanh nghiệp kinh doanh và mua bán hàng hóa Thực tế đã cho thấy công việc quảnlý của một công ty hay cửa hàng diễn ra hằng ngày rất phúc tạp, khó khăn họ phảilàm nhiều công việc như nhập hàng, giới thiệu sản phẩm, xuất hàng , tính toán sốlượng bán được trong ngày, trong tháng, loại hàng nào bán được, loại hàng nàokhông, thu chi, lời lãi như thế nào, vv…nói chung thật là phức tạp Nếu chỉ sử dụngphương pháp tính toán thủ công bằng tay với bộ nhớ ít ỏi của con người thì chắt chắnkhông thể tránh khỏi những sai sót đáng tiếc.

Vì thế chúng em đã quyết định chọn đề tài phân tích và xây dựng hệ thống bánhàng qua mạng Hệ thống này phải có khả năng cung cấp, phân loại cập nhật và truyxuất thông tin, tích hợp các nguồn thông tin, ứng dụng và các dịch vụ từ hệ thốngkhác Đồng thời có khả năng trao đổi tương tác giữa các đối tượng sử dụng hệthống Hệ thống cũng có khả năng hổ trợ các quy trình nghiệp vụ quản lý, đảm bảocác yêu cầu về bảo mật và an toàn dữ liệu.

Qua việc phân tích và triển khai xây dựng website “Xây dựng website bán vàquản lý sách trực tuyến” để đáp ứng được nhu cầu phục vụ cho việc bán hàng tạicác của hàng kinh doanh mua bán các sản phẩm thì hệ thống phải đáp ứng đượcnhững chức năng sau:

- Quản lý lưu trữ các thông tin về hàng hóa

- Quản lý lưu trữ các thông tin về khách hàng đã mua hàng

- Quản lý việc giao dịch mua, bán hàng với khách hàng và nhà cungcấp hàng

- Cho phép tìm kiếm các thông tin về măt hàng.

- Tính toán thống kê hàng hóa, thu chi một cách nhanh chống và chínhxác

- Thông tin được bảo mật, có phân quyền sử dụng chương trình.

- Đảm bảo chương trình dể sử dụng không cần người dùng phải cóchuyên môn về kế toán cũng như khả năng sử dụng máy tính nâng cao.- Sử dụng ngôn ngữ tiếng Việt có hướng dẫn sử dụng chương trình.

Trang 15

I.3.Ý nghĩa

Quản lý bán hàng là cả một quá trình tổ chức lưu trữ hợp nhất xử lý, tính toán tấtcả các thông tin cần thiết của từng mặt hàng nhằm phục vụ cho việc truy tìm, sắpxếp hay thống kê các kết quả một cách nhanh chống nhất theo từng yêu cầu cụ thể.

Các hoạt động nhập xuất hay tính toán, xuất các báo biểu thủ công bằng tay ghitrên giấy sẽ không hợp lý trong thời đại ngày nay, vì nó không thỏa mãn yêu cầu đòihỏi của con người như độ chính xác và khả năng đáp ứng thông tin nhanh chốngnữa Vì vậy, ứng dụng tin học vào quản lý bán hàng là rất quan trọng và cần thiết.Web quản lý bán máy vi tính và thiết bị máy vi tính giúp chúng ta quảng bá đượcsản phẩm cho mọi người trên diện rộng, khách hàng có thể xem, tìm kiếm thông tinvề sản phẩm một cách nhanh chóng và chính xác, nếu cần khách hàng có thể đặthàng mua sản phẩm trực tiếp trên trang web mà không cần phải đến tại của hàng đểmua.

Hơn thế nữa, việc tin học hóa trong các bài toán quản lý bán hàng trực tuyến sẽđem lại một điều bất ngờ nếu bài toán quản lý được ứng dụng trên mạng cục bộ haydiện rộng Điều này trước đây khó có thể làm được nếu không có sự phát triển vượtbậc của kĩ thuật mạng và viễn thông.

II NỘI DUNG CẦN THỰC HIỆN

Đề tài: “Xây dựng website bán và quản lý sách trực tuyến” được xây dựng

qua các bước sau:

- Tìm hiểu công nghệ và lựa chọn giải pháp tối ưu.- Tìm hiểu việc mua và bán tại cửa hàng.

- Phân tích và thiết kế hệ thống thông tin.- Chọn ngôn ngữ lập trình.

- Thiết kế cơ sơ dữ liệu.- Xây dựng chương trình.

- Demo và kiểm tra lỗi của chương trình.

- Nhận xét khả năng của chương trình đã thực hiện được và chưa thực hiệnđược.

- Cho phép cập nhật dữ liệu.

- Cho phép khách hàng xem các loại hàng.- Thao tác nhập, xóa, chỉnh sửa dữ liệu.- Thống kê, báo cáo.

- Bảo mật hệ thống

Với kết quả đự kiến, luận văn chia làm 4 chương:

Trang 16

• Chương I: Tổng Quan Về Đề Tài

Giới thiệu về đề tài, mục đích, ý nghĩa, nội dung cần thực hiện và kết quả dựkiến.

• Chương II: Cơ Sở Lý Thuyết

• Chương III: Phân Tích Thiết Kế Hệ Thống

Phân tích các chức năng cửa hệ thống, từ đó thiết kế chưc năng và tổ chức dữliệu của hệ thống.

• Chương IV: Xây Dựng Chương Trình

Cài đặt chương trình và demo kết quả

• Kết Luận Và Hướng Phát Triển

Đưa ra nhận xét về kết quả đạt được chưa đạt được, hướng phát triển cho đề tài

III PHẠM VI CỦA ĐỀ TÀI

Sau khi xây dựng xong trang web “Xây dựng website bán và quản lý sách trựctuyến” thì trang web có thể thực hiện được các chức năng:

- Quản lý và thanh toán qua hình thức thẻ tín dụng

IV KẾT QUẢ DỰ KIẾN

Trang 17

CHƯƠNG 2

CƠ SỞ LÝ THUYẾTI TÌM HIỂU VỀ NGÔN NGỮ

Lý do chọn ngôn ngữ

Việc lựa chọn ngôn ngôn ngữ để phát triển ứng dụng là một yếu tố rất quantrọng Nó phải được lựa chọn sao cho phù hợp với nhu cầu hiện tại và tương lai củachương trình ứng dụng Hiện nay có rất nhiều ngôn ngữ phục vụ việc phát triển lậptrình ứng dụng web như ASP, ASP.NET, PHP, JSP,…Vì vậy chúng em đã chọnngôn ngữ PHP để xây dựng chương trình demo.

PHP thực hiện với tốc độ rất nhanh và hiệu quả Một Server bình thường có thểđáp ứng được hàng triệu truy cập đến trong một ngày.

PHP hỗ trợ kết nối tới rất nhiều nhiều hệ CSDL khác nhau: PostgreSQL,mySQL, Oracle, dbm, filePro, Hyperware, informix, interBase, syBase,… Ngoài racòn hỗ trơ kết nối với ODBC thông qua đó có thể kết nối với nhiều ngôn ngữ khácmà ODBC hỗ trợ.

PHP cung cấp một hệ thống thư viện phong phú: Do PHP ngay từ đầu thiết kếnhằm mục đích xây dựng và thiết kế các ứng dụng trên web nên PHP cung cấp rấtnhiều hàm dựng sẵn giúp việc thực hiện các công việc rất dễ dàng.

PHP là ngôn ngữ dễ dùng, dễ học và đơn giản hơn nhiều so với các ngôn ngữkhác như Perl, Java.

PHP có thể sử dụng được trên nhiều hệ điều hành, chúng ta có thể chúng trênUnix, Lunix và các phiên bản của Windows Và có thể đem mã PHP này chạy trênhệ điều hành khác mà không phải sữa đổi lại.

PHP là ngôn ngữ mã nguồn mở.

II NGÔN NGỮ LẬP TRÌNH PHPII.1.Khái niệm

PHP ("PHP: Hypertext Preprocessor") là một ngôn ngữ lập trình kịch bản haymột loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ,mãnguồn mở, dùng cho mục đích tổng quát Nó rất thích hợp với web và có thể dễ

Trang 18

dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứng dụng web, tốc độnhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩmtương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thànhmột ngôn ngữ lập trình web phổ biến nhất thế giới.

II.2 Đặc điểm và cấu trúc

Cấu trúc của file php được đặt trong 2 thẻ đóng<?php ?> hoặc <? ?>

Tên file: *.php

II.3 Hoạt động của một trang PHP

+Bước 1:Trình duyệt gửi một yêu cầu HTTP đến máy chủ, yêu cầu một file nàođó

+Bước 2: Máy chủ sẽ chuyển yêu cầu này đến chương trình xử lý tương ứng,chính là chương trình Web server.

+Bước 3: Web server phân tích chuỗi yêu cầu nhận được, kiểm tra xem trìnhduyệt ở máy khách yêu cầu gì Nếu đó là các file bình thường (không phải là cácfile chứa các đoạn mã script thực thi phía máy chủ), nó sẽ tìm kiếm file đó và trả vềcho trình duyệt ở máy khách Còn nếu đó là các file chứa các đoạn mã script thựcthi phía máy chủ (các chương trình CGI, hay các file thư viện liên kết động *.php),nó sẽ triệu gọi chương trình thực thi các đoạn mã này Chương trình này sẽ chịutrách nhiệm chạy các đoạn mã, trả chúng về cho Web server dưới khuôn dạng củaHTML Sau đó, Web server mới trả kết quả lấy được cho trình duyệt.

II.4 Cách viết một trang PHP cơ bản

Đoạn mã sau minh họa giúp cách viết PHP lồng vào các trang HTML dễ dàngnhư thế nào:

1 <html>

2 <head>

3 <title>Mã mẫu</title>4 </head>

5 <body>6 <?php

7 echo "Chào thế giới PHP!";8 ?>

9 </body>10 </html>

Trang 19

Thẻ <?php và thẻ ?> sẽ đánh đấu sự bắt đầu và sự kết thúc của phần mã PHPqua đó máy chủ biết để xử lý và dịch mã cho đúng Đây là một điểm khá tiện lợicủa PHP giúp cho việc viết mã PHP trở nên khá trực quan và dễ dàng trong việcxây dựng phần giao diện ứng dụng HTTP.

II.4 Hướng đối tượng trong PHPII.4.1 Lập trình hướng đối tượng là gì?

Lập trình hướng đối tượng (gọi tắt là OOP, từ chữ Anh ngữ object-oriented programming), hay còn gọi là lập trình định hướng đối tượng, là kĩ thuật lập trình hỗ trợ công nghệ đối tượng OOP được xem là giúp tăng năng suất, đơn giản hóa độphức tạp khi bảo trì cũng như mở rộng phần mềm bằng cách cho phép lập trình viêntập trung vào các đối tượng phần mềm ở bậc cao hơn Ngoài ra, nhiều người còn cho rằng OOP dễ tiếp thu hơn cho những người mới học về lập trình hơn là các phương pháp trước đó.

Một cách giản lược, đây là khái niệm và là một nỗ lực nhằm giảm nhẹ các thao tác viết mã cho người lập trình, cho phép họ tạo ra các ứng dụng mà các yếu tố bên ngoài có thể tương tác với các chương trình đó giống như là tương tác với các đối tượng vật lý.

Những đối tượng trong một ngôn ngữ OOP là các kết hợp giữa mã và dữ liệu mà chúng được nhìn nhận như là một đơn vị duy nhất Mỗi đối tượng có một tên riêng biệt và tất cả các tham chiếu đến đối tượng đó được tiến hành qua tên của nó Như vậy, mỗi đối tượng có khả năng nhận vào các thông báo, xử lý dữ liệu (bên trong của nó), và gửi ra hay trả lời đến các đối tượng khác hay đến môi trường.

II.4.2 Các tính chất cơ bản của lập trình hướng đối tượng

Đối tượng (object): Các dữ liệu và chỉ thị được kết hợp vào một đơn vị đầy đủ tạo nên một đối tượng Đơn vị này tương đương với một chương trình con và vì thế các đối tượng sẽ được chia thành hai bộ phận chính: phần các phương thức (method) và phần các thuộc tính (property) Trong thực tế, các phương thức của đối tượng là các hàm và các thuộc tính của nó là các biến, các tham số hay hằng nội tại của một đối tượng (hay nói cách khác tập hợp các dữ liệu nội tại tạo thành thuộc tính của đối tượng) Các phương thức là phương tiện để sử dụng một đối tượng trong khi các thuộc tính sẽ mô tả đối tượng có những tính chất gì.

Các phương thức và các thuộc tính thường gắn chặt với thực tế các đặc tính và sử dụng của một đối tượng.

Trong thực tế, các đối tượng thường được trừu tượng hóa qua việc định nghĩa của

Trang 20

các lớp (class).

Tập hợp các giá trị hiện có của các thuộc tính tạo nên trạng thái của một đối tượng.Mỗi phương thức hay mỗi dữ liệu nội tại cùng với các tính chất được định nghĩa (bởi người lập trình) được xem là một đặc tính riêng của đối tượng Nếu không có gì lầm lẫn thì tập hợp các đặc tính này gọi chung là đặc tính của đối tượng.

Lập trình hướng đối tượng là một phương pháp lập trình có các tính chất chính sau:

Tính trừu tượng (abstraction):

Đây là khả năng của chương trình bỏ qua hay không chú ý đến một số khía

cạnh của thông tin mà nó đang trực tiếp làm việc lên, nghĩa là nó có khả năng tập trung vào những cốt lõi cần thiết Mỗi đối tượng phục vụ như là một "động tử" có thể hoàn tất các công việc một cách nội bộ, báo cáo, thay đổi trạng thái của nó và liên lạc với các đối tượng khác mà không cần cho biết làm cách nào đối tượng tiến hành được các thao tác Tính chất này thường được gọi là sự trừu tượng của dữ liệu.Tính trừu tượng còn thể hiện qua việc một đối tượng ban đầu có thể có một số đặc điểm chung cho nhiều đối tượng khác như là sự mở rộng của nó nhưng bản thân đốitượng ban đầu này có thể không có các biện pháp thi hành Tính trừu tượng này thường được xác định trong khái niệm gọi là lớp trừu tượng hay hay lớp cơ sở trừu tượng.

Tính đóng gói (encapsulation) và che dấu thông tin (information hiding):

Tính chất này không cho phép người sử dụng các đối tượng thay đổi trạng thái nội tại của một đối tượng Chỉ có các phương thức nội tại của đối tượng cho phép thay đổi trạng thái của nó Việc cho phép môi trường bên ngoài tác động lên các dữ liệu nội tại của một đối tượng theo cách nào là hoàn toàn tùy thuộc vào người viết mã Đây là tính chất đảm bảo sự toàn vẹn của đối tượng.

Tính đa hình (polymorphism):

Thể hiện thông qua việc gửi các thông điệp (message) Việc gửi các thông điệp

này có thể so sánh như việc gọi các hàm bên trong của một đối tượng Các phương thức dùng trả lời cho một thông điệp sẽ tùy theo đối tượng mà thông điệp đó được gửi tới sẽ có phản ứng khác nhau Người lập trình có thể định nghĩa một đặc tính (chẳng hạn thông qua tên của các phương thức) cho một loạt các đối tượng gần nhau nhưng khi thi hành thì dùng cùng một tên gọi mà sự thi hành của mỗi đối tượng sẽ tự động xảy ra tương ứng theo đặc tính của từng đối tượng mà không bị nhầm lẫn.

Thí dụ khi định nghĩa hai đối tượng "hinh_vuong" và "hinh_tron" thì có một phương thức chung là "chu_vi" Khi gọi phương thức này thì nếu đối tượng là

Trang 21

"hinh_vuong" nó sẽ tính theo công thức khác với khi đối tượng là "hinh_tron"

Tính kế thừa (inheritance):

Đặc tính này cho phép một đối tượng có thể có sẵn các đặc tính mà đối tượng khác đã có thông qua kế thừa Điều này cho phép các đối tượng chia sẻ hay mở rộngcác đặc tính sẵn có mà không phải tiến hành định nghĩa lại Tuy nhiên, không phải ngôn ngữ định hướng đối tượng nào cũng có tính chất này.

II.4.3 Các khái niệm liên quan đến các ngôn ngữ lập trình OOP hiện đại

Lớp (class):

Một lớp được hiểu là một kiểu dữ liệu bao gồm các thuộc tính và các phương thứcđược định nghĩa từ trước Đây là sự trừu tượng hóa của đối tượng Một đối tượng sẽđược xác lập khi nó được thực thể hóa từ một lớp Khác với kiểu dữ liệu thông thường, một lớp là một đơn vị (trừu tượng) bao gồm sự kết hợp giữa các phương thức và các thuộc tính Để có một đối tượng (mà có thể được xem như là một biến) hoạt động được thì việc thực thể hóa sẽ có thể bao gồm việc cài đặt các giá trị ban đầu của các thuộc tính cũng như việc đăng kí bộ nhớ, mà công việc này thường được giao cho các phương thức gọi là "máy kết cấu" (constructor) hay hàm dựng Ngược lại khi một đối tượng thuộc về một lớp không còn sử dụng nữa thì cũng có thể có một phương thức để xử lý gọi là "máy hủy diệt" (destructor) hay hàm hủy.Như vậy, để có được các đối tượng thì người lập trình OOP cần phải thiết kế lớp của các đối tượng đó bằng cách xây dựng các thuộc tính và các phương thức có các đặc tính riêng.

Mỗi một phương thức hay một thuộc tính đầy đủ của một lớp còn được gọi tên là một thành viên (member) của lớp đó.

Lớp con (subclass):

Lớp con là một lớp thông thường nhưng có thêm tính chất kế thừa một phần hay toàn bộ các đặc tính của một lớp khác Lớp mà chia sẽ sự kế thừa gọi là lớp phụ mẫu (parent class).

Lớp trừu tượng hay lớp cơ sở trừu tượng (abstract class):

Lớp trừu tượng là một lớp mà nó không thể thực thể hóa thành một đối tượng thực dụng được Lớp này được thiết kế nhằm tạo ra một lớp có các đặc tính tổng quát nhưng bản thân lớp đó chưa có ý nghĩa (hay không đủ ý nghĩa) để có thể tiến hành viết mã cho việc thực thể hóa (xem thí dụ)

Thí dụ: Lớp "hinh_phang" được định nghĩa không có dữ liệu nội tại và chỉ có các phương thức (hàm nội tại) "tinh_chu_vi", "tinh_dien_tich" Nhưng vì lớp

hình_phẳng này chưa xác định được đầy đủ các đặc tính của nó (cụ thể các biến nội tại là tọa độ các đỉnh nếu là đa giác, là đường bán kính và toạ độ tâm nếu là hình tròn, ) nên nó chỉ có thể được viết thành một lớp trừu tượng Sau đó, người lập trình có thể tạo ra các lớp con chẳng hạn như là lớp "tam_giac", lớp "hinh_tron", lớp "tu_giac", Và trong các lớp con này người viết mã sẽ cung cấp các dữ liệu nộitại (như là biến nội tại r làm bán kính và hằng số nội tại Pi cho lớp "hinh_tron" và sau đó viết mã cụ thể cho các phương thức "tinh_chu_vi" và "tinh_dien_tich")

Trang 22

Phương Thức (method)

Là hàm nội tại của một lớp (hay một đối tượng) Tùy theo đặc tính mà người lập trình gán cho, một phương pháp có thể chỉ được gọi bên trong các hàm khác của lớpđó, có thể cho phép các câu lệnh bên ngoài lớp gọi tới nó, hay chỉ cho phép các lớp có quan hệ đặc biệt như là quan hệ lớp con, và quan hệ bạn bè (friend) được phép gọi tới nó Mỗi phương pháp đều có thể có kiểu trả về, chúng có thể trả các kiểu dữ liệu cổ điển hay trả về một kiểu là một lớp đã được định nghĩa từ trước Một tên gọi khác của phương pháp của một lớp là hàm thành viên.

Người ta còn định nghĩa thêm vài loại phương pháp đặc biệt: Hàm dựng

(constructor) là hàm được dùng để cài đặt các giá tri ban đầu cho các biến nội tại và đôi khi còn dùng để khai báo về việc xử dụng bộ nhớ

Hàm hủy (destructor) là hàm dùng vào việc làm sạch bộ nhớ và hủy bỏ tên của một đối tượng sau khi đã dùng xong, trong đó có thể bao gồm cả việc xóa các con trỏ nội tại và trả về các phần bộ nhớ mà đối tượng đã dùng

Trong một số trường hợp thì hàm hủy hay hàm dựng có thể được tự động hóa bởi ngôn ngữ OOP như là trường hợp của Visual C++, C#.

Tiện ích (utility) là các hàm chỉ họat động bên trong của một lớp mà không cho phép môi trường bên ngoài gọi tới Các hàm này có thể là những tính toán trung gian nội bộ của một đối tượng mà xét thấy không cần thiết phải cho thế giới bên ngoài của đối tượng biết là gì

Thuộc tính (attribute)

Thuộc tính của một lớp bao gồm các biến, các hằng, hay tham số nội tại của lớp đó Ở đây, vai trò quan trọng nhất của các thuộc tính là các biến vì chúng sẽ có thể bị thay đổi trong suốt quá trình hoạt động của một đối tượng Các thuộc tính có thể được xác định kiểu và kiểu của chúng có thể là các kiểu dữ liệu cổ điển hay đó là một lớp đã định nghĩa từ trước Như đã ghi, khi một lớp đã được thực thể hoá thành đối tượng cụ thể thì tập họp các giá trị của các biến nội tại làm thành trạng thái của đối tượng Giống như trường hợp của phương pháp, tùy theo người viết mã, biến nội tại có thể chỉ được dùng bên trong các phương pháp của chính lớp đó, có thể cho phép các câu lệnh bên ngoài lớp, hay chỉ cho phép các lớp có quan hệ đặc biệt như là quan hệ lớp con, (và quan hệ bạn bè (friend) trong C++) được phép dùng tới nó (hay thay đổi giá trị của nó) Mỗi thuộc tính của một lớp còn được gọi là thành viên dữ liệu của lớp đó.

Công cộng (public)

Công cộng là một tính chất được dùng để gán cho các phương pháp, các biến nội tại, hay các lớp mà khi khai báo thì người lập trình đã cho phép các câu lệnh bên ngoài cũng như các đối tượng khác được phép dùng đến nó.

Trang 23

Thí dụ: Trong C++ khai báo public: int my_var; thì biến my_var có hai tính chấtlà tính công cộng và là một integer cả hai tính chất này hợp thành đặc tính của biến my_var khiến nó có thể được xử dụng hay thay đổi giá trị của nó (bởi các câu lệnh) ở mọi nơi bên ngoài lẫn bên trong của lớp

Riêng tư (private)

Riêng tư là sự thể hiện tính chất đóng mạnh nhất (của một đặc tính hay một lớp) Khi dùng tính chất này gán cho một biến, một phương pháp thì biến hay phương pháp đó chỉ có thể được sử dụng bên trong của lớp mà chúng được định nghĩa Mọi nỗ lực dùng đến chúng từ bên ngoài qua các câu lệnh hay từ các lớp con sẽ bị phủ nhận hay bị lỗi.

Bảo tồn (protected)

Tùy theo ngôn ngữ, sẽ có vài điểm nhỏ khác nhau về cách hiểu tính chất này Nhìn chung đây là tính chất mà mà khi dùng để áp dụng cho các phương pháp, các biến nội tại, hay các lớp thì chỉ có trong nội bộ của lớp đó hay các lớp con của nó (hay trong nội bộ một gói như trong Java) được phép gọi đến hay dùng đến các phương pháp, biến hay lớp đó.

So với tính chất riêng tư thì tính bảo tồn rộng rãi hơn về nghĩa chia sẻ dữ liệu hay chức năng Nó cho phép một số trường hợp được dùng tới các đặc tính của một lớp (từ một lớp con chẳng hạn).

Lưu ý: Các tính chất cộng cộng, riêng tư và bảo tồn đôi khi còn được dùng để chỉ thị cho một lớp con cách thức kế thừa một lớp cha mẹ như trong C++.

Đa kế thừa (muliple inheritance)

Đây là một tính chất cho phép một lớp con có khả năng kế thừa trực tiếp cùng lúc nhiều lớp khác.

Vài điểm cần lưu ý khi viết mã dùng tính chất đa kế thừa:

Khi muốn có một sự kế thừa từ nhiều lớp phụ mẫu thì các lớp này cần phải độc lập và đặc biệt tên của các dữ liệu hay hàm cho phép kế thừa phải có tên khác nhau để tránh lỗi "ambiguilty" Bởi vì lúc đó phần mềm chuyển dịch sẽ không thể xác định được là lớp con sẽ thừa kế tên nào của các lớp phụ mẫu

Không phải ngôn ngữ OOP loại phân lớp nào cũng hỗ trợ cho tính chất này

Ngoài các khái niệm trên, tùy theo ngôn ngữ, có thể sẽ có các chức năng OOP riêng biệt được cấp thêm vào.

III HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQLIII.1.Giới thiệu MySQL

MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới vàđược các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng VìMySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạtđộng trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rấtmạnh.Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng cótruy cập CSDL trên internet MySQL miễn phí hoàn toàn cho nên bạn có thể tải vềMySQL từ trang chủ Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên

Trang 24

bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix,

FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS,

MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan

hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL).

MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nó làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,

III.2.Khái niệm cơ bản về cơ sở dữ liệu

Cơ sở dữ liệu (database) có thể hiểu là nơi chứa dữ liệu Có nhiều loại cơ sở dữliệu khác nhau như cơ sở dữ liệu quan hệ, CSDL hướng đối tượng, CSDL phântán

Hiện nay, trong phần lớn các ứng dụng, người ta thường sử dụng CSDL quan hệ.Trong mô hình CSDL quan hệ, dữ liệu thường được chia thành các bảng có liênquan với nhau.

Hệ quản trị CSDL là chương trình dùng để quản lý một CSDL nào đó Chẳnghạn như chương trình Access là một hệ quản trị CSDL để quản lý CSDL Access.Thông thường thì tên của hệ quản trị CSDL gắn liền với tên của loại CSDL VDnhư: CSDL Access <-> Hệ quản trị CSDL Access, CSDL MySQL <-> Hệ quản trịCSDL MySQL, CSDL Oracle <-> Hệ quản trị CSDL Oracle Trong trường hợp nàythì người ta thường nhầm lẫn giữa khái niệm CSDL và cấu trúc (dạng nhị phân) củamột CSDL do hệ quản trị CSDL quy định.

Người ta gọi các cột trong một bảng là các trường, các dòng trong một bảng làcác bản ghi.

Mỗi trường sẽ có một kiểu dữ liệu xác định Đó có thể là kiểu số, kiểu chuỗi, kiểu ngày tháng

III.3 Ngôn ngữ truy vấn CSDL SQL

SQL là một ngôn ngữ được sử dụng trong các ngôn ngữ lập trình để truy vấn thông tin trong CSDL Điểm mạnh của ngôn ngữ này là cấu trúc đơn giản, có thể nhập lệnh vào dưới dạng các chuỗi văn bản, sau đó chuyển câu lệnh tới các chương trình điều khiển trung gian để truy vấn dữ liệu rồi trả về cho chương trình Như vậy,mọi thao tác kết xuất, truy vấn hoàn tòan dễ dàng thông qua việc điều khiển chuỗi văn bản có chứa câu lệnh SQL

III.3.1.Câu lệnh chèn dữ liệu vào một bảng.

Cú pháp của câu lệnh này có dạng:Code:

Trang 25

INSERT INTO tên_bảng (danh_sách_trường) VALUES (danh_sách_giá_trị)

- Thông thường, các giá trị chuỗi phải được đặt trong cặp dấu nháy hoặc

dấu ngoặc kép tùy thuộc vào ngôn ngữ biểu diễn và kiểu dữ liệu củatrường Mỗi giá trị cách nhau bởi một dấu phẩy.

III.3.2.Câu lệnh chỉnh sửa dữ liệu trong bảng

Để chỉnh sửa (cập nhật) thông tin trong bảng, ta dùng câu lệnh UPDATE với cúpháp sau:

UPDATE tên_bảng SET tên_trường1=giá_trị1[, tên_trường_i=giá_trịi] WHERE điều_kiện

Để xóa dữ liệu trong bảng, ta dùng câu lệnh DELETE với cú pháp sau:Code:

DELETE FROM tên_bảng WHERE điều_kiện.

Câu lệnh này sẽ xóa tất cả những bản ghi thỏa mãn điều kiện nằm sau mệnh đềWHERE.

III.3.4.Câu lệnh truy vấn (tìm kiếm) dữ liệu trong bảng

Đây là câu lệnh phức tạp nhất trong nhóm các câu lệnh của SQL.Cú pháp của lệnh này như sau:

SELECT [danh_sách_trường] FROM [danh_sách_bảng] WHERE [danh_sách_điều_kiện] [ORDER BY]

IV GIỚI THIỆU TỔNG QUAN VỀ AJAXIV.1 Định nghĩa

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ầnnhư 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ý

Trang 26

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 giaodịch HTTP (HyperText Transport Protocol - Giao thức truyền tải qua các siêu liênkế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ườidù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ớinhư 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ờigian 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ênAJAX : 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ừ “AsynchronousJavaScript+CSS+DOM+XMLHttpRequest” Ngay sau đó thuật ngữ AJAX đượcphổ 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.

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 ObjectModel).

- Trao đổi và xử lý dữ liệu bằng XML và XSLT.

- Truy cập dữ liệu theo kiểu bất đồng bộ (asynchronous) bằngXMLHttpRequest Và tất cả các kỹ thuật trên được liên kết lại với nhaubằng JavaScript.

IV.2 Cấu trúc và cách hoạt động

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 Các vấn đề về XMLHttpRequest và cáchsử dụng nó trên các trình duyệt khác nhau sẽ được chúng ta quay trở lại ở các phầntiếp theo Sau đây là một số nét khác biệt cơ bản giữa các ứng dụng Web truyềnthố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

Trang 27

thay thế trang cũ Qui trình này được mô tả là nhấp-chờ và tải lại refresh)

(click-wait-and-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 ứngdụ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 Webkhông cần phải refresh lại toàn bộ nội dụng Để tìm hiểu kỹ hơn điều này, ta sẽ xemxét 2 mô hình ứng dụng như đã đề cập, 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 WebMô 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ệtphí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ạivớ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êucầ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

Cơ chế này hoạt động :

AJAX cho phép tạo ra một AJAX Engine nằm giữa giao tiếp này Khi đó, cácyê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ửitrả dữ liệu dạng XML và AJAX Engine sẽ tiếp nhận, phân tách và chuyển hóa thànhXHTML + CSS cho trình duyệt hiển thị Việc này được thực hiện trên client nêngiả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ý đượchiể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ơnnhiề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ếtthực mà AJAX đem lại Chúng ta sẽ xem xét cụ thể các thành phần cấu thành AJAX

V TÌM HIỂU VỀ UMLV.1 Giới thiệu UML

Ngôn ngữ mô hình hóa thống nhất- UML là một ngôn ngữ bao gồm một bảng từ

vựng và các quy tắc để kết hợp các từ vựng đó phục vụ cho mục đích giao tiếp Một

Trang 28

ngôn ngữ dùng cho việc lập mô hình là ngôn ngữ mà bảng từ vựng (các ký hiệu) vàcác quy tắc của nó tập trung vào việc thể hiện về mặt khái niệm cũng như vật lý củamột hệ thống.

UML là một ngôn ngữ dùng để:

 Trực quan hóa  Cụ thể hóa

 Sinh mã ở dạng nguyên mẫu  Lập và cung cấp tài liệu

V.2 Lịch sử phát triển của UML

Những năm đầu của thập kỷ 90 có rất nhiều phương pháp phân tích, thiết kế hệthống hướng đối tượng và cùng với chúng là các ký hiệu riêng cho từng phươngpháp Số lượng các phương pháp trong khoảng từ 10 đã lên đến gần 50 trong nhữngnăm từ 1989 đến 1994 Ba phương pháp phổ biến nhất là OMT (Object ModelingTechnique) [James Rumbaugh], Booch91 [Grady Booch] và OOSE (Object-Oriented Software Enginering) [Ivar Jacobson] Mỗi phương pháp đều có nhữngđiểm mạnh và yếu Như OMT mạnh trong phân tích và yếu ở khâu thiết kế,Booch91 thì mạnh ở thiết kế và yếu ở phân tích OOSE mạnh ở phân tích các ứngxử, đáp ứng của hệ thống mà yếu trong các khâu khác.

Do các phương pháp chưa hoàn thiện nên người dùng rất phân vân trong việcchọn ra một phương pháp phù hợp nhất để giải quyết bài toán của họ Hơn nữa, việccác ký hiệu khác nhau của các phương pháp đã gây ra những sự mập mờ, nhầm lẫnkhi mà một ký hiệu có thể mang những ý nghĩa khác nhau trong mỗi phương pháp.Thời kỳ này còn được biết đến với tên gọi là cuộc chiến giữa các phương pháp.Khoảng đầu năm 94, Booch đã cải tiến phương pháp của mình trong đó có ứngdụng những ưu điểm của các phương pháp của Rumbaugh và Jacobson Tương tựRumbaugh cũng cho đăng một loạt các bài báo được biết đến với tên gọi phươngpháp OMT-2 cũng sử dụng nhiều ưu điểm của phương pháp của Booch Cácphương pháp đã bắt đầu hợp nhất, nhưng các kí hiệu sử dụng ở các phương phápvẫn còn nhiều điểm khác biệt.

Cuộc chiến này chỉ kết thúc khi có sự ra đời của UML - một ngôn ngữ mô hìnhhóa hợp nhất Tại sao lại là hợp nhất? Đó là do có sự hợp nhất các cách kí hiệu củaBooch, OMT và Objectory cũng như các ý tưởng tốt nhất của một số phương phápkhác như hình vẽ sau:

Trang 29

Hình 1 : Các thành phần hợp nhất nên UML

Bằng cách hợp nhất các kí hiệu sử dụng trong khi phân tích, thiết kế của cácphương pháp đó, UML cung cấp một nền tảng chuẩn trong việc phân tích thiết kế.Có nghĩa là các nhà phát triển vẫn có thể tiến hành theo phương pháp mà họ đangsử dụng hoặc là có thể tiến hành theo một phương pháp tổng hợp hơn Nhưng điềuquan trọng là các ký hiệu giờ đây đã thống nhất và mỗi ký hiệu chuẩn của tổ chứcOMG (Object Management Group) vào tháng 7-1997.

V.3 Các thành phần của ngôn ngữ UML

Ngôn ngữ UML bao gồm một loạt các phần tử đồ họa (graphic element) có thểđược kếp hợp với nhau để tạo ra các biểu đồ Bởi đây là một ngôn ngữ, nên UMLcũng có các nguyên tắc để kết hợp các phần tử đó Một số những thành phần chủyếu của ngôn ngữ UML:

Hướng nhìn (view): Hướng nhìn chỉ ra những khía cạnh khác nhau của hệ thốngcần phải được mô hình hóa Một hướng nhìn không phải là một bản vẽ, mà là mộtsự trừu tượng hóa bao gồm một loạt các biểu đồ khác nhau Chỉ qua việc định nghĩacủa một loạt các hướng nhìn khác nhau, mỗi hướng nhìn chỉ ra một khía cạnh riêngbiệt của hệ thống, người ta mới có thể tạo dựng nên một bức tranh hoàn thiện về hệthống Cũng chính các hướng nhìn này nối kết ngôn ngữ mô hình hóa với quy trìnhđược chọn cho giai đoạn phát triển.

Biểu đồ (diagram): Biểu đồ là các hình vẽ miêu tả nội dung trong một hướngnhìn UML có tất cả 9 loại biểu đồ khác nhau được sử dụng trong những sự kết hợpkhác nhau để cung cấp tất cả các hướng nhìn của một hệ thống.

Trang 30

Phần tử mô hình hóa (model element): Các khái niệm được sử dụng trong cácbiểu đồ được gọi là các phần tử mô hình, thể hiện các khái niệm hướng đối tượngquen thuộc Ví dụ như lớp, đối tượng, thông điệp cũng như các quan hệ giữa cáckhái niệm này, bao gồm cả liên kết, phụ thuộc, khái quát hóa Một phần tử mô hìnhthường được sử dụng trong nhiều biểu đồ khác nhau, nhưng nó luôn luôn có chỉ mộtý nghĩa và một kí hiệu.

Cơ chế chung: Cơ chế chung cung cấp thêm những lời nhận xét bổ sung, cácthông tin cũng như các quy tắc ngữ pháp chung về một phần tử mô hình; chúng còncung cấp thêm các cơ chế để có thể mở rộng ngôn ngữ UML cho phù hợp với mộtphương pháp xác định (một quy trình, một tổ chức hoặc một người dùng).

V.4 UML trong phân tích thiết kế hệ thống:

UML có thể được sử dụng trong nhiều giai đoạn, từ phát triển, thiết kế cho tớithực hiện và bảo trì Vì mục đích chính của ngôn ngữ này là dùng các biểu đồhướng đối tượng để mô tả hệ thống nên miền ứng dụng của UML bao gồm nhiềuloại hệ thống khác nhau như:

 Hệ thống thống tin (Information System): Hệ thống kỹ thuật (Technical System)  Hệ thống nhúng (Embeded System): Hệ thống phân bố ( Distributed System):  Hệ thống Giao dịch (Business System):  Phần mềm hệ thống (System Software):

V.5 Vì sao phải xây dựng mô hình cho hệ thống

Mô hình hóa là cách xem xét một bài toán thông qua việc sử dụng các mô hình.Mô hình dùng để hiểu rõ bài toán, trao đổi thông tin giữa những người liên quannhư khách hàng, chuyên gia, người phân tích, người thiết kế Mô hình giúp choviệc xác định các yêu cầu tốt hơn, thiết kế rõ ràng hơn và khả năng bảo trì hệ thốngcao hơn.

Mô hình là sự trừu tượng hóa, mô tả mặt bản chất của một vấn đề hoặc một cấutrúc phức tạp bằng cách loại bỏ những chi tiết không quan trọng, khiến cho bài toántrở nên dễ hiểu và dễ nắm bắt hơn Trừu tượng hóa là một khả năng cơ bản của conngười trong việc giải quyết các vấn đề phức tạp Các kỹ sư, kiến trúc sư, các nghệ sĩđã từng xây dựng những mô hình từ hàng nghìn năm nay để thử các thiết kế của họtrước khi thực hiện chúng Việc phát triển các hệ thống phần mềm cũng khôngngoại lệ Để xây dựng một hệ thống phức tạp, những người phát triển phải trừu

Trang 31

tượng hóa những khía cạnh (View) khác nhau của hệ thống, xây dựng các mô hìnhbằng cách sử dụng các kí hiệu một cách rõ ràng, cẩn thận, kiểm tra xem các môhình đã thoả mãn các yêu cầu của hệ thống chưa và dần dần thêm vào các chi tiết đểcó thể chuyển đổi từ mô hình sang một cài đặt cụ thể

Chúng ta xây dựng mô hình của những hệ thống phức tạp bởi vì chúng ta khôngthể lĩnh hội một lúc toàn bộ hệ thống đó Ví dụ như khi xây một nhà kho chúng tacó thể bắt tay vào xây ngay, khi xây một ngôi nhà chúng ta có thể cần bản thiết kếcủa ngôi nhà đó Khi cần xây môt tòa nhà cao tầng, chúng ta chắc chắn cần bản thiếtkế của toà nhà đó Điều này cũng đúng trong lĩnh vực phần mềm Hệ thống càngphức tạp thì việc xây dựng mô hình càng quan trọng Xây dựng mô hình cho phépngười thiết kế thấy được bức tranh tổng quan của hệ thống, thấy được các thànhphần của hệ thống tương tác với nhau như thế nào hơn là việc sa lầy vào chi tiết bêntrong của các thành phần đó.

Trong thế giới luôn biến động của các ứng dụng hướng đối tượng thì việc pháttriển và bảo trì các ứng dụng có chất lượng cao trong một khoảng thời gian hợp lýngày càng trở nên khó khăn hơn Một tổ chức phát triển phần mềm thành công là tổchức xây dựng được các phần mềm có chất lượng, thoả mãn được mọi yêu cầu củakhách hàng.

Mô hình hóa là phần trung tâm trong các công việc, các hoạt động để dẫn tớimột phần mềm tốt Chúng ta xây dựng mô hình để trao đổi, bàn bạc về cấu trúc vàứng xử (behavior) mong muốn của hệ thống Chúng ta xây dựng mô hình để trựcquan hóa và kiểm soát kiến trúc của hệ thống Mô hình có thể mô tả các cấu trúc,nhấn mạnh về mặt tổ chức của hệ thống hoặc nó có thể mô tả các hành vi, tập trungvào mặt động của hệ thống Chúng ta xây dựng mô hình để hiểu rõ hơn về hệ thốngmà chúng ta đang xây dựng, tạo ra cơ hội để có thể đơn giản hóa và tái sử dụng.Chúng ta xây dựng mô hình để kiểm soát rủi ro.

Việc lập mô hình không chỉ dành cho các hệ thống lớn Khi xây dựng mô hìnhchúng ta sẽ đạt được 4 mục đích sau:

 Mô hình giúp chúng ta trực quan hóa hệ thống như là nó vốn có hay theocách mà chúng ta muốn nó sẽ như vậy

 Mô hình cho phép chúng ta chỉ rõ cấu trúc và ứng xử của hệ thống

 Mô hình cho chúng ta một khuôn mẫu để hướng dẫn chúng ta trong quátrình xây dựng hệ thống

 Mô hình đưa ra các dẫn chứng bằng tài liệu về các quyết định mà chúngta đã đưa ra trong quá trình thiết kế hệ thống

Trang 32

Thông qua việc mô hình hóa, chúng ta thu hẹp bài toán mà chúng ta đang nghiêncứu bằng cách chỉ tập trung vào một khía cạnh tại một thời điểm.Mô hình hóa làviệc đơn giản hóa thực tế, loại bỏ những điểm thứ yếu, tuy nhiên ta phải chắc chắnrằng không bỏ sót một chi tiết quan trọng nào

VI.GIỚI THIỆU CÔNG CỤ RATIONAL ROSE

Rational Rose là phần mềm công cụ mạnh hỗ trợ phân tích, thiết kế hệ thống phần mềm theo hướng đối tượng Nó giúp ta mô hình hóa hệ thống trước khi viết mã trình, nó đảm bảo tính đúng đắn, hợp lý của kiến trúc hệ thống từ khi khởi đầu dự án Mô hình Rose là bức tranh hệ thống, nó gồm toàn bộ biểu đồ UML, tác nhân,trường hợp sử dụng, đối tượng, lớp, thành phần và các nút triển khai trong hệ thống.Nó mô tả chi tiết hệ thống bao gồm cái gì và chúng làm việc ra sao để người phát triển hệ thống có thể sử dụng mô hình như kế hoạch chi tiết cho việc xây dựng hệ thống

VII THƯƠNG MẠI ĐIỆN TỬVII.1.Định nghĩa

Thương mại điện tử (còn gọi là E-Commerce hay E-Business) là quy trình muabán thông qua việc truyền dữ liệu giữa các thiết bị truyền tin trong chính sách phânphối của tiếp thị Tại đây một mối quan hệ thương mại hay dịch vụ trực tiếp giữangười cung cấp và khách hàng được tiến hành thông qua việc truyền tin Hiểu theonghĩa rộng, thương mại điện tử bao gồm tất cả các loại giao dịch thương mại màtrong đó các đối tác giao dịch sử dụng các kỹ thuật thông tin trong khuôn khổ chàomời, thảo thuận hay cung cấp dịch vụ

Thương mại điện tử (Electronic Commerce), một yếu tố hợp thành của nền"Kinh tế số hóa", là hình thái hoạt động thương mại bằng các phương pháp điện tử;là việc trao đổi thông tin thương mại thông qua các phương tiện công nghệ điện tửmà nói chung là không cần phải in ra giấy trong bất cứ công đoạn nào của quá trìnhgiao dịch (nên còn gọi là “Thương mại không có giấy tờ”).

"Thương mại" (commerce) trong khái niệm thương mại điện tử được hiểu (như quy định trong "Đạo luật mẫu về thương mại điện tử" của Liên hiệp quốc) là mọi vấn đề nảy sinh ra từ mọi mối quan hệ mang tính chất thương mại (commercial), dù có hay không có hợp đồng Các mối quan hệ mang tính thương mại bao gồm bất cứ giao dịch thương mại nào về cung cấp hoặc trao đổi hàng hóa, dịch vụ; thoả thuận phân phối, đại diện hoặc đại lý thương mại; ủy thác hoa hồng, cho thuê dài hạn; xâydựng các công trình; tư vấn; kỹ thuật công trình; đầu tư; cấp vốn; ngân hàng; bảo

Trang 33

hiểm; thỏa thuận khai thác hoặc tô nhượng; liên doanh và các hình thức khác về hợptác công nghiệp hoặc kinh doanh; chuyên chở hàng hóa hay hành khách bằng đườngbiển, đường không, đường sắt, đường bộ; và v.v Như vậy, phạm vi của thương mại điện tử (E-commerce) rất rộng, bao quát hầu như mọi hình thái hoạt động kinh tế, mà không chỉ bao gồm buôn bán hàng hóa và dịch vụ; buôn bán hàng hoá và dịch vụ chỉ là một trong hàng nghìn lĩnh vực áp dụng của thương mại điện tử.

VII.2 Lợi ích của việc sử dụng thương mại điện tử

Có thể hiểu được rằng bằng cách sử dụng phương tiện này sẽ giúp ích cho ngườisử dụng môi trường mạng trong việc tìm kiếm đối tác, nắm bắt được thông tin trênthị trường, giảm chi phí tiếp thị và giao dịch nhằm mở rộng qui mô sản xuất hoạtđộng kinh doanh trong thương trường.

VII.2.1.Có cơ hội đạt lợi nhuận

Nắm bắt được nhiều thông tin phong phú, giúp cho các doanh nghiệp nhờ đó màcó thể đề ra các chiến lược sản xuất và kinh doanh thích hợp với xu thế phát triểntrong và ngoài nước.

Đối với những doanh nghiệp vừa và nhỏ có cơ hội mở rộng đối tác trên thịtrường, nắm tình hình thị trường mà nhờ đó sẽ được biết đến tên tuổi công ty.

Hiện nay thương mại điện tử đang được nhiều người quan tâm và thu hút rấtnhiều thương gia doanh nghiệp trên thế giới, vì đó là một trong những động lực pháttriển doanh nghiêp và cho cả nước

VI.2.2 Giảm thiểu các hoạt động kinh doanh

Giảm chi phí sản xuất, chi phí văn phòng, chi phí thuê mặt bằng Bên cạnh đókhông cần tốn nhiều nhân viên để quản lý và mua bán giao dịch.

Thương mại điện tử giúp giảm chi phí bán hàng và tiếp thị mà chỉ thông qua môitrường Web một nhân viên vẫn có thể giao dịch với nhiều đối tác, khách hàng đồng thời còn trưng bày, giới thiệu catalog đủ loại hàng hóa, xuất xứ của từng loạisản phẩm Do đó giảm được chi phí in ấn cho các catalog và giao dịch mua bán.

Điều quan trọng nhất là giảm được thời gian trao đổi đáng kể cho khách hàng vàdoanh nghiệp Chỉ trong thời gian ngắn mà doanh nghiệp có thể nắm bắt được thịhiếu khách hàng và thị trường thay đổi mà nhanh chóng kịp thời củng cố và đáp ứngcho nhu cầu đó.

VII.2.3.Chiến lược kinh doanh

Ngày đăng: 20/09/2020, 00:41

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w