lOMoARcPSD|45315597
ĐỀ THI GIA K MÔN PTTKHT - K 20242
NGÀY 06/06 - TC 312
LP 157517 IT 3120
THI GIAN 60 PHÚT
Q1: Người ta viết ra lớp LoginView đại din cho giao diện đồ ho của người dùng. H cũng viết ra lp
AccountModel đại din cho tài khon ca người dùng. H cũng viết ra lớp LoginControl trong đó cài đặt các
chức năng nghiệp v ca h thng. H cũng viết ra lớp FileControl trong đó cài đặt chức năng lưu thông tin
đăng nhập (username, password, token) vào cng của máy và mã hoá thông tin đó. Nếu chia các lp trên
vào 3 tng: tng cao nht gần như không cần tương tác với phn cng thiết b, tng thấp hơn có tương tác
vi phn cng thiết b và tng cui cùng bt buc phải tương tác với phn cng thiết b thì các đáp án dưới
đây có đáp án nào đúng?
A. Lp FileControl s phi ph thuc vào LoginView
B. Lp LoginView s phi ph thuc vào FileControl
C. Lp FileControl s phi ph thuc AccountModel
D. Tt c các đáp án còn lại đều sai
Q2: Phân tích h thng trong phát trin phn mềm hướng đối tượng tập trung vào điều gì?
A. Lp trình B. Hiu bài toán và yêu cu nghip v
C. Kim th h thng D. To tài liệu hướng dn
Q3: UML 2.x phân các loi biểu đồ thành bao nhiêu nhóm ln?
A. 1 nhóm B. 2 nhóm: Cu trúc và Hành vi
C. 3 nhóm: Cu trúc, Hành vi và Trin khai D. 4 nhóm: Phân tích, Thiết kế, Lp trình, Kim th
Q4: Trong mô hình hướng đối tượng, "lp" (class) là gì?
A. Mt tp hợp các đối tượng có hành vi khác nhau
B. Một đơn vị lưu trữ d liu
C. Mt khuôn mẫu cho các đối tượng chia s cùng cu trúc và hành vi
D. Mt phn mm c th
Q5: Trong UML, mi quan h "kế tha" gia các lớp được biu diễn như thế nào?
A. Một đường thng lin B. Một đường mũi tên rỗng (open arrowhead)
C. Một đường nét đứt D. Một đường mũi tên tô đậm
Q6: S khác bit ln nht gia "generalization" và "realization" trong UML là gì?
A. Generalization cho phép kế tha; Realization áp dng cho interface
B. C hai đều ging nhau
C. Realization ch dùng trong database modeling
D. Generalization dùng cho object, Realization dùng cho component
Q7: Mc tiêu chính ca mô hình hóa nghip v (Business Modeling) là gì?
A. Phát trin phn mềm nhanh hơn B. Hiu và phân tích quy trình nghip v hin ti
C. To giao diện người dùng hp dn D. Lập trình cơ sở d liu
Q8: Business Object Model (BOM) mô t điu gì trong mô hình nghip v?
A. Các đối tượng nghip v và mi quan h gia chúng B. Các quy trình nghip v C. Các
yêu cu k thut D. Các thiết b phn cng
Q9: Đặc điểm nào sau đây phân biệt Business Actor vi System Actor?
A. Business Actor luôn là người tht
B. System Actor tương tác với h thống máy tính; Business Actor tương tác với nghip v C.
Business Actor ch tn ti trong h thng phn mm
D. Không có s khác bit
Q10: Mc tiêu chính của giai đoạn phân tích trong phát trin h thng là gì?
A. Thiết kế cơ sở d liu B. Lp trình h thng
C. Hiu yêu cu và mô hình hóa h thng D. Viết tài liệu hướng dn s dng
lOMoARcPSD|45315597
Q11: Actor trong Use Case Diagram có th là đối tượng nào?
A. Người dùng h thng B. H thng bên ngoài
C. C A và B D. Ch phn mm h thng
Q12: Khi phân tích h thng, vic phân loi lp phân tích thành Boundary, Control và Entity nhm mục đích
gì?
A. Gim s ng lp B. Tăng tốc độ lập trình C. Tăng tính tổ chc và rõ ràng ca h thng
D. Phân chia tài nguyên phn cng
Q13: Mc tiêu chính ca thiết kế kiến trúc h thng là gì?
A. Thiết kế giao diện người dùng B. Tối ưu hóa cơ sở d liệu C. Định hình cu trúc tng th và các
thành phn chính ca h thng D. Lp trình chi tiết các module
Q14: Mt h thng qun lý nhân s trong công ty. Có một usecase như sau: nhân viên mới (Employee) đăng
ký vào h thống. Khi đăng ký thành công thì nhân viên đó sẽ đưc gán mt mức lương, và việc gán này do
nghip v xét lương (SalaryAssignment) tiến hành. Ngoài ra khi y chức năng đăng ký sẽ phải được gi thêm
chức năng gán người hướng dẫn. Người hướng dẫn đó phải thuc nhóm nhân viên qun lý (Manager) ngoài
ra nếu c 10 nhân viên mi s có một người thanh tra (Inspector) để kim soát độc lp việc hướng dn ca
Manager. Việc xác định người hướng dẫn và người thanh tra thuc v nghip v (GuideSupporter). Hãy xác
định phát biểu nào đúng dưới đây
A. Employee là lp thuộc nhóm điều khin B. SalaryAssignment là lp thuc nhóm d liu
C. Trách nhim ca lp Manager là xác thực đăng nhập D. Lp Inspector là lp thuc nhóm d liu
Q15: Khi thiết kế h thng, ti sao cần xác định kiến trúc tng th trước?
A. Để d viết hướng dn s dng B. Để lp trình viên t do sáng tạo C. Để định hướng phát trin
thng nht và kim soát chất lượng D. Để qung cáo sn phm
Q16: Trong thiết kế kiến trúc h thng, yếu t "availability" mô t điu gì?
A. Kh năng thay đổi khi có yêu cu mi B. Kh năng hệ thng duy trì hot đng liên tc
C. Kh năng tăng tốc độ truyn ti d liu D. Kh năng bảo v khi tn công mng
Q17: Mc tiêu chính ca phân tích Use Case là gì?
A. Thiết kế cơ sở d liu
B. Mô hình hóa các chức năng hệ thng t góc nhìn người dùng
C. Lp trình giao diện người dùng D. Viết tài liệu hướng dn s dng
Q18: Mt Use Case "Base" có mi quan h vi một Use Case "Extension" thông qua cơ chế nào?
A. Include B. Extend
C. Generalization D. Realization
Q19: Trong phân tích Use Case, "Alternative Flow" dùng để mô t điu gì?
A. Các trường hp giao tiếp vi h thng khác
B. Các trường hp s dng giao din khác
C. Các kch bn thc hin khác vi lung chính
D. Các chức năng không cần thiết
Q20: Trong phân tích Use Case, mô t các điều kin tiền đề (Preconditions) nhm mục đích gì?
A. Tăng độ dài tài liu
B. Định nghĩa trạng thái h thống trước khi thc hin Use Case
C. Gii thích chi tiết thut toán x
D. Tạo cơ sở d liu
Q21: Thiết kế h thng phn mm bao gm yếu t nào dưới đây?
A. Tài liệu hướng dn s dng B. Thành phn phn mm và mi quan h gia chúng
C. Các thiết b phn cng D. Ngôn ng lp trình c th
Q22: Mt nguyên lý thiết kế phn mm tt là gì?
A. Liên kết cht ch gia các thành phn B. Kết ni lng gia các thành phần C. Tăng số
ng lớp đối tượng D. Ph thuc nhiu vào ngôn ng lp trình
lOMoARcPSD|45315597
Q23: Thiết kế ớng đối tượng s dng nguyên tc "Information Hiding" nhm mục đích gì?
A. Bo v d liu ni b lp B. Tiết kim b nh h thng
C. Tăng tốc độ x D. Tăng kích thước mã ngun
Q24: Li ích ca nguyên lý "Program to Interface, not to Implementation" là gì?
A. Tăng độ gn kết gia các thành phn B. Gim kh năng mở rng h thng
C. Tăng tính linh hoạt và kh năng thay thế D. Gim hiu sut h thng
Q25: Mc tiêu chính ca thiết kế Use Case là gì?
A. Mô t lung s kin và hành vi h thng t góc nhìn người dùng B. Thiết kế cơ sở d liu
C. Viết mã ngun h thng D. Xác định giao diện người dùng
Q26: Trong thiết kế Use Case, Main Flow mô t?
A. Lung li B. Lung hot động bình thường t đầu đến kết thúc thành công C. Lung x lý d
liu ph D. Luồng tương tác mạng Q27: Preconditions trong Use Case dùng để?
A. Xác định cách b trí giao din B. Thiết lp quyn truy cp d liu
C. Định nghĩa trạng thái yêu cầu trước khi Use Case bắt đầu
D. Xác định các chức năng mở rng
Q28: Use Case phi đạt tiêu chí nào dưới đây để d bo trì?
A. Gn lin cht ch vi giao diện đồ ha B. Lit kê tt cc thông báo li
C. Tp trung vào yêu cu phn cng D. Gn vi quy trình nghip v thay vì giao din c th Q29:
Subsystem trong thiết kế h thng là gì?
A. Mt nhóm các thành phn thc hin chung mt chức năng lớn
B. Mt phn ca giao diện người dùng
C. Một cơ sở d liu riêng bit
D. Một đoạn mã nguồn độc lp
Q30: Một subsystem thường cha nhng gì?
A. Mt tp hp các Actor B. Mt b cơ sở d liệu độc lp C. Các thành phần liên quan để thc hin
chức năng nghiệp v ln D. Ch mt chức năng nhỏ
Q31: Mt tiêu chí quan trng khi phân chia subsystem là gì?
A. Phân chia theo s ng dòng mã B. Phân chia theo s thích cá nhân
C. Phân chia theo s ng lp trình viên D. Phân chia theo mức độ thay đổi nghip v Q32: Nếu
mt subsystem có nhiu giao din phc tạp, điều đó dẫn ti vn đề gì?
A. D dàng m rng B. Tăng độ bo mt h thng
C. Gim chi phí phát trin D. Tăng rủi ro li tích hp Q33: Lp
(Class) trong thiết kế ớng đối tượng là gì?
A. Mt bảng cơ sở d liu B. Một đoạn mã ngun
C. Mt khuôn mẫu định nghĩa thuộc tính và hành vi của đối tượng D. Mt giao diện người dùng
Q34: Mi quan h "Association" gia các lp mô t điu gì?
A. Mt lp kế tha lp khác B. Mt lớp lưu trữ d liu cho lp khác C. Mt lp
cha mt lp khác D. Mt lp s dng dch v ca lp khác Q35:
"Polymorphism" trong thiết kế ớng đối tượng có ý nghĩa gì?
A. Tăng tốc độ chương trình
B. Cho phép các đối tượng khác kiu có th đưc x lý như cùng một kiu thông qua giao din chung
C. Gim s ng lp cn thiết D. Tối ưu hóa lưu trữ d liu Q36: Li ích ca vic thiết kế lp vi "High
Cohesion" là gì?
A. D bo trì, d m rng, d hiu B. Tăng sự ph thuc gia các module
C. Tăng độ phc tp h thng D. Gim tính m rng ca h thng
Q37: Cơ sở d liu (Database) là gì?
A. Một chương trình phần mm B. Mt tp hp d liu có t chức được lưu trữ và truy cp d dàng
C. Mt ngôn ng lp trình D. Mt mng máy tính
Q38: Quan h mt-nhiu (One-to-Many) được mô hình hóa bng cách nào?
A. To bng trung gian B. Dùng nhiu khóa chính C. Dùng khóa ngoi (Foreign Key) t
bng con v bng cha D. Gp hai bng li
Q39: Khi thiết kế cơ sở d liu ln, yếu t nào sau đây đặc bit quan trng?
A. Kh năng mở rng và hiu sut truy vn
lOMoARcPSD|45315597
B. S ng lp trình viên
C. Màu sc giao din nhp liu
D. Thiết kế giao diện người dùng
Q40: Theo em đâu là phát biểu đúng về t biểu đồ lp này:
Mt công trình (Build) có các thông s v din tích (sqr kiu double), s định danh (id kiu String) và địa ch
(adr kiu String) và s người sng trong công trình (peo kiu int). Mt công trình xây dng có th là:
(i) một căn phòng khép kín (Room) vi thông s v s ca s (wid kiu int). (ii) một căn hộ c th (Home) vi
thông s v s tng (fls kiu int). (iii) Một chung (Cond) tp hp nhiu Room bên trong. Chung
thông s v s tng (fls) và s ng Room trong mt tng. (iv) Khong không gian trng (Park) thêm thông
s v t l bao ph cây xanh bên trong diện tích đó (gre kiu double). A. Đối tượng ca lp Room s ch có duy
nht thuc tính wid.
B. Đối tượng ca lp Home s có thuc tính fls và gre.
C. Đối tượng ca lp Park s ch có thuc tính gre và sqr.
D. Đối tượng Home s th có các thuc tính ca Build
lOMoARcPSD|45315597
ĐỀ THI GIA K MÔN PTTKHT - K 20242
NGÀY 06/06 - TC 312
LP 157517 IT 3120
THI GIAN 60 PHÚT
Q1: Mc tiêu chính ca phân tích và thiết kế h thng là gì?
A. Thu thp d liu khách hàng B. To phn mm chy th C. Hiu yêu cu và xây
dng mô hình h thng D. Viết mã nguồn chương trình
Q2: Phân tích h thng trong phát trin phn mềm hướng đối tượng tập trung vào điều gì?
A. Lp trình B. Hiu bài toán và yêu cu nghip v
C. Kim th h thng D. To tài liệu hướng dn
Q3: Vì sao UML không được coi là phương pháp luận phát trin phn mm?
A. Vì UML ch mô t h thống, không quy định quy trình phát trin
B. Vì UML không h tr mô hình hành vi
C. Vì UML ch dành cho lp trình viên D. Vì UML không có biểu đồ cu trúc
Q4: "Thuc tính" (attribute) trong mt lp biu diễn điều gì?
A. Hành động mà lp thc hin B. D liu hoặc đặc điểm ca lp
C. Đối tượng con ca lp D. Mt chức năng phụ ca lp
Q5: Mi quan h "liên kết" (association) gia các lp th hiện điều gì?
A. Mt lp kế tha lp khác. B. Các lp có thuc tính chung C. Các lớp tương tác
và liên quan trong thc thi D. Các lớp hoàn toàn độc lp
Q6: Trong mô hình hướng đối tượng, "kết tp" (aggregation) khác "liên kết" (association) như thế nào?
A. Kết tp mô t s hu yếu, association mô t s hu mnh
B. Kết tp mô t s hu mạnh hơn association C. Không khác gì nhau D. Kết tp yêu cu
cùng tn ti vt lý
Q7: Thành phần nào dưới đây thuộc mô hình nghip v?
A. Lp (Class) B. Use Case nghip v
C. Deployment Diagram D. Mã nguồn chương trình
Q8: Ai là người ch yếu chu trách nhim cung cấp thông tin để xây dng mô hình nghip v?
A. Lp trình viên B. Qun tr h thống C. Người dùng cui và chuyên gia
nghip v D. Kim th viên
Q9: Business Modeling được s dng nhiu nhất trong giai đoạn nào của vòng đời phát trin h thng?
A. Thiết kế chi tiết B. Phân tích yêu cu
C. Trin khai h thng D. Bo trì h thng
Q10: Đối tượng nào thường chu trách nhim thu thp và phân tích yêu cu?
A. Lp trình viên B. Phân tích viên h thng
C. Qun tr mng D. Người kim th
Q11: "Primary Actor" trong Use Case Analysis là gì?
A. Người trc tiếp nhn giá tr t h thng B. Người đứng ngoài h thng C. H thng
máy ch D. Cơ sở d liu backend
Q12: Trong mô hình lp phân tích, lp Control chu trách nhim gì?
A. X lý luồng điều khin và nghip v B. Ch lưu trữ d liu
C. Giao tiếp người dùng D. Tương tác cơ sở d liu trc tiếp
Q13: Người ta mun xây dng chức năng đăng nhập trên app mobile. Như vậy h cn viết ra giao diện đồ ho
trong đó cho phép người dùng nhp username, password, nhn nút Login hoc nhn nút Forgot password.
Người phát trin cn khai báo lớp đại din cho bng Account trong CSDL của phía server. Người phát trin
lOMoARcPSD|45315597
cũng cần khai báo lớp cài đặt các chức năng như: validate username password, gửi https request đến server
(ngoài các thông tin username, password còn các thông tin khác như DeviceID, screensize, timestamp…),
nhn d liu t server tr v, chuyn sang màn hình trang ch nếu đăng nhập thành công, báo li nếu server
không cho đăng nhập… Vậy các đáp án dưới đây thì đáp án nào đúng?
A. Lớp đại din cho mt tài khon Account là lp thuc nhóm boundary
B. Lớp đại din cho mt tài khon Account là lp thuc nhóm control
C. Lớp đại din cho mt tài khon Account là lp thuc nhóm entity
D. Lớp đại din cho mt tài khon Account là lp thuc c nhóm control và boundary
E. Tt c đáp án còn lại đều sai
Q14: Yếu t nào sau đây thuc v yêu cu phi chức năng cần xét khi thiết kế kiến trúc?
A. X lý nghip v B. Tính m rng (scalability)
C. Chức năng tìm kiếm d liu D. Chức năng gửi email
Q15: Trong thiết kế h thng, thut ng "interface" đề cập đến gì?
A. Phn giao diện người dùng B. Cách các thành phn h thống tương tác với nhau
C. Một đoạn mã HTML D. Tên gi phn mm giao tiếp
Q16: Mt h thng có kiến trúc loose coupling (kết ni lng) có lợi điểm gì?
A. Thành phn ph thuc mnh vào nhau
B. Thay đổi mt thành phn không ảnh hưởng lớn đến thành phn khác
C. Tốc độ x lý cao hơn mọi lúc D. Ph thuc hoàn toàn vào h điu hành
Q17: Một Use Case thường mô t điu gì?
A. Giao diện đồ ha B. Mt tp hợp các đối tượng C. Mt chức năng hoặc kch bn mà h thng cung
cấp cho người dùng D. Một sơ đồ mng
Q18: "Include" trong Use Case Diagram mô t điu gì?
A. Mt Use Case chính bao gm mt Use Case ph B. Một Use Case được thc hin song song
C. Một Use Case độc lp D. Mt Use Case thay thế
Q19: Mt Use Case tt cần đáp ứng tiêu chí nào sau đây?
A. Mô t chi tiết mi tình hung k thut B. Mô t t góc nhìn người dùng, rõ ràng và có th kim chng
C. Ch lit kê các API k thut D. Tp trung vào giao diện người dùng
Q20: "Postconditions" trong Use Case có vai trò gì?
A. Xác định trng thái h thng sau khi hoàn thành Use Case B. Ghi nhn li h thng C. Trin khai
chương trình thực tế D. Lưu trữ các đối tượng tm thi
Q21: Mt lp trong thiết kế h thng cha nhng gì?
A. Ch d liu B. Ch hành vi C. D liu và hành vi D. Các
bảng cơ sở d liu
Q22: "High Cohesion" trong thiết kế lớp có nghĩa là gì?
A. Lp thc hin nhiu nhim v không liên quan B. Lp tp trung vào mt chức năng chính
C. Lp có rt nhiu thuc tính D. Lp ph thuc vào nhiu lp khác
Q23: Trong UML, mi quan h "Aggregation" gia hai lp mô t điu gì?
A. Mt lp kế tha lp khác B. Mt lp b ràng buc tuyt đi vi lp khác
C. Mt lp là thành phn hp thành ca lp khác, nhưng tồn tại độc lp
D. Mt lớp điều khin tt c hành động ca lp kia
Q24: Ti sao nên thiết kế lp có "High Cohesion" và "Low Coupling"?
A. Để tăng số ợng đối tượng trong h thng B. Để h thng d bo trì, d m rng
C. Để đơn giản hóa giao diện người dùng D. Để tối ưu hóa lưu trữ d liu
Q25D: Mt Use Case tốt nên có đặc điểm gì?
A. Ngn gn, rõ ràng, tập trung vào hành vi người dùng B. Càng dài càng tt
C. Miêu t chi tiết giao din D. Tp trung vào các chi tiết k thut
lOMoARcPSD|45315597
Q26: Trong thiết kế Use Case, Extension Points là gì?
A. Các điểm kết thúc Use Case B. Các v trí nơi các luồng m rng có th gn vào lung chính
C. Các điểm giao tiếp h thng D. Các li h thng
Q27: Postconditions mô t điu gì?
A. Các bước trung gian B. Các đối tượng giao din
C. Các li h thng tim n D. Trng thái h thng sau khi hoàn tt Use Case
Q28: Actor có th tương tác với bao nhiêu Use Case?
A. Ch 1 B. Bt k s ng nào
C. Tối đa 3 D. Tối đa 5
Q29: Mc tiêu chính ca vic phân chia h thng thành các subsystem là gì?
A. Gim thi gian kim th B. Tăng độ phc tp h thng C. D dàng qun lý,
phát trin và bo trì D. Gim chi phí phn cng
Q30: Khi thiết kế subsystem, yếu t nào nên được ưu tiên?
A. Kết ni cht ch gia các subsystem B. Tách bit tối đa các subsystem với nhau C. Tăng số ng
subsystem không gii hn D. Gp toàn b chức năng vào một subsystem
Q31: Ti sao vic phân chia subsystem theo tính biến đổi (volatility) li quan trng?
A. Để d phát hin li B. Để gim kh năng mở rng h thng
C. Để tăng chi phí kiểm th D. Để lập thay đổi và gim ảnh hưởng dây chuyn
Q32: Ti sao cn hn chế s ng giao tiếp trc tiếp gia các subsystem?
A. Để d dàng thay đổi subsystem mà không ảnh hưởng subsystem khác
B. Để tăng độ gn kết h thng C. Để gim chi phí phn cứng D. Để tăng tốc độ lp
trình
Q33: Mt thuc tính (Attribute) trong lp biu th điu gì?
A. Hành động ca lp B. D liu hoc trng thái của đối tượng
C. Một cơ sở d liu ph D. Mt giao diện đồ ha
Q34: Trong thiết kế lp, mi quan h "Aggregation" có đặc điểm gì?
A. Mt lp có th tn tại độc lp vi lp cha nó B. S kết hp cht ch sng/chết cùng nhau C. Hai
lp hoàn toàn tách bit D. Mt lp điều khin mi hành vi ca lp khác
Q35: Ti sao cn áp dng nguyên tc "Single Responsibility" khi thiết kế lp?
A. Để lp d bảo trì và thay đổi khi yêu cầu thay đổi
B. Để lp thc hin nhiu chức năng cùng lúc
C. Để tăng sự ph thuc gia các lp
D. Để gim tốc độ lp trình
Q36: Khi nào nên s dng Interface thay vì Abstract Class?
A. Khi cần cài đặt nhiều phương thức chung
B. Khi cần định nghĩa hành vi mà nhiều lp khác nhau có th thc hin
C. Khi cn kế tha d liu D. Khi cn gim s ng lp
Q37: Mc tiêu chính ca thiết kế cơ sở d liu là gì?
A. Gim thi gian lp trình
B. Bảo đảm d liệu được lưu trữ chính xác và truy xut hiu quC. Tối ưu hóa giao diện
ngưi dùng D. Thiết kế h thng mng
Q38: vi biểu đồ lp dưới đây, đâu là phát biểu sai?
A. Mt Course có th không có Course điều kin tiên quyết B. Mt Student có th không có Schedule nào
C. Mt Professor có th không có CourseOffering nào c
D. Mt CourseOffering có th không có Professor đăng ký cả
E. Mt Schedule có th có t 1 đến 2 khoá hc làm khoá hc bt buc (primary)F. Mt Professor ch có th
dy tối đa một Course
lOMoARcPSD|45315597
Q39: Thành phần nào dưới đây KHÔNG phải là yếu t ca kiến trúc h thng?
A. Thành phn phn mm (components) B. Giao din lp trình ng dng (API)
C. Yêu cu phi chức năng D. Ni dung qung cáo sn phm
Q40: Người ta mun xây dng chức năng đăng nhập trên app mobile. Như vậy h cn viết ra giao diện đồ ho
trong đó cho phép người dùng nhp username, password, nhn nút Login hoc nhn nút Forgot password.
Người phát trin cn khai báo lớp đại din cho bng Account trong CSDL của phía server. Người phát trin
cũng cần khai báo lớp cài đặt các chức năng như: validate username password, gửi https request đến server
(ngoài các thông tin username, password còn các thông tin khác như DeviceID, screensize, timestamp…),
nhn d liu t server tr v, chuyn sang màn hình trang ch nếu đăng nhập thành công, báo li nếu server
không cho đăng nhập… Vậy các đáp án dưới đây thì đáp án nào đúng?
A. Lp thc hin xác thc d liệu người dùng nhp vào là lp thuc nhóm boundary
B. Lp thc hin xác thc d liệu người dùng nhp vào là lp thuc nhóm control
C. Lp thc hin xác thc d liệu người dùng nhp vào là lp thuc nhóm entity
D. Lớp đại din cho giao diện đồ ho là lp thuc c nhóm entity và boundaryE. Tt c đáp án còn lại đều sai
ĐỀ THI GIA K MÔN PTTKHT - K 20242
NGÀY 13/06 - TC 312
LP 157517 IT 3120
THI GIAN 60 PHÚT
Q1: Theo em đâu là phát biểu đúng về mi quan h ca giao din ngôn ng Java: A. Các giao
din có th có quan h kế tha (inheritance)
B. Lp có th kế tha giao din (quan h inheritance).
C. Lp có th kết tp bên trong giao din (quan h aggregation).
D. Giao din không th kết tp bên trong lp (quan h aggregation).
E. Lp không th cài đặt giao din (quan h implement).
Q2: Trong UML, biểu đồ nào thường được dùng để mô t hành vi động ca h thng?
A. Class Diagram B. Sequence Diagram
C. Deployment Diagram D. Component Diagram E. Tt c đều sai
Q3: Trong các loi biểu đồ UML, biểu đồ nào phù hp nht đ mô t cách các thành phn vật lý được phân
phi trong h thng?
A. Activity Diagram B. Class Diagram
C. Deployment Diagram D. Use Case Diagram E. Tt c đều sai
Q4: Theo em đâu là phát biểu đúng
A. Nếu hai lp hai h thống con thì chúng không được có quan h ph thuc dng <<local>>
lOMoARcPSD|45315597
B. Nếu hai lp hai h thống con thì chúng không được có quan h ph thuc dng <<parameter>>C.
Nếu hai lp hai h thống con thì chúng không được có quan h ph thuc dng <<global>>
D. Nếu hai lp hai h thống con thì chúng không được có quan h ph thuc dng <<self>>.
Q5: Mt "tổng quát hóa" (generalization) trong UML Usecase dùng để mô t mi quan h nào?
A. Tt c các đáp án khác đều sai B. Quan h kế tha gia lp cha và lp con
C. Quan h cng tác giữa đối tượng D. Quan h chia s thuc tính
E. Quan h gia hành vi và giao din F. Tt c đều sai
Q6: "Composition" trong UML được đặc trưng bởi điều gì?
A. Quan h hp tác lng lo B. Quan h s hu mnh, sng-chết cùng nhau
C. Quan h phn hi tun t D. Quan h ch tn ti lúc runtime
Q7: Mt li ích ln ca vic xây dng mô hình nghip v là gì?
A. Gim thi gian lp trình B. Gim chi phí mua phn cng
C. Làm rõ quy trình kinh doanh và xác định điểm ci tiến D. Làm tăng kích thước cơ sở d liu Q8: Trong
mô hình hóa nghip v, "actor" là gì?
A. Mt đối tượng vt lý trong h thng B. Mt lp lp trình
C. Mt bảng cơ sở d liu D. Một vai trò tương tác với quy trình nghip v
Q9: Trong mt Business Use Case Diagram, mi quan h "include" mô t điu gì?
A. Mt hành vi bt buộc được s dng chung B. Mt hành vi m rng tùy chn
C. Mt hành vi thay thế D. Mt hành vi loi tr
Q10: S khác bit gia "Essential Use Case" và "Concrete Use Case" là gì?
A. Concrete Use Case mang tính trừu tượng hơn
B. Essential Use Case tp trung vào bn cht, không quan tâm giao din
C. Essential Use Case có chi tiết k thut D. Không có s khác bit
Q11: Trong phân tích h thng, biểu đồ nào thường dùng để mô t chức năng hệ thng?
A. Deployment Diagram B. Business Object Diagram C. Use Case Diagram
D. Component Diagram E. Tt c đều sai
Q12: Khi mô hình hóa Use Case, mi quan h "extend" th hiện điều gì?
A. Mt chức năng bắt buc phi thc hin B. Mt chức năng được thc hin song song
C. Mt chức năng thay thế D. Mt chức năng tùy chọn m rng cho Use Case chính
Q13: Trong thiết kế kiến trúc, mô hình nhiu lp (multi-layered architecture) thường gm nhng lp nào?
A. Giao diện người dùng, lp x lý nghip v, lp d liu B. Lp mng, lp ng dng, lp vt lý C. Lp
báo cáo, lớp điều khin, lp giao tiếp D. Lớp lưu trữ, lp bo mt, lp trình din Q14: Mt kiến trúc
phn mm tt cn thỏa mãn điều kiện nào dưới đây?
A. Phc tạp để khó sao chép B. Linh hot, m rộng được và d bo trì C. Càng ít lp
càng tt D. Ph thuc vào nn tng c th E. Tt c đều sai Q15: Hãy chọn phương án
đúng:
A. Hai thông điệp đầu tiên là khách
hàngthêm hàng vào đơn hàng
B. Tt c các đáp án còn lại đều sai
C. Thông điệp th 4 và 5
(checkAvailablevà return done) là s kim
tra tình trng có sn trong kho của đơn
hàng.
D. Ba thông điệp cui cùng là kim tra
nếucó hàng thì cộng vào đơn hàng
E. Tt c đều sai
Q16: Mt trong nhng mục tiêu chính khi xác định các Subsystem trong thiết kế kiến trúc là gì?
lOMoARcPSD|45315597
A. To ra h thng nhiu lp mng B. Gim s ng lp trình viên cn thiết
C. Tăng chi phí phát triển h thng D. Phân chia h thống thành các đơn vị qun lý d dàng hơn Q17: Chn
phát biểu đúng
A. Lp Cash không th
truyềnthông điệp trc tiếp đến
Person được
B. Lp Transaction không
thtruyền thông điệp đến vi Cash
C. Lp Account quan h
<<dependency>> vi Person và
vai trò ca Person <<local>>. D.
Lp Transaction quan h
<<dependency>> vi Product
vai trò ca Product là
<<parameter>>
E. Tt c đều sai
Q18: Khi mô t Use Case, lung chính (Main Flow) là gì?
A. Lung x tt c các trường hp ngoi l B. Luồng các bước thc hiện bình thường thành công
C. Lung phn hi li t h thng D. Lung giao diện đồ ha
Q19: Actor ph (Secondary Actor) là gì trong mt Use Case?
A. Actor chính tương tác đầu tiên vi h thng B. Actor giám sát h thng
C. Actor h tr để Use Case hoàn thành D. Actor dùng để thay thế Actor chính
Q20: Ti sao vic phân tích k ng các Use Case li giúp ích cho kim th phn mm sau này?
A. Vì Use Case to tài liệu hướng dn s dng B. Vì Use Case cung cp cấu trúc cơ sở d liu C. Vì
Use Case mô t chi tiết các thut toán D. Vì Use Case định nghĩa các kch bản để viết test case Q21:
Theo em phát biểu nào là đúng
A. Tt c đều đúng
B. Trong biểu đồ lp, các
commentlà nhng th không cn
phải đặt tên
C. Các quan h association
btbuc phi có tên
D. Các quan h Tng quát hoá
làcác quan h không cn có tên
E. Các quan h Dependency
khôngcần được đặt tên
Q22: "Low Coupling" gia các lp trong h thng nhm mục đích gì?
A. Làm h thng phc tạp hơn B. Tăng khả năng tái sử dng và bo t
C. Gim hiu sut h thng D. Gim s ng lp cn thiết
Q23: Trong thiết kế h thng, "Generalization" mô t?
A. Mt lp s dng lp khác B. Mt đối tượng chứa đốing khác
C. Mt lp kế tha t lp trừu tượng D. Mt quy trình nhp liu Q24: Khi thiết kế
h thng, Dependency Injection h tr nguyên tc nào?
A. High Cohesion B. Tight Binding
C. High Coupling D. Low Coupling
Q25: S khác bit gia Include và Extend trong Use Case là gì?
A. Include tái s dng, Extend thêm hành vi tùy chn B. Include m rng hành vi, Extend tái s dng
C. Include và Extend ging ht nhau D. Include dành cho Actor, Extend dành cho System Q26: Actor trong
thiết kế Use Case là gì?
A. Mt phn mm h tr B. Một vai trò tương tác với h thng
C. Mt phn giao diện đồ ha D. Mt bng d liu
Q27: Người ta mun xây dng chức năng đăng nhập trên app mobile. Như vậy h cn viết ra giao diện đồ ho
trong đó cho phép người dùng nhp username, password, nhn nút Login hoc nhn nút Forgot password.
Người phát trin cn khai báo lớp đại din cho tài khoản Account. Người phát triển cũng cần khai báo lp cài
lOMoARcPSD|45315597
đặt các chức năng như: validate username password, gi https request đến server (ngoài các thông tin
username, password còn có các thông tin khác như DeviceID, screensize, timestamp…), nhận d liu t server
tr v, chuyn sang màn hình trang ch nếu đăng nhập thành công, báo li nếu server không cho đăng nhập…
Vậy các đáp án dưới đây thì đáp án nào đúng?
A. Người phát trin cn viết ra lớp đại din tài khon và trong lớp đó có hàm xác thực d liu
B. Người phát trin cn viết ra lớp đại din tài khon và trong lớp đó có hàm gửi HTTP request đến serverC.
Tt c các đáp án còn lại đều sai
D. Người phát trin cn viết ra lớp đại din tài khon và trong lớp đó có hàm nhận d liu t server tr v
E. Tt c các hàm các đáp án đều cn có trong lớp đại din tài khon
F. Người phát trin cn viết ra lớp đại din tài khon và trong lớp đó có hàm đổi màu nút Login nếu
ngưidùng bắt đầu nhp d liu vào ô username và password
G. Người phát trin cn viết ra lp đại din tài khon và trong lớp đó có hàm đổi màu nút Login nếu
ngưidùng bắt đầu đè tay lên nút Login
H. Người phát trin cn viết ra lớp đại din tài khon và trong lớp đó có hàm kiểm tra kết ni mng ca thiết
bQ28: Người ta t chức sân chơi cho các bé vào tham gia chơi. Sân chơi (Playground) có nhiều phòng
chơi (Room), mỗi phòng chơi chỉ có cha tối đa 5 trẻ (Child). Các tr sau khi vào mua vé (Ticket) vào được
phép chn lựa các phòng chơi nhất định. Nếu muốn chơi nhiều hơn số ợng phòng chơi đã xác định thì
b m ca bé (hoặc người giám h) phi tr thêm tin. Hin nay mi tr sau khi mua vé vào thì được phép
chơi tối đa 7 phòng.
Hãy xác định phát biểu nào đúng về liên kết giữa các đối tượng như sau:
A. Mỗi đối tượng Room có liên kết đến một vài đối tượng Playground
B. Mỗi đối tượng Room có liên kết đến tối đa 2 đối tượng Ticket
C. Mỗi đối tượng Playground có liên kết đến tối đa 7 đối tượng Room
D. Mỗi đối tượng Room có liên kết đến tối đa 5 đối tượng Child.
Q29: Trong UML, subsystem thường được biu diễn dưới dng gì?
A. Mt package B.Mt class
C. Mt node D. Mt actor E. Tt c đều sai
Q30: Giao din (interface) của subsystem nên được thiết kế như thế nào?
A. Càng nhiều phương thức càng tt B. Càng đơn giản, rõ ràng càng tt C. n toàn b chức năng
D. Không cn thiết kế giao din subsystem
Q31: Khi subsystem có mc kết dính ni b cao (high cohesion) thì điều gì xy ra?
A. Subsystem khó bảo trì hơn B. Subsystem cn nhiu giao tiếp mng
C. Subsystem d hiu, d bo trì và d m rng D. Subsystem cn nhiều Actor hơn Q32:
Subsystem nên được phân chia dựa trên điều gì?
A. Theo các module giao diện người dùng B. Theo v trí địa lý hoc theo thời điểm bắt đầu cài đặt
C. Theo nhóm phát trin D. Theo các chức năng nghiệp v chính
Q33:
Q34: S khác bit gia Aggregation và Composition là gì?
A. Không có khác bit B. Aggregation có quan h yếu hơn Composition
C. Aggregation yêu cu cùng tn ti D. Composition cho phép các đối tượng độc lp Q35: “Dependency
Inversion Principle" (DIP) khuyến khích điều gì trong thiết kế lp?
A. Lp cp thp ph thuc vào lp cp cao B. Các lp ph thuc trc tiếp vào nhau
lOMoARcPSD|45315597
C. Lp cp cao và lp cp thp ph thuc vào abstraction
D. Các lp cp thấp điều khin toàn b chương trình E. Tt c đều sai Q36: Nguyên lý
"Liskov Substitution Principle" (LSP) yêu cu gì?
A. Mt lp cha phi kế tha lp con B. Tt c đều sai
C. Mt lp con không cn thc hiện đầy đủ các hành vi ca lp cha
D. Mt lp con có th thay đổi hành vi lp cha mt cách t do
E. Mt lp con có th thay thế lớp cha mà không làm thay đổi hành vi mong đợi của chương trìnhQ37: Trong
mô hình quan h, d liệu được t chức dưới dng nào?
A. Bng (Tables) B. Đồ th
C. Cây D. Dòng mã lnh E. Tt c đều sai
Q38: Khi thiết kế cơ sở d liệu, điều nào sau đây cần được xác định đầu tiên?
A. Giao diện người dùng B. Các bng d liu và mi quan h gia chúng
C. Các quy tc lp trình D. Thiết kế báo cáo
Q39: K thuật "Indexing" trong cơ sở d liu có tác dng gì?
A. Làm chm quá trình tìm kiếm B. Tăng kích thước file d liu
C. Tăng tốc độ truy vn d liu D. Xóa d liệu dư thừa
Q40: Mt nhân viên của công ty an ninh được phân loi là bo v hoc v sĩ. Nếu là bo v thì h ch đưc
trông các nhà hàng, khách sn, nhà kho. Mỗi địa điểm trên có t 7 đến 12 người bo v. Các v ch đi trông
các yếu nhân. Mi yếu nhân cn có t 3 đến 9 người v sĩ. Mi nhóm bo v và v sĩ đều có trưởng nhóm
bo v và trưởng nhóm v sĩ. Người ta xây dng phn mềm xét thưởng cuối năm và các trưởng nhóm s
mức thưởng lớn hơn nhân viên bình thưng; nếu cùng làm tt công việc thì trưởng nhóm v sẽ đưc
thưởng cao hơn.
Hãy xác định phát biểu nào đúng nhất v thiết kế ca các lớp đại diện cho các đối tượng
A. Lp bo v có kế tha lp v B. Lớp trưởng nhóm v sĩ có kế tha lp bo v
C. Lp bo v và lớp trưởng nhóm v sẽ cùng cài đặt chung mt giao din. Lp v và lớp trưởng
nhómbo v s cài đặt chung mt giao din khác
D. Lớp trưởng nhóm kế tha lớp nhân viên và trưởng nhóm bo v s cài đặt chung giao din vi lp bo v.
E. Tt c đều sai
ĐỀ THI GIỮA KỲ MÔN PTTKHT - KỲ 20242
NGÀY 13/06 - TC 312
LỚP 157517 IT 3120
THỜI GIAN 60
PHÚT
Q1
Chọn câu trả lời sai
A. Ghế ngồi có đặc trưng về việc dànhcho
loại thương gia.
B. Có hai loại số hiệu chuyến bay
C. Một loại máy bay có thể được gánnhiều
số hiệu
D. Trên máy bay có thể không có ghếngồi
nào
E. Mỗi số hiệu chuyến bay chỉ có
nhiềunhất là thuộc về một loại máy bay
F. Tất cả đều sai
G. Từ A đến E không có câu trả lời nào
sai
Q2: Khác biệt chính giữa phân tích hệ thống và thiết kế hệ thống là gì?
A. Phân tích lập trình hệ thống, thiết kế kiểm thử
B. Phân tích xác định yêu cầu, thiết kế xác định giải pháp
C. A và B đúng
D. Phân tích cài đặt phần mềm, thiết kế bảo trì hệ thống
E. D và F đúng
F. Phân tích tạo giao diện người dùng, thiết kế viết tài liệu hướng dẫn
Q3: Khi thiết kế hệ thống, đâu là mục tiêu chính cần đạt được?
A. Mô hình hóa hệ thống dưới dạng tài liệu hướng dẫn sử dụng
B. Mô hình hóa hệ thống để trình diễn marketing
G. Tất cả đều sai
lOMoARcPSD|45315597
C. Mô hình hóa hệ thống đủ chi tiết để chuyển sang lập trình
D. A và C đúng
E. Mô hình hóa hệ thống để kiểm tra tính hợp lệ của yêu cầu khách hàng F. Tất cả đều sai
Q4: Đặc trưng chính của mô hình hóa hướng đối tượng là gì?
A. Chỉ tập trung vào dữ liệu B. Tập trung vào cơ sở dữ liệu C. A và B đúng
D. Tập trung vào giao diện người dùng E. Tập trung vào các đối tượng và mối quan hệ giữa chúng Q5:
Một lớp được mô tả là tập các đối tượng chia xẻ cùng các:
A. Attributes, operations and relationships (mối quan hệ) B. A và C đúng
C. Identity(đặc tính), behaviour and state (trạng thái) D. C và E đúng
E. Attributes (thuộc tính), behaviour (hành vi) and operations (hành động) F. E và G đúng
G. Relationships, operations and multiplicity (bản số) H. Tất cả đều sai
Q6: Mô hình hóa hướng đối tượng ưu tiên quản lý những gì?
A. Quản lý dữ liệu trong cơ sở dữ liệu B. Quản lý hành vi và trạng thái của đối tượng
C. Quản lý hệ thống mạng D. Quản lý báo cáo người dùng
Q7: Biểu đồ nào dùng phổ biến trong mô hình hóa nghiệp vụ?
A. Class Diagram B. Sequence Diagram
C. Business Use Case Diagram D. Deployment Diagram
Q8: Business Use Case và System Use Case khác nhau chủ yếu ở đâu?
A. Loại actor tương tác B. Loại biểu đồ sử dụng
E. Tất cả đều sai
C. Ngôn ngữ lập trình D. Phạm vi mô tả
E. Tất cả đều sai
Q9: Một Use Case bao gồm những thành phần chính nào?
A. Tên, tác nhân liên quan, luồng sự kiện B. Mã nguồn chương trình C. Sơ đồ kiến trúc
mạng D. Các thiết bị phần cứng liên quan
Q10: Khi mô hình hóa quy trình nghiệp vụ, một "Business Worker" là gì?
A. Một tác nhân ngoài hệ thống B. Một vai trò chịu trách nhiệm thực hiện một phần quy trình nghiệp vụ
C. Một yêu cầu khách hàng D. Một thiết bị máy tính hỗ trợ xử lý nghiệp vụ
Q11: Khi phân tích hệ thống, mục đích chính của mô hình hóa các lớp phân tích (Analysis Classes) là gì?
A. Tối ưu hóa cơ sở dữ liệu B. Tạo khuôn mẫu thiết kế phần mềm
C. Gắn kết chức năng với các đối tượng D. Triển khai hệ thống thực tế
Q12: Trong quá trình phân tích, việc sử dụng mô hình phân tích hướng đối tượng chủ yếu nhằm:
A. Xác định cơ sở dữ liệu B. Đảm bảo tốc độ hệ thống
C. Tạo sơ đồ vật lý hệ thống D. Xây dựng mô hình hệ thống dễ hiểu, dễ thiết kế
Q13: Cụm từ tốt nhất để biểu diễn mới quan hệ tổng quát hoá là :
A. "Is a kind of". B. "Is a part of"
C. "Is a replica of" D. "Is composed of" E. Tất cả đều sai
Q14: Mô hình MVC (Model-View-Controller) là một ví dụ cho loại kiến trúc nào?
A. Kiến trúc client-server B. Kiến trúc tầng (Layered Architecture) C. Kiến trúc
phân tán D. Kiến trúc dữ liệu tập trung
Q15: Lớp Business Logic (lớp xử lý nghiệp vụ) trong kiến trúc nhiều lớp thường chịu trách nhiệm gì?
A. Hiển thị giao diện B. Lưu trữ dữ liệu
C. Thực hiện xử lý nghiệp vụ cốt lõi D. Quản lý quyền truy cập E. Tất cả đều sai
Q16: Khi thiết kế kiến trúc phần mềm, quyết định về việc phân phối (deployment) hệ thống ảnh hưởng trực tiếp đến:
A. Chức năng hệ thống B. Phương pháp lập trình
C. Độ phức tạp của giao diện người dùng D. Tính khả dụng (availability) và hiệu suất (performance) Q17: Trong
biểu đồ Use Case, đường nối giữa Actor và Use Case biểu thị điều gì?
A. Mối quan hệ giao tiếp (communication) B. Thực hiện (realization)
C. Kế thừa D. Giao diện người dùng E. Tất cả đều sai
Q18: Khi phân tích hệ thống, một lý do chính để tạo biểu đồ Use Case là gì?
A. Xác định sơ đồ mạng vật lý B. Giúp định nghĩa và xác định phạm vi hệ thống
C. Lập trình thử nghiệm hệ thống D. Triển khai các giao thức bảo mật E. Tất cả đều sai
Q19: Khi xác định Use Case, hành động nào nên được ưu tiên?
A. Tập trung vào giải pháp kỹ thuật B. Tập trung vào tối ưu hóa mã nguồn
C. Tập trung vào nhu cầu và mục tiêu của người dùng D. Tập trung vào bảo mật hệ thống
Q20: Khi một hệ thống lớn có rất nhiều Use Case, kỹ thuật nào thường được dùng để quản lý tốt hơn?
A. Tăng mức chi tiết mô tả cho từng Use Case để tránh thiếu sót
B. Sử dụng mô hình phân lớp (layered model) để tách biệt các chức năng
C. Liên kết trực tiếp Use Case với các giao diện người dùng để dễ theo dõi
lOMoARcPSD|45315597
D. Gom nhóm các Use Case theo mục tiêu nghiệp vụ vào các Subsystem hoặc PackagesQ21: Trong UML, lớp trừu tượng
(abstract class) thường được sử dụng để làm gì?
A. Mô tả hành vi chung cho các lớp con nhưng không định nghĩa chi tiết nội dung của các hành vi đó
B. Khởi tạo đối tượng trực tiếp trong hệ thống
C. Cấu trúc dữ liệu được tối ưu để thực hiện truy vấn nhanh hơn
D. Liên kết trực tiếp với lớp giao diện để tăng khả năng tái sử dụng
Q22: Khi thiết kế hệ thống, mối quan hệ giữa các lớp nên được thiết kế như thế nào?
A. Càng nhiều càng tốt B. Tối giản và chỉ khi cần thiết
C. Bất kỳ lớp nào cũng liên kết với bất kỳ lớp nào D. Mỗi lớp chỉ có một liên kết duy nhất Q23: Sự
khác biệt giữa "Composition" và "Aggregation" là gì?
A. Composition là mối quan hệ lỏng, Aggregation là mối quan hệ chặt
B. Aggregation đòi hỏi sự sống còn của đối tượng phụ
C. Composition yêu cầu đối tượng thành phần phải sống cùng đối tượng cha
D. Không có sự khác biệt E. Tất cả đều
Q24: Một thiết kế hệ thống hướng đối tượng hiệu quả cần ưu tiên điều nào sau đây?
A. Mã nguồn khó đọc để tăng bảo mật B. Các lớp đa chức năng để giảm số lượng lớp
C. Giao diện càng nhiều phương thức càng tốt, để giảm số lượng giao diện khai báo
D. Các lớp đơn nhiệm, dễ hiểu, và dễ kiểm thử E. Tất cả đều sai
Q25: Biểu đồ nào giúp hiển thị các khía cạnh Động liên quan đến một hệ thống?
A. Biểu đồ trình tự B. Biểu đồ lớp C. A và B D. E và F
E. Biểu đồ triển khai F. Biểu đồ trường hợp sử dụng G. Tất cả đều sai
Q26: Một lợi ích của việc thiết kế Use Case chi tiết là gì?
A. Tăng số lượng lớp cần thiết B. Cung cấp cơ sở vững chắc cho việc kiểm thử hệ thống
C. Làm tăng độ phức tạp hệ thống D. Hạn chế sáng tạo trong lập trình Q27: Tại
sao cần phải xác định rõ các Alternative Flow trong Use Case?
A. Để đơn giản hóa hệ thống B. Để giảm số lượng Actor
C. Để xử lý các trường hợp ngoại lệ và tình huống bất thường D. Để mô tả cơ sở dữ liệu Q28: Khi
mô hình hóa Use Case, nên tránh điều gì sau đây?
A. Mô tả rõ ràng mục tiêu người dùng B. Phân biệt rõ luồng chính và luồng thay thế C. Xác định rõ
các Actor D. Viết Use Case như một hướng dẫn lập trình
Q29: Mục nào dưới đây không là mục tiêu của UML:
A. Coding. B. Visualizing C. A và B D. E và F E. Specifying F. Documenting G. C và D E. Tất
cả đều sai
Q30: Mối quan hệ giữa các subsystem nên được kiểm soát như thế nào?
A. Tự do tạo liên kết trực tiếp B. Kiểm soát chặt chẽ, chỉ thông qua giao diện đã định nghĩa C. Tất cả
subsystem đều kế thừa lẫn nhau D. Không cần kiểm soát
Q31: "Facade Pattern" thường được sử dụng trong thiết kế subsystem nhằm mục đích gì?
A. Tăng số lượng lớp cần thiết B. Tăng kết nối giữa các subsystem
C. Ẩn đi sự phức tạp bên trong subsystem và cung cấp giao diện đơn giản ra bên ngoài
D. Tối ưu hóa lưu trữ dữ liệu E. Tất cả đều sai
Q32: Việc tách subsystem giúp ích gì cho kiểm thử hệ thống?
A. Giảm khả năng phát hiện lỗi B. Tăng chi phí kiểm thử
C. Làm cho kiểm thử phức tạp hơn D. Giúp dễ kiểm thử độc lập từng phần E. Tất cả đều sai
Q33: Khi thiết kế lớp, nguyên lý "Encapsulation" (đóng gói) có ý nghĩa gì?
A. Ẩn dữ liệu nội bộ và chỉ cho phép truy cập thông qua phương thức
B. Công khai toàn bộ dữ liệu C. Tăng tốc độ chương trình D. Giảm chi phí phát triển
E. Che giấu các thuộc tính nguy hiểm F. A và C đúng G. D và A đúng H. Tất cả đều sai
lOMoARcPSD|45315597
Q34: Hãy chọn ra câu trả lời đúng
A. hai nhóm đối tượng của lớp
cụ thể User Student tham gia làm
bài kiểm tra
B. Mỗi câu hỏi được đảm nhận
bởichỉ một Instructor.
C. Biểu đồ đã quy định Người
quảnlý khoá học người dạy lớp
học bắt buộc phải là một
D. Một thể hiện của Answer có
thểđược tạo ra (trả lời) bởi nhiều
Student khác nhau
Q35: Khi một lớp có mức độ Cohesion thấp, điều gì thường xảy ra?
A. Lớp dễ hiểu và dễ bảo t B. Lớp tối ưu hóa hiệu suất
C. Lớp có nhiều nhiệm vụ không liên quan, khó hiểu và khó bảo trì D. Lớp dễ kiểm thử hơn E. Đáp án khác Q36:
Thiết kế lớp theo "Open/Closed Principle" nghĩa là gì?
A. Lớp phải luôn mở cho việc thay đổi trực tiếp B. Lớp chỉ hoạt động với dữ liệu tĩnh
C. Lớp luôn được đóng hoàn toàn D. Lớp nên mở để mở rộng nhưng đóng cho việc sửa đổi trực tiếp E. Tất cả
đều sai F. A và B đều đúng
Q37: Tính đa hình có thể được mô tả như là:
A. Che dấu nhiều cài đặt khác nhau dựa trên cùng một giao diện. B. C và E đúng
C. Các thuộc tính và phương thức khác nhau của các lớp con có cùng lớp cha D. Tất cả đều sai
E. Các lớp kết hợp (association class) vời ràng buộc {or} F. E và G đúng
G. Sự tổng quát hoá (Generalization) các lớp con thừa kế H. Một lớp có thể có nhiều lớp cha
Q38: Sự kết hợp giữa tên của một thao tác (operation) và các tham số (parameter) của nó được xem là _____________
của thao tác đó.
A. Arguments B. Signature. C. Responsibilities D. Attributes E. Đáp án khác
Q39: Trong các đối tượng sau đây, đối tượng nào chỉ gửi thông điệp đến các đối tượng cùng loại với nó:
A. Đối tượng biên B. Đối tượng điều khiển
C. Đối tượng thực thể. D. Tất cả đều sai E. A và B
F. Tất cả ba loại đối tượng đều chỉ gửi thông điệp đến đối tượng cùng loại với nó
G. Tất cả ba loại đối tượng đều có thể gửi thông điệp đến các đối tượng khác loại với
Q40: Một cách tiếp cận để tách một hệ thống thành các hệ thống con gọi là
A. Thiết kế hệ thống B. Lập trình
C. Quản lý dữ liệu D. Phân rã chức năng E. Tất cả đều sai

