Tải bản đầy đủ (.docx) (19 trang)

Form đề, các dạng câu hỏi ôn tập KỸ NGHỆ PHẦN MỀM_Neu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.19 MB, 19 trang )

ÔN TẬP THI
KỸ NGHỆ PHẦN MỀM
I.


II.
1.

2.

Nội dung ôn thi
Đề thi sẽ bao gồm 2 câu
+ Câu 1: trình bày tóm tắt 1 vấn đề lý thuyết và cho VD minh họa, ôn theo hệ thống câu hỏi ở dưới.
+ Câu 2: Trình bày kết quả phân tích thiết kế 1 phần mềm bao gồm các nội dung sau:
. Tóm tắt rất ngắn gọn quy trình nghiệp vụ xử lý của phần mềm: ví dụ quy trình bán hàng, quản lý nhân sự
phần mềm sẽ thực hiện.
. Nêu các kết quả phân tích thiết kế bao gồm: sơ đồ BFD, sơ đồ ngữ cảnh, sơ đồ DFD mức 0, mức 1, sơ đồ
quan hệ thực thể nếu chọn thiết kế từ thực thể
(nếu dung phân tích thiết kế hướng đối tượng thì nêu các sơ đồ theo hướng đối tượng)
Câu hỏi ôn tập
Trình bày khái niệm phần mềm theo quan điểm của Roger Pressman. Các đặc trưng cơ bản của
phần mềm?
Roger Pressman: là một tập hợp gồm 3 thành tố: + Chương trình máy tính + Các kiểu cấu trúc dữ liệu vận
hành các chương trình ấy + Tài liệu hướng dẫn sử dụng phần mềm
Các đặc trưng cơ bản:
1- Phần mềm được kỹ nghệ hóa
2- Phần mềm khơng bị hỏng đi trong quá trình sử dụng
3- Phần mềm được sáng chế theo đơn đặt hàng chứ không được lắp ráp từ các thành phần có sẵn
Mơ hình vịng đời phát triển của phần mềm. Nội dung của mỗi công đoạn trong mơ hình này?
Vịng đời phát triển của phần mềm là quá trình từ khi phần mềm ra đời cho đến khi đưa vào sử dụng và cuối
cùng là kết thúc hoạt động của nó.



+ Thời kỳ hình thành: Đây là giai đoạn đưa ra ý tưởng xây dựng phần mềm, tiến hành xác
định yêu cầu phần mềm, đánh giá tính khả thi về dự án xây dựng phần mềm trên các góc
độ kinh tế, kỹ thuật, tổ chức.
+ Thời kỳ phát triển: Giai đoạn này biến ý tưởng trở thành thực tế. Nhà phân tích hệ
thống, người lập trình và người sử dụng cùng làm việc với nhau để phân tích các nhu cầu
xử lý thơng tin và thiết kế ra phần mềm. Đặc tả thiết kế được chuyển thành các chương
trình và phần mềm được thiết kế và cài đặt
+ Thời kỳ triển khai: Sau khi cài đặt, phần mềm bước vào giai đoạn vận hành phục vụ cho nhu cầu xử lý
thông tin của công ty. Giai đoạn khai thác là giai đoạn dài nhất trong cả 4 giai đoạn (thường kéo dài từ 4-7


năm). Trong giai đoạn này phần mềm liên tục được sửa đổi hoặc bảo trì để nó đáp ứng được nhu cầu sử
dụng của doanh nghiệp
+ Thời kỳ thoái hoá: Hệ thống quản lý ngày càng phát triển lên một qui mơ mới, các q
trình tính tốn ra quyết định và quy trình xử lý thơng tin trở nên rất phức tạp đã ảnh
hưởng đến tính hiệu quả của phần mềm. Phần mềm khơng thể bảo trì được nữa và việc
duy trì nó khơng cịn kinh tế và hiệu quả nữa. Lúc này nó sẽ bị loại bỏ và chấm dứt vòng đời hoạt động.
Người ta phải xây dựng hệ thống mới. Tuy vậy, có thể một số mơ đun của nó được tái sử dụng. Xác định
vịng đời phát triển của phần mềm dẫn tới việc cần xem xét đưa cả yếu tố loại bỏ nó ngay trong quá trình
xây dựng và phát triển của nó.
3. Phương pháp phân loại phần mềm tin học?

4.

