Thứ Sáu, 26 tháng 5, 2017

[Phân tích thiết kế hướng đối tượng] Đề cương ôn tập

I_Lý thuyết

Phân tích và thiết kế

Câu 1: Giai đoạn phân tích tập trung vào cái gì?
A. Chuyển các  yêu cầu chức năng thành code.
B. Chuyển các yêu cầu vào một  hệ thống thiết kế.
C. Chuyển các khái niệm trong thế giới thực vào giải pháp hướng đối tượng.
D. Chuyển những yêu cầu chức năng vào  các khái niệm phần mềm.

Câu 2: Ba Mục đích của phân tích và thiết kế?
A. Cung cấp một phạm vi tổ chức của hệ thống
B. Chuyển các yêu cầu thành một thiết kế hệ thống.
C. Để phát triển kiến trúc mạnh mẽ cho hệ thống.
D. Để giới hạn phạm vi hệ thống để xây dựng và mô tả những gì nó phải làm.
E. Để thích ứng với thiết kế phù hợp với môi trường thực hiện.



Phân tích kiến trúc

Câu 3: Chọn  3 nguồn cho nhận dạng Key Abstraction là gì?
A. Miền kiến thức (Domain Knowledge)
B. Yêu cầu (Requirements)
C. Các lớp thiết kế
D. Bảng thuât ngữ (glossary)

Câu 4: Mục đích của phân tích kiến trúc là gì?
A. Thiết kế chi tiết hệ thống.
B. Để xem lại kiến trúc hệ thống
C. Để đinh nghĩa một kiến trúc ứng cử cho hệ thống.
D. Để định nghĩa một tầng cho kiến trúc

Câu 5: Trong phân tích kiến trúc, kiến trúc sư phần mềm muốn làm giảm độ phức tạp của hệ thống  trong công việc và cải thiện tính nhất quán của nó. Kiến trúc sư phần mềm cần làm gì?
A. Quy tắc lập trình
B. Hiện thực hóa use-case
C. Cơ chế phân tích ( analysis machanisms)
D. Cơ chế thiết kế (Design machanisms)

Câu 6: Ba cơ chế kiến trúc là gì?
A. Cơ chế phân tích.
B. Cơ chế yêu cầu.
C. Cơ chế thực hiện ( Implementation machanisms)
D. Cơ chế thiết kế.

Câu 7: View nào tập trung hiện thực vật lý của hệ thống?
A. Logical view
B.Implemention View
C. Process view
D. use-case view

Câu 8:View nào không phải là một phần của RUP 4+1 mô hình view?
A. Logical view
B. Distribution view ( View phân tán)
C. Use-case view
D. Process view

Câu 9: Câu nào đúng về các patterns?
A. Patterns chỉ tồn tại ở mức thiết kế.
B. Patterns cung cấp một giải pháp chung cho một vấn đề chung.
C. Patterns chỉ tồn tại ở mức Kiến trúc.
D. Patterns chỉ sử dụng trong suốt pha xây dựng.

Câu 10: Tầng kiến trúc  thường mô hình trong UML sử dung một 
A. pakage sterotyped <<layed>>
B. subsystem sterotyped<<layed>>
C. composite sterotyped<<layed>>
D. class diagram entitied Layed.


Use case Analysis

Câu 11: Lớp phân tích ( analysis classes) là cái gì?
A. Những phỏng đoán sớm về thành phần của hệ thống thường thay đổi qua thời gian, hiếm khi tồn tại còn nguyên vẹn trong quá trình thực hiện
B. Các lớp không đầy đủ đòi hỏi một lập trình viên phải chính thức hóa các viết cá hàm và loại thuộc  tính trước khi thực hiện
C. Các lớp bên trong một hệ thống các đối tương kinh doanh hoặc mô hình miền, dạng UML.
D. Một nguyên mẫu của một giao diện  người dùng hệ thống, được phát triển trong giai đoạn phân tích, cho phép người dùng xác định hệ thống nhìn và cảm nhận

Câu 12: Một kiến trúc sư có trách nhiệm tạo ra một mô hình phân tích cho một hệ thống. Để tạo ra mô hình này cần tập trung vào khu vực nào?
A. Phần cứng nơi mà hệ thống được triển khai.
B. Hành vi của các đối tượng bao gồm hệ thống.
C. Sự phát triển của hệ thống phân tích vào hệ thống thiết kế.
D.  Yêu cầu về hiệu năng của hệ thống.

Câu 13: Câu hai câu hỏi nào sử dụng vô số trong mối quan hệ cho phép bạn trả lời.
A. Mối quan hệ có bắt buộc hay không?
B. Có bao nhiêu liên kết một đối tượng của một loại duy trì với các đối tượng loại khác?
C. Có phải một đối tượng thuộc một kiểu nhất định tương tác với đối tượng loại khác?
D. Mối liên hệ giữa đối tượng vĩnh cửu hay tạm thời?


Câu 14: Hai câu nào sau đây đúng về hiện thực hóa use-case:
A. Nó liệt kê các bước thực hiện bởi một use-case.
B. Nó cung cấp truy nguyên nguồn gốc từ phân tích và thiết kế trở về yêu cầu.
C. Nó được tạo bởi nhà phân tích hệ thống.
D. Nó mô tả use-case trong các mối quan hệ hợp  tác các đối tượng.


Câu 15: Trong phân tích use-case, những gì thường được phân  bổ cho kiểm soát các classes?
A. Hành vi cụ thể cho một use-case hoặc một phần của một luồng sự kiện rất quan trọng
B. Hành vi liên quan đến dữ liệu đóng gói trong sự trừu tượng.
C. Hành vi liên quan đến giao tiếp với một actor.
D. Hành vi liên quan đến quy tắc kinh doanh hoặc luồng sự kiện.

Câu 16: Trong phân tích use-case, nên sử dụng một thuộc tính thay vì một lớp khi thông tin...?
A. Được truy cập bởi các phương thức chỉ  get, set, hay thực hiện các phép toán đơn giản.
B. Liên quan đến các thực thể kinh doanh hoặc miền mô hình
C. Cân phải được giấu ở một phần mô hình phân tích và không chia sẻ.
D. Được gọi đến và sử dụng nhiều lần trong hiện thực hóa use-case.

