Ngân hàng câu hỏi môn Coursera: Introduction to Software Engineering - SWE201c

Khóa học Nhập môn Kỹ thuật phần mềm (SWE201c) trang bị nền tảng về vòng đời phát triển phần mềm, học hoàn toàn qua bốn khoá MOOC trên Coursera thuộc chuyên ngành Software Development Lifecycle của University of Minnesota. Nội dung trải trọn 4 MOOC theo bốn chuẩn đầu ra CLO1 đến CLO4. Khoá thứ nhất là quy trình và phương pháp luận phát triển phần mềm: quy trình phần mềm là gì và khác gì phương pháp luận, yêu cầu chức năng và yêu cầu phi chức năng, mô hình tham chiếu WRSPM, rồi lần lượt các mô hình truyền thống gồm thác nước, mô hình chữ V, sashimi, tăng dần, lặp, xoắn ốc, Unified Process và stage-gate, khép lại bằng cái nhìn đầu tiên về hai họ agile và lean. Khoá thứ hai là phát triển phần mềm linh hoạt: bốn giá trị của Tuyên ngôn Agile cùng mười hai nguyên tắc đi kèm, cách viết user story theo tiêu chí INVEST, các kỹ thuật ước lượng và lập kế hoạch phát hành; Scrum với ba vai trò, các sự kiện gồm họp kế hoạch sprint, họp hằng ngày, họp rà soát và họp cải tiến, các tạo tác gồm product backlog, sprint backlog và phần tăng trưởng, cùng biểu đồ burndown; và Extreme Programming với lập trình cặp, đội hình toàn diện, phát hành nhỏ và vòng phản hồi ngắn. Khoá thứ ba là phát triển phần mềm tinh gọn: bảy nguyên tắc lean gồm loại bỏ lãng phí, khuếch đại việc học, quyết định càng muộn càng tốt, giao hàng càng nhanh càng tốt, trao quyền cho đội, xây chất lượng từ gốc và nhìn tổng thể; Kanban với bảng công việc, giới hạn số việc đang làm và quản trị dòng chảy; lập bản đồ dòng giá trị; kaizen tức cải tiến liên tục; Lean Startup với sản phẩm khả dụng tối thiểu, vòng lặp xây dựng - đo lường - học hỏi và kế toán đổi mới; và Design Thinking. Khoá thứ tư là các thực hành kỹ thuật để xây phần mềm chất lượng và an toàn, đi theo đúng thứ tự các giai đoạn: chất lượng trong thiết kế với tính mô-đun, ghép nối và kết dính, che giấu thông tin và các mẫu thiết kế; chất lượng trong kiến trúc với các kiểu kiến trúc và cách kiến trúc quyết định các thuộc tính chất lượng; chất lượng trong hiện thực với chuẩn viết mã, rà soát mã, phân tích tĩnh, tái cấu trúc và quản lý phiên bản; và chất lượng trong kiểm thử cùng triển khai với phân biệt verification và validation, các mức kiểm thử, cùng tích hợp và triển khai liên tục. Xuyên suốt bốn khoá, môn học hướng tới việc so sánh được các phương pháp luận theo ràng buộc môi trường, ràng buộc tổ chức và ràng buộc sản phẩm, phân tích được quy trình mà một đội đang dùng và đề xuất cải tiến. Chương trình 12 buổi có hai buổi tại campus: buổi giới thiệu khoá học ở đầu kỳ và buổi ôn lại toàn bộ chuyên ngành ở cuối kỳ. Sinh viên phải có chứng chỉ hoàn thành chuyên ngành Software Development Lifecycle của Coursera mới đủ điều kiện dự thi cuối kỳ.

Học từ ngân hàng câu hỏi

Bắt đầu một phiên học theo môn

Tiến độ của bạn sẽ luôn được tính toán và đồng bộ trực tiếp theo tổng số lượng câu hỏi mới nhất của môn học này.

121Ngân hàng hiện tại
--Tiến độ môn
Số câu hỏi
Độ khó
Phiên sắp tạo
121 câu Chế độ học Không giới hạn Trộn

Bạn cần đăng nhập để bắt đầu học từ ngân hàng câu hỏi và lưu tiến độ theo môn.

0Dễ · --
0Trung bình · --
0Khó · --
--Đã học
--Đang nắm chắc
Đăng nhập để xemLần hoàn tất gần nhất