Khái niệm kỹ nghệ phần mềm, mơ hình 3 tầng của kỹ nghệ phần mềm?
Roger Pressman: Kỹ nghệ phần mềm là một tổ hợp gồm 3 thành tố là công cụ, phương pháp, thủ tục giúp
cho kỹ sư phần mềm và nhà quản lý dự án có các chuẩn mực chung làm cơ sở nhằm sản xuất ra được các



sản phẩm phần mềm có chất lượng cao

5.

Khái niệm đặc tả u cầu phần mềm? Mơ hình xác định đặc tả yêu cầu phần mềm?
Đặc tả yêu cầu phần mềm SRS (Software Requirement Specification- SRS) chỉ rõ phạm vi của sản phẩm,
các chức năng cần có, đối tượng người sử dụng phần mềm và các ràng buộc khi sử dụng sản phẩm. Đây là
tài liệu chính thức cho người phát triển phần mềm
Nhà khoa học Henninger [5] đã đưa ra 6 yêu cầu cho một tài liệu yêu cầu phần mềm như sau:
- Chỉ mô tả hoạt động của hệ thống từ bên ngoài
- Phải chỉ ra được các ràng buộc của hệ thống khi vận hành
- Dễ thay đổi
- Là tài liệu tham khảo cho người bảo trì hệ thống
- Dự tốn trước được vịng đời của hệ thống
- Mô tả được các đáp ứng đối với những sự cố, thay đổi ngồi dự tính
- Mơ hình xác định đặc tả yêu cầu phần mềm

6.

Khái niệm trừu tượng trong thiết kế phần mềm? Cho ví dụ minh họa?
Tính trừu tượng (Abstraction) là một trong bốn tính chất cơ bản của Lập trình hướng
đối tượng (Object-oriented programming – viết tắt là OOP). Hiểu đơn giản, Tính trừu


-

tượng dùng để chỉ quá trình ẩn việc triển khai thực tế của một ứng dụng khỏi người
dùng. Thay vào đó, lập trình viên chỉ nhấn mạnh vào cách sử dụng ứng dụng.
Ví dụ minh họa:
Một chiếc xe hoạt động cần rất nhiều bộ phận bên trong làm việc, nhưng tất cả những

thơng tin đó khơng cần thiết với người lái. Người lái chỉ cần sử dụng những công cụ
như: bàn đạp ga, phanh, vô lăng, đèn nháy. Các kỹ thuật phức tạp đều được ẩn khỏi
trình điều khiển. Nghĩa là bạn chỉ cần biết cách lái xe, chứ không cần quan tâm những
chi tiết về cách thức động cơ hoạt động.
Tương tự, có rất nhiều cách để máy tính của bạn kết nối với một mạng cục bộ, như
Ethernet, Wi-Fi, modem quay số,… Tuy nhiên, trình duyệt Web khơng phải bận tâm
đến việc bạn dùng mạng nào, bởi vì các phần mềm sẽ cung cấp một khái niệm trừu
tượng chung để trình duyệt hiểu. Trong trường hợp này, “kết nối mạng” là sự trừu
tượng, còn Ethernet và Wi-Fi,… là những triển khai cho sự trừu tượng đó.

7.

Khái niệm mơ đun hóa trong thiết kế phần mềm? Cho ví dụ minh họa?

8.

Phương pháp Top Down Design. Cho ví dụ minh họa?
+ Xác định mơ đun tổng qt mà bài tốn cần
giải quyết
+ Tiến hành phân rã các mô đun, tức là chuyển
dần từ mơ đun chính đến các mơ đun con từ
trên xuống dưới
+ Tích hợp hệ thống




9.

Phương pháp Bottom Up Design. Cho ví dụ minh họa?

+ Ghép các mơ đun thành nhóm có cùng chức
năng
+ Tiến hành phát triển thêm các mơ đun trong
mỗi nhóm


+ Tích hợp hệ thống




10.

Khái niệm kiến trúc phần mềm. Mơ hình chuyển từ P => S (Từ vấn đề sang giải pháp phần mềm)?
Cho ví dụ minh họa?
Kiến trúc phần mềm
Kiến trúc phần mềm nói lên hai đặc trưng quan trọng của chương trình máy tính:
+ Cấu trúc cấp bậc của các mơ đun
+ Cấu trúc dữ liệu.


11.

Trình bày mơ hình How- What và các nội dung trong mỗi cơng đoạn của mơ hình này?

12.

Trình bày mơ hình tổng thể của phương pháp phân tích và thiết kế có cấu trúc SADT (Structured
Analysis and Design Technology)?
+ SADT dựa trên ngun lý sử dụng mơ hình và