Câu 17: Trong phân tích use-case, tại sao cơ chế phân tích được sử dung?
A. Để giảm độ phức tạp và tăng tính nhất quán bằng cách cung cấp ký hiệu cho những hành vi phức tạp.
B. Để đơn giản hóa nhiệm vụ tạo ra các use-case, cung cấp ký hiệu viết tắt cho các nhiệm vụ lặp đi lặp lại.
C. Để thu thập các nhiệm vụ chung vào một nơi, dễ dàng cho nhà phát triển thưc hiện.
D. Để chứng minh rằng các nhà thiết kế đã thực hiện chính xác như thiết kế của các kiến trúc sư.


Câu 18: Trong phân tích use-case, mục đích của việc hợp nhất các bước phân tích classes là gì?
A. Để bảo đảm rằng mỗi phân tích class  trình bày một  khái niệm đúng, với không chồng chéo trách nhiệm.
B. Thu thập các phân tích classes từ mỗi  hiện thực hóa use-case và mang chúng vào mô hình thiết kế.
C. Để đảm bảo trách nhiệm mỗi lớp đều nhất quán và classes có mục đích duy nhất được xác định rõ ràng.
D. Để tạo classes families bằng cách kế thừa vào nhóm liên kết vào cấu trúc cây.

Câu 19: Hai câu nào sau đây nói đúng về quá trình điều khiển use-case?
A. Usecase ngắn gọn, xúc tích, đơn giản và có thể hiểu được bởi các bên liên quan.
B. Use-case giúp đồng bộ hóa nội dung của các mô hình khác nhau.
C. Use-case là một danh sách đầy đủ các yêu cầu chức năng.
D. Use-case chỉ rõ các hành vi hệ thống được  thực hiện như thế nào.

Câu 20: Trong phân tích use-case, bao nhiêu sơ đồ tương tác nên được vẽ cho một use-case?
A. Đủ các loại để đảm bảo trách nhiệm của các lớp được xác định và cá luồng sự kiện được kiểm tra.
B. Một cho luồng sự kiện chính và một cho luồng thay thế (alternative)  trong use-case.
C. Môt cho mỗi loại luồng sự kiện chính và một cho mỗi loại luồng thay thế trong use-case.

Câu 21: Trong phân tích use-case, chức năng của lớp boundary là gì?
A. Để tách biệt các lực lượng bên ngoài với các cơ chế bên trong , và ngược lại.
B. Để trình bày các màn hình trong giao diện người dùng.
C. Để xác định các giao dịch dịch vụ được hiển thị bởi lớp Business.
D. Để xác định các điểm và root vào mô hình  đối tượng chính.

Identify Design Elements & Identify Design Mechanisms

Câu 22: Lớp phân tích được phát triển vào ...
A. Lớp thiết kế 
B. Subsystems.
C. use-case realizations
D. design packages
E. architecture

Câu 23: Tiến trình tài liệu nào diễn tả cơ chế thiết kế, bất cứ ánh xạ giữa cơ  chế thiết kế và chi tiết liên quan đến việc sử dụng?
A. Software Architecture Document
B. Design Guidelines
 C. Vision Document 
D. Software Development Plan

Câu 24: Trong trạng thái của máy trạng thái, một hành vi có thể được định nghĩa..., chọn 3:
A. before reaching a state  (Trước khi đạt được trạng thái)
B. upon reaching a state     (Khi đạt được trạng thái)
C. upon leaving a state        (Khi rời khỏi trạng thái)
 D. inside a state                   (Trong một trạng thái)

Câu 25: Khi xác định phần tử thiết kế, một lớp phân tích đơn giản có thể ánh xạ  thành một 
A. active class
B. interface
C. design class
D. subsystem

Câu 26: Trong hoạt động OOAD nào cơ chế phân tán được xác định?
A. Identify Design Elements
B. Identify Design Mechanisms
C. Class Design
D. Architectural Analysis

Câu 27: Xác định phần tử thiết kế là phần nào của luồng công việc dưới đây?
A. Define a Candidate Architecture
B. Design Components
C. Perform Architectural
D. Refine the Architecture  (Lọc kiến trúc).

Câu 28: Cái nào là đầu vào cho hoạt động  xác định phần tử thiết kế?
A. Deployment Model  (Mô hình triển khai)
B. Implementation Model
 C. Reference Architecture
D. Software Architecture Document

Câu 29: Loại cơ chế nào là một kết nối trên  triển khai sơ đồ?
A. backup
B. communication 
C. transaction
D. computation


Câu 30: Một cơ chế thiết kế...
A. Nắm bắt các khía cạnh chính của một giải pháp thực hiện độc lập
B. Chỉ rõ việc thực hiện cơ chế và ràng buộc với công nghệ nhất định, ngôn ngữ thực hiện hoặc nhà cung cấp.
C. Giống như mẫu thiết kế.
D. Giả định  một số chi tiết của môi trường thực hiện. nhưng không gắn liền với việc thực hiện cụ thể.

Câu 31: Khi nào xác định interface trong  hoạt động xác định phần tử thiết kế, câu nào đúng?
A. Class không nên nhận ra một giao diện
B. Mỗi một subsystem chỉ nên nhận ra một giao diện.
C. Interface chỉ nên tạo ra sau khi subsystem được tạo ra.
D. Interface nên được đóng gói riêng biệt với các yếu tố nhận ra chúng


Câu 32: Cái nào là cơ chế thiết kế?
A. Persistency
B. ObjectStore Object-oriented Database
 C. Distribution
 D. Remote Method Invocation


Câu 33: Để bắt đầu  cơ chế thiết kế, cần phải phân loại cơ chế phân tích. Ba bước của quá trình phân loại cơ chế phân tích  là? (Chọn 3)
A. Xác định hồ sơ đặc tính của mỗi cơ chế phân tích
B. Xác định các clients của cơ chế phân tích.
C. Chỉ định một nhà cung cấp triển khai tới  mỗi cơ chế phân tích.
D. Nhóm các clients theo đặc tính sử dụng của chúng.