Đang tải phân bố độ khó.

Đăng nhập để bắt đầu học từ ngân hàng câu hỏi, lưu tiến độ theo môn, resume phiên đang dở và cập nhật thống kê dài hạn.
Đang hiển thị 15 / 121 câu hỏi
Bấm vào từng câu để xem đáp án
#001
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ADesigning individual components.
Overarching, cross-cutting concerns for the system.ĐÚNG
CWriting code in specific programming languages.
DCreating user interfaces.
Giải thích

Mục tiêu chính của kiến trúc phần mềm trong quá trình phát triển phần mềm là xác định các mối quan tâm xuyên suốt và rộng lớn hơn cho hệ thống. Kiến trúc phần mềm tập trung vào việc giải quyết các vấn đề phức tạp và liên quan đến nhiều thành phần khác nhau của hệ thống, bao gồm cả các yêu cầu chức năng, hiệu suất, bảo mật và khả năng mở rộng. Điều này giúp đảm bảo rằng hệ thống được thiết kế và xây dựng một cách toàn diện và linh hoạt, đáp ứng được nhu cầu của người dùng và dễ dàng mở rộng trong tương lai.

#002
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ATeam members should communicate only when necessary.
Effective communication can help resolve issues quickly.ĐÚNG
CCommunication is not important in software development.
DTeam members should only communicate through written messages.
Giải thích

Đáp án đúng: B. Communication là một trong năm giá trị cốt lõi của XP (cùng Simplicity, Feedback, Courage, Respect). XP cho rằng phần lớn vấn đề dự án bắt nguồn từ việc ai đó không nói với ai đó điều gì đó, nên giao tiếp hiệu quả và liên tục là cách gỡ vướng nhanh nhất — đây cũng là lý do XP đề cao pair programming, ngồi chung và khách hàng tại chỗ. A hạn chế giao tiếp và D chỉ trao đổi bằng văn bản đều đi ngược nguyên tắc ưu tiên đối thoại trực tiếp. C phủ nhận vai trò của giao tiếp, sai hoàn toàn với cả XP lẫn Agile nói chung.

#003
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
Functional viewpointĐÚNG
Development viewpointĐÚNG
CUsability perspective
DMaintenance perspective
Giải thích

Đáp án đúng: A, B. Theo bộ khung Rozanski & Woods mà môn học dùng, viewpoint mô tả một lát cắt cấu trúc của hệ thống: Functional, Information, Concurrency, Development, Deployment, Operational. Perspective là mối quan tâm cắt ngang mọi view: Security, Performance and Scalability, Availability and Resilience, Evolution. A và B là hai viewpoint chuẩn trong danh sách trên. C "Usability perspective" và D "Maintenance perspective" đều KHÔNG có trong bộ perspective mà môn dạy — mối quan tâm gần nhất với bảo trì được gọi là Evolution, không phải Maintenance.

#004
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ValuableĐÚNG
BImprecise
CRigid
DExpansive
Giải thích

Đáp án đúng: A. INVEST là bộ sáu tiêu chí cho một user story tốt: Independent (độc lập), Negotiable (thương lượng được), Valuable (có giá trị), Estimable (ước lượng được), Small (đủ nhỏ), Testable (kiểm thử được). Trong bốn phương án chỉ "Valuable" nằm trong bộ này. B Imprecise (mơ hồ) đi ngược Testable và Estimable. C Rigid (cứng nhắc) đi ngược Negotiable. D Expansive (phình to) đi ngược Small. Ba phương án nhiễu được dựng bằng cách lấy phản nghĩa của chính các chữ cái trong INVEST.

#005
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
Validation of user requirementsĐÚNG
BImproved documentation
CEnhanced team collaboration
DBetter time management
Giải thích

Đáp án đúng: A. Acceptance test là hình thức validation trực tiếp nhất trong Agile: nó biến yêu cầu của người dùng thành các tiêu chí kiểm chứng được, để cả nhóm và khách hàng cùng thống nhất thế nào là "xong". Nhờ đó tránh được tình huống phần mềm chạy đúng đặc tả nhưng không đúng nhu cầu. B cải thiện tài liệu, C tăng cộng tác nhóm và D quản lý thời gian tốt hơn đều là lợi ích PHỤ có thật, nhưng câu hỏi hỏi lợi ích CHÍNH trong tương quan với yêu cầu người dùng — đó là việc thẩm định yêu cầu.

