Tải bản đầy đủ (.pdf) (87 trang)

Tìm hiểu về wordpess và xây dựng website thương mại điện tử cho trung tâm điện máy tuệ mai

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.77 MB, 87 trang )

LỜI CẢM ƠN
Để hoàn thành tốt đồ án này, lời đầu tiên em xin cám ơn Ban Giám Hiệu trường
Đại Học Công Nghệ Thông Tin & Truyền Thông đã tạo điều kiện cho em được học tập
tại trường, và đặc biệt em xin gửi lời cám ơn chân thành nhất đến Thầy TS.Vũ Vinh
Quang giảng viên Trường Công Nghệ Thông Tin & truyền thông đã trang bị cho em
những kiến thức chuyên môn, quan tâm và tận tình hướng dẫn, giúp đỡ em hoàn thành
một cách tốt nhất trong đợt làm đồ án này.
Bên cạnh đó để hoàn thành tốt đồ án này em cũng đã nhận được nhiều sự giúp đỡ
những lời động viiên quý báu của bạn bè, các anh chị em xin chân thành cảm ơn.
Tuy nhiên do thời gian hạn hẹp, cũng như lượng kiến thức còn hạn chế nên bài
báo cáo của em sẽ khó tránh khỏi những thiếu sót. Em rất mong nhận được sự thông cảm
và sự chỉ bảo tận tình của quý Thầy Cô và các bạn để thực hiện tốt đồ án này. Một lần
nữa em xin chân thành cảm ơn.


LỜI MỞ ĐẦU
Công nghệ thông tin phát triển ngày càng hiện đại và đổi mới không ngừng, bằng
việc chinh phục hết đỉnh cao này thành đỉnh cao khác. Mạng internet đang trở thành
mạng truyền thông có sức ảnh hưởng rất lớn nhất, không thể thiếu trong tất cả các hoạt
động của con người trong việc truyền tải và trao đổi dữ liêu. Không như ngày xưa và
ngày nay mọi việc liên quan đến thông tin ngày càng dễ dàng hơn cho người sử dụng
bằng việc kết nối với internet và một dòng dữ liệu truy tìm thì ngay lập tức cả kho tài
nguyên không chỉ trong nước mà ngoài nước hiện ra không chỉ bằng ngôn ngữ mà cả
bằng hình ảnh, âm thanh.
Chính vì lợi ích internet đã thúc đẩy sự ra đời và phát triển thương mại điện tử làm
biến đổi bộ mặt văn hóa cũng như nâng cao chất lượng cuộc sống của con người các hoạt
động thông thường như sản xuất, kinh doanh và các doanh nghiệp cũng phát triển.
Cuộc sống con người ngày càng phát triển thì nhu cầu cuộc sống của con người
cũng được nâng cao và những nhu cầu đơn giản nhưng cũng rất thiết thực. Đó là nhu cầu
ăn, ở và mặc đây là một vẫn đề cũng đang là một bài toán của các nhà kinh doanh, làm
sao để đáp ứng nhu cầu của con người để cải thiện đời sống ngày càng cao. Chính lẽ đó


đáp ứng những nhu cầu đó của con người trên cơ sở kế thừa những trang web bán hàng
khác, em xây dựng nên một website bán hàng online để đáp ứng nhu cầu của người tiêu
dùng, giúp họ tiết kiệm được thời gian, chi phí trong việc phải đi mua thiết bị điện tử nào
đó, tại các cửa hàng hay các chợ truyền thống để mua và tìm kiếm sản phẩm. Thay vào
đó chỉ việc nghồi ở nhà với chiếc máy tính đã kết nối internet mọi người có thể thỏa sức
tìm kiếm lựa chọn sản phẩm mà mình yêu thích mọi lúc mọi nơi. Giúp cho người quản trị
dễ dàng trong việc phân quyền quản lý, quản lý khách hàng và các đơn đặt hàng của họ.
Đó là lý do em chon đề tài “Tìm hiểu về Wordpess và xây dựng website thương mại
điện tử cho trung tâm điện máy Tuệ Mai”.