Câu 34: Xác định mục đích của cơ chế thiết kế ?
A. Lọc, tinh chỉnh các cơ chế thiết kế và xác định việc thực hiện chính xác các cơ chế.
B. Cung cấp một bộ khái niệm các dịch vụ được sử dụng bởi các đối tượng phân tích
C. Để tinh chỉnh các cơ chế phân tích thành các cơ chế thiết kế dựa trên các ràng buộc của môi trường thực hiện.
D. Để xác định vị trí thiết kế trong kiến trúc vì vậy nỗ lực của kiến trúc sư vẫn tập trung và ít có khả năng trở nên chệch hướng.


Câu 35: Hoạt động phân tích và thiết kế là subsystem trong cái nào được ánh xạ thành lớp phân tích?
A. Architectural Analysis 
B. Identify Design Elements
 C. Identify Subsystems
 D. Incorporate Existing Design Elements

Câu 36: Phần tử thiết kế nào được sử dụng để  trình diễn những đối tượng đồng thời?
A. active class 
B. capsule 
C. design class
 D. event

Câu 37: Khi nào thì một lớp phân tích được ánh xạ trực tiếp tới một lớp thiết kế?
A. Khi lớp phân tích sử dụng <entity> sterotype
B. Khi lớp phân tích đại diện một lớp trừu tượng logic đơn duy nhất.
C. Khi một mô hình công cụ  hỗ trợ chuyển từ mô hình phân tích sang mô hình thiết kế.
D. Khi một nhà phân tích có kỹ năng tốt.

Describe Run-time & Distribution Architecture

Câu 38: Một sự  cân nhắc quan trọng khi phân bổ quy trình cho các nút là gì ?
A. minimizing network traffic ( Giảm thiểu lưu lượng mạng)
B. minimizing power consumption (Giảm thiểu điện năng tiêu thụ)
C. utilizing all available nodes (Sử dụng tất cả các nút có sẵn)
D. physical distance between nodes ( Khoảng các vật lý giữa các nút).

Câu 39: Phần tử UML nào dùng để diễn tả kiến trúc vật lý của hệ thống?
A. classes and relationships
B. objects and messages
C. subsystems and dependencies
D. nodes and connectors 

Câu 40: Các hoạt động diễn tả phân tán là nơi các tiến trình  xác định trong diễn tả  hoạt động kiến trúc thời gian chạy được phân bổ cho
A. physical nodes 
B. components
 C. classes
 D. activities

Câu 41: Định nghĩa cấu hình mạng là là ... step  của diễn tả các hoạt động phân tán.
A. Final
B. first
C. second
D. fifth

Câu 42: Bao nhiêu node vật lý được xác định trong thứ tự thực hiện diễn tả  hoạt động phân tán?
A. zero nodes only
B. one node only
C. zero nodes or one node
D. more than one node 

Câu 43: Cái gì  đã được sử dụng để diễn tả việc áp dụng  một cơ chế phân tán trong quá trình cài đặt?
A. activity diagram
B. flowchart
C. UML pattern and written steps 
D. use-case diagram

Câu 44: Ví dụ nào của một kết nối?
A. SCSI Hard Disk
B. Uninterruptible Power Supply
C. HTTP protocol*
D. JDBC class

Câu 45: Cái nào là một thiết bị?
A. database server
B. web server
 C. virtual private network
 D. handheld computer

Câu 46: Cái view 4+1 nào  tập trung diễn tả hành động cơ chế phân tán?
A. Logical View
B. Deployment View 
C. Use Case View
D. Implementation View

Câu 47: Artifacts là những thực thể ....
A. Máy chủ chạy phần mềm
B. Được triển khai vào những nút vật lý
C. Là kết quả của mô hình chuyển đổi
D. Là lưu trữ trên một cache browser.

Use Case Design 

Câu 48: Nhiệm vụ nào được thực hiện trong quá trình use-case hiện thực sàng lọc?
A. Xác định các lớp tham gia
B. Phân chia trách nhiệm giữa các lớp.
C. Mô hình các thông điệp giữa các lớp.
D. Mô hình mối quan hệ giữa các lớp. (model associated  class relationships)

Câu 49: Cho cấu hình sau:
Pagkage A chứa lớp aClass ở tầng presentation.
Pagkage B chứa lớp bClass , bInterface ở tầng business.
Pagkage C chứa cClass ở tầng data.
Cái nào là poor practice?
A. aClass call a method in bClass.
B. aClass chứa một thuộc tính của cClass.
C. aClass nhận ra bInterface.
D. bClass nhận ra bInterface.

Câu 50: Mối quan hệ giữa operation và method?
A. Đồng nghĩa
B. Một operation diễn tả một method thực hiện.
C. Một method diễn tả cách mà một operation được thực hiện.
D. Không có mối liên hệ


Câu 51: Tại sao bạn lại sử dụng các subsystem Interface nhiều hơn sử dụng các đối tượng subsystem ở trong sequence diagram?
A. Để nó dễ hơn khi mô hình hóa subsystem  trong thiết kế subsystem.
B. Để làm hiện thực hóa use-case dễ dàng thay đổi.
C. Để dễ dàng bảo trì sequence diagram khi thông điệp thông báo thay đổi
D. Để giảm số lượng class  cần cài đặt vào subsystem.

Câu 52: Các hệ thống subsystem bổ sung có thể phát hiện trong quá trình thiết kế use-case bằng cách ghi chú thích....
A. Các dòng phụ thông thường giữa các đối tượng trong sơ đồ tuần tự.
B. Các đối tượng tương tự trên sơ đồ tuần tự.
C. Một chuỗi các trạng thái chuyển đổi cho nhiều lớp liên quan đến các hiện thực hóa use-case.
D. Các lớp thiết kế tương tự liên quan đến nhiều hơn một hiện thực hóa use-case

Câu 53: Hoạt động nào thực hiện trong suốt giai đoạn thiết kế use-case?
A. Chuyển từ phân tích lớp  thành thiết kế lớp và thiết kế subsystem.
B. Diễn tả các hành vi liên quan đến sự kiên trì. (persistence-related  behavior)
C.Mô tả các tương tác thực hiện các thao tác giao diện.
D. Đơn giản hóa sơ đồ tuần tự sử dụng các lớp thiết kế.

