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

ĐỀ CƯƠNG ÔN TẬP MÔN CÔNG NGHỆ PHẦN MỀM

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 (338.97 KB, 20 trang )

1

1

CÔNG NGHỆ PHẦN MỀM
Câu 1: Khái niệm phần mềm? Phân biệt phần mềm và phần cứng?
Phân loại phần mềm?
-

Phần mềm máy tính là sản phẩm do kỹ sư phần mềm thiết kế
và xây dựng, bao gồm các yếu tố sau:

+ Các chương trình máy tính (các tập lệnh) cung cấp các chức
năng mong muốn cụ thể nào đó,
+ Các cấu trúc dữ liệu trợ giúp chương trình thao tác với thông
tin, và
+ Các tài liệu mô tả hoạt động cũng như sử dụng chương trình.
Phân biệt phần mềm và phần cứng
-

Phần mềm là đối tượng logic, không giống như là phần
cứng:

+ Việc phát triển phần mềm không theo cách thức truyền thống
của sản phẩm
+ Phần mềm không bị hỏng hóc theo thời gian
+ “Custom-built”
Phân loại phần mềm?


Nhóm chương trình dịch: mỗi một ngôn ngữ có một chương





trình dịch riêng.
Nhóm các chương trình hệ thống (bao gồm cả các phần
mềm hđh): Gồm có những chương trình soạn thảo văn bản,
các chương trình đồ hoạ, hệ điều hành, …

1

1


2

2



Nhóm các tiện ích và trò chơi: chương trình xử lí bảng tính
điện tử, chương trình tìm và diệt virus, tất cả các trò chơi.
Nhóm các hệ quản trị CSDL
Nhóm các chương trình ứng dụng có tính hệ thống:
 Nhóm các chương trình xử lí dữ liệu đa năng: Chương trình




hệ chuyên gia, hệ mô phỏng, hệ tự động thiết kế, dạy học và
tự học.








Chương trình xử lí nhận dạng, phân tích, tổng hợp



tiếng nói, hình ảnh.
Tất cả những chương trình điều khiển qui trình

công nghiệp.
Nhóm các phần mềm thời gian thực
Nhóm các phần mềm nhúng
Nhóm các phần mềm thông minh

Câu 2: Kiến trúc phần mềm là gì? Thế nào là một phần mềm tốt?
Khái niệm kiến trúc phần mềm:
• Kiến trúc phần mềm (Software Architecture) <-> một cấu trúc
phần mềm và qua đó cung cấp một sự tích hợp chặt về mặt khái
niệm của hệ thống
• Qui trình thiết kế các hệ thống con cũng như mô hình điều
khiển/giao tiếp giữa các hệ thống con <-> architectural design.
Kết quả của qui trình thiết kế này chính là software
architecture.
• Kiến trúc phần mềm của một hệ thống bao gồm các thành phần
phần mềm, các thuộc tính của chúng cũng như mối quan hệ

giữa các thành phần.
Câu 3: Khái niệm phần mềm? Vai trò và đặc trưng của phần
mềm?
Câu 4: Khái niệm phần mềm? Nêu vắn tắt các giai đoạn phát
triển của phần mềm?

Tìm hiểu nhu cầu của khách hàng
-

2

2


3

3

Xác định rõ các chức năng

Sửa chữa và thử nghiệm nếu thấy cần thiết

Bàn giao sản phẩm cho khách hàng, tìm hiểu ý kiến
của khách hàng để quyết định nhân bản nếu nó tốt hoặc là để
sửa đổi. Đào tạo người sử dụng
Câu 5: Nêu sơ lược lịch sử phát triển của phần mềm? Tiêu chí để
đánh giá một phần mềm tốt hiện nay là gì?
Chương 2: Tiến trình phát triển phần mềm
Câu 6: Vòng đời của phần mềm? Mô hình vòng đời phần
mềm của Boehm?

Vòng đời phần mền là thời kỳ tính từ khi phần mền được sinh
(tạo) ra cho đến khi (từ lúc hình thành đáp ứng yêu cầu, vận hành,
bảo dưỡng cho đến khi không đâu dùng)
Vòng dời phần mền được chia thành các pha chính: phân tích,
thiết kế, chế tọa, kiểm thử, bảo trì, biểu diễn các pha có khác nhau
theo từng nghành