CHƯƠNG 1
CƠ SỞ LÝ THUYẾT VÀ CÔNG CỤ THỰC HIỆN
1.1. Kiến trúc cơ bản trang Dynamic Web.
Kiến trúc cơ bản nhất để trang Dynamic Web hoạt động được là nó phải làm việc
trên mô hình client/server. Nôm na là mỗi thứ client hay server đều đảm đương một chức
năng riêng để hoàn thành công việc chung đó là cho ra một trang web động. Ứng dụng
Web phải có một mô hình server có thể là một máy tính làm server thôi, nhằm tập trung
hóa việc xử lý dữ liệu. Còn các client, còn được hiểu là máy tính của người sử dụng phải
được nối mạng với server, giả sử các máy này truy cập vào một website chẳng hạn, thì có
nghĩa họ đã truy cập vào server, sau đó lấy dữ liệu từ server về thể hiện lên màn hình. Cùng
một lúc có thể có hàng trăm người (client) truy cập vào cùng một Website được xử lý tập
trung trên server.
1.1.1. Client.
Các ứng dụng phát triển trên nền My SQL và PHP sử dụng tính năng single client đó
là trình truyệt web.Tuy nhiên, không phải đây chỉ là ngôn ngữ duy nhất để phát triển ứng
dụng Web.Ngôn ngữ khởi thuỷ cho việc duyệt Web là HTML. HTML cung cấp những thẻ
lệnh (Tag) cho phép thể hiện trang Web theo nhiều kiểu cách khác nhau. Ngoài HTML ra
các trình duyệt Web còn cho phép các add-in hỗ trợ nhiều thứ khác như RealPlayer, Flash,
Shockwave, hoặc hỗ trợ về Javascript hoặc XML.

1.1.2. Server.
Hầu hết các ứng dụng Web đều hoạt động tập trung trên Server.Một số ứng dụng
đặc trưng gọi là Web Server sẽ đảm trách việc giao tiếp với các trình duyệt. Một cơ sở dữ
liệu trên Server sẽ lưu trữ tất cả những thông tin đáp ứng yêu cầu cho công việc của ứng
dụng Web.Web Server, Ngôn ngữ lập trình, CSDL phải hoạt động tốt trên một Hệ Điều
Hành nào đó.


Hình 1.1. Sơ đồ hoạt động ứng dụng web trên server.
1.1.3. Web Server.
Có nhiều loại Web Server khác nhau, nhưng chủ yếu trên thị trường chỉ thường sử
dụng Apache và IIS (Internet Information Server của Microsoft).
INTERNET INFORMATION SERVER (IIS) được tích hợp rất tốt với PHP. Trước
đây, có một số vấn đề cần phải bàn về tính ổn định của PHP/IIS với việc truyền tải lớn,
nhưng PHP và IIS cũng đã được cải thiện liên tục nên việc này không còn đáng phải bận
tâm. APACHE là một kiểu mẫu Web Server rất phổ biến. Giống như Linux, PHP, MySQL
nó là một dự án nguồn mở. APACHE tận dụng được tính năng của third-party. Bởi vì đây
là nguồn mở nên bất kỳ ai có khả năng đều có thể viết chương trình mở rộng tính năng của
Apache. PHP hoạt động với tư cách là một phần mở rộng của Apache, và người ta gọi là
một module của Apache. Apache có tính ổn định và tốc độ đáng phải nói.
1.1.4. Website động là gì ?
Web động là thuật ngữ được dùng để chỉ những website có cơ sở dữ liệu và được hỗ
trợ bởi các phần mềm phát triển web. Các ưu điểm của Website động: đáp ứng nhiều tham
số khác nhau, thường có các giao diện cho phép người quản trị có thể quản lý nội dung của
site, có bộ nhớ, cho phép người sử dụng đăng ký và đăng nhập, thực hiện thương mại điện
tử, dễ dàng duy trì cập nhật và phát triển…


1.2. Tìm hiểu cơ bản về PHP
1.2.1. Khái niệm PHP

PHP (Personal Home Page) do Rasmus Lerdorf tạo ra năm 1994. Vì tính hữu dụng
của nó và khả năng phát triển, PHP bắt đầu được sử dụng trong môi trường chuyên
nghiệp và nó trở thành “PHP: Hypertext Preprocessor”.
Thực chất PHP là ngôn ngữ kịch bản nhúng trong HTML, nói một cách đơn giản
đó là một trang HTML có nhúng mã PHP, PHP có thể được đặt rải rác trong HTML.
PHP là một ngôn ngữ lập trình được kết nối chặt chẽ với máy chủ, là một công
nghệ phía máy chủ (Server-Side) và không phụ thuộc vào môi trường (cross- platiorm).
Đây là hai yếu tố rất quan trọng, thứ nhất khi nói công nghệ phía máy chủ tức là nói đến
mọi thứ trong PHP đều xảy ra trên máy chủ, thứ hai, chính vì tính chất không phụ thuộc
môi trường cho phép PHP chạy trên hầu hết trên các hệ điều hành như Windows, Unixvà
nhiều biến thể của nó... Đặc biệt các mã kịch bản PHP viết trên máy chủ này sẽ làm việc
bình thường trên máy chủ khác mà không cần phải chỉnh sửa hoặc chỉnh sửa rất ít.
Khi một trang Web muốn được dùng ngôn ngữ PHP thì phải đáp ứng được tất cả
các quá trình xử lý thông tin trong trang Web đó, sau đó đưa ra kết quả ngôn ngữ HTML.
Khác với ngôn ngữ lập trình, PHP được thiết kế để chỉ thực hiện điều gì đó sau khi
một sự kiện xảy ra (ví dụ, khi người dùng gửi một biểu mẫu hoặc chuyển tới một URL).
1.2.2. Tại sao nên dùng PHP
Để thiết kế Web động có rất nhiều ngôn ngữ lập trình khác nhau để lựa chọn, mặc
dù cấu hình và tính năng khác nhau nhưng chúng vẫn đưa ra những kết quả giống nhau.
Chúng ta có thể lựa chọn cho mình một ngôn ngữ : ASP, PHP,Java, Perl... và một số loại
khác nữa. Vậy tại sao chúng ta lại nên chọn PHP. Rất đơn giản, có những lí do sau mà
khi lập trình Web chúng ta không nên bỏ qua sự lựa chọn tuyệt vời này.
PHP được sử dụng làm Web động vì nó nhanh, dễ dàng, tốt hơn so với các giải
pháp khác.
PHP có khả năng thực hiện và tích hợp chặt chẽ với hầu hết các cơ sở dữ liệu có
sẵn, tính linh động, bền vững và khả năng phát triển không giới hạn.
Đặc biệt PHP là mã nguồn mở do đó tất cả các đặc tính trên đều miễn phí, và