Câu 54: Cái nào dưới đây dùng để hiện thực hóa use-case?
A. textual use-case descriptions
 B. communication diagrams
 C. state charts
 D. activity diagrams

Câu 55: Cái nào định nghĩa trách nhiệm của một subsystem
A. Hành vi bên trong class
B. Các phương thức mà interface nó cài đặt.
C. Hiện thực hóa use-case mà trong đó subsystem xuất hiện.
D. Các phương thức chứa trên một lớp trong một hệ thống con.

Câu 56: Thiết kế use-case là luồng công việc của
A. Design Use Cases
B. Analyze Behavior
C. Design Components 
D. Design Classes and Subsystems

Câu 57: Tài liệu bổ sung sơ đồ tuần tự dưới dạng ghi chú và kịch bản được sử dụng cho: Chọn 3
A. Mô tả thời gian yêu cầu giữa các tin nhắn.
B. Cung cấp về hành vi có điều kiện.
C. Xác định các thuộc tính cho các đối tượng xuất hiện trong sơ đồ.
D. Tương ứng với các điểm mở rộng trong trường hợp sử dụng với các vị trí cụ thể  trong sơ đồ tuần tự.


Câu 58: Với cơ chế persistence,  hai chức năng yêu cầu giao dịch là gì?
A. Đảm bảo rằng các phương thức được thực hiện hoặc tất cả hoặc không cái nào.
B. Cho phép nhà thiết kế lựa chọn  các phương thức được thực thi khi mà thiếu tài nguyên hệ thống.
C. Đảm bảo rằng  tập các đối tượng chuyển từ trạng thái nhất quán sang trạng thái khác.
D. Đơn giản hóa thiết kế, do đó persistence không cần phải rõ ràng cân nhắc trong giai đoạn thiết kế

Câu 59: Mục đích của thiết kế use-case là gì?
A. Để tinh chỉnh  các hiện thực hóa use-case   trong thực hiện các tương tác. (A. to refine use-case realizations in terms of interactions)
B. Để đảm bảo tính đầy đủ của   View of Participating Classes diagrams cho mỗi hiện thực hóa use-case.
C. Để tinh chỉnh các yêu cầu cho thiết kế class
D. Để tinh chỉnh các phương thức cho thiết kế subsystem hoặc/và interface.

Câu 60: Cái nào là output của  một thiết kế use-case ?
A. analysis classes
B. design classes
C. interfaces
 D. the Design Model 

Câu 61: Một ví dụ về môi trường thưc thi?
A. Gigabit network switch
 B. virtual private network
C. J2EE application server
 D. handheld computer

Câu 62:  Mục đích của thống nhất  lớp và hệ thống con là?
A. Mỗi hệ thống con có một thành phần hệ thống con tương ứng
B. Tất cả các lớp chỉ định nhiều nhất cho một hệ thống con.
C. Trách nhiệm của các yếu tố thiết kế không được trùng nhau.
D. Mỗi giao diện xác định có một API gắn kết và mạch lạc

Câu 63: Cái nào là hướng dẫn  hệ thống con đóng gói tương tác trên sơ đồ tuần tự?
A. Thông điệp đến các hệ thống con phải tương ứng với các phương thức trong interface cúa subsystem.
B. Thông điệp  từ subsystem phải tương ứng với các phương thức của thành phần subsystem.
C. Trong quá trình sử dụng thiết kế use-case, cần tạo sơ đồ tuần tự thứ cấp cùng với mô hình tuần tự cùng với hệ thống con.
D. Một hệ thống con phải được trình bày trên sơ đồ tuần tự sử dụng thành phần của hệ thống con.

Subsystem Design

Câu 64: Câu nào đúng về các phần tử trong subsystem và khả năng hiện thị công khai của chúng?
A. Chỉ có các phần tử là API của subsystem thì được công khai nhìn thấy.
B. Chỉ có các subsystem proxy class có thể nhìn thấy công khai.
C. Không có phần tử nào bên trong subsystem có thể nhìn thấy công khai.
D. Chỉ các lớp có tham chiếu đến các lớp mở rộng thi có thể nhìn thấy công khai.

Câu 65: Hai loại phụ thuộc được sử dụng trong một subsystem?
A. <<uses>> dependency to a subsystem interface
 B. an <<import>> dependency to a package containing used classes
 C. a <<manifest>> relationship to a node in the Deployment model
 D. a<<realize>> relationship to one or more collaboration occurrences

Câu 66: Câu nào đúng về thiết kế subsystem?
A. Đóng gói một phần hành vi
B.  Chúng đại diện cho một khả năng độc lập với các interface rõ ràng.
C. Chúng mô hình cho một biến thể duy nhất.
D. Chúng chỉ chứa các class thiết kế.

Câu 67: Ở sơ đồ sequence diagram, cái nào  trình bày đặc điểm của subsystem.
A. an interface that the subsystem realizes 
B. a subsystem proxy
 C. a subsystem component
 D. a subsystem class 

Câu 68: Trong thiết kế subsystem cái gì xảy ra trong giai đoạn này, phân bổ trách nhiệm của  subsystem ?
A. Trách nhiệm của subsystem được phân bổ cho các thành phần bên trong của nó.
B. Mỗi hệ thống con được kiểm tra để đảm bảo nó có một bộ trách nhiệm nhất quán.Và trách nhiệm không nhất quán được gán lại cho các hệ thống con khác.
C. Thư viện và các API bên ngoài được xác định để nhận ra hành vi của hệ thống con.
D. Các cơ chế phân phối được trình bày chi tiết cho việc hiển thị các giao diện hệ thống con.


Câu 69: Trong quá trình thiết kế bao nhiêu  sơ đồ tuần tự được tạo ra
A. at least one interaction diagram per interface operation 
B. one interaction diagram per interface realization
C. at least one interaction diagram for each use of an external interface
D. one interaction diagram for each realizing class


Câu 70: Mục đích chính của thiết kế subsytem là gì?
A. Cung cấp quản lý mô hình và tổ chức mô hình
B. Đóng gói hành vi
C. Gói các lớp thiết kế tương tự nhau
D. Đại diện cho các hệ thống bên ngoài.

