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

ĐỒ ÁN HỆ THỐNG THÔNG TIN XÂY DỰNG WEBSITE CHÀO MÙA HÈ XANH VỚI FRAMEWORK WEB2PY

160 835 2

Đ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 160
Dung lượng 6,14 MB

Nội dung

Usecase Xem, thêm, xóa, sửa nguồn lực Name Xem, thêm, xóa, sửa nguồn lực Description Usecase này mô tả chức năng xem và cập nhật thông tin về nguồn lực của đơn vị Goal Các cơ sở sử dụng

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA HỆ THỐNG THÔNG TIN

BÁO CÁO ĐỒ ÁN HỆ THỐNG THÔNG TIN

XÂY DỰNG WEBSITE CHÀO

MÙA HÈ XANH VỚI FRAMEWORK WEB2PY

Giảng viên hướng dẫn : ThS NGUYỄN ĐÌNH LOAN PHƯƠNG

ThS VŨ MINH SANG

Sinh viên thực hiện: NGUYỄN VŨ PHONG 08520282

NGUYỄN DƯƠNG ÁI DIỆU 09520481 NGUYỄN HỒ DUY TRI 09520690 NGUYỄN HỒ DUY TRÍ 09520692

Lớp : HTTT04

Khóa : 2009 - 2014

TP Hồ Chí Minh, 26 tháng 6 năm 2013

Trang 2

ii

MỞ ĐẦU

Khi những trang sách khép lại phía giảng đường, mùa hè vẫy chào, bao lượt sinh viên vác ba lô trên vai hành quân về những miền xa của tổ quốc Nơi

đó gọi họ bằng cái tên trìu mến yêu thương: Những chiến sĩ tình nguyện mùa

hè xanh Những chuyến đi cứ trải dài ra mãi, vì những mảnh đất họ đi qua sẽ trở thành mái nhà, thành những quê hương Dù không sinh ra, không nuôi họ lớn, nhưng ở đó họ đã trưởng thành, biết yêu thương và biết mở rộng lòng mình đón nhận những yêu thương

Từ những ý nghĩa lớn lao và thiết thực mà mình mang lại, năm 2013, Chiến dịch tình nguyện Mùa hè xanh đã thực sự trưởng thành, vững bước vào tuổi 20 với một bản lĩnh, sự tự tin, một sức sống, một dáng vóc mới

Do đó, nhóm đã chọn đề tài “Xây dựng website Chào Mùa Hè Xanh với Framework Web2Py” để trau dồi lại những kiến thức, kỹ năng mình đã học, tìm hiểu những công nghệ, kỹ thuật mới như Python, Web2py, HTML5, CSS3, Jquery, PageSpeed… qua đó, một phần đưa tin học vào giải quyết vấn đề quản

lý đang còn nhiều phức tạp và với mong muốn góp phần nhỏ công sức mình quảng bá hình ảnh đẹp của những “chiến sĩ Mùa hè xanh” đến với mọi người Bên cạnh đó, còn là nhịp cầu dành cho các chiến sĩ gắn kết nhau hơn, cùng chia sẻ những câu chuyện, những tình cảm, cảm xúc trong suốt mùa chiến dịch Là nơi để gửi những tin nhắn yêu thương, những lời động viên từ “tiền tuyến” đến “hậu phương” xa cách, để cùng nhau tiếp lửa, chung tay cho những công việc ý nghĩa, góp sức xây dựng cộng đồng từ thành phố cho đến thôn quê

Trang 3

iii

LỜI CẢM ƠN

Để hoàn thành được đề tài này nhóm chúng tôi chân thành cảm ơn Quý Th ầy/Cô trong khoa H ệ Thống Thông Tin trường Đại Học Công Nghệ Thông Tin đã nhiệt tình chỉ dẫn

và giúp đỡ, trong đó nhóm xin gởi lời cảm ơn sâu sắc đến cô Nguyễn Đình Loan Phương và thầy Vũ Minh Sang giáo viên hướng dẫn nhóm thực hiện đề tài này, thầy cô đã nhiệt tình hướng dẫn cho chúng tôi các bước để thực hiện đề tài, giúp nhóm gi ải quyết nhiều khó khăn và n ảy ra nhiều ý tưởng mới Bên c ạnh đó, chúng tôi c ũng nhận được sự giúp đỡ nhiệt tình của các anh chị khóa trên và các b ạn trong trường Một lần nữa nhóm gởi lời cảm ơn đến tất cả mọi người!

Trang 4

iv

NHẬN XÉT

Trang 5

v

MỤC LỤC

MỞ ĐẦU ii

LỜI CẢM ƠN iii

NHẬN XÉT iv

MỤC LỤC v

DANH MỤC HÌNH ẢNH x

DANH MỤC BẢNG xiii

Chương 1: TỔNG QUAN ĐỀ TÀI 1

1.1 TÊN ĐỀ TÀI 1

1.2 THỰC TRẠNG VẤN ĐỀ 1

1.3 GIẢI PHÁP GIẢI QUYẾT VẤN ĐỀ 1

1.4 PHẠM VI NGHIÊN CỨU 2

1.5 YÊU CẦU CHỨC NĂNG – PHI CHỨC NĂNG 2

1.5.1 Yêu cầu chức năng 2

1.5.2 Yêu cầu phi chức năng 2

Chương 2: CƠ SỞ LÝ THUYẾT 3

2.1 PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG UML 3

2.1.1 Giới thiệu về UML 3

2.1.2 Các bước phân tích thiết kế hướng đối tượng 3

2.1.3 Giới thiệu công cụ RATIONAL ROSE 4

2.2 NGÔN NGỮ LẬP TRÌNH PYTHON 4

2.2.1 Giới thiệu về Python 4

2.2.2 Sơ lược về đặc điểm 5

2.2.3 web2py Framework 8

2.3 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL 8

2.4 KỸ THUẬT TĂNG TỐC WEBSITE 9

Chương 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2

3.1 PHÂN TÍCH NGHIỆP VỤ 2

3.2 THIẾT KẾ USECASE DIAGRAM 2

3.2.1 Usecase diagram tổng quan của hệ thống 2

3.2.2 Usecase Quản lí tài khoản 3

3.2.3 Usecase Quản lí thông tin đơn vị trực thuộc 4

3.2.4 Usecase Quản lí mặt trận 4

3.2.5 Usecase Quản lí chương trình 5

3.2.6 Usecase Quản lí dự án 5

3.2.7 Usecase Quản lí sidebar và Banner 6

3.3 ĐẶC TẢ USECASE 7

Trang 6

vi

3.3.1 Đăng nhập và Đăng xuất 7

3.3.2 Quản lí thông tin cá nhân 8

3.3.3 Xem tin tức – sự kiện 8

3.3.4 Gửi đề xuất – kiến nghị 8

3.3.5 Quản lí thông tin đơn vị trực thuộc 9

3.3.6 Đăng tin tức – sự kiện 10

3.3.7 Báo cáo tình hình hoạt động hàng tuần 11

3.3.8 Quản lý báo cáo hoạt động 11

3.3.9 Quản lí dự án 12

3.3.10 Quản lí chương trình 14

3.3.11 Quản lí mặt trận 15

3.3.12 Quản lí tin tức sự kiện 17

3.3.13 Quản lí tài khoản 17

3.3.14 Quản lí danh sách các đơn vị 19

3.3.15 Quản lí Sidebar và Banner 19

3.3.15 Xem thống kê chiến sĩ 21

3.4 QUY TẮC NGHIỆP VỤ 21

3.5 PHÂN QUYỀN NGƯỜI DÙNG 21

3.5.1 Sơ đồ mô tả chung 21

3.5.2 Mô tả từng thành phần 22

3.6 PHÂN TÍCH YÊU CẦU LƯU TRỮ 23

3.6.1 Lưu trữ thông tin mhx_chiensy: Thông tin chiến sĩ 23

3.6.2 Lưu trữ thông tin mhx_banchihuy: Thông tin ban chỉ huy 24 3.6.3 Lưu trữ thông tin mhx_bch_ct: Thông tin ban chỉ huy chương trình 24

