1. Trang chủ
  2. » Giáo Dục - Đào Tạo

CÂU hỏi ôn tập CÔNG NGHỆ PHẦN mềm

26 396 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 254,45 KB

Nội dung

CÂU HỎI ÔN TẬP CÔNG NGHỆ PHẦN MỀM Chương 1: Tổng quan về công nghệ phần mềm Chương trình máy tính: mã nguồn, mã máy  Cấu trúc dữ liệu: cấu trúc làm việc bộ nhớ trong, cấu trúc lưu trữ

Trang 1

CÂU HỎI ÔN TẬP CÔNG NGHỆ PHẦN MỀM Chương 1: Tổng quan về công nghệ phần mềm

 Chương trình máy tính: mã nguồn, mã máy

 Cấu trúc dữ liệu: cấu trúc làm việc (bộ nhớ trong), cấu trúc lưu trữ (bộ nhớngoài)

 Các tài liệu liên quan: Hướng dẫn sử dụng (người dùng), tham khảo kỹthuật (người bảo trì), tài liệu phát triển (nhà phát triển)

o Phần mềm trí tuệ nhân tạo

o Phần mềm dựa trên nền web

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?

Trả lời:

Trang 2

Kiến trúc phần mềm của một chương trình máy tính hay một hệ thống tính toán là cấu

trúc của các thành phần trong hệ thống đó Kiến trúc phần mềm bao gồm các phần

tử phần mềm, các thuộc tính và mối quan hệ giữa chúng

Tiêu chí phần mềm tốt hiện nay ??

Người dùng:

 Đủ chức năng nghiệp vụ

 Dễ sử dụng, tinh vi (tính thông minh)

 Tin cậy, an toàn

 Chương trình máy tính: mã nguồn, mã máy

 Cấu trúc dữ liệu: cấu trúc làm việc (bộ nhớ trong), cấu trúc lưu trữ (bộ nhớngoài)

 Các tài liệu liên quan: Hướng dẫn sử dụng (người dùng), tham khảo kỹthuật (người bảo trì), tài liệu phát triển (nhà phát triển)

Vai trò của phần mềm

 Phần mềm – linh hồn của các hệ thống máy tính

 Có vai trò nền tảng của mọi hoạt động xã hội tổ chức

 Mọi nền kinh tế phụ thuộc rất lớn vào phần mềm

 Phần mềm sai hỏng, kinh tế tổn thất lớn

Đặc trưng của phần mềm

Không mòn cũ, những thoái hóa theo thời gian

Môi trường sử dụng, nhu cầu thay đổi

Lỗi phát sinh tăng do nâng cấp

 Không được lắp ráp từ mẫu có sẵn

 Phức tạp, khó hiểu, vô hình

 Phần mềm là hệ thống logic khó hiểu

Trang 3

 Để hiểu phải tư duy trừu tượng

 Chương trình máy tính: mã nguồn, mã máy

 Cấu trúc dữ liệu: cấu trúc làm việc (bộ nhớ trong), cấu trúc lưu trữ (bộ nhớngoài)

 Các tài liệu liên quan: Hướng dẫn sử dụng (người dùng), tham khảo kỹthuật (người bảo trì), tài liệu phát triển (nhà phát triển)

Giai đoạn phát triển phần mềm :

Giai đoạn 2: giữa thập kỷ 70

 Sản phẩm: đa dạng, đa người sử dụng

 Xử lý số, ký tự, theo lô, thời gian thực

 Xuất hiện lưu trữ trực tuyến

 Ngôn ngữ: Algol, Fortran

Tiêu chí đánh giá:

- Nhanh

- Giải được bài toán lớn

- Nhiều người dùngCông nghệ:

Bán dẫn (nhanh hơn, bộ nhớ khá hơn), CSDL

Trang 4

Yêu cầu bảo trì (sửa lỗi, thích nghi)

