CHƯƠNG 1:
TỔNG QUAN VỀ
CÔNG NGHỆ PHẦN MỀM
Mục tiêu
Nội dung
Mục tiêu :
Cung cấp các khái niệm cơ bản
trong công nghệ phần mềm.
Nội dung :
1. Lược sử.
2. Phần mềm.
3. Công nghệ phần mềm.
4. Các qui trình công nghệ.
5. Các phương pháp phát triển phần mềm.
6. Các công cụ và môi trường phát triển phần mềm.
7. Các nội dung cơ bản của công nghệ phần mềm.
1.1 Lược sử
Qua các giai đoạn :
Giai đoạn I : Thời kỳ thế hệ thứ nhất của MTĐT ( Thập niên 50.)
Mô tả dựa vào các đặc trưng:
a) Quan điểm : Lập trình là một hoạt động nghệ thuật, dựa trên cảm
tính.
b) Ngôn ngữ lập trình : NN máy, bậc thấp.
c) Phương pháp lập trình : Tuyến tính.
d) Năng suất : Thấp
1.1 Lược sử (tt)
Giai đoạn thứ 2 :
1. Thời kỳ khủng hoảng phần mềm ( Trong thập niên 60 )
chuyên ngành thực hiện tốt các thao tác nghiệp vụ của mình
Lĩnh vực chuyên ngành : Mọi mặt trong đời sống xã hội như giáo
dục, quốc phòng, giải trí, kinh doanh, . . .
Nhà chuyên môn ( nguời sử dụng) : Người hoặc bộ phận tham gia
hoạt động vào các lĩnh vực tương ứng.
Thao tác nghiệp vụ : Các công việc trong thế giới thực được
chuyển vào lĩnh vực tương ứng.
2. Các đặc trưng phần mềm.
- Không hỏng, chỉ lạc hậu.
- Làm theo đơn đặt hàng, ít khi lắp ráp từ các thành phần có sẵn.
1.2. Phần mềm (tt)
3. Các thành phần phần mềm.
a. Thành phần giao diện :
-
Tiếp nhận các yêu cầu về việc sử dụng phần mềm của người sử
dụng ( như chọn công việc,nhập dữ liệu nguồn, …)
-
Trình bày kết quả phần mềm thực hiện.
-
Điều khiển phần mềm hoạt động.
b. Thành phần xử lý :
- Kiểm tra tính hợp lệ của dữ liệu nguồn.
- Tra cứu, Tính toán, biến đổi cho ra kết quả.
c. Thành phần dữ liệu:
- Tổ chức cấu trúc dữ liệu.
- Tổ chức lưu trử Cơ sở dữ liệu.
- Truy xuất (đọc, ghi) dữ liệu.
Như phần mềm xử lý văn bản, bảng tính, . .
g. Phần mềm trí tuệ nhân tạo :
Dùng các thuật toán phi số, như các hệ chuyên gia, mạng nơron nhân
tạo, . . .
1.2. Phần mềm (tt)
5. Chất lượng phần mềm (các tiêu chuẩn phần mềm) :
a. Tính đúng đắn : Không có sự cố, Đúng với yêu cầu thiết kế.
b. Tính tiến hóa : Có thể thay đổi, mở rộng các yêu cầu, chức năng của
phần mềm.
c. Tính tiện dụng : Dễ học, dễ sử dụng.
d. Tính hiệu quả : Kinh tế, tốc độ, bộ nhớ.
e. Tính khoa học : Về nội dung, hình thức
f. Tính độc lập : Độc lập với thiết bị, với cấu trúc đối tượng phần mềm
quản lý.
g. Tính toàn vẹn : Có cơ chế ngăn ngừa việc phát sinh dữ liệu sai qui
cách, phục hồi dữ liệu, . . .
. . .
1.2. Phần mềm (tt).
6. Một số thuật ngữ liên quan:
- Phát triển phần mềm (Software development).
Tiến trình xây dựng phần mềm từ khi bắt đầu lập kế
hoạch dự án phần mềm cho đến khi chuyển giao sản
phẩm.
- Ứng dụng (Application).
Tập các chương trình thực hiện tự động trên máy tính
một số nhiệm vụ.
- Kỹ sư phần mềm ( Software Engineer).
Người áp dụng kiến thức phát triển phần mềm vào việc
tổ chức xây dựng một cách có hệ thống các ứng dụng.
- Người dùng (User ).
c. Sản phẩm PM :
Đầu ra của dự án phần mềm, có thể là mô hình, mã nguồn, tài
liệu,. . .
d. Qui trình công nghệ.
e. Công cụ.
Sơ đồ ảnh hưởng giữa các yếu tố :
1.3. Công nghệ phần mềm (Software Engineering )(tt)
DỰ ÁN
CON
NGƯỜI
QUI TRÌNH
SẢN PHẨM
CÔNG CỤ
1.4. Các qui trình công nghệ.
( Mô hình các quy trình phát triển phần mềm)
1. Mô hình tuần tự tuyến tính ( Linear Sequential Model)
( Các tên gọi khác :
- Mô hình thác nước (Waterfall Model)
- Vòng đời cổ điển (Classical life cycle) )
a. Xác định yêu cầu bài toán .
( mô tả dạng văn bản).
Mục tiêu : Chỉ ra các yêu cầu mà phần mềm phải xây dựng.
Kết quả tiếp nhận : Thông tin về các hoạt động của thể giới thực.
Kết quả chuyển giao ( cho giai đoạn sau ):
- Danh sách các yêu cầu.
- Thông tin chi tiết về các yêu cầu.
- Các qui định liên quan.
d. Mã hóa.
Mục tiêu : Tạo ra phần mềm đúng theo yêu cầu.
Kết quả tiếp nhận : Mô hình phần mềm.
Kết quả chuyển giao :
- Mã nguồn chương trình.
- Cơ sở dữ liệu tương ứng.
- Chương trình cài đặt.
- Chương trình đã được dịch, thi hành được.
1.4. Các qui trình công nghệ (tt)
e. Kiểm chứng.
Mục tiêu : Nâng cao độ tin cậy của phần mềm.
Kết quả tiếp nhận : Phần mềm, Mô hình phần mềm, danh sách các
yêu cầu.
Kết quả chuyển giao :
- Phần mềm đã được khẳng định về chất lượng.
1.4. Các qui trình công nghệ (tt)
f. Bảo trì :
Mục tiêu : Làm cho phần mềm hoạt động ổn định hoặc nâng cấp
phần mềm.
Kết quả tiếp nhận : Phần mềm, Mô hình phần mềm, danh sách các
yêu cầu.
Người sử dụng không có cơ hội tham gia trong suốt thời
gian của các giai đoạn trung gian từ thiết kế cho đến kiểm
thử. Đặc biệt với những dự án lớn, người sử dụng chỉ có
thể nhận ra rằng hệ thống phần mềm không phù hợp cho
nhu cầu của họ vào thời điểm cuối dự án.
Nói chung, mô hình này thường ẩn chứa nhiều rủi ro mà
chỉ có thể phát hiện ở giai đoạn cuối cùng và chi phí để
sửa chữa có thể rất cao.