3.6.4 Lưu trữ thông tin mhx_bch_da: Thông tin ban chỉ huy dự án 24 3.6.5 Lưu trữ thông tin mhx_bch_donvi: Thông tin ban chỉ huy đơn vị 24 3.6.6 Lưu trữ thông tin mhx_bch_mattran: Thông tin ban chỉ huy mặt trận 24 3.6.7 Lưu trữ thông tin mhx_chucvu: Thông tin chức vụ 25

3.6.8 Lưu trữ thông tin mhx_chuongtrinh: Thông tin chương trình 25 3.6.9 Lưu trữ thông tin mhx_ct_mt: Thông tin chương trình của mặt trận 25 3.6.10 Lưu trữ thông tin mhx_ctmt_nc: Thông tin nhu cầu chương trình của mặt trận 25

Trang 7

vii

3.6.11 Lưu trữ thông tin mhx_dh_ctmtnc: Thông tin đội hình đáp

ứng nhu cầu chương trình của mặt trận 25

3.6.12 Lưu trữ thông tin mhx_dh_hmnc: Thông tin đội hình đáp ứng nhu cầu của hạng mục 26

3.6.13 Lưu trữ thông tin mhx_doihinh: Thông tin đội hình 26

3.6.14 Lưu trữ thông tin mhx_donvi: Thông tin đơn vị 26

3.6.15 Lưu trữ thông tin mhx_duan: Thông tin dự án 26

3.6.16 Lưu trữ thông tin mhx_hangmuc: Thông tin hạng mục 26

3.6.17 Lưu trữ thông tin mhx_hm_nc: Thông tin nhu cầu của hạng mục 27 3.6.18 Lưu trữ thông tin mhx_loaidonvi: Thông tin loại đơn vị 27

3.6.19 Lưu trữ thông tin mhx_mattran: Thông tin mặt trận 27

3.6.20 Lưu trữ thông tin mhx_nguonluc: Thông tin nguồn lực 27

3.6.21 Lưu trữ thông tin mhx_nhucau 27

3.6.22 Lưu trữ thông tin mhx_nl_dv: Thông tin nguồn lực của đơn vị 28 3.6.23 Lưu trữ thông tin mhx_nldv_ctmtnc: Thông tin nguồn lực đáp ứng nhu cầu chương trình của mặt trận 28

3.6.24 Lưu trữ thông tin mhx_nldv_hmnc: Thông tin nguồn lực đáp ứng nhu cầu của hạng mục 28

3.6.25 Lưu trữ thông tin mhx_photogallery: Thông tin hình ảnh 28 3.6.26 Lưu trữ thông tin mhx_post: Thông tin tin tức - sự kiện 28

3.6.27 Lưu trữ thông tin mhx_quyen: Thông tin quyền 29

3.6.28 Lưu trữ thông tin mhx_role: Thông tin phân quyền 29

3.6.29 Lưu trữ thông tin mhx_slideshow: Thông tin banner 29

3.6.30 Lưu trữ thông tin mhx_sponsor: Thông tin tài trợ - hỗ trợ 30 3.6.31 Lưu trữ thông tin mhx_user: Thông tin tài khoản 30

3.6.32 Lưu trữ thông tin mhx_video: Thông tin video 30

3.6.33 Lưu trữ thông tin mhx_baocaonhanh: Thông tin báo cáo nhanh 30 3.6.34 Lưu trữ thông tin mhx_loaivanban: Thông tin loại văn bản 31 3.6.35 Lưu trữ thông tin mhx_bcn_lvb: Thông tin các loại văn bản gửi kèm báo cáo 31

3.7 BIỂU ĐỒ LỚP TỔNG QUÁT CỦA HỆ THỐNG(CLASS DIAGRAM) 31

3.8 BIỂU ĐỒ TRẠNG THÁI(STATECHART DAGRAM) 32 3.8.1 Trạng thái đang Online và Offline của người dùng khi vào website 32

Trang 8

viii

3.8.2 Trạng thái đang được đăng và không được đăng của tin tức

- sự kiện/ tài trợ - hỗ trợ/ hình ảnh/ banner 32

3.9 BIỂU ĐỒ TUẦN TỰ(SEQUENCE DIAGRAM) VÀ BIỂU ĐỒ CỘNG TÁC(COLLABORATION DIAGRAM) 33

3.9.1 Đăng nhập và Đăng xuất 33

3.9.2 Quản lý thông tin cá nhân 36

3.9.3 Xem tin tức – sự kiện 37

3.9.4 Gửi liên hệ 38

3.9.5 Quản lý thông tin đơn vị trực thuộc 39

3.9.6 Đăng tin tức – sự kiện 47

3.9.7 Báo cáo tình hình hoạt động hàng tuần 48

3.9.8 Quản lý báo cáo tình hình hoạt động hàng tuần 49

3.9.9 Quản lý dự án 51

3.9.10 Quản lý chương trình 55

3.9.11 Quản lý mặt trận 59

3.9.12 Quản lý tin tức sự kiện 63

3.9.13 Quản lý tài khoản 65

3.9.14 Quản lý danh sách các đơn vị 67

3.9.15 Quản lý sidebar và banner 69

3.9.16 Xem thống kê chiến sĩ 76

3.10 BIỂU ĐỒ HOẠT ĐỘNG(ACTIVITY DIAGRAM) 77

3.10.1 Đăng nhập và Đăng xuất 77

3.10.2 Quản lý thông tin cá nhân 78

3.10.3 Xem tin tức – sự kiện 78

3.10.4 Gửi liên hệ 79

3.10.5 Quản lý thông tin đơn vị trực thuộc 79

3.10.6 Đăng tin tức – sự kiện 83

3.10.7 Báo cáo tình hình hoạt động hàng tuần 83

3.10.8 Quản lý báo cáo tình hình hoạt động hàng tuần 84

3.10.9 Quản lý dự án 85

3.10.10 Quản lý chương trình 87

3.10.11 Quản lý mặt trận 89

3.10.12 Quản lý tin tức sự kiện 91

3.10.13 Quản lý tài khoản 92

3.10.14 Quản lý danh sách các đơn vị 93

3.10.15 Quản lý sidebar và banner 94

3.10.16 Xem thống kê chiến sĩ 95

Trang 9

ix

3.11 THIẾT KẾ GIAO DIỆN CHƯƠNG TRÌNH 95

3.11.1 Sơ đồ website tổng quan 95

3.11.2 Module Default 96

3.11.3 Module Manager 102

Chương 4: XÂY DỰNG ỨNG DỤNG 135

4.1 CÀI ĐẶT 135

4.2 XỬ LÝ 135

4.2.1 Yêu cầu cài đặt 135

4.2.2 Framework 135

4.2.3 Kết nối database 135

4.2.4 Khởi động website 135

4.2.5 Đăng nhập vào website 135

Chương 5: KẾT LUẬN 136

5.1 KẾT LUẬN 136

5.2 Ý NGHĨA CỦA ĐỀ TÀI 136

DANH MỤC TÀI LIỆU THAM KHẢO 137

Trang 10

x

DANH MỤC HÌNH ẢNH

Hình II 1 Các bước phát triển hệ thống hướng đối tượng 3

Hình III 1 Usecase tổng quan của hệ thống 3

Hình III 2 Usecase Quản lí tài khoản 4

Hình III 3 Usecase Quản lí thông tin đơn vị 4

Hình III 4 Usecase Quản lí mặt trận 5

Hình III 5 Usecase Quản lí chương trình 5

Hình III 6 Usecase Quản lí dự án 6

Hình III 7 Usecase Quản lí Sidebar và Banner 7

Hình III 8 Sơ đồ phân cấp quản lý của chiến dịch 21

Hình III 9 Biểu đồ lớp tổng quát của hệ thống 32

Hình III 10 Biểu đồ trạng thái đăng nhập 32

Hình III 11 Biểu đồ trạng thái đăng đăng của tin tức - sự kiện/ tài trợ - hỗ trợ/ hình ảnh/ banner 33

Hình III 12 Biểu đồ tuần tự (Sequence Diagram): Đăng nhập 34

Hình III 13 Biểu đồ cộng tác(Collaboration Diagram): Đăng nhập 35

Hình III 14 Biểu đồ tuần tự (Sequence Diagram): Đăng xuất 35