chính vì mã nguồn mở sẵn có nên cộng đồng các nhà phát triển Web luôn có ý thức cải

tiến nó, nâng cao để khắc phục các lỗi trong các chương trình này
PHP vừa dễ với người mới sử dụng vừa có thể đáp ứng mọi yêu cầu của các lập
trình viên chuyên nghiệp, mọi ý tưởng của các bạn PHP có thể đáp ứng một cách xuất
sắc.
Cách đây không lâu ASP vốn được xem là ngôn ngữ kịch bản phổ biến nhất, vậy
mà bây giờ PHP đã bắt kịp ASP, bằng chứng là nó đã có mặt trên 12 triệu Website.
1.2.3. Hoạt động của PHP
Vì PHP là ngôn ngữ của máy chủ nên mã lệnh của PHP sẽ tập trung trên máy chủ
để phục vụ các trang Web theo yêu cầu của người dùng thông qua trình duyệt.
Sơ đồ hoạt động:
Yêu cầu URL

Máy chủ

Máy khác hàng

web

HTML

HTML

Gọi mã kịch bản

PHP
Hình 1.1: Sơ đồ hoạt động của PHP
Khi người dùng truy cập Website viết bằng PHP, máy chủ đọc mã lệnh PHP và xử
lý chúng theo các hướng dẫn được mã hóa. Mã lệnh PHP yêu cầu máy chủ gửi một dữ
liệu thích hợp (mã lệnh HTML) đến trình duyệt Web. Trình duyệt xem nó như là một
trang HTML tiêu chuẩn. Như ta đã nói, PHP cũng chính là một trang HTML nhưng có

nhúng mã PHP và có phần mở rộng là HTML. Phần mở của PHP được đặt trong thẻ
mở<?php và thẻ đóng ?> .Khi trình duyệt truy cập vào một trang PHP, Server sẽ đọc nội
dung file PHP lên và lọc ra các đoạn mã PHP và thực thi các đoạn mã đó, lấy kết quả
nhận được của đoạn mã PHP thay thế vào chỗ ban đầu của chúng trong file PHP, cuối
cùng Server trả về kết quả cuối cùng là một trang nội duns HTML về cho trình duyệt.


1.2.4. Các loại thẻ PHP
Có 4 loại thẻ khác nhau mà bạn có thể sử dụng khi thiết kế trang PHP:
Kiểu Short:Thẻ mặc định mà các nhà lập trình PHP thường sử dụng.
Ví dụ: <? Echo “Well come to PHP. ” ;?>
Kiều đinh dạng XML: Thẻ này có thể sử dụng với văn bản đinh dạng XML
Ví dụ: <? Php echo “Well come to PHP withXML”;>?
Kiểu Script: Trong trường hợp bạn sử dụng PHP như một script tương tự khai báo
JavaScipt hay VBScript:
Ví dụ:<script language= “php”>
echo “PhpScript”;
</script>
Kiểu ASP: Trong trường hợp bạn khai báo thẻ PHP như một phần trong trang
ASP.
Ví dụ: <% echo “P H P - A S P ” ; % >
PHP và HTML là các ngôn ngữ không “nhạy cảm” với khoảng trắng, khoảng
trắng có thể được đặt xung quanh để các mã lệnh để rõ ràng hơn. Chỉ có khoảng trắng
đơn có ảnh hưởng đến sự thể hiện của trang Web (nhiều khoảng trắng liên tiếp sẽ chỉ thể
hiện dưới dạng một khoảng trắng đơn).
1.3. Tìm Hiểu Về Wordpress.
1.3.1. Giới thiệu về mã nguồn mở wordpress.
WordPress là một phần mềm miễn phí cho việc quản lý nội dung web(văn bản và
hình ảnh). Nó đặc biệt hữu ích cho việc xây dựng và duy trì một weblog trên, vì nó cho
phép mỗi bài cho một hoặc nhiều mẫu hệ thống chỉ định, và tự động tạo ra các chuyển

