1. Trang chủ
  2. » Công Nghệ Thông Tin

Xây dựng website quản lý dự án cho công ty TNHH dịch vụ và phát triển công nghệ EXP

73 369 1

Đ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 73
Dung lượng 3,16 MB

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

Nội dung

Yêu cầu đặt ra là xây dựng một phầnmềm có thể quản lý được các dự án của công ty, giúp người quản lý, khách hàng vànhân viên lập trình giao tiếp và thực hiện công việc một cách có hiệu q

Trang 1

Lời cảm ơn

Trải qua thời gian 5 năm học tập và rèn luyện tại Trường Đại Học Công nghệthông tin và truyền thông, đến nay em đã kết thúc khoá học và hoàn thành đồ án tốtnghiệp Để có được kết quả này em xin chân thành cảm ơn :

Em xin gửi lời cảm ơn đến các thầy, cô giáo trong ngành công nghệ phần mềm,Khoa Công Nghệ Thông Tin, Trường Đại học Công Nghệ Thông Tin và TruyềnThông, những nhà giáo đã truyền dạy cho em những kiến thức quý báu trong suốtnhững năm học vừa qua

Em xin chân thành cảm ơn thầy giáo hướng dẫn TS Nguyễn Văn Tảo, thầy

luôn quan tâm và rất nhiệt tình hướng dẫn em từ việc tìm tài liệu cho đến việc địnhhướng lựa chọn giải pháp để triển khai đồ án Thầy cũng luôn nhắc nhở, giúp đỡ emmỗi khi gặp khó khăn, nhờ vậy mà em đã hoàn thành tốt đồ án tốt nghiệp của mìnhđúng thời hạn

Cuối cùng em xin cảm ơn các anh trong công ty TNHH dịch vụ phát triển côngnghệ JoomEXP đã tạo điều kiện cho em được làm việc tại công ty và nhiệt tình giúpđỡ em trong quá trình thực hiện đồ án này, cùng với gia đình và bạn bè đã luôn độngviên em trong suốt quá trình học và hoàn thành đồ án này

Do thời gian hoàn thành đồ án có hạn, sự thể hiện đồ án không tránh khỏi cónhững khiếm khuyết Em rất mong được sự động viên và đóng góp ý kiến của cácthầy cô giáo, giúp em hoàn thành tốt đồ án và chuẩn những kỹ năng tốt nhất cho trảinghiệm sau này, có khả năng ứng dụng trong thực tế

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

Sinh ViênNguyễn Công Luận

Trang 2

Lời cam đoan

Đồ án tốt nghiệp là sản phẩm tổng hợp toàn bộ các kiến thức mà sinh viên đãhọc được trong suốt thời gian học tập tại trường đại học Ý thức được điều đó, vớitinh thần nghiêm túc, tự giác cùng sự lao động miệt mài của bản thân và sự hướngdẫn nhiệt tình của Thầy giáo TS Nguyễn Văn Tảo em đã hoàn thành xong đồ án tốtnghiệp của mình

Em xin cam đoan: nội dung đồ án của em không sao chép nội dung cơ bản từcác đồ án khác và sản phẩm của đồ án là của chính bản thân em nghiên cứu xây dựnglên Mọi thông tin sai lệch em xin hoàn toàn chịu trách nhiệm trước hội đồng bảo vệ

Trang 3

MỤC LỤC

CHƯƠNG 1 TỔNG QUAN VỀ LÝ THUYẾT 6

1.1 Tìm hiểu ngôn ngữ PHP 6

1.1.1 PHP là ngôn ngữ có tốc độ nhanh: 6

1.1.2 PHP là ngôn ngữ phù hợp nhiều HDH 6

1.1.3 Kiến trúc cơ bản 7

1.1.4 Client 7

1.1.5 Server 7

1.1.6 Hệ điều hành 8

1.1.7 Web Server 8

1.1.8 Website động là gì? 9

1.1.9 Middleware 9

1.1.10 PHP là gì? 10

1.1.11 Tại sao cần dùng PHP? 10

1.1.12 Cách làm việc của PHP 10

1.2 Tìm hiểu về hệ cơ sở dữ liệu msql 11

1.2.1 MySQL là gì? 11

1.2.2 Tại sao sử dụng PHP và MySQL? 13

1.3 Tìm hiểu về ngôn ngữ UML 14

1.4 Giới thiệu về hệ quản trị nội dung Joomla 20

1.4.1 Hoàn cảnh ra đời 20

1.4.2 Giới thiệu về MVC (Model-View-Controler) 21

1.5 Giới thiệu Paypal 24

1.5.1 Paypal là gì ? 24

1.5.2 Vì sao nên sử dụng paypal 25

CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 26

2.1 Khảo sát hệ thống 26

2.1.1 Giới thiệu về công ty TNHH dịch vụ và phát triển công nghệ EXP và yêu cầu hệ thống 26

Trang 4

2.1.2 Môi trường và mô tả hệ thống 31

2.2 Phân tích và thiết kế hệ thống 33

2.2.1 Xác định các tác nhân của hệ thống: 33

2.2.2 Các biểu đồ usecase 34

2.2.3 Sơ đồ hoạt động của hệ thống 39

2.2.4 Sơ đồ trình tự hoạt động của hệ thống 45

2.2.5 Sơ đồ lớp 50

2.2.6 Cơ sở dữ liệu của hệ thống quản lý dự án 52

2.2.7 Chi tiết các bảng cơ sở dữ liệu được xây dựng: 54

CHƯƠNG 3 KẾT QUẢ XÂY DỰNG WEBSITE 62

3.1 Hình ảnh cho chức năng yêu cầu dự án 62

3.2 Danh sách các dự án khách hàng đang thực hiện với công ty 63

3.3 Danh sách các dự án của người quản lý dự án 64

3.4 Danh sách dự án đang trong giai đoạn thảo luận 65

3.5 Hệ thống phản hồi 67

3.6 Các thống kê trong phần quản trị 67

KẾT LUẬN 69

TÀI LIỆU THAM KHẢO 70

Trang 5

LỜI MỞ ĐẦU

Công nghệ thông tin đang phát triển hết sức sôi động ở hầu hết các quốc giatrên thế giới Việc sử dụng công nghệ thông tin và internet rộng rãi trên khắp thế giớigiúp cho việc thực hiện các công việc được nhanh chóng và giao tiếp giữa con ngườiđơn giản hơn, không còn lo lắng về khoảng cách địa lý

Trong thời đại hiện nay các công ty lập trình và phát triển phần mềm rất

nhiều Việc các công ty có thể quản lý được các dự án và việc giao tiếp với kháchhàng một cách đơn giản là việc hằng mong đợi Yêu cầu đặt ra là xây dựng một phầnmềm có thể quản lý được các dự án của công ty, giúp người quản lý, khách hàng vànhân viên lập trình giao tiếp và thực hiện công việc một cách có hiệu quả

Trên thị trường hiện nay không khó để có thể tìm được phần mềm và phươngpháp quản lý, nhưng để phần mềm đó phù hợp với môi trường công việc hiện tại thìlại là việc khó khăn Như vậy, để phù hợp với yêu cầu đặt ra, việc tạo ra một website

có thể quản lý dự án là đúng đắn Vì là giao diện web nên tất cả mọi người sử dụnginternet đều có thể truy cập được, việc này đồng nghĩa với việc giao tiếp dễ dàng giữacác đôi tượng trong yêu cầu

