1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng hệ thống đặt phòng trọ trực tuyến cho sinh viên đại học thái nguyên

82 550 3

Đ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 82
Dung lượng 1,71 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hệ thống thư viện phong phú: CodeIgniter cung cấp các thư viện phục vụ cho những tác vụ thường gặp nhất trong lập trình web, chẳng hạn như truy cập cơ sở dữ liệu, gửi email, kiểm tra dữ

Trang 1

LỜI NÓI ĐẦU

Trên thế giới cũng như ở Việt Nam, CNTT có ảnh hưởng rất mạnh mẽ đến

sự phát triển của đất nước và thế giới CNTT đang phát triển với tốc độ khá mạnh

mẽ và được ứng dụng rất rộng rãi trong tất cả các lĩnh vực, đặc biệt là trong thương mại điện tử Nó giúp việc mua bán, trao đổi hàng hóa trở lên đơn giản hơn rất nhiều

Ở nước ta việc ứng dụng công nghệ thông tin vào trong các lĩnh vực của cuộc sống cũng đang trở nên rất mạnh mẽ, đặc biệt là sự ra đời của các website mua bán, rao vặt,

Xuất phát từ thực tế đó, em đã chọn đề tài “Xây dựng hệ thống đặt phòng

trọ trực tuyến cho sinh viên Đại học Thái Nguyên” Đây là một đề tài không còn

mới song nó vẫn chưa phổ biến trên khu vực Đại học Thái Nguyên Vì vậy, em nghiên cứu đề tài này với hy vọng sẽ góp phần giúp cho công việc tìm kiếm cũng như đặt phòng trọ trở lên dễ dàng hơn dành cho các bạn sinh viên

Em xin chân thành cảm ơn cô giáo ThS.Nguyễn Thị Duyên, người đã

hướng dẫn và giúp đỡ em trong quá trình thực hiện đề tài

Mặc dù đã rất cố gắng để hoàn thành công việc, xong do thời gian có hạn trong việc thu thập thông tin thực tế, phân tích hệ thống thông tin, tập hợp tài liệu

in ấn và lập trình, do đó chương trình của em còn nhiều thiếu sót cần được bổ sung

Em rất mong được sự góp ý và chỉ bảo chân thành của cô giáo hướng dẫn cùng toàn thể các thầy cô trong khoa để đề tài của em được hoàn thiện tốt hơn

Em xin chân thành cảm ơn!

Thái nguyên, tháng 06 năm 2016

Sinh viên thực hiện

Đỗ Văn Minh

Trang 2

LỜI CAM ĐOAN

Đồ án tốt nghiệp là sản phẩm tổng hợp toàn bộ các kiến thức mà sinh viên

đã học được trong suốt thời gian học tập tại trường đại học Ý thức được điều đó, với tinh thần nghiêm túc, tự giác cùng sự lao động miệt mài của bản thân và sự hướng dẫn tận tình của cô Nguyễn Thị Duyên em đã hoàn thành xong đồ án tốt nghiệp của mình Em xin cam đoan: nội dung đồ án của em không sao chép nội dung cơ bản từ các đồ án khác và sản phẩm của đồ án là của chính bản thân em nghiên cứu xây dựng lên Mọi thông tin sai lệch em xin hoàn toàn chịu trách nhiệm trước hội đồng bảo vệ

Em xin chân thành cảm ơn!

Thái Nguyên, tháng 06 năm 2016

Sinh viên thực hiện

Đỗ Văn Minh

2

Trang 3

LỜI CẢM ƠN

Để hoàn thành tốt đồ án này, em xin tỏ lòng biết ơn đến Cô ThS Nguyễn Thị Duyên, trong suốt quá trình viết đồ án tốt nghiệp đã không quản ngại khó khăn

và đã nhiệt tình chỉ dạy giúp đỡ, hướng dẫn để em có thể hoàn thành tốt đồ án này

Em xin chân thành cảm ơn quý Thầy, Cô trong khoa Công nghệ thông tin, Trường Đại Học Công Nghệ Thông Tin và Truyền Thông đã tận tình truyền đạt kiến thức trong 5 năm học tập Với vốn kiến thức được tiếp thu trong quá trình học không chỉ là nền tảng cho quá trình nghiên cứu đồ án mà còn là hành trang quý báu để em bước vào đời một cách vững chắc và tự tin

Em cũng xin chân thành gửi lời cảm ơn tới gia đình, bạn bè, người thân đã luôn bên cạnh, ủng hộ em trong suốt thời gian qua

Em xin chân thành cảm ơn!

Thái Nguyên, tháng 06 năm 2016

Sinh viên

Đỗ Văn Minh

Trang 5

DANH MỤC HÌNH ẢNH

Hình 1.1 Minh họa mô hình MVC 10

Hình 1.2: Cấu trúc CodeIgniter 11

Hình 1.3: Sơ đồ thể hiện dòng chảy dữ liệu trong CodeIgniter 12

Hình 2.1: Usecase tổng quan 28

Hình 2.2: Biểu đồ hoạt động đăng nhập 34

Hình 2.3: Biểu đồ hoạt động đăng kí 34

Hình 2.4: Biểu đồ hoạt động quản lý thành viên 35

