Tải bản đầy đủ (.ppt) (237 trang)

Giáo trình công nghệ phần mềm ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.4 MB, 237 trang )

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 )


Nguyên nhân:
- Chi phí phần mềm cao.
- Các dự án phần mềm không có có kết quả tốt do
phương pháp xây dựng phần mềm cảm tính, thô sơ, thủ
công…
2. Giải quyết khủng hoảng:
-Thay đổi quan điểm nghiên cứu , đối tượng nghiên
cứu, phương pháp nghiên cứu, . . .
3. Các thành quả:
- Hệ tiên đề chứng minh tính đúng của chương trình
(Hoare)
- Phương pháp luận lập trình cấu trúc.
. . .
1.1 Lược sử (tt)
Giai đoạn thứ 3 : ( Từ giữa những năm 70 đến nay ) :
Đặc trưng :
- Hệ thông phân bố - nhiều máy tính, mỗi máy thực hiện một chức
năng tương tranh và liên lạc với máy khác.
- Sự phát triển nhanh của các máy tính cá nhân.
Giai đoạn thứ 4 :
Đặc trưng :
- Công nghệ phần mềm hướng đối tượng thay thế nhiều cách tiếp cận
phát triển phần mềm.
- Phần mềm với kiến trúc tính toán khác về cơ bản như các hệ chuyên
gia, phần mềm trí tuệ nhân tạo, mạng Nơron đã chuyển từ thí
nghiệm vào ứng dụng thực tế.
1.2. Phần mềm (Software)
1. Khái niệm.
Phần mềm là hệ thống các chương trình thực hiện được trên máy
tính nhằm hổ trợ cho các nhà chuyên môn trong từng lãnh vực

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.

1.2. Phần mềm (tt).
4. Phân loại :
a. Phần mềm hệ thống.

Được đặc trưng bởi : Tương tác chủ yếu với phần cứng, dùng chung
tài nguyên, . . .

Là tập các chương trình phục vụ cho các chương trình khác như :
trình biên dịch, các trình tiện ích xử lý tệp, Hệ điều hành. . .
b. Phần mềm thời gian thực.
Có đặc trưng ràng buộc chặt chẽ với thời gian.
Là các phần mềm có các thành phần :
-
Thu thập dữ liệu.
-
Phân tích.
-
Kiểm soát.
-
Điều phối.
Chẳng hạn như các chương trình trò chơi, điều khiển tự động,. . .
1.2. Phần mềm (tt)
c. Phần mềm nghiệp vụ.
Các phần mềm hệ thông tin quản lý.
d. Phần mềm khoa học và công nghệ
Được đặc trưng bởi thuật toán số như các chương trình tối ưu,. . .
e. Phần mềm nhúng.
Nằm trong bộ nhớ chỉ đọc và được dùng để điều khiển các sản phẩm
và hệ thống cho người dùng.
f. Phần mềm máy tính cá nhân.

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 ).

Đối tượng sử dụng phần mềm.
1.3. Công nghệ phần mềm (Software Engineering )
1. Định nghĩa CNPM.

Công nghệ :
Là cách sử dụng các công cụ, kỹ thuật trong việc giải quyết một
bài toán nào đó.

Công nghệ phần mềm là ngành khoa học nghiên cứu các nguyên
lý, các phương pháp,các công cụ, các thủ tục phục vụ cho việc xây
dựng các phần mềm có chất lượng trong khoảng thời gian và chi
phí hợp lý.
2. Các đối tượng nghiên cứu của CNPM.
a. Qui trình công nghệ phần mềm
Hệ thống các giai đoạn trong tiến trình phát triển phần mềm
b. Phương pháp phát triển phần mềm :
Hệ thống các hướng dẫn cho phép thực hiện một giai đoạn nào đó
trong qui trình công nghệ.
c. Công cụ và môi trường phát triển phần mềm :
Tập các phần mềm hổ trợ tiến trình phát triển phần mềm.
1.3. Công nghệ phần mềm (Software Engineering) (tt)
3. Các yếu tố trong CNPM.
a. Con nguời :
Bao gồm : Nhà quản lý, nhà phân tích hệ thống, kỹ sư phần mềm,
người kiểm định chất lượng, lập trình viên, người dùng khách hàng,

Cấu trúc nhóm tuỳ theo quy mô : nhóm nhỏ hoạt động có hiệu quả
khoảng 5 – 8 người (tích hợp các khả năng có thể hổ trợ nhau).
b. Dự án PM :
Đơn vị tổ chức, quản lý việc phát triển phần mềm.

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.

1.4. Các qui trình công nghệ (tt)
b. Mô hình hóa yêu cầu.
( mô tả dạng sơ đồ).

Mục tiêu : Chỉ ra các yêu cầu mà phần mềm phải xây dựng dưới
dạng mô hình ( Mô hình thế giới thực).

Kết quả tiếp nhận : Kết quả chuyển giao của giai đoạn xác định
yêu cầu.

Kết quả chuyển giao ( cho giai đoạn sau ):
- Mô hình xử lý : Hệ thống các công việc trong thế giới thực cùng
với quan hệ giữa chúng.
- Mô hình dữ liệu : Hệ thống thông tin cùng với quan hệ giữa
chúng.
- Các mô hình khác. . .
1.4. Các qui trình công nghệ (tt)
c. Thiết kế phần mềm :

Mục tiêu : Tạo ra mô hình phần mềm (các thành phần phần
mềm ).

Kết quả tiếp nhận : Mô hình thế giới thực.

Kết quả chuyển giao :
- Mô tả thành phần giao diện
- Mô tả thành phần xử lý.
- Mô tả thành phần dữ liệu.
- Mô tả kiến trúc phần mềm.
1.4. Các qui trình công nghệ (tt)

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.


Kết quả chuyển giao :
- Phần mềm đã hoạt động ổn định.
- Phần mềm đã được nâng cấp.
1.4. Các qui trình công nghệ (tt)
( Mô hình thác nước )
XĐYC
MHHYC
Thiết kế
Mã hoá
Kiểm
chứng
Bảo trì
Ưu điểm:

Các giai đoạn được định nghĩa, với đầu vào và đầu ra rõ
ràng. Mô hình này cơ bản dựa trên tài liệu nhất là trong
các giai đoạn đầu, đầu vào và đầu ra đều là tài liệu.

Sản phẩm phần mềm được hình thành thông qua chuỗi
các hoạt động xây dựng phần mềm theo trình tự rõ ràng.
Nhược điểm:

Đòi hỏi tất cả yêu cầu phần mềm phải được xác định rõ
ràng ngay từ đầu dự án. Nhưng đa số dự án cho thấy yêu
cầu phần mềm thường ẩn chứa các điểm không chắc
chắn.

Chưa thực sự phù hợp với thực tế vì các dự án hiếm khi
được thực hiện đầy đủ các bước trong suốt chu kỳ dự án.


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.

×