Trong khuôn khổ đề tài thực tập tốt nghiệp “Xây dựng website Thời Trang Dũng Dũng Tiến” em đã đạt được một số kết quả như sau: - Xây dựng thành công website - Thiết kế được giao diện phù hợp với yêu cầu đề ra, có đầy đủ các chức năng cần thiết - Đã phân tích được hệ thống theo hướng đối tượng UML 2. Những hạn chế của chương trình Do thời gian làm đề tài và trình độ năng lực bản thân còn nhiều hạn chế nên chương trình của em không tránh khỏi thiếu sót và một số công việc vẫn chưa làm được như: - Việc biểu diễn các thông tin chưa đẹp - Giao diện còn một số chỗ chưa chuyên nghiệp. Vì thế em rất mong được sự đóng góp ý kiến nhận xét từ phía các thầy cô và các bạn để website của em được hoàn thiện hơn, có thể áp dụng rộng rãi hơn vào thực tế. 3. Hướng phát triển Hoàn thiện về giao diện và chức năng để website có thể thương mại hoá.
Trang 1MỤC LỤC
MỤC LỤC 1
LỜI CẢM ƠN 2
CHƯƠNG I: Cơ Sở Lý Thuyết 4
1.1 Khái niệm cơ bản về Internet 4
1.1.1 Giới thiệu chung 4
1.1.2 Phân loại 4
1.1.3 Phân loại Web 5
1.2 HTML 6
1.2.1 Các thẻ HTML cơ bản 6
1.3 PHP 7
1.3.1 Khái niệm PHP 7
1.3.2 Tại sao nên dùng PHP 8
1.3.3 Hoạt động của PHP 8
1.3.4 Lịch sử phát triển 9
1.4 HTML 10
1.4.5 Khái niệm về CSS 10
1.5 Cơ sở dữ liệu MySQL 15
CHƯƠNG II: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 17
2.1 Khảo sát 17
2.1.1 Nêu bài toán 17
2.1.2 Phạm vi dự án được ứng dụng 17
2.1.3 Đối tượng sử dụng 18
2.1.4 Mục đích của dự án 18
2.2 Xác định yêu cầu của khách hàng 18
2.2.1 Hệ thống hiện hành của cửa hàng 18
2.2.2 Hệ thống đề nghị 19
2.3 Yêu cầu giao diện của website 20
2.3.1 Giao diện người dùng 20
2.3.2 Giao diện người quản trị 21
2.4 Phân tích thiết kế hệ thống 21
2.4.1 Biểu đồ user case của hệ thống 21
2.4.2 Biểu đồ phân rã 22
2.4.3 Đặc tả use care 25
2.4.2 Biểu đồ hoạt động 30
2.2.5 Biểu đồ chức năng hệ thống 34
2.2.5 Biểu đồ cơ sở dữ liệu 35
CHƯƠNG 3: CÀI ĐẶT WEBSITE 36
3.1 Bài toán 36
Trang 23.2 Giao diện người dùng 36
3.3 Giao diện quản trị 38
KẾT LUẬN 40
1 Kết quả đạt được 40
2 Những hạn chế của chương trình 41
3 Hướng phát triển 41
TÀI LIỆU THAM KHẢO 41
Trang 3LỜI CẢM ƠN
Trong thời gian làm đồ án tốt nghiệp, em đã nhận được nhiều sự giúp đỡ, đóng góp ý kiến
và chỉ bảo nhiệt tình của thầy cô, gia đình và bạn bè
Em xin gửi lời cảm ơn chân thành đến Th.s Đào Thị Hằng, giảng viên Bộ môn- Điện tử máy tính- Khoa:Công nghệ Điện tử và Truyền thông – Trường ĐH CNTT&TT người
đã tận tình hướng dẫn, chỉ bảo em trong suốt quá trình làm thực tập
Em cũng xin chân thành cảm ơn các thầy cô giáo trong trường ĐH CNTT&TT nói chung,các thầy cô trong Bộ môn Kỹ Thuật Máy Tính nói riêng đã dạy dỗ cho em kiến thức về các môn đại cương cũng như các môn chuyên ngành, giúp em có được cơ sở lý thuyết vững vàng và tạo điều kiện giúp đỡ em trong suốt quá trình học tập
Cuối cùng, em xin chân thành cảm ơn gia đình và bạn bè, đã luôn tạo điều kiện, quan tâm,giúp đỡ, động viên em trong suốt quá trình học tập và hoàn thành thực tập tốt nghiệp
Thái Nguyên, ngày 09 tháng 08 năm 2021
Sinh viên thực hiện
Trang 4CHƯƠNG I: Cơ Sở Lý Thuyết 1.1 Khái niệm cơ bản về Internet
1.1.1 Giới thiệu chung
Internet là mạng của các máy tính trên toàn cầu được thành lập từ những năm 80bắt nguồn từ mạng APARRNET của bộ quốc phòng Mỹ
Vào mạng Internet, bạn có thể tìm thấy nhiều tài liệu để nghiên cứu, học tập, traođổi thư từ, đặt hàng, mua bán Một trong những mục tiêu của Internet là chia sẻ thông tingiữa những người dùng trên nhiều lĩnh vực khác nhau
Mỗi máy tính trên Internet được gọi là một host Mỗi host có khả năng như nhau
về truyền thông tới máy khác trên Internet Một số host được nối tới mạng bằng đườngnối Dial-up (quay số) tạm thời, số khác được nối bằng đường nối mạng thật sự 100% (nhưEthernet, Tokenring )
1.1.2 Phân loại
Các máy tính trên mạng được chia làm 2 nhóm Client và Server
- Client: Máy khách trên mạng, chứa các chương trình Client
- Server: Máy phục vụ-Máy chủ Chứa các chương trình Server, tài nguyên (tập tin,tài liệu ) dùng chung cho nhiều máy khách Server luôn ở trạng thái chờ yêu cầu và đápứng yêu cầu của Client
- Internet Server: Là những server cung cấp các dịch vụ Internet như Web Server,Mail Server, FPT Server…
Các dịch vụ thường dùng trên Internet
- Dịch vụ World Wide Web (gọi tắt là Web)
- Dịch vụ Electronic Mail (viết tắt là Email)
- Dịch vụ FPT
Để truyền thông với những máy tính khác, mọi máy tính trên Internet phải hỗ trợgiao thức chung TCP/IP (Transmission Control Protocol/Internet Protocol- là giao thứcđiều khiển truyền dữ liệu và giao thức Internet), là một giao thức đồng bộ, cho truyền
Trang 51.1.3 Phân loại Web
Web tĩnh
Tài liệu được phân phát rất đơn giản từ hệ thống file của Server
Định dạng các trang web tĩnh là các siêu liên kết, các trang định dạng Text, cáchình ảnh đơn giản
Ưu điểm: CSDL nhỏ nên việc phân phát dữ liệu có hiệu quả rõ ràng, Server có thểđáp ứng nhu cầu Client một cách nhanh chóng Ta nên sử dụng Web tĩnh khi không thayđổi thông tin trên đó
Nhược điểm : Không đáp ứng được yêu cầu phức tạp của người sử dụng, khônglinh hoat
Hoạt động của trang Web tĩnh được thể hiện như sau:
Server gửi trả tài liệu
Website động
Về cơ bản nội dung của trang Web động như một trang Web tĩnh, ngoài ra nó còn cóthể thao tác với CSDL để đáp ứng nhu cầu phức tập của một trang Web Sau khi nhậnđược yêu cầu từ Web Client, chẳng hạn như một truy vấn từ một CSDL đặt trên Server,ứng dụng Internet Server sẽ truy vấn CSDL này, tạo một trang HTML chứa kết quả truyvấn rồi gửi trả cho người dùng
Hoạt động của Web động:
Trang 6HTML giúp định dạng văn bản trong trang Web nhờ các thẻ Hơn nữa, các thẻhtml có thể liên kết từ hoặc một cụm từ với các tài liệu khác trên Internet Đa số các thẻHTML có dạng thẻ đóng mở Thẻ đóng dùng chung từ lệnh giống như thẻ mở, nhưngthêm dấu xiên phải (/) Ngôn ngữ HTML qui định cú pháp không phân biệt chữ hoa chữ
thường Ví dụ, có thể khai báo <html> hoặc <HTML> Không có khoảng trắng trong
định nghĩa thẻ
1.2.1 Các thẻ HTML cơ bản
1 Thẻ <head> </head>: Tạo đầu mục trang
2 Thẻ <title> </title>: Tạo tiêu đề trang trên thanh tiêu đề, đây là thẻ bắt buộc Thẻ title cho phép bạn trình bày chuỗi trên thanh tựa đề của trang Web mỗi khi trang
Web đó được duyệt trên trình duyệt Web
3 Thẻ <body> </body>: Tất cả các thông tin khai báo trong thẻ <body> đều có
thể xuất hiện trên trang Web Những thông tin này có thể nhìn thấy trên trang Web
4 Các thẻ định dạng khác Thẻ <p>…</p>:Tạo một đoạn mới Thẻ <font>
</font>: Thay đổi phông chữ, kích cỡ và màu kí tự…
5 Thẻ định dạng bảng <table>…</table>: Đây là thẻ định dạng bảng trên trang Web Sau khi khai báo thẻ này, bạn phải khai báo các thẻ hàng <tr> và thẻ cột <td> cùng
với các thuộc tính của nó
6 Thẻ hình ảnh <img>: Cho phép bạn chèn hình ảnh vào trang Web Thẻ này
thuộc loại thẻ không có thẻ đóng
Trang 77 Thẻ liên kết <a> </a>: Là loại thẻ dùng để liên kết giữa các trang Web hoặc
liên kết đến địa chỉ Internet, Mail hay Intranet(URL) và địa chỉ trong tập tin trong mạngcục bộ (UNC)
8 Các thẻ Input: Thẻ Input cho phép người dùng nhập dữ liệu hay chỉ thị thực thi
một hành động nào đó, thẻ Input bao gồm các loại thẻ như: text, password, submit,button, reset, checkbox, radio, image
9 Thẻ Textarea: < Textarea> < \Textarea>: Thẻ Textarea cho phép người
dùng nhập liệu với rất nhiều dòng Với thẻ này bạn không thể giới hạn chiều dài lớn nhấttrên trang Web
10 Thẻ Select: Thẻ Select cho phép người dùng chọn phần tử trong tập phương
thức đã được định nghĩa trước Nếu thẻ Select cho phép người dùng chọn một phần tửtrong danh sách phần tử thì thẻ Select sẽ giống như combobox Nếu thẻ Select cho phépngười dùng chọn nhiều phần tử cùng một lần trong danh sách phần tử, thẻ Select đó làdạng listbox
11 Thẻ Form: Khi bạn muốn submit dữ liệu người dùng nhập từ trang Web phía
Client lên phía Server, bạn có hai cách để làm điều nàu ứng với hai phương thức POST vàGET trong thẻ form Trong một trang Web có thể có nhiều thẻ Form khác nhau, nhưngcác thẻ Form này không được lồng nhau, mỗi thẻ form sẽ được khai báo hành động(action) chỉ đến một trang khác
1.3 PHP
1.3.1 Khái niệm PHP
PHP là chữ viết tắt của “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ườngchuyê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ôngnghệ phía máy chủ (Server-Side) và không phụ thuộc vào môi trường (cross-platform)
Trang 8Đâ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 đếnmọ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ộcmô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, Unix và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ệcbì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 khimộ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.3.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ạikhá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à khilậ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ảiphá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ậptrình viên chuyên nghiệp, mọi ý tuở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.3.3 Hoạt động của PHP:
Trang 9Yêu cầu URL HTMLHTML
Gọi mã kịch
Máy chủWeb
Máy khách
hàng
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:
bản
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ệuthích hợp (mã lệnh HTML) đến trình duyệt Web Trình duyệt xem nó như là một trangHTML tê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 filePHP 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 đượccủa đoạn mã PHP thay thế vào chỗ ban đầu của chúng trong file PHP, cuối cùng Servertrả về kết quả cuối cùng là một trang nội dung HTML về cho trình duyệt
1.3.4 Lịch sử phát triển
PHP : Rasmus Lerdorf in 1994 được phát triển để phát sinh các form đăng nhập
sử dụng giao thức HTTP của Unix
PHP 2 (1995) : Chuyển sang ngôn ngữ script xử lý trên server Hỗ trợ CSDL,
Upload File, khai báo biến, mảng, hàm đệ quy, câu điều kiện, biểu thức, …
PHP 3 (1998) : Hỗ trợ ODBC, đa hệ điều hành, giao thức email (SNMP, IMAP),
bộ phân tích mã PHP (parser) của 4 email (SNMP, IMAP), bộ phân tích mã PHP (parser)của Zeev Suraski và Andi Gutmans
Trang 10PHP 4 (2000) : Trở thành một thành phần độc lập cho các webserver Parse đổi tênthành Zend Engine Bổ sung các tính năng bảo mật cho PHP.
PHP 5 (2005) : Bổ sung Zend Engine II hỗ trợ lập trình HĐT, XML, SOAP choWeb Services, SQLite
Phiên bản mới nhất của PHP là version PHP 5.2.4
Các tài liệu html được tự động sinh từ các ngôn ngữ lập trình như net , php , javathì có thể tạo động các mã html (tức là có thể tạo giao diện thay đổi nội dung) Ta gọi cácwebsite này là website động
Trong tài liệu này chúng ta chủ yếu tìm hiểu về html tĩnh , để hiểu cơ chế địnhdạng – trang trí – xử lý html Việc xây dựng các trang html động chúng ta cần tham khảocác khóa học về asp , java , php
Ngôn ngữ html còn rất nhiều thẻ cũng như thuộc tính Tuy nhiên chúng ta chỉ cầnnắm vững các thẻ cũng như thuộc tính cơ bản trên là có thể bắt tay vào xây dựng nên cácứng dụng web
1.4.1 Khái niệm về CSS.
Chúng ta đã biết qua về các thẻ html , và thể hiện nội dung html từ phần 1 Tuynhiên chỉ với các thẻ html thuần thì chúng ta không thể tạo ra được các bố cụ trang trínhư màu sắc , vị trí … ( như kiểu ta định dạng tài liệu trên word vậy ) Và chúng ta sẽdùng CSS để làm điều đó Việc định dạng tài liệu html dùng CSS cũng như ta định dạngtài liệu word thông thường thôi Có điều với word ta định dạng tài liệu một cách trực
Trang 11quan , còn với CSS ta phải dùng code để định dạng , và dĩ nhiên dùng code tuy khó hơnnhưng lại mang tính mềm dẻo và làm dược nhiều thứ hơn
Html đánh dấu văn bản , còn CSS sẽ truy vấn các thành phần html để định dạng về màu
Chúng tôi không muốn giới thiệu đầy đủ kiến thức về 1 nền tảng sẽ khiến các bạnmới lập trình trở nên chóng mặt với đống kiến thức , không biết học xong ứng dụng đượcvào đâu và như thế nào Mà phần lớn tập chung vào cơ sở lý thuyết rồi đi vào xây dựngứng dụng thực tế trên nền tảng kiến thức đã học
Mục tiêu của chúng tôi là cung cấp các kiến thức nền tảng để các bạn có thể viếtlên được các ứng dụng thực tế Khi xây dựng các ứng dụng phức tạp , các bạn dựa vàonền tảng đã học để có thể tự học và tiếp thu các công nghệ mới Trong thể giới lập trình
IT thì việc thay đổi công nghệ và nên tảng là việc thường xuyên Vì thể khả năng tự họcđóng vai trò quan trọng hơn là đi chi tiết vào 1 nội dung.Chúng ta cần phải thường xuyêncập nhật công nghệ để giải quyết các vấn đề mắc phải trong phát triển ứng dụng
CSS Selecter
CSS Selecter ta tạm hiểu là cách CSS chọn các phần tử HTML để định dạngKhi các bạn học được về CSS selecter , thì sẽ học được luôn jQuery Selecter( jQuery là 1 thư viện của JavaScript ) Vì CSS Selecter và jQuery Selecter gần giốngnhau
Tại ví dụ của phần 4 , khi khai báo CSS tại file riêng hoặc trong thẻ Style ta đã sửdụng tới CSS Selecter để chọn ra thẻ div cần định dạng
Khái niệm id và class
id và class là 2 attribute của tag html
Trang 12 Id
id có giá trị duy nhất trong tài liệu html
khi này không 1 thẻ html nào có attribute giá trị là div1 nữa
Class
với attribute class thì nhiều thẻ html có thể có chung 1 class
Sử dụng id và class
khi ta muốn định dạng riêng cho một đối tượng thì dùng id
khi muốn nhiều đối tượng có chung 1 định dạng thì dùng class
Tổng quan về UML
Khái niệm và đặc điểm của UML
UML là ngôn ngữ mô hình hóa thống nhất(Unified Modeling Language), trướchết nó là mô tả ký pháp thống nhất, ngữ nghĩa và các định nghĩa về metamodel (mô tảđịnh nghĩa chính ngôn ngữ mô hình hóa), nó không mô tả phương pháp phát triển UMLđược sử dụng để hiển thị, đặc tả, xây dựng và làm tài liệu các vật phẩm của quá trìnhphân tích xây dựng hệ thống phần mềm theo hướng đối tượng UML được sử dụngcho mọi tiến trình phát triển phần mềm, xuyên suốt vòng đời phát triển và độc lập với cáccông nghệ cài đặt hệ thống
UML là ngôn ngữ chuẩn để viết các kế hoạch chi tiết phần mềm Nó phù hợp choviệc mô hình hóa các hệ thông tin doanh nghiệp, các ứng dụng phân tán trên nền Web, hệthống nhúng thời gian thực… Các khung nhìn của ngôn ngữ được quan sát từ góc độ pháttriển và triển khai hệ thống, nó không khó sử dụng và dễ hiểu UML là ngôn ngữ mô hìnhđược cả con người và máy sử dụng
Đặc điểm của UML
UML là ngôn ngữ
UML là ngôn ngữ để hiển thị
UML làm ngôn ngữ đặc tả
UML là ngôn ngữ dễ xây dựng
UML là ngôn ngữ tài liệu
Mô hình khái niệm của UML
Trang 13- Phần tử mô hình UML
Các khối hình thành mô hình UML gồm ba loại như sau: phần tử, quan hệ và biểu
đồ Phần tử là trừu tượng căn bản trong mô hình, các quan hệ gắn các phần tử này lại vớinhau, còn biểu đồ nhóm tập hợp các phần tử Trong UML có bốn loại phần tử mô hình,
đó là cấu trúc, hành vi, nhóm và chú thích Các phần tử này là các khối để xây dựnghướng đối tượng cơ bản của UML
Phần tử cấu trúc là các danh từ trong mô hình UML Chúng là bộ phận tĩnh của môhình để biểu diễn các thành phần khái niệm hay vật lý Có bảy loại phần tử cấu trúc, đólà: lớp, giao diện, phần tử cộng tác, trường hợp sử dụng (Use Case), lớp tích cực(activeclass), thành phần, nút(node)
Phần tử hành vi là bộ phận động của mô hình UML Chúng là các động từ của môhình, biểu diễn hành vi theo thời gian và không gian Có hai loại chính là tương tác vàmáy trạng thái
Phần tử nhóm là bộ phận tổ chúc của mô hình UML Chỉ có một phần tử thuộcnhóm này có tên là gói (package) Gói là cơ chế đa năng để tổ chức các phần tử củanhóm Các phần tử cấu trúc, hành vi và ngay cả phần tử nhóm có thể cho vào gói
- Các quan hệ trong UML
Có bốn loại quan hệ trong UML, bao gồm quan hệ phụ thuộc, kết hợp, khái quát vàhiện thực hóa Chúng là cơ sở để xây dựng mọi quan hệ trong UML
Phụ thuộc (dependency) Phụ thuộc là quan hệ ngữ nghĩa hai phần tử trong đó thayđổi phần tử độc lập sẽ tác động đến ngữ nghĩa của phần tử phụ thuộc
Kết hợp (association) Kết hợp là quan hệ cấu trúc để mô tả tập liên kết Khi đốitượng của lớp này gửi/nhận thông điệp đến/từ đối tượng của lớp kia thì gọi đó là quan hệkết hợp
Khái quát hóa (generalization) Khái quát hóa là quan hệ đặc biệt háo/khái quáthóa mà trong đó đối tượng cụ thể sẽ kế thừa các thuộc tính và phương pháp của đốitượng tổng quát
Hiện thực hóa (realization) Hiện thực hóa là quan hệ ngữ nghĩa giữa giao diện vàlớp(hay thành phần) hiện thực lớp, giữa UC và hợp tác hiện thực UC
- Kiểu dữ liệu
Trang 14Kiểu dữ liệu không phải là phần tử mô hình trong UML Kiểu dữliệu cơ sở là kiểu
dữ liệu không có cấu trúc UML có các kiểu dữ liệu sau:
Boolean: là kiểu đếm với hai giá trị True và False
Biểu thức (Expression): là xâu ký tự có cú pháp
Tính nhiều (Multiplicity): là tập không rỗng của các số nguyên dương và ký tự* (để biểu thị tính nhiều vô hạn)
Tên (Name): là xâu ký tự cho khả năng đặc tả phần tử
Số nguyên (Integer): là kiểu cơ bản và là phần tử của tập vô hạn các số nguyên âm
và dương
Xâu (String): là trật tự của các ký tự, được sử dụng là tên
Thời gian (Time): xâu ký tự biểu dirn giá trị tuyệt đối hay khoảng tương tương đối Không lý giải (Uninterpreted): là ‘cái gì đó’ mà ý nghĩa của nó phụ thuộc và lĩnhvực
Biểu đồ UML là biểu diễn đồ họa tập hợp các phần tử mô hình Vẽ biểu đồ để biểudiễn hệ thống đang xây dựng dưới các góc độ quan sát khác nhau Có thể hiểu biểu đồ làánh xạ của hệ thống Một phần tử có thể xuất hiện trong một hay nhiều biểu đồ Về lýthuyết thì biểu đồ có thể bao gồm tổ hợp vô số phần tử đồ họa và quan hệ vừa mô tả trên.UML cho khả năng xây dựng một vài kiểu biểu đồ trực quan để biểu diễn các khía cạnhkhác nhau của hệ thống, bao gồm biểu đồ trường hợp sử dụng, biểu đồ trình tự, biểu đồcộng tác, biểu đồ lớp, biểu đồ biến đổi trạng thái, biểu đồ thành phần, biểu đồ triển khai
Biểu đồ trường hợp sử dụng(Use case- UC)
Biểu đồ này chỉ ra tương tác giữa UC và tác nhân.UC biểu diễn các chức năng hệthống Tác nhân con người hay hệ thống khác cung cấp hay thu nhận thông tin từ hệthống đang được xây dựng Biểu đồ UC tập trung vào quan sát trạng thái tĩnh của các UCtrong hệ thống biểu đồ loại này chỉ ra tác nhân nào khởi động UC và khi nào tác nhânnhận thông tin từ hệ thống
Biểu đồ trình tự (Sequence)
Biểu đồ trình tự chỉ ra các luồng chức năng xuyên qua các UC, nó là biểu đồ mô tảtương tác giữa các đối tượng và tập trung vào mô tả trật tự các thông điệp thời gian
Biểu đồ cộng tác (Collabaration)
Trang 15Biểu đồ cộng tác chỉ ra các thông tin như biểu đồ trình tự theo cách khác, nó tậptrung vào tổ chức cấu trúc của các đối tượng gửi và nhận thông điệp Biểu đồ cộng tác vàbiểu đồ trình tự thuộc loại biểu đồ tương tác và chúng có thể biến đổi qua lại.
Biểu đồ lớp(Class)
Biểu đồ lớp chỉ ra tương tác giữa các lớp trong hệ thống Các lớp được xem như kếhoạch chi tiết của từng đối tượng Mỗi lớp trong biểu đồ lớp được tạo ra cho mỗi loại đốitượng trong biểu đồ trinh tự và cộng tác
Biểu đồ chuyển trạng thái(State transition)
Biểu đồ chuyển trạng thái mô tả vòng đời của đối tượng, từ khi nó được sinh ra đếnkhi bị phá hủy.Biểu đồ chuyển trạng thái cung cấp cách thức mô hình hóa các trạng tháikhác nhau của đối tượng Trong khi biểu đồ lớp cung cấp bức tranh tĩnh về các lớp vàquan hệ của chúng thì biểu đồ chuyển trạng thái được sử dụng để mô hình hóa các hành viđộng của hệ thống
Biểu đồ thành phần(Component)
Biểu đồ thành phần cho ta cái nhìn vật lý của mô hình Biểu diễn thành phần cho tathấy được các thành phần mềm trong hệ thống và quan hệ giữa chúng Hai loại thànhphần trong biểu diển đồ, đó là thành phần khả thực và thành phần thư viện Bất kỳ ai cótrách nhiệm dịch chương trình đều quan tâm đến biểu đồ loại này Biểu đồ cho ta thấytrình tự dịch của các mođun trong hệ thống Đồng thời nó cũng cho biết rõ thành phầnnào được tạo ra khi chạ chương trình
Biểu đồ triển khai(Deployment)
Biểu đồ triển khai chỉ ra bố trí vật lý của mạng và các thành phần hệ thống sẽ đặt ởđây Thông qua biểu đồ triển khai mà người quản lý dự án, người sử dụng, kiến trúc sư vàđội ngũ triển khai hiểu phân bổ vật lý của hệ thống và các hệ thống con sẽ được đặt ra ởđâu
1.4 Cơ sở dữ liệu MySQL
Giới thiệu cơ sở dữ liệu MySQL:
MySQL là ứng dụng cơ sở dữ liệu mã nguồn mở phổ biến nhất hiện nay và được
sử dụng phối hợp với PHP Trước khi làm việc với MySQL cần xác định các nhu cầu choứng dụng
Trang 16MySQL là cơ sở dữ có trình giao diện trên Windows hay Linux, cho phép người
sử dụng có thể thao tác các hành động liên quan đến nó Việc tìm hiểu từng công nghệ
trước khi bắt tay vào việc viết mã kịch bản PHP, việc tích hợp hai công nghệ PHP vàMySQL là một công việc cần thiết và rất quan trọng
Mục đích sử dụng cơ sở dữ liệu MySQL:
Mục đích sử dụng cơ sở dữ liệu bao gồm các chức năng như: lưu trữ (storage),truy cập (accessibility), tổ chức (organization) và xử lí (manipulation)
Lưu trữ: Lưu trữ trên đĩa và có thể chuyển đổi dữ liệu từ cơ sở dữ liệu này sang cơ
sở dữ liệu khác, nếu bạn sử dụng cho quy mô nhỏ, bạn có thể chọn cơ sở dữ liệu nhỏnhư:Microsoft Exel, Microsoft Access, MySQL, Microsoft Visual FoxPro, Nếu ứngdụng có quy mô lớn, bạn có thể chọn cơ sở dữ liệu có quy mô lớn như :Oracle, SQLServer,
Truy cập: Truy cập dữ liệu phụ thuộc vào mục đích và yêu cầu của người sử dụng,
ở mức độ mang tính cục bộ, truy cập cơ sỏ dữ liệu ngay trong cơ sở dữ liệu với nhau,nhằm trao đổi hay xử lí dữ liệu ngay bên trong chính nó, nhưng do mục đích và yêu cầungười dùng vượt ra ngoài cơ sở dữ liệu, nên bạn cần có các phương thức truy cập dữ liệugiữa các cơ sở dử liệu với nhau như:Microsoft Access với SQL Server, hay SQL Server
và cơ sở dữ liệu Oracle
Tổ chức: Tổ chức cơ sở dữ liệu phụ thuộc vào mo hình cơ sở dữ liệu, phân tích vàthiết kế cơ sở dữ liệu tức là tổ chức cơ sở dữ liệu phụ thuộc vào đặc điểm riêng của từngứng dụng Tuy nhiên khi tổ chức cơ sở dữ liệu cần phải tuân theo một số tiêu chuẩn của
hệ thống cơ sở dữ liệu nnhằm tăng tính tối ưu khi truy cập và xử lí
Xử lí: Tùy vào nhu cầu tính toán và truy vấn cơ sở dữ liệu với các mục đích khácnhau, cần phải sử dụng các phát biểu truy vấn cùng các phép toán, phát biểu của cơ sở dữliệu để xuất ra kết quả như yêu cầu Để thao tác hay xử lí dữ liệu bên trong chính cơ sở
dữ liệu ta sử dụng các ngôn ngữ lập trình như:PHP, C++, Java, Visual Basic,
Trang 17CHƯƠNG II: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Trong chương này chúng ta sẽ phân tích các yêu cầu của đề tài như việc tóm tắthoạt động của hệ thống mà dự án sẽ được ứng dụng, phạm vi ứng dụng của đề tài và đốitượng sử dụng, mục đích của dự án Xác định yêu cầu của khách hàng: Xuất phát từ hệthống hiện hành của cửa hàng cùng với yêu cầu của khách hàng để vạch ra được yêu cầu
hệ thống cần xây dựng như việc thiết kế giao diện, yêu cầu về chức năng và yêu cầu vềbảo mật Trong chương này chúng ta đi xây dựng một số biểu đồ Use Case, biểu đồ hoạtđộng của các chức năng trong hệ thống và thông tin cơ sở dữ liệu của chương trình
2.1 Khảo sát
2.1.1 Nêu bài toán
- Là một Website chuyên bán các sản phẩm về thời trang cho giới trẻ
- Là một Website động, các thông tin được cập nhật theo định kỳ
- Người dùng truy cập vào Website có thể xem, tìm kiếm, mua các sản phẩm,hoặc đặthàng sản phẩm
- Các sản phẩm được sắp xếp hợp lý Vì vậy người dùng sẽ có cái nhìn tổng quan về tất
cả các sản phẩm hiện có
- Người dùng có thể xem chi tiết từng sản (có hình ảnh minh hoạ sản phẩm).
- Khi đã chọn được món hàng vừa ý thì người dùng click vào nút cho vào giỏ hàng hoặcchọn biểu tượng giỏ hàng để sản phẩm được cập nhật trong giỏ hàng
- Người dùng vẫn có thể quay trở lại trang sản phẩm để xem và chọn tiếp, các sản phẩm
đã chọn sẽ được lưu vào trong giỏ hàng
- Khách hàng cũng có thể bỏ đi những sản phẩm không vừa ý đã có trong giỏ hàng
- Nếu đã quyết định mua các sản phẩm trong giỏ hàng thì người dùng click vào mụcthanh toán để hoàn tất việc mua hàng, hoặc cũng có thể huỷ mua hàng
- Đơn giá của các món hàng sẽ có trong giỏ hàng
- Người dùng sẽ chọn các hình thức vận chuyển, thanh toán hàng do hệ thống đã định
Trang 182.1.2 Phạm vi dự án được ứng dụng
- Dành cho mọi đối tượng có nhu cầu mua sắm trên mạng
- Do nghiệp vụ của cửa hàng kết hợp với công nghệ mới và được xử lý trên hệ thốngmáy tính nên công việc liên lạc nơi khách hàng cũng như việc xử lý hoá đơn thực hiệnmột cách nhanh chóng và chính xác Rút ngắn được thời gian làm việc, cũng như đưathông tin về các sản phẩm mới nhanh chóng đến cho khách hàng
2.1.3 Đối tượng sử dụng
Có 2 đối tượng sử dụng cơ bản là người dùng và nhà quản trị:
* Người dùng : Qua Website, khách hàng có thể xem thông tin, lựa chọn những
sản phẩm ưa thích ở mọi nơi thậm chí ngay trong phòng làm việc của mình
* Nhà quản trị : Nhà quản trị có toàn quyền sử dụng và cập nhật sản phẩm, hoá
đơn, quản lý khách hàng, đảm bảo tính an toàn cho Website
2.1.4 Mục đích của dự án
- Đáp ứng nhu cầu mua bán ngày càng phát triển của xã hội, xây dựng nên một môitrường làm việc hiệu quả
- Thúc đẩy phát triển buôn bán trực tuyến
- Rút ngắn khoảng cách giữa người mua và người bán, tạo ra một Website trực tuyến cóthể đưa nhanh thông tin cũng như việc trao đổi mua bán các loại điện thoại qua mạng
- Việc quản lý hàng trở nên dễ dàng
- Sản phẩm được sắp xếp có hệ thống nên người dùng dễ tìm kiếm sản phẩm
2.2 Xác định yêu cầu của khách hàng
2.2.1 Hệ thống hiện hành của cửa hàng
Hiện tại cửa hàng đang sử dụng cơ chế quảng cáo, hợp đồng trưng bày, đặt hàng
trực tiếp tại trung tâm do các nhân viên bán hàng trực tiếp đảm nhận (hoặc có thể gọi điện đến nhà phân phối để đặt hàng và cung cấp địa chỉ để nhân viên giao hàng tận nơi cho khách hàng) Trong cả hai trường hợp trên khách hàng đều nhận hàng và thanh toán trực
tiếp bằng tiền mặt tại nơi giao hàng.Và trong tờ hoá đơn khách hàng phải điền đầy đủthông tin cá nhân và số lượng mặt hàng cần mua Kế toán phải chuẩn bị hoá đơn thanh
Trang 19toán, nhập một số dữ liệu liên quan như ngày, giờ, tên khách hàng, mã số mặt hàng, sốlượng mua, các hợp đồng trưng bày sản phẩm, tổng số các hoá đơn vào trong sổ kinhdoanh.
Dựa vào những ràng buộc cụ thể của hệ thống hiện hành chúng ta có thể đề nghị một hệ thống khác tiên tiến hơn, tiết kiệm được thời gian…
2.2.2 Hệ thống đề nghị
Để có thể vừa quảng cáo, bán hàng và giới thiệu sản phẩm của cửa hàng trên mạng thì website cần có các phần như:
Về giao diện:
- Giao diện người dùng
o Phải có một giao diện thân thiện dễ sử dụng
o Phải nêu bật được thế mạnh của website, cũng như tạo được niềm tin cho kháchhàng ngay từ lần viếng thăm đầu tiên
o Giới thiệu được sản phẩm của cửa hàng đang có
o Có biểu mẫu đăng ký để trở thành thành viên
o Có danh mục sản phẩm
o Chức năng đặt hàng, mua hàng
o Có biểu mẫu liên hệ
o Chức năng tìm kiếm sản phẩm
o Mỗi loại sản phẩm cần phải có trang xem chi tiết sản phẩm
o Mục login của khách hàng khi đã trở thành thành viên gồm có: Tên đăng nhập
(Username), mật khẩu đăng nhập (password).
- Giao diện người quản trị
o Đơn giản, dễ quản lý và không thể thiếu các mục như:
Quản lý sản phẩm
Quản lý hoá đơn
Quản lý khách hàng
Quản lý đăng nhập
Trang 20 Quản lý mọi thay đổi của website.
- Người Admin có toàn quyền giữ bảo mật cho website bằng mật khẩu riêng.
- Quản lý User & Password của khách hàng an toàn: Thông tin của khách hàng được
bảo mật
Về hệ thống
- Phần cứng: PC bộ vi xử lý pentium III, ram 128 trở lên, ổ cứng 10G trở lên
- Hệ điều hành: Windown XP trở lên
MySQL - Cơ sở dữ liệu
FileZilla - Giả lập FTP server
Và các tính năng chuyên sâu khác
o mySQL: Dùng để lưu cơ sở dữ liệu.
o Javascript: Bắt lỗi dữ liệu.
o Dreamweaver: Tạo form, thiết kế giao diện.
o Photoshop, flash: Thiết kế giao diện.
Trang 212.3 Yêu cầu giao diện của website
2.3.1 Giao diện người dùng
Phải có một giao diện thân thiện dễ sử dụng:
Màu sắc hài hoà làm nổi bật hình ảnh của sản phẩm, font chữ thống nhất, tiện lợikhi sử dụng
Giới thiệu những thông tin về cửa hàng: Địa chỉ liên hệ của cửa hàng hoặc cácđại lý trực thuộc, các số điện thoại liên hệ, email liên hệ
Sản phẩm của cửa hàng: sản phẩm đang có, sản phẩm bán chạy, sản phẩm mớinhất, sản phẩm sắp ra mắt…
2.3.2 Giao diện người quản trị:
- Giao diện đơn giản, dễ quản lý dữ liệu
- Phải được bảo vệ bằng User & Password riêng của Admin
2.4 Phân tích thiết kế hệ thống
2.4.1 Biểu đồ user case của hệ thống
Xác định các tác nhân và use case
- Đăng nhập
(Người thực hiện - Xem chi tiết sản phẩm
truy vấn thông tin, - Mua hàng
giao dịch, mua hàng) - Quản lý giỏ hàng
- Gửi – nhận thông tin phản hồi
- Đăng nhập
(Quản lý mọi hoạt - Quản lý danh mục sản phẩm
động và chức năng - Quản lý sản phẩm
của hệ thống) - Quản lý hóa đơn mua hàng
Trang 22- Xác nhận thanh toán
Biểu đồ User case tổng quát của hệ thống
2.4.2 Biểu đồ phân rã
Biểu đồ phân rã của Admin
- Biểu đồ phân rã use case quản lý thành viên
Trang 23Biểu đồ phân rã quản lý thành viên
- Biểu đồ phân rã use case quản lý danh mục sản phẩm
Biểu đồ phân rã quản lý danh mục sản phẩm
- Biểu đồ phân rã use case quản lý đơn hàng