Hình 2.5: Biểu đồ hoạt động quản lý bài viết 36

Hình 2.6: Biểu đồ hoạt động đăng tin 36

Hình 2.7: Biểu đồ hoạt động đặt phòng 37

Hình 2.8: Biểu đồ hoạt động thông tin tài khoản 37

Hình 2.9: Biểu đồ hoạt động tìm kiếm 38

Hình 2.10 Biểu đồ tuần tự đăng nhập 38

Hình 2.11: Biểu đồ tuần tự thay đổi đổi thông tin 39

Hình 2.12: Biểu đồ tuần tự thay đổi mật khẩu 39

Hình 2.13: Biểu đồ tuần tự thêm nội dung 40

Hình 2.14: Biểu đồ tuần tự cập nhật nội dung 40

Hình 2.15: Biểu đồ tuần tự thống kê 41

Hình 2.16: Sơ đồ lien kết cơ sở dữ liệu 41

Hình 2.17: Biểu đồ lớp 45

Hình 3.1: Giao diện trang chủ 46

Hình 3.2: Giao diện đăng tin 47

Hình 3.3: Giao diện chi tiết phòng trọ 48

Hình 3.4: Giao diện đặt phòng 49

Hình 3.5: Giao diện trang cá nhân 50

Hình 3.6: Giao diện thay đổi thông tin cá nhân 51

Hình 3.7: Giao diện danh sách đặt phòng 52

Hình 3.8: Giao diện danh sách thành viên 52

Hình 3.9: Giao diện đăng kí thành viên 53

Hình 3.10: Giao diện đăng nhập 54

Hình 3.11: Giao diện quản lý bài viết 54

Hình 3.12: Giao diện quản thành viên 55

Trang 6

 Những điểm nổi bật

Được thiết kế theo mô hình Model-View-Controller: Mô hình MVC giúp tách thành phần hiển thị giao diện (presentation) và xử lý (business logic) của một phần mềm thành những thành phần độc lập, từ đó giúp cho việc thiết kế, xử lý và bảo trì mã nguồn dễ dàng, đồng thời tăng khả năng mở rộng của phần mềm CodeIgniter vận dụng mô hình này trong thiết kế, giúp tách biệt các tập tin giao diện với các tập tin xử lý dữ liệu, nâng cao khả năng quản lý và dễ bảo trì

Nhỏ gọn: Gói cài đặt chỉ 404KB (không bao gồm phần User Guide) So với

các PHP framework khác như CakePHP (1.3MB), Symfony (5.08MB) hay Zend Framework (5.66MB)kích thước của CodeIgniter giúp giảm thiểu đ|ng kể không gian lưu trữ

Tốc độ nhanh: CodeIgniter được đánh giá là PHP framework có tốc độ

nhanh nhất hiện nay Bằng cơ chế lưu nội dung vào bộ đệm (cache), kiểm tra bộ đệm trước khi tiến hành thực hiện yêu cầu, CodeIgniter giảm số lần truy cập và xử

lý dữ liệu, từ đó tối ưu hóa tốc độ tải trang

Miễn phí: CodeIgniter được phát hành dưới giấy phép Apache/BSD mở

rộng, cho phép người dùng tự do thay đổi, phát triển và phân phối mã nguồn

6

Trang 7

Hỗ trợ Search Engine Optimization: Cấu trúc URL của CodeIgniter rất

thân thiện với các robot tìm kiếm

Hệ thống thư viện phong phú: CodeIgniter cung cấp các thư viện phục vụ

cho những tác vụ thường gặp nhất trong lập trình web, chẳng hạn như truy cập cơ

sở dữ liệu, gửi email, kiểm tra dữ liệu, quản lý session, xử lý ảnhđến những chức năng nâng cao như XML-RPC, mã hóa, bảo mật

Bảo mật hệ thống: Cơ chế kiểm tra dữ liệu chặt chẽ, ngăn ngừa XSS và

SQL Injection của CodeIgniter giúp giảm thiểu các nguy cơ bảo mật cho hệ thống

Trang 9

 Những điểm hạn chế

Chưa hỗ trợ Object-Relational Mapping: Object Relational Mapping

(ORM) là một kỹ thuật lập trình, trong đó các bảng của cơ sở dữ liệu được ánh xạ thành các đối tượng trong chương trình Kỹ thuật này giúp cho việc thực hiện các thao tác trong cơ sở dữ liệu (Create Read Update Delate - CRUD) dễ dàng, mã nguồn ngắn gọn hơn Hiện tại, CodeIgniter vẫn chưa hỗ trợ ORM

Chưa hỗ trợ AJAX: AJAX (Asynchronous JavaScript and XML) đã trở

thành một phần không thể thiếu trong bất kỳ ứng dụng Web 2.0 nào AJAX giúp nâng cao tính tương tác giữa người dùng và hệ thống, giúp cho người dùng có cảm giác như đang sử dụng ứng dụng desktop vì các thao tác đều diễn ra "tức thời" Hiện tại, CodeIgniter vẫn chưa có thư viện dựng sẵn nào để hỗ trợ xây dựng ứng dụng AJAX Lập trình viên phải sử dụng thư viện bên ngoài, như jQuery, Script.aculo.us, Prototype hay Mootools