Giai đoạn 3: đầu những năm 1990

 Phần mềm cá nhân + mạng, hệ lớn, chia sẻ được

 Ra đời phần mềm nhúng

 Xử lý số, ký tự, âm thanh, hình ảnh; theo lô, thời gian thực, phân tán, songsong

 Truy nhập dữ liệu phát triển, từ xa

 Ngôn ngữ: bậc cao, hướng đối tượng, logic

 Tiêu chí: Tiện dụng, tin cậy, dễ bảo trì

 Công nghệ: mạch tích hợp lớn, vi mạch, các cấu hình mạng Internet, CSDLquan hệ

Giai đoạn 4: từ năm 1990 đến nay

 Phần mềm lớn, tinh vi, tin cậy, hướng người dùng

 Hệ chuyên gia, trí tuệ nhân tạo, phần mềm nhúng, webserrvice sử dụng rộngrãi, internet mở rộng

 CSDL hướng đối tượng, kho dữ liệu phát triển

 Ngôn ngữ: hướng đối tượng, thế hệ thứ 4, visual

 Tiêu chí: Tiện dụng, tinh vi, tin cậy, dễ bảo trì

 Công nghệ: Vi mạch siêu tích hợp, internet, mạng không dây tốc độ cao,hướng đối tượng, web

Khó khăn thách thức ngày càng nhiều

Giai đoạn phát triển phần mềm :

Giai đoạn một: 1950 – 1960:

Trang 5

 Ngôn ngữ máy, hợp ngữ, đặc thù cho từng máy

 Tiêu chí đánh giá:

 Tính nhanh

 Giải được bài toán Công nghệ: bóng điện tử (chậm, bộ nhớ nhỏ)

Giai đoạn 2: giữa thập kỷ 70

 Sản phẩm: đa dạng, đa người sử dụng

 Xử lý số, ký tự, theo lô, thời gian thực

 Xuất hiện lưu trữ trực tuyến

 Ngôn ngữ: Algol, Fortran

Tiêu chí đánh giá:

- Nhanh

- Giải được bài toán lớn

- Nhiều người dùngCông nghệ:

Bán dẫn (nhanh hơn, bộ nhớ khá hơn), CSDLYêu cầu bảo trì (sửa lỗi, thích nghi)

Giai đoạn 3: đầu những năm 1990

 Phần mềm cá nhân + mạng, hệ lớn, chia sẻ được

 Ra đời phần mềm nhúng

 Xử lý số, ký tự, âm thanh, hình ảnh; theo lô, thời gian thực, phân tán, songsong

 Truy nhập dữ liệu phát triển, từ xa

 Ngôn ngữ: bậc cao, hướng đối tượng, logic

 Tiêu chí: Tiện dụng, tin cậy, dễ bảo trì

 Công nghệ: mạch tích hợp lớn, vi mạch, các cấu hình mạng Internet, CSDLquan hệ

Giai đoạn 4: từ năm 1990 đến nay

 Phần mềm lớn, tinh vi, tin cậy, hướng người dùng

 Hệ chuyên gia, trí tuệ nhân tạo, phần mềm nhúng, webserrvice sử dụng rộngrãi, internet mở rộng

 CSDL hướng đối tượng, kho dữ liệu phát triển

 Ngôn ngữ: hướng đối tượng, thế hệ thứ 4, visual

Trang 6

 Tiêu chí: Tiện dụng, tinh vi, tin cậy, dễ bảo trì

 Công nghệ: Vi mạch siêu tích hợp, internet, mạng không dây tốc độ cao,hướng đối tượng, web

Tiêu chí phần mềm tốt hiện nay ??

Người dùng:

 Đủ chức năng nghiệp vụ

 Dễ sử dụng, tinh vi (tính thông minh)

 Tin cậy, an toàn

Vòng đời của phần mềm là thời kỳ tính từ khi phàn mềm được tạo ra cho đến khi

chết đi (từ lúc hình thành đáp ứng yêu cầu, vận hành, bảo dưỡng cho đến khi loại bỏkhông đâu dùng)

Mô hình vòng đời phần mềm của Boehm

Trang 7

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?

Trả lời:

Phân tích: tập trung vào việc thu thập phân tích các thông tin cần cho phần mềm,

