Tất cả câu hỏi

Ngân hàng câu hỏi trắc nghiệm có giải thích chi tiết.

9.520/14.151 câuCòn 4.631
ACode refactoring
BUI prototyping
CUse case-driven modeling
DDatabase normalization
Lời giải
Mục tiêu chính của phương pháp COMET là nhấn mạnh vào hoạt động xây dựng mô hình dựa trên trường hợp sử dụng. Phương pháp này tập trung vào việc xác định và mô tả các trường hợp sử dụng của hệ thống, từ đó xây dựng mô hình phù hợp. Điều này giúp đảm bảo rằng mô hình phản ánh đúng yêu cầu của hệ thống và đáp ứng được nhu cầu của người dùng. Xây dựng mô hình dựa trên trường hợp sử dụng là một kỹ thuật quan trọng trong phương pháp COMET, giúp đảm bảo rằng mô hình được xây dựng dựa trên yêu cầu thực tế của hệ thống.
Mở trang câu hỏi này →
ARequirements modeling
BIncremental software construction
CDesign modeling
DSystem testing
Lời giải
Trong quá trình phát triển phần mềm của COMET, bước đầu tiên là mô hình hóa yêu cầu. Bước này liên quan đến việc thu thập, phân tích và xác định các yêu cầu của hệ thống. Mô hình hóa yêu cầu giúp xác định rõ các yêu cầu của hệ thống, bao gồm cả các yêu cầu chức năng và không chức năng. Quá trình này giúp đảm bảo rằng hệ thống được phát triển đáp ứng được các yêu cầu của người dùng và đạt được mục tiêu của dự án. Bước này thường được thực hiện bởi các chuyên gia yêu cầu, người có trách nhiệm thu thập và phân tích các yêu cầu của hệ thống.
Mở trang câu hỏi này →
AStatechart
BClass diagram
CActivity diagram
DDeployment diagram
Lời giải
Trong phân tích thiết kế hướng đối tượng (OO analysis), mô hình hóa là một phần quan trọng để mô tả cấu trúc và hành vi của hệ thống. Mô hình hóa có thể được thực hiện thông qua các loại mô hình khác nhau, bao gồm mô hình lớp, mô hình trạng thái, mô hình hoạt động và mô hình triển khai. Trong số đó, mô hình lớp (Class diagram) là mô hình hóa định nghĩa cấu trúc tĩnh của hệ thống. Nó mô tả các lớp, mối quan hệ giữa các lớp và các thuộc tính của các lớp. Mô hình lớp giúp phân tích và thiết kế hệ thống một cách rõ ràng và hiệu quả.
Mở trang câu hỏi này →
AIncreased complexity of software systems
BDecreased software maintainability
CEnhanced modifiability and maintainability of software
DReduction in software functionality
Lời giải
Thông tin giấu (information hiding) trong thiết kế hướng đối tượng giúp đạt được mục tiêu nâng cao tính linh hoạt và dễ bảo trì của phần mềm. Khi thông tin được giấu, các chi tiết phức tạp của phần mềm được ẩn đi và chỉ được truy cập thông qua các giao diện được định nghĩa rõ ràng. Điều này giúp giảm thiểu sự phụ thuộc giữa các mô-đun phần mềm và tăng cường khả năng bảo trì, sửa đổi và mở rộng phần mềm mà không ảnh hưởng đến các phần khác của hệ thống.
Mở trang câu hỏi này →
9505What is data abstraction?4 lựa chọn
AAnother name for information hiding
BEncapsulating data so that its structure is hidden
CStoring data in a database
DStoring data in a data structure
Lời giải
Data abstraction là một khái niệm quan trọng trong lập trình, giúp chúng ta ẩn đi chi tiết cụ thể của dữ liệu và chỉ hiển thị thông tin cần thiết. Nó cho phép chúng ta tập trung vào việc sử dụng dữ liệu mà không cần quan tâm đến cách dữ liệu được lưu trữ hoặc xử lý. Data abstraction có thể được hiểu là quá trình ẩn đi cấu trúc của dữ liệu, chỉ hiển thị thông tin cần thiết và cung cấp một giao diện đơn giản để tương tác với dữ liệu. Điều này giúp giảm thiểu sự phức tạp và tăng cường tính linh hoạt trong việc sử dụng dữ liệu.
Mở trang câu hỏi này →
ATo define the functionality of the system
BTo specify the development process
CTo define success criteria, orthogonal to functionality
DTo dictate the user interface design
Lời giải
Đáp án đúng: C. Đặc tính kiến trúc (architecture characteristic) là các yêu cầu phi chức năng — hiệu năng, khả năng mở rộng, bảo mật, khả năng bảo trì… Chúng định nghĩa tiêu chí thành công của hệ thống và trực giao với chức năng: cùng một tập chức năng có thể được hiện thực với những mức đặc tính rất khác nhau, và chính chúng mới là thứ quyết định lựa chọn kiến trúc. A sai vì chức năng hệ thống do yêu cầu chức năng mô tả, đó chính là phần "trực giao" còn lại. B sai vì quy trình phát triển là chuyện quản lý dự án, không phải đặc tính kiến trúc. D sai vì thiết kế giao diện là quyết định ở tầng thấp hơn nhiều.
Mở trang câu hỏi này →
9507What is the main goal of system testing?4 lựa chọnDễ
ATo test individual components before integration
BTo verify that the fully integrated hardware and software system meets its specified requirements
CTo test the internal code structure for errors
DTo perform load testing only
Lời giải
Mục tiêu chính của việc kiểm thử hệ thống là xác minh rằng hệ thống được tích hợp hoàn chỉnh, bao gồm cả phần cứng và phần mềm, đáp ứng các yêu cầu được chỉ định. Quá trình kiểm thử hệ thống giúp đảm bảo rằng hệ thống hoạt động đúng như dự kiến và đáp ứng các yêu cầu của người dùng. Điều này bao gồm việc kiểm tra các chức năng, hiệu suất và khả năng tương thích của hệ thống. Kiểm thử hệ thống giúp phát hiện và sửa lỗi sớm, giảm thiểu thời gian và chi phí phát triển hệ thống. Nó cũng giúp đảm bảo rằng hệ thống đáp ứng các tiêu chuẩn và quy định an toàn, bảo mật và chất lượng.
Mở trang câu hỏi này →
APhased software development
BThrowaway prototyping
CEvolutionary prototyping
DIncremental development
Lời giải
Mô hình thác nước (Waterfall model) là một phương pháp phát triển phần mềm truyền thống, nhưng nó có một số hạn chế. Để khắc phục những hạn chế này, chúng ta có thể sử dụng các phương pháp khác như sau: Phased software development (Phát triển phần mềm theo giai đoạn): Đây là phương pháp phát triển phần mềm theo các giai đoạn riêng biệt, mỗi giai đoạn sẽ có một mục tiêu và yêu cầu cụ thể. Phương pháp này có thể giúp khắc phục hạn chế của mô hình thác nước bằng cách cho phép các giai đoạn phát triển được thực hiện song song và có thể được điều chỉnh dựa trên yêu cầu của khách hàng. Throwaway prototyping (Phát triển mẫu tạm thời): Đây là phương pháp phát triển phần mềm bằng cách tạo ra các mẫu tạm thời để thử nghiệm và đánh giá. Phương pháp này có thể giúp khắc phục hạn chế của mô hình thác nước bằng cách cho phép các phát triển có thể thử nghiệm và đánh giá các ý tưởng trước khi thực hiện. Evolutionary prototyping (Phát triển mẫu tiến hóa): Đây là phương pháp phát triển phần mềm bằng cách tạo ra các mẫu tiến hóa để thử nghiệm và đánh giá. Phương pháp này có thể giúp khắc phục hạn chế của mô hình thác nước bằng cách cho phép các phát triển có thể thử nghiệm và đánh giá các ý tưởng trước khi thực hiện và có thể điều chỉnh dựa trên yêu cầu của khách hàng. Incremental development (Phát triển từng bước): Đây là phương pháp phát triển phần mềm bằng cách tạo ra các phần nhỏ của sản phẩm và dần dần tích hợp chúng lại với nhau. Phương pháp này có thể giúp khắc phục hạn chế của mô hình thác nước bằng cách cho phép các phát triển có thể thực hiện các phần nhỏ của sản phẩm và dần dần tích hợp chúng lại với nhau.
Mở trang câu hỏi này →
AIt reduces the number of diagrams required
BIt eliminates the need for attributes
CIt supports reuse by factoring common features into superclasses
DIt automatically generates source code
Lời giải
Tổ chức cấp bậc tổng quát hóa/nghiên cứu đặc biệt quan trọng trong mô hình hóa lớp vì nó cho phép tái sử dụng các đặc điểm chung bằng cách đặt chúng vào các lớp cha. Điều này giúp giảm thiểu sự lặp lại mã và tăng cường tính linh hoạt của mô hình lớp. Khi các đặc điểm chung được đặt vào các lớp cha, các lớp con có thể thừa hưởng các đặc điểm này mà không cần phải định nghĩa lại. Điều này giúp giảm thiểu sự phức tạp của mô hình lớp và tăng cường tính dễ hiểu.
Mở trang câu hỏi này →
AAn action performed after the transition
BA Boolean expression that must be true for the transition to occur
CThe event that triggers the transition
DThe next state entered after the transition
Lời giải
Trong một trạng thái chuyển đổi được dán nhãn là Sự kiện [điều kiện] / Hành động trong một sơ đồ trạng thái, điều kiện đại diện cho một biểu thức logic Boolean. Biểu thức này phải được thực hiện để xác định xem trạng thái chuyển đổi có được kích hoạt hay không. Nó giống như một điều kiện kiểm tra, nếu điều kiện này được đáp ứng, trạng thái chuyển đổi sẽ được kích hoạt và thực hiện hành động tương ứng. Điều này cho phép nhà thiết kế mô hình trạng thái kiểm soát luồng hoạt động của hệ thống một cách chính xác và linh hoạt.
Mở trang câu hỏi này →
ACapture optional behavior invoked under certain conditions
BRepresent inheritance between actors
CRepresent shared mandatory behavior
DModel system deployment nodes
Lời giải