phân tích từ đỉnh xuống (Top down)
+ SADT sử dụng 3 cơng cụ kinh điển trong phân
tích hệ thống có cấu trúc:
- Biểu đồ ngữ cảnh CD
- Biểu đồ chức năng BFD
- Biểu đồ luồng dữ liệu DFD

13.

Trình bày mục đích, ký pháp của biểu đồ ngữ cảnh CD (Context Diagram)? Cho ví dụ minh họa?


Ví dụ quản lý siêu thị:


14.

Trình bày mục đích, ký pháp của biểu đồ chức năng BFD (Business Function Diagram)? Cho ví dụ
minh họa?

Ví dụ: QL siêu thị


15.

Trình bày mục đích, ký pháp của biểu đồ luồng dữ liệu DFD (Data Flow Diagram)? Cho ví dụ minh
họa?


Ví dụ : QL siêu thị


16.

-

Trình bày nội dung cơ bản của các giai đoạn thiết kế? (Thiết kế kiến trúc hệ thống, thiết kế dữ liệu,
thiết kế giải thuật, thiết kế giao diện)
Kiến trúc phần mềm (Software Architecture) xác định một cấu trúc tổng thể của phần mềm và qua đó cung
cấp một sự tích hợp về mặt khái niệm cho một hệ thống đang xem xét
Vai trò của thiết kế kiến trúc phần mềm
Kiến trúc phần mềm là công cụ giao tiếp giữa những người có liên quan trong quy trình sản xuất phần mềm
Kiến trúc phần mềm là cơ sở để tiến hành phân tích hệ thống
Kiến trúc phần mềm là cơ sở để sử dụng lại phần mềm cho các hệ thống có yêu cầu tương tự

Giải thuật là các quy trình xử lý dữ liệu, các phương thức tính tốn trong hệ thống. Trong phần này người ta
tiến hành thiết kế các giải thuật chính của chương trình như giải thuật đăng nhập, giải thuật nạp dữ liệu, các
giải thuật xử lý, giải thuật in ấn các kết quả tính toán dưới dạng các bản báo cáo. Dưới đây là ví dụ minh
họa một số giải thuật
. THIẾT KẾ GIAO DIỆN
Giao diện là công cụ giao tiếp giữa người sử dụng và máy tính.
Các nguyên tắc thiết kế giao diện:
+ Khn dạng màn hình nhập liệu phải được thiết kế giống như khuôn dạng của tài liệu
gốc. Không yêu cầu người sử dụng phải ghi nhớ thông tin từ màn hình này sang màn


hình khác.
+ Nên nhóm các trường thơng tin trên màn hình theo một trật tự có ý nghĩa tự nhiên,
theo tần số sử dụng, theo chức năng hoặc tầm quan trọng.

+ Không bắt người dùng phải nhập các thông tin thứ sinh tức là những thơng tin có thể
tính tốn được hoặc suy luận được từ những thông tin đã có.
+ Tự động cập nhật những giá trị ngầm định nếu có thể.
+ Sử dụng phím Tab, phím Enter để chuyển đến các trường thông tin tiếp theo
Các phương pháp thiết kế giao diện:
+ Phương pháp thiết kế đối thoại
+ Phương pháp thiết kế thực đơn
+ Phương pháp thiết kế kiểu điền mẫu
17. Trình bày khái niệm quản lý dự án phần mềm? Nội dung các giai đoạn trong quản lý dự án phần
mềm?
Quản lý dự án phần mềm là tập hợp các công việc được thực hiện bởi một tập thể (có thể có chun mơn
khác nhau, thực hiện công việc khác nhau, thời gian tham gia dự án khác nhau) nhằm đạt được mục tiêu ban
đầu đã đề ra.
1. Khởi tạo dự án (Initiating): Giai đoạn này thực hiện việc định nghĩa một dự án mới hoặc một phát sinh
(hoặc trộn lẫn) mới của một dự án có sẵn như: Xác định yêu cầu của dự án, mức độ ưu tiên của dự án, phân
tích các yêu cầu đầu tư, phân công trách nhiệm cho các bộ phận triển khai.
2. Lập kế hoạch dự án (Planning): Giai đoạn này yêu cầu thiết lập phạm vi công viêc của dự án, điều chỉnh
lại mục tiêu và xác định đường đi tới mục tiêu đó.
3. Triển khai (Executing): Giai đoạn này thực hiện hồn thành các cơng việc được xác định trong phần lập
kế hoạch để đảm bảo các yêu cầu của dự án.
4. Giám sát và kiểm soát (Monitoring & Control): Giai đoạn này yêu cầu việc theo dõi, rà soát và điều
chỉnh lại tiến độ và khả năng thực hiện của dự án.
Theo dõi các rủi ro, thay đổi, phát sinh trong q trình thực hiện và có những đề xuất điều chỉnh kịp thời.
5. Đóng dự án (Closing): Giai đoạn này thực hiện để kết thúc tất cả các hoạt động của dự án để chính thức
đóng lại dự án.
18. Trình bày nội dung lập lịch quản lý tiến trình dự án phần mềm?