Câu 71: Mục đích của thiết kế subsystem là gì?
A. Hoàn tất các chi tiết các interface được thực hiện  bởi các subsystem trong một ứng dụng.
B. Phân chia thành các hệ thống con, sau đó giao hệ thống con cho các đội phát triển.
C. Xác định các hành vi được đặc tả trong  các interface của subsystem  dưới dạng hợp tác có chứa các phần tử thiết kế.
D. Xác định mỗi cấp từng hệ thống được thực hiện và cơ chế truyền thông giữa chúng.

Câu 72: Câu nào đúng về pagkage và subsystem?
A. A package cannot contain a subsystem.
B. A package provides behavior.
C. A subsystem provides behavior. 
D. You use a package when you need to encapsulate behavior

Class Design
Câu 73:
 Câu nào đúng
A. Lion and Tiger communicate with each other.
B. Lion and Tiger communicate with Animal.
C. Animal may not have direct instances.
 D. Instances of Animal communicate differently than instances of Lion or Tiger.

Câu 74: Thuộc tính được gạch chân cho biết điều gì?
A. Thuộc tính chỉ đọc.
B. Thuộc tính có nguồn gốc từ hệ thống khác.
C. Thuộc tính duy nhất xác định đối tượng.
 D.Thuộc tính được định nghĩa ở cấp phân loại thay vì cấp cá thể

Câu 75: Trong biểu đồ dưới  CourseOffering.numberofStudents là một ví dụ của
A. a bad design
B. a static attribute
C. a derived attribute (Một thuộc tính có nguồn gốc)
D. non-standard naming


Best Practices of Software Engineering

Câu 76: Câu nào đúng về một quá trình lặp đi lặp lại:
A. Test và tích hợp trong mỗi lần lặp
B. Mỗi lần lặp lại tập trung vào một phần của hiện thực hóa use-case được lựa chọn.
C. Nó khuyến khích phản hồi người dùng trong các lần lặp sau.
D. Nó dựa trên chức năng phân hủy của một hệ thống.

Câu 77: Ba quá trình  phù hợp cho UML?
A. use-case driven 
B. waterfall development-based
C. iterative and incremental
D. architecture-centric 
E. requirements-centric

Câu 78: Câu nào đúng?
A. The UML is a development process for software intensive systems.  (intensive systems: hệ thống chuyên sâu)
B. The UML is a process-dependent language used for visualizing software artifacts.
C. The UML is a modeling language for software blueprints. (software blueprints bản thiết kế phần mềm)
D. The UML is a visual programming language.

Concepts of Object Orientation and UML

Câu 79: Tại sao đóng gói quan trọng?
A. It describes the relationship between two subclasses.
B. It places operations and attributes in the same object.  (Đặt phương thức và thuộc tính vào trong một đối tượng chung).
C. It allows other objects to change private operations and attributes of an object.
D. It prevents other objects from directly changing the attributes of an object. (Ngăn chặn đối tượng khác trực tiếp thay đổi thuộc tính của một đối tượng).

Câu 80: Hai chức năng của mô hình trực quan là gì?
A. Tạo ra một mô hình đại diện  cho tất cả các view của hệ thống.
B. Cải thiện sự giao tiếp và sự hiểu biết giữa các thành viên trong nhóm
C, Tài liệu  quan trọng quyết định thiết kế trong code.
D. Tài liệu hóa hành vi hệ thống và cấu trúc trước khi lập trình hệ thống

Câu 81: Ba bước để  lam cấu trúc hóa một  class khác với một  class truyền thống?
A. It clearly defines the class boundary via an encapsulation shell.  
B. It brings public interfaces into the class via ports.
 C. It shows the role that the class plays. 
D. It defines messages between itself and other classes.

Câu 82: Đặc trưng của một cấu trúc lớp?

II_Bài tập
Bài 1:
Trường ĐH Công nghệ , ĐHQGHN đang có nhu cầu phát triển hệ thống hỗ trợ hoạt động cố vấn học tập. Hệ thống được mô tả như sau:
- Các lớp tổ chức sinh hoạt lớp định kỳ có sự tham gia của cố vấn học tập. Hệ thống sẽ lấy thông tin từ hệ thống email của trường và tự động gửi thông báo đến những người tham gia, mỗi khi chuyên viên phòng (CTSV) gửi thông báo về cuộc họp
- Hệ thống cho phép các sinh viên cập nhập thông tin tự đánh giá điểm rèn luyện cuối kỳ.
- Hệ thống cho phép cố vấn học tập và cán bộ lớp có thể xem và duyệt thông tin tự đánh giá các thành viên trong lớp. Trong bản tự đánh giá, ngoài các mục tự đánh giá, hệ thống cho phép cố vấn học tập xem thông tin kết quả học tập (điểm tổng kết và số tín chỉ còn nợ của sinh viên) được láy từ hệ thống quản lý đào tạo.
- Hệ thống cho phép chuyên viên PCTSV xem thống kê điểm rèn luyện  theo từng lớp.
a. Xây dựng biểu đồ ca sử dụng tổng thể và các tác nhân. Mô tả tóm lược các ca sử dụng.
b. Tập trung vào chức năng cho phép cán bộ duyệt thông tin tự đánh giá.
- Mô tả chi tiết kịch bản ca sử dụng
- Biểu đồ tuần tự cấp độ phân tích
- Biểu đồ lớp phân tích
- Biểu đồ lớp thiết kế

Bài làm
a. Sơ đồ use-case