Câu 7: Phân tích mô hình thác nước? Ưu và nhược điểm của
mô hình?
Phân tích mô hình thác nước(tự vẽ hình)
1.
Phân tích yêu cầu và tài liệu đặc tả
Xác định những “đòi hỏi” (“What”) liên quan đến chức năng và
phi chức năng mà hệ thống phần mềm cần có.
Giai đoạn này cần sự tham gia tích cực của khách hàng và kết
thúc bằng một tài liệu được gọi là “Bản đặc tả yêu cầu phần
mềm” hay SRS (software requirement specification)

3

3


4

4

Bao gồm tập hợp các yêu cầu đã được duyệt (reviewed) và
nghiệm thu (approved) bởi những người có trách nhiệm đối

với dự án (từ phía khách hàng).
SRS chính là nền tảng cho các hoạt động tiếp theo cho đến
cuối dự án.
2. Phân tích hệ thống và thiết kế
Giai đoạn định ra “làm thế nào” (“How”) để hệ thống phần
mềm đáp ứng những “đòi hỏi” (“What”) mà khách hàng yêu
cầu trong SRS. Đây là chính là cầu nối giữa “đòi hỏi” (“What”)
và mã (Code) được hiện thực để đáp ứng yêu cầu đó.
3. Hiện thực và kiểm thử từng thành phần
Giai đoạn hiện thực “làm thế nào” (“How”) được chỉ ra trong
giai đoạn “Phân tích hệ thống và thiết kế”.
4. Kiểm thử (Test)
Giai đoạn này sẽ tiến hành kiểm thử mã (code) đã được hiện
thực, bao gồm kiểm thử tích hợp cho nhóm các thành phần và
kiểm thử toàn hệ thống (system test). Một khâu kiểm thử cuối
cùng thường được thực hiện là nghiệm thu (acceptance test),
với sự tham gia của khách hàng trong vai trò chính để xác định
hệ thống phần mềm có đáp ứng yêu cầu của họ hay không.
5. Cài đặt và bảo trì
Giai đoạn cài đặt, cấu hình và huấn luyện khách hàng. Giai
đoạn này sửa chữa những lỗi của phần mềm (nếu có) và phát
triển những thay đổi mới được khách hàng yêu cầu (như sửa
đổi, thêm hay bớt chức năng/đặc điểm của hệ thống).
Ưu điểm:
Giai đoạn kế tiếp chỉ bắt đầu khi giai đoạn hiện hành hoàn
tất
Người dùng cuối và khách hàng biết rõ
Nhược điểm:
Không quay lui
Phải đặc tả một cách chính xác yêu cầu ngay từ đầu

Sử dụng khi: xác định sản phẩm ổn định và đã biết rõ vấn đề kỹ
thuật
4

4


5

5

Câu 8: Phân tích mô hình xoắn ốc? Ưu và nhược điểm của mô
hình?

Quy trình
1. Xác định mục tiêu chất lượng cho sản phẩm được thực hiện,
đồng thời xác định sự lựa chọn mua, tái sử dụng hay tự thiết kế và
hiện thực các thành phần của hệ thống.
2. Phân tích sự lựa chọn và các rủi ro có thể xảy ra. Việc này
được thực hiện bởi nhiều hoạt động khác nhau thông qua làm mẫu
hay mô phỏng.
3. Phát triển và kiểm định sản phẩm ở mức tiếp theo dựa trên kết
quả định hướng được chỉ ra trong giai đoạn con số 2 (phân tích
rủi ro)
4. Kiểm duyệt tất cả các kết quả của các giai đoạn con xảy ra
trước đó và lập kế hoạch cho chu kỳ lặp tiếp theo.
Ưu điểm:
Tạo bản mẫu sớm
Cho phép người dùng tham gia vào các giai đoạn
5


5


6

6

Ưu tiên thực hiện trước những chức năng quan trọng
Nhược điểm:
Đánh giá rũi ro tốn nhiều chi phí
Phức tạp, khó quản lý, khó thuyết phục khách hàng
Sử dụng khi:
Những dự án có độ rũi ro cao, dự án cần nhiều thời gian
Kết hợp giữa lặp của mô hình tạo bản mẫu và mô hình thác
nước
Câu 9: Phân tích mô hình phát triển ứng dụng nhanh RAD? Ưu
nhược điểm của mô hình?