Trong sơ đồ dùng例 (use case diagram) của UML, mối quan hệ <<extend> > thường được sử dụng để mô tả hành vi tùy chọn được kích hoạt dưới các điều kiện nhất định. Điều này có nghĩa là một hành vi dùng例 có thể được mở rộng từ một hành vi dùng例 khác, nhưng không bắt buộc phải thực hiện. Ví dụ, một hệ thống có thể hỗ trợ việc in hóa đơn, nhưng không bắt buộc phải in hóa đơn khi thực hiện một giao dịch cụ thể. Mối quan hệ <<extend> > cho phép chúng ta mô tả các hành vi tùy chọn và điều kiện kích hoạt chúng, giúp làm rõ các yêu cầu của hệ thống.

Mở trang câu hỏi này →
A<<extend>>
B<<include>>
CGeneralization
DAggregation
Lời giải

Trong mô hình UML, mối quan hệ <<include> > được sử dụng để thể hiện một trường hợp sử dụng phụ thuộc vào trường hợp sử dụng khác. Tuy nhiên, khi nói đến việc chia sẻ chức năng chung giữa nhiều trường hợp sử dụng, mối quan hệ <<include> > không phải là lựa chọn tốt nhất. Mối quan hệ <<extend> > cũng không phù hợp vì nó được sử dụng để thể hiện trường hợp sử dụng mở rộng từ trường hợp sử dụng khác. Mối quan hệ Generalization được sử dụng để thể hiện mối quan hệ giữa lớp cha và lớp con, trong khi Aggregation được sử dụng để thể hiện mối quan hệ giữa một đối tượng và các đối tượng con. Vì vậy, mối quan hệ phù hợp nhất để thể hiện chức năng chung được chia sẻ giữa nhiều trường hợp sử dụng là Composite, nhưng trong các lựa chọn đã cho, không có Composite. Tuy nhiên, mối quan hệ Generalization không phải là lựa chọn tốt nhất vì nó không thể thể hiện chức năng chung. Vì vậy, trong trường hợp này, không có lựa chọn nào trong các lựa chọn đã cho là hoàn hảo, nhưng <<include> > có thể được sử dụng để thể hiện chức năng chung được chia sẻ giữa nhiều trường hợp sử dụng.

