Đồ án Xây dựng ứng dụng quản lý giao việc - Nguyễn Tâm Phước
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Xây dựng ứng dụng quản lý giao việc - Nguyễn Tâm Phước", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- do_an_xay_dung_ung_dung_quan_ly_giao_viec_nguyen_tam_phuoc.pdf
Nội dung text: Đồ án Xây dựng ứng dụng quản lý giao việc - Nguyễn Tâm Phước
- Bé gi¸o dôc vµ ®µo t¹o TRƯỜNG ®¹i häc d©n lËp h¶i phßng o0o ®å ¸n tèt nghiÖp Ngµnh c«ng nghÖ th«ng tin H¶i Phßng 2015
- Bé gi¸o dôc vµ ®µo t¹o TRƯỜNG ®¹i häc d©n lËp h¶i phßng o0o X©y dùng øng dông qu¶n lý giao viÖc ®å ¸n tèt nghiÖp ®¹i häc hÖ chÝnh quy Ngµnh: C«ng nghÖ Th«ng tin H¶i Phßng - 2015
- Bé gi¸o dôc vµ ®µo t¹o TRƯỜNG ®¹i häc d©n lËp h¶i phßng o0o X©y dùng øng dông qu¶n lý giao viÖc ®å ¸n tèt nghiÖp ®¹i häc hÖ chÝnh quy Ngµnh: C«ng nghÖ Th«ng tin Sinh viªn thùc hiÖn: NguyÔn T©m Phước Gi¸o viªn hướng dÉn: Ths §ç V¨n ChiÓu M· sè sinh viªn: 1313101001
- bé gi¸o dôc vµ ®µo t¹o céng hoµ x· héi chñ nghÜa viÖt nam TRƯỜNG ®¹i häc d©n lËp h¶i phßng §éc lËp - Tù do - H¹nh phóc o0o nhiÖm vô thiÕt kÕ tèt nghiÖp Sinh viªn: NguyÔn T©m Phước M· sè: 1313101001 Líp: CTL701 Ngµnh: C«ng nghÖ Th«ng tin Tªn ®Ò tµi: X©y dùng øng dông qu¶n lý giao viÖc
- nhiÖm vô ®Ò tµi 1. Néi dung vµ c¸c yªu cÇu cÇn gi¶i quyÕt trong nhiÖm vô ®Ò tµi tèt nghiÖp a. Néi dung: T×m hiÓu quy tr×nh giao viÖc T×m hiÓu ®Æc trưng cña bµi to¸n qu¶n lý giao viÖc T×m hiÓu ng«n ng÷ lËp tr×nh PHP vµ hÖ qu¶n trÞ csdl MySQL Ph©n tÝch thiÕt kÕ hÖ thèng qu¶n lý giao viÖc, x©y dùng øng dông m« pháng b. C¸c yªu cÇu cÇn gi¶i quyÕt 2. C¸c sè liÖu cÇn thiÕt ®Ó thiÕt kÕ, tÝnh to¸n 3. §Þa ®iÓm thùc tËp
- c¸n bé h•íng dÉn ®Ò tµi tèt nghiÖp Ng•êi h•íng dÉn thø nhÊt: Hä vµ tªn: §ç V¨n ChiÓu Häc hµm, häc vÞ: Th¹c sÜ C¬ quan c«ng t¸c: khoa C«ng nghÖ th«ng tin, ®¹i häc d©n lËp H¶i Phßng Néi dung hướng dÉn: T×m hiÓu quy tr×nh giao viÖc T×m hiÓu ®Æc trưng cña bµi to¸n qu¶n lý giao viÖc T×m hiÓu ng«n ng÷ lËp tr×nh PHP vµ hÖ qu¶n trÞ csdl MySQL Ph©n tÝch thiÕt kÕ hÖ thèng qu¶n lý giao viÖc, x©y dùng øng dông m« pháng §Ò tµi tèt nghiÖp được giao ngµy 06 th¸ng 04 n¨m 2015 Yªu cÇu ph¶i hoµn thµnh trước ngµy 11 th¸ng 07 n¨m 2015 §· nhËn nhiÖm vô: §.T.T.N §· nhËn nhiÖm vô: §.T.T.N Sinh viªn C¸n bé hướng dÉn §.T.T.N H¶i Phßng, ngµy th¸ng n¨m 2015 HiÖu TRƯỞNG GS.TS.NG¦T TrÇn H÷u NghÞ
- Xây dựng ứng dụng quản lý giao việc PhÇn nhËn xÐt tãm t¾t cña c¸n bé h•íng dÉn 1. Tinh thÇn th¸i ®é cña sinh viªn trong qu¸ tr×nh lµm ®Ò tµi tèt nghiÖp: 2. §¸nh gi¸ chÊt lượng cña ®Ò tµi tèt nghiÖp (so víi néi dung yªu cÇu ®· ®Ò ra trong nhiÖm vô ®Ò tµi tèt nghiÖp) 3. Cho ®iÓm cña c¸n bé hướng dÉn: ( §iÓm ghi b»ng sè vµ ch÷ ) Ngµy th¸ng n¨m 2015 C¸n bé hướng dÉn chÝnh ( Ký, ghi râ hä tªn ) Sinh viên: Nguyễn Tâm Phước – CTL701
- Xây dựng ứng dụng quản lý giao việc PhÇn nhËn xÐt ®¸nh gi¸ cña c¸n bé chÊm ph¶n biÖn ®Ò tµi tèt nghiÖp 1. §¸nh gi¸ chÊt l•îng ®Ò tµi tèt nghiÖp (vÒ c¸c mÆt nh• c¬ së lý luËn, thuyÕt minh ch•¬ng tr×nh, gi¸ trÞ thùc tÕ, ) 2. Cho ®iÓm cña c¸n bé ph¶n biÖn ( §iÓm ghi b»ng sè vµ ch÷ ) Ngµy th¸ng n¨m 2015 C¸n bé chÊm ph¶n biÖn ( Ký, ghi râ hä tªn ) Sinh viên: Nguyễn Tâm Phước – CTL701
- Xây dựng ứng dụng quản lý giao việc MỤC LỤC LỜI CẢM ƠN 9 CHƢƠNG 1: GIỚI THIỆU Error! Bookmark not defined. 1.1 Vai trò của công nghệ thông tin. Error! Bookmark not defined. 1.2 Các mô hình phát triển Error! Bookmark not defined. 1.3 Tổng quan về Open Source. Error! Bookmark not defined. 1.4 Tổng quan về bài toán giao việc Error! Bookmark not defined. CHƢƠNG 2: TỔNG QUAN VỀ PHP/MYSQL, BOOTSTRAP Error! Bookmark not defined. 2.1 Tổng quan về PHP Error! Bookmark not defined. 2.1.1 Các lệnh cơ bản Error! Bookmark not defined. 2.1.2 Xuất giá trị ra trình duyệt Error! Bookmark not defined. 2.1.3 Biến, hằng, chuỗi và các kiểu dữ liệu Error! Bookmark not defined. 2.1.4 Các phƣơng thức đƣợc sử dụng trong lập trình PHP Error! Bookmark not defined. 2.1.5 Cookie và Session trong PHP Error! Bookmark not defined. 2.1.6 Hàm Error! Bookmark not defined. 2.2 Tổng quan về MySQL Error! Bookmark not defined. 2.2.1 Đặc điểm MySQL Error! Bookmark not defined. 2.2.2 Loại dữ liệu trong MySQL Error! Bookmark not defined. 2.2.3 Cú pháp cơ bản Error! Bookmark not defined. 2.3Tổng quan về Bootstrap. Error! Bookmark not defined. CHƢƠNG 3: BÀI TOÁN QUẢN LÝ GIAO VIÊC 1 3.1 Yêu cầu bài toán: 30 3.2 Biểu đồ ngữ cảnh 31 3.3 Phân hệ ngƣời dùng: 32 3.4 Biểu đồ phân rã chức năng 32 3.5 Ma trận thực thể chức năng 34 3.6 Sơ đồ luồng dữ liêu 36 3.6.1 Sơ đồ luồng dữ liệu mức 0 36 3.6.2 Sơ đồ luồng dữ liệu mức 1 tiến trình quàn lý công việc 37 3.6.3 Sơ đồ luồng dữ liệu mức 1 tiến thực hiện công việc 38 3.6.4 Sơ dồ luồng dữ liệu mức 1 tiến trình Quản trị ngƣời dùng 38 Sinh viên: Nguyễn Tâm Phước – CTL701
- Xây dựng ứng dụng quản lý giao việc 3.7 Xây dựng cơ sở dữ liệu 39 3.7.1 Thực thể NHÂN VIÊN: 39 3.7.2 Thực thể CÔNG VIỆC: 40 3.7.3 Thực thể PHÒNG BAN: 41 3.7.4 Thực thể PHẢN HỒI: 42 3.7.5 Thực thể NHẬT KÝ: 43 3.7.6 Thực thể File Đính Kèm 44 3.8 Mô hình E-R 45 3.8.1 Xác định liên kết 45 3.8.2 Mô hình E-R 47 3.9 Mô hình quan hệ 48 CHƢƠNG 4: THỰC NGHIỆM HỆ THỐNG 55 4.1 Yêu cầu cài đặt chƣơng trình. 55 4.2 Một số giao diện . 55 KẾT LUẬN 59 TÀI LIỆU THAM KHẢO 60 Sinh viên: Nguyễn Tâm Phước – CTL701
- Xây dựng ứng dụng quản lý giao việc LỜI CẢM ƠN Trước hết em xin bày tỏ tình cảm và lòng biết ơn đối với Ths Đỗ Văn Chiểu– Khoa Công nghệ thông tin – Trường Đại học Dân Lập Hải Phòng, người đã dànhcho em rất nhiều thời gian quý báu, trực tiếp hướng dẫn tận tình giúp đỡ, chỉ bảo emtrong suốt quá trình làm đồ án tốt nghiệp.Em xin chân thành cảm ơn tất cả các thầy cô giáo trong Khoa Công nghệthông tin – Trường ĐHDL Hải Phòng, các thầy, cô giáo tham gia giảng dạy và truyền đạt những kiến thức quý báutrong suốt thời gian em học tập tại trường, đã đọc và phản biện đồ án của em giúpem hiểu rõ hơn các vấn đề mình nghiên cứu, để em có thể hoàn thành đồ án này.Tuy có nhiều cố gắng trong quá trình học tập, trong thời gian thực tập cũngnhư trong quá trình làm đồ án không thể tránh khỏi những thiếu sót, em rất mongđược sự góp ý quý báu của tất cả các thầy, cô giáo cũng như tất cả các bạn để kếtquả của em được hoàn thiện hơn. Em xin chân thành cảm ơn ! Hải Phòng, ngày 03 tháng 07 năm 2015 Sinh viên Nguyễn Tâm Phước Sinh viên: Nguyễn Tâm Phước – CTL701
- Xây dựng ứng dụng quản lý giao việc CHƢƠNG 1: GIỚI THIỆU Chương này khái quá về Công nghệ thong tin, các mô hình phát triển của công nghệ thong tin và giới thiệu chung về bài toán giao việc 1.1 Vai trò của công nghệ thông tin. Chúng ta đang sống trong một thời đại mới, thời đại phát triển rực rỡ của CNTT. CNTT đã ở một bước phát triển cao đó là số hóa tất cả các dữ liệu thông tin, luân chuyển mạnh mẽ và kết nối tất cả chúng ta lại với nhau. Mọi loại thông tin, số liệu âm thanh, hình ảnh có thể được đưa về dạng kỹ thuật số để bất kỳ máy tính nào cũng có thể lưu trữ, xử lý và chuyển tiếp cho nhiều người. Những công cụ và sự kết nối của thời đại kỹ thuật số cho phép chúng ta dễ dàng thu thập, chia sẻ thông tin và hành động trên cơ sở những thông tin này theo phương thức hoàn toàn mới, kéo theo hàng loạt sự thay đổi về các quan niệm, các tập tục, các thói quen truyền thống, và thậm chí cả cách nhìn các giá trị trong cuộc sống. CNTT đến với từng người dân, từng người quản lý, nhà khoa học, người nông dân, bà nội trợ, học sinh tiểu học .Không có lĩnh vực nào, không có nơi nào không có mặt của CNTT. Công nghệ thông tin là một trong các động lực quan trọng nhất của sự phát triển ứng dụng và phát triển công nghệ thông tin ở nước ta nhằm góp phần giải phóng sức mạnh vật chất, trí tuệ và tinh thần của toàn dân tộc, thúc đẩy công cuộc đổi mới, phát triển nhanh và hiện đại hoá các ngành kinh tế, tăng cường năng lực cạnh tranh của các doanh nghiệp, hỗ trợ có hiệu quả cho quá trình hội nhập kinh tế quốc tế, nâng cao chất lượng cuộc sống của nhân dân, đảm bảo an ninh quốc phòng và tạo khả năng đi tắt đón đầu để thực hiện thắng lợi sự nghiệp CNH,HĐH. (CT số 58-CT/TW ngày 17- 10- 2000 của BCT khoá VIII). Tác động của CNTT đối với xã hội loài người vô cùng to lớn, nó không chỉ thúc đẩy nhanh quá trình tăng trưởng kinh tế, mà còn kéo theo sự biến đổi trong phương thức sáng tạo của cải, trong lối sống và tư duy của con người Trong nền kinh tế tri thức, các quy trình sản xuất đều được tự động hoá. Máy móc không chỉ thay thế con người những công việc nặng nhọc, mà thay thế con người ở những khâu phức tạp của sản xuất và quản lý, không chỉ thay thế thao tác lao động của con người mà cả thao tác tư duy. Trong nền kinh tế toàn cầu, với sự phát triển của internet, thương mại điện tử đang trở thành một lĩnh vực phát triển rất mạnh mẽ, nó thúc đẩy các ngành sản xuất dịch vụ trên phạm vi toàn thế giới, và đặc biệt quan trọng với các nước đang phát triển, nhất là đối với vùng xa xôi hẻo lánh, các nước và các vùng này có cơ hội tiếp cận thị trường quốc tế. Công nghệ thông tin là chiếc chìa khoá để mở cánh cổng vào nền kinh tế tri thức. Mạng thông tin là môi trường lý tưởng cho sự sáng tạo, là phương tiện quan trọng để quảng bá và nhân rộng nhanh vốn tri thức, động lực của sự phát triển, thúc đẩy phát triển dân chủ trong xã hội, phát triển năng lực của con người CNTT sẽ nhanh chóng thay đổi thế giới một cách mạnh mẽ, sự chuyển đổi này có vị thế trong lịch sử như một cuộc cách mạng kinh tế - xã hội và có ảnh hưởng to lớn đến đời sống con người. Đối với y tế, việc ứng dụng những tiến bộ của khoa học kỹ thuật và CNTT đã trở thành một hình thức phổ biến có tác dụng hỗ trợ kịp thời và thiết thực trong việc Sinh viên: Nguyễn Tâm Phước – CTL701 1
- Xây dựng ứng dụng quản lý giao việc chữa bệnh cho nhân dân. Ví dụ, hiện nay đã dùng công nghệ siêu âm 3D (ba chiều), hoặc các bác sĩ có thể hội chẩn từ xa (thậm chí từ nhiều nước khác nhau trên thế giới). Sử dụng CNTT để hỗ trợ về mặt kỹ thuật và phương pháp điều trị cho những vùng xa trung tâm y tế đã mang lại giá trị to lớn về mặt tinh thần cũng như vật chất cho nhân dân. Trong lĩnh vực Giáo dục, đào tạo việc ứng dụng CNTT đã góp phần nâng cao chất lượng dạy và học ở các cấp, các bậc học, mở rộng thêm nhiều loại hình đào tạo như đào tạo từ xa, phối hợp liên kết giữa các trường, các Quốc gia với nhau đang nhằm đưa chất lượng giáo dục của nước ta ngang bằng với các nước trong khu vực và trên thế giới. Chính phủ điện tử trên cơ sở điện tử hoá các hoạt động quản lý nhà nước đang hình thành và ngày càng trở nên phổ biến. Mạng thông tin lớn và mạnh có thể nối các cơ quan quản lý với đối tượng quản lý, giúp cho quá trình ra quyết định được thực hiện nhanh chóng, kịp thời và chính xác và tiết kiệm thông qua các hoạt động giao ban trực tuyến từ Trung ương đến cơ sở theo định kỳ hoặc khi có sự vụ đột biến xảy ra. Thương mại điện tử xuất hiện, khách hàng có thể tiếp xúc và tìm hiểu mọi thông tin về công ty dễ dàng ở bất cứ nơi nào, lúc nào. công ty sẽ nhận được phản hồi của khách hàng nhanh chóng về chiến lược tiếp thị hoặc danh mục hàng hoá của các doanh nghiệp để từ đó có những thay đổi về chiến lược kinh doanh cho phù hợp với thị hiếu của thị trường. An ninh quốc phòng cũng có những thay đổi cơ bản, công nghệ thông tin đã tạo ra những thế hệ vũ khí, phương tiện chiến tranh "thông minh", từ đó xuất hiện hình thái chiến tranh, phương thức tác chiến mới, làm thay đổi sâu sắc học thuyết quân sự của nhiều quốc gia. Sự phát triển của công nghệ thông tin đã làm thay đổi cơ bản cơ cấu kinh tế, phương thức tổ chức và sản xuất, cách tiếp cận của từng người tới tri thức, giải trí, phương pháp tư duy và giải quyết công việc và các mối quan hệ trong xã hội. Sáng tạo ra những giá trị mới và các việc làm mới, cuộc cách mạng này sẽ mang lại những thị trường mới và những nghề nghiệp mới với những đột phá công nghệ có tính thách thức đối với toàn thế giới. Hình 1.1.1 Vai trò của CNTT trong quản lý hệ thống điện Hơn nữa, chính bản thân công nghệ thông tin đã trực tiếp tạo ra sự biến đổi lớn lao trong tất cả các lĩnh vực của đời sống xã hội loài người. Chưa bao giờ quá trình dân chủ hoá lại được mở rộng và có nhiều điều kiện để thực hiện như bây giờ. CNTT đi vào cuộc sống sẽ lan toả đến mọi nơi, mọi lĩnh vực, máy tính sẽ có mặt ở khắp mọi nơi, việc kết nối mạng cũng trở nên dễ dàng và thuận tiện nhất cho tất cả mọi người dân. Bên cạnh đó, mặt trái của công nghệ thông tin, của nền kinh tế tri thức đang đặt ra Sinh viên: Nguyễn Tâm Phước – CTL701 2
- Xây dựng ứng dụng quản lý giao việc những thách thức rất lớn, đó là sự cách biệt giàu nghèo, sự phân hoá giữa một bên là các quốc gia, dân tộc biết nắm bắt và khai phá những nguồn lợi từ công nghệ thông tin, hạn chế những mặt tiêu cực mà nó đưa lại với các quốc gia dân tộc không có hoặc chưa phát triển những công nghệ đó. Vì vậy với sự phát triển như vũ bão của công nghệ thông tin hiện nay, quốc gia nào, dân tộc nào nhanh chóng nắm bắt và làm chủ được công nghệ thông tin thì sẽ khai thác được nhiều hơn, nhanh hơn lợi thế của mình. Và cũng chính từ đây nảy sinh một thách thức rất lớn đối với các nước đang phát triển như nước ta đó là làm thế nào để phát huy được thế mạnh của CNTT thúc đẩy sự phát triển của xã hội mà không mất đi văn hoá truyền thống quý báu của dân tộc. Sự nghiệp CNH,HĐH ở nước ta hiện nay tất yếu phải khai thác được những tiềm năng thế mạnh của công nghệ thông tin, thúc đẩy những ứng dụng và phát triển công nghệ thông tin, coi đó là một điều kiện cần thiết để đạt được những mục tiêu của giai đoạn đẩy mạnh CNH,HĐH đất nước. Nhận thức rõ vai trò của CNTT trong việc góp phần nâng cao hiệu quả công tác, cải cách hành chính, đổi mới phương thức, lề lối làm việc. Trong những năm qua Trường Chính trị Nghệ An đã tập trung chỉ đạo và triển khai đầu tư ứng dụng nhiều loại hình CNTT và bước đầu đạt được những thành quả đáng ghi nhận. Cụ thể nhà trường hiện có trên 30 máy vi tính được kết nối mạng LAN, khu vực nhà làm việc chính được lắp đặt hệ thống phát sóng internet không dây, lắp đặt được 7 máy chiếu (Projector) tại các phòng học . Mọi hoạt động của nhà trường được đưa lên địa chỉ Webside để cán bộ, giảng viên, học viên, các trung tâm chính trị huyện và những người quan tâm đến hoạt động của nhà trường cập nhật một cách nhanh chóng, tiết kiệm. Trang thông tin điện tử “Truongchinhtrina,gov.vn” vẫn luôn là địa chỉ tin cậy ngày càng có nhiều người cập nhật. Đặc biệt nhà trường vừa hoàn thành dựng Dự án khoa học công nghệ cấp tỉnh “Hỗ trợ xây dựng mô hình văn phòng di động (M- Office) tại trường Chính trị Nghệ An”. Văn phòng di động tuy mới bước đầu đưa vào ứng dụng nhưng nó đã thể hiện được tính hữu ích trong việc ứng dụng công nghệ thông tin vào triển khai thực hiện nhiệm vụ và đã góp phần nâng cao chất lượng quản lý, điều hành và giải quyết mọi công việc của nhà trường nhanh chóng, khoa học và hiệu quả hơn. Tin rằng trong thời gian tới đây sẽ là một mô hình được nhân rộng tại nhiều cơ quan đơn vị 1.2 Các mô hình phát triển. Mô hình máy Đơn Mô hình máy đơn là mô hình phần mềm chỉ chạy duy nhất trên 1 máy. vd như Ccleaner, Microsoft Office, Các phần mềm máy đơn chỉ có duy nhất một phiên bản chạy trên máy nó được cài đặt. Mô hình này chỉ thích hợp cho các mềm hoat động mà không cần giao tiếp với máy tính khác. Mô hình Client-Server Sinh viên: Nguyễn Tâm Phước – CTL701 3
- Xây dựng ứng dụng quản lý giao việc Hình 1.2.1Mô hình Client-Server Thuật ngữ server được dùng cho những chương trình thi hành như một dịch vụ trên toàn mạng. Các chương trình server này chấp nhận tất cả các yêu cầu hợp lệ đến từ mọi nơi trên mạng, sau đó nó thi hành dịch vụ và trả kết quả về máy yêu cầu. Một chương trình được coi là client khi nó gửi các yêu cầu tới máy có chương trình server và chờ đợi câu trả lời từ server. Chương trình server và client nói chuyện với nhau bằng các thông điệp (messages) thông qua một cổng truyền thông liên tác IPC (Interprocess Communication). Để một chương trình server và một chương trình client có thể giao tiếp được với nhau thì giữa chúng phải có một chuẩn để nói chuyện, chuẩn này được gọi là giao thức. Nếu một chương trình client nào đó muốn yêu cầu lấy thông tin từ server thì nó phải tuân theo giao thức mà server đó đưa ra. Bản thân chúng ta khi cần xây dựng một mô hình client/server cụ thể thì ta cũng có thể tự tạo ra một giao thức riêng nhưng thường chúng ta chỉ làm được điều này ở tầng ứng dụng của mạng. Với sự phát triển mạng như hiện này thì có rất nhiều giao thức chuẩn trên mạng ra đời nhằm đáp ứng nhu cầu phát triển này. Các giao thức chuẩn (ở tầng mạng và vận chuyển) được sử dụng rộng rãi nhất hiện nay như: giao thức TCP/IP, giao thức SNA của IBM, OSI, ISDN, X.25 hoặc giao thức LAN-to-LAN NetBIOS. Một máy tính chứa chương trình server được coi là một máy chủ hay máy phục vụ (server) và máy chứa chương trình client được coi là máy tớ (client). Mô hình mạng trên đó có các máy chủ và máy tớ giao tiếp với nhau theo 1 hoặc nhiều dịch vụ được gọi là mô hình client/server. Thực tế thì mô hình client/server là sự mở rộng tự nhiên và tiện lợi cho việc truyền thông liên tiến trình trên các máy tính cá nhân. Mô hình này cho phép xây dựng các chương trình client/server một cách dễ dàng và sử dụng chúng để liên tác với nhau để đạt hiệu quả hơn. Mô hình Web-Base: Mô hình Web-Base là một dạng đặc biệt của mô hình Client-Server. Trong mô hình Web-Base, các client là các trình duyệt Web. Công nghệ dựa trên nền tảng Web (Web-based technology) là một thuật ngữ dùng để chỉ những ứng dụng hay phần mềm Sinh viên: Nguyễn Tâm Phước – CTL701 4
- Xây dựng ứng dụng quản lý giao việc được sử dụng dựa trên nền tảng web. Tức là những ứng dụng hay phần mềm có thể truy cập thông qua trình duyệt trên hệ thống mạng như internet hay intranet. Những ứng dụng web được xây dựng thông qua những ngôn ngữ mà các trình duyệt hỗ trợ như HTML, JavaScript Những ứng dụng dựa trên nền tảng web ngày càng trở lên rất phổ biến vì những ưu điểm vượt trội của nó, mà đặc biệt là ưu điểm to lớn đối với người sử dụng (hay người sử dụng cuối cùng) trên các máy trạm (clients).một cái máy tính lớn đặt ở đâu đó, có nhiệm vụ sinh ra những trang web cho chúng ta truy cập. Hình 1.2.2 Mô hình Web-Server Ưu điểm đối với phần máy trạm ở chỗ sử dụng những ứng dụng (application) hay phần mềm (chẳng hạn gmail, những điểm bán lẻ, ) mà không cần phải cài đặt chương trình gì mà chỉ cần chạy thông qua web. Với việc sử dụng trình duyệt (Browser) thì người dùng có thể sử dụng máy tính tại bất kỳ đâu có kết nối internet với đường truyền tốt đều có thể làm việc với máy chủ (server) từ rất xa. Bên cạnh những ưu điểm vượt trội về máy trạm, những ứng dụng web còn rất nhiều ưu điểm khác như: Tự động update chương trình thông qua việc update tại máy chủ, việc dùng trình duyệt làm việc có thể kết hợp với các ứng dụng web khác như mail, tìm kiếm. Người sử dụng có thể chạy chương trình trên mọi hệ điều hành như Windows, Linux, Mac bởi chúng ta chỉ cần có mỗi trình duyệt để làm việc. Ngoài ra, máy tính của chúng ta cũng ko cần đòi hỏi quá cao về cấu hình, đĩa trống Khi một client gửi một yêu cầu lên server nó sẽ đi qua một cái cổng nào đó để vào được bên trong cái server đó, mặc định thì với ứng dụng web là cổng 80. Ở trong cái server đó sẽ có một cái web server luôn luôn chờ chực sẳn ở cái cổng 80 đó (các "web server" đang nói đến đây như là Apache, IIS, ), khi có một yêu cầu đến nó sẽ nhận ra, các yêu cầu ở client ngoài trang php còn có yêu cầu lấy hình ảnh, yêu cầu lấy css, javascript, Với những yêu cầu lấy tài nguyên vật lý thì nó xem xem ở trên cái server Sinh viên: Nguyễn Tâm Phước – CTL701 5
- Xây dựng ứng dụng quản lý giao việc này, với cái đường dẫn này có những tài nguyên đó không nếu có thì nó sẽ gửi về, khiđó trình duyệt sẽ nhận và hiển thị ra. Word Wide Web, gọi tắt là Web hoặc WWW, là một không gian thông tin toàn cầu mà mọi người có thể truy nhập (đọc và viết) qua các máy tính nối với mạng Internet. Thuật ngữ này thường bị hiểu nhầm là từ đồng nghĩa với chính thuật ngữ Internet. Nhưng Web thực ra chỉ là một trong các dịch vụ chạy trên Internet, chẳng hạn như dịch vụ thư điện tử. Web được phát minh và đưa vào sử dụng vào khoảng năm 1990, 1991 bởi viện sĩ Viện Hàn lâm Anh Tim Berners- Lee và Robert Cailliau (Bỉ) tại CERN, Geneva, Switzerland. Các tài liệu trên World Wide Web được lưu trữ trong một hệ thống siêu văn bản (hypertext), đặt tại các máy tính trong mạng Internet. Người dùng phải sử dụng một chương trình được gọi là trình duyệt web (web browser) để xem siêu văn bản. Chương trình này sẽ nhận thông tin (documents) tại ô địa chỉ (address) do người sử dụng yêu cầu (thông tin trong ô địa chỉ được gọi là tên miền (domain name), rồi sau đó chương trình sẽ tự động gửi thông tin đến máy chủ (web server) và hiển thị trên màn hình máy tính của người xem. Người dùng có thể theo các liên kết siêu văn bản (hyperlink) trên mỗi trang web để nối với các tài liệu khác hoặc gửi thông tin phản hồi theo máy chủ trong một quá trình tương tác. Hoạt động truy tìm theo các siêu liên kết thường được gọi là duyệt Web. 1.3 Tổng quan về Open Source. Open Source: phần mềm có mã nguồn mở Free software: phần mềm miễn phí, đôi khi free software được dùng với ý nghĩa bao gồm cả open-source software và free software Phần mềm nguồn mở (PMNM) là những phần mềm được cung cấp dưới cả dạng mã và nguồn, không chỉ là miễn phí về giá mua mà chủ yếu là miễn phí về bản quyền: người dùng có quyền sửa đổi, cải tiến, phát triển, nâng cấp theo một số nguyên tắc chung qui định trong giấy phép PMNM (ví dụ General Public Licence – GPL) mà không cần xin phép ai, điều mà họ không được phép làm đối với các phần mềm nguồn đóng (tức là phần mềm thương mại) Nhìn chung, thuật ngữ “Open source” được dùng để lôi cuốn các nhà kinh doanh, một điều thuận lợi chính là sự miễn phí và cho phép người dùng có quyền “sở hữu hệ thống”. Nhà cung cấp phần mềm nguồn mở có quyền yêu cầu người dùng trả một số chi phí về các dịch vụ bảo hành, huấn luyện, nâng cấp, tư vấn, vv tức là những dịch vụ thực sự đã thực hiện để phục vụ người dùng, nhưng không được bán các sản phẩm Sinh viên: Nguyễn Tâm Phước – CTL701 6
- Xây dựng ứng dụng quản lý giao việc nguồn mở vì nó là tài sản của trí tuệ chung, không phải là tài sản riêng của một nhà cung cấp nào. Tiện ích mà Open Source mang lại chính là quyền tự do sử dụng chương trình cho mọi mục đích, quyền tự do để nghiên cứu cấu trúc của chương trình, chỉnh sữa phù hợp với nhu cầu, truy cập vào mã nguồn, quyền tự do phân phối lại các phiên bản cho nhiều người, quyền tự do cải tiến chương trình và phát hành những bản cải tiến vì mục đích công cộng. Phần mềm có thể được sao chép hoàn toàn miễn phí, bạn hoàn toàn an tâm khi chia sẽ một chương trình tuyệt vời với bạn bè. Các định dạng file không hoàn toàn bị kiểm soát bởi một vài nhà cung cấp. Điều gì sẽ xảy ra khi dữ liệu nằm trong một phần mềm độc quyền? Việc sử dụng một định dạng file bí ẩn sẽ khiến bạn chỉ dùng chương trình của một công ty. Do yêu cầu công việc, bạn muốn sử dụng dữ liệu trên cho một ứng dụng khác nhưng ương trình bản quyền không cho phép ! Còn nếu như nhà cung cấp chấm dứt hổ trợ và ngưng việc nâng cấp sản phẩm, chắc chắn rằng dữ liệu của bạn sẽ phải vứt xó. Với phần mềm bản quyền, chỉ có duy nhất nhà cung cấp có thể giải quyết vấn đề của bạn. Nhưng! với OpenSource bạn có thể gặp hàng tá nhà cung cấp làm vừa lòng mình. Hầu hết các sản phẩm Open Source đều có khả năng bảo mật tuyệt vời, khi một vết nứt được tìm thấy, nó thường được trám nhanh hơn phần mềm có bản quyền. Các hệ thống Open Source, nhất là các hệ thống dựa trên UNIX, thường linh hoạt đến khó tin nổi. Bởi vì chúng được xây dựng từ nhiều khối thống nhất và được miêu tả cặn kẽ, rất dễ để bạn thay thế nhiều phần của hệ thống với phần có giao diện tương tự. Có một cộng đồng hỗ trợ lớn. Không bị phụ thuộc vào một công ty nào. Open source đã được chấp nhận trong các công ty lớn. Nhiều hợp đồng lớn đã chấp nhận phần mềm Open Source, chẳng hạn như tại IBM, Oracle và Sun. Thậm chí Microsoft đã phải lưu tâm đến Open Source như đối thủ to lớn. Sinh viên: Nguyễn Tâm Phước – CTL701 7
- Xây dựng ứng dụng quản lý giao việc Với Open Source, việc phân phối và phát triển là một phương pháp lâu dài để tạo ra phần mềm, người mua được cung cấp cả giải pháp phần mềm lẫn những dòng mã có giấy phép Open Source. Hơn nữa, các doanh nghiệp vừa và nhỏ cũng sẽ ưa chuộng phần mềm Open Source hơn. Hiện nay đã có một số tổ chức dự định sử dụng Open Source để xây dựng nhân tố cốt lõi của hệ thống-từ hệ điều hành, cơ sở dữ liệu, ứng dụng và Web server đến các hệ thống quản trị nội dung và nhiều phần mềm kinh doanh thông minh. Mặc dù con đường để free software khẳng định vị trí vẫn còn dài, nhưng đáng chú ý là Open Source đã giành được khoảng 70% thị trường ứng dụng Web, và dường như con số này vẫn tiếp tục tăng lên hàng năm. Bằng cách này, cả công ty lẫn khách hàng đều có lợi. Về phía khách hàng, họ được dùng phần mềm chất lượng tốt, hỗ trợ khách hàng đầy đủ với giá rẻ. Về phía nhà cung cấp, dựa trên Open Source, tiết kiệm đáng kể các chi phí về phát triển, kiểm lỗi, quản lý dự án. Đồng thời, nhân lực của họ lại nhanh chóng nâng cao trình độ, giảm bớt thời gian làm việc “chân tay” khi tiếp nhận source code có “giá trị” và “chất lượng” từ những Open Source được xây dựng chuyên nghiệp, cấu trúc phần mềm, lập trình, tốt ngay từ đầu. Trên thị trường phần mềm, có nhiều loại giấy phép. Có thể chia các giấy phép này đại khái như sau ▪ Phần mềm thƣơng mại (Commercial Software) Là phần mềm thuộc bản quyền của tác giả hoặc nhà sản xuất, chỉ được cung cấp ở dạng mã nhị phân, người dùng phải mua và không có quyền phân phối lại. ▪ Phần mềm thử nghiệm giới hạn (Limited Trial Software) Là những phiên bản giới hạn của các phần mềm thương mại được cung cấp miễn phí nhằm mục đích thử nghiệm, giới thiệu sản phẩm và kích thích người dùng quyết định mua. Loại sản phấm này không chỉ giới hạn về tính năng mà còn giới hạn về thời gian dùng thử (thường là 60 ngày). ▪ Phần mềm “chia sẻ” (Shareware) Sinh viên: Nguyễn Tâm Phước – CTL701 8
- Xây dựng ứng dụng quản lý giao việc Loại phần mềm này có đủ các tính năng và được phân phối tự do, nhưng có một giấy phép khuyến cáo các cá nhân hoặc tổ chức mua, tùy tình hình cụ thể. Nhiều tiện ích Internet (như “WinZip” dùng các thuận lợi của Shareware như một hệ thống phân phối). ▪ Phần mềm sử dụng phi thƣơng mại (Non-commercial Use) Loại phần mềm này được sử dụng tự do và có thể phân phối lại bởi các tổ chức phi lợi nhuận. Nhưng các tổ chức kinh tế, thí dụ các doanh nghiệp, muốn dùng phải mua. Netscape Navigator là một thí dụ của loại phần mềm này. ▪ Phần mềm không phải trả phần trăm cho nhà sản xuất (Royalties Free Binaries Software) Phần mềm được cung cấp dưới dạng nhị phân và được dùng tự do. Thí dụ: bản nhị phân của các phần mềm Internet Explorer và NetMeeting. ▪ Thƣ viện phần mềm không phải trả phần trăm (Royalties Free Software Libraries) Là những phần mềm mà mã nhị phân cũng như mã nguồn được dùng và phân phối tự do, nhưng người dùng không được phép sửa đổi. Thí dụ: các thư viện lớp học, các tệp “header”, vv ▪ Phần mềm mã nguồn mở kiểu BSD – (Open Source BSD-style) Một nhóm nhỏ khép kín (closed team) đã phát triển các PMNM theo giấy phép phân phối Berkely (BSD – Berkely Software Distribution) cho phép sử dụng và phân phối lại các phần mềm này dưới dạng mã nhị phân và mã nguồn. Tuy người dùng có quyền sửa đổi mã, nhưng về nguyên tắc nhóm phát triển không cho phép người dùng tự do lấy mã nguồn từ kho mã ra sửa (gọi là check-out) và đưa mã đã sửa vào lại kho mã mà không được họ kiểm tra trước (gọi là các “check-in”). ▪ PMNM kiểu Apache (Open Source Apache-style) Chấp nhận nguồn mở kiểu BSD nhưng cho phép những người ngoài nhóm phát triển xâm nhập vào lõi của mã nền (core codebase), tức là được phép thực hiện các “check-in”. Sinh viên: Nguyễn Tâm Phước – CTL701 9
- Xây dựng ứng dụng quản lý giao việc ▪ PMNM kiểu CopyLeft hay kiểu Linux (Open Source CopyLeft, Linux- style) PMNM kiểu CopyLeft (trò chơi chữ của Free Software Foundation – FSF – và GNU – Gnu‟s Not Unix, để đối nghịch hoàn toàn với CopyRight !) hay còn gọi là giấy phép GPL (General Public Licence) là một bước tiến quan trọng theo hướng tự do hóa của các giấy phép phần mềm. Giấy phép GPL yêu cầu không những mã nguồn gốc phải được phân phối theo các qui định của GPL mà mọi sản phẩm dẫn xuất cũng phải tuân thủ GPL. GPL cho người dùng tối đa quyền hạn và tự do đối với các PMNM theo GPL, cụ thể người dùng có quyền không những sao chép, sửa đổi, mua bán các PMNM dưới CopyLeft mà còn được quyền tự do như vậy đối với các phần mềm dẫn xuất. Tóm lại nếu PMNM gốc đã theo CopyLeft thì mọi PMNM dẫn xuất của nó cũng đương nhiên theo CopyLeft. 1.4 Bài toán quản lý giao việc. Hiện nay trong các doanh nghiệp, các cơ quan tổ chức, có nhiều phương án truyền thống khác nhau để phân chia công việc như Skyper, Email, qua điện thoại, Các phương án này có ưu điểm là nhanh, tiện lợi, nhưng đồng thời khi số lượng công việc trở nên quá nhiều, các lãnh đạo không thể nhớ hết được mình đã giao việc gì, cho ai hay các nhân viên không nhớ được hết là mình đã được giao phó công việc gì, công việc được thực hiện ra sao Trước các vấn đề trên, nhu cầu về việc cần có hệ thống quản lý các công việc được giao, hay theo dõi công việc đối với lãnh đạo và báo cáo tiến độ, gửi phản hồi của công việc đó đối với nhân viên trở nên cần thiết. Sinh viên: Nguyễn Tâm Phước – CTL701 10
- Xây dựng ứng dụng quản lý giao việc CHƢƠNG 2: TỔNG QUAN VỀ PHP/MYSQL, BOOTSTRAP PHPlà một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. MySQL là hệ quản trị dữ liệu miễn phí, được tích hợp sử dụng chung với apache, PHP. Chính yếu tố phát triển trong cộng đồng mã nguồn mở nên mysql đã qua rất nhiều sự hỗ trợ của những lập trình viên yêu thích mã nguồn mở.Bootstrap là Front- end framework, là một bộ sưu tập miễn phí các công cụ để tạo ra các trang web và các ứng dụng web. Nó chứa HTML và CSS dựa trên các mẫu thiết kế cho kiểu chữ, hình thức, các nút, chuyển hướng và các thành phần giao diện khác, cũng như mở rộng JavaScript tùy chọn. Trong chương này đồ án sẽ trình bày tổng quan về PHP, MySQL và Bootstrap 2.1 Tổng quan về PHP PHP (Hypertext Preprocessor) là một ngôn ngữ kịch bản máy chủ được thiết kế bởi Rasmus Lerdorf - một công cụ mạnh mẽ để tạo nên các trang thiết kế web động và tương tác. Đây là ngôn ngữ kịch bản đơn giản, nhanh chóng, linh hoạt và được sử dụng rộng rãi và phổ biến nhất cho tất cả mọi thứ, từ blog đến trang web động. Không giống như javascript chạy ở client, PHP được sử dụng để chạy phía server. Để có thể hình dung nó là cái gì một cách dễ nhất, chúng ta có thể so sánh với PHP với một bộ phận trong một nhà máy sản xuất và html chính là sản phẩm. Để làm ra một chiếc giày, chúng ta có thể tự tay mình làm nên, nhưng để làm hàng loạt những chiếc giày chúng ta cần một cái máy, cũng giống như vậy, để làm nên "một" trang web chúng ta có thể viết một trang mã html, nhưng để có thể sinh ra nhiều trang html chúng ta cần PHP (tất nhiên còn nhiều thứ khác nữa). PHP đã trải qua rất nhiều phiên bản và được tối ưu hóa cho các ứng dụng web, với mã viết sáng sủa, tốc độ nhanh, dễ học nên nó đã trở thành một ngôn ngữ viết web rất phổ biến và được ưa chuộng. Sinh viên: Nguyễn Tâm Phước – CTL701 11
- Xây dựng ứng dụng quản lý giao việc Hình 2.1.1Giao diện cơ bản trang chủ php.net Ƣu điểm của PHP - Cộng đồng lớn người dùng và các nhà phát triển, các tài liệu thiết kế web phong phú. - Phần mềm miễn phí được lưu hành theo quy định của PHP - Dễ học - Cung cấp số lượng lớn các extension và mã nguồn có sẵn. - Cho phép thực thi mã trong môi trường hạn chế. - Cung cấp hỗ trợ cơ sở dữ liệu mở rộng. - Hoạt động trên hầu hết các hệ điều hành và nền tảng. - Cung cấp quản lý phiên bản native và API mở rộng. - Có thể được triển khai trên hầu hết các máy chủ web. Ai sử dụng PHP? - Google - Zend - W3C - Yahoo - NASA - Facebook Mức độ phổ biến Sinh viên: Nguyễn Tâm Phước – CTL701 12
- Xây dựng ứng dụng quản lý giao việc Theo Wikipedia , vào tháng Giêng năm 2013, PHP đã được xây dựng trên hơn 240 triệu trang web và 2,1 triệu máy chủ web. Cú pháp Một kịch bản PHP bắt đầu với Các phần mở rộng mặc định cho các file PHP là ".php". Một file PHP thông thường có chứa các thẻ HTML, và một số mã kịch bản PHP. 1 Lịch sử phát triển PHP Được phát triển từ một sản phẩm có tên là PHP/FI. PHP/FI do Rasmus Lerdorf tạo ra năm 1995, ban đầu được xem như là một tập con đơn giản của các mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên mạng. Ông đã đặt tên cho bộ mã kịch bản này là 'Personal Home Page Tools'. PHP 3 PHP 3.0 là phiên bản đầu tiên cho thấy một hình ảnh gần gũi với các phiên bản PHP mà chúng ta được biết ngày nay. Nó đã được Andi Gutmans và Zeev Suraski tạo ra năm 1997 sau khi viết lại hoàn toàn bộ mã nguồn trước đó. PHP 3.0 đã chính thức được công bố vào tháng 6 năm 1998, sau thời gian 9 tháng được cộng đồng kiểm nghiệm. PHP 4 Vào mùa đông năm 1998, ngay sau khi PHP 3.0 chính thức được công bố, Andi Gutmans và Zeev Suraski đã bắt đầu bắt tay vào việc viết lại phần lõi của PHP. Một cơ chế xử lý mới, có tên 'Zend Engine' (ghép từ các chữ đầu trong tên của Zeev và Andi), đã đáp ứng được các nhu cầu thiết kế này một cách thành công, và lần đầu tiên được giới thiệu vào giữa năm 1999. PHP 4.0, dựa trên cơ chế xử lý này, và đi kèm với hàng loạt các tính năng mới bổ sung, đã chính thức được công bố vào tháng 5 năm 2000, gần 2 năm sau khi bản PHP 3.0 ra đời. PHP 5 Sinh viên: Nguyễn Tâm Phước – CTL701 13
- Xây dựng ứng dụng quản lý giao việc Sự thành công hết sức to lớn của PHP 4.0 đã không làm cho nhóm phát triển PHP tự mãn. Cộng đồng PHP đã nhanh chóng giúp họ nhận ra những yếu kém của PHP 4 đặc biệt với khả năng hỗ trợ lập trình hướng đối tượng (OOP), xử lý XML, không hỗ trợ giao thức máy khách mới của MySQL 4.1 và 5.0, hỗ trợ dịch vụ web yếu. Những điểm này chính là mục đích để Zeev và Andi viết Zend Engine 2.0, lõi của PHP 5.0. Ngày 29 tháng 6 năm 2003, PHP 5 Beta 1 đã chính thức được công bố để cộng đồng kiểm nghiệm. Đó cũng là phiên bản đầu tiên của Zend Engine 2.0. Phiên bản Beta 2 sau đó đã ra mắt vào tháng 10 năm 2003 với sự xuất hiện của hai tính năng rất được chờ đợi: Iterators, Reflection nhưng namespaces một tính năng gây tranh cãi khác đã bị loại khỏi mã nguồn. Ngày 21 tháng 12 năm 2003: PHP 5 Beta 3 đã được công bố để kiểm tra, bỏ hỗ trợ Windows 95, khả năng gọi các hàm PHP bên trong XSLT, sửa chữa nhiều lỗi và thêm khá nhiều hàm mới. PHP 5 bản chính thức đã ra mắt ngày 13 tháng 7 năm 2004 sau một chuỗi khá dài các bản kiểm tra thử bao gồm Beta 4, RC 1, RC2, RC3. Mặc dù coi đây là phiên bản sản xuất đầu tiên nhưng PHP 5.0 vẫn còn một số lỗi trong đó đáng kể là lỗi xác thực HTTP. 2.1.1. Các lệnh cơ bản PHP cũng có thẻ bắt đầu và kết thúc giống với ngôn ngữ HTML. Chỉ khác, đối với PHP chúng có nhiều cách để thể hiện. Cách 1: Cú pháp chính: Cách 2: Cú pháp ngắn gọn Cách 3: Cú pháp giống với ASP. Cách 4: Cú pháp bắt đầu bằng script Sinh viên: Nguyễn Tâm Phước – CTL701 14
- Xây dựng ứng dụng quản lý giao việc Mặc dù có 4 cách thể hiện. Nhưng đối với 1 lập trình viên có kinh nghiệm thì việc sử dụng cách 1 vẫn là lựa chọn tối ưu. Trong PHP để kết thúc 1 dòng lệnh sử dụng dấu ";" Để chú thích 1 đoạn dữ liệu nào đó trong PHP ta sử dụng dấu "//" cho từng dòng, hoặc dùng cặp thẻ "/* */" cho từng cụm mã lệnh. Ví dụ: 2.1.2. Xuất giá trị ra trình duyệt Để xuất dữ liệu ra trình duyệt, có những dòng cú pháp sau: + echo "Thông tin"; + printf "Thông tin"; Thông tin bao gồm: biến, chuỗi, hoặc lệnh HTML . Hình 2.1.3 Xuất ra thông tin trình duyệt Nếu giữa hai chuỗi muốn liên kết với nhau ta sử dụng dấu "." Hình 2.1.4 Liên kết chuỗi 2.1.3. Biến, hằng, chuỗi và các kiểu dữ liệu Biến Sinh viên: Nguyễn Tâm Phước – CTL701 15
- Xây dựng ứng dụng quản lý giao việc Biến được xem là vùng nhớ dữ liệu tạm thời. Và giá trị có thể thay đổi được. 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. Một biến được xem là hợp lệ khi nó thỏa các yếu tố: + Tên của biến phải bắt đầu bằng dấu gạch dưới và theo sau là các ký tự, số hay dấu gạch dưới. + Tên của biến không được phép trùng với các từ khóa của PHP. Trong PHP khi sử dụng 1 biến thì phải khai báo trước, tuy nhiên đối với các lập trình viên khi sử dụng họ thường xử lý cùng một lúc các công việc, nghĩa là vừa khai báo vừa gán dữ liệu cho biến. Bản thân biến cũng có thể gán cho các kiểu dữ liệu khác. Và tùy theo ý định của người lập trình mong muốn trên chúng. Hình 2.1.5 Biến trong PHP Hằng Nếu biến là cái có thể thay đổi được thì ngược lại hằng là cái chúng ta không thể thay đổi được. Hằng trong PHP được định nghĩa bởi hàm define theo cú pháp: define (string tê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 Sinh viên: Nguyễn Tâm Phước – CTL701 16
- Xây dựng ứng dụng quản lý giao việc Hinh 2.1.6 Hằng trong PHP Chuỗi Chuỗi là một nhóm các kỹ tự, số, khoảng trắng, dấu ngắt được đặt trong các dấu nháy. Ví dụ: „Hello‟ Để tạo 1 biễn chuỗi, chúng ta phải gán giá trị chuỗi cho 1 biến hợp lệ. Ví dụ: $fisrt_name= "Nguyen"; $last_name= „Van A‟; Để liên kết 1 chuỗi và 1 biến chúng ta thường sử dụng dấu "." Hình 2.2.2 Chuỗi trong PHP Kiểu dữ liệu Các kiểu dữ liệu khác nhau chiếm các lượng bộ nhớ khác nhau và có thể được xử lý theo cách khác nhau khi chúng được theo tác trong 1 script. Trong PHP chúng ta có 6 kiểu dữ liệu chính như sau: Sinh viên: Nguyễn Tâm Phước – CTL701 17
- Xây dựng ứng dụng quản lý giao việc Hình 2.1.8 Kiểu dữ liệu trong PHP Chúng ta có thể sử dụng hàm dựng sẵn GETTYPE() của PHP4 để kiểm tra kiểu của bất kỳ biến. Hình 2.1.9 Hàm GETTYPE 2.1.4. Các phƣơng thức đƣợc sử dụng trong lập trình PHP Có 2 phương thức được sử dụng trong lập trình PHP là GET và POST Phương thức GET Phương thức này cũng được dùng để lấy dữ liệu từ form nhập liệu. Tuy nhiên nhiệm vụ chính của nó vẫn là lấy nội dung trang dữ liệu từ Webserver. Ví dụ: Với url sau: shownews.php?id=50. Vậy với trang shownews ta dùng hàm $_GET[“id‟ ] sẽ được giá trị là 50. Phương thức POST Sinh viên: Nguyễn Tâm Phước – CTL701 18
- Xây dựng ứng dụng quản lý giao việc Phương thức này được sử dụng để lấy dữ liệu từ form nhập liệu. Và chuyển chúng lên trình chủ Webserver. Hình 2.1.10 Phương thức POST 2.1.5. Cookie và Session trong PHP Cookie và Session là hai phương pháp sử dụng để quản lý các phiên làm việc giữa người sử dụng và hệ thống Cookie Cookie là 1 đoạn dữ liệu được ghi vào đĩa cứng hoặc bộ nhớ của máy người sử dụng. Nó được trình duyệt gửi ngược lên lại server mỗi khi browser tải 1 trang web từ server. Những thông tin được lưu trữ trong cookie hoàn toàn phụ thuộc vào Website trên server. Mỗi Website có thể lưu trữ những thông tin khác nhau trong cookie, ví dụ thời điểm lần cuối ta ghé thăm Website, đánh dấu ta đã login hay chưa, v.v Cookie được tạo ra bởi Website và gửi tới browser, do vậy 2 Website khác nhau (cho dù cùng host trên 1 server) sẽ có 2 cookie khác nhau gửi tới browser. Ngoài ra, mỗi browser quản lý và lưu trữ cookie theo cách riêng của mình, cho nên 2 browser cùng truy cập vào 1 Website sẽ nhận được 2 cookie khác nhau. Để thiết lập cookie ta sử dụng cú pháp: Setcookie("tên cookie","giá trị", thời gian sống) Tên cookie là tên mà chúng ta đặt cho phiên làm việc. Giá trị là thông số của tên cookie. Sinh viên: Nguyễn Tâm Phước – CTL701 19
- Xây dựng ứng dụng quản lý giao việc Ví dụ: setcookie("name","admin",time()+3600); Để sử dụng lại cookie vừa thiết lập, chúng ta sử dụng cú pháp: Cú pháp: $_COOKIE["tên cookies"] Tên cookie là tên mà chúng ta thiết lập phía trên. Để hủy 1 cookie đã được tạo ta có thể dùng 1 trong 2 cách sau: + Cú pháp: setcookie("Tên cookie") Gọi hàm setcookie với chỉ duy nhất tên cookie mà thôi + Dùng thời gian hết hạn cookie là thời điểm trong quá khứ. Ví dụ: setcookie("name","admin",time()- 3600); Session Một cách khác quản lý người sử dụng là Session. Session được hiểu là khoảng thời gian người sử dụng giao tiếp với 1 ứng dụng. Một session được bắt đầu khi người sử dụng truy cập vào ứng dụng lần đầu tiên, và kết thúc khi người sử dụng thoát khỏi ứng dụng. Mỗi session sẽ có được cấp một định danh (ID) khác nhau. Để thiết lập 1 session ta sử dụng cú pháp: session_start() Đoạn code này phải được nằm trên các kịch bản HTML. Hoặc những lệnh echo, printf. Để thiết lập 1 giá trị session, ngoài việc cho phép bắt đầu thực thi session. Chúng ta còn phải đăng ký 1 giá trị session. Để tiện cho việc gán giá trị cho session đó. Ta có cú pháp sau: session_register("Name") Giống với cookie. Để sử dụng giá trị của session ta sử dụng mã lệnh sau: Cú pháp: $_SESSION["name"] Với Name là tên mà chúng ta sử dụng hàm session_register("name") để khai báo. Để hủy bỏ giá trị của session ta có những cách sau: session_destroy() // Cho phép hủy bỏ toàn bộ giá trị của session. Sinh viên: Nguyễn Tâm Phước – CTL701 20
- Xây dựng ứng dụng quản lý giao việc session_unset()// Cho phép hủy bỏ session. 2.1.6. Hàm Để giảm thời gian lặp lại 1 thao tác code nhiều lần, PHP hỗ trợ người lập trình việc tự định nghĩa cho mình những hàm có khả năng lặp lại nhiều lần trong Website. Việc này cũng giúp cho người lập trình kiểm soát mã nguồn một cách mạch lạc. Đồng thời có thể tùy biến ở mọi trang. Mà không cần phải khởi tạo hay viết lại mã lệnh như HTML thuần. Hàm tự định nghĩa Cú pháp: function function_name() { //Lệnh thực thi } Tên hàm có thể là một tổ hợp bất kỳ những chữ cái, con số và dấu gạch dưới, nhưng phải bắt đầu từ chữ cái và dấu gạch dưới. Hàm tự định nghĩa với các tham số Cú pháp: function function_name($gt1,$gt2) { //Lệnh thực thi } Hàm tự định nghĩa với giá trị trả về Cú pháp: function function_name(Có hoặc không có đối số) { // Lệnh thực thi return giatri; } Gọi lại hàm Sinh viên: Nguyễn Tâm Phước – CTL701 21
- Xây dựng ứng dụng quản lý giao việc PHP cung cấp nhiều hàm cho phép triệu gọi lại file. Như hàm include("URL đến file"),require("URL Đến file").Ngoài hai cú pháp trên còn có include_once(), require_once(). Hai hàm này cũng có trách nhiệm gọi lại hàm. Những chúng sẽ chỉ gọi lại duy nhất 1 lần mà thôi. 2.2 Tổng quan về MySQL MySQL là hệ quản trị dữ liệu miễn phí, được tích hợp sử dụng chung với apache, PHP. Chính yếu tố phát triển trong cộng đồng mã nguồn mở nên MySQL đã qua rất nhiều sự hỗ trợ của những lập trình viên yêu thích mã nguồn mở. MySQL cũng có cùng một cách truy xuất và mã lệnh tương tự với ngôn ngữ SQL. Nhưng MySQL không bao quát toàn bộ những câu truy vấn cao cấp như SQL. Về bản chất MySQL chỉ đáp ứng việc truy xuất đơn giản trong quá trình vận hành của Website nhưng hầu hết có thể giải quyết các bài toán trong PHP. 2.2.1. Đặc điểm MySQL MySQL cũng giống như các hệ quản trị CSDL: Access, SQL server, PostgreSQL, MySQL có nhiều phiên bản cho các hệ điều hành khác nhau. Là hệ quản trị cơ sở dữ liệu có tốc độ cao, ổn định và dễ sử dụng, hoạt động trên nhiều hệ điều hành cunh cấp một hệ thống lớn các hàm tiện ích mạnh, MySQL rất thích hợp cho các ứng dụng truy cập CSDL trên internet.MySQL server hoạt động trong các hệ thống nhúng hoặc client/server 2.2.2. Loại dữ liệu trong MySQL Hình 2.2.2.1 Loại dữ liệu Sinh viên: Nguyễn Tâm Phước – CTL701 22
- Xây dựng ứng dụng quản lý giao việc 2.2.3 Cú pháp cơ bản Tạo một cơ sở dữ liệu: CREATE DATABASE tên_cơ_sở_dữ_liệu; Cú pháp sử dụng cơ sở dữ liệu: Use tên_database; Cú pháp thoát khỏi cơ sở dữ liệu: Exit Tạo một bảng trong cơ sở dữ liệu: CREATE TABLE user ( , , ) Hiển thị có bao nhiều bảng: show tables; Hiển thị có bao nhiêu cột trong bảng: show columns from table; Thêm 1 cột vào bảng: ALTER TABLE tên_bảng ADD AFTER Thêm giá trị vào bảng: INSERT INTO Tên_bảng(tên_cột) VALUES(Giá_trị_tương_ứng); Truy xuất dữ liệu: SELECT tên_cột FROM Tên_bảng; Truy xuất dữ liệu với điều kiện: SELECT tên_cột FROM Tên_bảng WHERE điều kiện; Truy xuất dữ liệu và sắp xếp theo trình tự: SELECT tên_cột FROM Tên_bảng WHERE điều kiện (có thể có where hoặc không) ORDER BY Theo quy ước sắp xếp. Sinh viên: Nguyễn Tâm Phước – CTL701 23
- Xây dựng ứng dụng quản lý giao việc Trong đó quy ước sắp xếp bao gồm hai thông số là ASC (từ trên xuống dưới), DESC (từ dưới lên trên). Truy cập dữ liệu có giới hạn: SELECT tên_cột FROM Tên_bảng WHERE điều kiện (có thể có where hoặc không) LIMIT vị trí bắt đầu, số record muốn lấy ra Cập nhật dữ liệu trong bảng: UPDATE tên_bảng set tên_cột = Giá trị mới WHERE (điều kiện). Nếu không có ràng buộc điều kiện, chúng sẽ cập nhật toàn bộ giá trị mới của các record trong bảng. Xóa dữ liệu trong bảng: DELETE FROM tên_bảng WHERE (điều kiện). Nếu không có ràng buộc điều kiện, chúng sẽ xóa toàn bộ giá trị của các record trong bảng 2.3Tổng quan về Bootstrap. Bootstrap là một Framework CSS, giúp phát triển nhanh giao diện trang web dựa trên giao diện chuẩn của Twitter. Bạn cũng có thể sử dụng luôn Framework này mà không cần phải chỉnh sửa hay rành rỗi về CSS, đó là một lợi thế khi dùng Framework. Twitter Bootstrap giúp chúng ta giảm thiểu thời gian thiết kết html và css. Twitter Bootstrap định nghĩa sẳn các class css công việc của chúng ta chỉ là sử dụng các class đó vào mục đích của mình. Twitter Bootstrap còn hổ trợ Responsive design một cách làm giao diện đa thiết bị rất được ưu chuộng trong thời gian gần đây. Không những hỗ trợ về HTML và CSS mà nó còn hỗ trợ rất nhiều về Jquery, nhiều ứng dụng hay giúp cho việc sử dụng dễ dàng hơn. Sinh viên: Nguyễn Tâm Phước – CTL701 24
- Xây dựng ứng dụng quản lý giao việc Bootstrap được phát triển bởi Mark Otto và Jacob Thornton tại Twitter như một framework, một công cụ để phục vụ công việc nội bộ của Twitter. Trước khi phát triển Bootstrap, có nhiều thư viện khác nhau đã được sử dụng để phát triển giao diện, dẫn đến mâu thuẫn, xung đột.Bootstrap ra đời để khắc phục những yếu tố này, cũng như giúp các nhà phát triển, lập trình tại Twitter có thể triển khai công việc nhanh hơn, tiện lợi và đồng bộ hơn. Bootstrap tương thích với các phiên bản mới nhất của tất cả các trình duyệt nổi tiếng trên thế giới như Chrome, Firefox, IE, Opera Kể từ phiên bản 2.0 trở l nó cũng hỗ trợ Responsive Web Design. Thiết kế và bố trí của các trang web tự động điều chỉnh, tự động tương thích các thiết bị được sử dụng (máy tính để bàn, máy tính bảng, điện thoại di động).Do có sử dụng Grid System nên Bootstrap mặc định hỗ trợ Responsive. Bootstrap được viết theo xu hướng Mobile First tức là ưu tiên giao diện trên Mobile trước. Nên việc sử dụng Bootstrap cho website của bạn sẽ phù hợp với tất cả kích thước màn hình. Nhờ đó mà chúng ta không cần xây dựng thêm một trang web riêng biệt cho mobile. Có tất cả 12 colunm tương thích với từng màn hình vì boostrap sử dụng % để chia độ rông nên độ tương thích ở từng màn hình là rất tốt Những ưu điểm không thể bỏ qua của Bootstrap: Hỗ trợ khả năng Responsive: tức là trang web sẽ tự động co giãn theo kích thước của cửa sổ trình duyệt. Tương thích tốt với mọi thiết bị đặc biệt là các thiết bị cỡ nhỏ: với sự phổ biến của smartphone hiện nay, đây là một yếu tố quan trọng. Không cần phải design một bản riêng cho mobile, với bootstrap bạn chỉ cần thiết kế một lần cho mọi thiết bị. Được tích hợp với thư viện jQuery và tương tác tốt với chuẩn HTML5 và CSS3. Boostrap được xây dựng với các class chính để chia định dạng khung cho Website như sau: container-fluid: Lớp bao quanh có độ rộng full mà hình container: Lớp bao quanh có khoảng cách 2 bên Sinh viên: Nguyễn Tâm Phước – CTL701 25
- Xây dựng ứng dụng quản lý giao việc row: Dùng để chia dòng cho từng khung hình, được có margin-right: 15px và margin-left: 15px .col-lg-*: ( * là số cột ) dùng cho thiết bị có độ rộng >=1200px .col-md-*: dùng cho thiết bị có độ rộng >=992px .col-sm-*: dùng cho thiết bị có độ rộng >=768px .col-xs-*: dùng cho các thiết bị cố độ rông<768px Hình 2.3.1 Bootstrap Có 2 cách để bạn có thể nhúng bootstrap vào giao diện html 1. Down và load trực tiếp vào website Việc đầu tiên để có thể sử dụng Bootstrap là download về và sử dụng :). Bạn truy cập vào trang chủ của Bootstrap để down bản mới nhất getting started. Trong quá trình sử dụng thì trang web sẽ là công cụ đặc lực để bạn tra cứu . Nhưng để có thể sử dụng được các mudule javascript thì bạn cần phải download được thư viện jquery để nhúng trược tiếp vào giao diện.( Lưu ý file Jquery cần được đặt trước file bootstap.min.js ) Sinh viên: Nguyễn Tâm Phước – CTL701 26
- Xây dựng ứng dụng quản lý giao việc Nhúng CSS: Nhúng JavaScript: Sử dụng nguồn từ CDN: Ví dụ: Hàng 12 cột cho medium device Sinh viên: Nguyễn Tâm Phước – CTL701 27
- Xây dựng ứng dụng quản lý giao việc Nội dung Bạn đang học bootstrap 3 Đây là slidebar Hàng 6 cột cho medium device Hàng 6 cột cho medium device Kết quả: Sinh viên: Nguyễn Tâm Phước – CTL701 28
- Xây dựng ứng dụng quản lý giao việc Hình 2.3.2 Ví dụ về Bootstrap Sinh viên: Nguyễn Tâm Phước – CTL701 29
- Xây dựng ứng dụng quản lý giao việc CHƢƠNG 3: BÀI TOÁN QUẢN LÝ GIAO VIÊC Trong chương này đồ án đi sâu về phân tích thiết kế và xây dựng bài toán quản lý giao việc đã nêu ở chương 1 3.1Yêu cầu bài toán: Dựa vào bài toán đã nêu ở chương 1 , yêu cầu bài toán cụ thể với các cấp người dùng như sau Lãnh đạo:có thể tạo công việc với các thông tin cơ bản như: Tên công việc, ngày bắt đầu, ngày kết thúc, Ghi chú công việc, các file đính kèm giao công việc đó cho các cấp dưới của mình. Sau khi giao việc, lãnh đạo có thể theo dõi tình hình công việc, bao gồm các thông tin: việc đã được giao cho ai, những ai đã hoàn thành, tiến độ công việc, thời gian còn lại của công việc, xem và thay đổi các file đính kèm của công việc đó. Trong quá trình thực hiện công việc, ãnh đạo có thể loại bỏ hoặc thay thế cấp dưới khỏi công việc( Phải có lý do cụ thể), lãnh đạo cũng có thể thêm các phản hồi cho tất cả cấp dưới, đính kèm file theo phản hồi đó.Sau khi toàn bộ công việc được hoàn thành, lãnh đạo có thể xem thông tin về công việc đó: Nhật ký công việc, phản hồi công việc, các file đính kèm, người thực hiện. Lãnh đạo sẽ kiểm tra kết quả công việc và có thể yêu cầu nhân viên tiếp tục hoàn thành công việc ( phải có lý do cụ thể) hoặc chốt lại công việc đó. Công việc đã chốt chỉ có thể xem. Khi thanh thời gian sắp hết, lãnh đạo có thể gia hạn thời gian cho công việc, tối đa 3 lần. Khi hết thời gian mà công việc chưa vào trạng thái đã chốt, công việc sẽ bị khóa tự động. Nhân viên: cấp dưới có thể xem các công việc mình đã được giao, gôm các thông tin về tiến độ, thời gian, phản hồi. Nhân viên có thể gửi phản hồi công việc khi có vấn đề phát sinh, có thể đính kèm file. Nếu 1 công việc được giao cho nhiều nhân viên, khi tất cả các nhân viên đã xác nhận hoàn thành công việc, công việc sẽ ở trạng thái chờ lãnh đạo xác nhận. Dựa vào yêu cầu của bài toán, đồ án xây dựng hệ thống quản lý giao việc với các chức năng thỏa mãn yêu cầu đề ra Sinh viên: Nguyễn Tâm Phước – CTL701 30
- Xây dựng ứng dụng quản lý giao việc 3.2 Biểu đồ ngữ cảnh NHÂN VIÊN Danh sách nhân viên Thông tin công việc Thông tin thực hiện 0 LÃNH ĐẠO HỆ THỐNG Phản hồi công việc QUẢN LÝ Danh sách File đính GIAO VIỆC Nhật ký công việc kèm Danh sách File đính Danh sách thực hiện kèm Nhật ký công việc Phản hồi công việc Danh sách nhân viên QUẢN TRỊ VIÊN Danh sách phòng ban Sinh viên: Nguyễn Tâm Phước – CTL701 31
- Xây dựng ứng dụng quản lý giao việc 3.3Phân hệ ngƣời dùng: Bài toán có 3 phân hệ người dùng: Lãnh Đạo: có các chức năng: Tạo công việc, thay đổi thông tin công việc bao gồm thay đổi các file đính kèm, gia hạn cho công việc khi quá hạn, phân công nhân viên bao gồm các công việc thêm nhân viên vào công việc, loại bỏ hoặc thay thế nhân viên, phản hồi công việc, Xác nhận kết quả công việc Nhân viên: có các chức năng: Xem các công việc đang thực hiện, gửi phản hồi về công việc, báo hoàn thành công việc cho lãnh đạo xác nhận Quản trị hệ thống: có các chức năng :tạo người dùng, thay đổi thông tin người dùng, phân quyền cho người dùng. 3.4Biểu đồ phân rã chức năng Dựa trên việc phân tích, ta có biểu đồ phân rã chức năng hệ thống như hình dưới đây: Sinh viên: Nguyễn Tâm Phước – CTL701 32
- Xây dựng ứng dụng quản lý giao việc HỆ THỐNG 1. Quản lý công 2. Thực hiện công 3. Quản trị người việc việc dùng 2.1 Phản hồi công 1.1 Tạo công việc 3.1 Tạo người dùng việc 1.2 Thay đổi thông 2.2 Xác nhận 3.2 Thay đổi thông tin công việc hoàn thành công tin người dùng việc 1.3 Phân công/ thay 3.3 Phân quyền đổi công việc 1.4 Phản hồi công việc 1.5 Xác nhận kết quả 1.6 Thống kê Hình 3.4.1 . Biểu đồ phân rã chức năng Sinh viên: Nguyễn Tâm Phước – CTL701 33
- Xây dựng ứng dụng quản lý giao việc Dưới đây sẽ mô tả chi tiết chức năng lá. Chức năng 1.1: Chức năng này cho phép tạo công việc với các thông tin cơ bản. Chức năng 1.2: Đây là chức năng thực hiện thay đổi thông tin công việc gồm: gia hạn công việc, thêm hoặc bỏ file đính kèm. Chức năng 1.3: Chức năng cho phép phân công công việc gồm: thêm nhân viên vào công việc, loại bỏ nhân viên khỏi công việc và thay thế nhân viên. Chức năng loại bỏ nhân viên khỏi công việc và chức năng thay thế nhân viên trong công việc phải được nhập lý do. Chức năng 1.4:Chức năng dùng đểphản hồi lại công việc khi có ý kiến hoặc chú thích mới của công việc. Chức năng 1.5: Chức năng cho phép xác nhận kết quả công việc. Khi các nhân viên hoàn thành, lãnh đạo kiểm tra công việc và xác nhận hoặc yêu cầu nhân viên thực hiện tiếp công việc đó. Chức năng 1.6: Chức năng cho phép thống kê các công việc trong tháng tùy chọn. Chức năng 2.1: Chức năng này cho phép nhân viên gửi hồi đáp về công việc hoặc ý kiến cho lãnh đạo. Chức năng 2.2: Chức năng cho phépnhân viên xác nhận là đã hoàn thành công việc đó. Chức năng 3.1: Chức năng này dùng để tạo người dùng trong hệ thống Chức năng 3.2: Chức năng này dùng để thay đổi hoặc cập nhật thông tin người dùng Chức năng 3.3: Chức năng này dung đểphân quyền và thay đổi nhân sự phòng ban 3.5 Ma trận thực thể chức năng Danh sách các hồ sơ dữ liệu sử dụng: a) Danh sách nhân viên b) Danh sách công việc c) Danh sách phản hồi d) Nhật ký công việc e) Danh sách thực hiện Sinh viên: Nguyễn Tâm Phước – CTL701 34
- Xây dựng ứng dụng quản lý giao việc f) Danh sách phòng ban g) File đính kèm Dựa vào biểu đồ phân rã chức năng và danh sách hồ sơ dữ liệu sử dụng, ta có ma trận thực thể chức năng như hình dưới THỰC THỂ DỮ LIỆU a. Danh sách nhân viên b. Danh sách công việc c. danh sách phản hồi cv d. Nhật ký công việc e. danh sách thực hiện f. Danh sách phòng ban g. File đính kèm CHỨC NĂNG NGHIỆP VỤ a b c d e f g 1. QUẢN LÝ CÔNG VIỆC R U U U U U 2. THỰC HIỆN CÔNG VIỆC R U U R 3. QUẢN TRỊ U U Hình 3.5.1. Ma trận thực thể -chức năng Sinh viên: Nguyễn Tâm Phước – CTL701 35
- Xây dựng ứng dụng quản lý giao việc 3.6 Sơ đồ luồng dữ liêu 3.6.1 Sơ đồ luồng dữ liệu mức 0 d Nhật ký công việc Thông tin tao công việc a Danh sách nhân viên LÃNH ĐẠO Thông tin chỉnh sửa cv 1.0 QUẢN LÝ b Danh sách công việc Thông tin phản hồi cv CÔNG VIỆC e Danh sách thực hiện Danh sách thực hiện công việc g File đính kèm Danh sách th c Danh sách phản hồi Thông tin thực hiện công việc ự c hi ệ n b Danh sách công việc Thông tin công việc NHÂN VIÊN 2.0 d Nhật ký công việc THỰC HIỆN Thông tin phản hồi e Danh sách thực hiện CÔNG VI ỆC g File đính kèm Danh sách nhân viên Thông tin tạo người dùng 3.0 a QUẢN TRỊ VIÊN QUẢN TRỊ f Danh sách phòng ban NGƯỜI DÙNG Thông tin sửa đổi người dùng Sinh viên: Nguyễn Tâm Phước – CTL701 36
- Xây dựng ứng dụng quản lý giao việc 3.6.2 Sơ đồ luồng dữ liệu mức 1 tiến trình quàn lý công việc b Danh sách công việc LÃNH ĐẠO Tin phản hồi 1.4 Phản hồi công việc 1.1 Thông tin cv Tạo công việc b Danh sách phản hồi d Nhật ký công việc d Nhật ký công việc 1.2 Thông tin thay đổi cv Thay đổi thông tin 1.5 công việc d Nhật ký công việc Yêu cầu xac nhận kết quả thông tin xác nhận thông tin phân công/thay đổi 1.3 e Danh sách thực hiện Phân công/ thay đổi thông tin xác nhận NHÂN VIÊN d Nhật ký công việc e Danh sách thực hiện b Danh sách công việc Thông tin thống 1.6 kê LÃNH ĐẠO Thống kê công việc Sinh viên: Nguyễn Tâm Phước – CTL701 37
- Xây dựng ứng dụng quản lý giao việc 3.6.3 Sơ đồ luồng dữ liệu mức 1 tiến thực hiện công việc c Danh sách phản hồi 2.1 Phản hồi công d Nhật ký công việc việc Tin phản hồi công việc NHÂN VIÊN 2.2 c Nhật ký công việc Xác nhận hoàn thành công việc e Danh sách thực hiện 3.6.4 Sơ dồ luồng dữ liệu mức 1 tiến trình Quản trị ngƣời dùng 3.1 Tạo người dùng a Danh sách người dùng Thông tin người dùng ngư Thông tin QUẢN TRỊ VIÊN Thông tin người dùng ờ i dùng 3.3 f Danh sách phòng ban Phân quyền 3.2 Thay đổi thông a Danh sách người dùng tin người dùng Sinh viên: Nguyễn Tâm Phước – CTL701 38
- Xây dựng ứng dụng quản lý giao việc 3.7Xây dựng cơ sở dữ liệu Dựa vào yêu cầu bài toán, ta có các thực thể sau 3.7.1 Thực thể NHÂN VIÊN: MatKhau MaNVng NHANVIEN ChucVu HoTen Mail Hình 3.6.1.1 Thực thể NHANVIEN Thuộc tính Mô tả MaNV Mã nhân viên HoTen Họ tên nhân viên Mail Mail đăng nhập MatKhau Mật khẩu đăng nhập ChucVu Chức vụ của nhân viên Sinh viên: Nguyễn Tâm Phước – CTL701 39
- Xây dựng ứng dụng quản lý giao việc 3.7.2Thực thể CÔNG VIỆC: GiaHan1 MaCV GiaHan2 GiaHan3 TenCV CONGVIEC GhiChu TrangThai NgayBD NgayKT Hình 3.6.2.1 Thực thể CONGVIEC Thuộc tính Mô tả MaCV Mã công việc TenCV Tên công việc NgayBD Ngày bắt đầu NgayKT Ngày Kết thúc GiaHan1 Gia hạn lần 1 GiaHan2 Gia hạn lần 2 GiaHan3 Gia hạn lần 3 GhiChu Ghi chú công việc TrangThai Trạng thái công việc Sinh viên: Nguyễn Tâm Phước – CTL701 40
- Xây dựng ứng dụng quản lý giao việc 3.7.3Thực thể PHÒNG BAN: MaPB TenPB PHONGBAN Hình 3.6.3.1 Thực thể PHÒNG BAN Thuộc tính Mô tả MaPB Mã phòng ban TenPB Tên phòng ban Sinh viên: Nguyễn Tâm Phước – CTL701 41
- Xây dựng ứng dụng quản lý giao việc 3.7.4Thực thể PHẢN HỒI: MaPH NgayPH PHANHOI NoiDung FileDK Link Hình 3.6.4.1 Thực thể PHẢN HỒI Thuộc tính Mô tả MaPH Mã phản hồi NgayPH Ngày tạo phản hồi NoiDung Nội dung phản hồi FileDK File đính kèm Link Đường dẫn Sinh viên: Nguyễn Tâm Phước – CTL701 42
- Xây dựng ứng dụng quản lý giao việc 3.7.5Thực thể NHẬT KÝ: NoiDung MaNK NHATKY LyDo TenNK Ngayghi Hình 3.6.5.1 Thực thể NHẬT KÝ Thuộc tính Mô tả MaNK Mã nhật ký TenNK Tên nhật ký Ngayghi Ngày ghi nhật ký NoiDung Nội dung phản hồi LyDo Lý do ghi nhật ký Sinh viên: Nguyễn Tâm Phước – CTL701 43
- Xây dựng ứng dụng quản lý giao việc 3.7.6Thực thể File Đính Kèm MaFile FILEDK TenFile Hình 3.6.6.1 Thực thể File đính kèm Thuộc tính Mô tả MaFile Mã File TenFile Tên File Sinh viên: Nguyễn Tâm Phước – CTL701 44
- Xây dựng ứng dụng quản lý giao việc 3.8Mô hình E-R 3.8.1 Xác định liên kết n THỰC NHANVIEN HIỆN CONGVIEC m MaTH GhiChu TrangthaiTH n 1 PHONGBAN NHANVIEN THUỘC 1 n CONGVIEC CÓ NHATKY 1 n CONGVIEC CÓ FILEDK Sinh viên: Nguyễn Tâm Phước – CTL701 45
- Xây dựng ứng dụng quản lý giao việc 1 n CONGVIEC CÓ PHANHOI n 1 PHONGBAN CÓ CONGVIEC Sinh viên: Nguyễn Tâm Phước – CTL701 46
- Xây dựng ứng dụng quản lý giao việc 3.8.2 Mô hình E-R Từ các thực thể ở mục 3.6 và các quan hệ đã xác định ở mục 3.7.1 ta có mô hình E-R sau: Hình 3.7.2.1 Mô hình E-R Sinh viên: Nguyễn Tâm Phước – CTL701 47
- Xây dựng ứng dụng quản lý giao việc 3.9Mô hình quan hệ Từ mô hình E-R đã có ở trên, tiến hành chuyển đổi sang mô hình quan hệ như sau: Biểu diễn thực thể: CONGVIEC CONGVIEC(MaCV,TenCV, MaPB, NgayBD, NgayKT, Giahan1, Giahan2, Giahan3, Ghichu, Trangthai) NHANVIEN NHANVIEN(MaNV,TenNV, Mail, MatKhau,MaPB,ChucVu) PHONGBAN PHONGBAN(MaPB,TenPB) PHANHOI PHANHOI(MaPH,NgayPH,MaCV,NoiDung,FileDK,Link) NHATKY NHATKY(MaNK, MaCV, NgayGhi,TenNK,NoiDung, LyDo) FILEDK FILEDK(MaFile, MaCV, TenFile, Link)s Sinh viên: Nguyễn Tâm Phước – CTL701 48
- Xây dựng ứng dụng quản lý giao việc Biểu diễn quan hệ: THỰC HIỆN THUCHIEN(MaTH, MaCV, MaNV, GhiChu, TrangThai) Các bảng: CONGVIEC MaCV Int(10) TenCV Varchar(50) MaPB Int(10) NgayBD Date NgayKT Date GiaHan1 Date GiaHan2 Date GiaHan3 Date GhiChu Varchar(200) TrangThai Int(1) Tương ứng với bảng “work” trong chương trình với kiểu dữ liệu sau work_ID Int(10) work_Name Varchar(50) departments_ID Int(10) work_Bgin Date work_Finish Date work_Extend1 Date work_Extend2 Date Sinh viên: Nguyễn Tâm Phước – CTL701 49
- Xây dựng ứng dụng quản lý giao việc work_Extend3 Date work_Note Varchar(200) work_Status Int(1) NHANVIEN MaNV Int(10) HoTen Varchar(50) Mail Varchar(50) MatKhau Varchar(40) MaPB Int(10) ChucVu Int(1) Tương ứng với bảng “staff” trong chương trình với kiểu dữ liệu sau staff_ID Int(10) staff_Name Varchar(50) staff_Mail Varchar(50) staff_Pword Varchar(40) departments_ID Int(10) staff_Level Int(1) PHONGBAN MaPB Int(10) TenPB Varchar(20) Tương ứng với bảng “departments” trong chương trình departments_ID Int(10) departments_Name Varchar(20) Sinh viên: Nguyễn Tâm Phước – CTL701 50
- Xây dựng ứng dụng quản lý giao việc PHANHOI MaPH Int(10) TenPH Date NgayPH Int(10) MaCV Int(10) NoiDung Varchar(300) FileDK Varchar(30) Link Varchar(50) Tương ứng với bảng “comment” trong chương trình với kiểu dữ liệu sau comment_ID Int(10) comment_Date Date work_ID Int(10) staff_ID Int(10) comment_content Varchar(300) comment_Doc Varchar(30) comment_Link Varchar(50) Sinh viên: Nguyễn Tâm Phước – CTL701 51
- Xây dựng ứng dụng quản lý giao việc NHATKY MaNK Int(10) MaCV Int(10) Ngayghi Date TenNK Varchar(20) NoiDung Vachar(200) LyDo Vachar(200) Tương ứng với bảng “worklog” trong chương trình với kiểu dữ liệu sau worklog_ÌD Int(10) work_ID Int(10) worklog_Date Date worklog_Act Varchar(20) worklog_Content Vachar(200) Worklog_Reason Vachar(200) FILEDK MaFileDK Int(10) TenFileDK Varchar(20) MaCV Int(10) Link Varchar(40) Tương ứng với bảng “document” trong chương trình với kiểu dữ liệu sau document_ID Int(10) document_Filename Varchar(20) work_ID Int(10) document_link Varchar(40) Sinh viên: Nguyễn Tâm Phước – CTL701 52
- Xây dựng ứng dụng quản lý giao việc THUCHIEN MaTH Int(10) MaCV Int(10) MaNV Int(10) Ghichu Varchar(200) TrangThai Int(1) Tương ứng với bảng “workss” trong chương trình với kiểu dữ liệu sau workss_ID Int(10) work_ID Int(10) staff_ID Int(10) workss_Note Varchar(200) workss_Status Int(1) Sinh viên: Nguyễn Tâm Phước – CTL701 53
- Xây dựng ứng dụng quản lý giao việc Mô hình quan hệ: File DK TH Mã File Mã TH Tên File CV Mã CV Mã CV Mã CV Mã NV Link Tên CV Nhân viên Trạng Thái Mã PB Mã NV Ghi chú Ngày BD Tên NV Ngày KT Mail Gia hạn 1 MK Gia hạn 2 Mã PB Gia hạn 3 Chức vụ Ghi chú NK PH Trạng thái Mã NK Mã PH Mã CV Ngày PH Tên NK Mã CV Ngày ghi Nội dung ND File DK LD PB Link Mã PB Tên PB Sinh viên: Nguyễn Tâm Phước – CTL701 54
- Xây dựng ứng dụng quản lý giao việc CHƢƠNG 4: THỰC NGHIỆM HỆ THỐNG Qua quá trình phân tích thiết kế bài toán giao việc, em đã xây dựng ứng dụng quản lý giao việc trên nền web theo yêu cầu bài toán, có sử dụng Bootstrap 3.3 để làm giao diện cho trang. 4.1 Yêu cầu cài đặt chƣơng trình. Môi trường thử nghiệm: Trình duyệt Chrom 40 hoặc mới hơn. PHP: PHP 5.0 hoặc mới hơn. MySQL: MySQL bản mới nhất Tùy chọn: sử dụng Xamp để cài đặt web server trên máy cá nhân 4.2 Một số giao diện . Hình 4.2.1 Giao diện đăng nhập Sinh viên: Nguyễn Tâm Phước – CTL701 55
- Xây dựng ứng dụng quản lý giao việc Sinh viên: Nguyễn Tâm Phước – CTL701 56
- Xây dựng ứng dụng quản lý giao việc Hình 4.2.2 Giao diện danh sách công việc Hình 4.2.3 Giao diện quản lý chi tiết công việc và phân công Sinh viên: Nguyễn Tâm Phước – CTL701 57
- Xây dựng ứng dụng quản lý giao việc Hình 4.2.4 Giao diện tạo và quản lý người dùng Sinh viên: Nguyễn Tâm Phước – CTL701 58
- Xây dựng ứng dụng quản lý giao việc KẾT LUẬN Trong đồ án này em đã vận dụng các kiến thức đã học về lập trình web và phân tích thiết kế hệ thống thông tin để xây dựng ứng dụng quản lý giao việc hân tích được các yêu cầu cơ bản củ hân tích thiết kế hệ thống theo yêu cầu đặ ây dựng ứng dụng đã có các chức năng cơ bản. Bên cạnh đó cũng có một số điểm còn khiếm khuyết, giao diện còn xấu, cách bố trí chức năng chưa được hợp lý, các chức năng chưa được liên hoàn.Đồ án chỉ dừng lại được ở mức nhắc việc trên nền web, chưa tích hợp được chức năng nhắc nhở theo thời gian thực, xây dựng được chức năng nhắc nhở công việc thông qua SMS hoặc các thiết bị di động. Hướng phát triển tiếp theo em sẽ cố gắng khắc phục những khiếm khuyết trên, phát triển ứng dụng để phù hợp với đặc thù công việc và nhân sự của từng cơ sở đồng thời tiếp tục xây dựng thêm các chức năng tính lương, thưởng thông qua công việc thực hiện được, triển khai hệ thống nhắc việc trên cả trang web và thiết bị di động Sinh viên: Nguyễn Tâm Phước – CTL701 59
- Xây dựng ứng dụng quản lý giao việc TÀI LIỆU THAM KHẢO 1. www.W3school.com 2. Phân tích và thiết kế hệ thống thông tin quản lý – , năm 2007. 3. www.getbootstrap.com Sinh viên: Nguyễn Tâm Phước – CTL701 60