hướng thích hợp.
Tiếp theo, các hệ thống ý kiến độc giả có cơ hội để xem xét nó trước khi phát
hành, cũng như quản lý các liên kết, quản lý một vai trò người sử dụng, quyền và khả
năng bên ngoài các plug-in, làm cho WordPress hướng tới một “hệ thống quản lý nội
dung ” đầy đủ và có thể được mở rộng hơn.
WordPress được viết bằng ngôn ngữ lập trình PHP và sử dụng MySQL
Database(cơ sở dữ liệu database). WordPress là hậu duệ chính thức của b2/cafelog, được


phát triển bởi Michel Valdrighi.Cái tên WordPress được đề xuất bởi Chritine Selleck,
một người bạn của nhà phát triển Matt Mullenweg.
Lịch sử phát triển.
Trong những năm 2001/2002 Michel Valdrighi phát triển một chương trình bằng
văn bản trong hệ thống PHP Weblog gọi là b2/Cafelog, phát hành bởi GPL.B2/Cafelog
thường được biết đến cái tên đơn giản hơn là b2 hay cafelog là tiền thân của WordPress.
B2/cafelog đã ước lượng được khoảng 2000 blog được sử dụng trong tháng 5 năm 2003.
Nó cũng được viết bằng ngôn ngữ lập trình PHP để dùng với MySQL bởi Michel
Valdrighi, người đã trở thành nhà phát triển chính của WordPress hiện nay.
Phiên bản ổn định đầu tiên của WordPress được phát hành vào ngày 3 tháng 1 năm
2004. Kể từ phiên bản 1.5 WordPress hỗ trợ quản lý các trang tĩnh, vì vậy nền tảng đã
được tạo ra để sử dụng WordPress không như là một phần mềm viết blog tinh khiết, mà
còn là một hệ thống quản lý nội dung đơn giản.
Năm 2007, WordPress đã giành giải thưởng Packt Open Source CMS.Năm 2009,
WordPress dẫn đầu về mã nguồn CMS tốt nhất.
Nét nổi bật .
 Hệ thống Plugin phong phú và không ngừng cập nhật, ngoài ra người dùng có thể
viết Plugin hoặc tích hợp code vào Wordpress.
 Được phát triển bằng nhiều ngôn ngữ (hỗ trợ tiếng việt).
 Cập nhật phiên bản liên tục, cộng đồng hỗ trợ lớn.
 Có hệ thống Theme đồ sộ, nhiều theme chuyên nghiệp có khả năng SEO tốt.

 Việc quản lý blog, quản lý các bài viết rất thuận tiện giống như các phần mềm
thiết kế website chuyên nghiệp.
 Thể hiện các tệp PDF, DOC, Powerpoint ngay trên nội dung bài viết. Đặc biệt tích
hợp sẵn Latex - công cụ soạn thảo công thức toán học, giúp người sử dụng có thể viết
công thức toán học ngay trên blog.


 WordPress có 23 Widget (ứng dụng tạo thêm) như Thống kê số truy nhập blog,
Các bài mới nhất, Các bài viết nổi bật nhất, Các comment mới nhất, Liệt kê các chuyên
mục, Liệt kê các Trang, Danh sách các liên kết, Liệt kê số bài viết trong từng tháng ... Có
79 theme để người dùng lựa chọn.
 Ngoài thống kê số truy nhập của từng ngày cho blog, Wordpress còn thống kê số
truy nhập của từng ngày đối với mỗi bài viết của blog. Trên cơ sở đó chủ blog sẽ có định
hướng nên viết vấn đề gì tiếp theo.
 Các comment có thể duyệt rồi mới cho đăng, comment nào có nội dung không phù
hợp có thể xóa, nếu cho là spam thì sau này IP đó không có thể gửi comment vào blog
được nữa.
 Admin (chủ blog) có thể cho 35 cộng tác viên gửi bài vào blog, có thể phân quyền
cho các cộng tác viên theo các cấp độ khác nhau. Lưu giữ danh sách thành viên đã ghé
thăm trang blog. Admin cũng có thể cho bất kỳ ai đăng bài qua email vào blog miễn là
admin cho họ một địa chỉ email bí mật của blog (địa chỉ này có thể thay đổi bất kỳ lúc
nào).
 Sao lưu dữ liệu nhằm khôi phục nội dung blog một cách dễ dàng nếu chẳng may