Hình III 15 Biểu đồ cộng tác(Collaboration Diagram): Đăng xuất 36

Hình III 16 Biểu đồ tuần tự (Sequence Diagram): Quản lý thông tin cá nhân 36

Hình III 17 Biểu đồ cộng tác(Collaboration Diagram): Quản lý thông tin cá nhân 37

Hình III 18 Biểu đồ tuần tự (Sequence Diagram): Xem tin tức – sự kiện 37

Hình III 19 Biểu đồ cộng tác(Collaboration Diagram): Xem tin tức – sự kiện 38

Hình III 20 Biểu đồ tuần tự (Sequence Diagram): Gửi liên hệ 38

Hình III 21 Biểu đồ cộng tác(Collaboration Diagram): Gửi liên hệ 39

Hình III 22 Biểu đồ tuần tự (Sequence Diagram): Quản lý nguồn lực 40

Hình III 23 Biểu đồ cộng tác(Collaboration Diagram): Quản lý nguồn lực 41

Hình III 24 Biểu đồ tuần tự (Sequence Diagram): Quản lý đội hình 42

Hình III 25 Biểu đồ cộng tác(Collaboration Diagram): Quản lý đội hình 43

Hình III 26 Biểu đồ tuần tự (Sequence Diagram): Quản lý chiến sĩ 44

Hình III 27 Biểu đồ cộng tác(Collaboration Diagram): Quản lý chiến sĩ 45

Hình III 28 Biểu đồ tuần tự (Sequence Diagram): Quản lý Ban chỉ huy đơn vị 46

Hình III 29 Biểu đồ cộng tác(Collaboration Diagram): Quản lý Ban chỉ huy đơn vị 47

Hình III 30 Biểu đồ tuần tự (Sequence Diagram): Đăng tin tức – sự kiện 47

Hình III 31 Biểu đồ cộng tác(Collaboration Diagram): Đăng tin tức – sự kiện 48

Hình III 32 Biểu đồ tuần tự (Sequence Diagram): Báo cáo tình hình hoạt động hàng tuần 48

Hình III 33 Biểu đồ cộng tác(Collaboration Diagram): Báo cáo tình hình hoạt động hàng tuần 49

Trang 11

xi Hình III 34 Biểu đồ tuần tự (Sequence Diagram): Quản lý báo cáo tình hình

hoạt động hàng tuần 50

Hình III 35 Biểu đồ cộng tác(Collaboration Diagram): Quản lý báo cáo tình hình hoạt động hàng tuần 51

Hình III 36 Biểu đồ tuần tự (Sequence Diagram): Quản lý nội dung dự án 52

Hình III 37 Biểu đồ cộng tác(Collaboration Diagram): Quản lý nội dung dự án 53

Hình III 38 Biểu đồ tuần tự (Sequence Diagram): Quản lý ban chỉ huy dự án 54

Hình III 39 Biểu đồ cộng tác(Collaboration Diagram): Quản lý ban chỉ huy dự án 55

Hình III 40 Biểu đồ tuần tự (Sequence Diagram): Quản lý nội dung chương trình 56

Hình III 41 Biểu đồ cộng tác(Collaboration Diagram): Quản lý nội dung chương trình 57

Hình III 42 Biểu đồ tuần tự (Sequence Diagram): Quản lý ban chỉ huy chương trình 58

Hình III 43 Biểu đồ cộng tác(Collaboration Diagram): Quản lý ban chỉ huy 58

Hình III 44 Biểu đồ tuần tự (Sequence Diagram): Quản lý nội dung mặt trận 60

Hình III 45 Biểu đồ cộng tác(Collaboration Diagram): Quản lý nội dung mặt trận 61

Hình III 46 Biểu đồ tuần tự (Sequence Diagram): Quản lý ban chỉ huy mặt trận 62

Hình III 47 Biểu đồ cộng tác(Collaboration Diagram): Quản lý ban chỉ huy mặt trận 63

Hình III 48 Biểu đồ tuần tự (Sequence Diagram): Quản lý tin tức sự kiện 64

Hình III 49 Biểu đồ cộng tác(Collaboration Diagram): Quản lý tin tức sự kiện 65

Hình III 50 Biểu đồ tuần tự (Sequence Diagram): Quản lý tài khoản 66

Hình III 51 Biểu đồ cộng tác(Collaboration Diagram): Quản lý tài khoản 67

Hình III 52 Biểu đồ tuần tự (Sequence Diagram): Quản lý danh sách các đơn vị 68

Hình III 53 Biểu đồ cộng tác(Collaboration Diagram): Quản lý danh sách các đơn vị 69

Hình III 54 Biểu đồ tuần tự (Sequence Diagram): Quản lý video 69

Hình III 55 Biểu đồ cộng tác(Collaboration Diagram): Quản lý video 70

Hình III 56 Biểu đồ tuần tự (Sequence Diagram): Quản lý hình ảnh 71

Hình III 57 Biểu đồ cộng tác(Collaboration Diagram): Quản lý hình ảnh 72

Hình III 58 Biểu đồ tuần tự (Sequence Diagram): Quản lý tài trợ - hỗ trợ 73

Hình III 59 Biểu đồ cộng tác(Collaboration Diagram): Quản lý tài trợ - hỗ trợ 74

Hình III 60 Biểu đồ tuần tự (Sequence Diagram): Quản lý banner 75

Hình III 61 Biểu đồ cộng tác(Collaboration Diagram): Quản lý banner 76

Hình III 62 Biểu đồ cộng tác(Collaboration Diagram): Xem thống kê chiến sĩ 77

Trang 12

xii

Hình III 63 Biểu đồ hoạt động(Activity Diagram): Đăng nhập 78

Hình III 64 Biểu đồ hoạt động(Activity Diagram): Đăng xuất 78

Hình III 65 Biểu đồ hoạt động(Activity Diagram): Quản lý thông tin cá nhân 78

Hình III 66 Biểu đồ hoạt động(Activity Diagram): Xem tin tức – sự kiện 79

Hình III 67 Biểu đồ hoạt động(Activity Diagram): Gửi liên hệ 79

Hình III 68 Biểu đồ hoạt động(Activity Diagram): Quản lý nguồn lực 80

Hình III 69 Biểu đồ hoạt động(Activity Diagram): Quản lý đội hình 81

Hình III 70 Biểu đồ hoạt động(Activity Diagram): Quản lý chiến sĩ 82

Hình III 71 Biểu đồ hoạt động(Activity Diagram): Quản lý Ban chỉ huy Đơn vị 83

Hình III 72 Biểu đồ hoạt động(Activity Diagram): Đăng tin tức – sự kiện 83

Hình III 73 Biểu đồ hoạt động(Activity Diagram): báo cáo tình hình hoạt động hàng tuần 84

Hình III 74 Biểu đồ hoạt động(Activity Diagram): quản lý báo cáo tình hình hoạt động hàng tuần 85

Hình III 75 Biểu đồ hoạt động(Activity Diagram): Quản lý nội dung dự án 86 Hình III 76 Biểu đồ hoạt động(Activity Diagram): Quản lý ban chỉ huy dự án 87

Hình III 77 Biểu đồ hoạt động(Activity Diagram): Quản lý nội dung chương trình 88

Hình III 78 Biểu đồ hoạt động(Activity Diagram): Quản lý ban chỉ huy chương trình 89

Hình III 79 Biểu đồ hoạt động(Activity Diagram): Quản lý nội dung mặt trận 90

Hình III 80 Biểu đồ hoạt động(Activity Diagram): Quản lý ban chỉ huy mặt trận 91

Hình III 81 Biểu đồ hoạt động(Activity Diagram): Quản lý tin tức sự kiện 92 Hình III 82 Biểu đồ hoạt động(Activity Diagram): Quản lý tài khoản 93

Hình III 83 Biểu đồ hoạt động(Activity Diagram): Quản lý danh sách các đơn vị 94

Hình III 84 Biểu đồ hoạt động(Activity Diagram): Quản lý sidebar và banner 95

Hình III 85 Biểu đồ hoạt động(Activity Diagram): Xem thống kê chiến sĩ 95

Hình III 86 Cấu trúc giao diện module Default 96

Hình III 87 Cấu trúc giao diện module Manager 102