Preview text:

lOMoARcPSD| 45315597
ĐỀ THI GIỮA KỲ MÔN PTTKHT - KỲ 20242 NGÀY 06/06 - TC 312 LỚP 157517 IT 3120 THỜI GIAN 60 PHÚT
Q1: Người ta viết ra lớp LoginView đại diện cho giao diện đồ hoạ của người dùng. Họ cũng viết ra lớp
AccountModel đại diện cho tài khoản của người dùng. Họ cũng viết ra lớp LoginControl trong đó cài đặt các
chức năng nghiệp vụ của hệ thống. Họ cũng viết ra lớp FileControl trong đó cài đặt chức năng lưu thông tin
đăng nhập (username, password, token) vào ổ cứng của máy và mã hoá thông tin đó. Nếu chia các lớp trên
vào 3 tầng: tầng cao nhất gần như không cần tương tác với phần cứng thiết bị, tầng thấp hơn có tương tác
với phần cứng thiết bị và tầng cuối cùng bắt buộc phải tương tác với phần cứng thiết bị thì các đáp án dưới
đây có đáp án nào đúng?
A. Lớp FileControl sẽ phải phụ thuộc vào LoginView
B. Lớp LoginView sẽ phải phụ thuộc vào FileControl
C. Lớp FileControl sẽ phải phụ thuộc AccountModel
D. Tất cả các đáp án còn lại đều sai
Q2: Phân tích hệ thống trong phát triển phần mềm hướng đối tượng tập trung vào điều gì?
A. Lập trình B. Hiểu bài toán và yêu cầu nghiệp vụ
C. Kiểm thử hệ thống D. Tạo tài liệu hướng dẫn
Q3: UML 2.x phân các loại biểu đồ thành bao nhiêu nhóm lớn?
A. 1 nhóm B. 2 nhóm: Cấu trúc và Hành vi
C. 3 nhóm: Cấu trúc, Hành vi và Triển khai D. 4 nhóm: Phân tích, Thiết kế, Lập trình, Kiểm thử
Q4: Trong mô hình hướng đối tượng, "lớp" (class) là gì?
A. Một tập hợp các đối tượng có hành vi khác nhau
B. Một đơn vị lưu trữ dữ liệu
C. Một khuôn mẫu cho các đối tượng chia sẻ cùng cấu trúc và hành vi
D. Một phần mềm cụ thể
Q5: Trong UML, mối quan hệ "kế thừa" giữa các lớp được biểu diễn như thế nào?
A. Một đường thẳng liền B. Một đường mũi tên rỗng (open arrowhead)
C. Một đường nét đứt D. Một đường mũi tên tô đậm
Q6: Sự khác biệt lớn nhất giữa "generalization" và "realization" trong UML là gì?
A. Generalization cho phép kế thừa; Realization áp dụng cho interface
B. Cả hai đều giống nhau
C. Realization chỉ dùng trong database modeling
D. Generalization dùng cho object, Realization dùng cho component
Q7: Mục tiêu chính của mô hình hóa nghiệp vụ (Business Modeling) là gì?
A. Phát triển phần mềm nhanh hơn
B. Hiểu và phân tích quy trình nghiệp vụ hiện tại
C. Tạo giao diện người dùng hấp dẫn
D. Lập trình cơ sở dữ liệu
Q8: Business Object Model (BOM) mô tả điều gì trong mô hình nghiệp vụ?
A. Các đối tượng nghiệp vụ và mối quan hệ giữa chúng
B. Các quy trình nghiệp vụ C. Các yêu cầu kỹ thuật
D. Các thiết bị phần cứng
Q9: Đặc điểm nào sau đây phân biệt Business Actor với System Actor?
A. Business Actor luôn là người thật
B. System Actor tương tác với hệ thống máy tính; Business Actor tương tác với nghiệp vụ C.
Business Actor chỉ tồn tại trong hệ thống phần mềm
D. Không có sự khác biệt
Q10: Mục tiêu chính của giai đoạn phân tích trong phát triển hệ thống là gì?
A. Thiết kế cơ sở dữ liệu B. Lập trình hệ thống
C. Hiểu yêu cầu và mô hình hóa hệ thống
D. Viết tài liệu hướng dẫn sử dụng lOMoARcPSD| 45315597
Q11: Actor trong Use Case Diagram có thể là đối tượng nào?
A. Người dùng hệ thống B. Hệ thống bên ngoài C. Cả A và B
D. Chỉ phần mềm hệ thống
Q12: Khi phân tích hệ thống, việc phân loại lớp phân tích thành Boundary, Control và Entity nhằm mục đích gì?
A. Giảm số lượng lớp B. Tăng tốc độ lập trình C. Tăng tính tổ chức và rõ ràng của hệ thống
D. Phân chia tài nguyên phần cứng
Q13: Mục tiêu chính của thiết kế kiến trúc hệ thống là gì?
A. Thiết kế giao diện người dùng
B. Tối ưu hóa cơ sở dữ liệu C. Định hình cấu trúc tổng thể và các
thành phần chính của hệ thống
D. Lập trình chi tiết các module
Q14: Một hệ thống quản lý nhân sự trong công ty. Có một usecase như sau: nhân viên mới (Employee) đăng
ký vào hệ thống. Khi đăng ký thành công thì nhân viên đó sẽ được gán một mức lương, và việc gán này do
nghiệp vụ xét lương (SalaryAssignment) tiến hành. Ngoài ra khi ấy chức năng đăng ký sẽ phải được gọi thêm
chức năng gán người hướng dẫn. Người hướng dẫn đó phải thuộc nhóm nhân viên quản lý (Manager) ngoài
ra nếu cứ 10 nhân viên mới sẽ có một người thanh tra (Inspector) để kiểm soát độc lập việc hướng dẫn của
Manager. Việc xác định người hướng dẫn và người thanh tra thuộc về nghiệp vụ (GuideSupporter). Hãy xác
định phát biểu nào đúng dưới đây
A. Employee là lớp thuộc nhóm điều khiển
B. SalaryAssignment là lớp thuộc nhóm dữ liệu
C. Trách nhiệm của lớp Manager là xác thực đăng nhập
D. Lớp Inspector là lớp thuộc nhóm dữ liệu
Q15: Khi thiết kế hệ thống, tại sao cần xác định kiến trúc tổng thể trước?
A. Để dễ viết hướng dẫn sử dụng
B. Để lập trình viên tự do sáng tạo C. Để định hướng phát triển
thống nhất và kiểm soát chất lượng D. Để quảng cáo sản phẩm
Q16: Trong thiết kế kiến trúc hệ thống, yếu tố "availability" mô tả điều gì?
A. Khả năng thay đổi khi có yêu cầu mới
B. Khả năng hệ thống duy trì hoạt động liên tục
C. Khả năng tăng tốc độ truyền tải dữ liệu
D. Khả năng bảo vệ khỏi tấn công mạng
Q17: Mục tiêu chính của phân tích Use Case là gì?
A. Thiết kế cơ sở dữ liệu
B. Mô hình hóa các chức năng hệ thống từ góc nhìn người dùng
C. Lập trình giao diện người dùng
D. Viết tài liệu hướng dẫn sử dụng
Q18: Một Use Case "Base" có mối quan hệ với một Use Case "Extension" thông qua cơ chế nào? A. Include B. Extend
C. Generalization D. Realization
Q19: Trong phân tích Use Case, "Alternative Flow" dùng để mô tả điều gì?
A. Các trường hợp giao tiếp với hệ thống khác
B. Các trường hợp sử dụng giao diện khác
C. Các kịch bản thực hiện khác với luồng chính
D. Các chức năng không cần thiết
Q20: Trong phân tích Use Case, mô tả các điều kiện tiền đề (Preconditions) nhằm mục đích gì?
A. Tăng độ dài tài liệu
B. Định nghĩa trạng thái hệ thống trước khi thực hiện Use Case
C. Giải thích chi tiết thuật toán xử lý D. Tạo cơ sở dữ liệu
Q21: Thiết kế hệ thống phần mềm bao gồm yếu tố nào dưới đây?
A. Tài liệu hướng dẫn sử dụng
B. Thành phần phần mềm và mối quan hệ giữa chúng
C. Các thiết bị phần cứng
D. Ngôn ngữ lập trình cụ thể
Q22: Một nguyên lý thiết kế phần mềm tốt là gì?
A. Liên kết chặt chẽ giữa các thành phần
B. Kết nối lỏng giữa các thành phần C. Tăng số
lượng lớp đối tượng D. Phụ thuộc nhiều vào ngôn ngữ lập trình lOMoARcPSD| 45315597
Q23: Thiết kế hướng đối tượng sử dụng nguyên tắc "Information Hiding" nhằm mục đích gì?
A. Bảo vệ dữ liệu nội bộ lớp
B. Tiết kiệm bộ nhớ hệ thống C. Tăng tốc độ xử lý
D. Tăng kích thước mã nguồn
Q24: Lợi ích của nguyên lý "Program to Interface, not to Implementation" là gì?
A. Tăng độ gắn kết giữa các thành phần
B. Giảm khả năng mở rộng hệ thống
C. Tăng tính linh hoạt và khả năng thay thế
D. Giảm hiệu suất hệ thống
Q25: Mục tiêu chính của thiết kế Use Case là gì?
A. Mô tả luồng sự kiện và hành vi hệ thống từ góc nhìn người dùng
B. Thiết kế cơ sở dữ liệu
C. Viết mã nguồn hệ thống
D. Xác định giao diện người dùng
Q26: Trong thiết kế Use Case, Main Flow mô tả?
A. Luồng lỗi B. Luồng hoạt động bình thường từ đầu đến kết thúc thành công C. Luồng xử lý dữ liệu phụ
D. Luồng tương tác mạng Q27: Preconditions trong Use Case dùng để?
A. Xác định cách bố trí giao diện
B. Thiết lập quyền truy cập dữ liệu
C. Định nghĩa trạng thái yêu cầu trước khi Use Case bắt đầu
D. Xác định các chức năng mở rộng
Q28: Use Case phải đạt tiêu chí nào dưới đây để dễ bảo trì?
A. Gắn liền chặt chẽ với giao diện đồ họa
B. Liệt kê tất cả các thông báo lỗi
C. Tập trung vào yêu cầu phần cứng
D. Gắn với quy trình nghiệp vụ thay vì giao diện cụ thể Q29:
Subsystem trong thiết kế hệ thống là gì?
A. Một nhóm các thành phần thực hiện chung một chức năng lớn
B. Một phần của giao diện người dùng
C. Một cơ sở dữ liệu riêng biệt
D. Một đoạn mã nguồn độc lập
Q30: Một subsystem thường chứa những gì?
A. Một tập hợp các Actor
B. Một bộ cơ sở dữ liệu độc lập C. Các thành phần liên quan để thực hiện
chức năng nghiệp vụ lớn
D. Chỉ một chức năng nhỏ
Q31: Một tiêu chí quan trọng khi phân chia subsystem là gì?
A. Phân chia theo số lượng dòng mã
B. Phân chia theo sở thích cá nhân
C. Phân chia theo số lượng lập trình viên D. Phân chia theo mức độ thay đổi nghiệp vụ Q32: Nếu
một subsystem có nhiều giao diện phức tạp, điều đó dẫn tới vấn đề gì? A. Dễ dàng mở rộng
B. Tăng độ bảo mật hệ thống
C. Giảm chi phí phát triển
D. Tăng rủi ro lỗi tích hợp Q33: Lớp
(Class) trong thiết kế hướng đối tượng là gì?
A. Một bảng cơ sở dữ liệu B. Một đoạn mã nguồn
C. Một khuôn mẫu định nghĩa thuộc tính và hành vi của đối tượng
D. Một giao diện người dùng
Q34: Mối quan hệ "Association" giữa các lớp mô tả điều gì?
A. Một lớp kế thừa lớp khác B. Một lớp lưu trữ dữ liệu cho lớp khác C. Một lớp chứa một lớp khác
D. Một lớp sử dụng dịch vụ của lớp khác Q35:
"Polymorphism" trong thiết kế hướng đối tượng có ý nghĩa gì?
A. Tăng tốc độ chương trình
B. Cho phép các đối tượng khác kiểu có thể được xử lý như cùng một kiểu thông qua giao diện chung
C. Giảm số lượng lớp cần thiết
D. Tối ưu hóa lưu trữ dữ liệu Q36: Lợi ích của việc thiết kế lớp với "High Cohesion" là gì?
A. Dễ bảo trì, dễ mở rộng, dễ hiểu
B. Tăng sự phụ thuộc giữa các module
C. Tăng độ phức tạp hệ thống
D. Giảm tính mở rộng của hệ thống
Q37: Cơ sở dữ liệu (Database) là gì?
A. Một chương trình phần mềm
B. Một tập hợp dữ liệu có tổ chức được lưu trữ và truy cập dễ dàng
C. Một ngôn ngữ lập trình D. Một mạng máy tính
Q38: Quan hệ một-nhiều (One-to-Many) được mô hình hóa bằng cách nào? A. Tạo bảng trung gian
B. Dùng nhiều khóa chính C. Dùng khóa ngoại (Foreign Key) từ bảng con về bảng cha D. Gộp hai bảng lại
Q39: Khi thiết kế cơ sở dữ liệu lớn, yếu tố nào sau đây đặc biệt quan trọng?
A. Khả năng mở rộng và hiệu suất truy vấn lOMoARcPSD| 45315597
B. Số lượng lập trình viên
C. Màu sắc giao diện nhập liệu
D. Thiết kế giao diện người dùng
Q40: Theo em đâu là phát biểu đúng về mô tả biểu đồ lớp này:
Một công trình (Build) có các thông số về diện tích (sqr kiểu double), số định danh (id kiểu String) và địa chỉ
(adr kiểu String) và số người sống trong công trình (peo kiểu int). Một công trình xây dựng có thể là:
(i) một căn phòng khép kín (Room) với thông số về số cửa sổ (wid kiểu int). (ii) một căn hộ cụ thể (Home) với
thông số về số tầng (fls kiểu int). (iii) Một chung cư (Cond) là tập hợp nhiều Room bên trong. Chung cư có
thông số về số tầng (fls) và số lượng Room trong một tầng. (iv) Khoảng không gian trống (Park) có thêm thông
số về tỉ lệ bao phủ cây xanh bên trong diện tích đó (gre kiểu double). A. Đối tượng của lớp Room sẽ chỉ có duy nhất thuộc tính wid.
B. Đối tượng của lớp Home sẽ có thuộc tính fls và gre.
C. Đối tượng của lớp Park sẽ chỉ có thuộc tính gre và sqr.
D. Đối tượng Home sẽ có thể có các thuộc tính của Build lOMoARcPSD| 45315597
ĐỀ THI GIỮA KỲ MÔN PTTKHT - KỲ 20242 NGÀY 06/06 - TC 312 LỚP 157517 IT 3120 THỜI GIAN 60 PHÚT
Q1: Mục tiêu chính của phân tích và thiết kế hệ thống là gì?
A. Thu thập dữ liệu khách hàng
B. Tạo phần mềm chạy thử C. Hiểu yêu cầu và xây dựng mô hình hệ thống
D. Viết mã nguồn chương trình
Q2: Phân tích hệ thống trong phát triển phần mềm hướng đối tượng tập trung vào điều gì? A. Lập trình
B. Hiểu bài toán và yêu cầu nghiệp vụ C. Kiểm thử hệ thống
D. Tạo tài liệu hướng dẫn
Q3: Vì sao UML không được coi là phương pháp luận phát triển phần mềm?
A. Vì UML chỉ mô tả hệ thống, không quy định quy trình phát triển
B. Vì UML không hỗ trợ mô hình hành vi
C. Vì UML chỉ dành cho lập trình viên
D. Vì UML không có biểu đồ cấu trúc
Q4: "Thuộc tính" (attribute) trong một lớp biểu diễn điều gì?
A. Hành động mà lớp thực hiện
B. Dữ liệu hoặc đặc điểm của lớp
C. Đối tượng con của lớp
D. Một chức năng phụ của lớp
Q5: Mối quan hệ "liên kết" (association) giữa các lớp thể hiện điều gì?
A. Một lớp kế thừa lớp khác.
B. Các lớp có thuộc tính chung C. Các lớp tương tác
và liên quan trong thực thi
D. Các lớp hoàn toàn độc lập
Q6: Trong mô hình hướng đối tượng, "kết tập" (aggregation) khác "liên kết" (association) như thế nào?
A. Kết tập mô tả sở hữu yếu, association mô tả sở hữu mạnh
B. Kết tập mô tả sở hữu mạnh hơn association
C. Không khác gì nhau D. Kết tập yêu cầu cùng tồn tại vật lý
Q7: Thành phần nào dưới đây thuộc mô hình nghiệp vụ? A. Lớp (Class) B. Use Case nghiệp vụ C. Deployment Diagram
D. Mã nguồn chương trình
Q8: Ai là người chủ yếu chịu trách nhiệm cung cấp thông tin để xây dựng mô hình nghiệp vụ? A. Lập trình viên
B. Quản trị hệ thống C. Người dùng cuối và chuyên gia nghiệp vụ D. Kiểm thử viên
Q9: Business Modeling được sử dụng nhiều nhất trong giai đoạn nào của vòng đời phát triển hệ thống? A. Thiết kế chi tiết B. Phân tích yêu cầu C. Triển khai hệ thống D. Bảo trì hệ thống
Q10: Đối tượng nào thường chịu trách nhiệm thu thập và phân tích yêu cầu? A. Lập trình viên
B. Phân tích viên hệ thống C. Quản trị mạng D. Người kiểm thử
Q11: "Primary Actor" trong Use Case Analysis là gì?
A. Người trực tiếp nhận giá trị từ hệ thống B. Người đứng ngoài hệ thống C. Hệ thống máy chủ
D. Cơ sở dữ liệu backend
Q12: Trong mô hình lớp phân tích, lớp Control chịu trách nhiệm gì?
A. Xử lý luồng điều khiển và nghiệp vụ
B. Chỉ lưu trữ dữ liệu
C. Giao tiếp người dùng
D. Tương tác cơ sở dữ liệu trực tiếp
Q13: Người ta muốn xây dựng chức năng đăng nhập trên app mobile. Như vậy họ cần viết ra giao diện đồ hoạ
trong đó cho phép người dùng nhập username, password, nhấn nút Login hoặc nhấn nút Forgot password.
Người phát triển cần khai báo lớp đại diện cho bảng Account trong CSDL của phía server. Người phát triển lOMoARcPSD| 45315597
cũng cần khai báo lớp cài đặt các chức năng như: validate username và password, gửi https request đến server
(ngoài các thông tin username, password còn có các thông tin khác như DeviceID, screensize, timestamp…),
nhận dữ liệu từ server trả về, chuyển sang màn hình trang chủ nếu đăng nhập thành công, báo lỗi nếu server
không cho đăng nhập… Vậy các đáp án dưới đây thì đáp án nào đúng?
A. Lớp đại diện cho một tài khoản Account là lớp thuộc nhóm boundary
B. Lớp đại diện cho một tài khoản Account là lớp thuộc nhóm control
C. Lớp đại diện cho một tài khoản Account là lớp thuộc nhóm entity
D. Lớp đại diện cho một tài khoản Account là lớp thuộc cả nhóm control và boundary
E. Tất cả đáp án còn lại đều sai
Q14: Yếu tố nào sau đây thuộc về yêu cầu phi chức năng cần xét khi thiết kế kiến trúc? A. Xử lý nghiệp vụ
B. Tính mở rộng (scalability)
C. Chức năng tìm kiếm dữ liệu D. Chức năng gửi email
Q15: Trong thiết kế hệ thống, thuật ngữ "interface" đề cập đến gì?
A. Phần giao diện người dùng
B. Cách các thành phần hệ thống tương tác với nhau C. Một đoạn mã HTML
D. Tên gọi phần mềm giao tiếp
Q16: Một hệ thống có kiến trúc loose coupling (kết nối lỏng) có lợi điểm gì?
A. Thành phần phụ thuộc mạnh vào nhau
B. Thay đổi một thành phần không ảnh hưởng lớn đến thành phần khác
C. Tốc độ xử lý cao hơn mọi lúc
D. Phụ thuộc hoàn toàn vào hệ điều hành
Q17: Một Use Case thường mô tả điều gì?
A. Giao diện đồ họa B. Một tập hợp các đối tượng C. Một chức năng hoặc kịch bản mà hệ thống cung
cấp cho người dùng D. Một sơ đồ mạng
Q18: "Include" trong Use Case Diagram mô tả điều gì?
A. Một Use Case chính bao gồm một Use Case phụ
B. Một Use Case được thực hiện song song
C. Một Use Case độc lập D. Một Use Case thay thế
Q19: Một Use Case tốt cần đáp ứng tiêu chí nào sau đây?
A. Mô tả chi tiết mọi tình huống kỹ thuật
B. Mô tả từ góc nhìn người dùng, rõ ràng và có thể kiểm chứng
C. Chỉ liệt kê các API kỹ thuật
D. Tập trung vào giao diện người dùng
Q20: "Postconditions" trong Use Case có vai trò gì?
A. Xác định trạng thái hệ thống sau khi hoàn thành Use Case
B. Ghi nhận lỗi hệ thống C. Triển khai
chương trình thực tế D. Lưu trữ các đối tượng tạm thời
Q21: Một lớp trong thiết kế hệ thống chứa những gì?
A. Chỉ dữ liệu B. Chỉ hành vi C. Dữ liệu và hành vi D. Các bảng cơ sở dữ liệu
Q22: "High Cohesion" trong thiết kế lớp có nghĩa là gì?
A. Lớp thực hiện nhiều nhiệm vụ không liên quan
B. Lớp tập trung vào một chức năng chính
C. Lớp có rất nhiều thuộc tính
D. Lớp phụ thuộc vào nhiều lớp khác
Q23: Trong UML, mối quan hệ "Aggregation" giữa hai lớp mô tả điều gì?
A. Một lớp kế thừa lớp khác
B. Một lớp bị ràng buộc tuyệt đối với lớp khác
C. Một lớp là thành phần hợp thành của lớp khác, nhưng tồn tại độc lập
D. Một lớp điều khiển tất cả hành động của lớp kia
Q24: Tại sao nên thiết kế lớp có "High Cohesion" và "Low Coupling"?
A. Để tăng số lượng đối tượng trong hệ thống
B. Để hệ thống dễ bảo trì, dễ mở rộng
C. Để đơn giản hóa giao diện người dùng
D. Để tối ưu hóa lưu trữ dữ liệu
Q25D: Một Use Case tốt nên có đặc điểm gì?
A. Ngắn gọn, rõ ràng, tập trung vào hành vi người dùng B. Càng dài càng tốt
C. Miêu tả chi tiết giao diện
D. Tập trung vào các chi tiết kỹ thuật lOMoARcPSD| 45315597
Q26: Trong thiết kế Use Case, Extension Points là gì?
A. Các điểm kết thúc Use Case
B. Các vị trí nơi các luồng mở rộng có thể gắn vào luồng chính
C. Các điểm giao tiếp hệ thống D. Các lỗi hệ thống
Q27: Postconditions mô tả điều gì? A. Các bước trung gian
B. Các đối tượng giao diện
C. Các lỗi hệ thống tiềm ẩn
D. Trạng thái hệ thống sau khi hoàn tất Use Case
Q28: Actor có thể tương tác với bao nhiêu Use Case? A. Chỉ 1
B. Bất kỳ số lượng nào C. Tối đa 3 D. Tối đa 5
Q29: Mục tiêu chính của việc phân chia hệ thống thành các subsystem là gì?
A. Giảm thời gian kiểm thử
B. Tăng độ phức tạp hệ thống C. Dễ dàng quản lý, phát triển và bảo trì
D. Giảm chi phí phần cứng
Q30: Khi thiết kế subsystem, yếu tố nào nên được ưu tiên?
A. Kết nối chặt chẽ giữa các subsystem
B. Tách biệt tối đa các subsystem với nhau C. Tăng số lượng subsystem không giới hạn
D. Gộp toàn bộ chức năng vào một subsystem
Q31: Tại sao việc phân chia subsystem theo tính biến đổi (volatility) lại quan trọng?
A. Để dễ phát hiện lỗi
B. Để giảm khả năng mở rộng hệ thống
C. Để tăng chi phí kiểm thử
D. Để cô lập thay đổi và giảm ảnh hưởng dây chuyền
Q32: Tại sao cần hạn chế số lượng giao tiếp trực tiếp giữa các subsystem?
A. Để dễ dàng thay đổi subsystem mà không ảnh hưởng subsystem khác
B. Để tăng độ gắn kết hệ thống
C. Để giảm chi phí phần cứng D. Để tăng tốc độ lập trình
Q33: Một thuộc tính (Attribute) trong lớp biểu thị điều gì? A. Hành động của lớp
B. Dữ liệu hoặc trạng thái của đối tượng
C. Một cơ sở dữ liệu phụ
D. Một giao diện đồ họa
Q34: Trong thiết kế lớp, mối quan hệ "Aggregation" có đặc điểm gì?
A. Một lớp có thể tồn tại độc lập với lớp chứa nó
B. Sự kết hợp chặt chẽ sống/chết cùng nhau C. Hai
lớp hoàn toàn tách biệt
D. Một lớp điều khiển mọi hành vi của lớp khác
Q35: Tại sao cần áp dụng nguyên tắc "Single Responsibility" khi thiết kế lớp?
A. Để lớp dễ bảo trì và thay đổi khi yêu cầu thay đổi
B. Để lớp thực hiện nhiều chức năng cùng lúc
C. Để tăng sự phụ thuộc giữa các lớp
D. Để giảm tốc độ lập trình
Q36: Khi nào nên sử dụng Interface thay vì Abstract Class?
A. Khi cần cài đặt nhiều phương thức chung
B. Khi cần định nghĩa hành vi mà nhiều lớp khác nhau có thể thực hiện
C. Khi cần kế thừa dữ liệu
D. Khi cần giảm số lượng lớp
Q37: Mục tiêu chính của thiết kế cơ sở dữ liệu là gì?
A. Giảm thời gian lập trình
B. Bảo đảm dữ liệu được lưu trữ chính xác và truy xuất hiệu quảC. Tối ưu hóa giao diện
người dùng D. Thiết kế hệ thống mạng
Q38: với biểu đồ lớp dưới đây, đâu là phát biểu sai?
A. Một Course có thể không có Course điều kiện tiên quyết B. Một Student có thể không có Schedule nào
C. Một Professor có thể không có CourseOffering nào cả
D. Một CourseOffering có thể không có Professor đăng ký cả
E. Một Schedule có thể có từ 1 đến 2 khoá học làm khoá học bắt buộc (primary)F. Một Professor chỉ có thể dạy tối đa một Course lOMoARcPSD| 45315597 Q39:
Thành phần nào dưới đây KHÔNG phải là yếu tố của kiến trúc hệ thống?
A. Thành phần phần mềm (components)
B. Giao diện lập trình ứng dụng (API)
C. Yêu cầu phi chức năng
D. Nội dung quảng cáo sản phẩm
Q40: Người ta muốn xây dựng chức năng đăng nhập trên app mobile. Như vậy họ cần viết ra giao diện đồ hoạ
trong đó cho phép người dùng nhập username, password, nhấn nút Login hoặc nhấn nút Forgot password.
Người phát triển cần khai báo lớp đại diện cho bảng Account trong CSDL của phía server. Người phát triển
cũng cần khai báo lớp cài đặt các chức năng như: validate username và password, gửi https request đến server
(ngoài các thông tin username, password còn có các thông tin khác như DeviceID, screensize, timestamp…),
nhận dữ liệu từ server trả về, chuyển sang màn hình trang chủ nếu đăng nhập thành công, báo lỗi nếu server
không cho đăng nhập… Vậy các đáp án dưới đây thì đáp án nào đúng?
A. Lớp thực hiện xác thực dữ liệu người dùng nhập vào là lớp thuộc nhóm boundary
B. Lớp thực hiện xác thực dữ liệu người dùng nhập vào là lớp thuộc nhóm control
C. Lớp thực hiện xác thực dữ liệu người dùng nhập vào là lớp thuộc nhóm entity
D. Lớp đại diện cho giao diện đồ hoạ là lớp thuộc cả nhóm entity và boundaryE. Tất cả đáp án còn lại đều sai
ĐỀ THI GIỮA KỲ MÔN PTTKHT - KỲ 20242 NGÀY 13/06 - TC 312 LỚP 157517 IT 3120 THỜI GIAN 60 PHÚT
Q1: Theo em đâu là phát biểu đúng về mối quan hệ của giao diện ở ngôn ngữ Java: A. Các giao
diện có thể có quan hệ kế thừa (inheritance)
B. Lớp có thể kế thừa giao diện (quan hệ inheritance).
C. Lớp có thể kết tập bên trong giao diện (quan hệ aggregation).
D. Giao diện không thể kết tập bên trong lớp (quan hệ aggregation).
E. Lớp không thể cài đặt giao diện (quan hệ implement).
Q2: Trong UML, biểu đồ nào thường được dùng để mô tả hành vi động của hệ thống? A. Class Diagram B. Sequence Diagram C. Deployment Diagram D. Component Diagram E. Tất cả đều sai
Q3: Trong các loại biểu đồ UML, biểu đồ nào phù hợp nhất để mô tả cách các thành phần vật lý được phân phối trong hệ thống? A. Activity Diagram B. Class Diagram C. Deployment Diagram D. Use Case Diagram E. Tất cả đều sai
Q4: Theo em đâu là phát biểu đúng
A. Nếu hai lớp ở hai hệ thống con thì chúng không được có quan hệ phụ thuộc dạng <> lOMoARcPSD| 45315597
B. Nếu hai lớp ở hai hệ thống con thì chúng không được có quan hệ phụ thuộc dạng <>C.
Nếu hai lớp ở hai hệ thống con thì chúng không được có quan hệ phụ thuộc dạng <>
D. Nếu hai lớp ở hai hệ thống con thì chúng không được có quan hệ phụ thuộc dạng <>.
Q5: Một "tổng quát hóa" (generalization) trong UML Usecase dùng để mô tả mối quan hệ nào?
A. Tất cả các đáp án khác đều sai
B. Quan hệ kế thừa giữa lớp cha và lớp con
C. Quan hệ cộng tác giữa đối tượng
D. Quan hệ chia sẻ thuộc tính
E. Quan hệ giữa hành vi và giao diện F. Tất cả đều sai
Q6: "Composition" trong UML được đặc trưng bởi điều gì?
A. Quan hệ hợp tác lỏng lẻo
B. Quan hệ sở hữu mạnh, sống-chết cùng nhau
C. Quan hệ phản hồi tuần tự
D. Quan hệ chỉ tồn tại lúc runtime
Q7: Một lợi ích lớn của việc xây dựng mô hình nghiệp vụ là gì?
A. Giảm thời gian lập trình
B. Giảm chi phí mua phần cứng
C. Làm rõ quy trình kinh doanh và xác định điểm cải tiến D. Làm tăng kích thước cơ sở dữ liệu Q8: Trong
mô hình hóa nghiệp vụ, "actor" là gì?
A. Một đối tượng vật lý trong hệ thống B. Một lớp lập trình
C. Một bảng cơ sở dữ liệu
D. Một vai trò tương tác với quy trình nghiệp vụ
Q9: Trong một Business Use Case Diagram, mối quan hệ "include" mô tả điều gì?
A. Một hành vi bắt buộc được sử dụng chung
B. Một hành vi mở rộng tùy chọn C. Một hành vi thay thế
D. Một hành vi loại trừ
Q10: Sự khác biệt giữa "Essential Use Case" và "Concrete Use Case" là gì?
A. Concrete Use Case mang tính trừu tượng hơn
B. Essential Use Case tập trung vào bản chất, không quan tâm giao diện
C. Essential Use Case có chi tiết kỹ thuật
D. Không có sự khác biệt
Q11: Trong phân tích hệ thống, biểu đồ nào thường dùng để mô tả chức năng hệ thống? A. Deployment Diagram
B. Business Object Diagram C. Use Case Diagram D. Component Diagram E. Tất cả đều sai
Q12: Khi mô hình hóa Use Case, mối quan hệ "extend" thể hiện điều gì?
A. Một chức năng bắt buộc phải thực hiện
B. Một chức năng được thực hiện song song
C. Một chức năng thay thế
D. Một chức năng tùy chọn mở rộng cho Use Case chính
Q13: Trong thiết kế kiến trúc, mô hình nhiều lớp (multi-layered architecture) thường gồm những lớp nào?
A. Giao diện người dùng, lớp xử lý nghiệp vụ, lớp dữ liệu B. Lớp mạng, lớp ứng dụng, lớp vật lý C. Lớp
báo cáo, lớp điều khiển, lớp giao tiếp
D. Lớp lưu trữ, lớp bảo mật, lớp trình diễn Q14: Một kiến trúc
phần mềm tốt cần thỏa mãn điều kiện nào dưới đây?
A. Phức tạp để khó sao chép
B. Linh hoạt, mở rộng được và dễ bảo trì C. Càng ít lớp càng tốt
D. Phụ thuộc vào nền tảng cụ thể
E. Tất cả đều sai Q15: Hãy chọn phương án đúng: A.
Hai thông điệp đầu tiên là khách
hàngthêm hàng vào đơn hàng B.
Tất cả các đáp án còn lại đều sai C. Thông điệp thứ 4 và 5
(checkAvailablevà return done) là sự kiểm
tra tình trạng có sẵn trong kho của đơn hàng. D.
Ba thông điệp cuối cùng là kiểm tra
nếucó hàng thì cộng vào đơn hàng E. Tất cả đều sai
Q16: Một trong những mục tiêu chính khi xác định các Subsystem trong thiết kế kiến trúc là gì? lOMoARcPSD| 45315597
A. Tạo ra hệ thống nhiều lớp mạng
B. Giảm số lượng lập trình viên cần thiết
C. Tăng chi phí phát triển hệ thống D. Phân chia hệ thống thành các đơn vị quản lý dễ dàng hơn Q17: Chọn phát biểu đúng A. Lớp Cash không thể
truyềnthông điệp trực tiếp đến Person được B. Lớp Transaction không
thểtruyền thông điệp đến với Cash
C. Lớp Account có quan hệ <> với Person và
vai trò của Person là <>. D.
Lớp Transaction có quan hệ <> với Product và vai trò của Product là <> E. Tất cả đều sai
Q18: Khi mô tả Use Case, luồng chính (Main Flow) là gì?
A. Luồng xử lý tất cả các trường hợp ngoại lệ
B. Luồng các bước thực hiện bình thường thành công
C. Luồng phản hồi lỗi từ hệ thống
D. Luồng giao diện đồ họa
Q19: Actor phụ (Secondary Actor) là gì trong một Use Case?
A. Actor chính tương tác đầu tiên với hệ thống
B. Actor giám sát hệ thống
C. Actor hỗ trợ để Use Case hoàn thành
D. Actor dùng để thay thế Actor chính
Q20: Tại sao việc phân tích kỹ lưỡng các Use Case lại giúp ích cho kiểm thử phần mềm sau này?
A. Vì Use Case tạo tài liệu hướng dẫn sử dụng
B. Vì Use Case cung cấp cấu trúc cơ sở dữ liệu C. Vì
Use Case mô tả chi tiết các thuật toán
D. Vì Use Case định nghĩa các kịch bản để viết test case Q21:
Theo em phát biểu nào là đúng A. Tất cả đều đúng B.
Trong biểu đồ lớp, các
commentlà những thứ không cần phải đặt tên C. Các quan hệ association bắtbuộc phải có tên D.
Các quan hệ Tổng quát hoá
làcác quan hệ không cần có tên E. Các quan hệ Dependency
khôngcần được đặt tên
Q22: "Low Coupling" giữa các lớp trong hệ thống nhằm mục đích gì?
A. Làm hệ thống phức tạp hơn
B. Tăng khả năng tái sử dụng và bảo trì
C. Giảm hiệu suất hệ thống
D. Giảm số lượng lớp cần thiết
Q23: Trong thiết kế hệ thống, "Generalization" mô tả gì?
A. Một lớp sử dụng lớp khác
B. Một đối tượng chứa đối tượng khác
C. Một lớp kế thừa từ lớp trừu tượng D. Một quy trình nhập liệu Q24: Khi thiết kế
hệ thống, Dependency Injection hỗ trợ nguyên tắc nào? A. High Cohesion B. Tight Binding C. High Coupling D. Low Coupling
Q25: Sự khác biệt giữa Include và Extend trong Use Case là gì?
A. Include tái sử dụng, Extend thêm hành vi tùy chọn
B. Include mở rộng hành vi, Extend tái sử dụng
C. Include và Extend giống hệt nhau D. Include dành cho Actor, Extend dành cho System Q26: Actor trong
thiết kế Use Case là gì?
A. Một phần mềm hỗ trợ
B. Một vai trò tương tác với hệ thống
C. Một phần giao diện đồ họa D. Một bảng dữ liệu
Q27: Người ta muốn xây dựng chức năng đăng nhập trên app mobile. Như vậy họ cần viết ra giao diện đồ hoạ
trong đó cho phép người dùng nhập username, password, nhấn nút Login hoặc nhấn nút Forgot password.
Người phát triển cần khai báo lớp đại diện cho tài khoản Account. Người phát triển cũng cần khai báo lớp cài lOMoARcPSD| 45315597
đặt các chức năng như: validate username và password, gửi https request đến server (ngoài các thông tin
username, password còn có các thông tin khác như DeviceID, screensize, timestamp…), nhận dữ liệu từ server
trả về, chuyển sang màn hình trang chủ nếu đăng nhập thành công, báo lỗi nếu server không cho đăng nhập…
Vậy các đáp án dưới đây thì đáp án nào đúng?
A. Người phát triển cần viết ra lớp đại diện tài khoản và trong lớp đó có hàm xác thực dữ liệu
B. Người phát triển cần viết ra lớp đại diện tài khoản và trong lớp đó có hàm gửi HTTP request đến serverC.
Tất cả các đáp án còn lại đều sai
D. Người phát triển cần viết ra lớp đại diện tài khoản và trong lớp đó có hàm nhận dữ liệu từ server trả về
E. Tất cả các hàm ở các đáp án đều cần có trong lớp đại diện tài khoản
F. Người phát triển cần viết ra lớp đại diện tài khoản và trong lớp đó có hàm đổi màu nút Login nếu
ngườidùng bắt đầu nhập dữ liệu vào ô username và password
G. Người phát triển cần viết ra lớp đại diện tài khoản và trong lớp đó có hàm đổi màu nút Login nếu
ngườidùng bắt đầu đè tay lên nút Login
H. Người phát triển cần viết ra lớp đại diện tài khoản và trong lớp đó có hàm kiểm tra kết nối mạng của thiết
bịQ28: Người ta tổ chức sân chơi cho các bé vào tham gia chơi. Sân chơi (Playground) có nhiều phòng
chơi (Room), mỗi phòng chơi chỉ có chứa tối đa 5 trẻ (Child). Các trẻ sau khi vào mua vé (Ticket) vào được
phép chọn lựa các phòng chơi nhất định. Nếu muốn chơi nhiều hơn số lượng phòng chơi đã xác định thì
bố mẹ của bé (hoặc người giám hộ) phải trả thêm tiền. Hiện nay mỗi trẻ sau khi mua vé vào thì được phép chơi tối đa 7 phòng.
Hãy xác định phát biểu nào đúng về liên kết giữa các đối tượng như sau:
A. Mỗi đối tượng Room có liên kết đến một vài đối tượng Playground
B. Mỗi đối tượng Room có liên kết đến tối đa 2 đối tượng Ticket
C. Mỗi đối tượng Playground có liên kết đến tối đa 7 đối tượng Room
D. Mỗi đối tượng Room có liên kết đến tối đa 5 đối tượng Child.
Q29: Trong UML, subsystem thường được biểu diễn dưới dạng gì? A. Một package B.Một class C. Một node D. Một actor E. Tất cả đều sai
Q30: Giao diện (interface) của subsystem nên được thiết kế như thế nào?
A. Càng nhiều phương thức càng tốt B. Càng đơn giản, rõ ràng càng tốt C. Ẩn toàn bộ chức năng
D. Không cần thiết kế giao diện subsystem
Q31: Khi subsystem có mức kết dính nội bộ cao (high cohesion) thì điều gì xảy ra?
A. Subsystem khó bảo trì hơn
B. Subsystem cần nhiều giao tiếp mạng
C. Subsystem dễ hiểu, dễ bảo trì và dễ mở rộng
D. Subsystem cần nhiều Actor hơn Q32:
Subsystem nên được phân chia dựa trên điều gì?
A. Theo các module giao diện người dùng
B. Theo vị trí địa lý hoặc theo thời điểm bắt đầu cài đặt C. Theo nhóm phát triển
D. Theo các chức năng nghiệp vụ chính Q33:
Hãy chọn đáp án đúng khi biểu
diễn trên biểu đồ cộng tác: A. Co_op và Company có
thểcó mối quan hệ phụ thuộc dạng <>. B. Section và
CourseSchedulecó mối quan hệ phụ thuộc dạng <> C. Student có mối quan hệ
phụthuộc dạng <> đến chính nó D. CourseSchedule và
Co_opcó mối quan hệ phụ thuộc dạng <> E. Tất cả đều sai
Q34: Sự khác biệt giữa Aggregation và Composition là gì? A. Không có khác biệt
B. Aggregation có quan hệ yếu hơn Composition
C. Aggregation yêu cầu cùng tồn tại D. Composition cho phép các đối tượng độc lập Q35: “Dependency
Inversion Principle" (DIP) khuyến khích điều gì trong thiết kế lớp?
A. Lớp cấp thấp phụ thuộc vào lớp cấp cao
B. Các lớp phụ thuộc trực tiếp vào nhau lOMoARcPSD| 45315597
C. Lớp cấp cao và lớp cấp thấp phụ thuộc vào abstraction
D. Các lớp cấp thấp điều khiển toàn bộ chương trình
E. Tất cả đều sai Q36: Nguyên lý
"Liskov Substitution Principle" (LSP) yêu cầu gì?
A. Một lớp cha phải kế thừa lớp con B. Tất cả đều sai
C. Một lớp con không cần thực hiện đầy đủ các hành vi của lớp cha
D. Một lớp con có thể thay đổi hành vi lớp cha một cách tự do
E. Một lớp con có thể thay thế lớp cha mà không làm thay đổi hành vi mong đợi của chương trìnhQ37: Trong
mô hình quan hệ, dữ liệu được tổ chức dưới dạng nào? A. Bảng (Tables) B. Đồ thị C. Cây D. Dòng mã lệnh E. Tất cả đều sai
Q38: Khi thiết kế cơ sở dữ liệu, điều nào sau đây cần được xác định đầu tiên? A. Giao diện người dùng
B. Các bảng dữ liệu và mối quan hệ giữa chúng
C. Các quy tắc lập trình D. Thiết kế báo cáo
Q39: Kỹ thuật "Indexing" trong cơ sở dữ liệu có tác dụng gì?
A. Làm chậm quá trình tìm kiếm
B. Tăng kích thước file dữ liệu
C. Tăng tốc độ truy vấn dữ liệu
D. Xóa dữ liệu dư thừa
Q40: Một nhân viên của công ty an ninh được phân loại là bảo vệ hoặc vệ sĩ. Nếu là bảo vệ thì họ chỉ được
trông các nhà hàng, khách sạn, nhà kho. Mỗi địa điểm trên có từ 7 đến 12 người bảo vệ. Các vệ sĩ chỉ đi trông
các yếu nhân. Mỗi yếu nhân cần có từ 3 đến 9 người vệ sĩ. Mọi nhóm bảo vệ và vệ sĩ đều có trưởng nhóm
bảo vệ và trưởng nhóm vệ sĩ. Người ta xây dựng phần mềm xét thưởng cuối năm và các trưởng nhóm sẽ có
mức thưởng lớn hơn nhân viên bình thường; nếu cùng làm tốt công việc thì trưởng nhóm vệ sĩ sẽ được thưởng cao hơn.
Hãy xác định phát biểu nào đúng nhất về thiết kế của các lớp đại diện cho các đối tượng
A. Lớp bảo vệ có kế thừa lớp vệ sĩ
B. Lớp trưởng nhóm vệ sĩ có kế thừa lớp bảo vệ
C. Lớp bảo vệ và lớp trưởng nhóm vệ sĩ sẽ cùng cài đặt chung một giao diện. Lớp vệ sĩ và lớp trưởng
nhómbảo vệ sẽ cài đặt chung một giao diện khác
D. Lớp trưởng nhóm kế thừa lớp nhân viên và trưởng nhóm bảo vệ sẽ cài đặt chung giao diện với lớp bảo vệ. E. Tất cả đều sai
ĐỀ THI GIỮA KỲ MÔN PTTKHT - KỲ 20242 NGÀY 13/06 - TC 312 LỚP 157517 IT 3120 THỜI GIAN 60 PHÚT Q1 Chọn câu trả lời sai
A. Ghế ngồi có đặc trưng về việc dànhcho loại thương gia.
B. Có hai loại số hiệu chuyến bay
C. Một loại máy bay có thể được gánnhiều số hiệu
D. Trên máy bay có thể không có ghếngồi nào
E. Mỗi số hiệu chuyến bay chỉ có
nhiềunhất là thuộc về một loại máy bay F. Tất cả đều sai
G. Từ A đến E không có câu trả lời nào sai
Q2: Khác biệt chính giữa phân tích hệ thống và thiết kế hệ thống là gì?
A. Phân tích lập trình hệ thống, thiết kế kiểm thử
B. Phân tích xác định yêu cầu, thiết kế xác định giải pháp C. A và B đúng
D. Phân tích cài đặt phần mềm, thiết kế bảo trì hệ thống E. D và F đúng
F. Phân tích tạo giao diện người dùng, thiết kế viết tài liệu hướng dẫn G. Tất cả đều sai
Q3: Khi thiết kế hệ thống, đâu là mục tiêu chính cần đạt được?
A. Mô hình hóa hệ thống dưới dạng tài liệu hướng dẫn sử dụng
B. Mô hình hóa hệ thống để trình diễn marketing lOMoARcPSD| 45315597
C. Mô hình hóa hệ thống đủ chi tiết để chuyển sang lập trình D. A và C đúng
E. Mô hình hóa hệ thống để kiểm tra tính hợp lệ của yêu cầu khách hàng F. Tất cả đều sai
Q4: Đặc trưng chính của mô hình hóa hướng đối tượng là gì?
A. Chỉ tập trung vào dữ liệu
B. Tập trung vào cơ sở dữ liệu C. A và B đúng
D. Tập trung vào giao diện người dùng E. Tập trung vào các đối tượng và mối quan hệ giữa chúng Q5:
Một lớp được mô tả là tập các đối tượng chia xẻ cùng các:
A. Attributes, operations and relationships (mối quan hệ) B. A và C đúng
C. Identity(đặc tính), behaviour and state (trạng thái) D. C và E đúng
E. Attributes (thuộc tính), behaviour (hành vi) and operations (hành động) F. E và G đúng
G. Relationships, operations and multiplicity (bản số) H. Tất cả đều sai
Q6: Mô hình hóa hướng đối tượng ưu tiên quản lý những gì?
A. Quản lý dữ liệu trong cơ sở dữ liệu
B. Quản lý hành vi và trạng thái của đối tượng
C. Quản lý hệ thống mạng
D. Quản lý báo cáo người dùng
Q7: Biểu đồ nào dùng phổ biến trong mô hình hóa nghiệp vụ? A. Class Diagram B. Sequence Diagram C. Business Use Case Diagram D. Deployment Diagram E. Tất cả đều sai
Q8: Business Use Case và System Use Case khác nhau chủ yếu ở đâu? A. Loại actor tương tác
B. Loại biểu đồ sử dụng C. Ngôn ngữ lập trình D. Phạm vi mô tả E. Tất cả đều sai
Q9: Một Use Case bao gồm những thành phần chính nào?
A. Tên, tác nhân liên quan, luồng sự kiện
B. Mã nguồn chương trình C. Sơ đồ kiến trúc
mạng D. Các thiết bị phần cứng liên quan
Q10: Khi mô hình hóa quy trình nghiệp vụ, một "Business Worker" là gì?
A. Một tác nhân ngoài hệ thống B. Một vai trò chịu trách nhiệm thực hiện một phần quy trình nghiệp vụ
C. Một yêu cầu khách hàng
D. Một thiết bị máy tính hỗ trợ xử lý nghiệp vụ
Q11: Khi phân tích hệ thống, mục đích chính của mô hình hóa các lớp phân tích (Analysis Classes) là gì?
A. Tối ưu hóa cơ sở dữ liệu
B. Tạo khuôn mẫu thiết kế phần mềm
C. Gắn kết chức năng với các đối tượng
D. Triển khai hệ thống thực tế
Q12: Trong quá trình phân tích, việc sử dụng mô hình phân tích hướng đối tượng chủ yếu nhằm:
A. Xác định cơ sở dữ liệu
B. Đảm bảo tốc độ hệ thống
C. Tạo sơ đồ vật lý hệ thống
D. Xây dựng mô hình hệ thống dễ hiểu, dễ thiết kế
Q13: Cụm từ tốt nhất để biểu diễn mới quan hệ tổng quát hoá là : A. "Is a kind of". B. "Is a part of" C. "Is a replica of" D. "Is composed of" E. Tất cả đều sai
Q14: Mô hình MVC (Model-View-Controller) là một ví dụ cho loại kiến trúc nào?
A. Kiến trúc client-server
B. Kiến trúc tầng (Layered Architecture) C. Kiến trúc phân tán
D. Kiến trúc dữ liệu tập trung
Q15: Lớp Business Logic (lớp xử lý nghiệp vụ) trong kiến trúc nhiều lớp thường chịu trách nhiệm gì? A. Hiển thị giao diện B. Lưu trữ dữ liệu
C. Thực hiện xử lý nghiệp vụ cốt lõi
D. Quản lý quyền truy cập E. Tất cả đều sai
Q16: Khi thiết kế kiến trúc phần mềm, quyết định về việc phân phối (deployment) hệ thống ảnh hưởng trực tiếp đến: A. Chức năng hệ thống
B. Phương pháp lập trình
C. Độ phức tạp của giao diện người dùng
D. Tính khả dụng (availability) và hiệu suất (performance) Q17: Trong
biểu đồ Use Case, đường nối giữa Actor và Use Case biểu thị điều gì?
A. Mối quan hệ giao tiếp (communication)
B. Thực hiện (realization) C. Kế thừa D. Giao diện người dùng E. Tất cả đều sai
Q18: Khi phân tích hệ thống, một lý do chính để tạo biểu đồ Use Case là gì?
A. Xác định sơ đồ mạng vật lý
B. Giúp định nghĩa và xác định phạm vi hệ thống
C. Lập trình thử nghiệm hệ thống
D. Triển khai các giao thức bảo mật E. Tất cả đều sai
Q19: Khi xác định Use Case, hành động nào nên được ưu tiên?
A. Tập trung vào giải pháp kỹ thuật
B. Tập trung vào tối ưu hóa mã nguồn
C. Tập trung vào nhu cầu và mục tiêu của người dùng
D. Tập trung vào bảo mật hệ thống
Q20: Khi một hệ thống lớn có rất nhiều Use Case, kỹ thuật nào thường được dùng để quản lý tốt hơn?
A. Tăng mức chi tiết mô tả cho từng Use Case để tránh thiếu sót
B. Sử dụng mô hình phân lớp (layered model) để tách biệt các chức năng
C. Liên kết trực tiếp Use Case với các giao diện người dùng để dễ theo dõi lOMoARcPSD| 45315597
D. Gom nhóm các Use Case theo mục tiêu nghiệp vụ vào các Subsystem hoặc PackagesQ21: Trong UML, lớp trừu tượng
(abstract class) thường được sử dụng để làm gì?
A. Mô tả hành vi chung cho các lớp con nhưng không định nghĩa chi tiết nội dung của các hành vi đó
B. Khởi tạo đối tượng trực tiếp trong hệ thống
C. Cấu trúc dữ liệu được tối ưu để thực hiện truy vấn nhanh hơn
D. Liên kết trực tiếp với lớp giao diện để tăng khả năng tái sử dụng
Q22: Khi thiết kế hệ thống, mối quan hệ giữa các lớp nên được thiết kế như thế nào? A. Càng nhiều càng tốt
B. Tối giản và chỉ khi cần thiết
C. Bất kỳ lớp nào cũng liên kết với bất kỳ lớp nào
D. Mỗi lớp chỉ có một liên kết duy nhất Q23: Sự
khác biệt giữa "Composition" và "Aggregation" là gì?
A. Composition là mối quan hệ lỏng, Aggregation là mối quan hệ chặt
B. Aggregation đòi hỏi sự sống còn của đối tượng phụ
C. Composition yêu cầu đối tượng thành phần phải sống cùng đối tượng cha
D. Không có sự khác biệt E. Tất cả đều
Q24: Một thiết kế hệ thống hướng đối tượng hiệu quả cần ưu tiên điều nào sau đây?
A. Mã nguồn khó đọc để tăng bảo mật
B. Các lớp đa chức năng để giảm số lượng lớp
C. Giao diện càng nhiều phương thức càng tốt, để giảm số lượng giao diện khai báo
D. Các lớp đơn nhiệm, dễ hiểu, và dễ kiểm thử E. Tất cả đều sai
Q25: Biểu đồ nào giúp hiển thị các khía cạnh Động liên quan đến một hệ thống? A. Biểu đồ trình tự B. Biểu đồ lớp C. A và B D. E và F E. Biểu đồ triển khai
F. Biểu đồ trường hợp sử dụng G. Tất cả đều sai
Q26: Một lợi ích của việc thiết kế Use Case chi tiết là gì?
A. Tăng số lượng lớp cần thiết
B. Cung cấp cơ sở vững chắc cho việc kiểm thử hệ thống
C. Làm tăng độ phức tạp hệ thống
D. Hạn chế sáng tạo trong lập trình Q27: Tại
sao cần phải xác định rõ các Alternative Flow trong Use Case?
A. Để đơn giản hóa hệ thống
B. Để giảm số lượng Actor
C. Để xử lý các trường hợp ngoại lệ và tình huống bất thường
D. Để mô tả cơ sở dữ liệu Q28: Khi
mô hình hóa Use Case, nên tránh điều gì sau đây?
A. Mô tả rõ ràng mục tiêu người dùng B. Phân biệt rõ luồng chính và luồng thay thế C. Xác định rõ các Actor
D. Viết Use Case như một hướng dẫn lập trình
Q29: Mục nào dưới đây không là mục tiêu của UML:
A. Coding. B. Visualizing C. A và B D. E và F E. Specifying F. Documenting G. C và D E. Tất cả đều sai
Q30: Mối quan hệ giữa các subsystem nên được kiểm soát như thế nào?
A. Tự do tạo liên kết trực tiếp B. Kiểm soát chặt chẽ, chỉ thông qua giao diện đã định nghĩa C. Tất cả
subsystem đều kế thừa lẫn nhau D. Không cần kiểm soát
Q31: "Facade Pattern" thường được sử dụng trong thiết kế subsystem nhằm mục đích gì?
A. Tăng số lượng lớp cần thiết
B. Tăng kết nối giữa các subsystem
C. Ẩn đi sự phức tạp bên trong subsystem và cung cấp giao diện đơn giản ra bên ngoài
D. Tối ưu hóa lưu trữ dữ liệu E. Tất cả đều sai
Q32: Việc tách subsystem giúp ích gì cho kiểm thử hệ thống?
A. Giảm khả năng phát hiện lỗi
B. Tăng chi phí kiểm thử
C. Làm cho kiểm thử phức tạp hơn
D. Giúp dễ kiểm thử độc lập từng phần E. Tất cả đều sai
Q33: Khi thiết kế lớp, nguyên lý "Encapsulation" (đóng gói) có ý nghĩa gì?
A. Ẩn dữ liệu nội bộ và chỉ cho phép truy cập thông qua phương thức
B. Công khai toàn bộ dữ liệu
C. Tăng tốc độ chương trình
D. Giảm chi phí phát triển
E. Che giấu các thuộc tính nguy hiểm F. A và C đúng G. D và A đúng H. Tất cả đều sai lOMoARcPSD| 45315597
Q34: Hãy chọn ra câu trả lời đúng
A. Có hai nhóm đối tượng của lớp
cụ thể User và Student tham gia làm bài kiểm tra B.
Mỗi câu hỏi được đảm nhận bởichỉ một Instructor. C.
Biểu đồ đã quy định Người
quảnlý khoá học và người dạy lớp
học bắt buộc phải là một D.
Một thể hiện của Answer có
thểđược tạo ra (trả lời) bởi nhiều Student khác nhau
Q35: Khi một lớp có mức độ Cohesion thấp, điều gì thường xảy ra?
A. Lớp dễ hiểu và dễ bảo trì
B. Lớp tối ưu hóa hiệu suất
C. Lớp có nhiều nhiệm vụ không liên quan, khó hiểu và khó bảo trì
D. Lớp dễ kiểm thử hơn E. Đáp án khác Q36:
Thiết kế lớp theo "Open/Closed Principle" nghĩa là gì?
A. Lớp phải luôn mở cho việc thay đổi trực tiếp
B. Lớp chỉ hoạt động với dữ liệu tĩnh
C. Lớp luôn được đóng hoàn toàn
D. Lớp nên mở để mở rộng nhưng đóng cho việc sửa đổi trực tiếp E. Tất cả
đều sai F. A và B đều đúng
Q37: Tính đa hình có thể được mô tả như là:
A. Che dấu nhiều cài đặt khác nhau dựa trên cùng một giao diện. B. C và E đúng
C. Các thuộc tính và phương thức khác nhau của các lớp con có cùng lớp cha D. Tất cả đều sai
E. Các lớp kết hợp (association class) vời ràng buộc {or} F. E và G đúng
G. Sự tổng quát hoá (Generalization) các lớp con thừa kế
H. Một lớp có thể có nhiều lớp cha
Q38: Sự kết hợp giữa tên của một thao tác (operation) và các tham số (parameter) của nó được xem là _____________ của thao tác đó. A. Arguments B. Signature. C. Responsibilities D. Attributes E. Đáp án khác
Q39: Trong các đối tượng sau đây, đối tượng nào chỉ gửi thông điệp đến các đối tượng cùng loại với nó: A. Đối tượng biên
B. Đối tượng điều khiển
C. Đối tượng thực thể. D. Tất cả đều sai E. A và B
F. Tất cả ba loại đối tượng đều chỉ gửi thông điệp đến đối tượng cùng loại với nó
G. Tất cả ba loại đối tượng đều có thể gửi thông điệp đến các đối tượng khác loại với nó
Q40: Một cách tiếp cận để tách một hệ thống thành các hệ thống con gọi là A. Thiết kế hệ thống B. Lập trình C. Quản lý dữ liệu D. Phân rã chức năng E. Tất cả đều sai