Khái niệm phần mềm
Trang 1Chương 1: Tổng quan về CNPM
NHCNPM- Khoa CNPMI- Di CHTT Tạ HCM
s* Một số khái niệm cơ bản
s* Công nghệ phần mềm s* Quy trình công nghệ phần mềm:
ø Quy trình thác nước
ø Quy trình thác nước cải tiền
ø Quy trình Prototype
ø Quy trình xoắn ốc
© Quy trình phát triển lặp
Ow, HMCNPM - Kins CHPM - OH ONT TaLHeM
v te 4 Ví
°
°
°
dụ: xét một số phần mềm sau:
Phần mềm quản lý học sinh cắp 3
Phần mềm quản lý thư viện
Phần mềm quản lý nhà sách
Phần mềm quản lý khách sạn
Phần mềm quản lý phòng mạch tư
Phần mềm quản lý số tiết kiệm
Phần mềm quản lý bán vé chuyến bay
Phần mềm xếp thời khóa biểu
Trang 2
ry | Khái niệm về phản mềm ry | Khái niệm về phản mềm ry | Khai niém vé phan mém
Phần mềm là gì?
“—^
yd
Được xem xét ở hai góc độ:
ø Góc nhìn người dùng
ø Góc nhìn chuyên viên tin học
NHCNPM- Khoa CNPMI- Di CHTT Tạ HCM
s* Phần mềm dưới góc nhìn của người sử dụng:
ø Chương trình thực thi được trên máy tính hoặc các
thiết bị chuyên dụng khác
vực chuyên ngành thực hiện tốt hơn các thao tác
nghiệp vụ của mình
NHCNPM - Kha CHPM - pH CHTT Tp ICM 5
s+ Môi trường triển khai phần mềm:
o May tinh: Desktop, Laptop, Tablet PC
ø Thiết bị chuyên dụng:
Thiết bị di động: PDA, Pocket PC, ĐTDĐ Các thiết bị chuyên dụng khác: set-top box, router, s* Hỗ trợ làm tốt hơn các thao tác nghiệp vụ:
ø Tin học hóa nghiệp vụ hiện đang làm thủ công
ø Gải tiến chức năng nghiệp vụ hiện đang được thực hiện trên máy tính
ø Đề ra, xây dựng và triển khai chức năng nghiệp vụ mới
Trang 3
a | Khái niệm về phản mềm
s* Phần mềm dưới góc nhìn của chuyên viên Tin học:
ø Đây là một hệ thống bao gồm 3 thành phần cơ bản:
Thành phần giao tiếp
Thành phần xử lý
>> Cần được xây dựng đề thực hiện theo yêu cầu của
người sử dụng
NHCNPM- Khoa CNPMI- Di CHTT Tạ HCM 7
+* Thành phần giao tiếp (Giao diện):
ø Cho phép các yêu cầu về việc sử dụng phần mềm từ người sử dụng, từ các thiết bị thu thập
dữ liệu, hoặc từ các phần mềm khác
ø Cho phép trình bày các kết quả của việc thực hiện các yêu cầu cho người dùng (kết quả của công việc khi thực hiện trên máy tính) hoặc điều khiển hoạt động các thiết bị điều khiển (đóng/mở cửa, dừng hay
cho chuyển động )
NHCNPM - Kha CHPM - pH CHTT Tp ICM 8
“ Thanh phan giao tiếp (Giao diện):
ø Một cách tổng quát, thành phần giao tiếp cho phép
nhập/xuất thông tin cùng với hình thức trình bày/giao tiếp tương ứng
ø Mục tiêu chính của thành phần này là đưa thông tin
từ thế giới thực bên ngoài phần mềm (người sử dụng, các thiết bị, phần mềm khác ) vào bên trong, hoặc ngược lại
Trang 4
Khái niệm về phản mềm a | Khái niệm về phản mềm a | Khai niém vé phan mém
s* Thành phần xử lý:
cấp từ người dùng theo các quy định ràng buộc trong
thế giới thực
Ví dụ: chỉ cho mượn tối đa 3 quyển sách, mỗi lớp
học không quá 80 học sinh
tính toán có sẵn trong thế giới thực
NHCNPM- Khoa CNPMI- Di CHTT Tạ HCM 10
s* Thành phần xử lý (tt):
ø Việc xử lý dựa trên thông tin nguồn từ người sử dụng cung cấp
Ví dụ: tính nghiệm phương trình bậc 2 dựa trên
các hệ số nhập vào hoặc dữ liệu lưu trữ có sẵn
Ví dụ: tính tiền phạt dựa trên ngày trả sách được nhập vào và thông tin về loại sách đã được lưu trữ
ø Việc xử lý cho ra có thể dùng để xuất cho
người dùng xem qua thành phần giao diện, hay lưu trữ lại qua thành phần lưu trữ, hoặc cả hai HMCNPM - Kins CHPM - OH CHTT Tạ ICM 1
+» Một cách tông quát, thành phần xử lý là hệ thống chuyên
xử lý tính toán, biến đỗi dữ liệu
ø Dùng thông tin nguồn từ thành phần giao diện (chức năng nhập) hay thành phần dữ liệu (chức năng đọc);
ø Kiểm tra tính hợp lệ (chức năng kiểm tra) và sau đó
tiền hành xử lý (chức năng xử lý) - nếu cần thiết
ø Để cho ra kết quả sẽ được trình bày thông qua thành phần giao diện (chức năng xuất) hoặc lưu trữ lại
Trang 5
a | Khái niệm về phản mềm
s* Thành phần lưu trữ (thành phần dữ liệu)
ø Cho phép lưu trữ lại ( ) các kết quả đã
xử lý
Ví dụ: Việc mượn sách đã được kiểm tra hợp lệ,
bảng lương tháng đã được tính trên bộ nhớ phụ
với tổ chức lưu trữ được xác định trước
Ví dụ: tập tin có cấu trúc, tập tin nhị phân, cơ sở
dữ liệu
NHCNPM- Khoa CNPMI- Di CHTT Tạ HCM 13
s* Thành phần lưu trữ (thành phần dữ liệu)
ø Cho phép truy xuất lại (chức năng đọc) các dữ liệu đã lưu trữ phục vụ cho các hàm xử lý tương ứng
ø Một cách tổng quát thành phần dữ liệu là hệ thống chuyên đọc ghi dữ liệu cùng với mô hình tổ chức lưu trữ dữ liệu tương ứng
ø Mục tiêu chính của thành phần này là chuyển đổi dữ
liệu giữa bộ nhớ chính và bộ nhớ phụ
NHCNPM - Kha CHPM - pH CHTT Tp ICM 14
% Phân lớp theo mục đích sử dụng:
ø Lớp phần mềm quản lý học sinh
ø Lớp phần mềm đánh cờ
ø Lớp phần mềm giải bài tập
ow
s* Phân lớp theo mục tiêu tạo lập
ø Lớp phần mềm theo hợp đồng
ø Lớp phần mềm khung
ø Lớp phần mềm đóng gói
Trang 6
TW Khái niệm lớp phần mềm TW Chất lượng phần mềm TW Chất lượng phần mềm
Tính tiện dụng
ø Lớp phần mềm là hệ thống các phần mềm trên cùng - Đây đủ l Con người - Dễ học Qik oon người _ Tính đúng dan
j - Giao diện trực quan i
- Tự nhiên
# U $ Phần mềm khác L8 Š Phần mềm khác Phần cứng | Phần cứng
Dưới góc nhìn của Người sử dụng Dưới góc nhìn của Người sử dụng
lớp thường có cấu trúc và chức năng tương tự nhau
* Mục tiêu của ngành Công nghệ Phần mềm
ø Xây dựng được phần mềm có chất lượng
Trang 7
Chất lượng phần mềm Chất lượng phần mềm Chất lượng phần mềm
Tính hiệu quả:
- Tối ưu sử dụng CPU*
- Tối ưu sử dụng bộ nhớ*
- Ti ưu sử dụng thiết bị
NMCNPM - Khoa CNPM - DH GNTT Tp.HCM
=¬1
Tính đúng đắn
L1
Phần cứng
Dưới góc nhìn của Người sử dụng
19
Tính đúng đắn
Tính tiện dụng Tính hiệu quả
Tính tương thích: a) Con người
- lImport/Export dữ liệu
- Tương tác j
Dưới góc nhìn của Người sử dụng
Tinh dung dan
Tính tiến hóa: một trong
các tính chất quan trọng
nhất được quan tâm xem xét trong ngành Công nghệ Phân mêm
4 Con người
Tinh twong thich
NMCNPM - Khoa CNPM - DH GNTT Tp.HCM
=
U3 Ằ$ Phần mềm khác
Phần cứng Dưới góc nhìn của Người sử dụng
21
Trang 8
NMCNPM - Khoa CNPM - DH GNTT Tp.HCM
Chất lượng phần mềm
Tính tiến hóa
@°) Conngười Tinh đúng đắn
Tính tương thích
ca
at:
U “A màn mềm khác Phần cứng
Dưới góc nhìn của Người sử dụng 5
Chất lượng phần mềm
Tính dễ kiểm tra: việc kiểm tra các thành phần phù hợp với
yêu cầu phần mềm là dễ dàng nhất có thể được
%Tính dễ sửa lỗi: khi có sự không phù hợp (so với yêu câu)
xác “vị trí lỗi" và sửa lỗi là nhanh nhất có thể được
“Tinh dé bao trì: khi cần nâng cấp, cải tiến một thành phân
(theo yêu cầu mới), việc cập nhật phân mêm là nhanh, chính hưởng đên các thành phân khác
lại trong các phần mềm cùng lớp (hoặc cùng lĩnh vực) với thời
gian và công sức ít nhất có thể được
Dưới góc nhìn của chuyên viên Tin học
23
NMCNPM - Khoa CNPM - DH GNTT Tp.HCM
rn | Phát triển của Công nghệ phân mềm |
s* Giai đoạn 1 (1950 - giữa 1960) ø_ Xử lý theo lô, xử lý tập trung, ít xử lý phân tán, ít sửa đổi phần mềm
+ Giai đoạn 2 (từ giữa 1960 đến giữa 1970) ø_ Hệ thống đa chương trình và đa nguời dùng ø_ Bắt đầu cuộc “khủng hoảng” phan mềm
Giai đoạn 3 (từ giữa 1970 đến giữa 1980) ø_ Sự phát triển và sử dụng rộng rãi máy tính cá nhân
ø_ Sự phát triển của các công ty phần mềm
* Giai đoạn 4 (từ giữa 1980 đến nay) ø_ Phần cứng ngày càng phát triển ø_ Hệ thống phần mềm ngày càng đa dạng, phong phú, xử lý ngày càng phức tạp, công nghệ ngày càng phát triễn
Trang 9
ry | Cuộc khủng hoảng phần mềm |
s Số lượng các phần mềm tăng vọt (do sự phát triển của
phân cứng: tăng khả năng, giá thành hạ)
Có quá nhiều khuyết điểm trong các phần mềm được
dùng trong xã hội:
° Thực hiện không đúng yêu cầu (tính toán sai, không
ôn định )
ø Thời gian bảo trì nâng cắp quá lâu, chỉ phí cao, hiệu
quả thấp
ø Khó sử dụng, thực hiện chậm
ø Không chuyển đổi dữ liệu giữa các phần mềm
on
HMONPH- Khoa CNPMI- Di CHTT Tạ HCM 25
* Một số kết luận:
sẽ còn tiếp diễn
sø Các khuyết điểm của phần mềm có nguồn gốc chính
từ phương pháp, cách thức và quy trình tiến hành xây dựng phần mềm:
Cảm tính: mỗi người theo một phương pháp riêng Thê sơ, đơn giản: chỉ tập trung vào việc lập trình (khảo sát hiện trạng, phân tích yêu cầu, thiết kế ) Thủ công: còn thiếu các công cụ hỗ trợ quy trình phát triên
NHCNPM - Kha CHPM - pH CHTT Tp ICM 28
ry | Công nghệ phan mem
s* Khái niệm:
ø Công nghệ phần mềm là ngành khoa học nghiên cứu
về việc xây dựng các phần mềm có chất lượng cao
Công nghệ phần mềm
Trang 10
ry | Công nghệ phan mem
ry | Công nghệ phản mềm
s Phương pháp hướng tuần tự các bước xây dựng phần mềm theo một phương
—
Microsoft Studio 6.0 Microsoft Studio.Net Microsoft SQL Server 2000/2005
Trang 11
W Qui trình Công nghệ phan mém | W Qui trình Công nghệ phần mềm | W Quy trình thác nước
Các hoạt động
êu câu phân mê s* Phân tích: Mô tả mức phát thảo các thành phân của 7 gem
mém (da phan tich)
Phan tich
Mô hình phần mềm
han mềm +* Kiểm tra: kiểm chứng các thành phần của phần mềm (đã
thực hiện)
š;:Triển khai Waterfall
HMONPH- Khoa CNPMI- Di CHTT Tạ HCM NMCNPM - Khoa CHPM - DH CHTT Tp MCM 32 NMCNPM Khas CHPM- HENTT Tp.HCM 33
Trang 12
W Quy trình thác nước cải tiến
Xác định
Phan tich
Oy
2 Triển khai
Quy trinh Prototype
“Thiet ké
nhanh”
Xây dựng
Prototype
HMCNPM - Kins CHPM - OH ONT TaLHeM 35
Quy trinh xoan 6c
Lap ké hoach
Đánh giá Phân tích rủi ro
của khách hàng
Phân tích, thiết kế
Xây dựng
và triển khai
Trang 13
Quy trình phát triển lặp
s* Chúng ta có thể chia nhỏ phần mềm ra làm nhiều giai
đoạn thay vì làm một lần từ đầu đến cuối
Phase 1 Phase 2
8| S$Ís £ |2| S|z elgsiz
a|ei2 5| 2 #|ã|s|ã a a Š|M[sị|a
4/8 2 4] 8 2/4 8
HMONPH- Khoa CNPMI- Di CHTT Tạ HCM
/ Live Implementation
[_] tterative development mo
1
Vòng đời phần mềm
Lập trình viên đưa ra đoạn mã mà anh ta tin rằng không
hề có lỗi
Kiểm tra chất lượng sản phẩm, phát hiện 20 lỗi
Lập trình viên sửa 10 lỗi và gửi e-mail tới phòng Thử nghiệm sản phẩm về 10 “vấn đề” còn lại mà anh ta nhất định cho rằng không phải là lỗi
Phòng thử nghiệm sản phẩm e-mail lai rằng 5 trong số
10 đoạn sửa lỗi không hoạt động và đính kèm danh
sách 16 lỗi mới
NHCNPM - Kha CHPM - pH CHTT Tp ICM 38
5
Vòng đời phần mềm
Phòng tiếp thị gửi thông báo rằng họ đã hoàn tất khâu quảng bá cho sản phẩm Giám đốc gọi điện xuống hỏi
về tiến độ công việc và củng cố tỉnh thần “chiến sỹ” Phòng phát hành cử nhân viên đến nhận đĩa nguồn phần mềm Phòng tiếp thị thông báo trên truyền hình và báo chí về việc hoãn lại ngày phát hành vài tuần ._ Ơn trời! Cuối cùng sản phẩm cũng được phát hành Trong vòng một tuần, người sử dụng phát hiện ra 137 lỗi mới
"1
Trang 14
a | Vòng đời phần mềm
8 Lập trình viên phụ trách phát triển sản phẩm đã xin nghỉ
phép
9 Một nhóm “cứu nạn” gồm nhiều lập trình viên kỳ cựu
được thành lập khẩn cắp Sau một tuần làm việc cật
lực, họ đã “thanh toán” hết 137 lỗi, nhưng lại được
thông báo về 456 lỗi mới
10 Mọi người tổng kết được 783 lỗi trong chương trình
11 Giám đốc ngồi tại bàn giấy xem xét lại các báo cáo và
quyết định thuê các lập trình viên mới toanh đê xây
dựng lại phần mềm từ đống đỗ nát ban đầu
NHCNPM- Khoa CNPMI- Di CHTT Tạ HCM
Vòng đời phần mềm
Lập trình viên đưa ra đoạn mã mà anh ta tin rằng không
hề có lỗi
Kiểm tra chất lượng sản phẩm, phát hiện 20 lỗi
NHCNPM - Kha CHPM - pH CHTT Tp ICM "1