Trang 13

xiii

DANH MỤC BẢNG

Bảng III 1 Usecase Đăng nhập và Đăng xuất 7

Bảng III 2 Usecase Quản lí thông tin cá nhân 8

Bảng III 3 Usecase Xem tin tức – sự kiện 8

Bảng III 4 Usecase Gửi đề xuất – kiến nghị 8

Bảng III 5 Usecase Xem, thêm, xóa, sửa nguồn lực 9

Bảng III 6 Usecase Xem, thêm, xóa sửa đội hình 9

Bảng III 7 Usecase Xem, thêm, xóa sửa danh sách chiến sĩ 10

Bảng III 8 Usecase Xem, thêm, xóa sửa ban chỉ huy đơn vị 10

Bảng III 9 Usecase Đăng tin tức – sự kiện 10

Bảng III 10 Usecase Báo cáo tình hình hoạt động hàng tuần 11

Bảng III 11 Usecase Quản lý Báo cáo tình hình hoạt động hàng tuần 11

Bảng III 12 Usecase Xem, thêm, xóa, sửa thông tin dự án 12

Bảng III 13 Usecase Xem, thêm, xóa, sửa hạng mục của dự án 12

Bảng III 14 Usecase Xem, thêm, xóa, sửa đăng ký hạng mục 12

Bảng III 15 Usecase Xem, thêm, xóa, sửa nhu cầu dự án 13

Bảng III 16 Usecase Xem, them, xóa, sửa Ban chỉ huy của dự án 13

Bảng III 17 Usecase Xem, thêm, xóa, sửa nội dung thông tin chương trình 14 Bảng III 18 Usecase Xem, thêm, xóa, sửa nhu cầu của chương trình 14

Bảng III 19 Usecase Xem danh sách mặt trận theo chương trình 14

Bảng III 20 Usecase Xem, thêm, xóa, sửa Ban chỉ huy Chương trình 15

Bảng III 21 Usecase Xem, thêm, xóa, sửa mặt trận 15

Bảng III 22 Usecase Xem, thêm, xóa, sửa chương trình của mặt trận 16

Bảng III 23 Usecase Xem, thêm, xóa, sửa nhu cầu chương trình mặt trận 16

Bảng III 24 Usecase Xem, thêm, xóa, sửa mặt trận tham gia 17

Bảng III 25 Usecase Thêm, xóa, sửa tin tức sự kiện 17

Bảng III 26 Usecase Thêm, xóa, sửa danh sách tài khoản 17

Bảng III 27 Usecase Phân quyền 18

Bảng III 28 Usecase Thành lập ban chỉ huy 18

Bảng III 29 Usecase Quản lí danh sách các đơn vị 19

Bảng III 30 Usecase Thêm, xóa video clip 19

Bảng III 31 Usecase Thêm, xóa, sửa hình ảnh 20

Bảng III 32 Usecase Thêm, xóa, sửa slide nhà tài trợ 20

Bảng III 33 Usecase Thêm, xóa, sửa banner 20

Bảng III 34 Usecase Xem thống kê chiến sĩ 21

Bảng III 35 Lưu trữ thông tin chiến sĩ 23

Bảng III 36 Lưu trữ thông tin ban chỉ huy 24

Bảng III 37 Lưu trữ thông tin ban chỉ huy chương trình 24

Bảng III 38 Lưu trữ thông tin ban chỉ huy dự án 24

Bảng III 39 Lưu trữ thông tin ban chỉ huy đơn vị 24

Bảng III 40 Lưu trữ thông tin ban chỉ huy mặt trận 24

Bảng III 41 Lưu trữ thông tin chức vụ 25

Bảng III 42 Lưu trữ thông tin chương trình 25

Bảng III 43 Lưu trữ thông tin chương trình của mặt trận 25

Bảng III 44 Lưu trữ thông tin nhu cầu chương trình của mặt trận 25

Trang 14

xiv Bảng III 45 Lưu trữ thông tin đội hình đáp ứng nhu cầu chương trình của mặt

trận 25

Bảng III 46 Lưu trữ thông tin đội hình đáp ứng nhu cầu của hạng mục 26

Bảng III 47 Lưu trữ thông tin đội hình 26

Bảng III 48 Lưu trữ thông tin đơn vị 26

Bảng III 49 Lưu trữ thông tin dự án 26

Bảng III 50 Lưu trữ thông tin hạng mục 27

Bảng III 51 Lưu trữ thông tin nhu cầu hạng mục 27

Bảng III 52 Lưu trữ thông tin loại đơn vị 27

Bảng III 53 Lưu trữ thông tin mặt trận 27

Bảng III 54 Lưu trữ thông tin nguồn lực 27

Bảng III 55 Lưu trữ thông tin nhu cầu 27

Bảng III 56 Lưu trữ thông tin nguồn lực của đơn vị 28

Bảng III 57 Lưu trữ thông tin nguồn lực đáp ứng nhu cầu chương trình của mặt trận 28

Bảng III 58 Lưu trữ thông tin nguồn lực đáp ứng nhu cầu của hạng mục 28

Bảng III 59 Lưu trữ thông tin hình ảnh 28

Bảng III 60 Lưu trữ thông tin tin tức – sự kiện 28

Bảng III 61 Lưu trữ thông tin quyền 29

Bảng III 62 Lưu trữ thông tin phân quyền 29

Bảng III 63 Lưu trữ thông tin banner 29

Bảng III 64 Lưu trữ thông tin tài trợ - hỗ trợ 30

Bảng III 65 Lưu trữ thông tin tài khoản 30

Bảng III 66 Lưu trữ thông tin video 30

Bảng III 67 Lưu trữ thông tin báo cáo nhanh 30

Bảng III 68 Lưu trữ thông tin loại văn bản 31

Bảng III 69 Lưu trữ thông tin các loại văn bản gửi kèm báo cáo 31

Trang 15

Việc đăng ký chiến dịch tình nguyện vẫn do các đơn vị cơ sở như: trường, quận huyện tổ chức Các chiến sĩ phải qua quá trình tuyển chọn để đảm bảo chất lượng trên nguyên tắc tình nguyện, kỷ luật, bố trí vào đúng đội hình, nội dung công việc phù hợp với nguyện vọng, sở trường của chiến sĩ Sau đó danh sách chiến sĩ được tuyển chọn sẽ được gửi đến ban chỉ huy chiến dịch cấp Thành để tiện trong việc quản lý và phân bố lực lượng

Về vấn đề đăng ký nội dung công việc thì các đơn vị cơ sở tự chủ động trao đổi và thống nhất nội dung phối hợp trong chiến dịch Mùa hè xanh

Bên cạnh đó, thông tin tuyên truyền phổ biến của Ban chỉ huy cấp Thành đến chiến sĩ thường phải qua Ban chỉ huy cấp cơ sở do vậy vấn đề thông tin thường rất chậm

1.3 GIẢI PHÁP GIẢI QUYẾT VẤN ĐỀ

Cũng chính vì những vấn đề trên và hưởng ứng chào mừng 20 năm Chiến dịch mùa hè xanh Ban chấp hành Hội Sinh Viên Việt Nam thành phố Hồ Chí

Minh lên ý tưởng xây dựng website “Chào mùa hè xanh” nhằm tạo cầu nối giữa

ban chỉ huy chiến dịch với chiến sĩ, giữa các ban, các bộ phận chỉ huy trong chiến dịch Đây sẽ là kênh thông tin chính và xuyên suốt các chiến dịch Mùa hè xanh sau này

Dựa trên ý tưởng của Hội sinh viên, chúng tôi xây dựng lên website “Chào mùa hè xanh” Nó sẽ là cổng thông tin liên lạc chính, bên cạnh đó nó cũng là nơi

để ban chỉ huy dễ dàng quản lý chiến dịch Website sẽ đảm bảo một số tính năng sau:

Các chiến sĩ có thể nắm bắt các thông tin về chiến dịch cũng như gửi ý kiến đóng góp về cho ban chỉ huy

Trang 16

2 Ban chỉ huy có thể dễ dàng phổ biến thông tin đến chiến sĩ, theo dõi các hoạt động trong chiến dịch

