Diễn đàn SEO code bằng ngôn ngữ php kết hợp với mysql, chuẩn SEO, giao diện thân thiện và nhiều tính năng mới. kèm theo là báo cáo thực tập với đầy đủ các bản vẽ và thiết kế bao gồm hệ thống, mô hình, sơ đồ user case, mô hình thực thể quan hệ...
Trang 1BÁO CÁO KẾT QUẢ THỰC TẬP TỐT NGHIỆP
ĐỀ TÀI: THIẾT KẾ VÀ XÂY DỰNG
FORUM SEO
CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
Giảng viên hướng dẫn : PGS.TSKH Trần Quốc Chiến
Sinh viên thực hiện : Khổng Thanh Dũng
Địa điểm thực tập : Trung tâm CNTT & Truyền thông Đà Nẵng
Đà Nẵng, 2015
Trang 2MỤC LỤC
MỤC LỤC HÌNH ẢNH 3
LỜI CẢM ƠN 4
MỞ ĐẦU 5
GIỚI THIỆU CƠ SỞ THỰC TẬP 7
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 9
CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ ỨNG DỤNG 17
CHƯƠNG 3 SẢN PHẨM DEMO 41
2.GIAO DIỆN 41
KẾT LUẬN 46
Tài liệu tham khảo 47
Trang 3MỤC LỤC HÌNH ẢNH
Hình 1 Sơ đồ tổ chức Trung Tâm DNICT 7
Hình 2 Ví dụ về cấu trúc trang HTML 10
Hình 3 Bát quái SEO 17
Hình 4 Biểu đồ quan hệ thực thể ERD 23
Hình 5 Sơ đồ Use Case 23
Hình 6 Bảng dữ liệu seo_addfriends 27
Hình 7 Ví dụ dữ liệu seo_addfriends 28
Hình 8 Bảng dữ liệu seo_articles 29
Hình 9 Dữ liệu ví dụ bảng seo_articles 30
Hình 10 Bảng dữ liệu seo_categories 30
Hình 11 Dữ liệu ví dụ bảng seo_categories 31
Hình 12 Bảng seo_chat 31
Hình 13 Dữ liệu ví dụ bảng seo_chat 32
Hình 14 Bảng seo_comments 32
Hình 15 Dữ liệu ví dụ bảng seo_comment 33
Hình 16 Bảng seo_likearticles 34
Hình 17 Dữ liệu ví dụ bảng seo_likearticles 34
Hình 18 Bảng seo_members 35
Hình 19 Dữ liệu ví dụ bảng seo_members 36
Hình 20 Bảng seo_menu 36
Hình 21 Dữ liệu ví dụ bảng seo_menu 37
Hình 22 Bảng seo_notify 37
Hình 23 Bảng seo_subcate 38
Hình 24 Dữ liệu ví dụ bảng seo_subcate 39
Hình 25 Bảng seo_tag_user 39
Hình 26 Dữ liệu ví dụ bảng seo_tag_user 40
Hình 27 Sơ đồ tổng qan cơ sở dữ liệu 40
Hình 28 Khởi động localhost 41
Hình 29 Giao diện trang đăng nhập của thành viên 41
Hình 30 Giao diện trang đăng ký 42
Hình 31 Form đăng ký tham gia điễn đàn 42
Hình 32 Giao diện trang đăng nhập của admin 42
Hình 33 Giao diện trang chủ diễn đàn 43
Hình 34 Giao diện trang thống kê dành cho thành viên 44
Hình 35 Giao diện trang thống kê dành cho thành viên 44
Hình 36 Giao diện trang chủ của admin 45
Trang 4LỜI CẢM ƠN
Em xin chân thành cảm ơn Trường Đại Học Sư Phạm – Đại Học Đà Nẵng,Khoa Tin Học và Trung Tâm CNTT & Truyền thông Đà Nẵng đã tạo điều kiện cho
em hoàn thành tốt kỳ thực tập cuối khóa
Em xin cảm ơn thầy PGS.TS Trần Quốc Chiến Khoa Tin Học trường ĐạiHọc Sư Phạm Đà Nẵng, thầy Ngô Đình Cường giảng viên Trung Tâm CNTT &Truyền thông Đà Nẵng đã trực tiếp hướng dẫn và tận tình giúp đỡ em trong quátrình thực tập và hoàn thành tốt báo cáo thực tập tốt nghiệp
Với vốn kiến thức còn hạn chế và thời gian thực tập có hạn nên em khôngtránh khỏi những thiếu sót Em rất mong nhận được những ý kiến đóng góp, phêbình của quý thầy cô và các anh chị tại trung tâm, đó sẽ là hành trang quý giá giúp
em hoàn thiện bản thân và kiến thức sau này
Em xin chân thành cảm ơn!
Trang 5MỞ ĐẦU
Thực tập tốt nghiệp là hoạt động giáo dục đặc thù nhằm góp phần hình thành,phát triển phẩm chất và năng lực nghề nghiệp cần thiết của sinh viên theo mục tiêuđào tạo đã đề ra Đối với sinh viên, hoạt động thực tập tốt nghiệp có vai trò quantrọng không chỉ với quá trình học tập mà còn với cả sự nghiệp của sinh viên saunày
Các hoạt động thực tiễn giúp sinh viên hiểu được mình sẽ làm công việc như thếnào sau khi ra trường và có những điều chỉnh kịp thời, cùng với chiến lược rènluyện phù hợp hơn
Trong thực tế, chương trình đào tạo trong các trường đại học đã cung cấp hệthống lý luận và lý thuyết hữu dụng về ngành nghề và nhất thiết cần được áp dụngvào thực tiễn sinh động với đối tượng và môi trường nghề nghiệp cụ thể Vì thế, các
kỳ thực tập càng trở nên cần thiết đối với sinh viên
1 Lý do, mục đích của việc chọn đề tài thực tập
Thời đại công nghệ thông tin ngày càng phát triển, nhu cầu kết nối giữa cácthành viên, cộng đồng mạng về một lĩnh vực, chuyên nghành nào đó ngày càng lớnmạnh, nhu cầu chia sẻ thông tin và tìm kiếm tài liệu luôn được mở rộng Là một lậptrình viên website ngoài các kỹ năng như lập trình, thiết kế, phát triển ứng dụngweb, thì Seo là yếu tố quan trọng quyết định vị thứ website trên Google Mộtwebsite được làm ra nhưng không được người dùng biết tới thì cũng vô tác dụng màlại mất tiền và nhiều công sức Nhằm nâng cao kiến thức cá nhân, bổ sung thông tincho các lập trình viên website nói chung và lĩnh vực Seo nói riêng đồng thời pháttriển cộng đồng Seo ngày càng lớn mạnh nên em đã chọn đề tài xậy dựng ForumSeo để phát triển cho kỳ thực tập này
- Ngôn ngữ lập trình HTML, PHP, Javascript, Jquery…
- Hệ quản trị cơ sở dữ liệu MySQL
- Forum seo
4 Phương pháp nghiên cứu
- Tìm hiểu thông tin trên mạng internet, sách, báo, tạp chí…
- Thông qua sự hướng dẫn của giáo viên thực tập và các tài liệu liên quan
Trang 65 Cấu trúc đề tài
Nội dung báo cáo của đề tài bao gồm:
- Mở đầu
- Giới thiệu cơ sở thực tập
- Chương 1: Cơ sở lý thuyết của đề tài
- Chương 2: Phân tích và thiết kế ứng dụng
- Chương 3: Kết quả, Demo ứng dụng
Trang 7GIỚI THIỆU CƠ SỞ THỰC TẬP
1 GIỚI THIỆU
Trung tâm Công nghệ Thông tin và Truyền thông Đà Nẵng (gọi tắt là DNICT:Danang Information & Communication Technology Center) được Chủ tịch UBNDthành phố thành lập theo Quyết định số 5526/QĐ-UBND 17/8/2006, với "sứ mệnh"chính: hỗ trợ và thúc đẩy quá trình ứng dụng và phát triển CNTT&TT của thànhphố Đà Nẵng và các tỉnh lân cận, trong tiến trình Việt Nam đang hướng đến chínhphủ điện tử (e-Gov)
Với đội ngũ cán bộ quản lý, kỹ thuật dày dạn kinh nghiệm và phương châm hoạtđộng "Hợp tác để cùng thành công ", DNICT đã tư vấn, thiết kế triển khai thànhcông nhiều công trình viễn thông và công nghệ thông tin quan trọng cho các cơquan quản lý nhà nước và doanh nghiệp
2 CƠ CẤU TỔ CHỨC
Hình 1 Sơ đồ tổ chức Trung Tâm DNICT 2.1. Ban Giám đốc
* Ông Nguyễn Hoàng Cẩm : Giám đốc
- Điện thoại văn phòng : 0511 3 840 909
* Ông Nguyễn Hữu Hải : Phó Giám đốc
- Điện thoại văn phòng : 0511 3 708 999
2.2. Phòng Kế hoạch Quản trị
* Ông Đỗ Anh Tuấn : Trưởng phòng
- Điện thoại văn phòng : 0511 3 871 999
* Bà Lê Huỳnh Ánh Vân : Phó Trưởng phòng - Phụ trách Kế toán
- Điện thoại văn phòng : 0511 3 871 999
* Bà Nguyễn Thị Cẩm Tú : Phó Trưởng phòng
Trang 8- Điện thoại văn phòng : 0511 3 871 999
2.3. Phòng Công nghệ tư vấn
* Ông Nguyễn Minh Hải : Trưởng phòng
- Điện thoại văn phòng : 0511 3 709 777
2.4. Phòng Phát triển phần mềm
* Ông Phạm Văn Tính : Trưởng phòng
- Điện thoại văn phòng : 0511 3 706 789
* Ông Nguyễn Hữu Thanh : Phó Trưởng phòng
- Điện thoại văn phòng : 0511 3 706 789
2.5. Phòng Đào tạo
* Ông Nguyễn Hữu Hải : Trưởng phòng
- Điện thoại văn phòng : 0511 3 708 999
* Ông Ngô Đình Cường : Phó Trưởng phòng
- Điện thoại văn phòng : 0511 3 708 999
2.6. Phòng Nghiên cứu Phát triển
* Ông Nguyễn Văn Phúc : Trưởng phòng
- Điện thoại văn phòng : 0511 3 504 999
3 LĨNH VỰC HOẠT ĐỘNG
− Đào tạo nâng cao kỹ năng và trình độ quản lý, giám sát; nâng cao trình độ kỹthuật - công nghệ trong lĩnh vực viễn thông và công nghệ thông tin;
− Tư vấn, thiết kế, thẩm tra, giám sát các công trình thuộc lĩnh vực viễn thông
và công nghệ thông tin;
− Tư vấn giải pháp và thiết kế, phát triển các sản phẩm phần mềm, các công cụquản lý, điều hành để hỗ trợ quá trình thiết lập và vận hành e-Gov;
− Cung cấp thiết bị, xây lắp, bảo trì, bảo dưỡng, ứng cứu, xử lý sự cố các hệthống viễn thông, công nghệ thông tin, phát thanh, truyền hình;
− Tham gia hợp tác nghiên cứu và phát triển các giải pháp kỹ thuật - công nghệ
để áp dụng và chuyển giao theo đơn đặt hàng
Trang 9CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
1.1 Định nghĩa
HTML là gì? HTML viết tắt của Hypertext Markup Language - Ngôn ngữ liênkết siêu văn bản Ngôn ngữ HTML dùng các tag hoặc các đoạn mã lệnh để chỉcho các trình duyệt (Web browsers) cách hiển thị các thành phần của trang nhưtext và graghics ,và đáp lại những thao tác của người dùng bởi các thao tác ấnphím và nhắp chuột
1.2. Cấu trúc 1 trang HTML
Cấu trúc cơ bản của trang HTML/XHTML có dạng như sau, thường gồm 3phần:
<!Doctype>: Phần khai báo chuẩn của html hay xhtml.
<head></head>: Phần khai báo ban đầu, khai báo về meta, title, css, script
<body></body>: Phần chứa nội dung của trang web, nơi hiển thị nội dung.
Phần thân của trang: page body, phần này chứa phần nội dung chính(content) và phần nội dung phụ (sidebar)
Phần nội dung chính: content, phần này chứa nội dung chính cần thể hiệncho người dùng xem
Phần nội dung phụ: sidebar, phần này có thể chứa liên kết phụ của từng trang(local navigation), hoặc các banner chứa liên kết liên quan, hoặc có thể dùng
để chứa các liên kết quảng cáo…
Trang 10 Phần cuối trang web: footer, phần này thường chứa phần liên hệ như: têncông ty, địa chỉ, số điện thoại, mail liên hệ, và đặc biệt là copyright, hoặc
có thể chứa các liên kết toàn trang, các banner liên kết,
b Ví dụ
Hình 2 Ví dụ về cấu trúc trang HTML
2 LÝ THUYẾT VỀ CSS
2.1 Định nghĩa
CSS (Cascading Style Sheets) được hiểu một cách đơn giản đó là cách mà chúng
ta thêm các kiểu hiển thị (font chữ, kích thước, màu sắc ) cho một tài liệu Web
2.2 Cấu trúc file CSS
Kết nối file css vào file html
<link href="url file css" rel="stylesheet" type="text/css" media="screen,print" />
Viết nội dung CSS theo cấu trúc như sau:
Bộ chọn { thuộc tính: giá trị; }
p { color: red; }
Trang 11Chúng ta có thể viết nhiều cặp thuộc tính và giá trị cho bộ chọn, mỗi cặpthuộc tính và giá trị có thể viết cách nhau bởi dấu chấm phẩy.
p { color: red; float: left; padding-left: 10px; }
Đoạn code trên tương tự như đoạn code sau:
tag#tênid { thuộc tính: giá trị; }
Bắt buộc phải có ký tự dấu "#" và tênid
div#content { width: 600px; }
Bộ chọn theo tên class
tag.tênclass { thuộc tính: giá trị; }
Bắt buộc phải có ký tự dấu "." và tênclass
div.navi { background: #333333; }
Bộ chọn theo cấp bậc
[tag cha] [tag con] [tag cháu] { thuộc tính: giá trị; }
Cấu trúc này không bắt buộc, tuy nhiên cấu trúc này sẽ thuận tiện trong việcđiều chỉnh các thành phần con bên trong, và cũng để xác định thứ tự ưu tiêntrong CSS
Trong file HTML bên trên, trong phần content và navi đều có tồn tại thànhphần <p> nếu sử dụng cách chọn tag { thuộc tính: giá trị;} thì ta sẽ khôngthể nào chọn được đâu là thành phần thuộc content, đâu là thành phần thuộcnavi, tuy nhiên sử dụng cách chọn theo cấp bậc thì việc này lại rất dễ dàng:div#content p { color: #333333; } /* Chon thanh phan p theo content*/
div.navi p { background: #333333; } /* Chon thanh phan p theo navi*/
div#content ul li { display: inline; } /* Chon thanh phan li theo content*/
Comment là một dạng ghi chú, giúp người viết code giải thích nghĩa cho từngđoạn code, cách viết một comment trong CSS như sau:
3.2 Cấu trúc
Một tư liệu HTML dùng javascript có cấu trúc như sau :
Trang 12<head>
<meta http-equiv=“content-type" content="text/html; charset=utf-8">
<link type=“text/css” rel=“stylesheet” href=URL />
<script language=javascript>
/* Khai báo biến chung
Khai báo các hàm hay các câu lệnh
[ lời gọi hàm; ]
*/
</script>
</head>
<body> … Nội dung trang web
<script> lời gọi hàm; </script>
</body>
</html>
a Các câu lệnh trong javascript
- Lệnh gán, khối lệnh, lời gọi hàm
- Câu lệnh if, else
- Câu lệnh switch
- Câu lệnh for
- Câu lệnh while …
- Câu lệnh do… while
- Câu lệnh for (thuộcTính in đốiTượng) { nhóm lệnh;}
b Các phép toán trong javascript
*= x *= y x = x*y /= x /= y x = x/y
%= x %= y x = x%y
- Phép toán so sánh
Trang 13== Identical 3 == 8 result FALSE
!= Different 3 != 8 result TRUE
> Bigger 3 > 8 result FALSE
< Smaller 3 < 8 result TRUE
>= Bigger or identical 3 >= 8 result FALSE
<= Smaller or identical 3 <= 8 result TRUE
- Phép toán logic (booleans)
&&-AND
||-OR
c Hàm trong javascript
- Hàm xây dựng sẵn trong javascript, gồm có 5 hàm:
isNaN(biểuThức) → giá trị logic nếu biểuThức là một chuổi
isFinite(biểuThức) → giá trị logic nếu giá trị vượt quá giới hạn
eval(biểuThức) → lượng giá biểuThức
parseInt(chuổi) → trị nguyên của một chuổi ký số
parseFloat(chuổi) → trị thực của một chuổi ký số
MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới
và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng VìMySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạtđộng trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cậpCSDL trên internet
Trang 14Các phong cách sử dụng:
1- $con=mysql_connect(svn,usr,pss) or die(“Error :”.mysql_error());
2- $con=mysql_connect(svn,usr,pss);
if(!$con) {die(“Error :”.mysql_error(); //có thể thay đổi message}
else{ // truy cập database }
Ví dụ :
$con=mysql_connect(“localhost”,”root”,””) or die(“Error :”.mysql_error());
b. Thực thi câu lệnh sql
Truy cập CSDL
mysql_select_db(“database name", $con);
với $con được trả về trong mysql_connect() đã thành công trước đó
Thực thi câu lệnh SQL
mysql_query(“SQL_Statement”);
Tùy theo câu lệnh SQL mà ta có kết quả trả về của hàm mysql_query()
mà ta có mã PHP xử lý tương ứng
+ Câu lệnh Select : trả về mảng các record
+ Các câu lệnh khác : true/false tùy theo sự thành công hay không
c Câu lệnh SQL : Select…
$strSQL=“Select * from table_name”; //nếu câu lệnh SQL dài, phức tạp
$result = mysql_quer($strSQL);
if($result) { trích xuất dữ liệu trong mảng $result;} // !?
else {echo “Records not found!”;}
d. Câu lệnh SQL : Create Database
$result=mysql_query("CREATE DATABASE database_name",$con );
if($result) {echo “Database created!”;}
else {echo “Could’nt create database,” mysql_error();}
e. Câu lệnh SQL: Create table
$sql = "CREATE TABLE table_name (
field_name data_type[(length)] constraint,…
)ENGINE = MyISAM CHARACTER SET utf8 COLLATE utf8_unicode_ci";
f. Câu lệnh Insert, Update
$sql=“Insert into table_name(field_list) values(value_list);
Trang 15 Khai báo biến trong php
Biến được bắt đầu bằng ký hiệu "$" Và theo sau chúng là 1 từ, 1 cụm từ nhưng phải viết liền hoặc có gạch dưới
<?
echo “PHP is Simple”; // Đây là ví dụ về code PHP
?>
<?
echo “Hello word”;
printf “<br><Font color = Red> Who Are You </Font>”;
?>
<?
$a = 100; // biến a có giá trị là 100
$a = ‘PHP is easy’ // biến a có giá trị là ‘PHP is easy’
biena = 123 // lỗi vì bắt đầu phải có dấu ‘$’
$123a = “PHP” lỗi vì tên bắt đầu của biết là dạng số
?>
Trang 16 Khái niệm về hằng trong php
Hằng trong PHP được định nghĩa bởi hàm define theo cú pháp: define (stringtên_hằng, giá_trị_hằng)
Cũng giống với biến hằng được xem là hợp lệ thì chúng phải đáp ứng 1 sốyếu tố:
+ Hằng không có dấu "$" ở trước tên
+ Hằng có thể truy cập bất cứ vị trí nào trong mã lệnh
+ Hằng chỉ được phép gán giá trị duy nhất 1 lần
+ Hằng thường viết bằng chữ in để phân biệt với biến
Khái niệm về chuỗi trong php
Chuỗi là một nhóm các kỹ tự, số, khoảng trắng, dấu ngắt được đặt trong cácdấu nháy
Ví dụ: ‘Huy’ "welcome to VietNam"
6 LÝ THUYẾT VỀ SEO
SEO (Search Engine Optimization) là tập hợp những phương pháp tối ưu hóa để
website trở lên thân thiện với máy chủ tìm kiếm (Search Engine) từ đó nâng cao thứhạng website khi người dùng tìm kiếm với các từ khóa liên quan
SEO gồm 3 phần, Chiến lược, Chiến Thuật/Kỹ thuật và Copywriting Chiếnlược SEO là quan trọng nhất và chỉ dành cho SEO Manager Copywriting là khónhất chỉ dành cho content copywriter Kỹ thuật SEO là ngại nhất chỉ dành cho SEOGUY.!
Bát quái SEO bao gồm : Nghiên cứu từ khóa giả sử như camera 360, chọn
Domain Brand, Chiến lược nội dung, Cấu trúc website và onpage, CRO(Conversion rate), Social media signals, Quảng bá web, Quản lý dự án Seo
Trang 17Hình 3 Bát quái SEOCHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ ỨNG
DỤNG
1 PHÁT BIỂU VẤN ĐỀ
Mong muốn có 1 forum thật sự và chất lượng, đầy ý nghĩa và mang tính thiếtthực nhằm phục vụ tốt cho việc tìm kiếm tài liệu Seo, các công cụ và kiến thức liênquan của người sử dụng, đồng thời phục vụ nhu cầu chia sẻ thông tin của cácchuyên gia, kết nối đam mê, bày tỏ ý kiến cá nhân về những vấn đề cùng quan tâmnên nhóm đã quyết định xây dựng và phát triển forum seo T2D với mong muốn
“kết nối đam mê, chia sẻ kiến thức” đến với người sử dụng
1.1 Phân tích và đánh giá đối tượng sử dụng
a Thành viên diễn đàn
Thành viên là người dùng đã đăng ký 1 tài khoản tại diễn đàn, và có nhữngchức năng như sau:
- Tìm kiếm tài liệu liên quan
- Chia sẻ thông tin, đăng bài viết lên diễn đàn
- Bình luận các bài viết liên quan
- Báo cáo các bài viết vi phạm, thành viên vi phạm tới BQT của diễn đàn
b Quản trị diễn đàn
Là người dùng có nhiều chức năng nhất, vừa quản lý thành viên và vừa quản lý cácchủ đề, bài viết, tài liệu đăng trên diễn đàn BQT gồm những chức năng như sau:
- Xóa thành viên ra khỏi diễn đàn
- Kiểm tra bài viết của thành viên và xuất bản
- Đăng bài viết mới, chủ đề mới
- Quy định nội quy, luật chơi trên diễn đàn
- Xem thống kê thành viên, bài viết mới
c Khách vãng lai
Trang 18Là người sử dụng có nhu cầu tìm kiếm tài liệu và các công cụ liên quan, nhằmmục đích phục vụ cho công việc Đối với khách vãng lai thì họ chỉ có thể tìm kiếm
và chia sẻ thông tin lên các mạng xã hội, ngoài ra không có chức năng nào khác
1.2 Phân tích và đánh giá sản phẩm
a Yêu cầu chức năng
- Giao diện dễ sử dụng, thân thiện với người dùng
- Chuẩn Seo
- Thành viên có thể quản lý được bài viết và thông tin cá nhân
- Tìm kiếm thông tin trong nội bộ diễn đàn
- BQT có thể quản lý được thành viên và bài viết của thành viên
- Thống kê thành viên online, thành viên, bài viết mới, thành viên vi phạm,tổng số thành viên ,bài viết có trên diễn đàn
- Có sự logic giữa các chức năng
- Dễ bảo trì sau này
b Yêu cầu phi chức năng
- Chi phí đầu tư là thấp nhất có thể
- Sử dụng phần mềm chụp ảnh
- Vận hành tốt trên tất cả các trình duyệt
- Thời gian tồn tại trên thị trường lâu nhất có thể
2 PHÂN TÍCH CHỨC NĂNG
Nhiệm vụ của cá nhân trong xậy dựng và thiết kế forum seo
− Xây dựng giao diện trang chủ của Forum bằng HTML, CSS, Jquery
− Xây dựng giao diện trang xem thông tin cá nhân của thành viên
− Xây dựng trang đăng nhập và đăng ký thành viên, ứng dụng JavaScript đểkiểm tra thông tin nhập vào của người dùng
− Thêm thành viên đăng ký vào hệ thống và kiểm tra lỗi nếu trùng user đăngký
− Form chỉnh sửa và thêm thông tin cá nhân của user như: chèn hình ảnh, chènchữ ký, giới thiệu bản thân…
− Quản lý thành viên của Forum như: Thống kê thành viên online, quản lý vàthống kê thành viên mới, thành viên nhiều bài viết, khóa tài khoản của thànhviên vi phạm điều lệ của forum
Trang 192.1 Biểu đồ phân rã chức năng BFD
2.2 Biểu đồ luồng dữ liệu DFD các mức
a Biểu đồ mức ngữ cảnh
Diễn đàn seo
BQT diễn đàn
Thành viên
Quản lý
thành viên
Quản lý bài viết
Thêm bài viết mới
Tìm kiếm tài liệu
Chat online Bình luận
Khóa tài
khoản user Duyệt bài viết
Tìm bài viết
Kiểm tra bài viết
Thống kê bài viết
Xóa bài viết
Tìm kiếm thông tin
Kết quả tìm kiếm Đăng bài viết lên diễn đàn
Xem thông tin cá nhân Tìm kiếm thông tin, bài viết
Trang 20b Biểu đồ luồng dữ liệu DFD mức 0
Trang 22 Quản lý viết bài
Tìm kiếm
Quản lý thành viên
BQT
Xử lý thông tin
Kết quả thống kê
Trang 232.3 Biểu đồ quan hệ thực thể ERD
Hình 4 Biểu đồ quan hệ thực thể ERD2.4 Sơ đồ Use Case
Hình 5 Sơ đồ Use Case
1
Trang 242.5 Đặc tả sơ đồ Use Case
2.5.1. Use Case Đăng nhập.
2.5.1.1. Mô tả:
Use Case này cho phép người sử dụng đăng nhập vào hệ thống của diễnđàn, tùy theo đối tượng người dùng mà hệ thống sẽ cho phép người dùngthực hiện các chức năng khác nhau
2.5.1.2. Luồng cơ sở
Use Case này bắt đầu khi người dùng kích vào ô đăng nhập
1 Hệ thống yêu cầu người dùng nhập Tên và Mật khẩu Sau đó lựa chọnĐăng nhập
2 Hệ thống sẽ kiểm tra trong CSDL người dùng để xác thực các thôngtin nhập vào
3 Tùy theo đối tượng người dùng, hệ thống sẽ dẫn đến trang chủ vớinhững chức năng phù hợp
4 Đăng nhập thành công hay không thành công đều có một consolethông báo
2.5.1.3. Luồng thay thế
Sai thông tin đăng nhập:
Nếu, trong luồng cơ sở, người dùng đăng nhập với những thông tin không cótrong cơ sở dữ liệu người dùng, thì hệ thống sẽ thông báo lỗi và yêu cầu đăngnhập lại
2.5.1.4. Điều kiện đặc biệt
Chỉ có thành viên và admin mới được cấp quyền đăng nhập
2.5.1.5. Điều kiện trước
Hệ thống sẽ kiểm tra trong CSDL đã tồn tài username và Email này chưa
Nếu người dùng đăng ký thành công thì hệ thống sẽ thông báo
2.5.2.3 Luồng thay thế