Mô hình phát triển nhanh (RAD - Rapid Application
Development) chính là mô hình tăng dần với chu kỳ phát triển
cực ngắn. Để đạt được mục tiêu này, RAD dựa trên phương pháp
phát triển trên cơ sở thành phần hóa hệ thống cùng với việc tái sử
dụng các thành phần thích hợp. RAD thích hợp cho những hệ
thống quản lý thông tin.
Luồng thông tin được mô hình hóa để trả lời các câu hỏi sau:
+ thông tin nào điều khiển xử lý nghiệp vụ
+ thông tin gì được sinh ra
+ ai sinh ra nó
6


6


7

7

+ thông tin đi đến đâu
+ ai xử lý chúng
Ưu điểm:
Thời gian phát triển ngắn
Cần ít nhân công
Giảm rũi ro nhờ có khách hàng tham gia
Nhược điểm:
Người phát triển phải có kỹ năng sử dụng công cụ tốt
Người phát triển và khách hàng pahir gắn bó và nỗ lực cao
Sử dụng khi:
Hệ thống có thể dễ dàng phân chia thành nhiều module
Biết rõ yêu cầu của hệ thống
Thời gian ngắn
Có thể sử dụng lại những thành phần đã có
Hệ thống nhỏ, không có tính nghiêm ngặt
Câu 10: Mô hình gia tăng? Ưu và nhược điểm của mô hình?

Ưu điểm: phù hợp với dự án vừa và nhỏ, các phần của dự án
phức tạp, các hệ thống có thời gian sống ngắn
Nhược điểm: cấu trúc hệ thống tồi, tiến trình không rõ ràng
Chương 3: Phân tích đặc tả yêu cầu
7


7


8

8

Câu 11: Anh (chị) hãy trình bày khái niệm yêu cầu phần
mềm, phần loại yêu cầu phần mềm ? cho ví dụ minh họa?
Khái niệm yêu cầu phần mềm:

Yêu cầu hệ thống là các mô tả dịch vụ được cung cấp
bởi hệ thống và các ràng buộc khi vận hành (operational
constraints).

Thể hiện nhu cầu của người sử dụng đối với hệ thống.
phần loại yêu cầu phần mềm
Yêu cầu chức năng:

Yêu cầu chức năng mô tả hệ thống sẽ làm gì.

Mô tả các chức năng hoặc các dịch vụ của hệ thống một
cách chi tiết.

Đặc điểm của yêu cầu chức năng:

Tính mập mờ, không rõ ràng của các yêu cầu: Xảy ra
khi các yêu cầu không được xác định cẩn thận.


Tính hoàn thiện và nhất quán (complete and consistent):
Chứa tất cả các mô tả chi tiết và không có sự xung đột,
đối ngược giữa các yêu cầu.
Yêu cầu phi chức năng:

Yêu cầu này không đề cập trực tiếp tới các chức năng cụ
thể của hệ thống, thường định nghĩa các thuộc tính như: độ
tin cậy, thời gian đáp ứng …và các ràng buộc của hệ thống
như: khả năng của thiết bị vào/ra, giao diện …

Các yêu cầu này có thể là hạn chế hơn những yêu cầu chức
năng. Nhưng nếu không được thoả mãn thì hệ thống sẽ
không sử dụng được.

Các yêu cầu này xuất hiện là do yêu cầu của người sử dụng,
ràng buộc về ngân sách, các chính sách của tổ chức sử dụng
hệ thống….

Phân loại các yêu cầu phi chức năng như sau:
 Các yêu cầu về sản phẩm xác định ứng xử của sản phẩm
như: hiệu năng, khả năng sử dụng, độ tin cậy, không gian,
linh động … của sản phẩm

8

8


9


9

Các yêu cầu về tổ chức: các yêu cầu này được lấy từ
những chính sách và quy tắc của khách hàng hoặc tổ chức
sử dụng hệ thống như: chuyển giao, cài đặt và hợp chuẩn
 Các yêu cầu ngoài: được xác định từ các tác nhân ngoài
của hệ thống như: tương thích, hợp quy tắc, luật, riêng tư
và an toàn.
Yêu cầu miền ứng dụng:
Được xác định từ miền ứng dụng của hệ thống và phản ánh các
thuộc tính và ràng buộc của miền ứng dụng.
Nó có thể là yêu cầu chức năng hoặc phi chức năng.
Nếu không được thoả mãn -> có thể hệ thống sẽ không làm việc
được.
Một số vấn đề liên quan đến yêu cầu miền ứng dụng:

Khả năng có thể hiểu được: các yêu cầu được biểu diễn
dưới ngôn ngữ của lĩnh vực ứng dụng.

Các chuyên gia hiểu biết về lĩnh vực của họ nhưng
không xác định được yêu cầu miền ứng dụng một cách
rõ ràng, mang tính kỹ thuật.







Câu 12. Anh (Chị) hãy trình bầy các kỹ thuật đặc tả yêu

cầu ?

Đặc tả bằng ngôn ngữ tự nhiên

Đặc tả bằng ngôn ngữ hướng cấu trúc
 Sử dụng ngôn ngữ hướng cấu trúc sẽ yêu cầu người viết đặc
tả tuân theo những mẫu được định nghĩa trước. Tất cả các
yêu cầu đều được viết theo chuẩn và các thuật ngữ được sử
dụng có thể bị hạn chế.
 Ưu điểm của phương pháp này là đạt được mức độ diễn tả
cao nhất của ngôn ngữ tự nhiên nhưng mức độ đồng nhất lại
bị lạm dụng trong các đặc tả.

Đặc tả dựa vào biểu mẫu

Định nghĩa các chức năng hoặc thực thể, mô tả đầu
vào và nơi xuất phát của nó, mô tả đầu ra và nơi nó sẽ đến.

Chỉ rõ những thực thể cần thiết, các điều kiện trước
và sau (nếu thích hợp), các ảnh hưởng của chức năng.
9

9


10

10






Biểu đồ trình tự
Biểu đồ trình tự biểu diễn trình tự các sự kiện xảy ra
khi người sử dụng tương tác với hệ thống.
Nếu ta đọc biểu đồ này từ đầu đến cuối thì ta sẽ thấy
được thứ tự của các hành động được thực hiện.

Câu 13. Anh (Chị) hãy trình bày quy trình xác định yêu cầu ?
• Mục tiêu của quy trình xác định yêu cầu là đưa ra các tài liệu
yêu cầu của hệ thống.
• Quy trình này biến đổi phụ thuộc vào miền ứng dụng, con
người và tổ chức xây dựng yêu cầu.
• Tuy nhiên, những quy trình này vẫn có chung một số hoạt động
sau: Phát hiện yêu cầu, phân tích yêu cầu, đánh giá yêu cầu và
quản lý yêu cầu.
• Trong thực tế, các yêu cầu luôn luôn thay đổi, thậm chí ngay cả
khi đang xây dựng hệ thống.
• Thường sử dụng mô hình xoắn ốc để xác định các yêu cầu.
• Mô hình này cho phép việc xác định yêu cầu và cài đặt hệ
thống được thực hiện cùng lúc.
• Kết quả của hoạt động này là các tài liệu yêu cầu phần mềm
Câu 14. Anh (Chị) hãy trình bày các kỹ thuật phân tích và xác
định yêu cầu?

Tiếp cận định hướng cách nhìn

Ghi nhận những cách nhìn khác nhau của những
người liên quan và sử dụng nó vào tiến trình phát hiện yêu

cầu và tổ chức các yêu cầu

Các góc độ khác nhau có thể được xem xét

Từ nguồn hay đích tới của dữ liệu

Từ khung làm việc

Từ sự tiếp nhận dịch vụ

Xác định yêu cầu định hướng cách nhìn gồm 4 giai đoạn cơ
bản:

Xác định viewpoint

Cấu trúc viewpoint

Làm tài liệu viewpoint
10

10


11

11

Ánh xạ hệ thống viewpoint

Kỹ thuật phân tích yêu cầu dựa trên mô hình


Được sử dụng rộng rãi để phân tích yêu cầu

Kỹ thuật này đi theo 2 hướng tiếp cận
 Tiếp cận định hướng chức năng (Hướng cấu trúc dựa trên
luồng dữ liệu)
 Tiếp cận hướng đối tượng

Tập trung hướng vào mô tả nghiệp vụ của hệ thống thực, kết
quả thu được là MÔ HÌNH NGHIỆP VỤ

Mô hình nghiệp vụ theo phương pháp này gồm:
 Mô hình ngữ cảnh: Mô tả hệ thống được xét trong môi
trường của nó
 Các mô hình cấu trúc chức năng mô tả cấu trúc chức năng
của hệ thống
 Mô tả chi tiết các chức năng: cho đến mức thấp nhất
 Mô tả các đối tượng dữ liệu: Theo hướng cấu trúc là bao
