MỤC LỤC
MỤC LỤC 1
CHƯƠNG 1. NHỮNG VẤN ĐỀ CHUNG 3
CHƯƠNG 3. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 20
3.1 Mô tả hệ thống : 20
3.1.2 Quy trình xử lý 22
CHƯƠNG 4. CÀI ĐẶT HỆ THỐNG 47
CHƯƠNG 5. KẾT LUẬN 70
TÀI LIỆU THAM KHẢO 74
LỜI NÓI ĐẦU
Ngày nay cùng với sự phát triển của ngành công nghệ thông tin, công
tác tin học hóa trong mọi lĩnh vực, mọi ngành nghề đã giúp nâng cao hiệu
1
quả công việc. Do vậy ngày càng có nhiều dự án triển khai ứng dụng
công nghệ thông tin vào trong hoạt động của các đơn vị, tập thể và cá
nhân, trong đó là sự gia tăng các dự án phát triển phần mềm phục vụ nhu
cầu quản lý, điều hành công việc, kinh doanh, học tập…Có rất nhiều dự
án được triển khai đã không hoàn thành, hoặc chậm trễ, chất lượng không
đảm bảo, phí tổn lớn…Vì thế đòi hỏi cần phải có một sự quản lý chặt chẽ
đối với các dự án (nhất là các dự án có vốn đầu tư lớn) để dự án triển khai
đạt hiệu suất cao, hoàn thành đúng hạn, đạt yêu cầu chất lượng đã đặt ra,
sử dụng một cách hợp lý,hiệu quả các phương tiện, nguồn lực.Với những
đặc thù của dự án phần mềm (các yêu cầu, phạm vi, ước lượng thời gian
hoàn thành, lợi nhuận chính xác có thể khó xác định, dễ thay đổi về yêu
cầu của người sử dụng, nền tảng công nghệ mới ) thì yêu cầu cần có một
sự quản lý tập trung và xuyên suốt là đặc biệt quan trọng.
Tuy nhiên việc quản lý hiện nay chủ yếu là do con người quản lý.Với
những dự án lớn, thực hiện trong thời gian dài, số người tham gia nhiều
thì việc quản lý trở nên phức tạp, khó quản lý tiến độ thực hiện cũng như
việc được tiến hành trong quá trình thực hiện dự án.
• Lập các thống kê chi tiết dự án.
Phạm vi đề tài :
• Khảo sát, phân tích nghiệp vụ, quy trình quản lý dự
án phần mềm.
• Phân tích, thiết kế hệ thống
• Cài đặt hệ thống đáp ứng yêu cầu đề ra.
1.2 Quy trình thực hiện một dự án phần mềm
1.2.1 Khái niệm :
Có nhiều định nghĩa về dự án và quản lý dự án, dưới đây là một
trong những cách hiểu về dự án và quản lý dự án:
Một dự án là một tổ chức tạm thời được dẫn dắt bởi một người
quản trị để đáp ứng các yêu cầu về chức năng, chất lượng, thời hạn
và chi phí đã được xác định.Một dự án phần mềm là một dự án
trong đó sản phẩm cuối là phần mềm hoặc những dịch vụ liên quan
mật thiết đến công nghệ thông tin.
Quản lý dự án phần mềm là một tập hợp các hoạt động để đạt
được mục đích đã đặt ra đối với dự án phần mềm; đồng thời thỏa
mãn những đòi hỏi về chất lượng, thời hạn và giá thành. Đó là sự
kết hợp chặt chẽ giữa kiến thức, kinh nghiệm và công cụ.
Đặc điểm của dự án phần mềm :
• Phần mềm là vô hình
• Phần mềm được phát triển bởi trí tuệ của con người
• Vấn đề làm việc tập thể là vô cùng quan trọng.
Các yếu tố chính của dự án phần mềm :
4
• Yêu cầu (Requirement)
• Tài nguyên (Resources)
• Chất lượng (Quality)
• Chi phí (Cost)
án để trình lên cấp trên xin đầu tư kinh phí. Đề cương này đưa
ra những thông tin chung về dự án như: tên dự án, cơ quan chủ
trì dự án, mục tiêu của dự án, nội dung chính của dự án, kết quả
cần đạt được, dự toán kinh phí thực hiện dự án
• Nghiên cứu khả thi : mô tả các giải pháp kỹ thuật
có thể sử dụng để giải quyết vấn đề, đánh giá về tài chính cho
mỗi giải pháp đó, phân tích và đề xuất giải pháp tối ưu nhất,
chứng tỏ rằng tại thời điểm hiện tại đơn vị có thể triển khai thực
hiện dự án khả thi này.
• Tài liệu yêu cầu : giới thiệu chung những vấn đề
cần giải quyết ( chức năng nhiệm vụ, cơ cấu tổ chức, lịch sử của
vấn đề…), mục tiêu của dự án, mô tả các chức năng chính của
hệ thống ( hệ thống làm việc như thế nào), sơ bộ về các thông
tin đầu vào cần thiết và các đầu ra của hệ thống.
• Danh sách rủi ro : liệt kê các rủi ro có thể xảy ra
trong mỗi giai đoạn của dự án, xác suất xảy ra và mức độ ảnh
hưởng tới dự án.
• Kế hoạch ban đầu:
o Mục tiêu của kế hoạch ban đầu : đây là tài liệu trong đó
bước đầu vạch ra các bước, xác định chi phí, công việc, số
lượng người cần thiết cho dự án, lịch làm việc cho mỗi
6
người…những hoạt động chính mà nhóm dự án sẽ phải thực
hiện để tạo ra các sản phẩm yêu cầu.
o Các bước trong quá trình làm kế hoạch :
+ Phân chia công việc : việc phân chia công việc là rất cần
thiết qua đó có thể : sử dụng tốt nhất nguồn nhân lực bằng
cách giao cho mỗi người một phần việc đúng với năng lực,
dễ đánh giá và ước lượng đối với công việc nhỏ, dễ dàng sắp
xếp công việc, dễ kiểm tra tiến độ công việc.Các công việc
kế ở mức tổng thể thành các phần nhỏ hơn.Các thành phần
của phần cứng được chi tiết đến mức các khối, các thành
phần phần mềm được chi tiết hóa đến mức các chương
trình trong mỗi module hoặc mỗi ứng dụng.
• Kết hợp với kết quả thiết kế hệ thống mức tổng thể để
viết tài liệu ĐẶC TẢ THIẾT KẾ
• Xem xét lại các ước lượng: tại thời điểm cuối của giai
đoạn thiết kế cần tiếp tục xem xét lại kế hoạch dự án, đặc
biệt là xem xét lại các đánh giá để đánh giá chính xác hơn
lượng thời gian cần thiết để lập trình.
Giai đoạn thực hiện :
- Mục đích : giai đoạn này sẽ thiết kế chi tiết và cài đặt, ráp
nối các thành phần, các module trong hệ thống.
- Các công việc chính :
• Thiết kế chi tiết các module và lập trình
• Ghép nối các phần trong hệ thống
• Dự toán và tổ chức mua thiết bị phần cứng, phần mềm
8
• Chỉnh sản phẩm cho phù hợp với yêu cầu thực tế
• Kiểm thử từng phần các module
Giai đoạn kiểm thử hệ thống :
- Mục đích : tích hợp tất cả các phần cùng hoạt động và
kiểm tra cặn kẽ tất cả các phần, các module theo các chức
năng đã ghi trong bản thiết kế
- Các hoạt động chính :
• Tích hợp và kiểm thử từng phân hệ
• Tích hợp và kiểm thử đối với toàn bộ hệ thống lớn.
- Các tài liệu cần có:
• Kế hoạch tích hợp
• Kế hoạch kiểm thử hệ thống
• Tài liệu hướng dẫn bảo trì
• Tài liệu đào tạo
• Hồ sơ bảo hành
1.3 Các nội dung quản lý trong thực hiện dự án phần mềm
1.3.1 Lập kế hoạch dự án
Người quản trị dự án và kỹ sư phần mềm xác định nhân tố
con người, máy tính và các tài nguyên tổ chức yêu cầu để phát
triển ứng dụng.
Kế hoạch dự án chính là sơ đồ các nhiệm vụ, thời gian và
các mối quan hệ giữa chúng. Việc lên kế hoạch, nói chung,
thường gồm các bước sau:
10
Định ra mục tiêu, nhiệm vụ của dự án: các nhiệm vụ
phát triển ứng dụng, các nhiệm vụ đặc trưng của dự án,
các nhiệm vụ về tổ chức giao diện, kết quả cuối cùng
cần đạt được, thời gian phải hoàn thành, các tiêu chuẩn
kỹ thuật…
Sự phụ thuộc giữa các công việc
Ấn định thời gian hoàn thành cho mỗi công việc bằng
cách tính toán thời gian hợp lý nhất cho mỗi công việc.
Xác định các phương tiện cần huy động (nhân lực, ngân
sách, thiết bị…) : xác định kỹ năng và kinh nghiệm cần
có của người thi hành nhiệm vụ để xác định dùng bao
nhiêu người và có kỹ năng gì cho dự án. Sau đó xác
định lịch trình làm việc và người quản trị dự án xác
định ngân sách cho dự án.
Xác định cách thức tổ chức thực hiện dự án.
1.3.2 Quản lý rủi ro:
Lường trước các vấn đề rủi ro có thể xảy ra để đề xuất các
biện pháp theo dõi và hành động kịp thời.
những người có liên quan tới sự thay đổi này.
1.4 Vấn đề chi phí và thời gian trong quản lý dự án phần mềm
1.4.1 Vấn đề chi phí
Cùng với chất lượng và thời gian, chi phí là một trong ba vấn đề
quan trọng nhất trong việc quản lý dự án phần mềm. Làm thế nào
để dẫn dắt dự án đo đến kết thúc mà không vượt qua chi phí ban
đầu? Đây là một vấn đề rất khó khăn vì trong quá trình thực hiện
dự án chúng ta sẽ gặp rất nhiều khó khăn có thể phát sinh và làm
tiêu tốn chi phí của dự án. Ví dụ khách hàng yêu cầu phát triển
thêm một số phần, nhân viên bỏ việcm phải trả tiền lương làm
thêm giờ…
12
Ngay từ đầu dự án, ngân sách đã được tính toán dựa trên số phân
tích viên hệ thống, số người lập trình, người lãnh đạo, thời gian
làm việc của từng người…
Các lý do dẫn đến việc vượt quá chi phí:
• Về mặt nhân sự: Đánh giá thấp hoặc không chính xác khả
năng làm việc của nhân viên trong dự án. Nhân viên không
đáp ứng được yêu cầu của công việc, hoặc có vấn đề với môi
trường phát triển dự án.
• Các vấn đề ngoài lề: Năng suất đối tác thấp, phát sinh yêu
cầu mới từ bên ngoài. Vậy làm thế nào để quản lý được chi
phí?
• Phát hiện sớm các triệu chứng về giá. Ví dụ: chi phí vượt giá
hợp đồng.
• Phân tích nguyên nhân thực sự.
• Dự tính ảnh hưởng theo quan điểm về giá.
• Chỉnh dự án theo giá chấp nhận. Ví dụ: có vấn đề về nhân sự
hoặc có vấn đề về người dùng hoặc có vấn đề về đối tác.
1.4.2 Vấn đề thời gian
Tìm giải pháp hạn chế thấp nhất ảnh hưởng.
14
CHƯƠNG 2. HƯỚNG TIẾP CẬN CỦA ĐỀ TÀI
Dự án phần mềm có một đặc điểm khác rất xa với các dự án thông
thường khác. Đó là bộ bất ổn rất cao. Dự án phần mềm bao giờ cũng
đi kèm theo vấn đề phát triển phần mềm nên rất khó dự đoán chính
xác được tiến triển. Bởi vì không ai dám chắc phần mềm viết ra có bao
nhiêu dòng lệnh để từ đó tính ra được chi phí cần thiết… Chính vì
vậy, việc quản lý dự án phần mềm là cực kỳ cần thiết. Nhưng không
phải ai cũng nhận thức được điều này. Nhiều người vẫn quen làm việc
theo cảm tính mà không có kế hoạch. Vì vậy những rủi ro lại càng
nhiều. Việc tập cho mình thói quen làm việc theo kế hoạch là việc cần
thiết.
Tổ chức dự án phần mềm là một tổ chức tạm thời, trong nội tại của
nó đã có các tiềm năng gây mất ổn định. Trong quá trình thực thi dự
án rất có thể xảy ra viêc thành viên dự án muốn bỏ việc vì vấn đề
lương bổng không thoả đáng, vì vấn đề quan hệ giữa các thành viên
trong dự án, vì không thích công việc… khi đó thì chúng ta sẽ phải
giải quyết như thế nào?
Thời hạn đặt ra cho dự án thường bị quá hạn, ngân sách thường bị
vượt, chất lượng thì không thể chắc chắn vì có sự phát triển phần mềm
15
trong đó, và không ai có thể đánh giá được chất lượng của phần mềm
khi đang phát triển nó.
Chính vì vậy mà chúng ta cần phải quản lý dự án, cho dù bạn có rất
nhiều kinh nghiệm thì vẫn cứ phải cẩn thận vì chẳng có dự án nào
giống dự án nào. Và bởi vì không ai có thể lường trước các diễn biến
trong quá trình thực hiện dự án.
Liệu quản lý dự án có giải quyết được tất cả các vấn đề sẽ xảy ra
trong khi thực hiện dự án không? Rất tiêc câu trả lời là không. Tuy
Hình 2-2-1: Cây phân rã công việc
18
2.3 Quản lý nhân sự dự án theo hướng phân cấp
Ứng dụng quản lý dự án phần mềm được thực hiện trên
Web,trong đó mỗi công việc chỉ được phụ trách bởi một người.
Theo sơ đồ phân rã công việc thì các công việc cha và công việc
con của nó, một công việc đó do một người phụ trách nên nhân sự
cũng có sự phân cấp.
Một người khi phụ trách công việc sẽ thuộc sự quản lý trực tiếp
của người phụ trách công việc cha của công việc mà người đó đang
phụ trách.
Một khi phụ trách một công việc sẽ quản lý trực tiếp các nhân
viên phụ trách các công việc con của công việc của người đó đang
phụ trách.
Người có chức vụ cao nhất là người phụ trách công việc gốc
( công việc không có công việc cha ), người này chính là trưởng dự
án.
Người có chức vụ thấp nhất là người phụ trách công việc không
có công việc con.
Hình 2-3: Cơ cấu tổ chức nhân sự của phân cấp
19
Hình 2-4: Cây phân công nhân sự
2.4 Chế độ báo cáo
Sau khi được phân công công việc, nhân viên có thể báo cáo tiến
độ công việc mình phụ trách cho cấp trên. Nhân viên cấp trên sau
khi xem tiến độ làm việc của các nhân viên dưới quyền, tiếp tục
báo cáo lên cấp trên. Cứ như thế cho đến cấp trên cuối cùng là
trưởng dự án.
Sau khi nhân viên báo cáo tiến độ công việc, hệ thống dựa vào
các số liệu này để đưa ra những dự đoán chi phí và thời gian hoàn
Hệ thống đưa ra các thông tin về nhân viên và các công việc
nhân viên phải tiến hành trong dự án.
Lưu trữ các văn bản, tài liệu hoàn thành trong quá trình tiến
hành thực hiện từng dự án.
Thống kê chi phí thực tế của dự án, đánh giá kết quả thực
hiện dự án.
21
3.1.2 Quy trình xử lý
Khi nhận và triển khai một dự án mới, hệ thống sẽ cho phép
cập nhật các thông tin chung về dự án đã được phê duyệt. Đồng
thời sẽ cập nhật bản kế hoạch thực hiện dự án trong từng giai
đoạn, các công việc chi tiết trong từng giai đoạn sẽ được phân
công cụ thể cho từng nhân viên.Người quản lý dự án sẽ căn cứ
vào các báo cáo của nhân viên để cập nhật tiến độ hoàn thành
công việc,là cơ sở để theo dõi tiến độ hoàn thành chung của dự
án.
Hệ thống cho phép hỗ trợ người lập kế hoạch trong khi phân
công công việc cho nhân viên với các thông tin của nhân viên
được lưu trong hệ thống: tên nhân viên, địa chỉ, đơn vị, trình độ,
công việc đang thực hiện.
Các nhân viên trong dự án có thể truy cập vào hệ thống từ tài
khoản được người quản lý cấp, theo dõi các công việc được
phân công của mình, báo cáo tiến độ thực hiện công việc của
mình theo thời gian qui định báo cáo trong từng dự án.
Mỗi khi văn bản, tài liệu được hoàn thành trong quá trình thực
hiện dự án do nhân viên gửi lên sẽ được lưu lại trong hệ thống
để tiện cho cho việc tra cứu và kiểm tra lại.
Sau khi kết thúc mỗi dự án hệ thống cho phép thống kê chi phí
thực hiện dự án.
3.2 Phân tích, thiết kế hệ thống
quản trị hệ thống, quản trị dự án, trưởng nhóm dự án, nhân
viên dự án.
23
3.2.2 Mô hình hóa hệ thống
Từ việc phân tích các yêu cầu trong quá trình thực hiện dự
án ta có mô hình chức năng của hệ thống như sau :
24
Trong đó :
STT Actor Ý nghĩa
1 Quản trị hệ thống Không tham gia vào dự án, có nhiệm vụ tạo
dự án mới, phân quyền quản trị dự án,quản lý
thông tin nhân viên, khách hàng
25