Câu hỏi ôn tập nhập môn công nghệ phần
mềm
Câu 1:
Để xem xét một dự án tin học có khả thi hay không thì cần phương pháp luận để đánh giá.
Với giả thiết không yêu cầu cài đặt đặc biệt nào cả, ứng dụng tự nó phải là nhân tố cơ bản để
quyết định phương pháp luận.
+ trong mt kinh doanh, các quy luật cơ bản để lựa chọn phương pháp luận nhằm đánh giá sự
phức tạp của ứng dụng 1 cách tốt nhất.
+ Nếu sự phức tạp trong thủ tục, 1 pp hướng xử lý là tốt nhất.
+ Nếu sự phức tạp trong liên kết dữ liệu, 1 pp luận hướng dữ liệu là tốt nhất.
+ Nếu bài toán dễ dàng chia nhỏ ra thành một chuỗi các bài toán nhỏ, mộ pp đối tượng sẽ là tốt
nhất.
+ Nếu dự án là nhằm xử lý trí tuệ nhân tạo hoặc bao gồm suy diễn, 1 pp luận ngữ nghĩa là tốt
nhất.
Câu 2:
* Phần mềm Rational rose:
- Rational Rose là một công cụ lập mô hình trực quan mạnh trợ giúp bạn phân tích và thiết kế các hệ
thống phần mềm hướng đối tượng. Nó được dùng để lập mô hình hệ thống trước khi bạn viết mã
(code). Dùng mô hình, bạn có thể bắt kịp những thiếu sót về thiết kế, trong khi việc chỉnh sửa chúng
vẫn chưa tốn kém. − Mô hình Rose là bức tranh về một hệ thống từ nhiều góc nhìn khác nhau. Nó
bao gồm tất cả các sơ đồ UML, các actor, các use case, các đối tượng, các lớp, các thành phần… Nó
mô tả chi tiết nội dung mà hệ thống sẽ gộp và cách nó sẽ làm việc.
Câu 3:
Mô tả mô hình 3 tầng của công nghệ phần mềm:
Mô hình 3 tầng hay còn gọi là mô hình 3-tiers: là một kiến trúc kiểu client/server mà trong đó giao
diện người dùng (UI-user interface), các quy tắc xử lý(BR-business rule hay BL-business logic), và
việc lưu trữ dữ liệu được phát triển như những module độc lập, và hầu hết là được duy trì trên các
nền tảng độc lập, và mô hình 3 tầng (3-tiers) được coi là một kiến trúc phần mềm và là một mẫu thiết
kế.
Như vậy, ta có thể mô hình này phân tách ứng dụng ra làm 3 module riêng biệt, bao gồm:
- Tầng Presentation: tầng này làm nhiệm vụ giao tiếp với người dùng cuối để thu thập dữ liệu và
các bước phân tích, thiết kế và cài đặt.
Các điểm chính của mô hình được tóm tắt như sau(học vở)
*Mô hình phát triển dựa trên thành phần:
Xuất phát từ quan điểm: “Buy do not build”, tư tưởng của phát triển dựa trên thành phần là lắp ráp
hệ thống dựa trên những thành phần đã có. Do vậy, kiến trúc phần mềm của hệ thống dựa vào kiến
trúc phần mềm của các thành phần phần mềm tiêu chuẩn nên hệ thống đạt chất lượng cao hơn.
Phương pháp phát triển thành phần dựa trên thành phần tương tự như phương pháp phát triển hướng
đối tượng. Hoạt động công nghệ bắt đầu với sự chỉ ra các lớp tham dự để phát triển hệ thống.
Thành phần phần mềm được sử dụng lại có độ chính xác cao và có thể nói là không chứa lỗi.
Khi những thành phần sử dụng lai được ứng dụng thông qua tiến trình phần mềm, chúng ta tốn ít
thời gian để tạo ra kế hoạch, mô hình, tài liệu, mã và dữ liệu mà chúng ta cần thiết để tạo ra hệ
thống. Thêm vào, chức năng cùng mức được phân phối cho người sử dụng với đầu vào ít công sức
hơn, hiệu suất phần mềm được cải thiện.
Câu 5: Tính toàn vẹn của tiêu chuẩn phần mềm:
Sản phẩm phần mềm có tính toàn vẹn khi nó:
- Có cơ chế thâm nhập bất hợp pháp vào phần mềm hay dữ liệu và ngăn ngừa việc phát sinh ra
những đối tượng (dữ liệu, đơn thể…) sai wy cách hoặc mâu thuẫn với các đối tượng sẵn có.
- Không gây ra nhập nhằng trong thao tác, đảm bảo nhất quán về cú pháp.
- Có cơ chế phục hồi lại toàn bộ hoặc một phần những đối tượng thuộc toàn bộ hoặc một phần
những đối tượng thuộc diện quản lý của sản phẩm trong trường hợp có sự cố như hỏng máy,
mất điện đột ngột.
Câu 6:
Khác nhau:
Đặc tả phi hình thức Đặc tả hình thức
- Là đặc tả sử dụng ngôn ngữ tự nhiên
- Không chặt chẽ.
- Được nhiều người biết và để trao đổi zới
nhau làm chính xác các điểm chưa rõ,
chưa thống nhất giữa các bên phát triển
hệ thống.
pháp tốt cho các yêu cầu bên ngoài, tập hợp được nhiều người dùng lwan.
- Họp nhóm vấn có hạn chế đó là có thể làm lãng phí time. Nói chung nên họp nhóm ít. Từ 1- 5
người, không mời nhưng ng k thjx hợp tránh làm lãng phí time.
Câu 8: Độ phức tạp cảm nhận của vấn đề tổ hợp p và q là lớn hơn độ phức tạp cảm nhận được
khi tách biệt từng vấn đề p và q để xem xét vì:
- Phần mềm được chia thành các phần có tên riêng biệt và định địa chỉ được, gọi là các module.
Gọi C(x) là hàm xác định độ phức tạp cảm nhận được của vấn đề x, và E(x) là hàm xác định
nổ lực cần có để giải quyết vấn đề x. Với 2 vấn đề p, q ta có:
+ Nếu C(p)>C(q) thì tổng quát suy ra E(p)>E(q) vì phải mất nhiều nổ lực hơn để giải quyết
vấn đề khó hơn.
+ Một đặc trưng được chỉ wa thực nghiệm là: C(p+q)>C(p)+C(q)
Như thế độ cảm nhận of vấn đề tổ hợp p và q là lớn hơn độ phức tạp nhận được khi tách biệt
từng vấn đề p và q để xem xét.
- Kết hợp ta có E(p+q)>E(p)+E(q). Điều này dẫn đến kết luận chia để trị cho việc để giải quyết
các vấn đề phức tạp.
Câu 9: Sự khác nhau giữa thiết kế hướng chức năng và thiết kế hướng đối tượng
Thiết kế hướng chức năng Thiết kế hướng đối tượng
- Là 1 cách tiếp cận thiết kế phần mềm
trong đó bản thiết kế được phân giải
thành 1 bộ các đơn thể tác động lẫn
nhau, là 1 đơn thể có 1 chức năng xác
định rõ ràng. Các chức năng có các
trạng thái cục bộ, chia sẻ trạng thái hệ
thống.
- Chiến lược thiết kế chức năng dựa trên
phân giải hệ thống thành 1 bộ các chức
năng có tương tác nhau với trạng thái hệ
thống tập trung dùng chung cho các
chức năng đó.
- Thiết kế hướng chức năng gắn với các
- Tìm kiếm tính hiệu quả trong đối thoại, vận động và ý nghĩa, dung thứ cho sai lầm.
- Phân loại các hoạt động theo chức năng và tổ chức màn hình hài hòa theo vùng.
- Cung cấp tiện nghi trợ giúp làm ngữ cảnh.
- Dùng các động từ đơn giản hay các cụm từ ngắn để đặt tên chỉ lệnh.
• Hướng dẫn về hiện thị thông tin:
- Chỉ hiển thị thông tin lwan đến ngữ cảnh hiện tại.
- Đừng chôn vùi người dùng dưới dữ liệu, hãy dùng định dạng trình bày cho phép hấp thu
nhanh chóng thông tin.
- Dùng nhãn nhất quán, cách viết tắt chuẩn và màu sắc dự kiến trước được.
- Cho phép người dùng duy trì ngữ cảnh trực quan.
- Đưa ra các thông báo lỗi có nghĩa.
- Dùng chữ hoa chữ thường, thụt cấp và gộp nhóm văn bản để trợ giúp cho việc hiểu.
- Use cửa sổ để đóng khung các thông tin khác nhau.
- Dùng cách hiển thị “tương tự” để biểu diễn thông tin dễ được hấp thụ hơn với dạng biểu diễn
này.
- Xem xét vùng hiển thị có sẵn trên màn hình và dùng nó 1 cách có hiệu quả.
• Hướng dẫn về vào dữ liệu:
- Tối thiểu số hành động đưa vào mà người use thực hiện.
- Duy trì sự nhất quán giữa hiện thị thông tin và cái vào dữ liệu.
- Cho phép người dùng làm phù hợp cái vào.
- Tương tác nên mềm dẻo và hài hòa với mode đưa vào ưa thix.
- Khử kích hợp các lệnh không phù hợp hiện tại.
- Để cho người dùng kiểm soát luồng tương tác.
- Cung cấp trợ giúp cho mọi hành động đưa vào.
Câu 11:
Case có các loại ICASE, Upper CASE và lower CASE. ICASE nghĩa là “Intergrated” CASE hay là
CASE tích hợp, “Upper” nghĩa là công cụ ý tưởng hay chỉ là thiết kế logic, “Lower” nghĩa là công
cụ chỉ hỗ trợ lập trình.
Câu 12: Độ tin cậy của phần mềm:
- Là độ đo về mức độ tốt của các dịch vụ mả hệ cung cấp cho máy tính. Cần chú ý là người
của tập hợp đó dũng sẽ được kiểm tra một cách kỹ càng.
- Phân tích cực biên: là 1 dạng nghiêm ngặt of phân hoạch cân bằng có use các giá trị biên hơn
bất cứ giá trị nào trong tập cân bằng.
- Đoán lỗi: dựa trên cơ sở trực giác và kinh nghiệm, các chuyên gia có thể dễ dàng kiểm tra các
điều kiện lỗi bằng cách đoán cái nào dễ xra nhất.
• Kiểm tra White-box:
Có 3 loại ktra hộp trằng là kiểm tra logic-logictest, chứng minh toán học – mathematical proof và
Cleanroom testing.
- Logic test:
+ Logic test có thể được chi tiết đến mức lệnh. Trong khi thực hiện of mọi lệnh là mục đích đáng
khen ngợi, có thể không kiểm tra tất cả các điều kiện thuộc chương trình.
+ Logic test nhìn vào mỗi quyết định trong module và san sinh các dữ liệu để tạo tất cả các kết quả
ra có thể. Có 1 vấn đề với logic test tại mức này là không test tình trạng của module đối với đặc tả.
Nếu ktra được phát triển dựa trên đặc tả mà đặc tả được dịch khác nhau bởi người lập trình thì ktra
sẽ k đúng. Giải pháp là đòi hỏi đặc tả chương trình đủ chi tiết và logic. Điều này có thể phù hợp với
ngôn ngữ thế hệ 1 và 2.
+ Các ktra nhiều điều kiện tạo mỗi kết quả ra cảu tiêu chuẩn đa quyết định và nhiều điểm vào
module. Khi được thiết kế phù hợp, test logic đa điều kiện có thể tối thiểu hóa các trương hợp ktra
nhiều nhất các điều kiện.
- Chứng minh bằng toán học: một phương pháp thep cách tiếp cận giảm thiếu sót về 0 là áp
dụng suy diễn toán học cho đòi hỏi logic, chứng minh tính đúng đắn của chương trình.
Phương pháp này đòi hỏi đặc tả ngôn ngữ dạng hình thức.
- Cleanroom testing: là mở rộng của pp cm bằng toán học. Lý thuyết của kỹ thuật này là ngăn
chặn các lỗi tại các đầu vào of quá trình xử lý, giá thành giảm, độ tin cậy lên và tiệm cận tới
không có lỗi. Cleanroom testing là KT ktra toán học hình thức và hội ý. Mục đích là phân tích
mọi module thành các chức năng và liên kết. Các phép ktra chức năng dùng kỹ thuật toán
học, các ktra lket use thuyết tập hợp.
Câu 15: Hoạt động của bảo trì phần mềm:
Gồm 4 hoạt động:
1. Bảo trì hiệu chỉnh:
- Việc thay đổi thiết kế chuyển thành các thay đổi lớn về chương trình.
- Các thay đổi ảnh hưởng đến việc chạy thử các trường hợp biên.
2. Hiệu ứng lề của việc thay đổi dữ liệu:
Hiệu ứng lề của việc xảy ra như là kết quả của việc thay đổi cấu trúc dữ liệu. Các thay đổi dữ liệu
sau đây thường gây ra lỗi:
- Định nghĩa lại các hằng số cục bộ và hằng số địa phương.
- Định nghĩa lại cấu trúc bản ghi hay cấu trúc file.
- Tăng hay giảm kích thước một mảng.
- Thay đổi dữ liệu tổng thể.
- Định nghĩa lại các cớ điều khiển và các con trỏ.
- Xếp lại các tham số vào ra hay tham số của chương trình con.
3. Hiệu ứng lề của việc thay đổi tài liệu:
Bất cứ lúc nào có thay đổi về luồng dữ liệu, cấu trúc phần mềm, các thủ tục hay bất cứ cái gì có liên
quan, tài liệu kỹ thuật phải được cập nhật. Hiệu ứng lề xảy ra trong các lần bảo trì sau đó, khi việc
nghiên cứu không kỹ các tài liệu kỹ thuật, dẫn tới sự đánh giá sai về các đặc tính của phần mềm.
Các hiệu ứng lề trong tài liệu có thể được giảm về căn bản nếu toàn bộ cấu hình được xem xét trước
khi phát hành phiên bản phần mềm tiếp sau.