blog bị hack, và cung cấp công cụ chuyển nhà từ các blog khác sang blog WordPress.
 WordPress hỗ trợ 3 GB để lưu trữ các tệp hình ảnh và văn bản.
 Hàng ngày WordPress có thống kê 100 bài trên các blog tiếng Việt của WordPress
được nhiều người đọc nhất trong vòng 48 tiếng. Nhờ đó bạn biết được các thông tin quan
trọng nhất đang diễn ra.
1.3.2.Cấu trúc thư mục trong wordpress
 Thư mục chủ của wordpress

Thư mục chủ chính là thư mục chứa toàn bộ dữ liệu về website của bạn, nó bao
gồm toàn bộ mã nguồn lõi (core) của WordPress và các tập tin hình ảnh, text, …
thuộc bài viết của bạn.


Trong demo thực hiện demo của mình thì thư mục boutique chính là thư mục chủ
của trang web wordpress.

 Thư mục admin
Đây là thư mục chứa toàn bộ code hiển thị trang quản trị (dành cho admin) bao
gồm các tập tin JS, CSS và các tập tin PHP chứa các function dành cho admin.


Thông thường thì chúng ta rất ít can thiệp vào các file trong thư mục này của WP,
nếu bạn là một người am hiểu về code PHP thì bạn có thể mở từng file và xem nội
dung mã nguồn.
 Thư mục content
Thư mục này chứa các plugin, theme, hình ảnh upload trong bài viết,…; nó là thư
mục chứa nội dung web của bạn tức là chứa các bài viết, hình ảnh, video,… trên
trang web của bạn.


Thông thường đây là thư mục thường bị hacker tấn công vào nhất, thông qua việc chèn
các mã độc và upload những script trái phép thông qua các plugin ở trong thư mục này.
Khi chúng ta chỉnh sửa các plugin hay theme thì chúng ta sẽ vào thao tác trong thư mục
này của WP.
 Thư mục includes
Thư mục này cũng giống thư mục admin ở chỗ chúng ta sẽ hầu như không thao tác
gì trên thư mục này cả vì thư mục này chứa các file PHP class cho WP, các file JS
và CSS.



 Các tập tin trong core WP
WP chỉ tồn tại 3 thư mục lớn trong mã nguồn của nó còn lại là tập tin, các tập tin này
cùng cấp (level) với 3 thư mục vừa nêu ở trên.




.htaccess: đây là tập tin phát sinh của Apache, có quy định các chính sách sẽ áp
dụng lên trên WP.



wp-config.php: tập tin cấu hình cho WP, chứa thông tin kết nối đến database của
trang web. Tập tin này cực kì quan trọng và cần được bảo mật tốt.



wp-login.php: tập tin chứa mã dành cho trang đăng nhập WP.



wp-signup: tập tin mã PHP cho trang đăng kí thành viên.
1.3.3. Các lí do khiến chúng ta phải chọn WordPress
 WordPress 100% miễn phí.


WordPress là mã nguồn mở.




Dễ sử dụng.



Cộng đồng hỗ trợ đông đảo.



Nhiều gói giao diện có sẵn.



Nhiều Plugin hỗ trợ.



Dễ dàng phát triển cho lập trình viên.



Hỗ trợ nhiều ngôn ngữ.




Có thể làm nhiều lọa website.




Bảo mật dễ dàng.



Tối ưa hóa Seo.

1.4. Ngôn ngữ mô hình hóa hướng đối tượng UML
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
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 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ủa một hệ thống.
Mô hình hóa mang lại sự hiểu biết về một hệ thống. Một mô hình không thể giúp
chúng ta hiểu rõ một hệ thống, thường là phải xây dựng một số mô hình xét từ những góc
độ khác nhau. Các mô hình này có quan hệ với nhau.
UML sẽ cho ta biết cách tạo ra và đọc hiểu được một mô hình đươc cấu trúc tốt,
nhưng nó không cho ta biết những mô hình nào nên tạo ra và khi nào tạo ra chúng. Đó là
nhiệm vụ của quy trình phát triển phần mềm.
1.4.1. UML là ngôn ngữ dùng để trực quan hóa
Đối với nhiều lập trình viên, không có khoảng cách nào giữa ý tưởng để giải quyết
một vấn đề và việc thể hiện điều đó thông qua các đoạn mã. Họ nghĩ ra và họ viết mã.
Trên thực tế, điều này gặp một số vấn đề. Thứ nhất, việc trao đổi về các ý tưởng giữa
những người lập trình sẽ gặp khó khăn, trừ khi tất cả đều nói cùng một ngôn ngữ. Thậm
chí ngay cả khi không gặp trở ngại về ngôn ngữ thì đối với từng công ty, từng nhóm cũng
có những “ngôn ngữ” riêng của họ. Điều này gây trở ngại cho một người mới vào để có