Chưa hỗ trợ một số module thông dụng: So sánh với framework khác,

CodeIgniter không có các module thực thi một số tác vụ thường gặp trong quá trình xây dựng ứng dụng web như Chứng thực người dùng (User Authorization), Trình phân tích RSS (RSS Parser) hay Trình xử lý PDF

Chưa hỗ trợ Event-Driven Programming: Event-Driven Programming

(EDP) là một nguyên lý lập trình, trong đó các luồng xử lý của hệ thống sẽ dựa vào các sự kiện, chẳng hạn như click chuột, gõ bàn phímĐấy không phải là một khuyết điểm to lớn của CodeIgniter vì hiện tại, chỉ có một số ít framework hỗ trợ

EDP, bao gồm Prado, QPHP và Yii

 Cài đặt

Yêu cầu hệ thống: CodeIgniter có thể hoạt động trên nhiều hệ điều hành và

server, yêu cầu có cài đặt PHP phiên bản 4.x hoặc cao hơn; hệ quản trị cơ sở dữ liệu: MySQL (4.1+), MySQLi, Mircrosoft SQL Server, Postgres, Oracle, SQLite,

và ODBC

Trang 10

3 Nếu ứng dụng có tương tác với cơ sở dữ liệu, thiết lập các giá trị cần thiết trong tập tin application/config/database.php

4 Upload tất cả thư mục và tập tin của CodeIgniter lên server

Để nâng cao tính bảo mật hệ thống, người dùng có thể đổi tên thư mục system của CodeIgniter Sau khi đổi tên, người dùng phải thay đổi giá trị biến

$system_folder trong tập tin index.php

Trang 11

Hình 1.1 Minh họa mô hình MVC

Theo đó:

-Model thể hiện các cấu trúc dữ liệu Các lớp thuộc thành phần Model thường thực hiện các tác vụ như truy vấn, thêm, xóa, cập nhật dữ liệu Khi dữ liệu trong Model thay đổi, thành phần View sẽ được cập nhật lại

-View là thành phần thể hiện dữ liệu trong Model thành các giao diện tương tác với người sử dụng Một Model có thể có nhiều View tùy thuộc vào các mục đích khác nhau

-Controller đóng vai trò trung gian giữa Model và View Thông tin người dùng từ View được gửi cho Controller xử lý, sau đó Controller tương tác với Model để lấy dữ liệu được yêu cầu, sau cùng Controller trả dữ liệu này về cho View

Mô hình MVC thường được sử dụng trong các ứng dụng web, vì thành phần View (mã HTML/XHTML) được sinh ra từ các ngôn ngữ lập trình web Thành phần Controller sẽ nhận các dữ liệu GET/POST, xử lý những dữ liệu này,

Trang 12

sau đó chuyển sang Model xử lý.

Model sẽ trả dữ liệu về phía Controller, sau đó Controller sinh mã HTML/XHTML để thể hiện trên View

 Cấu trúc CodeIgniter

Hình 1.2: Cấu trúc CodeIgniter

Tập tin index.php được xem như controller đầu vào, tiếp nhận các yêu cầu

từ phía client và chuyển các yêu cầu này cho hệ thống xử lý

Thư mục system bao gồm phần lõi của CodeIgniter Chúng bao gồm các thư viện xây dựng sẵn, các tập tin ngôn ngữ, ghi chú về hệ thống Trong số đó, các thư mục sau khá quan trọng:

Thư mục application: Dành cho lập trình viên, các tập tin được lập trình cho ứng dụng sẽ lưu trong thư mục này

 Thư mục config: Chứa các tập tin cấu hình hệ thống

 Thư mục controllers: chứa các lớp controller

 Thư mục errors: chứa các tập tin lỗi

 Thư mục helpers: chứa các hàm tiện ích do người dùng định nghĩa

 Thư mục hooks: chứa các tập tin để mở rộng mã nguồn CodeIgniter

 Thư mục language: chứa các tập tin ngôn ngữ

 Thư mục libraries: chứa các thư viện cho người dùng dùng định nghĩa

 Thư mục models: chứa các lớp model

12

Trang 13

 Thư mục views: chứa các lớp view.

Ta cũng có thể đổi tên của thư mục application thành tên tùy ý Sau khi đổi tên, cần thiết lập tên mới cho biến $application_folder trong tập tin index.php Ngoài ra, ta cũng có thể tạo nhiều ứng dụng trong cùng một bộ cài đặt CodeIgniter bằng cách tạo ra các thư mục con bên trong system/application Các thư mục này

có cùng cấu trúc giống như thư mục application gốc

 Dòng chảy dữ liệu trong CodeIgniter

Hình 1.3: Sơ đồ thể hiện dòng chảy dữ liệu trong CodeIgniter

1 Tập tin index.php đóng vai trò làm controller đầu vào, thiết lập các tài nguyên cần thiết cho hệ thống

2 Routing: Quá trình điều hướng giúp x|c định các yêu cầu và hướng xử lý

đối với chúng

3 Caching: Nếu dữ liệu được yêu cầu đã được lưu trong bộ đệm,

CodeIgniter sẽ trả dữ liệu trong bộ đệm về phía client Quá trình xử lý kết thúc