Mở trang câu hỏi này →
9513What is a software design notation?4 lựa chọn
ANotes about the software design.
BA graphical or textual description of the software.
CDocumentation of the software.
DA systematic approach for producing a design.
Lời giải
Ký hiệu thiết kế phần mềm là một phương pháp được sử dụng để mô tả và thể hiện các đặc điểm của một hệ thống phần mềm. Nó thường được sử dụng để mô tả các thành phần, mối quan hệ và giao tiếp giữa các thành phần trong hệ thống. Ký hiệu thiết kế phần mềm có thể được thể hiện dưới dạng đồ họa hoặc văn bản. Ví dụ, UML (Unified Modeling Language) là một ngôn ngữ mô hình hóa được sử dụng để mô tả các đặc điểm của hệ thống phần mềm. Nó cung cấp các ký hiệu và quy tắc để mô tả các thành phần, mối quan hệ và giao tiếp giữa các thành phần trong hệ thống. Mục đích của ký hiệu thiết kế phần mềm là giúp các nhà phát triển phần mềm hiểu rõ về hệ thống và tạo ra các giải pháp phần mềm hiệu quả hơn.
Mở trang câu hỏi này →
AImplementation
BAnalysis
CDesign
DTesting
Lời giải
Trong vòng đời phát triển phần mềm, giai đoạn phân tích (Analysis) là nơi mà các yêu cầu của dự án được thu thập và mô hình hóa. Giai đoạn này tập trung vào việc xác định và mô tả các yêu cầu của hệ thống, bao gồm cả các yêu cầu chức năng và phi chức năng. Các kỹ thuật như mô hình hóa trường hợp sử dụng (Use case modeling) và thu thập yêu cầu (Requirements capture) được sử dụng để thu thập và xác định các yêu cầu của dự án. Mục tiêu của giai đoạn phân tích là tạo ra một bản mô tả chi tiết về các yêu cầu của dự án, giúp cho các giai đoạn tiếp theo được thực hiện một cách hiệu quả.
Mở trang câu hỏi này →
AVisual design of the application
BSpeed of software development
CEarly detection of defects and reducing cost of fixing
DUser interface modules only
Lời giải
Khái niệm 'testability' chủ yếu liên quan đến việc phát hiện sớm các lỗi và giảm chi phí sửa chữa. Điều này có nghĩa là khả năng kiểm tra và xác minh tính chính xác của ứng dụng một cách hiệu quả. Testability giúp phát hiện và sửa lỗi sớm, từ đó giảm thiểu chi phí và thời gian sửa chữa. Nó cũng giúp đảm bảo rằng ứng dụng hoạt động đúng như mong đợi, giảm thiểu rủi ro và cải thiện chất lượng tổng thể của sản phẩm. Testability là một khía cạnh quan trọng trong quy trình phát triển phần mềm, giúp đảm bảo rằng ứng dụng được kiểm tra và xác minh một cách đầy đủ trước khi được phát hành.
Mở trang câu hỏi này →
9516What is maintainability?4 lựa chọn
AThe extent to which software is capable of being changed before deployment
BThe extent to which software is capable of being changed after deployment
CThe extent to which software is capable of being changed during development
DThe extent to which software is capable of being changed after development
Lời giải
Đáp án đúng: B. Khả năng bảo trì được định nghĩa là mức độ phần mềm có thể được thay đổi SAU KHI ĐÃ TRIỂN KHAI — sửa lỗi, cải thiện hiệu năng hoặc thích ứng với môi trường mới. Mốc "sau triển khai" là điểm mấu chốt: chi phí thay đổi lúc phần mềm đã chạy thật mới là thứ thuộc tính này đo. A sai vì thay đổi trước khi triển khai vẫn nằm trong vòng phát triển bình thường. C sai vì thay đổi trong lúc phát triển cũng thế. D là bẫy sát nhất — "sau khi phát triển" không đồng nghĩa "sau khi triển khai": phần mềm có thể đã phát triển xong nhưng chưa đưa vào vận hành, và định nghĩa chuẩn lấy mốc triển khai/bàn giao.
Mở trang câu hỏi này →
AThe ability to adapt to changing requirements or environments
BThe software's ability to perform under high loads
CThe ease of modifying the software
DThe software's capability to ensure data security
Lời giải
Flexibility trong ngữ cảnh đặc tính chất lượng phần mềm là khả năng thích nghi với các yêu cầu thay đổi hoặc môi trường. Nó cho phép phần mềm dễ dàng thích nghi với các thay đổi trong yêu cầu hoặc môi trường sử dụng. Điều này giúp phần mềm trở nên linh hoạt và dễ dàng thích nghi với các thay đổi trong tương lai. Flexibility cũng giúp giảm thiểu các vấn đề liên quan đến việc thay đổi yêu cầu hoặc môi trường sử dụng.
Mở trang câu hỏi này →
9518In the context of software product lines, what is 'Feature Modeling'?4 lựa chọnDễ100% trả lời đúng
AA technique for documenting software performance metrics
BA process for creating graphical user interfaces for software products
CA method for identifying and organizing the features common and variable across the product line
DA strategy for reducing the number of features in software to minimize costs
Lời giải
Kỹ thuật Modeling tính năng trong ngữ cảnh của các dòng sản phẩm phần mềm là một phương pháp giúp xác định và tổ chức các tính năng chung và biến đổi trong dòng sản phẩm. Nó cho phép các nhà phát triển xác định các tính năng quan trọng và cần thiết cho sản phẩm, đồng thời loại bỏ các tính năng không cần thiết hoặc không quan trọng. Kỹ thuật này giúp giảm thiểu thời gian và chi phí phát triển sản phẩm, đồng thời đảm bảo rằng sản phẩm đáp ứng được nhu cầu của khách hàng.
Mở trang câu hỏi này →
9519What is a SPL feature group?4 lựa chọnKhó33% trả lời đúng
AA collection of features
BA group of features with a partiular constraint on their usage in a SPL member
CA group of mutually exclusive features
DA group of optional features with a particular constraint on their usage in a SPL member
Lời giải
Một nhóm tính năng (feature group) trong SPL (Software Product Line) là một tập hợp các tính năng được nhóm lại với nhau dựa trên một ràng buộc cụ thể về việc sử dụng chúng trong một thành viên của SPL. Điều này cho phép các nhà phát triển tạo ra các sản phẩm khác nhau dựa trên các tính năng được chọn từ nhóm tính năng này. Ví dụ, một nhóm tính năng có thể bao gồm các tính năng liên quan đến hệ thống GPS, camera và kết nối internet. Trong một thành viên của SPL, các nhà phát triển có thể chọn tất cả các tính năng trong nhóm này hoặc chỉ chọn một số tính năng cụ thể. Điều này giúp giảm thiểu số lượng tính năng cần được phát triển và kiểm tra, đồng thời tăng cường khả năng tùy chỉnh sản phẩm.
Mở trang câu hỏi này →
AA form of one-to-one communication where messages are sent directly between two components only.
BA method where a sender transmits the same message to multiple recipients using broadcast or multicast mechanisms.
CA technique for encrypting messages before sending them across different nodes.
DA communication pattern where all components in a system send messages to a single central controller
Lời giải
Truyền thông nhóm trong các ứng dụng phân tán được mô tả như sau: Trong khi truyền thông một đối một chỉ cho phép gửi tin tức giữa hai thành phần, thì truyền thông nhóm cho phép gửi tin tức đến nhiều thành phần cùng một lúc. Điều này được thực hiện thông qua các cơ chế phát sóng (broadcast) hoặc đa phát (multicast). Mỗi thành phần trong hệ thống có thể gửi tin tức đến nhiều thành phần khác, giúp tăng hiệu suất và giảm thời gian truyền thông. Điều này đặc biệt hữu ích trong các hệ thống phân tán lớn, nơi mà mỗi thành phần cần có thông tin từ nhiều nguồn khác nhau.
Mở trang câu hỏi này →