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

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

13 450 0

Đ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 13
Dung lượng 516,96 KB

Nội dung

ĐỀ CƯƠNG ÔN TẬP MÔN CÔNG NGHỆ PHẦN MỀM(CTB) Câu 1: • Khái niệm phần mềm: Phần mềm gồm 3 phầ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, tham khảo kỹ thuật, tài liệu phát triển. • Phân biệt phần mềm và phần cứng: Phần cứng là các cơ phận (vật lý) cụ thể của máy tính hay hệ thống máy tính như màn hình, chuột, bàn phím, máy in, máy quét, CPU, loa,…. Phần mềm là 1 tập hợp những câu lệnh hoặc chỉ thị được viết bằng một hoặc nhiều ngôn ngữ lập trình theo một trật tự xác định, và các dữ liệu hay tài liệu liên quan nhằm tự động thực hiện một số nhiệm vụ hay chức năng hoặc giải quyết một vấn đề cụ thể nào đó. Phần mềm là một khái niệm trừu tượng, nó khác với phần cứng ở chỗ là phần mềm không thể sờ hay đụng vào, và nó cần phải có phần cứng mới có thể thực thi được. • Phân loại phần mềm: Theo mức độ hoàn thiện: + Chương trình + Sản phẩm phần mềm Theo chức năng thực hiện:+ Phần mềm hệ thống + Phần mềm nghiệp vụ + Phần mềm công cụ Theo lĩnh vực ứng dụng:+ Phần mềm hệ thống +Phần mềm thời gian thực +Phần mềm nghiệp vụ +Phần mềm khoa học kỹ thuật +Phần mềm nhúng +Phần mềm máy tính cá nhân +Phần mềm trí tuệ nhân tạo +Phần mềm dựa trên nền web

Trang 1

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

Câu 1:

 Khái niệm phần mềm: Phần mềm gồm 3 phầ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, tham khảo kỹ thuật, tài liệu

phát triển

 Phân biệt phần mềm và phần cứng:

- Phần cứng là các cơ phận (vật lý) cụ thể của máy tính hay hệ thống máy

tính như màn hình, chuột, bàn phím, máy in, máy quét, CPU, loa,…

- Phần mềm là 1 tập hợp những câu lệnh hoặc chỉ thị được viết bằng một

hoặc nhiều ngôn ngữ lập trình theo một trật tự xác định, và các dữ liệu hay tài liệu liên quan nhằm tự động thực hiện một số nhiệm vụ hay chức năng hoặc giải quyết một vấn đề cụ thể nào đó Phần mềm là một khái niệm trừu tượng, nó khác với phần cứng ở chỗ là "phần mềm không thể

sờ hay đụng vào", và nó cần phải có phần cứng mới có thể thực thi được

 Phân loại phần mềm:

- Theo mức độ hoàn thiện: + Chương trình

+ Sản phẩm phần mềm

- Theo chức năng thực hiện:+ Phần mềm hệ thống

+ Phần mềm nghiệp vụ + Phần mềm công cụ

- Theo lĩnh vực ứng dụng:+ Phần mềm hệ thống

+Phần mềm thời gian thực +Phần mềm nghiệp vụ +Phần mềm khoa học kỹ thuật +Phần mềm nhúng

+Phần mềm máy tính cá nhân +Phần mềm trí tuệ nhân tạo +Phần mềm dựa trên nền web

Câu 2:

Trang 2

 Kiến trúc phần mềm: là cấu trúc của các thành phần trong một chương trình máy tính hay một hệ thống tính toán 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

 Thế nào là một phần mềm tốt?

Phần mềm phải đáp ứng các chức năng theo yêu cầu, có hiệu năng tốt, có khả năng bảo trì, đáng tin cậy và được người sử dụng chấp nhận

Câu 3:

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

- Là linh hồn của các hệ thống máy tính

- Là 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, thì kinh tế sẽ 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

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

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

- Thay đổi là bản chất

- Cần phát triển theo nhóm

Câu 4:

Vắn tắt các giai đoạn phát triển của phần mềm:

- Giai đoạn 1: 1950-1960

+ Chương trình nhỏ, tính toán chuyên dụng

+ Xử lý số, theo lô

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

+ Tiêu chí đánh giá: Tính nhanh và giải được bài toán

- 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ùng

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

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

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

Trang 3

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

+ 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ì

- 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ộng rã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âu 5:

Tiêu chí để đánh giá một 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

- Nhà phát triển: Dễ bảo trì

Câu 6:

 Vòng đời của phần mềm: là thời kỳ tính từ khi phần mềm được sinh (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 người dùng)

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

Trang 4

Câu 7:

 Mô hình thác nước:

- 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ủ…

- 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 và nhược điểm của mô hình thác nước:

Trang 5

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

có lặp lạ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 ra lỗi nặng thì là một thảm họa

Câu 8:

 Mô hình xoắn ốc:

- Giao tiếp khách hàng: giữa người phát triển và khách hàng để tìm hiểu