4 Security: Dữ liệu trước khi được chuyển đến các Controller sẽ được lọc

để phòng chống XXS hoặc SQL Injection

5 Application Controller: Controller xử lý dữ liệu nhận được bằng cách

gọi đến các Models, Libraries, Helpers, Pluginscó liên quan

6 View: Dữ liệu được chuyển qua View để hiển thị cho người dùng Nếu

Trang 14

chức năng caching được bật, dữ liệu sẽ được lưu trong cache cho những lần yêu cầu tiếp theo

Trong thực tế, đôi khi ta cần xen lẫn bước trong sơ đồ trên Chẳng hạn, trước khi một controller được gọi, ta có thể muốn lưu log xuống tập tin trong hệ thống CodeIgniter sử dụng cơ chế hook cho phép ta thực hiện việc này

 CodeIgniter URL

Theo mặc định, cấu trúc URL của CodeIgniter được thiết kế dựa vào các segment thay cho kiểu query truyền thống Cách tiếp cận này giúp URL trở nên ngắn gọn, có ý nghĩa, dễ ghi nhớ và thân thiện với các bộ máy tìm kiếm Một URL trong CodeIgniter có dạng:

domain.com/index.php/controller/method/param/

Trong đó:

 Segment controller là tên của lớp controller được gọi

 Segment method là tên của phương thức trong lớp controller ở trên

 Segment param là các đối số của phương thức đó

Như vậy, URI domain.com/index.php/product/view/1 sẽ mang ý nghĩa: Gọi đến phương thức view() thuộc lớp Product với đối số truyền vào bằng 1

Định tuyến URI (URI Routing)