Bên cạnh đó các ban và bộ phận chỉ huy có thể dễ dàng trong công tác quản

lý chiến sĩ và quản lý và phân bố các mặt trận khu vực

1.4 PHẠM VI NGHIÊN CỨU

Đề tài được thực hiện dựa nhu cầu của Hội Sinh Viên Việt Nam thành phố

Hồ Chí Minh với mong muốn xây dựng một hệ thống quản lý cho chiến dịch Mùa

hè xanh Nội dung nghiên cứu gồm những chủ đề sau:

- Tìm hiểu và và thu thập thông tin về cách thức tổ chức và thông tin quản lý của Chiến dịch Mùa hè xanh

- Sử dụng hệ quản trị cơ sở dữ liệu MySQL để quản lý dữ liệu của website

- Xây dựng và phát triển website trên nền tảng ngôn ngữ Python với Web2py Framework

1.5 YÊU CẦU CHỨC NĂNG – PHI CHỨC NĂNG

1.5.1 Yêu cầu chức năng

Với những vấn đề trên cũng như những ý tưởng đặt ra của đề tài thì chúng tôi

có một số mô tả chức năng như sau:

- Phân quyền quản lý website, tùy theo từng cấp bậc và bộ phận sẽ có những phạm vi sử dụng website khác nhau

- Cho phép các tình nguyện viên có nguyện vọng tham gia chiến dịch được đăng ký tham gia các mặt trận chiến dịch

- Những ban có trách nhiệm thuộc các trường, quận huyện và các nhóm tình nguyện có thể thao tác trên các dữ liệu về đăng ký chiến sĩ, các dữ liệu về bài viết tin tức của trường, quận huyện hoặc tổ chức đó

- Ban chỉ huy cấp cơ sở có quyền đăng ký nhiệm vụ và mặt trận thực hiện trên website Ban chỉ huy cấp Thành sẽ dựa vào danh sách đăng ký và số lượng chiến sĩ để phân bố cho phù hợp

Các bài viết về chiến dịch cũng như những thông tin về chiến dịch luôn được cập nhật trên website

1.5.2 Yêu cầu phi chức năng

- Giao diện thân thiện với người dùng, dễ sử dụng

- Tương thích với nhiều trình duyệt như: Chrome, Firefox, IE…

- Tốc độ xử lý ổn định

Trang 17

3

Chương 2: CƠ SỞ LÝ THUYẾT

2.1 PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG UML

2.1.1 Giới thiệu về UML

UML (Unified Modelling Language) là ngôn ngữ mô hình hoá tổng quát được xây dựng để đặc tả, phát triển và viết tài liệu cho các khía cạnh trong phát triển phần mềm hướng đối tượng UML giúp người phát triển hiểu rõ và ra quyết định liên quan đến phần mềm cần xây dựng UML bao gồm một tập các khái niệm, các ký hiệu, các biểu đồ và hướng dẫn

2.1.2 Các bước phân tích thiết kế hướng đối tượng

Các bước phân tích thiết kế hướng đối tượng được xây dựng dựa trên các biểu đồ trong ngôn ngữ mô hình hóa thống nhất UML như hình vẽ:

Hình II 1 Các bước phát triển hệ thống hướng đối tượng

2.1.2.1 Pha phân tích

Xây dựng biểu đồ usecase: Dựa trên tập yêu cầu ban đầu, người phân tích tiến hành xác định các tác nhân, usecase và các quan hệ giữa các usecase để mô tả lại các chức năng của hệ thống Một thành phần quan trọng của biểu đồ usecase

là các kịch bản mô tả hoạt động của hệ thống trong mỗi usecase cụ thể

Xây dựng biểu đồ lớp: Xác định tên các lớp, các thuộc tính của lớp, một số phương thức và mối quan hệ cơ bản trong sơ đồ lớp

Xây dựng biểu đồ trạng thái: Mô tả các trạng thái và chuyển tiếp trạng thái trong hoạt động của một đối tượng thuộc một lớp nào đó

2.1.2.2 Pha thiết kế

Trang 18

4 Xây dựng biểu đồ tương tác(gồm biểu đồ cộng tác và biểu đồ tuần tự): mô tả chi tiết hoạt động của các usecase dựa trên các scenario đã có và các lớp đã xác định trong pha phân tích

Xây dựng biểu đồ lớp chi tiết: tiếp tục hoàn thành biểu đồ lớp bao gồm bổ sung các lớp còn thiếu, dựa trên biểu đồ trạng thái để bổ sung các thuộc tính, dựa trên bểu đồ tương tác để xác định các phương thức và mối quan hệ giữa các lớp Xây dựng biểu đồ hoạt động: mô tả hoạt động của các phương thức phức tạp trong mỗi lớp hoặc các hoạt động của hệ thống có sự liên quan của nhiều lớp Biểu đồ hoạt động là cơ sở để cài đặt phương thức trong các lớp

Xây dựng biểu đồ thành phần: xác định các gói, các thành phần và tổ chức phần mềm theo các thành phần đó

Xây dựng biểu đồ triển khai hệ thống: xác định các thành phần và các thiết

bị cần thiết để triển khai hệ thống, các giao thức và dịch vụ hỗ trợ

2.1.3 Giới thiệu công cụ RATIONAL ROSE

Rational Rose là một bộ công cụ được sử dụng cho phát triển các hệ phần mềm hướng đối tượng theo ngôn ngữ mô hình hóa UML Với chức năng của một

bộ công cụ trực quan, Rational Rose cho phép chúng ta tạo, quan sát, sửa đổi và quản lý các biểu đồ Tập ký hiệu mà Rational Rose cung cấp thống nhất với các

ký hiệu trong UML Ngoài ra, Rational Rose còn cung cấp chức năng hỗ trợ quản

lý dự án phát triển phần mềm, cung cấp các thư viện để hỗ trợ sinh khung mã cho

hệ thống theo một ngôn ngữ lập trình nào đó

2.2 NGÔN NGỮ LẬP TRÌNH PYTHON

2.2.1 Giới thiệu về Python

Python là một ngôn ngữ lập trình hướng đối tượng rất thông dụng dùng để

viết các tiện ích hệ thống và các đoạn mã trên Internet Nó cũng được sử dụng như ngôn ngữ kết dính đóng vai trò tích hợp C và C++ Được tạo ra bởi Guido van Rossum tại Amsterdamnăm 1990 Python hoàn toàn tạo kiểu động và dùng cơ chế cấp phát bộ nhớ tự động; do vậy nó gần giống như Perl, Ruby, Scheme, Smalltalk, và Tcl Python được phát triển trong một dự án mã mở, do tổ chức phi lợi nhuận Python Software Foundation quản lý Python bản 2.4.3 được phát hành vào 29 tháng 3, 2006 Bản tiếp theo là Python 2.5 release candidate 2

Gần đây nhất, đầu tháng 8/2006 Microsoft đã cho ra mắt bản phân phối thử nghiệm IronPython 1.0, vừa tích hợp tốt với Net Framework, vừa hoàn toàn kế thừa ngôn ngữ Python IronPython còn tận dụng CLI ( nền tảng ngôn ngữ chung )

để đạt hiệu năng cao, chạy nhanh hơn 1.5 lần so với Python nền C thông thường dựa trên thang đo benchmark

Python là ngôn ngữ có hình thức rất sáng sủa, cấu trúc rõ ràng, thuận tiện cho người mới học lập trình Cấu trúc của Python còn cho phép người sử dụng viết mã lệnh với số lần gõ phím tối thiểu

Trang 19

5 Ban đầu, Python được phát triển để chạy trên nền Unix Nhưng rồi theo thời gian, nó đã “bành trướng” sang mọi hệ điều hành từ DOS đến Mac OS, OS/2, Windows, Linux và các hệ điều hành khác thuộc họ Unix Mặc dù sự phát triển của Python có sự đóng góp của rất nhiều cá nhân, nhưng Guido van Rossum hiện nay vẫn là tác giả chủ yếu của Python Ông giữ vai trò chủ chốt trong việc quyết định hướng phát triển của Python

2.2.2 Sơ lược về đặc điểm

Python được thiết kế để trở thành một ngôn ngữ dễ học, mã nguồn dễ đọc,

