funfubi_yhdp

New Member

Download miễn phí Bài giảng Kỹ thuật phần mềm





MỤC LỤC
 
CHƯƠNG 1 - Phần mềm và kỹ nghệ phần mềm 1
1.1 Tầm quan trọng và sự tiến hóa của phần mềm 1
1.1.1 Tiến hóa của phần mềm 1
a. Những năm đầu (từ 1950 đến 1960): 1
b. Thời kỳ trải rộng từ những năm 1960 đến giữa những năm 1970: 1
c. Thời kỳ từ giữa những năm 1970 đến đầu những năm 1990: 2
d. Thời kỳ sau 1990: 2
1.1.2 Sự ứng dụng của phần mềm 2
a. Phần mềm hệ thống 2
b. Phần mềm thời gian thực 3
c. Phần mềm nghiệp vụ 3
d. Phần mềm khoa học và công nghệ 3
e. Phần mềm nhúng 3
f. Phần mềm máy tính cá nhân 3
g. Phần mềm trí tuệ nhân tạo 4
1.2 Khó khăn, thách thức đối với phát triển phần mềm 4
1.2.1 Phần mềm và phần mềm tốt 4
1.2.2 Đặc trưng phát triển và vận hành phần mềm 5
a. Phần mềm không được chế tạo theo nghĩa cổ điển 5
b. Phần mềm không hỏng đi nhưng thoái hóa theo thời gian 6
c. Phần lớn phần mềm đều được xây dựng từ đầu, ít khi được lắp ráp từ thành phần có sẵn 6
1.2.3 Nhu cầu và độ phức tạp 6
1.3 Kỹ nghệ phần mềm 7
1.3.1 Định nghĩa 7
a. Các phương pháp 7
b. Các công cụ 7
c. Các thủ tục 8
1.3.2 Mô hình vòng đời cổ điển 8
a. Kỹ nghệ và phân tích hệ thống 8
b. Phân tích yêu cầu phần mềm 8
c. Thiết kế 8
d. Mã hóa 9
e. Kiểm thử 9
f. Bảo trì 9
1.3.3 Mô hình làm bản mẫu 10
1.3.4 Mô hình xoắn ốc 11
1.3.5 Kỹ thuật thế hệ thứ tư 13
1.3.6 Mô hình lập trình cực đoan 14
a) Tạo các ca thử nghiệm trước tiên 14
b) Lập trình đôi 14
1.3.7 Tổ hợp các mô hình 15
1.3.8 Tính khả thị của quá trình kỹ nghệ 15
1.3.9 Vấn đề giảm kích cỡ của phần mềm 16
1.4 Cái nhìn chung về kỹ nghệ phần mềm 17
Chương 2 - Phân tích và đặc tả yêu cầu 20
2.1 Đại cương về phân tích và đặc tả 20
2.2 Nghiên cứu khả thi 21
2.3 Nền tảng của phân tích yêu cầu 23
2.3.1 Các nguyên lý phân tích 23
2.3.2 Mô hình hóa 24
2.3.3 Người phân tích 26
2.4 Xác định và đặc tả yêu cầu 27
2.4.1 Xác định yêu cầu 27
2.4.2 Đặc tả yêu cầu 27
2.4.3 Thẩm định yêu cầu 28
2.5 Làm bản mẫu trong quá trình phân tích 29
2.5.1 Các bước làm bản mẫu 29
2.6 Định dạng đặc tả yêu cầu 31
Chương 3 - Thiết kế phần mềm 34
3.1 Khái niệm về thiết kế phần mềm 34
3.1.1 Khái niệm 34
3.1.2 Tầm quan trọng 34
3.1.3 Quá trình thiết kế 35
3.1.4 Cơ sở của thiết kế 36
3.1.5 Mô tả thiết kế 37
3.1.6 Chất lượng thiết kế 38
3.2 Thiết kế hướng chức năng 41
3.2.1 Cách tiếp cận hướng chức năng 41
3.2.2 Biểu đồ luồng dữ liệu 42
3.2.3 Lược đồ cấu trúc 42
3.2.4 Các từ điển dữ liệu 42
3.3 Thiết kế hướng đối tượng 43
3.3.1 Cách tiếp cận hướng đối tượng 43
3.3.2 Ba đặc trưng của thiết kế hướng đối tượng 43
3.3.3 Cơ sở của thiết kế hướng đối tượng 43
3.3.4 Các bước thiết kế 44
3.3.5 Ưu nhược điểm của thiết kế hướng đối tượng 45
3.3.6 Quan hệ giữa thiết kế và lập trình hướng đối tượng 45
3.3.7 Quan hệ giữa thiết kế hướng đối tượng và hướng chức năng 46
3.4 Thiết kế giao diện người sử dụng 46
3.4.1 Một số vấn đề thiết kế 48
3.4.2 Một số hướng dẫn thiết kế 48
Chương 4 - Lập trình 50
4.1 Ngôn ngữ lập trình 50
4.1.1 Đặc trưng của ngôn ngữ lập trình 50
4.1.2 Lựa chọn ngôn ngữ lập trình 51
4.1.3 Ngôn ngữ lập trình và và sự ảnh hưởng tới kỹ nghệ phần mềm 52
4.2 Phong cách lập trình 52
4.2.1 Tài liệu chương trình 53
4.2.2 Khai báo dữ liệu 53
4.2.3 Xây dựng câu lệnh 54
4.2.4 Vào/ra 54
4.3 Lập trình tránh lỗi 54
4.3.1 Lập trình thứ lỗi 56
4.3.2 Lập trình phòng thủ 56
4.4 Lập trình hướng hiệu quả thực hiện 57
4.4.1 Tính hiệu quả chương trình 57
4.4.2 Hiệu quả bộ nhớ 58
4.4.3 Hiệu quả vào/ra 58
Chương 5 - Xác minh và thẩm định 60
5.1 Đại cương 60
5.2 Khái niệm về phép thử 61
5.3 Thử nghiệm chức năng và thử nghiệm cấu trúc 61
5.3.1 Thử nghiệm chức năng 61
5.3.2 Thử nghiệm cấu trúc 62
5.4 Quá trình thử nghiệm 63
5.4.1 Thử nghiệm gây áp lực 64
5.5 Chiến lược thử nghiệm 64
5.5.1 Thử nghiệm dưới lên 64
5.5.2 Thử ngiệm trên xuống 65
Chương 6 - Quản lý dự án phát triển phần mềm 66
6.1 Đại cương 66
6.2 Độ đo phần mềm 67
6.2.1 Đo kích cỡ phần mềm 67
6.2.2 Độ đo dựa trên thống kê 68
6.3 Ước lượng 68
6.4 Quản lý nhân sự 69
6.5 Quản lý cấu hình 70
6.6 Quản lý rủi ro 71
Tài liệu tham khảo 73
 
 



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