Trong thực tế, URI domain.com/index.php/view/1 lại không thân thiện với các bộ máy tìm kiếm bằng URI domain.com/index.php/view/appple-ipad-1 CodeIgniter cho phép lập trình viên có thể thay đổi cơ chế xử lý URL mặc định thông qua chức năng Định hướng URI bằng cách thiết lập các quy luật trong tập tin application/config/routes.php Tập tin này chứa mảng $route, với khóa là URI mới và giá trị l{ URI cũ Các quy luật được đọc theo thứ tự từ trên xuống, quy luật trước có độ ưu tiên cao hơn quy luật sau CodeIgniter cho phép sử dụng các ký tự đại diện (wildcard) để thay thế CodeIgniter đã quy định sẵn hai ký tự đại diện:

 :num tương ứng với các giá trị số

14

Trang 15

 :any tương ứng với bất kỳ giá trị nào.

Thêm hậu tố vào URL

Các bộ máy tìm kiếm có xu hướng thân thiện hơn với các tập tin HTML Bằng cách thay đổi giá trị biến $config['url_suffix'] trong tập tin system/application/config/config.php, ta có thể thêm hậu tố HTML hay bất cứ hậu

tố nào khác vào cho URL

 Model

Model là những lớp được xây dựng nhằm thực hiện việc trao đổi thông tin với cơ sở dữ liệu Một lớp Model có thể thực hiện các tác vụ truy vấn, thêm, xóa, cập nhật dữ liệu Trong CodeIgniter, việc khai báo các lớp model dành cho một thực thể nào đó không cần thiết, vì trong controller của thực thể đó, ta có thể gọi đến thư viện database để thực hiện các thao tác với cơ sở dữ liệu Tuy nhiên, để tiện cho việc quản lý, xây dựng lớp model cho một thực thể được khuyến khích

Một lớp model chuẩn trong CodeIgniter có cấu trúc như sau:

class Example_model extends Model {

Trang 16

Khi khai báo một lớp model, ta cần tuân theo một số quy tắc:

 Tên lớp được viết hoa chữ đầu tiên, phần còn lại viết thường Ví dụ: User_model, Blog_model, Article_model

 Tên tập tin được đặt như tên lớp, và được đặt trong thư mục application/models/ Các thư mục có thể được lưu lồng vào nhau để thuận tiện cho việc quản lý Vídụ :

Trong đó, model_name là tên của lớp model Nếu lớp model được lưu trong

một thư mục, ta cần ghi rõ đường dẫn đến thư mục đó Ví dụ lớp Blog_model được lưu trong thư mục application/models /blog_model.php Để sử dụng lớp này,

Trang 17

Để gán một tên khác cho lớp model khi sử dụng trong chương trình, ta có thể truyền vào tham số thứ hai như sau:

Để sử dụng view trong controller, ta sử dụng đoạn mã sau:

$this->load->view('view_name', $data);

Trong đó, view_name là tên của view, $data chứa các dữ liệu sẽ được hiển

thị trong view Cũng giống như model, ta có thể lưu view trong các thư mục để tiện cho việc quản lý Khi sử dụng, chỉ cần khai báo đường dẫn tương đối đến thư mục chứa view Ví dụ tập tin header.tpl.php được lưu trong thư mục application/views/front_end Để hiển thị view này, ta sử dụng đoạn mã sau:

$this->load->view('front_end/header.tpl');

CodeIgniter cho phép sử dụng nhiều view trong cùng một phương thức của controller

Dữ liệu trong các view sẽ được kết hợp lại với nhau Ví dụ:

class Example extends Controller {

$this->load->view('footer.tpl');

}

Trang 18

<p>Name: <?php echo $name ?></p>

<p>Email: <?php echo $email ?></p>

<p>Age: <?php echo $age ?></p>

Ta cũng có thể sử dụng các cấu trúc điều khiển (if, else, switchcase), lặp (for, while, dowhile)bên trong view để hiển thị dữ liệu Ví dụ sau sẽ hiển thị danh sách các nhân viên:

Trang 19

$string = $this->load->view('myfile', '', true);

 Controller

Controller là những lớp đóng vai trò trung gian giữa view và model Controller nhận các yêu cầu từ phía người dùng, kiểm tra chúng trước khi chuyển qua cho model Sau khi model xử lý yêu cầu và trả dữ liệu về, controller chuyển sang view để hiển thị dữ liệu cho người dùng Trong CodeIgniter, các lớp controller được gán vào segment thứ nhất trong URI

Một lớp controller chuẩn trong CodeIgniter có mẫu:

class Example extends Controller {

Trang 20

Khi khai báo một lớp controller, ta cần tuân theo một số quy tắc:

 Tên lớp được viết hoa chữ đầu tiên, phần còn lại viết thường Ví dụ: User, Blog, Article

 Tên tập tin được đặt như tên lớp, và được đặt trong thư mục application/controllers/ Các thư mục có thể được lưu lồng v{o nhau để thuận tiện cho việc quản lý Ví dụ: application/controllers/user.php,

Trang 21

/**

* Hiển thị nội dung bài viết

* @param int $entryId ID của bài viết

Ngoài ra, CodeIgniter cho phép lập trình thay đổi cơ chế gọi phương thức thông qua segment thứ hai bằng hàm _remap() Hàm này sẽ được quyết định cụ thể những phương thức nào sẽ được gọi tương ứng với từng segment

 Giới thiệu MySQL

 Khái niệm MySQL

MySQL là cơ sở dữ liệu phổ biến nhất thế giới, một số người còn cho rằng đây là cơ sở dữ liệu mã nguồn mở tốt nhất Thật vậy, từ khi phiên bản 4 bổ sung thêm

Trang 22

một vài đặc điểm mới thì MySQL đã trở thành đối thủ của những người khổng lồ đắt giá như Oracle và SQL Server của Microsoft Giống như PHP, MySQL có một khả năng thực thi hoàn hảo, rất linh động, đáng tin cậy, dễ nắm bắt và ít chi phí hoặc miễn phí.

MySQL được phát triển và hỗ trợ bởi công ty MySQL AB của Thụy Điển

Nó là hệ thống quản trị cơ sở dữ liệu (DBMS) cho các cơ sở dữ liệu quan hệ (vì vậy, MySQL là một RDBMS) Cơ sở dữ liệu là một tập hợp các dữ liệu có liên quan với nhau, có thể là văn bản, số hoặc các tập tin nhị phân được lưu trữ có tổ chức bởi DBMS

Có nhiều loại cơ sở dữ liệu, từ các tập tin đơn giản đến các tập tin quan hệ

và hướng đối tượng Một cơ sở dữ liệu quan hệ sử dụng nhiều bảng để lưu trữ thông tin trong những phần riêng biệt Trước 1970, cơ sở dữ liệu trông giống như các bảng tính lớn, đơn giản và lưu trữ mọi thứ Các cơ sở dữ liệu quan hệ đòi hỏi phải tập trung suy nghĩ nhiều hơn trong giai đoạn thiết kế và lập trình, nhưng chúng có độ tin cậy và tính toán vẹn toàn dữ liệu tốt hơn Ngoài ra, các cơ sở dữ liệu có thể thực hiện việc tìm kiếm và cho phép nhiều người sử dụng cùng một lúc

Có thể download tại website www.mysql.com qua mạng internet

22

Trang 23

 Các kiểu dữ liệu trong cơ sở dữ liệu MySQL

 Loại dữ liệu numeric

Smallint -32768 -> 32767 hay 0 65535 2 Số nguyên nhỏ

Mediumint -8388608 -> 838860 hay

Bigint -263 -> 263 hay 0 264-1 8 Số nguyên lớn

Single hay Double

Trang 24

 Loại dữ liệu Date and Time

Date và Time trình bày dưới dạng YYY-mm-dd hh:mm:ss

TimeStamp

[(M)]

1970-01-0100:00:00

TimeStamp trình bày dưới dạngYYYY-mm-dd hh:mm:ss

Year[(2|4)] 1970-2069

1901-2155 Year trình bày dưới dạng 2 số hay 4 số

 Trình bày đại diện của TimeStamp

Trang 25

 Loại dữ liệu String

Char 1-255 ký tự Chiều dài của chuỗi lớn nhất 255 ký tự

Varchar 1-255 ký tự Chiều dài của chuỗi lớn nhất 255 ký tự

Tinyblob 28-1 Khai báo cho Field chứa kiểu đối tượng nhị phân

cỡ 255 ký tựTinytext 28-1 Khai báo cho Field chứa kiểu chuỗi cỡ 255 ký tự

Blob 216-1 Khai báo cho Field chứa kiểu blob cỡ 65535 ký tự

Text 216-1 Khai báo cho Field chứa kiểu chuỗi dạng văn bản cỡ

Trang 26

 Phát biểu SQL

Tạo cơ sở dữ liệu:

Create Database <database_name> Create <object type>

<object_name>

Phát biểu SQL thao tác dữ liệu

- SELECT (truy vấn mẩu tin)

- INSERT (Thêm mẩu tin)

- UPDATE (Cập nhật dữ liệu)

- DELETE (Xóa mẩu tin)

a) Phát biểu Select

Select <danh sách cột> From <danh sách bảng>

Where <các điều kiện ràng buộc>

[Group by <tên cột/biểu thức trong Select>]

[Having <điều kiện bắt buộc của Group by>]

Set <column>=<value>, [<column>=<value>]

[where <restrictive conditions>]

d) Phát biểu Delete

Delete from <table_name> Where <condition>

 Tổng quan về phân tích thế kế hướng đối tượng UML

 Giới thiệu chung về UML

Ngôn ngữ mô hình hóa thống nhất (Unifield Modeling Language – UML) là một ngôn ngữ để biểu diễn mô hình theo hướng đối tượng được xây dựng bởi ba

26

Trang 27

tác giả trên với mục đích là:

+ Mô hình hoá các hệ thống sử dụng các khái niệm hướng đối tượng

+ Thiết lập một kết nối từ nhận thức của con người đến các sự kiện cần mô hình hoá

+ Giải quyết vấn đề về mức độ thừa kế trong các hệ thống phức tạp, có nhiều ràng buộc khác nhau

+ Tạo một ngôn ngữ mô hình hoá có thể sử dụng được bởi người và máy.UML tổ chức một mô hình thành một loạt các hướng nhìn, thể hiện các khía cạnh khác nhau của hệ thống Chỉ khi kết hợp tất cả các hướng nhìn lại với nhau, người ta mới co được một bức tranh trọn vẹn về hệ thống Một hướng nhìn không phải là một hình vẽ, nội dung của nó được miêu tả qua các biểu đồ, đây là những hình vẽ chứa đựng các phần tử mô hình hóa Một biểu đồ bình thường chỉ trình bày một phần nội dung của một hướng nhìn, và một hướng nhìn được định nghĩa với rất nhiều biểu đồ

 Các đặc điểm cơ bản của hệ thống hướng đối tượng

a, Lớp và đối tượng

 Lớp (Class) – Mẫu để xác định trường hợp hoặc các đối tượng cụ thể

 Đối tượng (Object) – Mô tả của một lớp

 Thuộc tính (Attributes) – Mô tả cho đối tượng

 Chức năng (Behaviors) – Xác định các đối tượng có thể làm gì

b, Phương thức và message

Phương thức (Method) thực hiện chức năng của đối tượng Tương tự như một hàm hoặc một thủ tục

Message được gửi khi một phương thức được kích hoạt

c, Tóm lược và ẩn thông tin

 Tóm lược: Kết hợp dữ liệu và quá trình thành một thực thể

Trang 28

 Ẩn thông tin: Chỉ có những thông tin cần thiết để sử dụng một module phần mềm mới được công bố cho người sử dụng

d, Thừa kế

 Các lớp super hoặc các lớp cơ bản là những lớp mở đầu của hệ thống phân cấp các lớp

 Các lớp con hoặc các lớp cụ thể được thừa kế từ các lớp này

 Các lớp con được thừa kế các thuộc tính và phương thức từ các lớp cao hơn trong hệ thông phân cấp lớp

e, Đa hình thái và liên kết động

 Đa hình thái: Một thông điệp có thể được giải thích khác nhau bởi các đối tượng khác nhau

 Liên kết động: Nhập vào chậm trễ hoặc lựa chọn phương pháp cho một đối tượng được thực hiện khi thời gian bắt đầu chạy

 Liên kết tĩnh: Loại của đối tượng được xác định tại thời điểm biên dịch

 Ưu nhược điểm của phân tích thiết kế hướng đối tượng

Trang 30

 KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG

 Khảo sát hệ thống

 Giới thiệu

Đại học Thái Nguyên được thành lập theo Nghị định số 31/CP ngày 04/4/1994 của Chính phủ trên cơ sở tổ chức, sắp xếp lại các trường đại học trên địa bàn thành phố Thái Nguyên

Đại học Thái Nguyên là một trong 05 Đại học của Việt Nam thực hiện theo

mô hình Đại học hai cấp, được giao trọng trách là trung tâm đào tạo nguồn nhân lực cho các tỉnh, các trường đại học, cao đẳng, trung học chuyên nghiệp và dạy nghề trên địa bàn Đồng thời, Đại học thực hiện nhiệm vụ nghiên cứu khoa học, chuyển giao công nghệ góp phần quan trọng trong việc phát triển kinh tế - chính trị

- văn hóa – xã hội của vùng trung du, miền núi phía Bắc

Hiện nay Đại học Thái Nguyên gồm một số trường đại học, cao đẳng thành viên, bao gồm:

+ Trường đại học công nghệ thông tin và truyền thông

+ Khoa ngoại ngữ

+ Khoa quốc tế

+ Trường đại học khoa học

+ Trường đại học kinh tế và quản trị kinh doanh

+ Trường đại học sư phạm

+ Trường đại học kĩ thuật công nghiệp

+ Trường đại học nông lâm

+ Trường đại học y dược

+ Trường cao đẳng kinh tế- kĩ thuật

 Đánh giá hiện trạng và đề xuất hệ thống mới

Theo một số tài liệu thống kế, Đại học Thái Nguyên hiện tại có khoảng hơn

30

Trang 31

55.000 sinh viên đang học tập và cư trú tại khu vực Thái Nguyên Do số lượng học sinh, sinh viên lớn nên yêu cầu về việc tìm nhà trọ của sinh viên là rất cao, bên cạnh đó số lượng sinh viên ra trường cần tìm người để chuyền nhượng phòng trọ cũng rất cao Hiện tại việc tìm kiếm và chuyển nhượng phòng trọ vẫn đang được thực hiện một các rất bộc phát và thủ công Sinh viên sẽ phải đi hỏi từng khu vực một để tìm kiếm phòng trọ thích hợp theo yêu cầu của mình Việc tìm kiếm thủ công như vậy rất mất thời gian và công sức.

Do đó, yêu cầu thực tế là cần phải xây dựng một trang web giúp sinh viên có thể tìm kiếm và đặt phòng trọ một cách dễ dàng, các thông tin về nhà trọ cần phải đầy đủ và chính xác Ngoài ra nó còn giúp những hộ kinh doanh nhà trọ có thể dễ dàng quảng bá về nhà trọ và quản lý thông tin sinh viên, cũng như nhà trọ

Hệ thống cần xây dựng một cách khoa học, giao diện thân thiện với người dùng, các chức năng tương tác với yêu cầu thực tế của sinh viên Hệ thống có thể tìm kiếm phòng trọ theo các khu vực nhất định, theo giá phòng,…

 Phân tích hệ thống

 Usecase tổng quan

Trang 32

Dùng để quản lý các thông tin lien quan đến thành viên, như thông tin về tài khoản, các bài mà thành viên đã đăng, hay các bài mà thành viên đã xem,…

32

Trang 33

2 Quản trị

viên

Quản lý bài viết

Dùng để quản lý các thông tin lien quan đến bài viết như: ngày đăng bài, ngày hết hạn hay phê duyệt cho bài viết được hiển thị hay không,…

3 Quản trị

viên, thành

viên

Thống kê Thống kê các thông tin của website như

lượng người truy cập, số lượng bài viết, thành viên,…

Tìm kiếm Cho phép người sử dụng có thể tìm

kiếm các thông tin trên website

5 Thành viên Đăng bài Cho phép thành viên đăng bài lên

8 Khách Xem phòng trọ Cho phép người khách ghé thăm trang

web có thể xem thông tin nhà trọ

Trang 34

 Đặc tả Usecase

 Use case đăng nhập hệ thống

Tác nhân Quản trị viên, Thành viên

Mô tả Cho phép các thành viên của hệ thống đăng

nhập vào hệ thống

Tiền điều kiện Người dùng phải có tài khoản trên hệ thống

Luồng sự kiện chính

 Vào trang đăng nhập hệ thống

 Hệ thống hiển thị trang đăng nhập

 Người quản trị nhập username và password

 Use case quản lý thành viên

Mô tả Use case này mô tả cách thức người quản trị

quản lý như: Thêm, sửa, xóa các thành viên

Tiền điều kiện Người quản trị website đã đăng nhập vào

trang quản trị

34

Trang 35

Luồng sự kiện chính

 Người quản trị website chọn chức năng quản lý thành viên Hệ thống hiển thị danh sách các thành viên

 Lựa chọn thêm mới, sửa thông tin hay xóa thông tin một thành viên nào đó

Luồng sự kiện phụ Người quản trị nhập thông tin không hợp lệ

hệ thống sẽ thông báo lỗi và yêu cầu nhập lại



Trang 36

 Use case quản lý bài viết

Mô tả Use case này mô tả cách thức người quản trị

quản lý như: Thêm, sửa, xóa các bài viết

Tiền điều kiện Người quản trị website đã đăng nhập vào trang

quản trị

Luồng sự kiện chính

 Người quản trị website chọn chức năng quản lý bài viết Hệ thống hiển thị danh sách các bài viết

 Lựa chọn thêm mới, sửa thông tin hay xóa thông tin một bài viết nào đó

Luồng sự kiện phụ Người quản trị nhập thông tin không hợp lệ hệ

thống sẽ thông báo lỗi và yêu cầu nhập lại

 Use case đăng bài

thống sẽ hiển thị lỗi và bắt nhập lại

36

Trang 38

 Use case quản lý thông tin

Mô tả

Use case này cho phép người dùng quản lý các thông tin tài khoản, các bài viết đã đăng, các phòng đã đặt,…

Tiền điều kiện Người dùng phải có tài khoản và đăng nhâp

Luồng sự kiện phụ Người dùng nhập không đúng thông tin hệ

thống sẽ hiển thị lỗi và bắt nhập lại

vào hệ thống trước

Luồng sự kiện chính  Người dùng chọn chức năng đặt phòng.

 Thực hiện nhập các thông tin theo yêu cầuLuồng sự kiện phụ Người dùng nhập không đúng thông tin hệ

thống sẽ hiển thị lỗi và bắt nhập lại

 Use case xem phòng trọ

Mô tả Use case này cho phép người dùng xem các

phòng trọ có trên hệ thốngTiền điều kiện Truy cập vào hệ thống

Luồng sự kiện chính  Người dùng xem danh sách nhà trọ, và

chọn nhà trọ cần xem chi tiết

38

Trang 39

 Use case xem thành viên

Mô tả Use case này cho phép người dùng xem thông

tin của các thành viên trên hệ thốngTiền điều kiện Người dùng phải truy cập vào hệ thống

Luồng sự kiện chính  Người dùng chọn danh sách thành viên.

 Chọn thành viên muốn xem thông tin

 Use case đăng kí thành viên

Mô tả Use case này cho phép người dùng đăng kí trở

thành thành viên trên hệ thốngTiền điều kiện Người dùng phải truy cập vào hệ thống

Luồng sự kiện chính

 Người dùng chọn chức năng đăng kí

 Nhập thông tin theo yêu cầu

 Kết thúcLuồng sự kiện phụ  Người dùng nhập không đúng sẽ hiển thị

lỗi và bắt nhập lại

Ngày đăng: 09/12/2016, 01:22

HÌNH ẢNH LIÊN QUAN

Hình 2.4: Biểu đồ hoạt động quản lý thành viên - Xây dựng hệ thống đặt phòng trọ trực tuyến cho sinh viên đại học thái nguyên
Hình 2.4 Biểu đồ hoạt động quản lý thành viên (Trang 42)
Hình 2.8: Biểu đồ hoạt động thông tin tài khoản - Xây dựng hệ thống đặt phòng trọ trực tuyến cho sinh viên đại học thái nguyên
Hình 2.8 Biểu đồ hoạt động thông tin tài khoản (Trang 46)
Hình 2.10 Biểu đồ tuần tự đăng nhập - Xây dựng hệ thống đặt phòng trọ trực tuyến cho sinh viên đại học thái nguyên
Hình 2.10 Biểu đồ tuần tự đăng nhập (Trang 48)
Hình 2.11: Biểu đồ tuần tự thay đổi đổi thông tin - Xây dựng hệ thống đặt phòng trọ trực tuyến cho sinh viên đại học thái nguyên
Hình 2.11 Biểu đồ tuần tự thay đổi đổi thông tin (Trang 49)
Hình 2.12: Biểu đồ tuần tự thay đổi mật khẩu - Xây dựng hệ thống đặt phòng trọ trực tuyến cho sinh viên đại học thái nguyên
Hình 2.12 Biểu đồ tuần tự thay đổi mật khẩu (Trang 50)
Hình 2.13: Biểu đồ tuần tự thêm nội dung - Xây dựng hệ thống đặt phòng trọ trực tuyến cho sinh viên đại học thái nguyên
Hình 2.13 Biểu đồ tuần tự thêm nội dung (Trang 51)
Hình 2.14: Biểu đồ tuần tự cập nhật nội dung - Xây dựng hệ thống đặt phòng trọ trực tuyến cho sinh viên đại học thái nguyên
Hình 2.14 Biểu đồ tuần tự cập nhật nội dung (Trang 52)
Hình 2.16: Sơ đồ lien kết cơ sở dữ liệu - Xây dựng hệ thống đặt phòng trọ trực tuyến cho sinh viên đại học thái nguyên
Hình 2.16 Sơ đồ lien kết cơ sở dữ liệu (Trang 55)
Hình 3.1: Giao diện trang chủ - Xây dựng hệ thống đặt phòng trọ trực tuyến cho sinh viên đại học thái nguyên
Hình 3.1 Giao diện trang chủ (Trang 60)
Hình 3.4: Giao diện đặt phòng - Xây dựng hệ thống đặt phòng trọ trực tuyến cho sinh viên đại học thái nguyên
Hình 3.4 Giao diện đặt phòng (Trang 65)
Hình 3.6: Giao diện thay đổi thông tin cá nhân - Xây dựng hệ thống đặt phòng trọ trực tuyến cho sinh viên đại học thái nguyên
Hình 3.6 Giao diện thay đổi thông tin cá nhân (Trang 71)
Hình 3.7: Giao diện danh sách đặt phòng - Xây dựng hệ thống đặt phòng trọ trực tuyến cho sinh viên đại học thái nguyên
Hình 3.7 Giao diện danh sách đặt phòng (Trang 72)
Hình 3.8: Giao diện danh sách thành viên - Xây dựng hệ thống đặt phòng trọ trực tuyến cho sinh viên đại học thái nguyên
Hình 3.8 Giao diện danh sách thành viên (Trang 73)
Hình 3.9: Giao diện đăng kí thành viên - Xây dựng hệ thống đặt phòng trọ trực tuyến cho sinh viên đại học thái nguyên
Hình 3.9 Giao diện đăng kí thành viên (Trang 75)
Hình 3.10: Giao diện đăng nhập - Xây dựng hệ thống đặt phòng trọ trực tuyến cho sinh viên đại học thái nguyên
Hình 3.10 Giao diện đăng nhập (Trang 76)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w