bố cục trực quan, dễ hiểu, thể hiện qua các điểm sau:

a Từ khoá:

Python tăng cường sử dụng từ khóa tiếng Anh, hạn chế các kí hiệu và cấu trúc cú pháp so với các ngôn ngữ khác Python là một ngôn ngữ phân biệt kiểu chữ Như C/C++, các từ khóa của Python đều ở dạng chữ thường Dưới đây là

hệ thống từ khóa chuẩn:

and del from not while

as elif global or with

assert else if pass yield

break except import print

class exec in raise

continue finally is return

def for lambda try

b Khối lệnh:

Python, có một cách rất đặc biệt để tạo khối lệnh, đó là thụt các câu lệnh trong khối vào sâu hơn (về bên phải) so với các câu lệnh của khối lệnh cha chứa nó.Ví dụ giả sử có đoạn mã sau trong C/C++:

Trang 20

C và sử dụng nó như là một mở rộng hoặc một ngôn ngữ dòng lệnh phụ trợ cho ứng dụng đó

d Trình thông dịch

Python là một ngôn ngữ lập trình dạng thông dịch Ưu điểm của thông dịch

là giúp ta tiết kiệm thời gian phát triển ứng dụng vì không cần phải thực hiện biên dịch và liên kết Trình thông dịch có thể được sử dụng để chạy file script, hoặc cũng có thể được sử dụng một cách tương tác Ở chế độ tương tác, trình thông dịch Python tương tự shell của các hệ điều hành họ Unix, tại đó, ta có thể nhập vào một biểu thức tại một thời điểm rồi enter, và kết quả thực thi sẽ được hiển thị ngay lập tức Đặc điểm này rất hữu ích cho người mới học, giúp họ nghiên cứu tính năng của ngôn ngữ; hoặc để các lập trình viên chạy thử mã trong suốt quá trình phát triển phần mềm Ngoài ra, nó cũng có thể được sử dụng như là một máy tính

e Lệnh và cấu trúc điều khiển:

Mỗi câu lệnh trong Python nằm trên một dòng mã nguồn Ta không cần phải kết thúc câu lệnh bằng bất kì kí tự gì Cũng như các ngôn ngữ khác, Python cũng có các cấu trúc điều khiển Chúng bao gồm:

Cấu trúc rẽ nhánh: cấu trúc if (có thể sử dụng thêm elif hoặc else), dùng để

thực thi có điều kiện một khối mã cụ thể

Python cũng có từ khóa class dùng để khai báo lớp (sử dụng trong lập trình

hướng đối tượng) và lệnh def dùng để định nghĩa hàm

f Hệ thống kiểu dữ liệu:

Trang 21

7

Python sử dụng hệ thống kiểu duck typing, còn gọi là latent typing (hàm

nghĩa: ngầm) Có nghĩa là, Python không kiểm tra các ràng buộc về kiểu dữ liệu tại thời điểm dịch, mà là tại thời điểm thực thi Khi thực thi, nếu một thao tác trên một đối tượng bị thất bại, thì có nghĩa là, đối tượng đó không sử dụng một kiểu thích hợp Python cũng là một ngôn ngữ định kiểu mạnh Nó cấm mọi thao tác không hợp lệ, ví dụ cộng một con số vào chuỗi Sử dụng Python, ta không cần phải khai báo biến Biến được xem là đã khai báo nếu nó được gán một giá trị lần đầu tiên Căn cứ vào mỗi lần gán, Python sẽ tự động xác định kiểu dữ liệu của biến Python có một số kiểu dữ liệu thông dụng sau:

int, long: số nguyên

float: số thực

complex: số phức

list: chuỗi có thể thay đổi

tuple: chuỗi không thể thay đổi

str: chuỗi kí tự không thể thay đổi

dict: từ điển

set: một tập không xếp theo thứ tự, ở đó, mỗi phần tử chỉ xuất hiện một lần

Ngoài ra, Python còn có nhiều kiểu dữ liệu khác

g Module ( khối chương trình )

Python cho phép chia chương trình thành modules để có thể sử dụng lại trong các chương trình khác Nó cũng có sẵn một tập hợp các modules chuẩn

mà ta có thể sử dụng lại trong chương trình của ta Các thư viện này cung cấp nhiều thứ, như file I/O, các lời gọi hệ thống, sockets,…

Trang 22

8

để tuỳ biến và mở rộng các ứng dụng lớn hơn Được tích hợp sẵn nhiều công cụ

và có một thư viện chuẩn phong phú, Python cho phép người dùng dễ dàng tạo

ra các dịch vụ Web, sử dụng các thành phần COM hay CORBA ( ) Nó hỗ trợ các định dạng email, dữ liệu Internet, HTML, XML và các ngôn ngữ đánh dấu khác Python cũng ứng dụng tất cả các giao thức Internet thông dụng như HTTP, FTP,… Python cung cấp giao tiếp đến hầu hết cơ sở dữ liệu, có khả năng

xử lí văn bản, tài liệu hiệu quả, và có thể làm việc tốt với các công nghệ Web khác Python cũng đặc biệt hiệu quả cho lập trình tính toán khoa học qua các công cụ Python Imaging Library, VTK, MayaVi 3D Visualization Toolkits, Numeric Python, ScientificPython,… Python cũng có thể được sử dụng để phát triển các ứng dụng Desktop Người dùng có thể dùng wxPython, PyQt, PyGtk

để phát triển các ứng dụng giao diện đồ họa (GUI) chất lượng cao Python có thể hỗ trợ các GUI frameworks khác như MFC, Carbon, Delphi, X11, Motif, và

Tk Python cũng có sẵn một unit testing framework để tạo ra các các bộ test (test suites)

i Multiple paradigms (đa biến hóa)

Python là một ngôn ngữ đa biến hóa (multiple paradigms) Có nghĩa là, thay

vì ép buộc mọi người phải sử dụng duy nhất một phương pháp lập trình, Python lại cho phép sử dụng nhiều phương pháp lập trình khác nhau: hướng đối tượng,

có cấu trúc, chức năng, hoặc chỉ hướng đến một khía cạnh Python kiểu kiểu động và sử dụng bộ thu gom rác để quản lí bộ nhớ Một đặc điểm quan trọng nữa của Python là giải pháp tên động, kết nối tên biến và tên phương thức lại với nhau trong suốt thực thi của chương trình

2.2.3 web2py Framework

Web2py là một web framework mã nguồn mở miễn phí hỗ trợ mạnh bảo mật kết nối cơ sở dữ liệu cho ứng dụng web, nó được viết trên nền tảng ngôn ngữ lập trình Python Web2py là một framework hoàn chỉnh chứa tất cả các thành phần cần để xây dựng đầy đủ các phương thức của ứng dựng web

Web2py được thiết kế dưới mô hình MVC giúp cho người lập trình dễ dàng trong các việc thiết kế, hiện thực và kiểm tra Web2py được xây dựng để bảo mật

vì nó sẽ tự động giải quyết nhiều vấn đề có thể dẫn tới lỗ hỏng bảo mật như: nó sẽ kiểm soát tất cả đầu vào để tránh khỏi các vấn đề lỗi đầu ra, đổi tên các tập tin tải lên(để chặn tấn công thư mục) web2py kiểm soát các vấn đề an ninh giúp người lập trình không mặc phải các vấn đề về lỗ hổng

2.3 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL

MySQL là một phần mềm quản trị CSDL dạng server-based (gần tương

Trang 23

9 đương với SQL Server của Microsoft) MySQL quản lý dữ liệu thông qua các CSDL, mỗi CSDL có thể có nhiều bảng quan hệ chứa dữ liệu

MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có thể được quản lý một hoặc nhiều CSDL khác nhau, mỗi người dùng có một tên truy cập (user name) và mật khẩu tương ứng để truy xuất đến CSDL

Khi ta truy vấn tới CSDL MySQL, ta phải cung cấp tên truy cập và mật khẩu của tài khoản có quyền sử dụng CSDL đó Nếu không, chúng ta sẽ không làm được gì cả giống như quyền chứng thực người dùng trong SQL Server vậy