gồm tất cả các hồ sơ và bản mẫu, theo HĐT gồm các đối
tượng và khái niệm của thế giới thực
 Mô tả các mối liên kết của dữ liệu và chức năng – chỉ cần
thiết với cách tiếp cận hướng cấu trúc
 Từ điển giải thích

Kỹ thuật phân tích hình thức hoá

Dựa trên việc sử dụng các khái niệm, ký pháp và mô
hình toán học để phân tích và biểu diễn hệ thống
Phân tích sẽ không tách thành mô hình riêng. Kết quả của việc
phân tích và mô hình hóa cho ta ngay đặc tả của hệ thống

Câu 15. Anh (Chị) hãy trình bày Các kỹ thuật và phương pháp hỗ
trợ phân tích yêu cầu?
Lập kế hoạch quản lý yêu cầu: Các vấn đề cần phải có kế
hoạch:

Phương pháp Chỉ ra yêu cầu

Qui trình quản lý thay đổi

Các chính sách về mối quan hệ giữa các yêu cầu

Các công cụ CASE
Các phương pháp hỗ trợ phân tích:


11

11


12

12

Các mô hình hệ thống: Phương pháp biểu diễn yêu cầu hệ
thống một cách có kỹ thuật (thay vì văn bản dạng text)
• Use Case (UC)

UC chỉ ra chức năng của một hệ thống bằng cách mô
tả hành vi của hệ thống (nghĩa là tương tác giữa người sử

dụng và hệ thống).

UC có thể được sử dụng để mô tả hành vi của hệ
thống phần mềm.

Các khái niệm cơ bản trong UC:

Actor: Nhân vật sự dụng hệ thống để đạt được
một mục đích nào đó.

Primary actor là nhân vật chính khởi tạo một UC.

Hoạt cảnh (Scenario): Tập hợp các hành động
nhằm đạt được mục đích

Data Flow Diagram (DFD)

DFD phổ biến trong phân tích bài toán.

DFD thể hiện dòng dữ liệu trong một hệ thống. DFD
coi hệ thống như là một hàm chuyển dữ liệu đầu vào thành dữ
liệu đầu ra.

DFD biểu diễn sự di chuyển dữ liệu giữa các tiến
trình xử lý dữ liệu.

Ký hiệu trong DFD:

Tiến trình : Đường tròn


Dòng dữ liệu là đường cong có mũi tên

Hình chữ nhật là nguồn sinh hay tiêu thụ dữ liệu

Sự cần thiết nhiều dòng dữ liệu được biểu dễn bởi
“*” đặt giữa hai dòng (AND). Nghĩa là cả hai dòng đều
cần thiết.

Tương tự, kí hiệu “+” dùng cho phép toán OR.

Các mô hình khác

Mô hình ER cho phân tích dữ liệu
Mô hình đối tượng cho phân tích dự liệu


12

12


13

13

Câu 16. Anh (Chị) hãy trình khái niệm kiến trúc phần mềm,
vai trò của kiến trúc phần mềm, và các mô hình kiến trúc
phần mềm ?
- Khái niệm kiến trúc phần mềm:
• Kiến trúc phần mềm (Software Architecture) <-> một cấu trúc

phần mềm và qua đó cung cấp một sự tích hợp chặt về mặt
khái niệm của hệ thống
• Qui trình thiết kế các hệ thống con cũng như mô hình điều
khiển/giao tiếp giữa các hệ thống con <-> architectural
design. Kết quả của qui trình thiết kế này chính là software
architecture.
• Kiến trúc phần mềm của một hệ thống bao gồm các thành
phần phần mềm, các thuộc tính của chúng cũng như mối quan
hệ giữa các thành phần.
- Vai trò của kiến trúc phần mềm:
• Có vai trò quan trọng trong p/triển phần mềm (PM):

Công cụ giao tiếp giữa những người liên quan
(understanding and communication): Tài liệu mô tả kiến
trúc sẽ đựoc sử dụng bởi nhiều thành viên liên quan tới dự
án phần mềm

Để phân tích hệ thống/xây dựng hệ thống: Kiến trúc
phần mềm có thể được sử dụng để chỉ ra/dự đoán các thuộc
tính của hệ thống. Ngoài ra nếu kiến trúc phần mềm có
phân hoạch tốt, thì việc sử dụng phân hoạch để phát triển
các chức năng dễ dàng hơn.