Ngoài ra, ngày nay internet phát triển Việc sử dụng website để quản lý là việcphù hợp với thực tại và dễ dàng với người quản lý vì trong mọi lúc có thể vào để theodõi và quản lý các thông tin của dự án

Trong khi thực tập trong đợt thực tập tốt nghiệp tại công ty em nhận thấy công

ty đang không có chương trình phần mềm nào để quản lý các dự án Việc này gây rấtnhiều khó khăn cho công việc quản lý Mục tiêu đặt ra là xây dựng một website quản

lý dự án để việc quản lý của công ty được thuận tiện hơn Chính vì vậy em chọn đề tài

“xây dựng website quản lý dự án cho công ty TNHH dịch vụ và phát triển công nghệEXP”

Trang 6

CHƯƠNG 1 TỔNG QUAN VỀ LÝ THUYẾT

1.1 Tìm hiểu ngôn ngữ PHP

Các ngôn ngữ lập trình xem ra giống như các loại giày dép Có loại có vẻ bắtmắt với một số người này, nhưng lại khó ưa với người khác và ngược lại Một sốngười chỉ thích sử dụng một hiệu giày nào đó đã quen thuộc và ngôn ngữ lập trìnhcũng tương tự như vậy

Ở đây em muốn ngụ ý là khi lập trình Web, các ngôn ngữ lập trình đều cho kếtquả gần giống nhau Câu hỏi ngôn ngữ nào tốt nhất không phải là vấn đề nó không cókhả năng thực hiện một số chức năng nào đó mà thường là nó có làm cho mình thựchiện công việc một cách nhanh chóng và đỡ nhọc công hay không?

1.1.1 PHP là ngôn ngữ có tốc độ nhanh:

Chúng ta hãy bàn về tốc độ Có 3 thứ mà em chắc chắn khi bàn về việc so sánhtốc độ giữa các ngôn ngữ lập trình Web Thứ nhất, ứng dụng viết bằng C chạy nhanhnhất Thứ hai, công việc lập trình C khá là phức tạp, và sẽ ngốn nhiều thời gian hơn.Thứ ba, việc so sánh giữa các ngôn ngữ là một điều khó khăn Tất cả những gì em biết

là em cảm thấy yên tâm khi nói rằng PHP cũng nhanh như các ngôn ngữ khác Trở lại

ví dụ so sánh với các loại giày dép: Vina, Đông Hải, Kiến Hoa, Hồng Thạnh, Italyv.v., chắn chắn mọi người sẽ chọn loại tiện dụng nhất? Nếu như em, mọi người sẽ cảmthấy rằng PHP có đầy đủ các đặc tính như khả năng, cấu trúc và dễ sử dụng Xin nóithêm, đây chỉ là cách nhìn riêng của em thì em tin rằng cú pháp PHP tuyệt hơn ASPhay JSP Và theoem thì việc gõ lệnh PHP nhanh hơn ColdFusion và nó không khó họcnhư Perl Tóm lại, em cho rằng PHP cung cấp các tính năng mạnh mẽ để thực hiệnứng dụng Web một cách nhanh chóng

1.1.2 PHP là ngôn ngữ phù hợp nhiều HDH

PHP là ngôn ngữ chạy trên nhiều hệ điều hành và kết nối với nhiều loại cơ sở

dữ liệu khác nhau

Trang 7

Như đã trình bày ở phần kiến trúc web, em có nói là PHP có thể chạy trênWindowsNT/2000/2003 và Unix với sự hỗ trợ của IIS và Apache Nhưng ngoài ra nó

có thể chạy trên một số các platform khác như Netscape, Roxen, hay một vài thứ khác.Như chúng ta biết ASP có thể chạy trên Unix, ColdFusion có thể chạy trên Solaris vàLinux, JSP có thể chạy trên khá nhiều loại platform Đối với PHP, nó có thể chạy tốttrên những platform hỗ trợ các chủng loại trên

1.1.3 Kiến trúc cơ bản

Kiến trúc cơ bản nhất để trang Dynamic Web hoạt động được là nó phải làmviệc trên mô hình clien/server Nôm na là mỗi thứ client hay server đều đảm đươngmột chức năng riêng để hoàn thành công việc chung đó là cho ra một trang web động.Ứng dụng Web phải có một mô hình server có thể là một máy tính làm server thôi,nhằm tập trung hóa việc xử lý dữ liệu Còn các client, còn được hiểu là máy tính củangười sử dụng phải được nối mạng với server, giả sử các máy này truy cập vào mộtwebsite chẳng hạn, thì có nghĩa họ đã truy cập vào server, sau đó lấy dữ liệu từ server

về thể hiện lên màn hình Cùng một lúc có thể có hàng trăm người (client) truy cậpvào cùng một Website được xử lý tập trung trên server

1.1.4 Client

Các ứng dụng phát triển trên nền MySQL và PHP sử dụng tính năng singleclient đó là trình duyệt Web Tuy nhiên, không phải đây chỉ là ngôn ngữ duy nhất đểphát triển ứng dụng Web

Trang 8

Hình 1.1: Sơ đồ hoạt động ứng dụng web trên server

1.1.6 Hệ điều hành

Có rất nhiều chủng loại HĐH PHP và My SQL thuộc nhóm phần mềm ứngdụng có tên gọi là open source (nguồn mở) Việc này có nghĩa là người dùng sẽ xemđược mã nguồn của các ứng dụng sử dụng PHP/MySQL Chúng tận dụng được môhình phát triển dựa vào nguồn mở, cho phép người nào cảm thấy thích nó đều có thểgóp phần vào việc phát triển các dự án Sử dụng PHP để tạo ra một sản phẩm phầnmềm tốt

Có nhiều loại Web Server khác nhau, nhưng chủ yếu trên thị trường chỉ thường

sử dụng Apache và IIS (Internet Information Server của Microsoft)

INTERNET INFORMATION SERVER (IIS) được tích hợp rất tốt với PHP.Trước đây, có một số vấn đề cần phải bàn về tính ổn định của PHP/IIS với việc truyềntải lớn, nhưng PHP và IIS cũng đã được cải thiện liên tục nên việc này không còn

Trang 9

đáng phải bận tâm APACHE là một kiểu mẫu Web Server rất phổ biến Giống nhưLinux, PHP, MySQL nó là một dự án nguồn mở APACHE tận dụng được tính năngcủa third-party.Bởi vì đây là nguồn mở nên bất kỳ ai có khả năng đều có thể viếtchương trình mở rộng tính năng của Apache.PHP hoạt động với tư cách là một phần

mở rộng của Apache, và người ta gọi là một module của Apache

Apache có tính ổn định và tốc độ đáng phải nói Tuy nhiên, cũng có một số sựphàn nàn về nó là không hỗ trợ công cụ đồ họa trực quan, điều có thể giúp người talàm việc một cách dễ dàng hơn Bạn phải thực hiện các thay đổi đối với Apache bằngcách sử dụng dòng lệnh, hoặc sử dụng các tập tin text trong folder chương trìnhApache

Mặc dù Apache chỉ làm việc tốt trên Unix, nhưng cũng có những phiên bảnchạy tốt trên hệ Windows

1.1.8 Website động là gì?

Website động là những thực thể mạnh và linh hoạt, thường được thực hiện dướidạng các ứng dụng hơn là các Website đơn thuần Các ưu điểm của Website động:

bản trình duyệt của người dùng)

của site

mại điện tử và các quá trình tương tự

 Dễ dàng duy trì, cập nhật và phát triển

Trang 10

Middleware là nơi sẽ thực hiện các khối lượng rất lớn công việc chính yếu Với

hỗ trợ này Web Server sẽ không phải cán đáng quá nhiều khối lượng công việc.Nhưng khi phát triển ứng dụng sẽ tốn nhiều thời gia viết mã chương trình để chochương trình có thể hoạt động được.Ngoài PHP ra có một số ngôn ngữ khác có chứcnăng tương tự như ASP, Perl, ColdEusion

1.1.10 PHP là gì?

PHP là chữ viết tắt của “Personal Home Page” do Rasmus Lerdorf tạo ra năm

1994, để theo dõi người dùng truy cập lý lịch trực tuyến của ông Vì tính hữu dụng,khả năng phát triển, PHP đã bắt đầu được sử dụng trong môi trường chuyên nghiệp và

nó đã trở thành “PHP: Hypertext Preprocessor”

PHP là một công nghệ phía máy chủ (server-side) và không phụ thuộc môitrường (cross-platform) Cả hai yếu tố này đều rất quan trọng

1.1.11 Tại sao cần dùng PHP?

PHP được sử dụng để phát triển Website động vì nó tốt, nhanh và dễ dàngnghiên cứu hơn các giải pháp khác PHP có khả năng thực hiện và tích hợp chặt chẽvới hầu hết các cơ sở dữ liệu có sẵn, tính bền vững, linh động và khả năng phát triểnkhông giới hạn Tất cả các đặc tính trên đều miễn phí vì PHP là mã nguồn mở PHPvừa dễ với người sử dụng và vừa có khả năng làm được mọi thứ, đáo ứng yêu cầu củalập trình viên chuyên nghiệp.PHP la module thông dụng cho Apache (máy chủ Webphổ biến nhất) và nó đã có mặt trên 12 triệu Website

1.1.12 Cách làm việc của PHP

PHP là một ngôn ngữ máy chủ, mã lệnh PHP sẽ tập trung trên máy chủ để phục

vụ các trang web theo yêu cầu của người dùng thông qua trình duyệt

Khi người dùng truy cập Website viết bằng PHP, máy chủ đọc mã lệnh PHP và

xử lý chúng theo các hướng dẫn đã được mã hóa

Trang 11

Hình 1.2: Cách làm việc của PHP phù hợp vói mô hình khách-chủ khi người

dùng yêu cầu một trang Web

Hình 1.3: Quá trình xử lý yêu cầu đối với một trang HTML tĩnh

1.2 Tìm hiểu về hệ cơ sở dữ liệu msql

Trang 12

Hình 1.5: Cách hoạt động của phần lớn các ứng dụng Web động sử dụng PHP và

MySQL

Để thực hiện phát triển Website động dùng PHP và MySQL cần những công cụ:

Safari của Apple, Mozilla, Opera )

Qualifies của Macromedia) hoặc IDE (Intergrated Development Environment: Môitrường phát triển tích hợp)

Điều hấp dẫn của việc phát triển các Website động dùng PHP và MySQL là tất cảcác yêu càu có thể được đáp ứng mà không tốn tiền, bất kể hệ ddieuf hành đang sửdụng Apache, PHP và MySQL là những mà nguồn mở

Mặc dù MySQL được phổ biến rất nhiều nhưng nó vẫn có những đối thủ đánggờm đang cạnh tranh với nó Những đối thủ của nó có thể trội hơn về một phươngdiện đặc thù nào đó

Trong phần trên, chúng ta đã bàn sơ qua MySQL Trong phần này, bạn sẽ đượcbiết về những đặc điểm của những Hệ quản trị CSDL khác mà MySQL không hỗ trợ

Trang 13

Với những hạn chế đó đã làm cho MySQL không được chọn để chạy trên một

số các môi trường Nếu bạn đang có kế hoạch bắt đầu cho một ngân hàng chẳng hạn,thì tôi khuyên bạn là MySQL không thích hợp cho bạn

Nhưng đối với phần đông mọi người và phần lớn các ứng dụng, MySQL là sựchọn lựa của họ bởi nó rất thích hợp cho những ứng dụng Web

1.2.2 Tại sao sử dụng PHP và MySQL?

Nói về PHP:

+ Tốc độ nhanh, dễ sử dụng

+ Chạy trên nhiều hệ điều hành.

+ Truy cập bất kỳ loại CSDL nào

+ Luôn được cải tiến và cập nhật

+ Được hướng dẫn kỹ thuật bất cứ lúc nào

+ Hoàn toàn miễn phí

Nói về MySQL: Mặc dù MySQL được phổ biến rất nhiều Trong phần trên, chúng ta

đã bàn sơ qua MySQL.Trong phần này, bạn sẽ được biết về những đặc điểm củanhững Hệ quản trị CSDL khác mà MySQL không hỗ trợ

Với những hạn chế đó đã làm cho MySQL không được chọn để chạy trên một số cácmôi trường.Nếu bạn đang có kế hoạch bắt đầu cho một ngân hàng chẳng hạn, thì tôikhuyên bạn là MySQL không thích hợp cho bạn

Nhưng đối với phần đông mọi người và phần lớn các ứng dụng, MySQL là sự chọnlựa của họ bởi nó rất thích hợp cho những ứng dụng Web

+ Vừa túi tiền

+ Nhanh và mạnh

+ Cải tiến liên tục

Trang 14

1.3 Tìm hiểu về ngôn ngữ UML

Những năm đầu của thập kỷ 90 có rất nhiều phương pháp phân tích, thiết kế hệthống hướng đối tượng và cùng với chúng là các ký hiệu riêng cho từng phương pháp

Số lượng các phương pháp trong khoảng từ 10 đã lên đến gần 50 trong những năm từ

1989 đến 1994 Ba phương pháp phổ biến nhất là OMT (Object Modeling Technique)[James Rumbaugh], Booch91 [Grady Booch] và OOSE (Object-Oriented SoftwareEnginering) [Ivar Jacobson] Mỗi phương pháp đều có những điểm mạnh và yếu NhưOMT mạnh trong phân tích và yếu ở khâu thiết kế, Booch91 thì mạnh ở thiết kế vàyếu ở phân tích OOSE mạnh ở phân tích các ứng xử, đáp ứng của hệ thống mà yếutrong các khâu khác

Do các phương pháp chưa hoàn thiện nên người dùng rất phân vân trong việcchọn ra một phương pháp phù hợp nhất để giải quyết bài toán của họ Hơn nữa, việccác ký hiệu khác nhau của các phương pháp đã gây ra những sự mập mờ, nhầm lẫnkhi mà một ký hiệu có thể mang những ý nghĩa khác nhau trong mỗi phương pháp Ví

dụ như một hình tròn được tô đen biểu hiện một multiplicity trong OMT lại là mộtaggregation trong Booch Thời kỳ này còn được biết đến với tên gọi là cuộc chiếngiữa các phương pháp Khoảng đầu năm 94, Booch đã cải tiến phương pháp của mìnhtrong đó có ứng dụng những ưu điểm của các phương pháp của Rumbaugh vàJacobson Tương tự Rumbaugh cũng cho đăng một loạt các bài báo được biết đến vớitên gọi phương pháp OMT-2 cũng sử dụng nhiều ưu điểm của phương pháp củaBooch Các phương pháp đã bắt đầu hợp nhất, nhưng các kí hiệu sử dụng ở cácphương pháp vẫn còn nhiều điểm khác biệt