Mô tả tóm lược các ca sử dụng:
View Notification: Xem thông tin thông báo từ hệ thống gửi đến qua gmail
Fill Practise Point: Sinh viên tự điền điểm đánh giá rèn luyện vào form.
View result train: Xem kết quả học tập các môn
View Practise Point: Xem kết quả điểm rèn luyện đã được thống kê.
send notification metting:Phòng công tác sinh viên Gửi thông báo họp lớp tới hệ thống
get Notification Meeting: Nhận thông báo họp từ phòng công tác sinh viên
send Notification: Gửi thông báo qua gmail cho sinh viên
Check Practise Point: Kiểm tra điểm rèn luyện tự đánh giá.
b. Chức năng cán bộ duyệt thông tin tự đánh giá:
- Mô tả chi tiết ca sử dụng:

  • Mô tả ngắn gọn:
    • Use-case này thể hiện chức năng cho phép cán bộ lớp , giảng viên kiểm tra điểm tự đánh giá của sinh viên, nếu không phù hợp có thể thay đổi điểm rèn luyện đó.
  • Luồng sự kiện:
    • Luồng sự kiện chính:
      • Cán bộ lớp, giảng viên chọn "Kiểm tra tự đánh giá"
      • Hệ thống hiển thị danh sách sinh viên cùng các điểm rèn luyện tự đánh giá.
      • Cán bộ lớp, giảng viên kiểm tra nếu thấy chưa hợp lý chọn điểm và chỉnh sửa
      • Hệ thống lưu lại trạng thái mới nhất.
    • Luồng sự kiện thay  thế:
      • Không có sinh viên nào đã điền vào form tự đánh giá thì hệ thống hiển thị thông báo "chưa có sinh viên nào".
  • Yêu cầu đặc biệt:
    • Không.
  • Điều kiện trước:
    • Người dùng đã đăng nhập
  • Điều kiện sau:
    • Không.
- Mô tả sơ đồ tuần tự

- Biểu đồ lớp phân tích:
- Biểu đồ lớp thiết kế:












III. Những câu nên tập trung ôn và xác suất cao là có:

Question. 1 Which statement is true?
A. The UML is a development process for software intensive systems.
B. The UML is a process-dependent language used for visualizing software artifacts.
C. The UML is a modeling language for software blueprints.
(software blueprints bản thiết kế phần mềm)
D. The UML is a visual programming language.

Question. 2 In which three ways does a structured class differ from a traditional class?
(Choose three.)
A. It clearly defines the class boundary via an encapsulation shell.
B. It brings public interfaces into the class via ports.
C. It shows the role that the class plays.
D. It defines messages between itself and other classes.

Question. 3 Which is a characteristic of a structured class?
A. must have one interface for each role it plays
B. can play only one role, no matter how many objects transact with it
C. can play multiple roles that vary on the objects that interact with it
D. is limited to one role, but can have multiple interfaces

Question. 4 Which statement is true about an iterative development process?
A. Testing and integration take place in every iteration.
B. An iteration focuses on partial completion of selected use-case realizations.
C. It encourages user feedback in later iterations.
D. It is based on functional decomposition of a system.

Câu nào đúng về một quá trình lặp đi lặp lại:
A. Test và tích hợp trong mỗi lần lặp
B. Mỗi lần lặp lại tập trung vào một phần của hiện thực hóa use-case được lựa chọn.
C. Nó khuyến khích phản hồi người dùng trong các lần lặp sau.
D. Nó dựa trên chức năng phân hủy của một hệ thống.

Question. 5 Which two statements are true about interfaces? (Choose two.)
A. The interface should have a clear purpose.
B. A single interface should include as many possible methods, if not all methods, that may be shared by
objects that implement the interface.
C. An interface should be used to restrict which methods are exposed to a client.
D. Classes may have multiple interfaces depending on the purpose of each interface it implements.


Question. 6 What is the focus of analysis?
A. translating functional requirements into code
B. translating requirements into a system design
C. translating real-world concepts into solution-oriented objects
D. translating functional requirements into software concepts

Question. 7 Why is encapsulation important? (Choose two.)
A. It describes the relationship between two subclasses.
B. It places operations and attributes in the same object.
C. It allows other objects to change private operations and attributes of an object.
D. It prevents other objects from directly changing the attributes of an object.

Question. 8 What are analysis classes?
A. early conjectures on the composition of the system that usually change over time, rarely surviving intact into Implementation
B. incomplete classes that require a programmer to formalize operation signatures and attribute types before they can be implemented
C. the classes inside a systems Business Object or Domain Model, in UML form
D. a prototype of a systems user interface, developed during the Analysis Phase, which allows users to define the systems look and feel

Lớp phân tích ( analysis classes) là cái gì?
A. Những phỏng đoán sớm về thành phần của hệ thống thường thay đổi qua thời gian, hiếm khi tồn tại còn nguyên vẹn trong quá trình thực hiện
B. Các lớp không đầy đủ đòi hỏi một lập trình viên phải chính thức hóa các viết cá hàm và loại thuộc  tính trước khi thực hiện
C. Các lớp bên trong một hệ thống các đối tương kinh doanh hoặc mô hình miền, dạng UML.
D. Một nguyên mẫu của một giao diện  người dùng hệ thống, được phát triển trong giai đoạn phân tích, cho phép người dùng xác định hệ thống nhìn và cảm nhận

Question. 9 An architect looks at two classes. The first class has the following operations: getName(),getSize(),getTotal(), and findAverage(). The second class has the following operations: getName(),getSize(), findAverage(), findMinimum(), and findMaximum(). The two classes share the same superclass. Which operations are most likely contained in the superclass?
A. getName(), getSize(), and findAverage()
B. findMaximum(), findMinimum(), getSize(), and getTotal()
C. getName(), findAverage(), and findMaximum()
D. getName(), getSize(), getTotal(), and findAverage()

Question. 10 An architect is responsible for creating an Analysis Model for a system. Which area of focus is essential for the creation of this model?
A. hardware on which the system will be deployed
B. behavior of the objects that comprise the system
C. evolution of analysis classes into design classes
D. performance requirements of the system

Một kiến trúc sư có trách nhiệm tạo ra một mô hình phân tích cho một hệ thống. Để tạo ra mô hình này cần tập trung vào khu vực nào?
A. Phần cứng nơi mà hệ thống được triển khai.
B. Hành vi của các đối tượng bao gồm hệ thống.
C. Sự phát triển của hệ thống phân tích vào hệ thống thiết kế.
D.  Yêu cầu về hiệu năng của hệ thống.

Question. 11 What does a required interface do?
A. exposes services to anonymous requestors
B. uses the services that a classifier requires to request from anonymous providers
C. declares the services that a classifier offers to provide anonymous requestors
D. exposes methods that the requestor must use

Question. 12 In a sequence diagram, each interaction on the diagram maps to _____.
A. a choice point on a state diagram
B. the transition on a state diagram
C. a state on the diagram
D. the initial state