Sử dụng lại ở quy mô lớn: Chúng ta có xu hướng sử dụng
lại các phần của phần mềm, do đó, kiến trúc là thông thông
tin quan trọng trong việc hiểu biết các phần của phần mềm.
• Kiến trúc không phải là thành phần hoạt động nhưng nó có tác
động sâu rộng đến quá trình phát triển PM, nó là một lọat mô
tả PM mà cho phép các kỹ sư PM thực hiện công việc:


Tăng cường hiểu biết về hệ thống cần xây dựng

Phân tích hiệu quả

Xem xét, sửa đổi kiến trúc từ sớm, giảm rủi ro
- Các mô hình kiến trúc phần mềm:
13

13


14

14

• Có

nhiều mô hình khác nhau, thường được nhìn nhận dưới một số
mặt:
 Mô hình kiến trúc tĩnh – các hệ con hay các thành phần được
phát triển độc lập
 Mô hình tiến trình động- hệ thống được tổ chức thành các
tiến trình vận hành
 Mô hình giao diện – xác định giao diện đưa ra các dịch vụ
 Mô hình liên kết – chỉ ra mối liên kết giữa các hệ con hay
giữa các thành phần
 Mô hình phân tán
• Cách nhìn khác

Module


Thành phần và kết nối (Component & Connector –
C&C)

Cấp phát (Allocation)
Câu 17. Anh (Chị ) hãy trình bày khái niện thiết kế và vai trò
của thiết kế ?
Khái niệm thiết kế:
• Là quá trình chuyển hóa các đặc tả yêu cầu phần mềm
thành một biểu diễn thiết kế của hệ thống phần mềm
cần xây dựng, sao cho người lập trình có thể ánh xạ nó
thành một chương trình.
Vai trò của thiết kế:
• Là cách duy nhất để chuyển hóa một cách chính xác
các yêu cầu của khách hàng thành mô hình thiết kế hệ
thống phần mềm cuối cùng làm cơ sở cho việc triển
khai chương trình của phần mềm
• Là công cụ giao tiếp giữa các nhóm cùng tham gia phát
triểm phần mềm, quản lý rủi ro, đạt được phần mềm
hiệu quả
• Là tài liệu cung cấp đầy đủ các thông tin cần thiết cho
để bảo trì hệ thống
• Nếu không có thiết kế thì hệ thống không tin cậy ->
nguy cơ thất bại cao. Thiết kế tốt là chìa khóa làm cho
phần mềm hữu hiệu.
14

14



15

15

Câu 17. Anh (Chị) hãy trình bày. Các bước trong giai đoạn
thiết kế, và hình thức biểu diễn thiết kế ?
Các bước trong giai đoạn thiết kế

Thiết kế kiến trúc: Xác định các hệ con tạo nên hệ thống tổng
thể và mối quan hệ giữa chúng

Đặc tả trừu tượng: Mô tả trừu tượng các dịch vụ của hệ con

Thiết kế giao diện thành phần

Thiết kế hệ thống giao diện người dùng

Thiết kế các thành phần

Thiết kế cấu trúc dữ liệu

Thiết kế thủ tục (thuật toán): Stepwise refinement
Các hình thức biểu diễn thiết kế:

Các biểu đồ: Biểu diễn các mối quan hệ giữa các thành
phần của hệ thống, vừa là mô hình mô tả thế giới thực

Ngôn ngữ mô tả chương trình: Dùng để kiểm tra và cấu
trúc các cơ cấu thiết kế dựa trên các cấu trúc của một ngôn ngữ
lập trình


Dạng văn bản không hình thức hóa: Mô tả các thông
tin không thể hình thức hóa được như thông tin phi chức năng
bên cạnh cách mô tả khác
Câu 18. Anh (Chị) hãy trình bày phương pháp thiết kế cấu
trúc?
• Hệ thống được phân chia thành các chức năng, bắt đầu ở mức
cao nhất, và được làm mịn dần
• Thường có 2 hoạt động độc lập: thiết kế dữ liệu và thiết kế xử

• 3 cấu trúc chuẩn là Tuần tự, chọn và lặp
- Thiết kế dữ liệu hướng cấu trúc:
• Gồm 2 bước: Thiết kế dữ liệu logic và thiết kế CSDL vật lý
• Thiết kế dữ liệu logic: Đầu vào của bước này là mô hình thực
thể quan hệ, được mô tả
• Thiết kế CSDL vật lý: Thực hiện trên cơ sở mô hình quan hệ
nhận được, lựa chọn hệ quản trị CSDL tiến hành phi chuẩn
hóa, thiết kế tệp
- Thiết kế xử lý:
15