Năm 2010 Google đã xác nhận tốc độ load của website sẽ là một tiêu chí đánh giá thứ hạng trên bộ máy tìm kiếm Google Theo đó, một website có tốc độ load nhanh sẽ được ưu tiên hơn so với những trang có tốc độ load chậm Chúng nên nhớ rằng 80%-90% thời gian trình duyệt hiển thị ra một trang web mà bạn đang xem là để tải các thành phần trong trang như: hình ảnh (images,) các dữ liệu

để định dạng tài liệu HTML (stylesheet - CSS), các đoạn script, flash, Đây chính là những điểm chính quan trọng mà chúng cần quan tâm để tăng tốc website của mình bên cạnh việc chúng ta dành thời gian cho công việc khó khăn hơn rất nhiều là thiết kế lại hệ thống Sau đây là các lưu ý mà chúng ta cần làm để tăng tốc một trang web

 Minimize HTTP Requests

 Use a Content Delivery Network

 Avoid empty src or href

 Add an Expires or a Cache-Control

Header

 Gzip Components

 Put StyleSheets at the Top

 Put Scripts at the Bottom

 Make AJAX Cacheable

 Flush the Buffer Early

 Use GET for AJAX Requests

Trang 24

 Split Components Across Domains

 Minimize the Number of iframes

 No 404s

 Reduce Cookie Size

 Use Cookie-Free Domains for

Components

 Minimize DOM Access

 Develop Smart Event Handlers

 Choose <link> over @import

 Avoid Filters

 Optimize Images

 Optimize CSS Sprites

 Do Not Scale Images in HTML

 Make favicon.ico Small and Cacheable

 Keep Components under 25K

 Pack Components into a Multipart Document

 Avoid Empty Image src

Trang 25

Kế hoạch hoạt động của Ban chỉ huy cấp Thành sẽ xác định rõ thời gian, thành phần tham dự chiến dịch, mục đích nội dung của chiến dịch; vạch rõ các chương trình trọng điểm, các dự án sẽ thực hiện trong chiến dịch

Các đơn vị của là các trường đại học, cao đẳng, các công ty tổ chức tình nguyện, các quận huyện Các đơn vị này sẽ nhận được thông báo chỉ đạo từ ban chỉ huy sớm nhất Các đơn vị sẽ thành lập ban chỉ huy cấp cơ sở, khảo sát mặt trận và lập kế hoạch hoạt động Kế hoạch hoạt động, danh sách các mặt trận, nội dung của từng mặt trận… tất cả các danh sách và báo cáo trên các đơn vị phải gửi về Ban chỉ huy cấp Thành để ban chỉ huy kiểm soát và duyệt qua

Khi kế hoạch của cơ sở được duyệt, các cơ sở bắt đầu giai đoạn tuyển chiến sĩ Các tình nguyện viên sẽ đăng kí tham gia các đội hình mà họ mong muốn Đến khi hết hạn đăng ký, các đơn vị tổ chức các hoạt động tuyển chọn chiến sĩ để đảm bảo chất lượng trên nguyên tắc tình nguyện, kỷ luật, bố trí vào đúng đội hình, nội dung công việc phù hợp với nguyện vọng, sở trường của chiến sĩ Danh sách chiến sĩ được các đơn vị gửi lên ban chỉ huy cấp Thành Bắt đầu chiến dịch ban chỉ huy cấp cơ sở nhận chỉ đạo và nhiệm vụ từ cấp trên rồi phổ biến phân công cho chiến sĩ Các chiến sĩ đã được tuyển chọn phải trải qua một đợt tập huấn để có chuẩn bị hành trang tham gia vào chiến dịch Hằng tuần các đơn vị sẽ báo cáo tình hình hoạt động trong tuần cho ban chỉ huy cấp trên

3.2 THIẾT KẾ USECASE DIAGRAM

3.2.1 Usecase diagram tổng quan của hệ thống

Trang 26

3

Hình III 1 Usecase tổng quan của hệ thống

3.2.2 Usecase Quản lí tài khoản

Admin

Quan li tai khoan

Quan li danh sach don vi Xem thong ke chien si

Quan li sidebar&banner

Admin 1

Xem tin tuc - su kien

Gui de xuat kien nghi

Dang nhap & Dang xuat Quan li thong tin ca nhan

User

Quan li chuong trinh Quan li du an

Quan li mat tran

Bao cao tinh hình hoat dong hang tuan

Dang tin tuc su kien

Quan li thong tin don vi truc

Trang 27

4

Hình III 2 Usecase Quản lí tài khoản

3.2.3 Usecase Quản lí thông tin đơn vị trực thuộc

Hình III 3 Usecase Quản lí thông tin đơn vị

Xem, them, xoa, sua nguon luc

Xem, them, xoa, sua doi hinh

Xem, them, xoa, sua danh sach

chien si Mod

Xem, them, xoa, sua Ban chi

huy Don vi

Trang 28

5

Hình III 4 Usecase Quản lí mặt trận

3.2.5 Usecase Quản lí chương trình

Hình III 5 Usecase Quản lí chương trình

3.2.6 Usecase Quản lí dự án

Admin 1

xem, them, xoa, sua chuong trinh cua mat tran

xem, them, xoa, sua nhu cau chuong trinh mat tran

xem, them, xoa, sua mat tran

tham gia Admin 2

Admin Admin 1 xem, them, xoa, sua noi dung

thong tin chuong trinh

xem thong danh sach mat tran theo chuong trinh

Xem, them, xoa sua nhu cau cua chuong trinh Admin 2

xem, them, xoa sua Ban chi huy

chuong trinh

Trang 29

6

Hình III 6 Usecase Quản lí dự án

3.2.7 Usecase Quản lí sidebar và Banner

Xem, them, xoa, sua ban chi

huy

Trang 30

Bảng III 1 Usecase Đăng nhập và Đăng xuất

Description Usecase này mô tả chức năng đăng nhập và đăng xuất

khỏ website Goal

- Actor đăng nhập vào hệ thống để có thể thực hiện một số chức năng quản lí trong quyền của mình

- Actor đăng xuất để thoát khỏi quyền hệ thống của mình

Pre- Conditions N/A

Post - Conditions N/A

Them, xoa video clip

Them, xoa, sua slide hinh anh

Them, xoa, sua slide nha tai tro Admin 1

Them, xoa, sua banner

Trang 31

Description Usecase này mô tả chức năng xem, thay đổi nội dung

thông tin cá nhân của chiến sĩ

Goal

- Actor có thể xem các thông tin cá nhân của mình

- Nếu thông tin không đúng hoặc thiếu Actor có thể thay đổi nội dung

Pre- Conditions - Actor đăng nhập vào ứng dụng thành công

Post - Conditions N/A

ảnh và bài viết được post lên website

Pre- Conditions N/A

Post - Conditions N/A

Trang 32

9 kiến ghị đến ban chỉ huy cấp trên Goal Ban chỉ huy có thể nhận được những phản hồi và góp ý

xây dựng từ chiến sĩ

Pre- Conditions - Actor đăng nhập vào ứng dụng thành công

Post - Conditions N/A

3.3.4.2 Relationships

 Actor: User

 Include: Đăng nhập

 Extend: N/A

3.3.5 Quản lí thông tin đơn vị trực thuộc

3.3.5.1 Xem, thêm, xóa, sửa nguồn lực

3.3.5.1.1 Use-Case Description Bảng III 5 Usecase Xem, thêm, xóa, sửa nguồn lực Name Xem, thêm, xóa, sửa nguồn lực

Description Usecase này mô tả chức năng xem và cập nhật thông

tin về nguồn lực của đơn vị Goal Các cơ sở sử dụng chức năng này để xem và quản lí

thêm, xóa, sửa nguồn lực của đơn vị

Pre- Conditions - Actor đăng nhập vào ứng dụng thành công

Post - Conditions N/A

Description Usecase này mô tả chức năng xem và cập nhật thông

tin về các đội hình của đơn vị Goal Các cơ sở sử dụng chức năng này để xem và quản lí

thêm, xóa, sửa đội hình của đơn vị

Pre- Conditions - Actor đăng nhập vào ứng dụng thành công

Post - Conditions N/A

3.3.5.2.2 Relationships

 Actor: Admin, Mod

Trang 33

Description Usecase này mô tả chức năng xem và cập nhật thông