Question. 13 Which two questions does the use of multiplicity on relationships allow you to answer? (Choose two.)
A. Is the relationship mandatory or optional?
B. How many links can an object of one type maintain with objects of another type?
C. Is an object of a given type permitted to interact with objects of another type?
D. Is the relationship between objects permanent or temporary?

Question. 14 What are two important considerations when diagramming state? (Choose two.)
A. Any time a message is received; there may be a change of state.
B. Any time a message is received; there must be a change of state.
C. Whenever there is a change of state, there is a transition.
D. Changing state may not change transition.

Question. 15 Which statement is true about circular dependencies?
A. They do not matter.
B. They are prohibited.
C. They must be avoided.
D. When there are more than two packages, they are irrelevant.

Question. 16 What is the purpose of Architectural Analysis?
A. to detail the design of the system
B. to review the architecture of the system
C. to define a candidate architecture for the system
D. to define the layers of the architecture

Question. 17 When the interfaces between two classes have been defined from a sequence diagram, the ports are defined by the _____.
A. interface
B. operations the class performs
C. user of the system
D. attributes passed in the sequence diagram

Question. 18 Which statement is true about attributes?
A. They cannot change once the object is instantiated.
B. They change value from object to object of the same class.
C. They can only be primitives.
D. They are required for every class.

Question. 19 What are the three purposes of Analysis and Design? (Choose three.)
A. to provide an organizational context for the system
B. to transform the requirements into a design of the to-be system
C. to evolve a robust architecture for the system
D. to scope the system to be built and describe what it must do
E. to adapt the design to match the implementation environment

Ba Mục đích của phân tích và thiết kế?
A. Cung cấp một phạm vi tổ chức của hệ thống
B. Chuyển các yêu cầu thành một thiết kế hệ thống.
C. Để phát triển kiến trúc mạnh mẽ cho hệ thống.
D. Để giới hạn phạm vi hệ thống để xây dựng và mô tả những gì nó phải làm.
E. Để thích ứng với thiết kế phù hợp với môi trường thực hiện.

Question. 20 Objects that are polymorphic _____.
A. must have the same attributes
B. share all the same operations, and the operations perform the same
C. can only be implemented through interfaces
D. may have the same operation names but the operations perform differently

Question. 21 Which is a best practice for nesting structured classes?
A. should limit the nesting of structured classes to two levels per diagram
B. should display all substructured classes of a structured class in a single to show the depth of interactions
C. should be limited to one level of depth, thereby allowing the user to navigate from diagram to diagram to show the next level
D. should be determined by the architect during the design phase

Question. 22 During Architectural Analysis, a Software Architect wants to reduce the complexity of the system at work and improve its consistency. What should the Software Architect define to accomplish this?
A. coding rules
B. use-case realizations
C. analysis mechanisms
D. design mechanisms

Question. 23 Which two characteristics do all objects have? (Choose two.)
A. primitives
B. state and behavior
C. interfaces
D. a unique identity

Question. 24 Analysis classes evolve into _____. (Choose two.)
A. design classes
B. subsystems
C. use-case realizations
D. design packages
E. architecture

Question. 25 What happens when a superclass is changed?
A. All subclasses inherit the change.
B. The operations of the subclass must be changed.
C. Additional operations in the subclass that are not associated with the superclass must change.
D. Only the operations of the superclass are inherited.

Question. 26 Which two statements are true about use-case realization? (Choose two.)
A. It lists the different steps performed by a use-case.
B. It provides traceability from Analysis and Design back to requirements.
C. It is created by the System Analyst.
D. It describes the use-case in terms of collaborating objects.

Question. 27 Which state does NOT contain another state?
A. Top State
B. Composite State
C. Simple State
D. Bottom State
Question. 28 Which statement is true about grouping elements into a package?
A. Elements in a package should share a logical, common grouping.
B. Packages should contain a small number of elements to avoid confusion.
C. Packages should only be used on large projects requiring a large number of elements.
D. Packages should not contain other packages.

Question. 29 What are three architectural mechanism categories? (Choose three.)
A. analysis mechanisms
B. requirement mechanisms
C. implementation mechanisms
D. design mechanisms

Question. 30 In a sequence diagram, what can be defined by the interactions between participants in the interactions?
A. only services provided by an interface
B. only services required by an interface
C. both provided and required services for interfaces
D. the name of the interface

Question. 31 Which view focuses on the physical realization of the system?
A. Logical View
B. Implementation View
C. Process View
D. Use-Case View

Question. 32 Which statement is true about an active object?
A. It is an independent object that can communicate with other active objects asynchronously.
B. It does not contain state.
C. It is dependent on the overall system execution.
D. It is unstructured to allow the class to be manipulated easily.

Question. 33 During Use Case Analysis, what is generally allocated to control classes?
A. behavior specific to a use-case or part of a very important flow of events
B. behavior that involves the data encapsulated within the abstraction
C. behavior that involves communication with an actor
D. behavior specific to business rule enforcement or workflow

Question. 34 What are three sources for Key Abstractions identification? (Choose three.)
A. domain knowledge
B. requirements
C. design classes
D. glossary

Question. 35 What is a named object in UML?
A. Matt:Employee
B. :Employee
C. Matt::Employee
D. ::employee

Question. 36 During Use Case Analysis, an attribute should be used instead of a class when the information _____.
A. is accessed by operations that only get, set, or perform simple transformations
B. is related to entities in the Business or Domain Model
C. needs to be hidden from other parts of the Analysis Model and not shared
D. is referred to and used multiple times throughout the use-case realization

Question. 37 Which view is NOT part of the RUP 4+1 View Model?
A. Logical View
B. Distribution View
C. Use-Case View
D. Process View

Question. 38 What are two functions of visual modeling? (Choose two.)
A. produces a single model that represents all views of the system
B. improves communication and comprehension among team members
C. documents important design decisions in the code
D. documents system behavior and structure before coding the system

Hai chức năng của mô hình trực quan là gì?
A. Tạo ra một mô hình đại diện  cho tất cả các view của hệ thống.
B. Cải thiện sự giao tiếp và sự hiểu biết giữa các thành viên trong nhóm
C, Tài liệu  quan trọng quyết định thiết kế trong code.
D. Tài liệu hóa hành vi hệ thống và cấu trúc trước khi lập trình hệ thống

