-
Thông tin
-
Quiz
Ôn tập giữa kỳ công nghệ phần mềm | Công nghệ phần mềm | Trường Đại học Công nghiệp TP.HCM
Ôn tập giữa kỳ công nghệ phần mềm môn Công nghệ phần mềm của Trường Đại học Công nghiệp Thành phố Hồ Chí Minh. Hi vọng tài liệu này sẽ giúp các bạn học tốt, ôn tập hiệu quả, đạt kết quả cao trong các bài thi, bài kiểm tra sắp tới. Mời các bạn cùng tham khảo chi tiết bài viết dưới đây nhé.
Công nghệ phần mềm (Software Engineering) 28 tài liệu
Đại học Công nghiệp Thành phố Hồ Chí Minh 386 tài liệu
Ôn tập giữa kỳ công nghệ phần mềm | Công nghệ phần mềm | Trường Đại học Công nghiệp TP.HCM
Ôn tập giữa kỳ công nghệ phần mềm môn Công nghệ phần mềm của Trường Đại học Công nghiệp Thành phố Hồ Chí Minh. Hi vọng tài liệu này sẽ giúp các bạn học tốt, ôn tập hiệu quả, đạt kết quả cao trong các bài thi, bài kiểm tra sắp tới. Mời các bạn cùng tham khảo chi tiết bài viết dưới đây nhé.
Môn: Công nghệ phần mềm (Software Engineering) 28 tài liệu
Trường: Đại học Công nghiệp Thành phố Hồ Chí Minh 386 tài liệu
Thông tin:
Tác giả:
![](/storage/uploads/documents/89d44edef3868592872d77f9d05a92f4/bg1.png)
![](/storage/uploads/documents/89d44edef3868592872d77f9d05a92f4/bg2.png)
![](/storage/uploads/documents/89d44edef3868592872d77f9d05a92f4/bg3.png)
![](/storage/uploads/documents/89d44edef3868592872d77f9d05a92f4/bg4.png)
![](/storage/uploads/documents/89d44edef3868592872d77f9d05a92f4/bg5.png)
Tài liệu khác của Đại học Công nghiệp Thành phố Hồ Chí Minh
Preview text:
1. Tổng quan về công nghệ phần mềm
Cho biết 3 thách thức của công nghệ phần mềm, giải thích tại sao.
- Thiếu nhà phát triển:
Nhu cầu cao cho các nhà phát triển phần mềm, trong khi nguồn cung không đủ.
Kỹ năng cần thiết cho các nhà phát triển ngày càng cao và phức tạp.
Chi phí tuyển dụng và giữ chân nhà phát triển tài năng cao.
- Tìm thời gian để xây dựng ứng dụng:
Quy trình phát triển phần mềm phức tạp và tốn thời gian.
Nhu cầu liên tục cập nhật và cải thiện ứng dụng.
Khó khăn trong việc dự đoán thời gian hoàn thành dự án.
- Không có khả năng theo kịp sự đổi mới trong các công cụ dành cho nhà phát triển:
Ngành công nghệ phần mềm liên tục phát triển với nhiều công cụ mới xuất hiện.
Khó khăn trong việc học hỏi và sử dụng các công cụ mới.
Chi phí đầu tư vào các công cụ mới cao.
- Khó khăn với sự 琀ch hợp của bên thứ ba:
Nhu cầu 琀ch hợp ứng dụng với các hệ thống và dịch vụ bên thứ ba ngày càng cao.
Khó khăn trong việc đảm bảo 琀nh tương thích và bảo mật giữa các hệ thống.
Chi phí phát triển và bảo trì 琀ch hợp cao.
- Khối lượng công việc và quản lý dự án:
Quản lý dự án phần mềm phức tạp với nhiều công việc và mốc thời gian.
Khó khăn trong việc theo dõi 琀椀ến độ và đảm bảo chất lượng.
Rủi ro dự án bị chậm trễ hoặc vượt ngân sách.
- Đe dọa an ninh:
Nguy cơ tấn công mạng và phần mềm độc hại ngày càng cao.
Khó khăn trong việc bảo mật dữ liệu và ứng dụng.
Chi phí đầu tư vào bảo mật cao.
- Tăng sự mong đợi của khách hàng:
Khách hàng ngày càng mong đợi ứng dụng có chất lượng cao, dễ sử dụng và được cập nhật thường xuyên.
Khó khăn trong việc đáp ứng nhu cầu và mong đợi của khách hàng.
Rủi ro mất khách hàng nếu không đáp ứng được nhu cầu của họ.
- Để đánh giá một phần mềm, những yếu tố nào có trong 琀椀êu chuẩn đánh giá phần mềm? Nêu lý do tại sao?
- Tính Hiệu quả của phần mềm, là một trong 4 thuộc 琀nh thiết yếu để đánh giá một phần mềm, có nghĩa là gì?
- Tại sao hệ thống phần mềm có thể bị lỗi theo thời gian?
Hệ thống phần mềm có thể bị lỗi theo thời gian vì nhiều lý do:
Mã nguồn không ổn định: Khi mã nguồn không được kiểm soát và quản lý cẩn thận, các thay đổi không được kiểm tra kỹ lưỡng có thể gây ra lỗi và tạo ra sự không ổn định trong hệ thống.
Môi trường hoạt động thay đổi: Các hệ thống phần mềm thường phải hoạt động trong môi trường thay đổi, bao gồm cập nhật phần cứng, phần mềm hệ điều hành, và các yêu cầu mới từ người dùng. Điều này có thể tạo ra các 琀nh huống không mong muốn và gây ra lỗi. Thiếu kiểm thử hoặc kiểm thử không đầy đủ: Khi kiểm thử không được thực hiện một cách toàn diện hoặc không đủ, các lỗi có thể không được phát hiện và tồn tại trong mã nguồn. Tiến triển công nghệ: Các công nghệ mới có thể tạo ra cơ hội cho việc cải 琀椀ến, nhưng cũng có thể gây ra lỗi khi 琀ch hợp vào hệ thống hiện tại.
Không đủ bảo trì: Khi không có sự bảo trì định kỳ, các lỗi nhỏ có thể 琀ch tụ và dần dần trở nên lớn hơn, ảnh hưởng đến 琀nh ổn định của hệ thống.
Để phần mềm không bị lỗi theo thời gian thì chúng ta cần phải làm gì (ít nhất 2 công việc)? Tại sao?
Cải thiện quản lý mã nguồn: Điều này bao gồm việc áp dụng các quy trình phát triển phần mềm chặt chẽ, sử dụng các công cụ quản lý phiên bản để theo dõi và kiểm soát thay đổi trong mã nguồn. Quản lý mã nguồn tốt giúp đảm bảo rằng chỉ các thay đổi được kiểm tra và áp dụng cẩn thận mới được đưa vào hệ thống, từ đó giảm thiểu nguy cơ gây ra lỗi. Thực hiện kiểm thử chất lượng cao: Kiểm thử phần mềm đầy đủ và kỹ lưỡng giúp phát hiện và loại bỏ các lỗi trước khi phần mềm được triển khai. Các loại kiểm thử như kiểm thử đơn vị, kiểm thử 琀ch hợp, kiểm thử hệ thống và kiểm thử chấp nhận người dùng đều cần được thực hiện để đảm bảo 琀nh ổn định và chất lượng của hệ thống phần mềm. Cho biết bốn tầng của Công nghệ phần mềm. Nhiệm vụ của mỗi tầng trong CNPM Bốn tầng của Công nghệ phần mềm là:
Công cụ (Tools):
Nhiệm vụ của tầng công cụ là cung cấp các phần mềm và công cụ cần thiết để phát triển, kiểm thử và quản lý dự án phần mềm.
Các công cụ này bao gồm các trình biên soạn mã nguồn, các công cụ kiểm thử tự động, các hệ thống quản lý phiên bản, và các công cụ quản lý dự án.
Mục 琀椀êu của tầng công cụ là cung cấp cho nhà phát triển các công cụ hỗ trợ hiệu quả để tăng cường năng suất và chất lượng của quá trình phát triển phần mềm.
Phương pháp (Methods):
Nhiệm vụ của tầng phương pháp là xác định và áp dụng các kỹ thuật và phương pháp phát triển phần mềm hiệu quả.
Các phương pháp này có thể bao gồm các phương pháp phát triển như Agile, Scrum, Waterfall, và các kỹ thuật cụ thể như kiểm thử đơn vị, kiểm thử 琀ch hợp, và kiểm thử hệ thống.
Mục 琀椀êu của tầng phương pháp là đảm bảo rằng các quy trình và phương pháp được sử dụng phản ánh sự 琀椀ến bộ và các 琀椀êu chuẩn chất lượng của ngành công nghiệp.
Quy trình (Process):
Nhiệm vụ của tầng quy trình là xác định và thực thi các quy trình và luồng công việc để quản lý và điều phối các hoạt động phát triển phần mềm.
Các quy trình này có thể bao gồm quy trình quản lý dự án, quy trình kiểm thử, quy trình kiểm soát phiên bản, và quy trình triển khai.
Mục 琀椀êu của tầng quy trình là tạo ra các quy trình có cấu trúc và linh hoạt để đảm bảo rằng các dự án phần mềm được thực hiện theo đúng 琀椀êu chuẩn và các yêu cầu của khách hàng.
Tập trung vào chất lượng (Quality Focus):
Nhiệm vụ của tầng tập trung vào chất lượng là đảm bảo rằng chất lượng của phần mềm được đặt lên hàng đầu trong quá trình phát triển.
Điều này bao gồm việc thiết lập 琀椀êu chuẩn chất lượng, đảm bảo tuân thủ các quy trình và phương pháp kiểm soát chất lượng, và liên tục cải thiện quá trình phát triển phần mềm. Mục 琀椀êu của tầng tập trung vào chất lượng là đảm bảo rằng sản phẩm phần mềm cuối cùng đáp ứng được yêu cầu của khách hàng và có chất lượng cao nhất có thể.
- Tìm hiểu về hoạt động hỗ trợ (Umbrella Ac琀椀vi琀椀es) Hoạt động hỗ trợ là gì?
là một loạt các bước hoặc thủ tục 琀椀ếp theo của nhóm phát triển phần mềm để duy trì sự 琀椀ến bộ, chất lượng, những thay đổi và rủi ro của nhiệm vụ phát triển phần mềm.
Sẽ phát triển qua các giai đoạn của cái nhìn tổng quát về phát triển phần mềm.
Áp dụng cho toàn bộ dự án phần mềm và hỗ trợ đội ngũ phát triển phần mềm có thể quản lý và theo dõi 琀椀ến độ, chất lượng, những thay đổi và rủi ro.
- Có những loại hoạt động hỗ trợ nào?
Quản lý dự án phần mềm
Đánh giá kỹ thuật chính thức
Đảm bảo chất lượng phần mềm
Quản lý cấu hình phần mềm
Chuẩn bị và sản xuất cho sản phẩm hoạt động
Quản lý khả năng tái sử dụng
Đo lường
Quản lý rủi ro
- Những loại hỗ trợ nào cần thiết nhất khi đơn vị thực hiện phát triển một hệ thống lớn mà có thời gian thực hiện ngắn
- Quy trình phát triển phần mềm
- Quy trình phát triển phần mềm là gì
˗ Quy trình là thứ gắn kết con người, phương pháp và công cụ ˗ Một 琀椀ến trình được xác định bởi:
- Mô hình quy trình (ví dụ: thác nước, xoắn ốc, …)
- Phương pháp thực hiện các hoạt động trong từng giai đoạn (ví dụ: thiết kế hướng đối tượng, phát triển chạy thử, kiểm tra chính thức, ..)
- Vai trò và trách nhiệm của người lao động
- Quy trình công việc (yêu cầu thiết kế mã kiểm tra)
- Cho biết 2 đặc trưng chính của quy trình phát triển phần mềm theo mô hình thác nước
(hoặc agile, hoặc RUP, hoặc tăng trưởng, chữ V, …) giải thích để thấy đó là đặc trưng
- Cho biết 2 đặc trưng chính của phương pháp agile, giải thích lý do
- Mô tả một dự án mà phù hợp triển khai với mô hình tăng trưởng, đặc tả dự án, giải thích lý do
- Mô tả một dự án mà phù hợp triển khai với mô hình RUP, đặc tả dự án, giải thích lý do
- Mô tả một dự án mà phù hợp triển khai với mô hình agile, đặc tả dự án, giải thích lý do
- Quy trình phát triển phần mềm RUP khác với mô hình thác nước chỗ nào? Cho ví dụ một hệ thống phù hợp với quy trình RUP
- Trong Scrum thì chu kỳ Spring thường kéo dài khoảng bao lâu, nhóm thường dưới bao nhiêu người, cuộc họp thường xuyên ngắn trả lời 3 câu hỏi gì?
- Quy trình nào có phân 琀ch rủi ro tường minh. Mức độ lớn của dự án khi áp dụng mô hình này?
- Đặc tả yêu cầu (Requirements Speci昀椀ca琀椀on)
- Đặc tả yêu cầu (Requirements Speci昀椀ca琀椀on) là gì?
- Có mấy đặc tả yêu cầu? Ai là người sử dụng nó? Người đó sử dụng để làm gì ( vì dụ Các Tester và các Kỹ sư Bảo trì Phần mềm cần sử dụng tài liệu yêu cầu để làm gì?)
- Yêu cầu chức năng và phi chức năng khác nhau chỗ nào? Có yêu câu phi chức năng nào mà tạo ra yêu cầu chức năng của hệ thống
- Cấu trúc của một tài liệu yêu cầu gồm những nội dung gì? Trong những nội dung đó có những một vài nội dung nào quan trọng hơn những nội dung khác đúng không? Nêu lý do tại sao
- Hãy đưa ra ít nhất 5 gợi ý (琀椀ps) để viết một tài liệu đặc tả tốt, nêu lý do tại sao.
- Phê chuẩn yêu cầu (Requirement Valida琀椀on) là gì? Tại sao cần phải có việc phê chuẩn yêu cầu?
- Trình bày các phương pháp để phê chuẩn yêu cầu (Requirement Valida琀椀on)
- Ai là người có thể thực hiện công việc phê chuẩn yêu cầu? Tại sao
- Tại sao phải quản lý việc thay đổi yêu cầu (Requirements Change Management)? Những dự án nào nên có quản lý thay đổi yêu cầu và những dự án nào không cần? Nêu lý do tại sao
- Mô hình hóa hệ thống (System Modeling)
- Mô hình hóa hệ thống (System Modeling) là gì? Tại sao hình hóa hệ thống ở nhiều góc độ khác nhau?
- Mô hình ngữ cảnh của hệ thống là gì? Tại sao phải có mô hình ngữ cảnh?
- Mô hình tương tác của của hệ thống là gì gì? Tại sao phải có mô hình tương tác? Cho ví dụ một mô hình tương tác và cho biết ai có nhu cầu dùng và dùng để làm gì?
- Mô hình hành vi của hệ thống là gì? Tại sao phải có mô hình hành vi? Cho ví dụ một mô hình hành vi và cho biết mô hình này ai có nhu cầu dùng và dùng để làm gì?