yêu cầu, ý kiến

- 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 và 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óa

- Khóa 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ử

Câu 9:

- Khái niệm yêu cầu phần mềm: Yêu cầu phần mềm là cơ sở xem xét:

 Xem xét chất lượng

Trang 6

 Yêu cầu thể hiện ra bằng đặc tả- đặc tả có chuẩn mới kiểm tra, đo đạc được:

+Các chuẩn đặc tả là một bộ các tiêu chuẩn phát triển và hướng dẫn cách thức làm ra phần mềm

+Không tuân thủ các tiêu chuẩn đó thì chắc chắn là chất lượng sẽ kém

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

 Yêu cầu chức năng

 Yêu cầu phi chức năng

 Yêu cầu về sản phẩm

 Yêu cầu về tiếng trình phát triển

 Yêu cầu về ngoại lại

- VD minh họa: ………

Câu 10:

Các kỹ thuật đặc tả yêu cầu:

- Đặc tả bằng ngôn ngữ hướng cấu trúc

- Đặc tả dựa biểu mẫu

- Đặc tả dựa bằng biểu đồ trình tự

Câu 11:

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

Câu 12:

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

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

- Kĩ thuật phân tích hình thức hóa

Câu 13:

Trang 7

Các kỹ thuật và phương pháp hỗ trợ phân tích yêu cầu:

- 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

- Use Case: 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

- Data Flow Diagram (DFD): Thể hiện dòng dữ liệu trong một hệ thống,

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

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

 Kiến trúc phần mềm: là cấu trúc của các thành phần trong một chương trình máy tính hay một hệ thống tính toán 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

 Vai trò kiến trúc phần mềm:

- Có vai trò quan trọng trong p/triển phần mềm:

+ Công cụ giao tiếp giữa những người liên quan

+ Để phân tích hệ thống

+ Sử dụng lại ở quy mô lớn

- Cho phép các kỹ sư phần mềm 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

 Mô hình kiến trúc phần mềm:

- Mô hình kiến trúc tĩnh

- Mô hình tiến trình động

- Mô hình giao diện

- Mô hình liên kết

- Mô hình phân tán

Câu 15:

- 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ộ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 chương trình vận hành được

Trang 8

- 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 phần mềm

 Là công cụ giao tiếp giữa nhóm cùng tham gia vào việc phát triển sản phẩm, để quản lý các rủi ro, đạt đến 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 những người

kỹ sư hệ thống để bảo trì hệ thống sau này

 Nếu ko có thiết kế thì hệ thống ko 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

Câu 16:

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

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

- Các biểu đồ

- Ngôn ngữ mô tả chương trình

- Dạng văn bản không hình thức hóa

Câu 17:

Phương pháp thiết kế cấu trúc:

- Phát biểu lại bài toán như 1 DFD( Data Flow Diagram)

- Chỉ ra các thành phần dữ liệu vào/ra

- Phân chia mức cao

Trang 9

- Phân chia ở mức chi tiết

Câu 18:

Phương pháp thiết kế hướng đối tượng:

- Hệ thống được nhìn nhận như 1 bộ các đối tượng tương tác với nhau, đối

tượng gồm dữ liệu vào thao tác

- 1 lớp được xác định bằng thuộc tính và 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

- 1 số công cụ hỗ trợ mạnh như: Jbuilder

Câu 19:

Sự khác nhau giữa thiết kế hướng chức năng và thiết kế hướng đối tượng:

Cách tiếp cận truyền thống Cách tiếp cận hiện đại

Tập trung vào thông tin Tập trung vào cả thông tin và cách hoạt

động Tính tái sử dụng thấp Tính tái sử dụng cao

Thiết kế ngân hàng dữ liệu theo

những thông tin người dùng yêu cầu

Ánh xạ các thành phần trong bài toán vào

các đối tượng ngoài đời thực

Câu 20:

- Khái niệm UI(User Interface): 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:

 Tương tác của người sử dụng: thao tác trực tiếp, lựa chọn menu, nhập form,…

 Trình bày thông tin: Một số câu hỏi để xác định kiểu trình bày thông tin:

+Người sử dụng quan tâm tới độ chính xác thông tin hay là mối quan hệ giữa các giá trị dữ liệu?

+Người sử dụng có phải tương tác với thông tin trình bày?

+Kiểu dữ liệu trình bày là gì?

Trang 10

Câu 21:

Một ngôn ngữ lập trình có các yếu tố đặc trưng cơ bản:

- Dễ dịch thiết kế sang chương trình

- Từ khóa gần với ngôn ngữ tự nhiên

- Có trình biên dịch hiệu quả

- Khả năng chuyển chương trình gốc

- Có sẵn công cụ phát triển

- Dễ bảo trì

Câu 22:

Khi nói về phong cách lập trình là nói về những yếu tố:

- Tính đơn giản và rõ ràng của chương trình

- Tài liệu bên trong