Question. 39 During Use Case Analysis, why are analysis mechanisms used?
A. to reduce complexity and improve consistency by providing a shorthand representation for complex behavior
B. to simplify the task of creating use-case realizations by providing convenient shorthand for repetitive tasks
C. to gather common tasks into one place, in order to more easily assign them to developers for
implementation
D. to verify that designers have performed the analysis task correctly, according to the architects recommendations

A. Để giảm độ phức tạp và tăng tính nhất quán bằng cách cung cấp ký hiệu cho những hành vi phức tạp.
B. Để đơn giản hóa nhiệm vụ tạo ra các use-case, cung cấp ký hiệu viết tắt cho các nhiệm vụ lặp đi lặp lại.
C. Để thu thập các nhiệm vụ chung vào một nơi, dễ dàng cho nhà phát triển thưc hiện.
D. Để chứng minh rằng các nhà thiết kế đã thực hiện chính xác như thiết kế của các kiến trúc sư.

Question. 40 Which statement is true about patterns?
A. Patterns only exist at the Design level.
B. Patterns provide a common solution to a common problem.
C. Patterns only exist at the Architectural level.
D. Patterns are only used during the Elaboration Phase.

Question. 41 During Use Case A -case descriptionalysis, why is it sometimes necessary to supplement the usen?
A. The description of each use-case is not always sufficient for finding analysis classes and their objects.
B. The flow of events in the use-case is sometimes too complex to be implemented.
C. Designers need to know which use-case flows are being developed in the current iteration.
D. The architect may need to adjust incorrect requirements before giving them to the designers.

Question. 42 In Use Case Analysis, what is the purpose of the Unify Analysis Classes step?
A. to ensure that each analysis class represents a single well-defined concept, with no overlapping responsibilities
B. to gather the analysis classes from each use-case realization and bring them into the Design Model
C. to make sure the responsibilities of each class are consistent and that the class has a well-defined single purpose
D. to create initial class families by using inheritance to group related classes into tree structures

Question. 43 Which three processes are best suited for UML? (Choose three.)
A. use-case driven
B. waterfall development-based
C. iterative and incremental
D. architecture-centric
E. requirements-centric
Question. 44 Architectural layers are commonly modeled in UML using a _____.
A. package stereotyped <<Layer>>
B. subsystem stereotyped <<Layer>>
C. composite class stereotyped <<Layer>>
D. class diagram entitled Layer

Question. 45 In a state diagram, a state has two transitions. One of the transitions is an internal transition and the other is an external transition. Which state(s) can perform an exit action?
A. the internal transition only
B. the external transition only
C. neither the internal nor the external transition
D. both the internal and external transitions

Question. 46 Which two statements are true about use-case driven processes? (Choose two.)
A. Use-cases are concise, simple, and able to be understood by a wide range of stakeholders.
B. Use-cases help synchronize the content of different models.
C. Use-cases are a complete list of functional requirements.
D. Use-cases specify how the system behavior is to be implemented.

Question. 47 Which is the primary function of entity classes?
A. store and manage information in the system
B. act as a surrogate or proxy for the actors in a system
C. wrap data access calls to a systems relational database
D. marshal information between the tiers in a system

Question. 48 Which is a UML general-purpose mechanism for organizing elements into groups?
A. a class diagram
B. an activity
C. a package
D. a composite diagram

Question. 49 During Use Case Analysis, how many interaction diagrams (sequence or communication) should be drawn for each use-case?
A. enough of each type to ensure that all responsibilities of participating classes are identified and that most of the flows of events are examined
B. one for the main flow and one for each alternate flow of events in the use-case
C. one of each type for the main flow and one of each type for each alternate flow of events in the use-case
D. one of each type per use-case, with each alternate flow of events shown as an interaction occurrence

Question. 50 In Use Case Analysis, what is the function of boundary classes?
A. to insulate external forces from internal mechanisms and vice versa
B. to represent the screens in the user interface
C. to define the service interfaces exposed by the Business layer

D. to define entry points or roots into the core Object Data Model

Thứ Tư, 24 tháng 5, 2017

[Hệ quản trị CSDL] Bài 3: Stored Procedured

1. Stored Procedured là gì? Stored Procedured để làm gì?
- Stored Procedured là một đoạn  sql được lưu lại trong danh mục của database. Và có thể được gọi trong 1 chương trinh, 1 trigger.
- Mục đích dùng Stored Procedured là:
   + Tăng hiệu suất của ứng dung vì nó đã được dịch và lưu trong danh mục của database
   +   Giảm thiểu lưu lượng giữa ứng dụng và database server do ứng dụng không cần gửi tập các câu lệnh chưa được biên dịch mà chỉ cần gửi tên của store procedured
  + Có khả năng tái sử dụng và rõ ràng đối với các ứng dụng.
   + Bảo mật do người quản trị có thể phân quyền cho hệ thống.

- Hạn chế:
   + Làm cho database server luôn trong tình trạng load memory và process ở mức cao.
   + Khai báo đơn giản không thể có những cú pháp logic như những ngôn ngữ lập trình.
   + Không thể kiểm tra lỗi của SP
   + Bảo trì khó.

2. Cú pháp
DELIMITER //
CREATE PROCEDURE sp_name
   BEGIN
   SELECT *  FROM products;
   END //
DELIMITER ;

CALL sp_name()

3.Thực hành

VD1: Tạo 1 hàm lấy ra thành phố và điện thoại của nước có tên đưa vào hàm
DELIMITER $$
CREATE PROCEDURE getOfficeByContry(IN countryName varchar(255))
BEGIN
  SELECT city, phone
    FROM offices
    WHERE country = countryName;
END $$

DELIMITER ;

VD2:  Tạo hàm đếm số đơn hàng có trạng thái là status
DELIMITER $$
CREATE PROCEDURE CountOrderByStatus(
             IN orderStatus VARCHAR(25), OUT total INT)
BEGIN
  SELECT count(orderNumber) INTO total
  FROM orders
  WHERE status = orderStatus;
END$$
DELIMITER ;