kế tập trung chủ yếu vào các vấn đề thiết kế dữ liệu và kiến trúc mức đỉnh chứ không tập trung vào thiết kế thủ tục chi tiết.
Bước 4: Phần mềm bản mẫu được tạo ra, kiểm thử và làm mịn. Bản mẫu nên được xây dựng một cách nhanh chóng và với một chi phí nhỏ. Một cách lý tưởng, bản mẫu nên được lắp ráp từ các khối chức năng (thư viện...) đã có. Có thể dùng các ngôn ngữ bậc cao hay các công cụ tự động để xây dựng bản mẫu.
Bước 5: Khách hàng đánh giá và làm mịn yêu cầu. Bước này là cốt lõi của cách tiếp cận làm bản mẫu. Chính ở đây mà khách hàng có thể xem xét cách biểu diễn được cài đặt cho yêu cầu phần mềm, gợi ý những thay đổi làm cho phần mềm đáp ứng tốt hơn với các nhu cầu thực tế.
Bước 6: Lặp lại các bước 4 và 5 cho tới khi tất cả các yêu cầu đã được hình thức hóa đầy đủ hay cho tới khi bản mẫu đã tiến hóa thành một phần mềm hoàn thiện. 2.5.2 Lợi ích và hạn chế của phát triển bản mẫu. Phát triển bản mẫu đem lại các lợi ích sau:
1. Sự hiểu lầm giữa những người phát triển phần mềm và những người sử dụng phần mềm có thể được nhận thấy rõ khi các chức năng của hệ thống được trình diễn.
2. Sự thiếu hụt các dịch vụ người dùng có thể được phát hiện.
3. Sự khó sử dụng hay sự nhầm lẫn các dịch vụ người dùng có thể được thấy rõ và được sửa lại.
4. Đội ngũ phát triển phần mềm có thể tìm ra đựơc các yêu cầu không đầy đủ hay không kiên định khi họ phát triển bản mẫu.
5. Một hệ thống hoạt động được (mặc dầu là hạn chế) là bằng chứng thuyết minh cho tính khả thi và tính hữu ích của ứng dụng cho các nhà quản lý.
6. Bản mẫu đó được dùng làm cơ sở cho việc viết đặc tả một sản phẩm.
Mặc dù mục tiêu chủ yếu của việc tạo bản mẫu là để phát triển, thẩm định các yêu cầu phần mềm, nó cũng có các lợi ích khác như:
1. Dùng để huấn luyện người sử dụng ngay từ trước khi hệ thống được phân phối.
2. Dùng trong quá trình thử nghiệm hệ thống. Điều đó nghĩa là cùng các trường hợp thử như nhau vừa dùng cho thử bản mẫu vừa cho thử hệ thống. Kết quả khác nhau có nghĩa là có sai sót.
Tạo bản mẫu là một kỹ thuật giảm bớt rủi ro. Một rủi ro lớn trong việc phát triển phần mềm là các sai sót mà đến giai đoạn cuối mới phát hiện và việc chỉnh sửa vào thời điểm đó là rất tốn kém. Kinh nghiệm cho thấy việc tạo bản mẫu sẽ giảm bớt số các vấn đề của đặc tả yêu cầu và giá cả tổng cộng của việc phát triển có thể là thấp hơn nếu ta phát triển bản mẫu. Hạn chế của cách tiếp cận tạo bản mẫu là:
1. Để đơn giản hóa việc tạo bản mẫu người ta có thể bỏ qua các yêu cầu phức tạp. Sự thật hẳn là không thể tạo bản mẫu một vài phần quan trọng nhất của hệ thống như các đặc điểm về sự an toàn - nguy kịch.
2. Các yêu cầu phi chức năng như độ tin cậy, độ an toàn hay hiệu năng thường không được biểu thị đầy đủ trong bản mẫu.
3. Do tính chưa hoàn thiện về chức năng/hiệu năng, người dùng có thể không dùng bản mẫu y như cách dùng một hệ thống thực đang hoạt động. Do đó, chất lượng đánh giá của khách hàng nhiều khi không cao.
2.6 Định dạng đặc tả yêu cầu
Kết quả của bước phân tích là tạo ra bản đặc tả yêu cầu phần mềm (Software Requirement Specification - SRS). Đặc tả yêu cầu phải chỉ rõ được phạm vi của sản phẩm, các chức năng cần có, đối tượng người sử dụng và các ràng buộc khi vận hành sản phẩm. Có nhiều chuẩn khác nhau trong xây dựng tài liệu, dưới đây là một định dạng RSR thông dụng (theo chuẩn IEEE 830-1984).
1 Giới thiệu
1.1 Mục đích
Mục này giới thiệu mục đích của tài liệu yêu cầu. Thường chỉ đơn giản là định nghĩa “đây là tài liệu yêu cầu về phần mềm XYZ”.
1.2 Phạm vi
Nêu pham vi đề cập của tài liệu yêu cầu.
1.3 Định nghĩa
Định nghĩa các khái niệm, các từ viết tắt, các chuẩn được sử dụng trong tài liệu yêu cầu.
1.4 Tài liệu tham khảo
Nêu danh mục các tài liệu tham khảo dùng để tạo ra bản đặc tả yêu cầu.
1.5 Mô tả chung về tài liệu
Mô tả khái quát cấu trúc tài liệu, gồm có các chương, mục, phục lục chính nào.
2 Mô tả chung
2.1 Tổng quan về sản phẩm
Mô tả khái quát về sản phẩm.
2.2 Chức năng sản phẩm
Khái quát về chức năng sản phẩm.
2.3 Đối tượng người dùng
Mô tả về đối tượng người dùng.
2.4 Ràng buộc tổng thể
Khái quát về các ràng buộc của phần mềm: ràng buộc phần cứng, môi trường sử dụng, yêu cầu kết nối với các hệ thống khác...
2.5 Giả thiết và sự lệ thuộc
Mô tả các giả thiết khi áp dụng tài liệu: ví dụ như tên phần cứng, phần mềm, hệ điều hành cụ thể.
3 Yêu cầu chi tiết
Mô tả các yêu cầu
3.1 Yêu cầu chức năng
Mô tả chi tiết về các yêu cầu chức năng.
3.1.1 Yêu cầu chức năng 1
3.1.1.1 Giới thiệu
3.1.1.2 Dữ liệu vào
3.1.1.3 Xử lý
3.1.1.4. Kết quả
3.1.2 Yêu cầu chức năng 2
...
3.1.n Yêu cầu chức năng n
3.2 Yêu cầu giao diện ngoài
Mô tả các giao diện của phần mềm với môi trường bên ngoài.
3.2.1 Giao diện người dùng
3.2.2 Giao diện phần cứng
3.2.3 Giao diện phần mềm
3.2.4 Giao diện truyền thông
3.3 Yêu cầu hiệu suất
Mô tả về hiệu suất, ví dụ như thời gian phản hồi với sự kiện, số giao dịch được thực hiện/giây,...
3.4 Ràng buộc thiết kế
Mô tả các ràng buộc thiết kế, ví dụ các ràng buộc về ngôn ngữ, về công nghệ, về cơ sở dữ liệu và về chuẩn giao tiếp.
3.5 Thuộc tính
Mô tả các thuộc tính của phần mềm.
3.5.1 Tính bảo mật, an toàn và khả năng phục hồi
Mức độ bảo mật dữ liệu, cách thức truy cập vào hệ thống. Độ an toàn của hệ thống đối với các trường hợp bất thường như mất điện... Khả năng phục hồi của hệ thống sau khi gặp sự cố.
3.5.2 Tính bảo trì
Các chức năng, giao diện đòi hỏi phải dễ sửa đổi (dễ bảo trì).
3.6 Các yêu cầu khác
Các yêu cầu khác liên quan đến sản phẩm.
Tổng kết: Phân tích và định rõ yêu cầu là bước kỹ thuật đầu tiên trong tiến trình kỹ nghệ phần mềm. Tại bước này các phát biểu chung về phạm vi phần mềm được làm mịn thành một bản đặc tả cụ thể để trở thành nền tảng cho mọi hoạt động kỹ nghệ phần mềm sau đó. Việc phân tích phải tập trung vào các miền thông tin, chức năng và hành vi của vấn đề. Để hiểu rõ yêu cầu, người ta tạo ra mô hình, phân hoạch vấn đề và tạo ra những biểu diễn mô tả cho bản chất của yêu cầu rồi sau đó đi vào các chi tiết. Trong nhiều trường hợp, không thể nào đặc tả được đầy đủ mọi vấn đề tại giai đoạn đầu. Việc làm bản mẫu thường giúp chỉ ra cách tiếp cận khác để từ đó có thể làm mịn thêm yêu cầu. Để tiến hành đúng đắn việc làm bản mẫu, có thể cần tới các công cụ và kỹ thuật đặc biệt. Kết quả của việc phân tích là tạo ra bản đặc tả các yêu cầu phần mềm. Đặc tả cần được xét duyệt để đảm bảo rằng người phát triển và khách hàng có cùng nhận biết về hệ thống cần phát triển.
Chương 3
Thiết kế phần mềm
3.1 Khái niệm về thiết kế phần mềm
3.1.1 Khái niệm
Có...
 
Top