- Phương pháp khai báo dữ liệu

- Cách tiếp cận đến việc xây dựng câu lệnh

- Các kĩ thuật vào ra

Câu 23:

- Lời chú thích trong mã nguồn chương trình thường được đặt ở đầu

chương trình, đầu các mô đun, đầu các hàm hoặc trước các khối lệnh

- Nội dung: truyền thông với các độc giả về chương trình gốc, mô tả các

hàm xử lý, hỗ trợ và diễn giải chương trình, ngày tháng và lịch sử phát triển chương trình, cách sử dụng chương trình, cách truyền đối số cho các hàm

Câu 24:

Khi lựa chọn ngôn ngữ lập trình để viết phần mềm thường dựa trên các yếu tố:

- Các yếu tố về ngôn ngữ lập trình sẽ quyết định: miền ứng dụng của ngôn

ngữ lập trình đó Miền ứng dụng là yếu tố chính để lựa chọn ngôn ngữ lập trình

- Dựa vào năng lực và thói quen của người lập trình

Câu 25:

Tính hiệu quả của chương trình thể hiện trên những yếu tố: Hiệu quả về tốc độ, về bộ nhớ và hiệu quả về vào ra

Câu 26:

Trang 11

Để cải thiện hiệu xuất của chương trình cần làm:

- Cải thiện về thuật toán

- Lựa chọn cấu trúc dữ liệu, ko gian dữ liệu

- Sử dụng nguyên tắc cấp phát bộ nhớ phù hợp, lựa chọn phần cứng phù

hợp

Câu 27:

Hiểu biết của về lập trình hướng thủ thục:

- Là phương pháp truyền thống phổ biến sử dụng các thủ tục

- Lập trình có cấu trúc, chia 1 chương trình lớn thành các chương trình nhỏ

- Giảm độ phức tạp

- Nhược điểm: vùng dữ liệu dùng chung  khó khăn khi có các thay đổi Câu 28:

Hiểu biết về lập trình hướng đối tượng:

- Chương trình gồm các đối tượng: Bao gói/che dấu thông tin, Kế thừa, Đa

hình

- Vùng dữ liệu dùng chung nhỏ, phù hợp với các dự án lớn

Câu 29:

Kiểm thử phần mềm là:

- Kiểm tra xem phần mềm có đúng đặc tả ko

- Kiểm tra xem phần mềm có đạp ứng đúng nhu cầu người dùng ko

Câu 30:

Có những loại kiểm thử:

- Kiểm thử tĩnh

- Kiểm thử động

- Kiểm thử thống kê

- ….

Câu 31:

Những hạn chế thường gặp phải khi kiểm thử phần mềm:

- Ko thể khẳng định tính đúng của chương trình do bản chất qui nạp toán

học

- Nhiều trường hợp kiểm thử ở giai đoạn cuối nhưng lỗi phát sinh ở giai

đoạn đầu

- Bộ dữ liệu kiểm thử ko được thay đổi

- Người kiểm thử lại là người xây dựng phần mềm

Trang 12

- Phát hiện lỗi bị hạn chế do thủ công là chính

- Dễ bị ảnh hưởng tâm lý khi kiểm thử

- Khó đảm bảo tính đầy đủ khi kiểm thử

Câu 32:

Có những mức kiểm thử phần mềm:

- Kiểm thử đơn vị

- Kiểm thử mô đun

- Kiểm thử hệ thống

- Kiểm thử chấp nhận

- Kiểm thử tích hợp

Câu 33:

Khi kiểm thử phần mềm phải tuân thủ các nguyên tắc:

- Nguyên tắc khách quan

- Nguyên tắc ngẫu nhiên

- Nguyên tắc “người dùng kém”

- Nguyên tắc “kẻ phá hoại”

Câu 34:

Hiểu biết về kiểm thử hộp trắng:

- Xét duyệt thiết kế

- Xét duyệt yêu cầu

- Nghiên cứu mã nguồn

- Kiểm tra tính đúng của chương trình

- Có thể phát hiện hết các lỗi của chương trình nhưng ko đánh giá được

tính hiệu quả của chương trình, tốn kém thời gian và công sức

Câu 35:

Hiểu biết về kiểm thử hộp đen:

- Được tiến hành sau khi có chương trình

- Ưu: + nhanh, dễ tiến hành

+ có nhiều công cụ hỗ trợ

- Nhược: phụ thuộc nhiều vào bộ dữ liệu

Câu 36:

Việc kiểm thử phần mềm nên được làm ở những giai đoạn nào của quá trình phát triển phần mềm: Ở toàn bộ quá trình phát triển, ở giai đoạn nào

Trang 13

cũng cần phải rà soát sửa đổi các lỗi và lỗi được phát hiện càng sớm càng tốt, càng đỡ tốn kém Nếu lỗi phát hiện muộn thì chi phí sửa đổi lớn

Ngày đăng: 09/10/2016, 16:00

TỪ KHÓA LIÊN QUAN

w