các chức năng phần mềm cần phải thực hiện, hiệu năng cần có của mỗi chức năng,các giao diện cho người sử dụng, các ràng buộc mà phần mềm cần tuân thủ…

Phân tích

Thiết kế

Mã hóa

Kiểm thử

Bảo trì

Vòng đời phần mềm được chia thànhcác pha chính: phân tích, thiết kế, chế tạo, kiểm thử, bảo trì

Trang 8

Thiết kế: là quá trình chuyển hóa các yêu cầu phần mềm thành các mô tả thiết kế

mà từ đó nhà phát triển và lập trình có thể lắp đặt hệ thống và chuyển thiết kếthành chương trình vận hành được

Mã hóa: Dịch các đặc tả thiết kế thành các chương trình mã nguồn trong một ngôn

ngữ lập trình nào đó mà mã mãy có thể thực hiện được

Kiểm thử: Phát hiện lỗi và sửa lỗi trong chương trình.

Bảo trì: trong môi trường hoạt động thực tế, hệ thống có đáp ứng được các yêu

cầu đặt ra ban đầu và đề xuất những thay đổi, bổ sung để hoàn thiện hệ thống

Ưu nhược điểm của mô hình thác nước

- Thực tế các dự án ít khi tuân theo các dòng tuần tự của mô hình, mà thường có lặplại

- Khách hàng ít khi tuyên bố rõ Ràng khi nào xong hết các yêu cầu

- Khách hàng phải có lòng kiên nhẫn chờ đợi thời gian nhất định mới có sản phẩm.Nếu phát hiện lỗi nặng thì là một thảm họa

Trang 9

Lập kế hoạch: Xác lập tài nguyên, thời hạn và những thông tin khác.

Phân tích rủi ro: xem xét mạo hiểm kỹ thuật và mạo hiểm quản lý

Kỹ nghệ: xây dựng một hay một số biểu diễn của ứng dụng.

Xây dựng và xuất xưởng: xây dựng, kiểm thử, cài đặt và cung cấp hỗ trợ người

dùng (tư liệu, huấn luyện…)

Đánh giá của khách hàng: nhận các phản hồi của người sử dụng về biểu diễn phần

mềm trong giai đoạn kỹ nghệ và cài đặt

Ưu nhược điểm của mô hình xoắn ốc

- Tốt cho các hệ phần mềm quy mô lớn

- Dễ kiểm soát các mạo hiểm ở từng mức tiến háo

- Khó thuyết phục khách hàng là phương pháp tiến hóa xoắn ốc có thể kiểm soát được

- Chưa được dùng rộng rãi như các mô hình tuyến tính hoặc chế thử

Trang 10

Chương 3: Phân tích đặc tả yêu cầu

Câu 9 :

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?

Trả lời:

Yêu cầu cho một hệ thống phần mềm mô tả những công việc mà hệ thống làm và

những ràng buộc mà nó phải tuân thủ khi hoạt động Yêu cầu có thể là yêu cầu chứcnăng(các chức năng, dịch vụ) hay yêu cầu phi chức năng (các ràng buộc)

Phân loại yêu cầu phần mềm

Các yêu cầu chức năng: là những phát biểu về chức năng hay dịch vụ mà hệ thống

cung cấp Yêu cầu chức năng cũng có thể là chức năng mà hệ thống không nênthực hiện

Các yêu cầu phi chức năng: những ràng buộc lên các dịch vụ, hoặc chức năng mà

hệ thống cung cấp Nó bao gồm các ràng buộc về thời gian, về ngân sách, các ràngbuộc trong quá trình phát triển hay các ràng buộc về chuẩn sử dụng…

Các yêu cầu miền lĩnh vực: là các yêu cầu xuất phát từ miền ứng dụng, phản ánh

đặc trưng của lĩnh vực ứng dụng này (các quy tắc nghiệp vụ).Có thể là chức nănghay phi chức năng

Câu 1 0

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

Trả lời:

Đặc tả chức năng: thông thường khi đặc tả các chức năng của phần mềm người ta

sử dụng các công cụ tiêu biểu sau:

- Biểu đồ phân rã chức năng (Functional Decomposition Diagram – FDD)

- Biểu đồ luồng dữ liệu (Data Flow Diagrams- DFD)

- Máy trạng thái hữu hạn

- Mạng Petri

Đặc tả mô tả:

- Biểu đồ thực thể liên kết (Entity- Relationship Diagrams - ERD)

- Đặc tả Logic (Logic Specifications)

- Đặc tả đại số (Algebraic Specifications)

Trang 11

Câu 1 1

Anh (Chị) hãy trình bày quy trình xác định yêu cầu ?

Trả lời:

Quy trình xác định yêu cầu

1 Khảo sát hệ thống và phân tích khả thi

- Khả thi về thời gian

- 2 Phát hiện và phân tích yêu cầu

Những khó khăn trong việc nhận ra yêu cầu

- Người liên quan thường không thực sự biết mình cần gì từ hệ thống, họ thườngbày tỏ những yêu cầu của mình theo cách nói riêng

- Họ có thể có cách yêu cầu khác nhau mà các kỹ sư phải nhận ra điểm chung cũngnhư điểm khác biệt giữa chúng

- Quá trình phân tích diễn ra trong bối cảnh cụ thể của tổ chức nên các yêu cầu cóthể bị ảnh hưởng bởi các yếu tố chính trị

- Môi trường kinh doanh luôn biến động do vậy yêu cầu mới có thể xuất hiện từnhững người liên quan mà lúc đầu không được tham khảo

- Khó khăn có tính nguyên tắc của việc thiết lập các yêu cầu hệ thống phần mềm,các vấn đề không được định nghĩa, không có công thức cho trước

Tiến trình phát hiện và phân tích yêu cầu

- Tìm hiểu miền ứng dụng

- Thu thập các yêu cầu

- Phân loại các yêu cầu

- Giải quyết xung đột

Trang 12

• 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

• 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ườngcủ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áiniệ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ếtvớ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 1 3

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?

Trang 13

• 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 haidò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

Câu 1 4

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 ?

Trả lời:

- 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):

Trang 14

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 ranế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ệchiể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âurộ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:

• 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ậnhà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ácthành phần

Khái niệm thiết kế:

Thiết kế phần mềm là quá trình chuyển các đặc tả yêu cầu phần mềm thành mộtbiể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 chương trình vận hành được

Vai trò của thiết kế

Trang 15

- 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ủakhá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ở choviệc triển khai chương trình phần mềm

- Tài liệu thiết kế phần mềm là công cụ giao tiếp giữa nhóm cùng tham gia vào việcphát triển sản phẩm, để quản lý các rủi ro, đạt đến phần mềm hiệu quả

- Thiết kế phần mềm là tài liệu cung cấp đầy đủ các thông tin cần thiết cho nhữngngười kỹ sư hệ thống để bảo trì hệ thống sau này

Câu 1 6

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ế ?

Trả lời:

Các bước trong giai đoạn thiết kế

 Thiết kế logic: xác định cấu trúc thiết kế logic mô tả thành phần của hệ thống và các mối quan hệ giữa chúng mà ko gắn với bất kỳ một phương tiện vật lý nào

 Thiết kế vật lý: chọn các giải pháp công nghệ hiện hữu để thực hiện các cấu trúc logic đã cho phù hợp với điều kiện của môi trường đích dự kiến của hệ thống phầnmềm

Hình thức biểu diễn thiết kế

- Một bản thiết kế phần mềm là một mô hình mô tả một đối tượng của thế giới thực với nhiều thành phần và các mối quan hệ giữa chúng với nhau Có 3 hình thức thường được sử dụng để mô tả:

- Các biểu đồ: được dùng để thể hiện các mối quan hệ giữa các thành phần lập nên

hệ thống và là mô hình mô tả thế giới thực

Ngày đăng: 28/04/2016, 12:52

TỪ KHÓA LIÊN QUAN

w