Ngôn ngữ mô hình hóa thống nhất UML (Unified Modeling Language) là mộtngôn ngữ trực quan cung cấp cho các nhà phân tích thiết kế các hệ thống hướng đốitượng một cách hình dung ra các hệ thống phần mềm, mô hình hóa các tổ chức nghiệp

vụ và sử dụng hệ thống phần mềm này, cũng như xây dựng và làm tài liệu về chúng.UML đang tiến triển như là chuẩn và trở thành một chuẩn quốc tế được tổ chức tiêuchuẩn ISO (International Standard Organization) chấp nhận

Chúng ta hãy đưa ra câu hỏi: Tại sao phải xây dựng mô hình cho hệ thống?

Trang 15

Mô hình hóa là cách xem xét một bài toán thông qua việc sử dụng các mô hình.

Mô hình dùng để hiểu rõ bài toán, trao đổi thông tin giữa những người liên quan nhưkhách hàng, chuyên gia, người phân tích, người thiết kế… Mô hình giúp cho việc xácđịnh các yêu cầu tốt hơn, thiết kế rõ ràng hơn và khả năng bảo trì hệ thống cao hơn

Mô hình là sự trừu tượng hóa, mô tả mặt bản chất của một vấn đề hoặc một cấutrúc phức tạp bằng cách loại bỏ những chi tiết không quan trọng, khiến cho bài toántrở nên dễ hiểu và dễ nắm bắt hơn Trừu tượng hóa là một khả năng cơ bản của conngười trong việc giải quyết các vấn đề phức tạp Các kỹ sư, kiến trúc sư, các nghệ sĩ

đã từng xây dựng những mô hình từ hàng nghìn năm nay để thử các thiết kế của họtrước khi thực hiện chúng.Việc phát triển các hệ thống phần mềm cũng không ngoại

lệ Để xây dựng một hệ thống phức tạp, những người phát triển phải trừu tượng hóanhững khía cạnh (View) khác nhau của hệ thống, xây dựng các mô hình bằng cách sửdụng các kí hiệu một cách rõ ràng, cẩn thận, kiểm tra xem các mô hình đã thoả mãncác yêu cầu của hệ thống chưa và dần dần thêm vào các chi tiết để có thể chuyển đổi

từ mô hình sang một cài đặt cụ thể

Chúng ta xây dựng mô hình của những hệ thống phức tạp bởi vì chúng ta khôngthể lĩnh hội một lúc toàn bộ hệ thống đó Ví dụ như khi xây một nhà kho chúng ta cóthể bắt tay vào xây ngay, khi xây một ngôi nhà chúng ta có thể cần bản thiết kế củangôi nhà đó Khi cần xây môt tòa nhà cao tầng, chúng ta chắc chắn cần bản thiết kếcủa toà nhà đó Điều này cũng đúng trong lĩnh vực phần mềm Hệ thống càng phứctạp thì việc xây dựng mô hình càng quan trọng Xây dựng mô hình cho phép ngườithiết kế thấy được bức tranh tổng quan của hệ thống, thấy được các thành phần của hệthống tương tác với nhau như thế nào hơn là việc sa lầy vào chi tiết bên trong của cácthành phần đó

Trong thế giới luôn biến động của các ứng dụng hướng đối tượng thì việc pháttriển và bảo trì các ứng dụng có chất lượng cao trong một khoảng thời gian hợp lýngày càng trở nên khó khăn hơn Một tổ chức phát triển phần mềm thành công là tổchức xây dựng được các phần mềm có chất lượng, thoả mãn được mọi yêu cầu củakhách hàng

Trang 16

Mô hình hóa là phần trung tâm trong các công việc, các hoạt động để dẫn tới mộtphần mềm tốt Chúng ta xây dựng mô hình để trao đổi, bàn bạc về cấu trúc và ứng xử(behavior) mong muốn của hệ thống Chúng ta xây dựng mô hình để trực quan hóa vàkiểm soát kiến trúc của hệ thống.

Mô hình có thể mô tả các cấu trúc, nhấn mạnh về mặt tổ chức của hệ thống hoặc

nó có thể mô tả các hành vi, tập trung vào mặt động của hệ thống

Chúng ta xây dựng mô hình để hiểu rõ hơn về hệ thống mà chúng ta đang xâydựng, tạo ra cơ hội để có thể đơn giản hóa và tái sử dụng Chúng ta xây dựng mô hình

để kiểm soát rủi ro

Việc lập mô hình không chỉ dành cho các hệ thống lớn Khi xây dựng mô hìnhchúng ta sẽ đạt được 4 mục đích sau:

mà chúng ta muốn nó sẽ như vậy

xây dựng hệ thống

đưa ra trong quá trình thiết kế hệ thống

Thông qua việc mô hình hóa, chúng ta thu hẹp bài toán mà chúng ta đangnghiên cứu bằng cách chỉ tập trung vào một khía cạnh tại một thời điểm Điều nàycũng giống như phương pháp “chia để trị” mà Edsger Diskstra đã đưa ra: “Giải quyếtmột vấn đề khó bằng cách chia nó thành những bài toán nhỏ hơn mà bạn có thể giảiquyết được.”

Mô hình hóa là việc đơn giản hóa thực tế, loại bỏ những điểm thứ yếu, tuynhiên ta phải chắc chắn rằng không bỏ sót một chi tiết quan trọng nào

Trang 17

Tùy thuộc vào đặc điểm tự nhiên của hệ thống, mỗi mô hình có thể tập trungvào những mặt khác nhau của hệ thống Như hệ thống tập trung vào dữ liệu thì các môhình về phần thiết kế tĩnh của hệ thống sẽ được chú ý hơn Trong hệ thống giao diệnngười dùng thì phần tĩnh và động của Use case sẽ là quan trọng Trong hệ thống thờigian thực, các tiến trình động là quan trọng Cuối cùng, trong hệ thống phân tán dựatrên cở sở Web thì các mô hình về thực thi và triển khai là quan trọng nhất.

Unified Modeling Language là gì?

UML là một ngôn ngữ dùng để

UML là một ngôn ngữ bao gồm một bảng từ vựng và các quy tắc để kết hợpcác từ vựng đó phục vụ cho mục đích giao tiếp Một ngôn ngữ dùng cho việc lập môhình là ngôn ngữ mà bảng từ vựng (các ký hiệu) và các quy tắc của nó tập trung vàoviệc thể hiện về mặt khái niệm cũng như vật lý của một hệ thống

Mô hình hóa mang lại sự hiểu biết về một hệ thống Một mô hình không thểgiúp chúng ta hiểu rõ một hệ thống, thường là phải xây dựng một số mô hình xét từnhững góc độ khác nhau Các mô hình này có quan hệ với nhau

UML sẽ cho ta biết cách tạo ra và đọc hiểu được một mô hình đươc cấu trúctốt, nhưng nó không cho ta biết những mô hình nào nên tạo ra và khi nào tạo ra chúng

Đó là nhiệm vụ của quy trình phát triển phần mềm

UML là ngôn ngữ dùng để trực quan hóa

Đối với nhiều lập trình viên, không có khoảng cách nào giữa ý tưởng để giảiquyết một vấn đề và việc thể hiện điều đó thông qua các đoạn mã Họ nghĩ ra và họ

