Đề ôn · SWE201C
SWE201c Nhập môn Kỹ thuật phần mềm – Bộ ôn tập cuối kỳ số 1: Agile Software Development (49 câu)
49 câu · Cuối kỳ · Summer 2026
49câu trong đề
SWE201Cmôn
Câu hỏi của đề
15/49 câuCòn 34
AIt skips the requirements phase
BIt emphasizes parallel development and testing
CIt allows unlimited scope changes
DIt merges all stages into one
Lời giải
Mở trang câu hỏi này →Đáp án đúng: B. V-Model là Waterfall được "gập đôi": mỗi pha bên nhánh trái (yêu cầu, thiết kế hệ thống, thiết kế chi tiết, lập trình) được gắn sẵn một mức kiểm thử tương ứng bên nhánh phải (acceptance test, system test, integration test, unit test). Kế hoạch kiểm thử của mỗi mức được soạn NGAY khi làm pha thiết kế tương ứng, nên việc phát triển và chuẩn bị kiểm thử chạy song song thay vì dồn toàn bộ kiểm thử về cuối như Waterfall.
A sai: V-Model không bỏ pha yêu cầu — pha đó chính là đỉnh nhánh trái và gắn với acceptance test. C sai: V-Model vẫn theo tuần tự, thay đổi phạm vi giữa chừng vẫn rất tốn kém. D sai: các giai đoạn không bị gộp, chúng được nhân đôi thành cặp phát triển - kiểm thử.
2It is possible for errors to remain undiscovered as long as the erroneous ________ is never used4 lựa chọn
Acomponent
Btest data
Ctest case
Doutput
Lời giải
Mở trang câu hỏi này →Đáp án đúng: A. Một lỗi (fault) nằm trong mã nguồn chỉ trở thành sai sót thực sự khi đoạn mã chứa nó được thực thi. Nếu component chứa lỗi không bao giờ được gọi tới trong quá trình chạy, lỗi đó vẫn nằm im và không ai phát hiện ra — đây chính là lý do độ phủ mã (code coverage) quan trọng: phần mã chưa từng chạy là phần chưa từng được kiểm chứng.
B, C sai: test data và test case là thứ ta chủ động tạo ra để kích hoạt lỗi, chúng là công cụ phát hiện chứ không phải nơi lỗi ẩn náu. D sai: output là kết quả quan sát được sau khi mã đã chạy — nếu đã có output sai thì lỗi đã lộ diện rồi.
ATraditional accounting
BInnovation accounting
CAutomated accounting
DHandle accounting
Lời giải
Mở trang câu hỏi này →Đáp án đúng: B. Innovation accounting (kế toán đổi mới) là khung đo lường Eric Ries đề xuất trong Lean Startup dành cho môi trường cực kỳ bất định, nơi doanh thu và lợi nhuận còn bằng không nên báo cáo tài chính truyền thống không nói lên điều gì. Thay vào đó, startup chọn các chỉ số hành vi người dùng (actionable metrics), đặt mốc học tập (learning milestones) và chứng minh tiến độ bằng validated learning từ từng vòng Build - Measure - Learn.
A sai: kế toán truyền thống chính là thứ Lean Startup thay thế trong giai đoạn này. C và D không phải thuật ngữ của Lean Startup.
AThe throw-away prototyping starts with poor understand requirement while the other start with well understood ones
BThe throw-away prototyping starts with well understood requirement while the other start with poor understand ones
CThe throw-away prototyping get the ideas from the customer's proposal while the other get the ideas from the developer's prototype
DNone of the others
Lời giải
Mở trang câu hỏi này →Đáp án đúng: A. Hai kỹ thuật dùng nguyên mẫu nhưng xuất phát từ hai tình huống trái ngược. Throw-away prototyping dùng khi yêu cầu còn mù mờ: làm nhanh một bản mẫu để hỏi người dùng cho rõ nghĩa, hiểu xong thì VỨT bản mẫu đi rồi xây lại tử tế. Exploratory (evolutionary) development đi từ những yêu cầu đã hiểu rõ, xây dần và bồi đắp chính bản đó thành sản phẩm cuối.
B sai vì đảo ngược đúng hai vế. C sai: điểm phân biệt là mức độ hiểu yêu cầu, không phải nguồn gốc ý tưởng. D sai vì A đã đúng.
AHot failover
BWarm standby
CCold backup
DWarm failover
Lời giải
Mở trang câu hỏi này →Đáp án đúng: B. Ba chiến lược cutover phân biệt nhau ở mức độ sẵn sàng của hệ thống thay thế. Cold backup: máy thay thế chưa chạy, phải cài đặt và khởi động từ đầu. Warm standby: máy thay thế ĐANG CHẠY và sẵn sàng cho việc cài đặt — đúng mô tả trong đề. Hot failover: dịch vụ thay thế đã chạy sẵn và chỉ cần chuyển hướng dữ liệu sang, không phải cài gì thêm.
A sai vì hot failover không còn bước cài đặt nào. C sai vì cold backup thì máy chưa chạy. D "Warm failover" không phải một chiến lược chuẩn trong danh mục này.
⚠ Bản đề in đáp án A. Chốt B vì trong chính bộ đề khác của môn, câu "replacement services are ready for the redirection of data with no installation" mới là Hot failover — hai câu ghép lại thành một cặp nhất quán, và cặp đó buộc câu này phải là Warm standby.
AIt reduces flexibility in delivery dates
BIt increases rework and technical debt
CIt saves overall project cost
DIt speeds up project completion
Lời giải
Mở trang câu hỏi này →Đáp án đúng: B. Chi phí sửa một khiếm khuyết tăng theo cấp số nhân theo độ trễ phát hiện: lỗi tìm thấy lúc review thiết kế chỉ mất vài giờ, cũng lỗi ấy lọt tới pha kiểm thử cuối thì kéo theo sửa mã, sửa tài liệu, kiểm thử hồi quy và cả những đoạn mã đã xây chồng lên phần sai. Hoãn kiểm soát chất lượng vì thế làm khối lượng làm lại (rework) phình lên và nợ kỹ thuật tích tụ.
A sai: hệ quả về lịch giao hàng chỉ là hậu quả gián tiếp, không phải nguy cơ cốt lõi. C và D nói ngược: hoãn kiểm soát chất lượng làm tăng tổng chi phí và kéo dài dự án chứ không tiết kiệm hay tăng tốc.
7Which of the following is LEAST desirable?4 lựa chọn
Aincluding functionality which entirely encapsulates all the necessary function for a specific task
Bincluding functionality which modifies an object's own attributes
Cincluding functionality which occurs around the same time
Dincluding functionality which relys on the same input
Lời giải
Mở trang câu hỏi này →Đáp án đúng: C. Câu này hỏi về mức độ gắn kết (cohesion) — càng yếu càng không mong muốn. Nhóm các chức năng chỉ vì chúng "xảy ra cùng khoảng thời gian" chính là temporal cohesion, một trong bốn loại cohesion yếu, vì module hình thành do trùng thời điểm chứ không do liên quan về nghiệp vụ.
A là functional cohesion — mức mạnh nhất, đáng mong muốn nhất. B là object cohesion (thao tác trên thuộc tính của chính đối tượng), cũng thuộc nhóm mạnh. D là communicational cohesion (cùng dùng chung dữ liệu đầu vào), vẫn khá hơn temporal. Vì vậy C là lựa chọn kém mong muốn nhất.
Asoftware is well-received by the user
Buse of the software provides the correct results as documented
Csoftware recognizes incorrect inputs
Densuring the system locks out an account after three failed log-in attempts
Lời giải
Mở trang câu hỏi này →Đáp án đúng: A. Validation trả lời câu hỏi "Are we building the right product?" — sản phẩm có thực sự đáp ứng nhu cầu và kỳ vọng của người dùng hay không. Việc phần mềm được người dùng đón nhận tốt chính là bằng chứng trực tiếp cho điều đó.
B, C, D đều là verification ("Are we building the product right?"): B đối chiếu kết quả với tài liệu đặc tả, C và D kiểm tra hệ thống có hành xử đúng như quy định kỹ thuật đã viết ra hay không. Cả ba đều so sánh sản phẩm với đặc tả, chứ không hỏi bản thân đặc tả có đúng ý người dùng.
AWaterfall Model
BKanban
CLean Startup
DScrum
Lời giải
Mở trang câu hỏi này →Đáp án đúng: C. Lean Startup là phương pháp gắn liền với khái niệm MVP: xây bản khả dụng tối thiểu thật nhanh, tung ra cho người dùng thật, đo phản hồi rồi quyết định pivot hay persevere qua vòng lặp Build - Measure - Learn.
A sai: Waterfall giao sản phẩm hoàn chỉnh ở cuối, không có chỗ cho MVP. B sai: Kanban là công cụ quản trị dòng công việc, không quy định cách xây và học từ sản phẩm. D sai: Scrum là khung làm việc tổ chức nhóm theo sprint; nó có thể chứa MVP nhưng bản thân MVP và validated learning là đóng góp của Lean Startup.
AIn these models, we assume that we know requirements really well
BIn these models, the cost of change depends on how late we find out about the change. If problem requiring a change is found during the implementation phase, it will be more expensive to fix than one found during the design phase.
CThese models will be a good model to be used by a startup implement a new idea that is new to marke
DIn these models, the team is expected know the solution really well.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: C. Waterfall, V-Model và Sashimi đều là các mô hình dự đoán (predictive): chúng giả định yêu cầu đã biết rõ ngay từ đầu và giải pháp cũng đã nắm chắc. Một startup triển khai ý tưởng hoàn toàn mới với thị trường thì ở tình huống ngược lại — yêu cầu bất định, phải học từ phản hồi — nên đây là ngữ cảnh tệ nhất cho ba mô hình này, thứ hợp hơn là Agile hoặc Lean Startup.
A, B, D đều đúng với ba mô hình: giả định biết rõ yêu cầu, biết rõ giải pháp, và chi phí thay đổi tăng theo độ trễ phát hiện.
AFinish the work and leave quality for later.
BHave people work on multiple things at the same time.
CAsk people to work overtime.
DMinimize the number of items in-process.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: D. Theo định luật Little, thời gian chu kỳ = số việc đang làm dở chia cho thông lượng. Muốn rút ngắn cycle time mà không hạ chất lượng thì đòn bẩy đúng đắn là giảm số hạng mục đang nằm trong tiến trình — đây chính là nguyên tắc Limit WIP của Kanban: ít việc song song thì ít chuyển ngữ cảnh, ít hàng chờ, lỗi lộ ra sớm hơn.
A hy sinh thẳng chất lượng. B làm tăng WIP, khiến mọi thứ chậm lại. C ép tăng ca chỉ tạo mệt mỏi và thêm lỗi, đây đúng là loại lãng phí Lean muốn loại bỏ.
AArticulating the problem you are aiming to solve.
BSelecting the most viable ideas for solutions.
CExploring and understanding user needs and experiences.
DTesting potential solutions for their effectiveness.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: A. Design Thinking có năm giai đoạn: Empathize, Define, Ideate, Prototype, Test. Giai đoạn Define là lúc tổng hợp những gì thu được ở Empathize thành một phát biểu vấn đề rõ ràng (problem statement) — chốt lại chính xác ta đang giải quyết vấn đề gì cho ai.
C là Empathize (khám phá nhu cầu và trải nghiệm người dùng). B là Ideate (chọn ra ý tưởng khả thi). D là Test (kiểm chứng hiệu quả của giải pháp). Nhầm Define với Empathize là nhầm phổ biến nhất: một bên đi thu thập, một bên đi phát biểu vấn đề.
ADocumentation is produced in each phase
BThe product meets the immediate needs of customers
CThe waterfall model can deliver the software product with fast speed
DAll of the others
Lời giải
Mở trang câu hỏi này →Đáp án đúng: A. Điểm mạnh đặc trưng của Waterfall so với các mô hình khác là tính kỷ luật tài liệu: mỗi pha kết thúc bằng một sản phẩm tài liệu được duyệt (đặc tả yêu cầu, tài liệu thiết kế, kế hoạch kiểm thử), làm cho tiến độ dễ theo dõi, dễ bàn giao và dễ audit.
B sai: đáp ứng nhu cầu tức thời của khách hàng là ưu thế của Agile, còn Waterfall chỉ giao sản phẩm ở cuối. C sai: Waterfall nổi tiếng chậm, không phải nhanh. D sai vì B và C đều không đúng.
AUnused variables
BRequirements feasibility
CDuplicated code
DMemory leaks
Lời giải
Mở trang câu hỏi này →Đáp án đúng: A, C, D. Phân tích tĩnh đọc mã nguồn mà không chạy chương trình, nên nó bắt được những gì suy ra được từ cấu trúc mã: biến khai báo mà không dùng, đoạn mã trùng lặp, và các mẫu cấp phát - giải phóng bộ nhớ dẫn tới rò rỉ.
B sai: tính khả thi của yêu cầu (requirements feasibility) là chuyện nghiệp vụ và ràng buộc dự án, nằm ngoài mã nguồn — không công cụ phân tích tĩnh nào đọc mã mà kết luận được yêu cầu có làm nổi hay không. Đây là ranh giới cần nhớ: phân tích tĩnh soi mã, không soi yêu cầu.
15Which is statement false?3 lựa chọn
AIn the Observer pattern, one difficulty is that the Subject cannot pass an instance of itself to the Observer being updated, due to circular dependencies.
BObserver is an implementation of the Dependency Inversion principle.
CStrategy Pattern helps maintain the Open/Closed Principle.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: A. Trong Observer Pattern, Subject truyền chính nó (thường là tham chiếu this) sang Observer khi gọi update, để Observer biết ai vừa đổi và tự lấy dữ liệu mới về — đây gọi là mô hình pull và là cách cài đặt tiêu chuẩn, hoàn toàn không bị chặn bởi phụ thuộc vòng. Vì vậy A là phát biểu SAI.
B đúng: Subject chỉ phụ thuộc vào interface Observer chứ không phụ thuộc lớp cụ thể — đúng tinh thần Dependency Inversion. C đúng: Strategy cho phép thêm thuật toán mới bằng cách thêm lớp mới, không phải sửa lớp cũ, tức mở để mở rộng và đóng để sửa đổi.