15


16

16

• Gồm 2 bước: thiết kế xử lý logic & thiết kế kiến trúc modul
• Thiết kế xử lý logic: Xuất phát từ luồng dữ liệu vật lý, bỏ đi

các y/tố vật lý và cấu trúc lại để mô hình vẫn đảm bảo thực
hiện đúng các chức năng
• Thiết kế kiến trúc module: Trước hết cần xác định luồng hệ
thống từ biểu đồ luồng dữ liệu bằng cách chọn các tiến trình
máy thực hiện và phương thức thực hiện
- Ưu nhược điểm của phương pháp thiết kế dữ liệu hướng cấu
trúc:
• Đã có thời gian phát triển lâu dài nên các phương pháp và
các công cụ cũng đã hoàn thiện
• Có các hệ quản trị CSDL mạnh: SQLServer, Oracle trợ giúp
việc lưu trữ và tự động hóa cao
• Thích hợp với các bài toán xử lý trên các dữ liệu có thể mô
tả ở dạng bảng
• Tuy nhiên hạn chế với các bài toán dữ liệu đa dạng và đòi
hỏi nhiều đối tượng tương tác với nhau
• Nếu hệ thống sử dụng CSDL dùng chung thì khó sử dụng lại
và sai sót ở một số bộ phận thì ảnh hưởng đến toàn hệ thống
- Các bước trong thiết kế hệ thống hướng cấu trúc:
• Phát biểu lại bài toán như một DFD
• Chỉ ra các thành phần dữ liệu vào/ra
• Phân chia mức cao
• Phân chia ở mức chi tiết
Câu 19. Anh (Chị) hãy trình bày phương pháp thiết kế hướng đối
tượng ?


Hệ thống được nhìn nhận như một bộ các đối tượng tương
tác với nhau, đối tượng gồm dữ liệu + thao tác




Một lớp được xác định = thuộc tính+phương thức, có tính kế
thừa cao



Các đối tượng liên lạc với nhau bằng các thông điệp

16

16


17

17

Hiện nay đã có một số công cụ hỗ trợ mạnh.


-

Khái niệm về Thiết kế hướng đối tượng:
Là một phần của của chiến lược phát triển định hướng
đối tượng



Đầu vào là các mô hình nhận được ở giai đoạn phân




tích
Gồm các bước:



-



Xác định kiến trúc của hệ thống



Sắp thứ tự ưu tiên các gói



Với mỗi gói thiết kế ca sử dụng tương ứng



Xây dựng biểu đồ tương tác



Thiết kế chi tiết các lớp




Phân tích và hoàn thiện biểu đồ lớp dựa trên mẫu
thiết kế

Ưu và nhược điểm của phương pháp:


Dễ bảo trì, mọi thay đổi của đối tượng không làm ảnh
hưởng đến các đối tượng khác



Các đối tượng có thể sử dụng lại được



Có thể phản ánh được thế giới thực một cách cụ thể



Tuy nhiên có nhược điểm như: khó thực hiện vì khó
xác định đối tượng của hệ thống. Thường cách nhìn tự
nhiên là nhìn chức năng.

Câu 20. Anh (Chị) hãy cho biết Sự khác nhau giữa thiết kế
hướng chức năng và thiết kế hướng đối tượng?
17

17



18

18