Trang 18

viết mã Trên thực tế, điều này gặp một số vấn đề Thứ nhất, việc trao đổi về các ýtưởng giữa những người lập trình sẽ gặp khó khăn, trừ khi tất cả đều nói cùng mộtngôn ngữ Thậm chí ngay cả khi không gặp trở ngại về ngôn ngữ thì đối với từng công

ty, từng nhóm cũng có những “ngôn ngữ” riêng của họ Điều này gây trở ngại cho mộtngười mới vào để có thể hiểu được những việc đang được tiến hành Hơn nữa, tronglĩnh vực phần mềm, nhiều khi khó có thể hiểu được nếu chỉ xem xét các đoạn mã lệnh

Ví dụ như sự phân cấp của các lớp, ta có thể phải duyệt rất nhiều đoạn lệnh để hiểuđược sự phân cấp của các lớp Và nếu như người lập trình không mô tả các ý tưởng

mà anh ta đã xây dựng thành mã lệnh thì nhiều khi cách tốt nhất là xây dựng lại trongtrường hợp một người khác đảm nhận tiếp nhiệm vụ khi anh ta rời khỏi nhóm

Xây dựng mô hình sử dụng ngôn ngữ UML đã giải quyết được các khó khăn trên

Khi trở thành một chuẩn trong việc lập mô hình, mỗi kí hiệu mang một ý nghĩa

rõ ràng và duy nhất, một nhà phát triển có thể đọc được mô hình xây dựng bằng UML

UML là ngôn ngữ dùng để chi tiết hóa

Có nghĩa là xây dựng các mô hình một các tỉ mỉ, rõ ràng, đầy đủ ở các mức độchi tiết khác nhau Đặc biệt là UML thực hiện việc chi tiết hoá tất cả các quyết địnhquan trọng trong phân tích, thiết kế và thực thi một hệ thống phần mềm

UML là ngôn ngữ để sinh ra mã ở dạng nguyên mẫu

Các mô hình xây dựng bởi UML có thể ánh xạ tới một ngôn ngữ lập trình cụthể như: Java, C++… thậm chí cả các bảng trong một CSDL quan hệ hay CSDLhướng đối tượng

Trang 19

Việc các yêu cầu có khả năng thường xuyên thay đổi trong quá trình phát triển

hệ thống dẫn đến việc các cấu trúc và hành vi của hệ thống được xây dựng có thể khác

mô hình mà ta đã xây dựng Điều này có thể làm cho một mô hình tốt trở nên vô nghĩa

vì nó không còn phản ánh đúng hệ thống nữa Cho nên phải có một cơ chế để đồng bộhóa giữa mô hình và mã lệnh

UML cho phép cập nhật một mô hình từ các mã thực thi (ánh xạ ngược) Điềunày tạo ra sự nhất quán giữa mô hình của hệ thống và các đoạn mã thực thi mà ta xâydựng cho hệ thống đó

UML là ngôn ngữ để lập và cung cấp tài liệu

Một tổ chức phần mềm ngoài việc tạo ra các đoạn mã lệnh (thực thi) thì còn tạo

ra các tài liệu sau:

Mục đích chính của UML là để xây dựng mô hình cho các hệ thống phần mềm,

nó có thể được sử dụng một cách hiệu quả trong nhiều lĩnh vực như:

Trang 20

UML không chỉ giới hạn trong lĩnh vực phần mềm Nó còn có thể dùng để lập môhình cho các hệ thống không phải là phần mềm như hệ thống pháp luật (luồng côngviệc–workflow), thiết kế phần cứng,…

1.4 Giới thiệu về hệ quản trị nội dung Joomla

1.4.1 Hoàn cảnh ra đời

Tiền thân của Joomla là Mambo, một sản phẩm của Miro Năm 2002, songsong với bản thương mại hóa, Miro cho phát hành Mambo Open Source (gọi tắt làMOS, chữ thường thấy trong mã nguồn Mambo và cả Joomlacho đến tận năm 2008này) Đến năm 2005, Mambo bước vào giai đoạn chín mùi và giành nhiều giải thưởnglớn như là “Giải pháp nguồn mở tốt nhất” và “Giải pháp hoàn hảo cho công nghiệp”tại LinuxWorld Tuy nhiên, đến cuối tháng 8/2005, do bất đồng với Miro, tất cả thànhviên trong nhóm phát triển Mambo đồng loạt rời công ty, lập ra nhóm “Open SourceMatters” Họ xây dựng thương hiệu mới “Joomla!” dựa trên Mambo và phát hành lạivào gần một tháng sau Joomla! 1.0 ra đời trong hoàn cảnh đó

Từ đó đến nay, Joomla! liên tục được cải tiến, đặc biệt là vá các lỗi bảo mật.Bản Joomla! mới nhất là 1.0.13 ra đời tháng 7/2007, ngoài ra thế hệ kế tiếp là Joomla!1.5 được bắt đâu phát triển từ cuối năm 2006, đến nay đang có phiên bản joomla1.5.25, Joomla còn phát triển thêm một số phiên bản như 1.6, 1.7 và 2.5

Joomla! thực sự dễ dùng Giao diện quản trị (back end) bắt mắt, việc cài đặtcác phần mở rộng chỉ đơn giản là tải lên và chạy chương trình cài đặt Theo triết lí của

Trang 21

Joomla!, đơn vị dữ liệu cơ bản là content item (ở bản 1.5 đổi thành article) chứa trongcategory, bản thân category được chứa trong section Như vậy dữ liệu trong Joomla!

tổ chức thành 3 cấp, nhưng trong joomla 1.6 trở lên lại khác, các phiên bản tiếp theocategory chỉ được tổ chức theo các cấp của category Tức là category sẽ phân thànhnhiều category cha và con

Cách tổ chức này rất logic và không gây rắc rối cho người dùng mới Dù vậy,Joomla! không có nền tảng để hỗ trợ các kiểu dữ liệu phức tạp hơn Một nhược điểmkhác là Joomla! được thiết kế dành cho người dùng cuối, nên không cung cấp nhiềuphương tiện can thiệp vào hoạt động bên trong

1.4.2 Giới thiệu về MVC (Model-View-Controler)

Khi chưa có mô hình MVC ta nhận việc lập trình web theo mô hình cổ điển rất phứctạp và khó kiểm soát lỗi Trong khi lập trình một trang jsp,asp hay php ta nhận thấy

mã do server thực thi luôn đi kèm với mã HTML Do vậy sẽ gặp những khó khăn:

- Người thiết kế giao diện cũng cần phải biết các ngôn ngữ lập trình do codengôn ngữ lập trình và mã HTML đan xem nhau

- Việc bảo trì website rất khó khăn

- Khi có lỗi xảy ra việc tìm và sửa lỗi,xác định vị trí lỗi là vấn đề nan giải

Để khắc phục những khó khăn trên, người ta đã đưa ra mô hình MVC (Model – View– Controller) tức là tương ứng với một trang PHP viết theo kiểu cổ điển ta sẽ tách ralàm ba phần:

+ Model: là các lớp nhận yêu cầu để thao tác với cơ sở dữ liệu, tính toán cácyêu cầu và trả về kết quả sang view

+ View: Chính là form nhập dữ liệu hoặc hiển thị dữ liệu được lấy từ model+ Controller: Đồng bộ hóa giữa view và model Tức là nhận yêu cầu của clientthao tác trên view và sau đó yêu cầu model thực hiện để trả về kết quả trên view

