Please use this identifier to cite or link to this item: http://thuvien.utt.edu.vn:8080/jspui/handle/123456789/1703
Title: Giáo trình Công nghệ phần mềm
Authors: Nguyễn Hữu, Mùi
Nguyễn Thị Kim, Huệ
Keywords: Công nghệ
phần mềm
công nghệ thông tin
CNTT
Issue Date: 2024
Publisher: Nxb. Xây dựng
Abstract: 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ế.
Description: 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.
URI: http://thuvien.utt.edu.vn:8080/jspui/handle/123456789/1703
Appears in Collections:Giáo Trình Công Nghệ Thông Tin

Files in This Item:
File Description SizeFormat 
01 - bia lot.pdf
  Restricted Access
407.66 kBAdobe PDFView/Open Request a copy
01 bia.pdf
  Restricted Access
2.08 MBAdobe PDFView/Open Request a copy
1 - GT CONG NGHE PHAN MEM -RUOT IN.pdf
  Restricted Access
7.07 MBAdobe PDFView/Open Request a copy


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.