#006
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AControl; Data Structure; Message
Content, Common; ExternalĐÚNG
CThere is no such thing as tight coupling
DData; Message; None
Giải thích

Đáp án đúng: B. Ba loại coupling chặt là content coupling (một module chạm thẳng vào nội dung bên trong module khác), common coupling (nhiều module cùng dùng dữ liệu toàn cục) và external coupling (các module cùng phụ thuộc vào một định dạng, giao thức hay thiết bị bên ngoài). A trộn control và data structure (nhóm trung bình) với message (nhóm lỏng). C phủ nhận sự tồn tại của coupling chặt, sai hiển nhiên. D liệt kê đúng nhóm LỎNG (data, message, none) — đây là bẫy đối xứng với câu hỏi về loose coupling, đọc nhanh rất dễ chọn nhầm.

#007
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AIt creates a better relationship between the developers and customer representatives
Many projects are evolutionary, and a better solution emerges this wayĐÚNG
CIt is time-consuming to analyze everything at the beginning of a project
DIt prevents late delivery of the project
Giải thích

Đáp án đúng: B. Scrum giả định phần lớn dự án phần mềm là bài toán phức tạp (complex domain): không thể biết trước toàn bộ lời giải, mà giải pháp tốt hơn dần hiện ra qua từng vòng lặp khi nhóm và khách hàng cùng nhìn thấy sản phẩm thật. "Learn as we go" chính là cách khai thác đặc tính tiến hoá này. A cải thiện quan hệ với khách hàng là hệ quả phụ tốt đẹp, không phải lý do. C tránh mất thời gian phân tích đầu dự án là cách diễn giải tiêu cực và sai — Scrum không né phân tích, nó trải phân tích ra suốt dự án. D ngăn giao hàng trễ cũng là hệ quả chứ không phải nguyên nhân.

#008
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
Project managerĐÚNG
BProduct owner
CScrum master
DThe team
Giải thích

Đáp án đúng: A. Scrum chỉ có ba vai trò (accountability): Product Owner, Scrum Master và Developers (nhóm phát triển). Project Manager KHÔNG nằm trong đó — các trách nhiệm truyền thống của vai trò này được phân tán: quản trị phạm vi và giá trị về Product Owner, gỡ vướng và bảo vệ quy trình về Scrum Master, còn lập kế hoạch và phân công về chính nhóm tự tổ chức. B, C, D đều là ba vai trò thật của Scrum, nên không phải đáp án của câu hỏi phủ định này.

#009
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ACoincidental, temporal, sequential, logical association
Coincidental, temporal, procedural, logical associationĐÚNG
CCommunicational, sequential, object, functional
DThere is no such thing as loose cohesion
Giải thích

Đáp án đúng: B. Bốn loại cohesion yếu, xếp từ yếu nhất lên: coincidental (gom ngẫu nhiên), temporal (cùng chạy trong một khoảng thời gian), procedural (theo một trình tự thực thi), logical association (cùng một loại công việc). A xếp nhầm sequential vào nhóm yếu — sequential thuộc nhóm trung bình, nơi đầu ra của phần này là đầu vào của phần kia. C liệt kê toàn nhóm trung bình và mạnh (communicational, sequential, object, functional). D phủ nhận sự tồn tại của cohesion yếu, hiển nhiên sai.

#010
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
Daily team planningĐÚNG
BOverlooking obstacles
CollaborationĐÚNG
Status checkĐÚNG
Giải thích

Đáp án đúng: A, C, D. Daily standup 15 phút phục vụ ba việc: nhóm tự lập kế hoạch cho ngày làm việc, phối hợp với nhau về những phần công việc giao thoa, và cùng nắm tình hình tiến độ hướng tới Sprint Goal. B sai ở một chữ: "overlooking obstacles" nghĩa là BỎ QUA vật cản, trong khi mục đích thật của standup là NÊU RA vật cản (raising impediments) để Scrum Master gỡ. Đây là bẫy chữ nghĩa — nếu đọc lướt thành "overlook = xem xét" thì chọn nhầm ngay.

#011
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AIt allows for continuous user feedback.
It often leads to late discovery of problems.ĐÚNG
CIt encourages collaboration among team members.
DIt reduces the cost of change.
Giải thích