Như vậy ta đã có thể tách được mã php và mã html Việc xử lí dữ liệu bây giờchỉ cần xử lí thao tác trong model và controller Các layout hiển thị trong view sẽđược người thiết kế giao diện xử lí bằng mã HTML Như vậy việc debug và xử lí lỗiđược dễ dàng hơn

Trang 22

Đây là những khái niệm chung nhất về các thành phần trong MVC, khi bạnnghiên cứu nhiều frameworks thì mô hình này được biến tấu khác đi một chút nhưngvẫn dựa trên nền tảng này.

Việc xử lí kết quả trả về của model có thể được gọi trong controller rồi sau đótruyền qua view để hiển thị Ngoài ra nếu client không có yêu cầu xử lí ngoài việchiển thị dữ liệu thì view cũng có thể gọi model để lấy kết quả trả về sau đó truyềnsang layout để hiển thị

Trong khi ý tưởng phía sau một component dường như là khá đơn giản thì cácđoạn code có thể nhanh chóng trở lên rất phức tạp khi các đặc điểm bổ sung đượcthêm vào hoặc giao diện được tùy biến

Model-View-Controler (gọitắtlàMVC) là một mẫu thiết kế phần mềm đượcdùng để tổ chức các đoạn mã theo cách mà việc xử lý dữ liệu (business logic) và việcbiểu diễn dữ liệu là tách rời nhau Tiền đề nằm sau hướng tiếp cận này là nếubussiness logic được nhóm vào trong một section thì giao diện và tương tác ngườidùng bao quanh dữ liệu có thể định dạng và tùy biến lại mà không có ảnh hưởngđến việc phải lập trình lại bussiness logic (nghĩa là hình thức và nội dung là tách rờinhau, do đó khi thay đổi hình thức thể hiện thì không ảnh hưởng đến nội dung)

Có ba phần chính trong một MVC component (ba phần này bao gồm Model,View và Controler)

Chúng được mô tả một cách vắn tắt ở dưới đây Nếu bạn cần nhiều thông tinđầy đủ hơn xin vui lòng tham khảo thêm trong các đường dẫn được cung cấp ở cuốibài hướng dẫn này

Model

Một model là thành phần của component đóng gói dữ liệu của ứng dụng Nóthường cung cấp các thủ tục để quản lý và thao tác dữ liệu này theo một cách nào đó,trong đó có bổ sung thêm các thủ tục để lấy dữ liệu từ model Trong trường hợp củachúng ta model sẽ chứa các phương thức như bổ sung, loại bỏ và cập nhật thông tin vềnhững lời chào mừng trong cơ sở dữ liệu Nó còn chứa phương thức để lấy danh sáchcác lời chào trong CSDL Nói một cách tổng quát, việc truy cập vào CSDL lớp dưới

sẽ được đóng gói trong model Theo cách này, nếu một ứng dụng chuyển đổi sangviệc sử dụng một file bình thường để lưu trữ thông tin của nó thay vì sử dụng CSDL,

Trang 23

thì chỉ có thành phần model là thay đổi, các thành phần view và controler là khôngđổi.

Trang 24

View là một thành phần của component được sử dụng để trả lại dữ liệu từmodel theo cách phù hợp với tương tác Đối với các ứng dụng web, view thôngthường là các trang HTML để trả lại dữ liệu View lấy dữ liệu từ model (dữ liệu nàyđược chuyển qua nó để tới controler) Và đưa dữ liệu vào trong template (dữ liệu sẽhiển thị với người dùng) View không làm thay đổi dữ liệu Nó chỉ hiển thị dữ liệu lấy

từ model

Controller

Controler chịu trách nhiệm phản hồi các hành động của người dùng Trong cácứng dụng web, một hành động của người dùng thông thường là một yêu cầu tải trang.Controler sẽ xác định yêu cầu gì được đưa ra bởi người sử dụng và phản hồi thích hợpbằng việc yêu cầu model tính toán dữ liệu phù hợp và chuyển từ model vào view.Controler không thể hiện dữ liệu từ model, nó kích hoạt các phương thức trong model

để hiệu chỉnh dữ liệu và sau đó chuyển từ model sang view để hiển thị dữ liệu

Trong joomla thành phần quan trọng nhất là components, nó được phát triểndựa trên mô hình MVC và được hỗ trợ thông qua ba lớp la JModel, JController,JView

Trong joomla component ta thường thấy cấu trúc các thư mục như sau:

Trang 25

1.5 Giới thiệu Paypal

1.5.1 Paypal là gì ?

bạn đưa tiền từ tài khoản vào tài khoản PayPal để giao dịch trên mạng Hoặc rút tiền

từ tài khoản PayPal về ngân hàng Khi có PayPal trung gian thì quá trình giao dịch đơn giản hơn và bảo mật hơn rất nhiều Chi tiết hơn:

- Paypal là một công ty hoạt động trong lĩnh vực thương mại điện tử, chuyên cung cấp các dịch vụ thanh toán và chuyển tiền qua mạng Internet Đây là dịch vụ thanh toán và chuyển khoản điện tử thay thế cho các phương thức truyền thống sử dụng giấy

tờ như séc và các lệnh chuyển tiền Paypal thu phí thông qua thực hiện việc xử lý thanh toán cho các hãng hoạt động trực tuyến, các trang đấu giá, và các khách hàng doanh nghiệp khác Vào tháng 10 năm 2002, eBay đã mua lại toàn bộ Paypal Trụ sở chính của Paypal hiện đặt tại khu các công ty con của eBay trong toà nhà North First Street, thung lũng Sillicon, San Jose, California Paypal cũng có các hoạt động quan trọng tại Omaha, Nebraska; Dublin, Ireland; và Berlin, Đức

Mọi khách hàng muốn lập tài khoản Paypal đều phải trên 18 tuổi có thẻ ghi nợ(debit card)/thẻ tín dụng (credit card) (thẻ dùng để xác nhận tài khoản PayPal và chitrả cho việc thanh toán online), một tài khoản ngân hàng (dùng để rút tiền về ViệtNam) và một địa chỉ e-mail Thẻ và tài khoản ngân hàng không bắt buộc khi đăng kínhưng để sử dụng PayPal lâu dài tốt nhất bạn nên ra ngân hàng để mở thẻ và mở tàikhoản

Hình thức hoạt động của PayPal cũng như của các cổng thanh toán trực tuyến khác:

Hình 1.6: Sơ đồ hoạt động khi thanh toán bằng paypal

Trang 26

Hiện nay trên thế giới có rất nhiều công ty hoạt động trong lĩnh vực giống như của

Lượng, Mobivi của Việt Nam v v Nhưng qua nhiều năm hoạt động, thì PayPal đãtrở thành 1 cổng thanh toán trực tuyến có uy tín và độ bảo mật cũng như phổ biến caonhất thế giới trong lĩnh vực mua bán trực tuyến, điều này cũng dễ hiểu tại sao lại cónhiều người lựa chọn sử dụng nó đến thế

1.5.2 Vì sao nên sử dụng paypal

- Như đã nói ở trên, sử dụng paypal đơn giản và bảo mật hơn rất nhiều, ngoài ra còn

có các lý do sau:

+Cực kì bảo mật

+Hỗ trợ an toàn cho cả người mua và người bán

+Thanh toán qua paypal rất nhanh chóng, an toàn và tiện lợi