thể hiểu được những việc đang được tiến hành. Hơn nữa, trong lĩnh vực phần mềm, nhiều
khi khó có thể hiểu được nếu chỉ xem xét các đoạn mã lệnh. Ví dụ như sự phân cấp của
các lớp, ta có thể phải duyệt rất nhiều đoạn lệnh để hiểu được sự phân cấp của các lớp.


Và nếu như người lập trình không mô tả các ý tưởng mà anh ta đã xây dựng thành mã
lệnh thì nhiều khi cách tốt nhất là xây dựng lại trong trường hợp một người khác đảm
nhận tiếp nhiệm vụ khi anh ta rời khỏi nhóm.
Xây dựng mô hình sử dụng ngôn ngữ UML đã giải quyết được các khó khăn
trên.Khi trở thành một chuẩn trong việc lập mô hình, mỗi kí hiệu mang một ý nghĩa rõ
ràng và duy nhất, một nhà phát triển có thể đọc được mô hình xây dựng bằng UML do
một người khác viết.
Những cấu trúc mà việc nắm bắt thông qua đọc mã lệnh là khó khăn nay đã được
thể hiện trực quan. Một mô hình rõ ràng, sáng sủa làm tăng khả năng giao tiếp, trao đổi
giữa các nhà phát triển.
1.4.2. UML là ngôn ngữ dùng để chi tiết hóa
Có nghĩa là xây dựng các mô hình một các tỉ mỉ, rõ ràng, đầy đủ ở các mức độ chi
tiết khác nhau. Đặc biệt là UML thực hiện việc chi tiết hoá tất cả các quyết định quan trọng
trong phân tích, thiết kế và thực thi một hệ thống phần mềm.
1.4.3. UML là ngôn ngữ dùng để sinh ra mã ở dạng nguyên mẫu
Các mô hình xây dựng bởi UML có thể ánh xạ tới một ngôn ngữ lập trình cụ thể
như : Java, C++... thậm chí cả các bảng trong một CSDL quan hệ hay CSDL hướng đối
tượng.
Việc các yêu cầu có khả năng thường xuyên thay đổi trong quá trình phát triển hệ
thống dẫn đến việc các cấu trúc và hành vi của hệ thống được xây dựng có thể khác mô
hình mà ta đã xây dựng. Điều này có thể làm cho một mô hình tốt trở nên vô nghĩa vì nó
không còn phản ánh đúng hệ thống nữa. Cho nên phải có một cơ chế để đồng bộ hóa giữa
mô hình và mã lệnh.
UML cho phép cập nhật một mô hình từ các mã thực thi.( ánh xạ ngược). Điều này
tạo ra sự nhất quán giữa mô hình của hệ thống và các đoạn mã thực thi mà ta xây dựng

cho hệ thống đó.
1.4.4. UML là ngôn ngữ dùng để lập và cung cấp tài liệu
Một tổ chức phần mềm ngoài việc tạo ra các đoạn mã lệnh( thực thi) thì còn tạo ra
các tài liệu sau:




Ghi chép về các yêu cầu của hệ thống



Kiến trúc của hệ thống



Thiết kế



Mã nguồn



Kế hoạch dự án



Tests




Các nguyên mẫu

1.4.5. Ứng dụng của UML
Mục đích chính của UML là để xây dựng mô hình cho các hệ thống phần mềm, nó
có thể được sử dụng một cách hiệu quả trong nhiều lĩnh vực như:


Hệ thống thông tin doanh nghiệp (enterprise)



Ngân hàng và dịch vụ tài chính



Viễn thông



Giao thông



Hàng không và quốc phòng



Máy móc điện tử dùng trong y tế




Khoa học



Các ứng dụng phân tán dựa trên Web

UML không chỉ giới hạn trong lĩnh vực phần mềm. Nó còn có thể dùng để lập mô
hình cho các hệ thống không phải là phần mềm như hệ thống pháp luật (luồng công việc workflow), thiết kế phần cứng, ...
1.4.6. Các thành phần của UML
a.Các phần tử mang tính cấu trúc
+Lớp (Class)
Là một tập hợp các đối tượng có cùng một tập thuộc tính, các hành vi, các mối
quan hệ với những đối tượng khác.


+Hợp tác (Collaboration)
Thể hiện một giải pháp thi hành bên trong hệ thống, bao gồm các lớp/ đối tượng
mối quan hệ và sự tương tác giữa chúng để đạt được một chức năng mong đợi của Use
case.

+Giao diện (Interface)
Là một tập hợp các phương thức (operation) tạo nên dịch vụ của một lớp hoặc một
thành phần (component). Nó chỉ ra một tập các operation ở mức khai báo chứ không phải
ở mức thực thi (implementation).