tin về danh sách chiến sĩ của đơn vị Goal Các cơ sở sử dụng chức năng này để xem và quản lí

thêm, xóa, sửa danh sách chiến sĩ của đơn vị

Pre- Conditions - Actor đăng nhập vào ứng dụng thành công

Post - Conditions N/A

Name Xem, thêm, xóa sửa ban chỉ huy đơn vị

Description Usecase này mô tả chức năng xem và cập nhật thông

tin về ban chỉ huy đơn vị Goal Các cơ sở sử dụng chức năng này để xem và quản lí

thêm, xóa, sửa ban chỉ huy đơn vị

Pre- Conditions - Actor đăng nhập vào ứng dụng thành công

Post - Conditions N/A

Trang 34

11 Goal Người dùng chọn chức năng này để đăng các tin tức sự

kiện về chiến dịch

Pre- Conditions Actor đăng nhập vào ứng dụng thành công

Post - Conditions N/A

Bảng III 10 Usecase Báo cáo tình hình hoạt động hàng tuần

Name Báo cáo tình hình hoạt động hàng tuần

Description Usecase này mô tả chức năng báo cáo tình hình hoạt

động hàng tuần Goal Hàng tuần đơn vị chọn chức năng này để gửi báo cáo

tình hình hoạt động của đơn vị lên cấp trên

Pre- Conditions Actor đăng nhập vào ứng dụng thành công

Post - Conditions N/A

Hàng tuần các bộ phẩn quản chọn chức năng này để xem và kiểm soát báo cáo tình hình hoạt động của các đơn vị gửi lên

Pre- Conditions Actor đăng nhập vào ứng dụng thành công

Post - Conditions N/A

3.3.8.2 Relationships

 Actor: Admin, Admin 1, Admin 2

Trang 35

Description Usecase này mô tả chức năng xem và cập nhật thông

tin về các dự án Goal Actor sử dụng chức năng này để xem và quản lí thêm,

xóa, sửa danh sách các dự án

Pre- Conditions - Actor đăng nhập vào ứng dụng thành công

Post - Conditions N/A

Name Xem, thêm, xóa, sửa hạng mục của dự án

Description Usecase này mô tả chức năng xem và cập nhật thông

tin danh sách các hạng mục của dự án Goal Actor sử dụng chức năng này để xem và quản lí thêm,

xóa, sửa danh sách các hạng mục của dự án

Pre- Conditions - Actor đăng nhập vào ứng dụng thành công

Post - Conditions N/A

Name Xem, thêm, xóa, sửa đăng ký hạng mục

Trang 36

13 Description Usecase này mô tả chức năng xem và cập nhật thông

tin về đăng ký hạng mục Goal Actor sử dụng chức năng này để xem và quản lí thêm,

xóa, sửa thông tin về đăng ký hạng mục

Pre- Conditions - Actor đăng nhập vào ứng dụng thành công

Post - Conditions N/A

Bảng III 15 Usecase Xem, thêm, xóa, sửa nhu cầu dự án

Name Xem, thêm, xóa, sửa nhu cầu dự án

Description Usecase này mô tả chức năng xem và cập nhật thông

tin về nhu cầu của dự án Goal Actor sử dụng chức năng này để xem và quản lí thêm,

xóa, sửa thông tin về nhu cầu của dự án

Pre- Conditions - Actor đăng nhập vào ứng dụng thành công

Post - Conditions N/A

Name Xem, them, xóa, sửa Ban chỉ huy của dự án

Description Usecase này mô tả chức năng xem và cập nhật thông

tin về ban chỉ huy của dự án Goal Actor sử dụng chức năng này để xem và quản lí thêm,

xóa, sửa thông tin về ban chỉ huy của dự án

Pre- Conditions - Actor đăng nhập vào ứng dụng thành công

Post - Conditions N/A

Trang 37

14 3.3.9.5.2 Relationships

 Actor: Admin, Admin 1, Admin 2

Description Usecase này mô tả chức năng xem và cập nhật thông

tin các chương trình của chiến dịch Goal Actor sử dụng chức năng này để xem và quản lí thêm,

xóa, sửa thông tin các chương trình của chiến dịch

Pre- Conditions - Actor đăng nhập vào ứng dụng thành công

Post - Conditions N/A

Description Usecase này mô tả chức năng xem và cập nhật thông

tin về nhu cầu của chương trình Goal Actor sử dụng chức năng này để xem và quản lí thêm,

xóa, sửa thông tin về nhu cầu của chương trình

Pre- Conditions - Actor đăng nhập vào ứng dụng thành công

Post - Conditions N/A

Trang 38

15 Name Xem danh sách mặt trận theo chương trình

Description Usecase này mô tả chức năng xem danh sách mặt trận

theo chương trình Goal Actor sử dụng chức năng này để xem danh sách mặt

trận theo chương trình

Pre- Conditions - Actor đăng nhập vào ứng dụng thành công

Post - Conditions N/A

Description Usecase này mô tả chức năng xem và cập nhật thông

tin về Ban chỉ huy Chương trình Goal Actor sử dụng chức năng này để xem và quản lí thêm,

xóa, sửa thông tin về Ban chỉ huy Chương trình

Pre- Conditions - Actor đăng nhập vào ứng dụng thành công

Post - Conditions N/A

Description Usecase này mô tả chức năng xem và cập nhật thông

tin về các mặt trận Goal Actor sử dụng chức năng này để xem và quản lí thêm,

xóa, sửa thông tin về các mặt trận

Trang 39

16 Pre- Conditions - Actor đăng nhập vào ứng dụng thành công

Post - Conditions N/A

Name Xem, thêm, xóa, sửa chương trình của mặt trận

Description Usecase này mô tả chức năng xem và cập nhật thông

tin về các chương trình mặt trận đăng ký Goal Actor sử dụng chức năng này để xem và quản lí thêm,

xóa, sửa thông tin về các chương trình mặt trận đăng ký

Pre- Conditions - Actor đăng nhập vào ứng dụng thành công

Post - Conditions N/A

Description Usecase này mô tả chức năng xem và cập nhật thông

tin về nhu cầu chương trình của mặt trận Goal Actor sử dụng chức năng này để xem và quản lí thêm,

xóa, sửa thông tin về nhu cầu chương trình của mặt trận

Pre- Conditions - Actor đăng nhập vào ứng dụng thành công

Post - Conditions N/A

Trang 40

17 3.3.11.4.1 Use-Case Description Bảng III 24 Usecase Xem, thêm, xóa, sửa mặt trận tham gia

Name Xem, thêm, xóa, sửa đáp ứng mặt trận tham gia

Description Usecase này mô tả chức năng xem và cập nhật thông

tin về mặt trận tham gia Goal Actor sử dụng chức năng này để xem và quản lí thêm,

xóa, sửa thông tin về mặt trận tham gia

Pre- Conditions - Actor đăng nhập vào ứng dụng thành công

Post - Conditions N/A

3.3.11.4.2 Relationships

 Actor: Admin, Admin 1, Admin 2

 Include: Đăng nhập

 Extend: N/A

3.3.12 Quản lí tin tức sự kiện

3.3.12.1 Thêm, xóa, sửa tin tức sự kiện

3.3.12.1.1 Use-Case Description Bảng III 25 Usecase Thêm, xóa, sửa tin tức sự kiện Name Thêm, xóa, sửa tin tức sự kiện

Description Usecase này mô tả chức năng xem và cập nhật thông

tin về danh sách tin tức sự kiện Goal Các bộ phận quản lí thông tin sử dụng chức năng này

để quản lý tin tức sự kiện từ các cấp khác gửi lên

Pre- Conditions - Actor đăng nhập vào ứng dụng thành công

Post - Conditions N/A

3.3.12.1.2 Relationships

 Actor: Admin, Admin 1, Admin 2, Mod

 Include: Đăng nhập

 Extend: N/A

3.3.13 Quản lí tài khoản

3.3.13.1 Thêm, xóa, sửa danh sách tài khoản

3.3.13.1.1 Use-Case Description Bảng III 26 Usecase Thêm, xóa, sửa danh sách tài khoản

Name Thêm, xóa, sửa danh sách tài khoản

Ngày đăng: 05/04/2015, 16:41

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w