Mô hình thực thể liên kết 52 Hình 3.1 Giao diện trang chủ 53 Hình 3.2 Giao diện trang đăng nhập cho admin 54 Hình 3.3 Giao diện trang đặt thời gian thực tập 54 Hình 3.4 Giao diện trang q
Trang 1LỜI CẢM ƠN
Để hoàn thành bài báo cáo tốt nghiệp này, trước hết, em xin cảm ơn các thầy giáo, cô giáo Khoa Công nghệ thông tin Trường Đại học Công nghệ thông tin và Truyền thông Thái Nguyên, những người đã dạy dỗ, trang bị cho em những kiến thức chuyên môn trong năm năm học,và giúp chúng em hiểu rõ hơn các lĩnh vực
đã nghiên cứu để hoàn thành đề tài được giao
Em xin bày tỏ lòng biết ơn sâu sắc nhất tới thầy giáo Thạc sĩ Trần Lâm, người đã hướng dẫn, chỉ bảo tận tình để em hoàn thành quá trình làm tốt nghiệp.Xin cảm ơn bạn bè và gia đình đã động viên cổ vũ, đóng góp ý kiến, trao đổi, động viên trong suốt quá trình học cũng như làm tốt nghiệp, giúp em hoàn thành
đề tài đúng thời hạn
Em xin chân thành cảm ơn !
Thái Nguyên, tháng 05 năm 2016
Sinh viên
Nguyễn Thành Đô
1
Trang 2LỜI CAM ĐOAN
Tên tôi là: Nguyễn Thành Đô
Sinh viên lớp: K10A – CNTT, trường Đại học Công nghệ thông tin và Truyền thông Thái Nguyên
Tôi xin cam đoan:
1 Đề tài: ”Xây dựng website đăng ký thực tập online cho trường trường
Đại học Công nghệ thông tin và Truyền thông Thái Nguyên” là kết quả của
riêng tôi, dưới sự hướng dẫn của thầy giáo Th.S Trần Lâm và có sử dụng sách
tham khảo của một số tác giả
2 Khóa luận không sao chép từ các tài liệu sẵn có nào
3 Kết quả nghiên cứu không trùng với các tác giả khác nào
Nếu sai, tôi xin hoàn toàn chịu trách nhiệm
Thái Nguyên, tháng 05 năm 2016
Sinh viên
Nguyễn Thành Đô
Trang 4DANH MỤC HÌNH ẢNH
Hình 2.1 Mẫu đơn đăng ký đồ án/khóa luận tốt nghiệp 25
Hình 2.2 Biểu đồ UserCase mức tổng thể 28
Hình 2.3 Biểu đồ phân rã Use case quản lýgiáo viên 28
Hình 2.4 Biểu đồ phân rã Use case quản lý sinh viên 29
Hình 2.5 Biểu đồ phân rã Use case quản lý danh sách đăng ký đề tài 29
Hình 2.6 Biểu đồ phân rã Use case quản lý thời gian đăng ký thực tập 30
Hình 2.7 Biểu đồ trình tự Use case đăng nhập cho admin 31
Hình 2.8 Biểu đồ cộng tác Use case đăng nhập cho admin 32
Hình 2.9 Biểu đồ trình tự Use case đăng nhập cho giáo viên 32
Hình 2.10 Biểu đồ cộng tác Use case đăng nhập cho giáo viên 33
Hình 2.11 Biểu đồ trình tự Use case đăng nhập cho sinh viên 33
Hình 2.12 Biểu đồ cộng tác Use case đăng nhập cho sinh viên 34
Hình 2.13 Biểu đồ hoạt động Use case đăng nhập 34
Hình 2.14 Biểu đồ trình tự Use case quản lý thời gian đăng ký thực tập 35
Hình 2.15 Biểu đồ cộng tác Use case quản lý thời gian đăng ký thực tập 36
Hình 2.16 Biểu đồ hoạt động Use case quản lý tin tức, dịch vụ 36
Hình 2.17 Biểu đồ trình tự Use case quản lý giáo viên 37
Hình 2.18 Biểu đồ cộng tác Use case quản lý giáo viên 38
Hình 2.19 Biểu đồ hoạt động Use case quản lý giáo viên 38
Hình 2.20 Biểu đồ trình tự Use case quản lý sinh viên 39
Hình 2.21 Biểu đồ cộng tác Use case quản lý sinh viên 40
Hình 2.22 Biểu đồ hoạt động Use case quản lý sinh viên 40
Hình 2.23 Biểu đồ trình tự Use case quản lý danh sách sinh viên đăng ký 41
Hình 2.24 Biểu đồ cộng tác Use case quản lý danh sách sinh viên đăng ký 42 Hình 2.25 Biểu đồ trình tự Use case sinh viên đăng ký thực tâp 43
Hình 2.26 Biểu đồ cộng tác Use case sinh viên đăng ký thực tâp 43
Hình 2.27 Biểu đồ hoạt động Use case sinh viên đăng ký thực tâp 44
Trang 5Hình 2.28 Biểu đồ trình tự Use case chi tiết đề tài 45
Hình 2.29 Biểu đồ cộng tác Use case chi tiết đề tài 45
Hình 2.30 Biểu đồ trình tự Use case sửa đề tài 46
Hình 2.31 Biểu đồ cộng tác Use case sửa đề tài 47
Hình 2.32 Biểu đồ trình tự Use case giáo viên liên hệ với sinh viên 48
Hình 2.33 Biểu đồ cộng tác Use case giáo viên liên hệ với sinh viên 48
Hình 2.34 Biểu đồ trình tự Use case sinh viên liên hệ với giáo viên 49
Hình 2.35 Biểu đồ cộng tác Use case sinh viên liên hệ với giáo viên 49
Hình 2.36 Biểu đồ trình tự Use case duyệt đề tài 50
Hình 2.37 Biểu đồ cộng tác Use case duyệt đề tài 51
Hình 2.39 Mô hình thực thể liên kết 52
Hình 3.1 Giao diện trang chủ 53
Hình 3.2 Giao diện trang đăng nhập cho admin 54
Hình 3.3 Giao diện trang đặt thời gian thực tập 54
Hình 3.4 Giao diện trang quản lý giảng viên 55
Hình 3.5 Giao diện trang quản lý sinh viên 55
Hình 3.6 Giao diện xem trang danh sách đăng ký thực tập của sinh viên 56
Hình 3.7 Giao diện trang đăng nhập của giảng viên 56
Hình 3.8 Giao diện trang xem danh sách đăng ký thực tập của giảng viên 57
Hình 3.9 Giao diện trang liên hệ của giảng viên với sinh viên 57
Hình 3.10 Giao diện trang đăng nhập của sinh viên 58
Hình 3.11 Giao diện trang đăng ký đề tài của sinh viên 59
Hình 3.12 Giao diện trang xem kết quả đăng ký của sinh viên 60
Hình 3.13 Giao diện trang liên hệ giữa sinh viên và giảng viên 60
LỜI MỞ ĐẦU
Ngày nay, với sự phát triển mạnh mẽ của công nghệ thông tin và những ứng dụng của nó trong đời sống Máy tính điện tử không còn là một thứ phương tiện lạ
5
Trang 6lẫm đối với mọi người mà nó dần trở thành một công cụ làm việc và giải trí thông dụng và hữu ích của chúng ta, không chỉ ở công sở mà còn ngay cả trong gia đình.Trong nền kinh tế hiện nay, với xu thế toàn cầu hoá nền kinh tế thế giới, mọi mặt của đời sống xã hội ngày càng được nâng cao, đặc biệt là nhu cầu trao đổi hàng hoá, thông tin của con người ngày càng tăng Hiện nay các công ty tin học hay các trường đại học hàng đầu thế giới không ngừng đầu tư và cải thiện các giải pháp cũng như các sản phẩm hỗ trợ trong giáo dục nhằm cho phép tiến hành thương mại hóa trên Internet Thông qua các sản phẩm và công nghệ này, chúng ta
dễ dàng nhận ra tầm quan trọng và tính tất yếu của máy tính và Internet Với những thao tác đơn giản trên máy có nối mạng Internet bạn sẽ không phải mất nhiều thời gian cho việc tìm tòi tài liệu hay đăng ký học, thực tập qua văn bản giấy Bạn chỉ cần vào trang web của công ty/trường học và thao tác theo những gì mình muốn
mà không phải tốn nhiều thời gian, công sức
Để tiếp cận và góp phần đẩy mạnh sự phổ biến của việc tìm tòi tài liệu hay đăng ký học/thực tập thông qua internet ở các trường đại học, Em đã tìm hiểu, xây dựng và cài đặt Website đăng ký thực tập online cho trường Đại học Công nghệ
thông tin và Truyền thông Thái Nguyênvới nội dung chính là: Hỗ trợ sinh viên
trong việc đăng ký làm thực tập.
Em hi vọng đề tài này sẽ hỗ trợ cho nhà trường quản lý cũng như sinh viên dễ dàng hơn trong việc thực hiện đăng ký thực tập trong tương lai gần
Trang 7CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
1.1 Tìm hiểu về ngôn ngữ PHP, hệ quản trị cơ sở dữ liệu My SQL
1.1.1 Giới thiệu và sử dụng PHP
1.1.1.1 Giới thiệu
PHP: Hypertext Preprocessor, đây là một ngôn ngữ kịch bản mã nguồn mở sử dụng cho mục đích chung, đặc biệt thích hợp cho phát triển Web và có thể nhúng vào HTML “PHP nhúng trong HTML”, có nghĩa là PHP có thể được rải rác trong HTML, giúp cho việc phát triển các website động được dễ dàng PHP là một ngôn ngữ kịch bản (scripting language) Khác với ngôn ngữ lập 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)
PHP là một công nghệ phía máy chủ (server – side) và không phụ thuộc môi trường (cross-platfom) Cả hai yếu tố này đều rất quan trọng Khái niệm công nghệ phía máy chủ nói đến việc mọi thứ trong PHP đều xảy ra trên máy chủ (ngược với máy khách là máy của người dùng) 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 các hệ điều hành như windows, Unix (và nhiều biến thể của nó), Macintosh…Một điều cũng rất quan trọng là 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 các máy chủ khác mà không cần chỉnh sửa hoặc chỉnh sửa rất ít
Mã PHP được thực thi ở phía Server, khi trình duyệt của người dùng truy cập một trang web có chứa một đoạn mã PHP thì trình duyệt nhận được trang kết quả
đã xử lý từ Web server, người dùng sẽ không thể biết được đoạn mã viết gì Mã PHP được bao trong cặp dấu <?php ?> hoặc <? ?> Tập tin PHP có phần mở rộng
là php hoặc php3
PHP tương tự JSP và ASP với tập thẻ lệnh dùng cho trang HTML Điểm đặc biệt là PHP được phát triển hoàn toàn cho nền tảng web, chính vì vậy, mà các ứng
7
Trang 8dụng viết bằng PHP rất ngắn gọn so với VBScript hay JSP Đây cũng chính là điểm mạnh của PHP so với Perl.
Cú pháp PHP mượn từ nhiều ngôn ngữ khác như C, Java, Perl PHP có thể giao tiếp với nhiều hệ CSDL như MySQL, MS Access, Sybase, Oracle và cả Microsoft SQL Không chỉ có khả năng thao tác CSDL, PHP còn có nhiều khả năng khác như IMAP, SNMP, LDAP, XML PHP chạy trên hầu hết các nền tảng
hệ thống Trình máy chủ phân giải mã lệnh PHP có thể tải về miễn phí từ trang web chính thức của PHP
Có lẽ yếu tố hấp dẫn nhất của PHP là nó hoàn toàn miễn phí Với máy tính cấu hình vừa phải chạy Linux, cài đặt Apache, PHP và MySQL, bạn sẽ có máy chủ
có thể phục vụ được nhiều ứng dụng web tương đối Toàn bộ chi phí hầu như chỉ
là thời gian bạn bỏ ra để cài đặt các phần mềm
PHP được xem là một thay thế cho Perl PHP không thể làm được nhiều như Perl, thế nhưng chính sự hạn chế này làm cho PHP dễ học và dễ dùng
Nhiều nhà phát triển dùng kết hợp cả hai: Perl dùng cho những tác vụ chạy bên dưới còn PHP dùng cho việc xử lý bề mặt Komodo của Active State Corp là công cụ miễn phí dùng để phát triển trang PHP
c) Tại sao cần dùng PHP?
PHP được sử dụng để phát triển website động vì nó tốt, nhanh và dễ dàng nghiên cứu hơn 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 năng bền vững linh động và khả năng phát triển không giới hạn Tất cả các đặc tính trên đều miễn phí vì PHP là mã nguồn mở PHP vừa dễ với người mới sử dụng và vừa có khả năng làm được mọi thứ, đáp ứng yêu cầu của lập trình viên chuyên nghiệp
PHP được sử dụng càng ngày càng nhiều và mới đây đã bắt kịp ASP (vốn được xem là ngôn ngữ kịch bản phổ biến nhất hiện nay) PHP là modun thông dụng cho Apache (máy chủ Web phổ biến nhất) và nó đã có mặt trên 12 triệu website
Trang 91.1.1.2 Sử dụng PHP
a) Thẻ PHP
Có 4 loại khác nhau của thẻ PHP:
- Kiểu Short: là thẻ mặc định mà các nhà lập trình PHP thường sử dụng
<? echo “Đây là kiểu Short”; ?>
- Kiểu định dạng XML: thẻ này có thể sử dụng với văn bản dạng XML
<?php echo “Đây là kiểu định dạng với XML”; ?>
- Kiểu Script: trong trường hợp muốn sử dụng PHP như một script tương
tự như khai báo Javascript hay VBScript
<? echo “Hôm nay là: ”.date(“d/m/Y”); ?>
c) Truy cập biến Form
Thông thường khi cần lấy dữ liệu của người dùng nhập, chúng ta sẽ dùng thẻ form trong trang web nhằm ràng buộc tất cả các thẻ input, selec, textarea
Dữ liệu đến từ script đều là biến PHP, chúng ta có thể nhận biết chúng bằng cách sử dụng dấu $ trước tên biến Có hai cách để truy cập dữ liệu trên form thông qua biến
- Để lấy giá trị của các thẻ trong form theo dạng POST: $_POST[‘ tên_thẻ’]
- Để lấy giá trị của các thẻ trong form theo dạng GET: $_GET[‘tên_thẻ’]d) Khai báo biến
9
Trang 10PHP Engine không cần yêu cầu khai báo biến trước khi sử dụng, tuy nhiên nên tập thói quen khai báo và khởi tạo giá trị ban đầu cho biến trước khi sử dụng chúng.
e) Gán giá trị cho biến
Để gán giá trị cho biến, nếu biến đó chưa khai báo trước đó, biến này được coi như vừa khai báo và khởi tạo Trong trường hợp biến đã khai báo, biến này chỉ thay đổi giá trị
- Interger: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là số
- Double: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là số thực
- String: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là chuỗi, ký tự
- Array: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là mảng có các phần tử cùng kiểu dữ liệu
- Object: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là đối tượng của lớp.g) Toán tử trong PHP
Trang 11* Nhân $a*$b;
11
Trang 12&& AND $a && $b Trả về true nếu cả hai biến có giá trị true
Ngược lại là false
|| OR $a || $b Trả về true nếu $a hay $b hay cả hai biến có giá trị
true
And AND $a and $b Trả về true nếu cả hai biến có giá trị true
Ngược lại là false
Or OR $a or $b Trả về true nếu $a hay $b hay cả hai biến có giá trị
true
h) Kiểm tra biến trong PHP
- is_array(): Kiểm tra biến là array hay không
Trang 13- is_float(): Kiểm tra biến là float hay không.
- is_real(): Kiểm tra biến là real hay không
- is_long(): Kiểm tra biến là long hay không
- is_int(): Kiểm tra biến là int hay không
- is_interger(): Kiểm tra biến là integer hay không
- is_string(): Kiểm tra biến là string hay không
- is_object(): Kiểm tra biến là object hay không
- isset(): Nếu biến tồn tại hàm trả về giá trị true, ngược lại trả về false
- empty(): Cho phép kiểm tra biến tồn tại và không rỗng, có chiều dài khác 0 trả về true, ngược lại là false
Để sử dụng tất cả các hàm trên, cần phải truyền vào hàm biến PHP dưới dạng tham số
i) Phát biểu có điều khiển
- Phát biểu If: Phát biểu if với một điều kiện, nếu điều kiện là true thì khối lệnh trong phát biểu If sẽ được thực hiện, điều kiện được khai báo trong dấu ()
- Phát biểu Else: phát biểu else luôn là trường hợp ngược lại của phát biểu if với một điều kiện, nếu điều kiện là true thì khối lệnh trong
phát biểu if sẽ được thực hiện, ngược lại khối lệnh trong phát biểu
else sẽ được thực hiện
VD: $a = 10;
13
Trang 14- Phát biểu While: phát biểu vòng lặp đơn giản nhất trong PHP là vòng lặp while cho phép bạn thực thi khối lệnh trong while cho đến khi điều kiện của while là true như cú pháp
While (điều kiện)
{
Trang 15while (điều kiện)
- Phát biểu vòng lặp for: tương tự như trong phát biểu while, có thể sử dụng vòng lặp for với 1 giới hạn chỉ định
for (giá trị khởi đầu; điều kiện giới hạn; giá trị lặp của vòng lặp for){
khối lệnh thực hiện;
}
- Thiết lập kết nối cơ sở dữ liệu
Để kết nối cơ sở dữ liệu MySQL, cần cung cấp tên Server hay IP (có thể là localhost) của máy chứa cơ sở dữ liệu MySQL, Username và Password để đăng nhập làm việc trên cơ sở dữ liệu được mở
$link = mysql_connect(“servername”, “username”, “password”)
or die(“Không kết nối được với CSDL”);
- Mở một CSDL:
15
Trang 16mysql_select_db(“database name”); hoặc mysql_select_db(“database name”, $link);
- Đóng kết nối cơ sở dữ liệu: mysql_close(database_connection);
- Truy vấn cơ sở dữ liệu:
Int mysql_query(string sql);
Int mysql_query(string sql, [int db_connect]);
Int mysql_query(string database, string sql, [int db_connect]);
Số lượng mẩu tin: mysql_num_rows(); Cho biết số lượng mẩu tin câu
truy vấn trả về
- Truy vấn dữ liệu:
Int mysql_fetch_array($result); Mysql_fetch_object($result);
- Dung lượng của tập mẩu tin: int mysql_free_result(int $result);
1.1.2 Giới thiệu MySQL
1.1.2.1 MySQL là gì?
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 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
Trang 17tậ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
1.1.2.2 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>]
17
Trang 18d) Phát biểu Delete
Delete from <table_name> Where <condition>
Thương mại điện tử (Còn gọi là E-commerce hay E-Business) là quy trình mua bán hàng hóa và dịch vụ thông qua các phương tiện điện tử và mạng viễn thông, đặc biệt là qua máy tính và mạng Internet
Ngày nay người ta hiểu khái niệm thương mại điện tử thông thường là tất cả các phương pháp tiến hành kinh doanh và các quy trình quản trị thông qua các kênh điện tử mà trong đó Internet hay ít nhất là các kỹ thuật và giao thức được sử dụng trong Internet đóng một vai trò cơ bản và công nghệ thông tin được coi là điều kiện tiên quyết Một khía cạnh quan trọng khác là không còn phải thay đổi phương tiện truyền thông, một đặc trưng cho việc tiến hành kinh doanh truyền thống Thêm vào đó là tác động của con người vào quy trình kinh doanh được giảm xuống đến mức tối thiểu Trong trường hợp này người ta gọi đó là Thẳng đến gia công (Straight Through Processing) Để làm được điều này đòi hỏi phải tích hợp rộng lớn các các tính năng kinh doanh
Trang 191.2 Sử dụng WebServer
Để chạy được các file PHP ta cần phải có một WebServer với Apache, MySQL, PHP and Perl, việc cấu hình và cài đặt WebServer gặp nhiều khó khăn và tốn kém thời gian Hiện nay có nhiều phần mềm cấu hình sẳn và ứng dụng như một WebServer như Xampp, Wamp,…Trong phần này tôi sử dụng WebServer Xampp
để phục vụ cho quá trình chạy thử chương trình
Cài đặt WebServer - Cài đặt XAMPP
Nếu muốn một trang web viết bằng ngôn ngữ PHP có thể chạy được trên máy tính cục bộ và trên máy chủ thì cần phải có một web server là Apache, bộ thông dịch ngôn ngữ PHP, ngôn ngữ truy vấn cơ sở dữ liệu là mySQL
Đây là ba thành phần độc lập với nhau nhưng là bộ tam không thể thiếu nhau Với người bình thường nếu muốn 3 thàng này chạy với nhau một cách tốt đẹp thì bạn phải có nhiều kiến thức sâu rộng về chúng vì thế sẽ gây khó khăn cho người mới học
Từ nhu cầu đó mà một gói phần mềm tích hợp 3 thành phần trên đã ra đời
Có nhiều phần mềm tích hợp 3 thành phần này Nhưng hiện nay, gói phần mềm chạy ổn định nhất đó là XAMPP
XAMPP tích hợp các gói phần mềm: Apache (web server), PHP (Ngôn ngữ lập trình web), mySQL (hệ quản trị cơ sở dữ liệu dành cho PHP)…
Các bước cài đặt XAMPP.
Bước 1: Download bản XAMPP mới nhất tại địa chỉ:
http://xampp.joydownload.com/
19
Trang 20Bước 2: Chạy file xampp.exe vừa tải về để tiến hành cài đặt.
Ấn Next để tiếp tục
Trang 22Chọn ổ đĩa và thư mục bạn cài đặt Xampp và sau đó nhấn Next.
Chúng ta chỉ nên đánh dấu vào vùng màu đỏ còn các phần còn lại không nên đánh dấu vì nếu đánh dấu thì các dịch vụ như Apache – MySQL – Filezilla sẽ được chạy ngay khi các bạn khởi động Window Sau đó ấn Install để tiếp tục
Trang 24Quá trình cài đặt của Xampp.
Sau khi cái đặt xong chúng ta nhấn nút Finish để hoàn thành quá trình cài đặt
Để chạy được webserver và PHP script chúng ta nhấn nút Start bên cạnh Apache và MySQL Chúng ta sẽ được như hình dưới
Trang 26Bước 3: Để chạy trương trình ta ấn vào nút Admin bên cạnh Apache hoặc nhập
vào trình duyệt với đường dẫn : http://localhost ta sẽ được giao diện web như sau nghĩa là đã thành công
Trang 27Mô 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.3.1 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
27
Trang 28quan 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.3.2 Các quy tắc của UML
Các thành phần của UML 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 đồ…
Trang 29 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
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ư thế nào
29
Trang 30CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Trang 32Hình 2.1 Mẫu đơn đăng ký đồ án/khóa luận tốt nghiệp
2.1.2 Đề xuất phát triển
Việc xây dựng một website đăng ký thực tập online cho trường Đại học Công nghệ thông tin và Truyền thông Thái Nguyên là một giải pháp rất cần thiết ngay bây giờ Nó giúp giảm thiểu thời gian, tiền bạc cho sinh viên cũng như giáo viên hay quản trị viên không phải đi lại nhiều mà vẫn có thể đăng ký thực tập được thông qua website Giúp nâng cao việc quản lý hơn cho nhà trường
2.2 Phân tích yêu cầu người dùng
Yêu cầu của người dùng.
Giao diện dễ sử dụng và có tính thẩm mỹ cao
Thông tin về loại thực tập phải chi tiết, rõ dàng, dễ hiểu, sinh viên có thể nắm rõ được các thông tin về bản thực tập
Thông tin trong phần của giáo viên thì nắm rõ được các đề tài, sinh viên đăng ký, loại thực tập, thời gian đăng ký cũng như thực tập của sinh viên khóa tương ứng
Yêu cầu của người quản trị
- Giao diện quản trị dễ sử dụng, dễ hiểu
- Dễ dàng theo dõi các thông tin về các đợt đăng ký thực tập, nắm bắt được tình hình sinh viên đăng ký thực tập và thống kê chi tiết bản đăng ký
Trang 332.3 Phân tích hệ thống
2.3.1 Xác định các Actor và Usecase của hệ thống
Tác nhân là thực thể bên ngoài tương tác với hệ thống Tác nhân có thể là con người cũng có thể là thiết bị phần cứng hay hệ thống khác có trao đổi thông tin với
hệ thống Đối với bài toán này ta xác định các tác nhân như sau:
Sinh viên: tác nhân này tham gia vào hệ thống là đăng ký thực tập…theo nhu cầu Giáo viên: tác nhân này tham gia vào hệ thống với công việc thống kê danh các các sinh viên đăng ký đề tài, trao đổi với sinh viên về đề tài đó
Quản trị hệ thống: tác nhân này tham gia vào hệ thống với công việc chủ yếu
là đưa ra thời gian đăng ký thực tập, những khóa thực tập, loại hình thực tập…trong hệ thống
Tác nhân
Use Case
Sinh viên Đăng nhập hệ thống
Đăng ký thực tậpXem danh sách đăng kýGửi thông tin phản hồi tới giáo viên đã đăng kýXin sửa đề tài
Giáo viên Đăng nhập hệ thống
Duyệt đề tàiXem chi tiết bản đăng ký của sinh viênGửi thông tin phản hồi tới sinh viên đăng kýQuản trị hệ thống Đăng nhập hệ thống
Quản lý thời gian đăng ký thực tậpQuản lý giáo viên
Quản lý sinh viênQuản lý danh sách đăng ký
33
Trang 35 Sơ đồ User Case mức tổng thể
Hình 2.2 Biểu đồ UserCase mức tổng thể
-Biểu đồ phân rã use case quản lý giáo viên cho Admin
35
Trang 36Hình 2.3 Biểu đồ phân rã Use case quản lýgiáo viên
-Biểu đồ phân rã use case quản lýsinh viên cho Admin
Trang 37Hình 2.4 Biểu đồ phân rã Use case quản lý sinh viên
-Biểu đồ phân rã use case quản lýdanh sách đăng ký đề tài cho Admin
37
Trang 38Hình 2.5 Biểu đồ phân rã Use case quản lý danh sách đăng ký đề tài
Trang 39-Biểu đồ phân rã use case quản lýdanh sách đăng ký đề tài cho Admin
Hình 2.6 Biểu đồ phân rã Use case quản lý thời gian đăng ký thực tập
2.3.2 Đặc tả các Use Case, biểu đồ trình tự, biểu đồ cộng tác, biểu đồ hoạt động, biểu đồ lớp, mô hình thực thể liên kết
Use Case đăng nhập hệ thống
Mục đích: đảm bảo tính bảo mật, an toàn, thống nhất cho toàn hệ thống.Tác nhân: người quản trị, sinh viên, giáo viên
39
Trang 40Mô tả chung: người dùng phải nhập tên truy cập và mật khẩu khi đăng nhâp
Hệ thống sẽ kiểm tra xem tài khoản đó có quyền đăng nhập vào hệ thống hay không, nếu đúng với tên và mật khẩu truy cập thì cho phép đăng nhập vào hệ thống với quyền đã quy định