Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 1CHƯƠNG 4: Quản lý dự án phần mềm KỸ NGHỆ PHẦN MỀM Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ
Trang 1Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 1
CHƯƠNG 4:
Quản lý dự án phần mềm
KỸ NGHỆ PHẦN MỀM
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 2
NỘI DUNG
Khái niệm dự án và quản lý dự án
Trách nhiệm của người quản lý
Các hoạt động quản lý
Một số kỹ thuật trong quản lý dự án
Công cụ trợ giúp quản lý
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 3
KHÁI NIỆM DỰ ÁN
Dự án là một tập hợp các công việc, được thực hiện bởi một tập thể, nhằm
đạt được một kết quả dự kiến, trong một thời gian dự kiến, với một kinh phí
dự kiến.
- Có chuyên môn khác nhau
- Công việc khác nhau
- Thời gian tham gia khác nhau
- Cùng phối hợp
- Thời gian bắt đầu
- Thời gian kết thúc
- Mốc trung gian (thời điểm trung gian)
- Vốn đầu tư cho dự án
- Có thể cấp thành nhiều giai đoạn
- Đặc tính/đặc điểm của kết quả
- Giá trị sử dụng và hiệu quả
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 4
VẤN ĐỀ THƯỜNG XẢY RA VỚI DỰ ÁN
Không hoàn thành đúng hạn
Xây dựng vượt quá dự toán
Chất lượng không đảm bảo
TÌNH HÌNH CHUNG
Về chi phí:
TÌNH HÌNH CHUNG (2)
Về thời gian:
Trang 2Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 7
TÌNH HÌNH CHUNG (3)
Kích cỡ Dự án
(Số chức năng)
Về khả năng
thất bại:
Tỷ lệ thất bại
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 8
KHÁI NIỆM QUẢN LÝ DỰ ÁN
Là hoạt động áp dụng các kiến thức, kỹ năng, công nghệ vào các hoạt động của dự án
Th ực thi và đảm bảo sự cân bằng:
Phạm vi, thời gian, chi phí, chất lượng
Yêu cầu chức năng và phi chức năng
Mong muốn và các nhu cầu khách hàng
Giải quyết các mong muốn của khách hàng hoặc
sự mong đợi từ dự án
Thời gian
Chất lượng Tài nguyên
Tam giác dự án
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 9
TRÁCH NHIỆM NGƯỜI QUẢN LÝ
Quản lý thời gian
lập lịch
kiểm tra/đối chiếu các tiến trình với lịch biểu
điều chỉnh lịch
Cần tạo độ mềm dẻo với lập lịch biểu
Quản lý tài nguyên
Xác định, phân bổ tài nguyên
Phân bổ, điều phối tài nguyên
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 10
TRÁCH NHIỆM NGƯỜI QUẢN LÝ (2)
Quản lý sản phẩm
thêm, bớt chức năng
Quản lý rủi ro
xác định, phân tích rủi ro
đề xuất giải pháp
Tổ chức cách làm việc
CÁC HOẠT ĐỘNG QUẢN LÝ DỰ ÁN
1.Khởi động 2.Lập KH
4.Giám sát Điều khiển 3.Thực hiện
5.Kết thúc
• 1 & 2 : Kế hoạch
• 3,4 & 5 : Triển khai
CÁC HOẠT ĐỘNG QUẢN LÝ (2)
Không
Xác đinh
dự án
Lập kế hoạch dự án
Kiểm soát
dự án
Tổ chức
dự án
Kết thúc
dự án
Xây dựng phác
Tạo cấu trúc phân cấp công việc
biểu
Lên ngân sách
Kết thúc
dự án
Thực hiện phân bổ tài nguyên
Theo dõi, điều phối tiến độ
Tiến hành phân tích
Có Lập kế hoạch lại?
Lập tổ
dự án
Trang 3Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 13
VIẾT ĐỀ ÁN
Mục tiêu
hình thành dự án: hiểu dự án, đấu thầu,
cơ sở để lập kế hoạch, phát triển
Chuẩn bị viết đề án
Xác định bài toán
Thu thập, nghiên cứu tài liệu nghiệp vụ
Xác định nguồn lực sơ bộ của dự án
Viết phác thảo
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 14
Xác định nguồn lực của dự án
Con người
Là nhân tố quan trọng nhất
Cần có các thành viên có năng lực
Mỗi giai đoạn cần số người, năng lực khác nhau
Phần mềm dùng lại được
Các phần mềm đã được đóng gói (dễ dàng sử dụng lại)
Các thành phần đã có kinh nghiệm (dễ dàng sửa chữa
để phục vụ cho dự án)
Các thành phần dùng lại ít có kinh nghiệm (chi phí cho sửa chữa lớn)
Phần cứng/công cụ phần mềm cần chia sẻ
VIẾT ĐỀ ÁN (2)
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 15
VIẾT ĐỀ ÁN (3)
Tài liệu mô tả dự án – Các bước
Viết dự thảo
Chuyển cho đơn vị tài trợ (và khách hàng)
Tổ chức họp xét duyệt
Các bên ký
Sửa
Có cần sửa không ?
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 16
VIẾT ĐỀ ÁN (4)
Tài liệu mô tả dự án – Nội dung
Mô tả dự án: Bối cảnh thực hiện dự án
Căn cứ pháp lý để lập dự án
Hiện trạng CNTT trước khi có dự án
Nhu cầu phải ứng dụng phần mềm
Đặc điểm, phạm vi phần mềm sẽ xây dựng
Mục đích và mục tiêu của dự án
Mục đích tổng thể của phần mềm: Tin học hóa hoạt động gì?
Mục tiêu của phần mềm: khối lượng dữ liệu xử lý, hoạt động nghiệp vụ cần tin học hóa, lợi ích thu được
VIẾT ĐỀ ÁN (5)
Tài liệu mô tả dự án – Nội dung (2)
Phạm vi dự án
Nguồn nhân lực thực hiện dự án
người kiểm thử, người cài đặt triển khai
VIẾT ĐỀ ÁN (6)
Tài liệu mô tả dự án – Nội dung (3)
Các điểm mốc thời gian quan trọng
Ngày nghiệm thu lần 1
Ngày nghiệm thu lần 2
Ngày đưa phần mềm vào ứng dụng
Kinh phí: phân theo giai đoạn
Lựa chọn công nghệ phát triển
Phần hiệu chỉnh/điểu chỉnh:
những sửa đổi so với bản phác thảo đầu tiên
Chữ ký các bên liên quan
Trang 4Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 19
VIẾT ĐỀ ÁN (6)
Tài liệu mô tả dự án – Ý nghĩa
Là tài liệu xác định phạm vi dự án, trách
nhiệm người tham gia
Là cơ sở thống nhất giữa các bên tham gia
Mục đích và mục tiêu của dự án
Ai chịu trách nhiệm gì
Là bản cam kết giữa người quản lý dự án,
người tài trợ dự án và khách hàng
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 20
Không
Xác đinh
dự án
Lập kế hoạch dự án
Kiểm soát
dự án
Tổ chức
dự án
Kết thúc
dự án
Xây dựng phác thảo công việc
Công bố
dự án
Tạo cấu trúc phân cấp công việc
biểu
Lên ngân sách
Kết thúc
dự án
Thực hiện phân bổ tài nguyên
Theo dõi, điều phối tiến độ
Tiến hành phân tích
Có Lập kế hoạch lại?
Lập tổ
dự án
CÁC HOẠT ĐỘNG QUẢN LÝ - Lập kế hoạch
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 21
LẬP KẾ HOẠCH – Khái niệm
Khái niệm
Là công việc tiếp tục suốt quá trình: từ khi
bắt đầu đến bàn giao sản phẩm
Được điều chỉnh thường xuyên mỗi khi có
thông tin mới
Nhiều kế hoạch khác cần được lập để trợ
giúp kế hoạch chính về lịch trình và ngân
sách
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 22
LẬP KẾ HOẠCH – Khái niệm (2)
Các loại kế hoạch dự án khác
Kế hoạch chất lượng Mô tả thủ tục và các chuẩn chất lượng áp dụng
Kế hoạch thẩm định Mô tả cách thức, nguồn lực và lịch trình thẩm định
Kế hoạch quản lý cấu hình
Mô tả thủ tục, cấu trúc quản lý cấu hình
Kế hoạch bảo trì Chỉ ra yêu cầu, chi phí và nguồn lực
cần cho bảo trì
Kế hoạch phát triển đội ngũ
Mô tả kỹ năng và kinh nghiệm của thành viên dự án sẽ cần
LẬP KẾ HOẠCH – Tiến trình
Tiến trình lập kế hoạch dự án
Thiết lập các ràng buộc , hạn chế ( thời gian,
Tiến hành đánh giá sơ bộ các tham số dự án
Xác định cột mốc và các xuất phẩm cần có
LẬP KẾ HOẠCH – Tiến trình (2)
Tiến trình lập kế hoạch dự án (2)
Thực hiện các hoạt động lặp lại suốt tiến trình:
Trang 5Bộ mụn Cụng nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 25
LẬP KẾ HOẠCH – Nội dung
Nội dung kế hoạch dự ỏn
Mở đầu
Xỏc định tiến trỡnh dự ỏn
Phõn tớch rủi ro
Cỏc yờu cầu về nguồn lực: phần cứng, phần
mềm
Phõn đoạn cụng việc
Lịch trỡnh dự ỏn
Cơ chế điều hành và bỏo cỏo
Bộ mụn Cụng nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 26
NỘI DUNG LẬP KẾ HOẠCH (2) Xỏc định tiến trỡnh thực hiện dự ỏn
Cỏc hoạt động của dự ỏn cần được tổ chức tạo ra cỏc đầu ra thấy được cho quỏ trỡnh quản lý
Cột mốc là điểm cuối của một tiến trỡnh hoạt động cú xuất phẩm
và cỏc bỏo cỏo yờu cầu
Xuất phẩm là kết quả của dự ỏn gửi tới khỏch hàng
Bản đặc tả
yêu cầu
Nghiờn cứu khả thi Phõn tớchyờu cầu Phỏt triểnmẫu Nghiờn cứuThiết kế yờu cầuĐặc tả
Bỏo cỏo khả thi Định nghĩayờu cầu đỏnh giỏBỏo cỏo Thiết kếkiến trỳc Bản đặc tảyờu cầu
Cột mốc
Xuất phẩm
Bộ mụn Cụng nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 27
Phõn đoạn cụng việc – Bảng cụng việc
Danh sỏch chi tiết những gỡ cần để hoàn
thành dự ỏn
Gồm 2 phần chớnh
Danh sỏch sản phẩm (Product Breakdown
Structure)
Danh sỏch cụng việc (Task Breakdown Structure)
NỘI DUNG LẬP KẾ HOẠCH (3)
Bộ mụn Cụng nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 28
Phõn đoạn cụng việc – Bảng cụng việc (3) NỘI DUNG LẬP KẾ HOẠCH (4)
Nhà mới 0.0
Múng bờ tụng
Ghộp sắt 1.1 Đổ múng 1.2
Xõy gạch 2.1.1
Cửa 2.2 Trần2.3 Tường
2.1
Trỏt 2.1.2
Vớ dụ bảng cụng việc
Phõn đoạn cụng việc – Bảng cụng việc (4)
Cỏc bước xõy dựng
Bước 1: Viết ra sản phẩm chung nhất
Bước 2: Tạo danh sỏch sản phẩm
Bước 3: Tạo lập danh sỏch cụng việc, mụ tả cụng
việc ở dưới mỗi sản phẩm mức thấp nhất
Bước 4: Đỏnh mó cho mỗi ụ của bảng cụng việc
Bước 5: Xột duyệt lại bảng cụng việc
NỘI DUNG LẬP KẾ HOẠCH (5)
Phõn đoạn cụng việc – Bảng cụng việc (5)
Là cơ sở để ước lượng chi phớ, kinh phớ dự ỏn
Cơ sở để xỏc định nhiệm vụ giữa cỏc cỏ nhõn
Cơ sở để xõy dựng lịch trỡnh dự ỏn
NỘI DUNG LẬP KẾ HOẠCH (6)
Trang 6Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 31
Phân đoạn công việc – Bảng công việc (6)
NỘI DUNG LẬP KẾ HOẠCH (7)
Ví dụ bảng công việc cho dự án phần mềm
0.0 Phần mềm
1.0 Yêu cầu
phần mềm 2.0 Sơ đồ thiết kếphần mềm 3.0 Chương trình(Mã nguồn) 4.0 Mã nguồn không còn lỗi
1.1 Thu thập
yêu cầu 2.1 Thiết kế phần mềm 3.1 Lập trình kế hoạch kiểm thử 4.1 Xây dựng
phần mềm
5.1 Kiểm thử phần mềm
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 32
NỘI DUNG LẬP KẾ HOẠCH (8)
Ước lượng
Kích cỡ phần mềm
Thời gian
Số người
Chi phí
Là đầu vào cho lập lịch
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 33
NỘI DUNG LẬP KẾ HOẠCH (9)
Ví dụ: Ước lượng công việc
Công việc Thời gian Công việc Thời gian
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 34
Lập lịch:
Xác định nhiệm vụ
Thời điểm bắt đầu, thời điểm kết thúc
Người thực hiện (số người, yêu cầu, )
Ràng buộc (mối liên hệ giữa các nhiệm vụ)
kiểm soát công việc
cần có độ mềm dẻo về thời gian
NỘI DUNG LẬP KẾ HOẠCH (9)
LẬP KẾ HOẠCH – Lập lịch (2)
Nhiệm vụ được giao phải:
Là công việc có kết quả bàn giao
Quy trách nhiệm cho một cá nhân
Có hạn định về thời gian
Có thể đo được (tiến độ, chất lượng)
LẬP KẾ HOẠCH – Lập lịch (3) Xác định ràng buộc nhiệm vụ:
Các ràng buộc về tài nguyên (con người, thiết bị)
Ràng buộc về tiến trình
Trang 7Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 37
LẬP KẾ HOẠCH – Lập lịch (4)
Nội dung của hoạt động lập lịch
Phân dự án thành các nhiệm vụ và ước lượng thời
gian, nguồn lực thực hiện chúng
Tổ chức thực hiện đồng thời các nhiệm vụ để tối ưu
luồng công việc
Hạn chế sự phụ thuộc giữa các nhiệm vụ để tránh
tác động gây chậm trễ lẫn nhau
Sắp xếp các nhiệm vụ để tận dụng các nguồn lực
khác: người, thiết bị,
Phụ thuộc vào trình độ & kinh nghiệm người
quản lý
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 38
LẬP KẾ HOẠCH – Lập lịch (5)
Khuyến cáo cho lập lịch
Giảm tối đa thời gian thừa
giảm tối đa các nhiệm vụ phụ thuộc
Tận dụng tối đa các nguồn lực
Điều phối tài nguyên hợp lý
Giảm tối đa các nhiệm vụ phụ thuộc
Xem xét các hạn chế
phụ thuộc tiến trình
Thực hiện quy trình lặp lại
theo dõi thực hiện công việc theo lịch
ước lượng, cập nhật lịch biểu
Sử dụng các công cụ tự động
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 39
LẬP KẾ HOẠCH – Lập lịch (6)
Ví dụ lập lịch
ID Task Name Start End Duration Feb 22 2004 Feb 29 2004
Mar 7 2004
6
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 40
LẬP KẾ HOẠCH – Lập lịch (7)
Ví dụ: Bảng công việc đã được xác định
Công việc Thời gian công việc Đi sau Công việc Thời gian công việc Đi sau
LẬP KẾ HOẠCH – Lập lịch (8)
Ví dụ: Mạng công việc tương ứng
0
a(1)
d(4)
b(7)
k(2) h(4)
n(2)
0(1) l(3)
m(6) i(2)
r(2)
q(3) p(2) f(3)
e(4)
7
10 8
5
6 4
3
2
12
s(1)
TỔ CHỨC DỰ ÁN
Không
Xác đinh
dự án
Lập kế hoạch dự án
Kiểm soát
dự án
Tổ chức
dự án
Kết thúc
dự án
Xây dựng phác
Tạo cấu trúc phân cấp công việc
biểu
Lên ngân sách
Kết thúc
dự án
Thực hiện phân bổ tài nguyên
Theo dõi, điều phối tiến độ
Tiến hành phân tích
Có Lập kế hoạch lại?
Lập tổ
dự án
Trang 8Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 43
TỔ CHỨC DỰ ÁN (2)
Lập tổ dự án (vẽ thành sơ đồ, mô tả)
Chức năng nhiệm vụ của từng bộ phận
Phân bổ tài nguyên cho từng bộ phận
Nhóm phân tích
Quản trị
dự án
Nhóm lập trình Nhóm Test
Giám đốc
dự án Khách hàng
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 44
Con người là yếu tố quan trọng nhất trong phát triển phần mềm
Các thành viên khác nhau về năng lực
Một số các công việc đặc thù không phải ai cũng làm được
lập trình hệ thống
giao diện đồ họa cao cấp
điều khiển thiết bị
cơ sở dữ liệu
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 45
TỔ CHỨC DỰ ÁN – Lựa chọn nhân lực (2)
Phần mềm cần được phát triển theo nhóm
Quy mô nhóm tối ưu: 3~8 người
Các loại thành viên nhóm:
lập trình viên
chuyên gia giao diện
chuyên gia miền ứng dụng
thủ thư phần mềm (quản lý cấu hình)
kiểm thử viên
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 46
TỔ CHỨC DỰ ÁN – Lựa chọn nhân lực (2)
Khuyến cáo cho lựa chọn nhóm
Không nên tổ chức nhóm quá lớn
thời gian cho giao tiếp sẽ tăng cao
khó tăng tốc độ bằng cách thêm người
Cần phân rã dự án thành các dự án nhỏ
TỔ CHỨC DỰ ÁN – Lựa chọn nhân lực (4)
Một số cách tổ chức nhóm
Nhóm ngang quyền (democratic team)
Công việc được thảo luận và các thành viên thống nhất giải
pháp chung
Các thành viên đều có kinh nghiệm và năng lực
Nhóm XP
ngang quyền, lập trình đôi và chịu trách nhiệm chung
Nhóm quyền lực tập trung (chief programmer team)
Nhóm trưởng có năng lực vượt trội, thiết kế chính
Các thành viên khác thực hiện công việc chi tiết
TỔ CHỨC DỰ ÁN – Lựa chọn nhân lực (5)
Nhóm làm việc hiệu quả
Các mục đích được thống nhất
Thành viên tin tưởng vào vai trò và mục tiêu
Chấp nhận mục tiêu và tiêu chí chất lượng
Có phương thức trao đổi thông tin hiệu quả
họp, trao đổi ý tưởng, kiểm soát thay đổi
Tạo được mối quan hệ hợp tác giữa các thành viên
Trang 9Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 49
CÁC HOẠT ĐỘNG QUẢN LÝ
Không
Xác đinh
dự án
Lập kế
hoạch dự án
Kiểm soát
dự án
Tổ chức
dự án
Kết thúc
dự án
Xây dựng phác
thảo công việc
Công bố
dự án
Tạo cấu trúc
phân cấp công việc
biểu
Lên ngân sách
Kết thúc
dự án
Thực hiện phân bổ tài nguyên
Theo dõi,
điều phối
tiến độ
Tiến hành phân tích
Có
1 Nghiên cứu khả thi
2 Đo & Ước lượng
3 Lập lịch
Lập kế hoạch lại?
Lập tổ
dự án
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 50
MỘT SỐ KỸ THUẬT SỬ DỤNG
Kỹ thuật nghiên cứu khả thi
Đo và ước lượng dự án
Phương pháp đường găng cho lập lịch
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 51
NGHIÊN CỨU KHẢ THI
Xác định, phân tích các yếu tố
Phạm vi phần mềm
Khả thi về kinh tế
Khả thi về kỹ thuật
Khả thi về pháp lý
Các rủi ro và biện pháp khắc phục
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 52
NGHIÊN CỨU KHẢ THI (2)
Khả thi về kinh tế
Phân tích lợi ích, chi phí
Khách hàng # nhà phát triển: về quan điểm kinh tế Nhà phát triển cần thuyết phục khách hàng
NGHIÊN CỨU KHẢ THI (3)
Khả thi về kỹ thuật
Các yếu tố cần xem xét:
NGHIÊN CỨU KHẢ THI (4)
Khả thi về pháp lý
Không vi phạm:
luật, quy định trong hoạt động phát triển
bản quyền
tự do cá nhân
kiểm duyệt email, phá mật khẩu
Gây hại đối với bên thứ ba
virus, spam email
Các luật pháp khác
cung cấp các dịch vụ cấm,
Trang 10Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 55
NGHIÊN CỨU KHẢ THI (5)
Các nhân tố có thể làm dự án thất bại:
Rủi ro kỹ thuật: quá khó
Rủi ro kinh tế: quá đắt
Rủi ro thời gian: thời gian quá ngắn
phân rã yêu cầu
để phân tích
mức độ của nó
• cần thiết
• mong muốn
• tùy chọn (optional)
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 56
NGHIÊN CỨU KHẢ THI (6)
Báo cáo khả thi để quyết định
Triển khai dự án
Không triển khai
Xem xét lại
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 57
ĐO VÀ ƯỚC LƯỢNG DỰ ÁN
Đo phần mềm
Kích thước, chi phí, hiệu năng, chất lượng
Ước lượng
kích thước
chi phí
thời gian
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 58
ĐO DỰ ÁN
Qua dòng lệnh (LOC – Lines Of Code)
trực quan
phụ thuộc ngôn ngữ
Qua điểm chức năng (FP – Functional Points)
độc lập với ngôn ngữ
phụ thuộc các mô hình lựa chọn (tham số)
hiệu năng : KLOC/người-tháng
chất lượng : số lỗi/KLOC
chi phí : giá thành/KLOC
Độ đo
ĐO DỰ ÁN (2)
Đo theo dòng lệnh
Thế nào là một dòng lệnh?
Ngôn ngữ càng thấp thì tốc độ viết lệnh cao
Năng lực sản xuất của người lập trình cao???
Người viết mã dài dòng có lợi (năng lực sản
xuất cao) ???
ĐO DỰ ÁN (3)
Đo theo dòng lệnh (2)
Analysis Design Coding Validation Low-level language
Analysis Design Coding Validation High-level language