+Use case
là mô tả một tập hợp của nhiều hành động tuần tự mà hệ thống thực hiện để đạt

được một kết quả có thể quan sát được đối với một actor cụ thể nào đó. Actor là những gì
ở bên ngoài mà tương tác với hệ thống. Use case mô tả sự tương tác giữa actor và hệ
thống. Nó thể hiện chức năng mà hệ thống sẽ cung cấp cho actor. Tập hợp các Use case
của hệ thống sẽ tạo nên tất cả các trường hợp mà hệ thống có thể được sử dụng.


+Lớp tích cực (Acitive class)
là một lớp mà các đối tượng của nó thực hiện các hoạt động điều khiển. Lớp tích
cực cũng giống như lớp bình thường ngoại trừ việc các đối tượng của nó thể hiện các
phần tử mà ứng xử của chúng có thể thực hiện đồng thời với các phần từ khác. Lớp này
thường dùng để biểu diễn tiến trình(process) và luồng(thread).

+Thành phần (Component)
là biểu diễn vật lý của mã nguồn. Trong hệ thống ta sẽ thấy các kiểu khác nhau
của component như các thành phần COM+ hay JavaBeans cũng như là các thành phần
như các file mã nguồn, các file nhị phân tạo ra trong quá trình phát triển hệ thống.

Nodes
là thể hiện một thành phần vật lý như là một máy tính hay một thiết bị phần cứng.


b.Các phần tử thể hiện hành vi
+Tương tác (Interaction)
bao gồm một tập các thông báo(message) trao đổi giữa các đối tượng trong một
ngữ cảnh cụ thể nào đó để thực hiện một chức năng nào đó.

+Máy chuyển trạng (States machine)
thể hiện các trạng thái của một đối tượng trong thời gian sống của nó nhằm đáp
ứng các sự kiện, các tác động từ bên ngoài.
c.Phần tử mang tính nhóm (Group)

+Gói (Package)
Dùng để nhóm các phần tử có một ý nghĩa chung nào đó vào thành nhóm. Không
giống như các thành phần (component - tồn tại trong lúc thực thi), một package chỉ mang
tính trừu tượng. Package dùng để nhìn hệ thống ở một mức độ tổng quát hơn so với việc
xem xét từng phần tử trong package.
+Annotational (mang tính chất giải thích):
là các chú thích dùng để mô tả, làm sáng tỏ và ghi chú về bất cứ phần tử nào trong
mô hình. Thường dùng nhất là Note gồm các ràng buộc hoặc ghi chú, được gắn với một
phần tử hoặc một tập hợp các phần tử.


1. Các mối quan hệ (Relationships)
+Quan hệ Phụ thuộc (Dependency)
Thể hiện mối quan hệ mà : nếu có một sự thay đổi ở đối tượng độc lập sẽ ảnh
hưởng tới đối tượng phụ thuộc. Kí hiệu:

+Quan hệ Kết hợp ( Association)
Là mối quan hệ liên kết giữa 2 lớp. Nói một cách đơn giản, khi một đối tượng của
lớp này gửi thông điệp tới hoặc nhận thông điệp từ một đối tượng của lớp kia thì ta nói
giữa 2 lớp có mối quan hệ association.

+Quan hệ Tập hợp (Aggreagation)
là một dạng đặc biệt của quan hệ liên kết. Nó thể hiện sự liên kết “chặt” hơn, đó là
mối quan hệ toàn thể-bộ phận.

+Quan hệ Gộp (Composition)
là một dạng đặc biệt của quan hệ aggregation. Trong đó nếu như đối tượng toàn
thể bị hủy thì các đối tượng bộ phận của nó cũng bị hủy theo.

+Quan hệ Thừa kế (Generalization)



là mối quan hệ tổng quát hóa/ cụ thể hóa trong đó đối tượng cụ thể sẽ kế thừa các
thuộc tính và phương thức( behavior) của đối tượng tổng quát.

+Quan hệ Hiện thực hóa (Realization)
Mối quan hệ giữa interface và class hay component hiện thực hoá nó hoặc mối
quan hệ giữa Use case và Collaboration hiện thực hóa Use case đó.

