Tài liệu Kỹ nghệ phần mềm - Bài 2: Kỹ nghệ phần mềm: Bộ môn Công nghệ phần mềm- Khoa CNTT- ĐHCN
Email: vynv@coltech.vnu.vn
Kỹ nghệ phần mềm
Software Engeneering
Nguyễn Văn Vỵ
Bộ mụn Cụng nghệ phần mềm – ĐHCN 2
NguyễnVănVỵ
Nội dung
Bài 2: Kỹ nghệ phần mềm
Định nghĩa vμ khái niệm
Lịch sử phát triển
Các mô hình tiến trình
Bộ mụn Cụng nghệ phần mềm – ĐHCN 3
NguyễnVănVỵ
TÀI LiỆU THAM KHẢO
1. Nguyễn Văn Vỵ, Nguyễn Việt Hà. Giỏo trỡnh kỹ nghệ phần
mềm. Nhà xuất bản Đại học Quốc gia Hà nội, 2008
2. Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified
Modeling language User Guid. Addison-Wesley, 1998.
3. M. Ould. Managing Software Quality and Business Risk, John
Wiley and Sons, 1999.
4. Roger S.Pressman, Software Engineering, a Practitioner’s
Approach. Fifth Edition, McGraw Hill, 2001.
5. Ian Sommerville, Software Engineering. Sixth Edition, Addison-
Wasley, 2001.
6. Nguyễn Văn Vỵ. Phõn tớch thiết kế hệ thống thụng tin hiện đại.
Hướng cấu trỳc và hướng đối tượng, NXB Thống kờ, 2002, Hà
Nội.
Bộ mụn Cụng n...
50 trang |
Chia sẻ: hunglv | Lượt xem: 2302 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Kỹ nghệ phần mềm - Bài 2: Kỹ nghệ phần mềm, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Bộ môn Công nghệ phần mềm- Khoa CNTT- ĐHCN
Email: vynv@coltech.vnu.vn
Kỹ nghệ phần mềm
Software Engeneering
Nguyễn Văn Vỵ
Bộ mụn Cụng nghệ phần mềm – ĐHCN 2
NguyễnVănVỵ
Nội dung
Bài 2: Kỹ nghệ phần mềm
Định nghĩa vμ khái niệm
Lịch sử phát triển
Các mô hình tiến trình
Bộ mụn Cụng nghệ phần mềm – ĐHCN 3
NguyễnVănVỵ
TÀI LiỆU THAM KHẢO
1. Nguyễn Văn Vỵ, Nguyễn Việt Hà. Giỏo trỡnh kỹ nghệ phần
mềm. Nhà xuất bản Đại học Quốc gia Hà nội, 2008
2. Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified
Modeling language User Guid. Addison-Wesley, 1998.
3. M. Ould. Managing Software Quality and Business Risk, John
Wiley and Sons, 1999.
4. Roger S.Pressman, Software Engineering, a Practitioner’s
Approach. Fifth Edition, McGraw Hill, 2001.
5. Ian Sommerville, Software Engineering. Sixth Edition, Addison-
Wasley, 2001.
6. Nguyễn Văn Vỵ. Phõn tớch thiết kế hệ thống thụng tin hiện đại.
Hướng cấu trỳc và hướng đối tượng, NXB Thống kờ, 2002, Hà
Nội.
Bộ mụn Cụng nghệ phần mềm – ĐHCN 4
NguyễnVănVỵ
Các định nghĩa kỹ nghệ phần mềm
SE lμ thiết lập và sử dụng các nguyên lý công
nghệ đúng đắn để đ−ợc phần mềm 1 cách kinh
tế, vừa tin cậy vừa lμm việc hiệu quả trên các máy
thực (Bauer [1969])
SE lμ nguyên lý kỹ nghệ liên quan đến tất cả các
mặt lý thuyết, ph−ơng pháp và công cụ của
phần mềm (Sommerville [1995])
Kỹ nghệ phần mềm – Software Engineering:SE
Bộ mụn Cụng nghệ phần mềm – ĐHCN 5
NguyễnVănVỵ
SE lμ bộ môn tích hợp cả qui trình, các ph−ơng
pháp, các công cụ để phát triển phần mềm máy
tính (Pressman [1995])
Ba mặt cơ bản của kỹ nghệ phần mềm lμ:
1. Quy trình/thủ tục
2. Ph−ơng pháp
3. Công cụ
Định nghĩa SE
1 ?
3
2
4
1
32
Bộ mụn Cụng nghệ phần mềm – ĐHCN 6
NguyễnVănVỵ
Lịch sử của kỹ nghệ phần mềm
Đề x−ớng, hình thμnh (70s)
Các ph−ơng pháp lập trình vμ cấu trúc dữ liệu
Khái niệm về tính môđun
Khái niệm sơ đồ khối, lập trình top-down
Lập trình có cấu trúc (Dijkstra)
ph−ơng pháp chia môdun một ch−ơng trình
Trừu t−ợng hóa dữ liệu (Liskov)
Bộ mụn Cụng nghệ phần mềm – ĐHCN 7
NguyễnVănVỵ
Tăng tr−ởng (nửa đầu 80s)
ắ Xuất hiện các ph−ơng pháp phát triển hệ thống
công nghệ CSDL (mô hình quan hệ)
phân tích, thiết kế h−ớng cấu trúc (biểu đồ luồng,..)
ắ Các bộ công cụ phát triển
công cụ trợ giúp phân tích, thiết kế
bộ khởi tạo ch−ơng trình, kiểm thử
các ngôn ngữ bậc cao
ắ Bắt đầu quan tâm đến quản lý
Các độ do phần mềm
Quản lý theo thống kê
Lịch sử của kỹ nghệ phần mềm
Bộ mụn Cụng nghệ phần mềm – ĐHCN 8
NguyễnVănVỵ
Lịch sử của kỹ nghệ phần mềm
Phát triển (từ giữa 80s)
ắHoμn thiện công nghệ cấu trúc, ra đời công nghệ
đối t−ợng
Nhiều mô hình h−ớng cấu trúc triển khai, chuẩn hóa
CASE hoμn thiện, đạt mức tự động hóa cao
Ngôn ngữ thế hệ 4 ra đời (LIPS, PROLOG,..)
Công nghệ h−ớng đối t−ợng bắt đầu phát triển:
Quy trình RUP, UML, Các công cụ đầy đủ (ROSE,
JIBULDER,..)
Sử dụng lại chiếm vị trí quan trọng trong phát triển
Bộ mụn Cụng nghệ phần mềm – ĐHCN 9
NguyễnVănVỵ
Lịch sử của kỹ nghệ phần mềm
Phát triển (từ giữa 80s)
ắPhát triển công nghệ đối t−ợng
Kho dữ liệu, CSDL đối t−ợng, đa ph−ơng tiện
Định h−ớng sử dụng lại: thμnh phần, mẫu, Framework
Công nghệ Web: web services
ắPhát triển các mô hình quản lý
Chuẩn quản lý đ−ợc công nhận (CMM, IS9000-03)
Nhiều mô hình tổ chức lμm phần mềm đ−ợc đề xuất
Nhiều công cụ trợ giúp quản lý dự án hoμn thiện
Bộ mụn Cụng nghệ phần mềm – ĐHCN 10
NguyễnVănVỵ
Các yếu tố cơ bản của - SE
Tổng hợp: Kỹ nghệ phần mềm
Lμ một quá trình kỹ nghệ tích hợp:
y Thủ tục (procedures)
y Ph−ơng pháp (methods)
y Công cụ (tools)
Nhằm tạo ra phần mềm hiệu quả, với các giới hạn
cho tr−ớc
Bộ mụn Cụng nghệ phần mềm – ĐHCN 11
NguyễnVănVỵ
Các thủ tục - Procedures
Qui trình phát triển vμ quản lý:
Xác định trình tự thực hiện các công việc
Xác định các tμi liệu, sản phẩm cần bμn giao,
vμ cách thức thực hiện
Định các mốc thời gian (millestones) vμ sản
phẩn đ−a ra (theo các chuẩn)
ắ Có thể ở mức chung cho nhiều dự án
ắ Hay cụ thể hoá cho 1 dự án cụ thể
Bộ mụn Cụng nghệ phần mềm – ĐHCN 12
NguyễnVănVỵ
Các ph−ơng pháp - methods
Cách lμm cụ thể để xây dựng phần mềm
Mỗi công đoạn có ph−ơng pháp riêng:
• Phân tích (xác định, đặc tả yêu cầu)
• Thiết kế (đặc tả kiến trúc, giao diện, dữ liêu, thủ tục)
• Lập trình (cấu trúc, h−ớng đối t−ợng)
• Kiểm thử (hộp đen, hộp trắng, áp lực, hồi quy, luồn sợi)
• Quản lý dự án (PERT, GANTT, COCOMO)
Bộ mụn Cụng nghệ phần mềm – ĐHCN 13
NguyễnVănVỵ
Nội dung ph−ơng pháp th−ờng bao gồm:
y Các phân tử mô hình: mô tả khái niệm
y Các ký pháp: đặc tả phần tử
y Các quy tắc: liên kết các phân tử mô hình
y Quy trình xây dựng: trình tự tạo 1 mô hình
y Lời khuyên, cách dùng: cho mô hình tốt vμ dùng nó
Các ph−ơng pháp - methods
Bộ mụn Cụng nghệ phần mềm – ĐHCN 14
NguyễnVănVỵ
luồng dữ liệu
kho dữ liệu
tiến trình
Vẽ luồng dữ liệu
mức 0 từ mô hình
nghiệp vụ
Vẽ biểu đồ mức i:
từ mỗi tiến trình
mức i-1 ch−a là
cơ sở
- Tiến trình l là duy nhất
- Các luồng vào 1 tiến
trình phải # các
luồng ra
- Các luồng vào 1 tiến
trình đủ để tạo ra các
luồng ra
- Không có các luồng
dữ liệu sau:
Kho ặ kho
Kho ặ tác nhân
•…
tác nhân
Quy trìnhQuy tắcKý phápKhái niệm
Các ph−ơng pháp methods
tờn tỏc nhõn
tờn luồng
tờn kho
tờn tiến
trỡnh
i
Mô hình (p.pháp) luồng dữ liệu
Bộ mụn Cụng nghệ phần mềm – ĐHCN 15
NguyễnVănVỵ
Ví dụ: Biểu đồ luồng dữ liệu mức 0 bμi toán
trông gửi xe
0
Hệ
thống
Khách
DS thực thể
a. xxxx
b. xxxx
c. xxxx
d. xxxx
e. xxxx
f. xxxx
a b c d e f
1 R C U R
C
2 R R U C
3 R R
0
1 2 3
3.0
giải
quyết sự
cố
t.t. xe
nét đỏ lμ phần thay thế hay thêm vμo
2.0
trả xe
khách
vé
xe
"không g.q."
phiếu chi
biên bản
tt sự cố
phiếu
t.toán
phiếu t.toáne
biên bản f
1.0
nhận xekhách
"hết chỗ"
vé xe
bảng giáa
sổ xevàoc sổ xe rad
vé xeb
"vé
zả"
phiếu chig
Mô hình nghiệp vụ
Bộ mụn Cụng nghệ phần mềm – ĐHCN 16
NguyễnVănVỵ
Các công cụ - tools
Trợ giúp tự động/bán tự động ph−ơng pháp
Computer Aided Software Engineering CASE
các công cụ trợ giúp các công đoạn khác nhau
tiến trình phát triển phần mềm
Các ngôn ngữ lập trình
công cụ sinh giao diện (C Builder, ...)
hỗ trợ phân tích, thiết kế (Rwin, Modeler
(Oracle Designer, Rational Rose,...)
trợ giúp lập trình: compiler, debugger
trợ giúp quản lý: project management
Ví dụ:
Bộ mụn Cụng nghệ phần mềm – ĐHCN 17
NguyễnVănVỵ
Các công cụ - tools
Biểu đồ mô hình
Bộ mụn Cụng nghệ phần mềm – ĐHCN 18
NguyễnVănVỵ
Vòng đời phát triển hệ thống phần mềm
(systems development life cycle - SDCL)
Lμ các hoạt động từ khi đ−ợc đặt hàng,
phát triển, sử dụng đến khi bị loại bỏ nó
Vòng đời chia thμnh các giai đoạn chính :
ắ xác định yêu cầu,
ắ triển khai,
ắ kiểm thử,
ắ Vận hành, bảo trì và lặp lại
Phạm vi, thứ tự, nội dung khác nhau tùy theo
từng sản phẩm vμ dự án
Bộ mụn Cụng nghệ phần mềm – ĐHCN 19
NguyễnVănVỵ
Vòng đời phát triển phần mềm
Tùy mô hình áp dụng, phân chia các pha, các
b−ớc có thể khác nhau : từ 3 đến 20 b−ớc
Xác định yêu cầu Triền khai Kiểm thử
Vận hành - Bảo trì
Các pha chính của vòng đời
Bộ mụn Cụng nghệ phần mềm – ĐHCN 20
NguyễnVănVỵ
Các b−ớc chung nhất phát triển
Xác định yêu cầu
y phân tích hệ thống
y lập kế hoạch
y phân tích yêu cầu
y đặc tả yêu cầu
Tiến hóa
y sửa lỗi
y thích nghi
y nâng cao
y bổ sung
Phát triển
y Thiết kế
y Mã hoá
y Kiểm thử
y Lμm tμI liệu
Bộ mụn Cụng nghệ phần mềm – ĐHCN 21
NguyễnVănVỵ
Xác định yêu cầu
Xác định: Hệ thống lμm gi?
Những rμng buộc gì nó cần tuân thủ?
Phân tích hệ thống
vai trò phần mềm trong hệ thống
phác hoạ & chọn ph−ơng án khả thi
Lập kế hoạch
−ớc l−ợng, lập lịch, tổ chức, b−ớc đi, sản phẩm
Phân tích yêu cầu
các yêu cầu cụ thể (chức năng, rμng buộc)
đặc tả yêu cầu (kiến trúc, giao diện, xử lý, dữ liệu)
Bộ mụn Cụng nghệ phần mềm – ĐHCN 22
NguyễnVănVỵ
Phát triển
Tạo ra phần mềm nh− thế nào?
Thiết kế (design)
dịch yêu cầu thμnh bản thiết kế HT nh− nó tồn tại
(môi tr−ờng, kiến trúc, dữ liệu, xử lý, giao diện)
M∙ hóa (coding)
Chuyển thiết kế thμnh ch−ơng trình (của1 ngôn ngữ)
Kiểm thử (testing)
sửa lỗi, hoμn thiện ch−ơng trình (kiểm thử đơn vị, tích hợp,
hệ thống, chấp nhận), lμm tμi liệu
Bộ mụn Cụng nghệ phần mềm – ĐHCN 23
NguyễnVănVỵ
Vận hμnh, bảo trì
Hòan thiện hệ thống sau khi đ−a vào hoạt động?
Sửa lỗi: để vận hμnh thông suốt
Thích nghi: với môi tr−ờng (kỹ thuật, nghiệp vụ)
đã thay đổi để hoạt động hiệu quả
Nâng cao: Hoμn thiện chức năng, phát triển dự
phòng
Thêm mới: thêm các chức năng mới
Bộ mụn Cụng nghệ phần mềm – ĐHCN 24
NguyễnVănVỵ
Tiến trình phần mềm
Tiến trình phần mềm (software process) lμ một tập
các hoạt động có cấu trúc nhằm phát triển vμ tiến
hóa 1 phần mềm
Một tiến trình cụ thể phải trả lời đ−ợc các câu hỏi: lμm
gì? khi nμo? ai lμm? nh− thế nμo? bằng gì? ở đâu?
kết quả? tiêu chí đánh giá?
Đặc tr−ng
Gắn với mỗi dự án
Có cấu trúc xác định (công việc, trình tự, công cụ,
ph−ơng pháp )
Sản phẩm cuối cùng lμ phần mềm bμn giao
Bộ mụn Cụng nghệ phần mềm – ĐHCN 25
NguyễnVănVỵ
Tiến trình phần mềm
Các hoạt động chính của mọi tiến trình
Xác định yêu cầu: định rõ yêu cầu sản phẩm
Phát triển: tạo ra sản phẩm
Thẩm định: phần mềm đáp ứng đ−ợc yêu cầu không?
Tiến hóa phần mềm: thay đổi nhằm đáp ứng yêu cầu
thay đổi (người dùng, môi trường)
Xác định
yêu cầu
Phát
triển
Thẩm
định
Tiến
hóa
vấn đề,
mong
đợi Phần
mềm
file.exe
Bộ mụn Cụng nghệ phần mềm – ĐHCN 26
NguyễnVănVỵ
Tiến trình phần mềm
1. Xác định yêu cầu (Requirements)
KHÁCH HÀNG
Khó khăn hệ
thống thực,
mong đợi về
hệ phần mềm Đặc tả yêu
cầu phần
mềm
đội phát triển
Bộ mụn Cụng nghệ phần mềm – ĐHCN 27
NguyễnVănVỵ
Chức năng hệ
thống
Ràng buộc
hệ thống
Tiến trình phần mềm
2. Phát triển phần mềm (Development)
Đặc tả yêu
cầu
Xác định yêu cầu
đội phát triển
Hệ thống
phần mềm
vận hành
đúng
file.exe
file.com
Bộ mụn Cụng nghệ phần mềm – ĐHCN 28
NguyễnVănVỵ
Tiến trình phần mềm
3. Thẩm định phần mềm (Validation)
Hệ thống
phần mềm
vận hành
đúng
file.exe
file.com
Phát triển Ng−ời dùng
Hệ thống
phần mềm
đáp ứng yêu
cầu
file.exe
file.com
Bộ mụn Cụng nghệ phần mềm – ĐHCN 29
NguyễnVănVỵ
4. Tiến hóa phần mềm (Evolution)
đội phát triển
Thẩm định
Hệ thống
phần mềm
đáp ứng yêu
cầu
file.exe
file.com
Hệ thống
phần mềm
đ−ợc tiến
hóa
file.exe
file.com
file.com
môi tr−ờng thay đổi
Tiến trình phần mềm
Bộ mụn Cụng nghệ phần mềm – ĐHCN 30
NguyễnVănVỵ
Mô hình tiến trình phần mềm
Mô hình tiến trình (software process model) lμ
cách biểu diễn trừu t−ợng tiến trình phần mềm theo
cách nhìn cụ thể.
Công việc 1
Công việc 2
Cụng việc 1.1.1
Công việc 1.1
Cụng việc 1.2
Cụng việc 2.1
Cụng việc 2.1.1
TIẾN TRèNH CỤ THỂ
Giai đoạn 1 Giai đoạn 2 Giai đoạn 3
Mễ HèNH TIẾN TRèNH
Bộ mụn Cụng nghệ phần mềm – ĐHCN 31
NguyễnVănVỵ
Chi phí của kỹ nghệ phần mềm
ắ Chi phí kỹ nghệ phần mềm: lμ các
khoản chi liên quan đến toμn bộ sự phát triển
ắ Chi phí phụ thuộc:
Loại hệ thống (đơn giản, phức tạp)
Yêu cầu đặt ra (nhiều, ít, cao, thấp)
Mức độ hoμn thiện (hiệu năng, độ tin cây, an toμn,..)
Năng lực của tổ chức (nhân lực, công nghệ, công
cụ, kỹ năng có đ−ợc)
Loại tiến trình sử dụng
Bộ mụn Cụng nghệ phần mềm – ĐHCN 32
NguyễnVănVỵ
Chi phí của kỹ nghệ phần mềm
Chi phớ phỏt triển tiến húa
đặc tả thiết kế phỏt triển kiểm thử tớch hợp
0 25 50 75 100
Phõn bố chi phớ phỏt triển (nói chung)
26 23 3813
đặc tả phỏt triển tiến húa kiểm thử hệ thống
0 25 50 75 100
10 60 30
Bộ mụn Cụng nghệ phần mềm – ĐHCN 33
NguyễnVănVỵ
Chi phí của kỹ nghệ phần mềm
Chi phí hệ có vòng đời dμi
phỏt triển hệ thống tiến húa hệ thống
0 25 50 75 100
25 75
đặc tả phỏt triển kiểm thử hệ thống
0 25 50 75 100
chi phớ phỏt triển sản phẩm trực tuyến
35 578
Bộ mụn Cụng nghệ phần mềm – ĐHCN 34
NguyễnVănVỵ
Quy mô phần mềm
Kích cỡ phần mềm ảnh h−ởng lớn đến chi phí
Kích cỡ th−ờng đo bằng số dòng lệnh
Kích cỡ phần mềm phụ thuộc:
• Bμi toán
• Thiết kế
• Ngôn ngữ lập trình (& trình độ ng−ời lập)
ắVới cùng thiết kế, dùng ngôn ngữ khác nhau
cho kích cỡ khác nhau
Bộ mụn Cụng nghệ phần mềm – ĐHCN 35
NguyễnVănVỵ
Số đo ngôn ngữ
Ngôn ngữ Dòng lệnh/chức năng
Assembly
C
FORTRAN 77
COBOL 85
Ada 83
C++
Ada 95
Java
Visual Basic
SQL
320
128
105
91
71
56
55
55
35
?
Mỗi ngôn ngữ có 1
năng lực thể hiện
Chọn ngôn ngữ tốt
sẽ giảm kích cỡ
Bộ mụn Cụng nghệ phần mềm – ĐHCN 36
NguyễnVănVỵ
Phần mềm kỹ nghệ tốt
Phần mềm kỹ nghệ tốt đ−ợc xét theo quan
điểm nhμ phát triển
Thuộc tính phần mềm cần có:
• Tính bảo trì đ−ợc
• Tính đáng tin cậy
• Tính hiệu quả
• Tính tiện dụng
• Giá cả phải chăng
• Một số tiêu chí khác
mức
−u
tiên
Bộ mụn Cụng nghệ phần mềm – ĐHCN 37
NguyễnVănVỵ
Tính bảo trì đ−ợc
Kiến trúc tốt: kết dính chặt, ghép nối lỏng (dễ đọc, dễ
sửa, dễ phát triển, ảnh h−ởng cục bộ)
cμi đặt bằng ngôn ngữ bậc cao (dễ đọc, viết nhanh)
tμi liệu đầy đủ, tốt (dễ theo dõi, dễ hiểu, có cơ sở sửa,..)
Có tuổi thọ cao, phụ vụ nhiều
Chi phí bảo trì thấp ặ cho hiệu quả
"Phần mềm luôn có yêu cầu sửa đổi“
Để sửa đổi (bảo trì) đ−ợc phần mềm cần:
Bộ mụn Cụng nghệ phần mềm – ĐHCN 38
NguyễnVănVỵ
Đáng tin cậy
Đáp ứng đ−ợc nhu cầu ng−ời sử dụng
Đảm bảo các chức năng cần
Ôn định, thời gian lμm việc không lỗi lớn
Cho kết quả xác đáng
Phần mềm có ít khiếm khuyết về:
lỗi lập trình
lỗi phân tích, thiết kế: sai, thiếu chức năng,
hoạt động không hiệu quả
Bộ mụn Cụng nghệ phần mềm – ĐHCN 39
NguyễnVănVỵ
Tính hiệu quả
Không sử dụng lãng phí tμi nguyên phần cứng
Để tối −u hóa cần:
Đòi hỏi bộ nhớ lớn
Đòi hỏi tốc độ cao
Chiếm không gian đĩa lớn,...
dùng ngôn ngữ bậc thấp
truy cập trực tiếp đến thiết bị
sử dụng thuật toán viết gọn
Cần tối ưu
hợp lý
dễ dẫn tới khó bảo trì, giá thành cao.
Bộ mụn Cụng nghệ phần mềm – ĐHCN 40
NguyễnVănVỵ
Tiện dụng, tinh vi
Giao diện phù hợp với trình độ của ng−ời dùng
Học nhanh, nhớ lâu, dễ thao tác
Có đủ tμi liệu & nhiều tiện ích, trợ giúp thông minh
Giao diện quyết định thμnh công của sản phẩm
Bộ mụn Cụng nghệ phần mềm – ĐHCN 41
NguyễnVănVỵ
Cần cân đối, thỏa hiệp giữa các yêu cầu
• Khó tối −u đồng thời các thuộc tính
giá cả, hiệu quả >>> <<< dễ bảo trì, sử dụng, sự tinh vi
Chi phí cho tối −u không tuyến tính (lμ hμm mũ)
Giá cả hợp lý
hiệu năng
g
i
á
t
h
μ
n
h
Chi phí bỏ ra
Hiệu suất đạt
Bộ mụn Cụng nghệ phần mềm – ĐHCN 42
NguyễnVănVỵ
Kỹ nghệ hệ thống (System Engineering)
Kỹ nghệ hệ thống lμ toμn bộ công việc phát triển hệ
thống dựa trên máy tính (computer based system):
• phần cứng
• phần mềm
• tổ chức, quản lý
Kỹ nghệ hệ thống bao gồm:
• đặc tả
• thiết kế
• triển khai
kỹ nghệ
hệ
thống
kỹ nghệ
phần mềm
• tích hợp
• thẩm định
• bảo trì
Bộ mụn Cụng nghệ phần mềm – ĐHCN 43
NguyễnVănVỵ
Kỹ nghệ hệ thống
Đặc tính nổi trội của hệ thống dựa trên máy tính
• Thuộc tính chức năng: điều khiển 1 hệ
• Thuộc tính phi chức năng: độ tin cậy, an toμn
Mμ:
từng bộ pbận không thể có đ−ợc
quyết định đến toμn hệ thống
Kỹ nghệ hệ thống liên quan đến:
• áp dụng các nguyên lý tích hợp
• giảm chi phí lμm lại toμn hệ thống
Bộ mụn Cụng nghệ phần mềm – ĐHCN 44
NguyễnVănVỵ
Kỹ nghệ hệ thống
Tiến trình ký nghệ hệ thống (system engineering
process)
xỏc định
yờu cầu
ị
tiến húa
hệ thống
ti
t
loại bỏ
hệ thống
l i
t
thiết kế
hệ thống
t i t
t
phỏt triển
hệ con
t t i Cài đặt
hệ thống
i t
t
tớch hợp
hệ thống
tớ
t
cỏc hệ
cứng
cỏc hệ
mềm
Bộ mụn Cụng nghệ phần mềm – ĐHCN 45
NguyễnVănVỵ
Khái niệm liên quan - Khoa học máy tính
(Computer Sience)
ắ Khoa học máy tính liên quan đến những vấn đề lý
thuyết vμ nền tảng cho máy tính vμ phần mềm
ắ Kỹ nghệ phần mềm liên quan đến thực tiễn của
việc phát triển vμ xuất ra các phần mềm hiệu quả
Lý thuyết khoa học máy tính còn ch−a đủ cho các
hoạt động của kỹ nghệ phần mềm
kỹ nghệ
phần mềm
khoa
học máy
tính
Bộ mụn Cụng nghệ phần mềm – ĐHCN 46
NguyễnVănVỵ
Kiến trúc vμ
phần cứng
máy tính
Hạ tầng các
hệ thống
công nghệ
vμ ph. pháp
phần mềm
Các công
nghệ ứng
dụng
tô chức vμ
các HTTT
Các lĩnh vực tính toán
(computing curricula 11/2004 -ACM, AIS, IEEE)
Lý thuyết, ứng dung
đổi mới triển khai
SECS
IT
IS
Bộ mụn Cụng nghệ phần mềm – ĐHCN 47
NguyễnVănVỵ
Mỗi lĩnh vực tínnh toán đ−ợc giới hạn bằng một
vùng với biên có màu sau:
CS Khoa học máy tính:
IS Hệ thống thông tin
IT Công nghệ thông tin
SE Kỹ nghệ phần mềm
Kỹ nghệ phần mềm chiếm phần lớn ở trung tâm -
Đó là lý do nó là ngành phức tạp và quan trọng
Phân biệt các lĩnh vực tính toán
Bộ mụn Cụng nghệ phần mềm – ĐHCN 48
NguyễnVănVỵ
Câu hỏi ôn tập
1) Định nghĩa kỹ nghệ phần mềm -SE?
2) Các giai đoạn lịch sử phát triển SE? đặc tr−ng của mỗi
giai đoạn (sản phẩm, ph−ơng pháp, công cụ, quản lý
vμ tổ chức lμm việc)?
3) Giải thích nội dung các yếu tố cơ bản trong SE? Lấy ví
dụ minh hoạ về ph−ơng pháp, công cụ?
4) Tiến trình phần mềm lμ cái gì? Các b−ớc chung nhất
của tiến trình lμ gì?
5) Mô hình tiến trinh lμ gì? Các mô hình có thể nhận đ−ợc
từ những cách nhìn nhận nμo?
Bộ mụn Cụng nghệ phần mềm – ĐHCN 49
NguyễnVănVỵ
Câu hỏi ôn tập
6) Trình bμy một số mô hình tiến trình cơ bản (nội dung,
−u, nh−ợc, thích hợp khi nμo)?
7) Chi phí của SE gồm những thμnh phần nμo? nó phụ
thuộc vμo những cái gì?
8) Kỹ nghệ hệ thống lμ gì? Quan hệ với kỹ nghệ phần
mềm ra sao?
9) Các thuộc tính của phần mềm đ−ợc kỹ nghệ tốt?
10)Khoa học máy tính lμ gì? Quan hệ giữa nó vμ kỹ nghệ
phần mềm nh− thế nμo?
Bộ mụn Cụng nghệ phần mềm – ĐHCN 50
NguyễnVănVỵ
Câu hỏi và thảo luận
Các file đính kèm theo tài liệu này:
- Unlock-1bSEV_KyngheFM.pdf