+Một khi sử dụng paypal để thanh toán, bạn sẽ không phải nhập số thẻ thanh toán như visa…

+Một điểm khác biệt khá lớn là sự uyển chuyển trong việc quản lý tiền của kháchhàng Đó là chức năng chanrgebank, khách hàng có thể đòi lại số tiền sau khi đã gửitiền vào tài khoản khác Mặc dù rất phức tạp nhưng khách hàng vẫn yên tâm không bịlừa đảo

Trang 27

CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

Hiện tại số dự án của công ty rất nhiều nhưng chưa có chương trình quản lý nênviệc theo dõi tiến độ triển khai, quản lý tổng thể các dự án và việc phản hồi của kháchhàng vẫn còn hạn chế Chính vì vậy, em đã đưa ra mục tiêu xây dựng một ứng dụngtrên nền web có thể quản lý được các dự án của công ty Việc này sẽ giúp cho việcquản lý và phân công công việc dễ dàng hơn Ngoài ra, Ứng dụng còn cho phép traođổi thông tin giữa khách hàng và người quản lý một cách dễ dàng

Sau quá trình khảo sát tại công ty, từ yêu cầu em đưa ra quy trình của một dự

án được thực hiện tại công ty như sau:

- Toàn bộ quy trình thực hiện một dự án được mô tả trong sơ đồ sau:

Hình 2.1: Quy trình thực hiện một dự án

Trang 28

Quá trình được thể hiện qua các bước sau:

- Khách hàng yêu cầu thực hiện dự án

- Quá trình thảo luận giữa khách hàng và người quản lý

- Xây dựng yêu cầu ở mức chung

- Tính toán thời gian

- Khách hàng đặt cọc tiền

- Kiểm tra số tiền khách hàng gửi

- Bắt đầu thực hiện dự án

- Xây dựng yêu cầu ở mức chi tiết

- Xây dựng kế hoạch (thời gian) (*)

- Phân công công việc cho nhân viên

- Nhân viên thực hiện công việc

- Báo cáo công việc theo từng ngày (thời gian và tiến độ)

- Kiểm tra các yêu cầu hoàn thành

- Báo cáo trạng thái dự án

- Nếu khách hàng cảm thấy không hài lòng -> *

- Nếu khách hàng hài lòng -> Hoàn thành dự án

Trong quy trình trên ta còn có thể phân chia thành các quy trình con như sau:

Trang 29

Hình 2.2: Quy trình con thực hiện một dự án

Trên đây là quy trình yêu cầu một dự án mới của khách hàng Quy trình được mô tảnhư sau:

- Khách hàng từ trang chủ của website chọn yêu cầu một dự án mới

- Hệ thống sẽ đưa ra form cho khách hàng điền thông tin

- Trong khi khách hàng điền thông tin hệ thống sẽ kiểm tra thông tin khách hàngnhập

- Hệ thống đưa thông tin khách hàng nhập vào cơ sở dữ liệu và báo cho ngườiquản lý biết để liên lạc với khách hàng trong thời gian

Trang 30

Hình 2.3: Quy trình thực hiện yêu cầu một dự án của khách hàng

Trên đây là quy trình quản lý dự án Toàn bộ quy trình được mô tả như sau:

- Người quản lý yêu cầu thông tin

- Hệ thống sẽ kiểm tra quyền truy cập

- Nếu không phải là người quản lý hệ thống sẽ không cho vào và kết thúc phiênlàm việc

- Nếu là người quản lý hệ thống sẽ nhận tiêp yêu cầu của người quản lý:

- Thêm dự án,sửa, xóa và xem chi tiết dự án: Hệ thống sẽ xử lý yêu cầu và đưa rakết quả

Trang 31

Hình 2.4: Đăng nhập hệ thống

Trên đây là quá trình đăng nhập vào hệ thống Quá trình đăng nhập được thể hiện nhưsau:

- Hệ thống hiển thị form đăng nhập

- Người sử dụng sẽ điền thông tin vào form

- Sau khi kiểm tra thông tin đăng nhập nếu không hợp lệ hệ thống sẽ đưa người sửdụng quay trở về form đăng nhập để người dùng đăng nhập lại và thông báo ngườidùng nhập sai

Trang 32

- Nếu thỏa mãn hệ thống sẽ kiểm tra quyền truy cập của người sử dụng thông quagroup của người sử dụng.

- Hệ thống sẽ hiển thị thông tin riêng biệt cho từng nhóm người sử dụng theoquyền truy cập của họ

Hình 2.5: Quy trình người sử dụng sử dụng chức năng phản hồi

2.1.2 Môi trường và mô tả hệ thống

Mục đích chính của hệ thống được xây dựng hệ thống quản lý dự án sẽ manglại lợi thế cạnh tranh cho công ty gia công phần mềm bằng cách tăng sự cộng tác củanhóm phát triển, cung cấp cho khách hàng một phương pháp dễ dàng hơn để truy cập

và cung cấp thông tin phản hồi kịp thời cho các dự án đang diễn ra

Môi trường hệ thống chủ yếu sẽ chạy trên Internet Nó đòi hỏi một máy chủ có

hỗ trợ PHP, MySQL để chạy các ứng dụng web và di động Các dữ liệu sẽ được

Trang 33

chuyển qua mạng Internet Hệ thống này sẽ được sử dụng trên toàn thế giới cho kháchhàng đến từ khắp nơi trên thế giới những người muốn bắt đầu dự án với công ty

Hệ thống sẽ được phát triển dựa trên 5 hợp phần, đó là: quản lý dự án, quản lýtài nguyên, các thành viên đội ngũ quản lý, quản lý khách hàng, quản lý quản lý.Những hệ thống được xây dựng riêng biệt và tương tác với nhau thông qua hệ thốngdựa trên web

Các giao dịch trong hệ thống chủ yếu được tập trung vào quản lý dự án Cáckhách hàng sẽ bắt đầu một dự án bằng cách gửi một yêu cầu người quản lý dự án,quản lý sau đó sẽ kiểm tra các chi tiết dự án và quyết định để làm điều đó hay không,sau khi dự án đã được phê duyệt, danh sách yêu cầu của dự án sẽ được xây dựng dựatrên khách hàng và quản lý dự án quyết định, yêu cầu dự án sẽ được giao cho thànhviên trong nhóm phát triển, sẽ có thông tin phản hồi từ thành viên nhóm quản lý dự

án, khách hàng luôn luôn có thể kiểm tra chi tiết dự án và hoàn thành dự án trong thờihạn được giao

Mặc dù hệ thống có thể dễ dàng hỗ trợ tất cả các bên liên quan trong hệ thốngquản lý dự án, tuy nhiên nó sẽ có một số khả năng sử dụng hạn chế và chức năng.Hiện tại, hệ thống chỉ có thể làm việc với các dự án công nghệ thông tin, chủ yếu là dự

án phát triển web và môi trường gia công phần mềm, nó sẽ cần phải phát triển để quản

lý một dạng khác của dự án

Trang 34

2.2 Phân tích và thiết kế hệ thống

cơ bản của việc sử dụng máy tính, trình duyệt và Web

Quản lý dự án là actor chính của hệ thống Họ sẽ quản lý dự án và tất cả cácnguồn lực khác để hoàn thành công việc Quản lý dự án sẽ cần phải có một số kỹ năng