19.


-

-

Trình bày phương pháp KLOC xác định qui mơ phần mềm? Cho ví dụ minh họa?
Phương pháp đo theo số dòng lệnh KLOC: đây là cách đo trực tiếp cho một sản phẩm phần mềm bao gồm
việc đo về chi phí và cơng sức phải bỏ ra. các đo trực tiếp cho một sản phẩm phần mềm bao gồm số dịng
lệnh chương trình (LOC) hay ngàn dịng lệnh chương trình (KLOC) được tạo ra, tổng số tiền cần chi phí và
những khiếm khuyết được phát hiện ra trong quá trình sử dụng phần mềm. Có 3 chỉ tiêu quan trọng nhất để
đánh giá trực tiếp 1 phần mềm:
Chỉ tiêu 1: Hiệu năng = KLOC/ngườitháng
Chỉ tiêu 2: Chất lượng = (100 - Khiếm khuyết / KLOC)/100
Chỉ tiêu 3: Chi phí = Tổng số tiền /KLOC
Ví dụ minh họa:


Kiểm thử phần mềm là gi? Khái niệm kiểm thử hộp trắng và kiểm thử hộp đen?
- Kiểm thử phần mềm (kiểm tra, thử nghiệm) là quy trình được tiến hành để đánh giá chất lượng của sản
phẩm phần mềm. Kiểm thử cung cấp cho doanh nghiệp một cách nhìn độc lập về phần mềm để từ đó có thể
đánh giá và thấu hiểu được những rủi ro trong quá trình triển khai phần mềm
- Kiểm thử hộp trắng hay còn gọi là kiểm thử cấu trúc (Structural testing) là hình thức kiểm thử dựa trên giải
thuật, cấu trúc các lệnh bên trong của chương trình với đảm bảo rằng tất cả các câu lệnh và điều kiện sẽ
được thực hiện ít nhất một lần
- Kiểm thử hộp đen hay còn gọi là kiểm thử chức năng (Functional Testing) là một phương pháp kiểm thử
phần mềm được thực hiện mà không biết được cấu tạo bên trong của phần mềm và người ta coi hệ thống
như một chiếc hộp đen khơng nhìn thấy được bên trong của nó
21. Trình bày khái niệm bảo trì phần mềm và nội dung 4 loại bảo trì phần mềm?
- Khái niệm bảo trì phần mềm: Theo IEEE (1993), bảo trì phần mềm (Software maintenance) là việc sửa đổi
một phần mềm sau khi đã bàn giao để điều chỉnh lại các lỗi phát sinh, cải thiện hiệu năng của phần mềm
hoặc các thuộc tính khác, hoặc làm cho phần mềm thích ứng trong một mơi trường đã thay đổi.

- 4 loại bảo trì phần mềm:
● Bảo trì sửa đổi (Corrective): sửa các lỗi hoặc hỏng hóc phát sinh do lỗi thiết kế, lỗi logic hoặc lỗi coding
sản phẩm, lỗi xử lý dữ liệu, lỗi phát sinh trong quá trình hoạt động của hệ thống.
● Bảo trì thích nghi (Adaptative): Bảo trì thích nghi là hoạt động sửa chữa phần mềm để thích ứng được với
những thay đổi của mơi trường bên ngồi nhằm duy trì và quản lý phần mềm theo vịng đời của nó.
● Bào trì hồn thiện (Complete): hoạt động sửa đổi phần mềm theo các yêu cầu ngày càng hoàn thiện hơn,
đầy đủ hơn và hợp lý hơn của người sử dụng. Loại bảo trì này tập trung nâng cao chức năng của hệ thống,
hoặc các hoạt động tăng cường hiệu năng của hệ thống
20.




Bào trì phịng ngừa (Preventive): mục đích là làm cho hệ thống dễ dàng bảo trì hơn trong những lần tiếp
theo. Bảo trì phịng ngừa là hoạt động chỉnh sửa chương trình có tính đến tương lai của hệ thống sẽ được
mở rộng và thay đổi như thế nào



×