Đáp án đúng: B. Vấn đề lớn nhất của mô hình dự đoán là mọi khâu kiểm chứng đều dồn về cuối: tích hợp ở cuối, kiểm thử ở cuối, người dùng nhìn thấy sản phẩm ở cuối. Hậu quả là hiểu sai yêu cầu hay lỗi thiết kế có thể nằm im suốt nhiều tháng, tới lúc lộ ra thì đã xây chồng rất nhiều thứ lên phần sai. A, C, D đều là ưu điểm chứ không phải vấn đề, và cả ba đều KHÔNG đúng với Waterfall: nó không có vòng phản hồi liên tục, không lấy cộng tác làm trọng tâm, và chi phí thay đổi tăng chứ không giảm theo thời gian.

#012
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ATesting only at end
CI with automated unit testsĐÚNG
CManual regression once/release
DAvoid docs
Giải thích

Đáp án đúng: B. Agile cần vòng phản hồi ngắn và khả năng thay đổi mà không sợ vỡ. Continuous integration kèm bộ unit test tự động đáp ứng đúng điều đó: mỗi lần commit là chạy lại toàn bộ test, lỗi hồi quy lộ ra trong vài phút thay vì vài tuần, nhờ vậy nhóm dám refactor liên tục. A dồn kiểm thử về cuối là mô hình Waterfall. C hồi quy thủ công mỗi lần phát hành thì không theo kịp nhịp sprint và rất dễ bỏ sót. D né tài liệu chẳng liên quan gì tới cách kiểm thử, và Agile cũng không chủ trương bỏ tài liệu.

#013
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AThe amount of work remaining in the sprint.
BWhether the team is on track to complete the sprint goal.
CTrends in work progress over time.
All of the above.ĐÚNG
Giải thích

Đáp án đúng: D. Burndown chart trả lời được cả ba: nhìn tung độ tại ngày hiện tại biết còn bao nhiêu việc; so đường thực tế với đường lý tưởng biết có kịp mục tiêu sprint không; nhìn độ dốc qua nhiều ngày thấy xu hướng tiến triển (phẳng nhiều ngày là dấu hiệu tắc nghẽn). A, B, C mỗi phương án chỉ nêu một trong ba công dụng nên đều chưa đủ. Đây là dạng câu có phương án bao trùm: kiểm tra từng mục con, cả ba đều đúng thì chọn "All of the above".

#014
ĐỘ CHÍNH XÁC
5 LỰA CHỌN
ABlackboard Model.
BLayered Model.
Pipe-and-Filter Model.ĐÚNG
DEvent-based Model
EClient-Server Model.
Giải thích

Đáp án đúng: C. Đường ống của UNIX, nơi đầu ra của chương trình này thành đầu vào của chương trình kia, là ví dụ giáo khoa của Pipe-and-Filter: mỗi chương trình là một filter biến đổi dòng dữ liệu, các pipe nối chúng lại; filter không biết gì về nhau nên rất dễ ghép lại theo tổ hợp mới. A Blackboard dùng cho hệ tri thức nhiều nguồn cùng ghi lên vùng dữ liệu chung. B Layered chia hệ thống theo tầng dịch vụ. D Event-based phản ứng theo sự kiện rời rạc. E Client-Server tách bên yêu cầu và bên phục vụ. Không mô hình nào trong bốn nắm được đặc trưng dòng chảy tuần tự của pipeline.

#015
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ADeveloping a Java program to meet the designed solution
BTesting the solution with users
Accurately identifying user needsĐÚNG
DDetermining the accurate market price for the finished product
Giải thích

Đáp án đúng: C. Xác định chính xác nhu cầu người dùng được coi là phần khó nhất của kỹ nghệ phần mềm: người dùng thường không nói rõ được điều mình cần, nhu cầu thay đổi theo thời gian, các bên liên quan mâu thuẫn nhau, và sai ở bước này thì mọi công sức phía sau đều đi lệch. Fred Brooks gọi đây là phần "essential" khó nhất, không có viên đạn bạc nào giải quyết được. A viết mã theo thiết kế đã có là phần cơ học nhất. B kiểm thử với người dùng tuy tốn công nhưng có quy trình rõ ràng. D định giá thị trường là bài toán kinh doanh, nằm ngoài quy trình phát triển phần mềm.

Cuộn để tải thêm…