Câu 21. Anh (Chị) trình bày khái niệm và mục đích thiết kế
giao diện người dùng ?
Khái niệm (kí hiệu UI): Là không gian nơi mà sự tương tác giữa
người sử dụng và máy tính được thực hiện.
Mục đích thiết kế giao diện người dùng
Chương 5: Lập trình hiệu quả
Câu 22: Một ngôn ngữ lập trình có các yếu tố đặc trưng cơ
bản gì?
Câu 28: Trình bày ngắn gọn hiểu biết của anh/chị về lập trình
hướng thủ thục?
Là việc viết chương trình để máy tính thực hiện nhằm giải quyết
một vấn đề (bài toán) cho trước. Quá trình này bao gồm: việc
phân tích vấn đề, tìm ra thuật toán giải; viết chương trình (diễn tả
thuật toán theo một ngôn ngữ lập trình đã chọn); thử chương trình
trên máy tính và sửa lỗi cho tới khi chương trình chạy thông trên
máy, đáp ứng yêu cầu đã đặt ra.
Phương pháp thủ tục chia một chương trình (chức năng) lớn thành
các khối chức năng hay hàm (thủ tục) đủ nhỏ để dễ lập trình và
kiểm tra. Mỗi hàm có một điểm bắt đầu và một điểm kết thúc và
có dữ liệu và logic riêng. Trong một hệ thống chương trình, các
biến có các phạm vi nhìn thấy nhất định. Trong chương trình, các
hàm làm việc độc lập với nhau. Dữ liệu được chuyển đổi qua lại
thông qua các tham số gọi hàm. Việc chia chương trình thành các
hàm cho phép nhiều người có thể tham gia vào việc xây dựng
chương trình

Câu 29: Trình bày ngắn gọn hiểu biết của anh/chị về lập trình
hướng đối tượng?
18

18


19

19


Là kĩ thuật lập trình hỗ trợ công nghệ đối tượng. OOP được
xem là giúp tăng năng suất, đơn giản hóa độ phức tạp khi bảo trì
cũng như mở rộng phần mềm bằng cách cho phép lập trình viên
tập trung vào các đối tượng phần mềm ở bậc cao hơn. Ngoài ra,
nhiều người còn cho rằng OOP dễ tiếp thu hơn cho những người
mới học về lập trình hơn là các phương pháp trước đó.

Một cách giản lược, đây là khái niệm và là một nỗ lực nhằm
giảm nhẹ các thao tác viết mã cho người lập trình, cho phép họ
tạo ra các ứng dụng mà các yếu tố bên ngoài có thể tương tác với
các chương trình đó giống như là tương tác với các đối tượng vật
lý.

Những đối tượng trong một ngôn ngữ OOP là các kết hợp
giữa mã và dữ liệu mà chúng được nhìn nhận như là một đơn vị
duy nhất. Mỗi đối tượng có một tên riêng biệt và tất cả các tham
chiếu đến đối tượng đó được tiến hành qua tên của nó. Như vậy,
mỗi đối tượng có khả năng nhận vào các thông báo, xử lý dữ liệu

(bên trong của nó), và gửi ra hay trả lời đến các đối tượng khác
hay đến môi trường.


19

Ra đời từ những năm 1980.

19


20

20

Chương 7: Kiểm thử phần mềm
Câu 30: Kiểm thử phần mềm là gì?
+ kiểm thử là một tỏng những giai đoạn quan trọng trong phát
triển phần mền, là mấu chốt của đảm bảo chất lượng phần mền
+ kiểm thử là tiến trình xem xét lại đặc tả, thiết kế và mã
hóa...nhằm phát hiện lỗi phần mềm
+ kiềm thử thành công khi phát hiện ra lỗi; kiểm thử không phát
hiện ra lỗi là kiểm thử dở
Câu 31: Có những loại kiểm thử nào?
-

-

-


-

-

-

20

Kiểm thử đơn vị: là bước kiểm thử đối với từng chức năng
(hàm) nhằm mục đích chính phát hiện lỗi lập trình. Người ta
thường sử dụng nhiều kiểm thử cấu trúc
Kiểm thử mô đun: nếu hệ thống bao gồm một số hệ con độc lập
thì đây là bước tiến hành kiểm thử với từng hệ con riêng biệt
Kiểm thử hệ con: nếu hệ thống bao gồm một số hệ con độc lập
thì đây là bước tiến hành kiểm thử với từng hệ con riêng biệt
Kiểm thử hệ thống (tích hợp): kiểm thử sự hoạt động tổng thể
hệ thống, kiểm tra tính đúng đắn của giao diện, tính đúng đắn
với đặc tả, và tính dùng được. Chủ yêu ssuwr dụng kiểm thử
chức năng
Kiểm thử phu (alpha): kiểm thử được tiến hành bởi một nhóm
nhỏ người sử dụng được sự hướng dẫn cảu người phát triển, sử
dụng các dữ liệu thực, thẩm định tính dùng được của hệ thông
Kiểm thử beta: là mở rộng của kiểm thử alpha, được tiến hành
với một số lớn người sử dụng không có hướng dẫn của người
phát triển, kiểm tratinhs ổn định, điểm tốt và không tốt của hệ
thống

20




×