cơ bản để quản lý một dự án như: kỹ năng kỹ thuật mạnh mẽ, ước tính, quản lý nguồnnhân lực, mối quan hệ tốt và lãnh đạo tốt

Nhóm thành viên là người sẽ làm việc cho dự án Trong hệ thống này, dự án sẽđược chia thành các nhiệm vụ và cung cấp cho các thành viên, nó có thể được trựctuyến và tất cả mọi người ở khắp mọi nơi có thể làm việc cho dự án Nó có lợi thếnhưng cũng có những bất lợi, làm việc trực tuyến quản lý dự án sẽ rất khó để quản lýquá trình Các thành viên trong nhóm cần phải có kỹ năng sau đây để làm việc trong

hệ thống: kỹ năng kỹ thuật trong nghiên cứu và làm việc cho dự án, kỹ năng làm việctheo nhóm để giao tiếp với một thành viên khác trong nhóm và quản lý dự án Họcũng cần phải có trách nhiệm cho số lượng công việc và gắn bó với các mốc thời giancủa dự án

Trang 35

2.2.2 Các biểu đồ usecase

Quản lý tài khoản: Trường hợp này sử dụng tất cả các công việc mà các actortrong hệ thống sẽ sử dụng để quản lý tài khoản của họ trong khi tương tác với hệthống Nó sẽ cung cấp cho người sử dụng chức năng để làm: đăng nhập/ đăng xuất,đăng ký và cập nhật hồ sơ người dùng của họ

Xem danh sách dự án: Điều kiện cho usecase này sử dụng là người truy cập cầnphải đăng nhập và được phép cho tài khoản đó Mỗi actor trong hệ thống quản lý dự

án sẽ có phần khác nhau sau khi đăng nhập vào hệ thống Quản lý dự án có thể liệt kêtất cả các dự án Các thành viên trong nhóm có thể liệt kê các dự án mà họ đang làmviệc trên đó Các khách hàng chỉ có thể liệt kê các dự án mà họ bắt đầu

Yêu cầu trích dẫn nội dung bài viết dự án: Khách hàng có thể bắt đầu một dự

án với công ty bằng cách yêu cầu một báo giá cho dự án của họ Sau khi yêu cầu hệthống tự động có thể tạo một tài khoản của khách hàng cho khách

Quản lý chi tiết dự án: Đây là trường hợp sử dụng chính cho hệ thống.Tìnhtrạng trước khi cho trường hợp này sử dụng là khách truy cập cần đăng nhập và cácloại người dùng đã được xác định Mỗi loại thành viên cũng có thể có các phươngpháp và quan điểm khác nhau Quản lý dự án có thể liệt kê tất cả các yêu cầu của dự

án, thêm yêu cầu và phân công công việc cho các thành viên trong nhóm Các thànhviên trong nhóm có thể liệt kê các yêu cầu của dự án được giao và xem chi tiết yêucầu Các khách hàng có thể xem chi tiết dự án và các chi tiết yêu cầu

Thông tin phản hồi: Trường hợp sử dụng sẽ hỗ trợ tất cả các actor trong hệthống giao tiếp với nhau trong 2 phần, thành viên nhóm và khách hàng

Tạo các báo cáo: Trường hợp sử dụng sẽ hỗ trợ quản lý dự án để có được báocáo của dự án

Trang 36

Hình 2.1: Usecase cho toàn bộ hệ thống

Ngày đăng: 20/04/2017, 22:21

HÌNH ẢNH LIÊN QUAN

Hình 2.2: Quy trình con thực hiện một dự án - Xây dựng website quản lý dự án cho công ty TNHH dịch vụ và phát triển công nghệ EXP
Hình 2.2 Quy trình con thực hiện một dự án (Trang 29)
Hình 2.3: Quy trình thực hiện yêu cầu một dự án của khách hàng - Xây dựng website quản lý dự án cho công ty TNHH dịch vụ và phát triển công nghệ EXP
Hình 2.3 Quy trình thực hiện yêu cầu một dự án của khách hàng (Trang 30)
Hình 2.1: Usecase cho toàn bộ hệ thống - Xây dựng website quản lý dự án cho công ty TNHH dịch vụ và phát triển công nghệ EXP
Hình 2.1 Usecase cho toàn bộ hệ thống (Trang 36)
Hình 2.2: Biểu đồ usecase quản lý tài khoản của quản trị website - Xây dựng website quản lý dự án cho công ty TNHH dịch vụ và phát triển công nghệ EXP
Hình 2.2 Biểu đồ usecase quản lý tài khoản của quản trị website (Trang 37)
Hình 2.4: Biểu đồ usecase của người quản lý dự án - Xây dựng website quản lý dự án cho công ty TNHH dịch vụ và phát triển công nghệ EXP
Hình 2.4 Biểu đồ usecase của người quản lý dự án (Trang 39)
Hình 2.5:Biểu đồ usecase của nhân viên - Xây dựng website quản lý dự án cho công ty TNHH dịch vụ và phát triển công nghệ EXP
Hình 2.5 Biểu đồ usecase của nhân viên (Trang 40)
Hình 2.6: Sơ đồ hoạt động của tài khoản - Xây dựng website quản lý dự án cho công ty TNHH dịch vụ và phát triển công nghệ EXP
Hình 2.6 Sơ đồ hoạt động của tài khoản (Trang 41)
Hình 2.7: Sơ đồ hoạt động xem danh sách dự án - Xây dựng website quản lý dự án cho công ty TNHH dịch vụ và phát triển công nghệ EXP
Hình 2.7 Sơ đồ hoạt động xem danh sách dự án (Trang 42)
Hình 2.11: Sơ đồ hoạt động của hoạt động giao việc - Xây dựng website quản lý dự án cho công ty TNHH dịch vụ và phát triển công nghệ EXP
Hình 2.11 Sơ đồ hoạt động của hoạt động giao việc (Trang 45)
Hình 2.13: Sơ đồ trình tự quản lý tài khoản. - Xây dựng website quản lý dự án cho công ty TNHH dịch vụ và phát triển công nghệ EXP
Hình 2.13 Sơ đồ trình tự quản lý tài khoản (Trang 47)
Hình2.14: Sơ đồ trình tự danh sách dự án. - Xây dựng website quản lý dự án cho công ty TNHH dịch vụ và phát triển công nghệ EXP
Hình 2.14 Sơ đồ trình tự danh sách dự án (Trang 48)
Hình 2.16: Sơ đồ trình tự phản hồi. - Xây dựng website quản lý dự án cho công ty TNHH dịch vụ và phát triển công nghệ EXP
Hình 2.16 Sơ đồ trình tự phản hồi (Trang 50)
Hình 2.17: Sơ đồ trình tự phân công công việc. - Xây dựng website quản lý dự án cho công ty TNHH dịch vụ và phát triển công nghệ EXP
Hình 2.17 Sơ đồ trình tự phân công công việc (Trang 51)
Hình 2.18: Sơ đồ lớp - Xây dựng website quản lý dự án cho công ty TNHH dịch vụ và phát triển công nghệ EXP
Hình 2.18 Sơ đồ lớp (Trang 53)
Hình 2.19:  lược đồ cơ sở dữ liệu của hệ thống quản lý dự án. - Xây dựng website quản lý dự án cho công ty TNHH dịch vụ và phát triển công nghệ EXP
Hình 2.19 lược đồ cơ sở dữ liệu của hệ thống quản lý dự án (Trang 55)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w