2. Các biểu đồ (Diagrams)
+Biểu đồ lớp (Class Diagram)
Bao gồm một tập hợp các lớp, các giao diện, các collaboration và mối quan hệ
giữa chúng. Nó thể hiện mặt tĩnh của hệ thống.
+Biểu đồ đối tượng (Object Diagram)
Bao gồm một tập hợp các đối tượng và mối quan hệ giữa chúng. Đối tượng là một
thể hiện của lớp, biểu đồ đối tượng là một thể hiện của biều đồ lớp.
+Biểu đồ Use case (Use Case Diagram)
Khái niệm actor: là những người, hệ thống khác ở bên ngoài phạm vi của hệ thống
mà có tương tác với hệ thống.
Biểu đồ Use case bao gồm một tập hợp các Use case, các actor và thể hiện mối
quan hệ tương tác giữa actor và Use case. Nó rất quan trọng trong việc tổ chức và mô
hình hóa hành vi của hệ thống
+Biểu đồ trình tự (Sequence Diagram) là một dạng biểu đồ tương tác (interaction),
biểu diễn sự tương tác giữa các đối tượng theo thứ tự thời gian. Nó mô tả các đối tượng
liên quan trong một tình huống cụ thể và các bước tuần tự trong việc trao đổi các thông
báo(message) giữa các đối tượng đó để thực hiện một chức năng nào đó của hệ thống.
+Biểu đồ hợp tác (Collaboration)
Gần giống như biểu đồ Sequence, biểu đồ Collaboration là một cách khác để thể
hiện một tình huống có thể xảy ra trong hệ thống. Nhưng nó tập trung vào việc thể hiện
việc trao đổi qua lại các thông báo giữa các đối tượng chứ không quan tâm đến thứ tự của



các thông báo đó. Có nghĩa là qua đó chúng ta sẽ biết được nhanh chóng giữa 2 đối tượng
cụ thể nào đó có trao đổi những thông báo gì cho nhau.
+Biểu đồ chuyển trạng thái (Statechart)
Chỉ ra một máy chuyển trạng, bao gồm các trạng thái, các bước chuyển trạng và
các hoạt động. Nó đặc biệt quan trọng trong việc mô hình hóa hành vi của một lớp giao
diện(interface class) hay collaboration và nó nhấn mạnh vào các đáp ứng theo sự kiện của
một đối tượng, điều này rất hữu ích khi mô hình hóa một hệ thống phản ứng(reactive).
+Biểu đồ hoạt động (Activity)
Là một dạng đặc biệt của biểu đồ chuyển trạng. Nó chỉ ra luồng đi từ hoạt động
này sang hoạt động khác trong một hệ thống. Nó đặc biệt quan trọng trong việc xây dựng
mô hình chức năng của hệ thống và nhấn mạnh tới việc chuyển đổi quyền kiểm soát giữa
các đối tượng
+Biểu đồ thành phần (Component)
chỉ ra cách tổ chức và sự phụ thuộc của các thành phần(component). Nó liên quan
tới biểu đồ lớp, trong đó một thành phần thường ánh xạ tới một hay nhiều lớp, giao diện ,
collaboration.
+Quan hệ Thừa kế (Generalization)
chỉ ra cấu hình của hệ thống khi thực thi.
1.4.7. Các quy tắc của UML
Các thành phần của UML (“Unified Modeling language”) không thể ngẫu nhiên
đặt cạnh nhau. Như bất cứ một ngôn ngữ nào, UML có những quy tắc chỉ ra rằng một mô
hình tốt sẽ như thế nào. Một mô hình tốt là mô hình mang tính nhất quán và có sự kết hợp
hài hòa giữa các mô hình có liên quan của nó.
UML có một số quy tắc dành cho việc:


Đặt tên: để có thể truy xuất các phần tử của mô hình thì phải đặt tên cho chúng


như tên của các quan hệ, biểu đồ...


Xác định phạm vi: ngữ cảnh mang lại một ý nghĩa cụ thể cho một cái tên




Tính nhìn thấy được: để có được sự đơn giản và dễ kiểm soát thì ở những ngữ

cảnh khác nhau cần chỉ ra rằng một cái tên là hiện hữu và được sử dụng bởi những đối
tượng khác như thế nào.


thế nào.

Tính toàn vẹn: mọi thứ quan hệ một cách đúng đắn và nhất quán với nhau như


CHƯƠNG 2. KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1 Khảo sát hiện trạng
2.1.1 Giới thiệu về đơn vị khảo sát
 Tên đơn vị : Trung tâm điện máy Tuệ Mai
 Địa chỉ: Phố chợ 1 - TT Hùng Sơn – Đại Từ - Thái Nguyên .
 Điện Thoại: 0208.3824.315 & 0912 000 515
 Lĩnh vực chuyên hoạt động buôn bán các mặt hàng: Đồ điện tử - điện lạnh – đồ
gia dụng.
 Cơ cấu tổ chức của công ty:

Giám đốc

trung tâm

Bộ phận
kinh doanh

Bộ phận
bán hàng

Bộ phận
kho

Bộ phận kế
toán

Bộ phận kỹ
thuật

- Giám đốc trung tâm: Điều hành, quản lý các bộ phận bên dưới, định hướng cho
trung tâm phát triển vững mạnh.
- Bộ phận kinh doanh: Tiến hành định giá, tìm nguồn hàng, liên hệ với nhà sản
xuất…
- Bộ phận kho: Nhập, xuất hàng cho bộ phận bán hàng.


×