Giáo trình Công nghệ phần mềm
Tiến bộ trong công nghệ phần mềm là rất đáng kể trong những năm qua. Có thể nói xã hội của chúng ta không thể hoạt động nếu không có các hệ thống phần mềm chuyên nghiệp. Các tiện ích và cơ sở hạ tầng quốc gia như năng lượng, thông tin liên lạc và giao thông,… tất cả đều dựa vào các hệ thống máy...
Lưu vào:
Tác giả chính: | , |
---|---|
Định dạng: | Sách |
Ngôn ngữ: | Vietnamese |
Thông tin xuất bản: |
Nxb. Xây dựng
2024
|
Chủ đề: | |
Truy cập trực tuyến: | http://thuvien.utt.edu.vn:8080/jspui/handle/123456789/1703 |
Từ khóa: |
Thêm từ khóa bạn đọc
Không có từ khóa, Hãy là người đầu tiên gắn từ khóa cho biểu ghi này!
|
Tóm tắt: | Tiến bộ trong công nghệ phần mềm là rất đáng kể trong những năm
qua. Có thể nói xã hội của chúng ta không thể hoạt động nếu không có
các hệ thống phần mềm chuyên nghiệp. Các tiện ích và cơ sở hạ tầng
quốc gia như năng lượng, thông tin liên lạc và giao thông,… tất cả đều
dựa vào các hệ thống máy tính phức tạp và chủ yếu là đáng tin cậy. Phần
mềm đã cho phép chúng ta khám phá không gian và tạo ra World Wide
Web, một hệ thống thông tin quan trọng nhất trong lịch sử nhân loại. Thế
giới hiện đang phải đối mặt với một loạt thách thức lớn như biến đổi khí
hậu và thời tiết khắc nghiệt, tài nguyên thiên nhiên suy giảm, dân số thế
giới ngày càng tăng để được ăn và ở, chủ nghĩa khủng bố quốc tế ngày
càng lan rộng,... Chúng ta cần những công nghệ mới để giúp chúng ta
giải quyết những vấn đề này và chắc chắn, công nghệ phần mềm sẽ đóng
một vai trò trung tâm trong những công nghệ đó.
Có thể nói công nghệ phần mềm là một công nghệ cực kỳ quan trọng
đối với tương lai của nhân loại. Chúng ta phải tiếp tục đào tạo các kỹ sư
phần mềm và phát triển công nghệ để có thể tạo ra các hệ thống phần
mềm phức tạp hơn, tin cậy hơn. Hiện nay, vẫn có những vấn đề với các dự
án phần mềm. Phần mềm đôi khi vẫn bị chậm trễ và chi phí cao hơn dự
kiến ban đầu. Tuy nhiên, chúng ta không nên để những vấn đề này làm lu
mờ những thành công thực sự trong công nghệ phần mềm và các phương
pháp và công nghệ kỹ thuật phần mềm ấn tượng đã được phát triển trong
những năm qua.
Trong những năm gần đây, môn học công nghệ phần mềm là một môn
học chuyên ngành được đưa vào giảng dạy trong hầu hết các khoa công
nghệ thông tin của các trường đại học nói chung và Khoa Công nghệ
Thông tin, Trường Đại học Công nghệ Giao thông Vận tải nói riêng. Hiện
nay, giáo trình chính thức dùng cho việc giảng dạy của giảng viên và việc
học tập của sinh viên của Khoa chưa có. Vì vậy, việc tiếp thu kiến thức
của môn học này đối với sinh viên là rất khó khăn. Thông qua một số tài
liệu tham khảo trong và ngoài nước kết hợp với kinh nghiệm trực tiếp
giảng dạy môn học này trong 20 năm qua, các tác giả mạnh dạn biên4
soạn và đề nghị cho xuất bản cuốn giáo trình công nghệ phần mềm làm
tài liệu chính thức cho môn học công nghệ phần mềm của Khoa. Cuốn
sách cũng có thể là tài liệu tham khảo cho giảng viên và sinh viên chuyên
ngành công nghệ thông tin của các Trường đại học khác.
Công nghệ phần mềm hiện nay là một lĩnh vực rộng lớn đến mức không
thể bao quát toàn bộ các chủ đề trong một giáo trình môn học với thời
lượng 3 đơn vị học trình. Do đó, trọng tâm của giáo trình này là trình bày
các chủ đề cơ bản nhất trong công nghệ phần mềm như là một nhập môn
của môn học.
Cấu trúc của giáo trình bao gồm 9 chương trình bày về các chủ đề
chính của công nghệ phần mềm:
Chương 1 giới thiệu và thảo luận về các khái niệm cơ bản của phần
mềm và công nghệ phần mềm làm tiền đề cho người đọc lĩnh hội kiến thức
của các chương tiếp theo.
Chương 2 trình bày các vấn đề liên quan tới tiến trình công nghệ phần
mềm hay ngắn gọn là tiến trình phần mềm, đó là một tập hợp các hoạt
động nhất quán để làm ra phần mềm.
Chương 3 giới thiệu cho người đọc các phương pháp phát triển phần
mềm nhanh. Chương này sẽ cung cấp cho người đọc những kiến thức sau:
Cơ sở lý luận của các phương pháp phát triển phần mềm nhanh, tuyên
ngôn nhanh và sự khác biệt giữa phát triển theo hướng nhanh và theo
hướng kế hoạch; Các thực hành chính trong lập trình cực đoan và chúng
liên quan như thế nào đến các nguyên tắc chung của các phương pháp
phát triển nhanh; Cách tiếp cận Scrum để quản lý dự án nhanh; Cách mở
rộng các phương pháp phát triển nhanh để phát triển các hệ thống phần
mềm lớn.
Chương 4 giới thiệu về công nghệ yêu cầu phần mềm và thảo luận về
các tiến trình liên quan đến việc phát hiện và ghi lại các yêu cầu. Chương
này sẽ cung cấp cho người đọc những kiến thức sau: Các khái niệm về
yêu cầu của người dùng và yêu cầu hệ thống, tại sao những yêu cầu này
nên được viết theo những cách khác nhau; Sự khác biệt giữa các yêu cầu
chức năng và phi chức năng; Các hoạt động chính trong pha công nghệ
yêu cầu và các mối quan hệ giữa các hoạt động này; Cách tổ chức các
yêu cầu trong tài liệu yêu cầu phần mềm; Tại sao quản lý yêu cầu là cần
thiết và cách nó hỗ trợ các hoạt động kỹ thuật yêu cầu khác.5
Chương 5 giới thiệu một số loại mô hình hệ thống có thể được phát
triển như một phần của tiến trình thiết kế hệ thống và công nghệ yêu cầu.
Chương này sẽ cung cấp cho người đọc những kiến thức sau: Hiểu cách
các mô hình đồ họa có thể được sử dụng để biểu diễn các hệ thống phần
mềm; Hiểu tại sao các loại mô hình khác nhau được sử dụng và các quan
điểm mô hình hóa hệ thống cơ bản về khung cảnh, tương tác, cấu trúc và
hành vi; Giới thiệu về ngôn ngữ mô hình hóa hợp nhất (UML) và cách
những sơ đồ này có thể được sử dụng trong mô hình hóa hệ thống; Nhận
thức được các ý tưởng cơ bản của công nghệ hướng mô hình.
Chương 6 giới thiệu về kiến trúc phần mềm và thiết kế kiến trúc.
Chương này nhằm cung cấp cho người đọc những kiến thức cơ bản sau:
Hiểu tại sao thiết kế kiến trúc của phần mềm lại quan trọng; Hiểu các
quyết định phải được thực hiện về kiến trúc hệ thống trong quá trình thiết
kế kiến trúc; Giới thiệu ý tưởng về các mẫu kiến trúc, các cách tổ chức
kiến trúc hệ thống đã được kiểm thử tốt, có thể được tái sử dụng trong các
thiết kế kiến trúc hệ thống; Các mẫu kiến trúc thường được sử dụng trong
các loại hệ thống ứng dụng khác nhau, bao gồm hệ thống xử lý giao dịch
và hệ thống xử lý ngôn ngữ.
Chương 7 giới thiệu về thiết kế phần mềm hướng đối tượng sử dụng
UML và thực hiện hệ thống. Chương này cung cấp cho người đọc những
kiến thức cơ bản sau: Hiểu các hoạt động quan trọng nhất trong một tiến
trình thiết kế hướng đối tượng; Hiểu một số mô hình khác nhau có thể
được sử dụng để ghi lại thiết kế hướng đối tượng; Biết về ý tưởng của các
mẫu thiết kế và đây là cách sử dụng lại kiến thức và kinh nghiệm thiết kế;
Giới thiệu về các vấn đề chính cần được xem xét khi thực hiện phần mềm,
bao gồm cả việc tái sử dụng phần mềm và phát triển mã nguồn mở.
Chương 8 giới thiệu về kiểm thử phần mềm và các tiến trình kiểm thử
phần mềm. Chương này sẽ cung cấp cho bạn đọc những kiến thức sau:
Hiểu các giai đoạn của kiểm thử từ kiểm thử trong quá trình phát triển
đến kiểm thử chấp nhận của khách hàng hệ thống; Hiểu về các kỹ thuật
giúp bạn chọn các trường hợp kiểm thử hướng đến việc phát hiện ra các
khiếm khuyết của chương trình; Hiểu về phát triển kiểm thử trước tiên, ở
đó bạn thiết kế các kiểm thử trước khi viết mã và chạy các kiểm thử này tự
động.
Chương 9 trình bày về sự tiến hóa phần mềm. Chương này nhằm cung
cấp cho người đọc những kiến thức cơ bản sau: Hiểu rằng việc thay đổi là6
không thể tránh khỏi nếu hệ thống phần mềm vẫn hữu ích và sự phát triển
phần mềm và tiến hóa phần mềm có thể được tích hợp trong một mô hình
xoắn ốc; Hiểu các tiến trình tiến hóa phần mềm và ảnh hưởng của các
tiến trình này đối với hệ thống; Hiểu về các loại bảo trì phần mềm khác
nhau và các yếu tố ảnh hưởng đến chi phí bảo trì hệ thống; Hiểu cách
đánh giá một hệ thống kế thừa để quyết định liệu chúng có nên được loại
bỏ, bảo trì, tái cấu trúc, hoặc thay thế.
Phân công biên soạn của tập thể tác giả như sau: TS. Nguyễn Hữu mùi
(chủ biên) chịu trách nhiệm chung cho toàn bộ cuốn sách và trực tiếp biên
soạn các chương 1,2, 3, 6, 7,8, 9. Ths. Nguyễn Thị Kim Huệ biên soạn
chương 4, 5.
Mặc dù đã hết sức cố gắng trong việc tra cứu tài liệu và tham khảo ý
kiến của các đồng nghiệp để có được bản thảo của cuốn sách này, nhưng
tin chắc rằng khó tránh khỏi một số thiếu sót cả về nội dung lẫn hình thức.
Nhóm tác giả rất mong nhận được sự góp ý chân tình của bạn đọc và các
nhà chuyên môn.
Cuối cùng, chúng tôi chân thành cảm ơn và ghi công các tác giả của các
cuốn sách trong danh mục tài liệu tham khảo, các tài liệu của họ là cơ sở
rất đáng tin cậy cho chúng tôi biên soạn giáo trình này. Nhóm tác giả
cũng xin cảm ơn Tiến sĩ Phùng Văn Ổn, Tiến sĩ Vũ Như Lân đã đọc rất kỹ
bản thảo của giáo trình và đưa ra các đề xuất mang tính xây dựng để hoàn
thiện cuốn sách này. |
---|