Tải bản đầy đủ (.doc) (27 trang)

Đề cương Môn công nghệ phần mềm (Khoa Công Nghệ Thông Tin)

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 (153.75 KB, 27 trang )

Câu 1: Định nghĩa phần mềm? kể tên các loại hệ thống phần
mềm, ví dụ.
- Phần mềm là tập hợp các chương trình, các file cấu hình (giúp cái đặt
và tích hợp các chức năng), file đính kèm( file cho ng ười dùng cuối), file
cho người bảo trì, phát triển phẩn mềm (file tài liệu đặc tả, phân tích
thiết kế…), website hỗ trợ.
- các loại hệ thống phần mềm:
+ phần mềm đại trà : sản xuất cho mọi đối tượng (th ường là
những phần mềm phổ biến, chuyên cho máy tính) vd nh ư Micosoft
office, unikey…
+ phần mềm theo đơn đặt hàng: tùy mục đích sử dụng mà sản
xuất ra các phần mềm khác nhau.(có thể cho các doanh nghiệp, cho c ơ
quan nhà nước, cho cửa hang…)
Câu 2: Các đặc trưng của phần mềm? Các thuộc tính c ủa phần
mềm kỹ nghệ tốt.
- Đặc trưng của phần mềm:
+ quy trình tạo ra phần mềm: Phần mềm đc tạo ra hoàn toàn
mới, không có tiền lệ trước và chỉ được tạo ra một lần duy nhất.
+ phần mềm không bị hao mòn: Phần mềm không hao h ụt theo
thời gian.
+ tạo ra phần mềm không dựa trên các thành phần có sẵn:
( phần lớn mỗi phần mềm khi được tạo ra dựa trên đơn đặt hang, theo


mục đich sử dụng của người dùng chứ ít khi phần mềm đc lắp đ ặt d ựa
trên những thành phần có sẵn)
- Thuộc tính của phần mềm kỹ nghệ tốt:
+ Có thể bảo trì được(khả năng bảo trì): phần mềm có tu ổi th ọ
dài vì vậy phải xây dựng và lập t ư liệu sao cho có thể bổ sung thêm
những chức năng mới, dễ dàng sửa đổi, mà chi phí tốn ít nh ất
+ Đáng tin cậy: phần mềm phải thực hiện được nh ững yêu cấu


của khách hang, không sai sót.
+ có hiệu quả: phần mềm chiếm ít không gian bộ nhớ.
+ khả dụng(khả năng chấp nhận): hệ thống phải có giao diện
người sử dụng thích hợp, phù hợp vs khả năng và kiến th ức của ng ười
sử dụng (dễ đọc, dễ hiểu, nhớ lâu) đáp ứng đc những tr ình độ sử dụng
khác nhau.
+ giá cả là yếu tố xem xét 1 phần mềm có kỹ nghệ tốt nh ưng bảo
trì được là thuộc tính chủ yếu vì chi phí cho sản ph ẩm ph ần m ềm ch ủ
yếu là giai đoạn đã được đưa vào sử dụng.
Câu 3: Định nghĩa CNPM? Các yếu tố phương pháp, công c ụ, và thủ
tục trong quy trình kỹ nghệ được hiểu như thế nào?
- Định nghĩa CNPM: là những quy tắc công ngh ệ có liên quan t ới t ất c ả
các khía cạnh của quy trình sản xuất phần mềm : Sx ntn? Đánh giá,
đảm bảo chất lượng quản lý ra sao….
- Phương pháp trong quy trình kỹ nghệ: Đưa ra cách làm về mặt kỹ
thuật để xây dựng phần mềm.


+đặc tả:xác định yêu càu hệ thống làm gì(what)
+ phát triển: xấy dựng, thiết kế, mã hóa(how, build)
+ kiểm thử: kiểm tra lỗi trước khi sử dụng.
+ vận hành và bảo trì: bảo trì, sửa chữa, nâng cấp.
- công cụ trong quy trình kỹ nghệ: Cung cấp sự hõ trợ tự động ho ặc bán
tự động cho các phương pháp. Ngày nay có rất nhiều công c ụ h ỗ tr ợ cho
từng phương pháp. Khi công cụ được tích hợp đến mức các thông tin
công cụ này có thể được dùng cho các công cụ khác th ì hệ thống hỗ trợ
cho công nghệ phần mềm được thiết lập.
- thủ tục trong quy trình kỹ nghệ: các công cụ và ph ương pháp được
liên kết với nhau thông qua các thủ tục để phần mềm này có th ể đ ược
sử dụng hợp lý và đúng hạn trọng phát triển phần mềm. Các vấn đ ề

liên quan tới lập kế hoạch, quản lý chất lượng, tiến độ, chi phí, mua
bán sản phẩm đều có những thủ tục rõ ràng.
Câu 4: Mô hình vòng đời cổ điển (mô hình thác n ước) gồm những
bước nào? Ưu nhược điểm của mô hình này.
- Mô hình:


- Các bước trong mô hình:
B1: Xác định yêu cầu: Lấy thông tin yêu cầu mục đích của khách hàng,
Hệ thống xây dựng để làm gì, (trả lời cho câu hỏi what)
B2: Thiết kế : + thiết kế cấu trúc dữ liệu
+ thiết kế cấu trúc phần mềm
+ biểu diễn giao diện và thuật toán.
B3: Cài đặt và kiểm thử: Kiểm thử từng modun chức năng nh ỏ trong h ệ
thống, kiểm tra các câu lệnh…
B4: Tích hợp, kiểm thử hệ thống: tích hợp các chức năng, modun riêng
biệt thành một khối thống nhất sau đó Kiểm thử để phát hiện lỗi từ đó
sửa chữa mang lại kết quả như mong muốn.


B5:Vận hành và bảo trì: đưa sản phẩm cho khách hàng, trong quá trình
người dùng sử dụng nếu phát hiện thêm lỗi th ì cần mang tới nơi sản
xuất để bảo trì lại.
- Ưu điểm của mô hình:
+ dễ quản lý : vì các giai đoạn đươc thực hiện tách biệt
+ xác định được chi phí cho từng giai đoạn rõ ràng.
+ dễ thẩm tra, đánh giá, mang tính tự nhiên.
- Nhược điểm của mô hình:
+ vì phải thực hiện tuần tự nên nếu trong quy trình xảy ra lỗi thì
sẽ phải quay lại làm từ bước bị lỗi cho tới hết các bước sau,

+ mối quan hệ giữa các giai đoạn không được th ể hiện.
+ hệ thống phải được kết thúc ở từng giai đoạn, do vậy rất khó
thực hiện đày đủ các yêu cầu của khách hàng.
+ mô hình đòi hỏi, yêu cầu đầy đủ , chính xác thông tin t ừ khách
hàng.
+ khách hàng cần phải kiên nhẫn.

Câu 5: Mô hình làm bản mẫu (mô hình tiến triển) hoạt động như
thế nào? Ưu nhược điểm của mô hình này.


- mô hình này hoạt động dựa trên ý t ưởng xây dựng một bản mẫu thử
ban đầu và đưa cho người sử dụng xem xét, sau đó tinh chỉnh mẫu th ử
qua nhiều phiên bản cho tới khi thỏa m ãn yêu cầu của người sử dụng
thì dừng.
- Có hai phương pháp để xây dựng mô hình bản mẫu:
+ Phát triển thăm dò: làm việc với khách hàng và đưa ra hệ thống
cuối cùng từ những đặc tả sơ bộ ban đầu. Phương pháp này th ường bắt
đầu với những yêu cầu đã được tìm hiểu rõ ràng và sau đó bổ sung
những đặc điểm mới được đề xuất bởi hệ thống. Cuối cùng khi các yêu
cầu của người sử dụng đã được thỏa mãn thì cũng là lúc đã xây dựng
xong hệ thống.
+ Loại bỏ mẫu thử: mục đích tìm hiểu các yêu cầu của h ệ th ống.
Ban đầu với những yêu cầu không rõ ràng, ít thông tin. Các m ẫu th ử
được xây dựng và chuyển giao tới người dùng, từ đó ta có thể phân loại
những yêu cầu nào là cần thiết, những yêu cầu nào không c ần thi ết và


loại


bỏ.-



hình:

- Ưu điểm của mô hình:
+ Hoạt động nào cũng có sự tham gia của người dùng nên sản
phẩm cuối cùng mang tính khách quan thỏa mãn yêu cầu thiết kế.
+ cho phép thay đổi yêu cầu, khuyến khích ng ười sử dụng tham
gia trong suốt chu kì dự án.


+ các hoạt động xảy ra đồng thời, hoạt động này bổ sung cho
hoạt động kia.
+ Có thể tái sử dụng mẫu.

- Nhược điểm của mô hình:
+ Cấu trúc nghèo nàn, thiếu tầm nhìn của toàn hệ thống,
+ yêu cầu những kỹ năng đặc biệt để có thể tạo ra m ẫu th ử
nhanh,
+ người phát triển thường hay thỏa hiệp với khách hàng để có
mẫu thử nhanh.
Câu 6: Mô hình xoắn ốc hoạt động như thế nào? Ưu nhược điểm
của mô hình.
(tự vẽ mô hình)
- Ưu điểm:
+ Là cách tiếp cận hiện thực để phát triển phần mềm và các h ệ
thống lớn. PHần mềm được phát triển theo sự tiến hóa. Khách hàng và
nhà phát triển hiểu nhau tốt hơn, các rủi ro sẽ được giảm sau mỗi lần

tiến hóa.
- Nhược điểm:
+ khả năng thuyết phục khách hàng để giảm thiểu tính rủi ro
trong quá trình phát triển.


+ mô hình này thực sự chưa quen thuộc vs các nhà đầu tư so với
các mô hình khác.
Câu 7: Lý do phải quản lý dự án? Mục tiêu quản lý d ự án là gì?
Nhiệm vụ của người quản lý dự án?
- Lý do phải quản lý dự án:Các dự án th ường : + Không hoàn thành đúng
thời hạn
+ Chi phí XD vượt quá dự
toán.
+ Chất lượng ko đảm bảo
- Mục tiêu quản lý dự án: Hoàn thành các công việc của dự án đúng th ời
hạn, các yêu cầu về kỹ thuật, chất lượng cần được đáp ứng. Dự án phải
hoàn thành trong phạm vi ngân sách dự án được cho phép.

- Nhiệm vụ của người quản lý dự án:
+ Xác định các công việc
+ ước lượng chi phí dự án.
+ Lựa chọn, đánh giá nguồn lực
+ lập kế hoạch và lịch trình.
+ triển khai và kiểm soát lịch trình dự án
+ viết báo cáo và trình bày


+ Tổng kết, đánh giá.


Câu 8: Trình bày các phương pháp thu thập dữ liệu. Đánh giá ưu
nhược điểm của chúng. Trong thực tế khi đi thu thập dữ li ệu,
chúng ta sử dụng phương pháp nào?
* các phương pháp thu thập thông tin:
1. phương pháp phỏng vấn: là việc tập hợp một sớ lượng ít người
trong thời gian cố định với mục đích cụ thể.
- một phỏng vấn tốt là một phỏng vấn có bắt đầu. nội dung chính và
kết thúc.
- phỏng vấn có 2 kiểu câu hỏi:
+ câu hỏi mở: hỏi cho nhiều câu trả lời khác nhau
+ Câu hỏi đóng: là câu hỏi cho dạng trả lời có hoặc không?


- câu hỏi đưa ra theo kiểu có cấu trúc và không cấu trúc.
+ phỏng vấn có cấu trúc là phỏng vấn trong đó người phóng viên
đã có danh mục các nội dung cần duyệt qua, các câu hỏi c ụ th ể và thông
tin cần xác định.
+ phỏng vấn không cấu trúc là phỏng vấn được định h ướng các
câu trả lời mở và không có kế hoạch rõ ràng.
- Ưu điểm của phương pháp phỏng vấn:
+ Phỏng vấn thích hơp cho việc nhận thông tin đảm bảo cả số
lượng và chất lượng.
+ các kiểu thông tin là các ý kiến, niềm tin, thói quen, chính sách…
+ các kiểu thông tin định lượng là tần suất, số l ượng, định lượng
các mục trong ứng dụng.
- nhược điểm:
+ phỏng vấn có nhiều dạng khác nhau dẫn đến lạc lối trong vi ệc
thu thập tổng kết kết quả, thiếu chính xác, không thích h ợp
+ đòi hỏi kỹ năng nói tốt và phân tích thông tin thu đc.
+ có thể có kết quả thiên vị…

2. Họp nhóm
- là việc tập hợp một nhóm người cho một thảo luận về một vấn đề cụ
thể. Họp nhóm có thể thay thế và bổ sung cho phỏng vấn.
- Ưu điểm của phương pháp:


+ có thể tạo ra quyết định nhanh chóng.
+ nhận được cả thông tin tổng hợp và chi tiết
+ tập hợp được những người liên quan tới vấn đề cần lấy ý kiến.
-Nhược điểm:
+ nếu có quá nhiều người tham gia cùng một lúc thì việc đưa ra
quyết định trở nên khó khăn
+ tốn thời gian
+ các ngắt quãng trong viêc bàn luận có th ể làm phân tán s ự t ập
trung.
+ nếu mời không đúng những thành viên tham gia thì kết quả thu
được có thể không đáp ứng đc nhu cầu của cuộc họp.
+ dễ chuyển thành chủ đề khác trong khi bàn luận
3. Quan sát
- là hoạt động có thể tiến hành thủ công hoặc tự động.
- Thủ công: người quan sát tại chỗ và ghi chép các hoạt dộng, các bước
xử lý công việc.
- tự động: máy tính sẽ lưu các quy trình th ường trú, lưu các chương
trình được sử dụng qua mail và các hoạt động khác được xử lý bởi máy.
các file nhật ký của máy tính sẽ phân tích để mô tả công việc.
- Ưu điểm:


+ kỹ sư phần mềm có thẻ nhận được sự hiểu biết tốt về môi
trường công tác hiện tại và quy trình xử lý thông qua quan sát

+ kỹ sư phần mềm có thể tập trung vào phần mềm mà lại ít bị
ảnh hưởng bởi người khác.
+ các ngăn cách giữa kỹ sư pm và người khác sẽ được vượt qua
bởi có sự quan sát tốt.
- Nhược điểm:
+ thời gian của quan sát không biểu diễn cho các công vi ệc di ễn
ra thông thường.
+ ý nghĩ bị quan sát sẽ làm thay đổi thói quen th ường này c ủa
người bị quan sát.
4. ấn định công việc tạm thời
- với 1 công việc tạm thời ta có thể nhận được đầy đủ thông tin về
nhiệm vụ, đồng thời nó cung cấp cho ta kinh nghiệm thực tế. THời gian
tiến hành công việc thường từ 2 tới 4 tuần.Thời gian vừa đủ để làm
quen với công việc và các tình huống ngoai lệ có thể xảy ra.
- Ưu điểm: có một khoảng thời gian học việc trước khi bước vào các d ự
án thực tế.
- Nhược điểm: + tốn thời gian học việc. ^^
+ kỹ sư pm nếu thiếu kiên trì sẽ làm ảnh hưởg đến công
việc thiết kế.
5. Điều tra qua câu hỏi


- xây dựng câu hỏi trên máy tính hoặc trên giấy để phóng vấn, câu hỏi
dùng để lấy thông tin từ số lượng lớn, người sử dụng có nhi ều kh ả
năng lựa chọn cho một câu hỏi với đáp án cho tr ước (câu h ỏi có th ể ở
dạng mở hoặc đóng)
- Ưu điểm của phương pháp:
+ câu trả lời trung thực
+ tiến hành với nhiều người vào cùng một thời điểm
+ thích hợp cho câu hỏi đóng và hữu hạn.

+ phù hợp với công ty đa văn hóa và có th ể tùy bi ến v ới quy ước
địa phương.
- Nhược điểm:
+ khó thực hiện lại khi câu hỏi đã được đưa ra trên phiếu.
+ các câu hỏi có thể khó hiểu
+ không thêm được thông tin khi cần thiết dẫn đến thông tin thu
được có thể bị hạn chế
+ các câu hỏi đưa ra có thể không nhận được câu trả lời - mất
mát thông tin.
6. Xem xét tài liệu
- Nghiên cứu cẩm nang, quy định, các thao tác chuẩn mà tổ ch ức cung
cấp.


- Ưu điểm: kỹ sư phần mềm được học và trau dồi kỹ năng từ nh ững
người có kinh nghiệm đã đúc kết lại đc trước đó
- Nhược điểm: Thời gian đi tìm thông tin cần thiết lâu, khó tìm
7. Xem xét phần mềm
- ứng dụng cũ đc thay thế bằng ứng dụng mới, nghiên cứu phần m ềm
mới có thể cung cấp thông tin về quá trình xử lý công vi ệc hienj t ại và
mở rộng có ràng buộc.
- Ưu điểm: vì có sẵn phần mềm để tìm hiểu nên không tốn thời gian đi
xây dựng lại từ đầu.
- Nhược điểm:
+ thông tin thu đc từ phần mềm mập mờ, ko chính xác (do ph ải
tự suy đoán trong quá trình nghiên cứu phần mềm)
+ lãng phí thời gian nếu phần mềm đã bị xóa bỏ.
Câu 9: Các khó khăn khi kiểm thử? Trình bày các chi ến l ược kiểm
thử.
- các khó khăn khi kiểm thử:

+ liên quan tới tiến trình phát triển phần mềm.
gồm nhiều giai đoạn: đầu ra của giai đoạn này là đầu vào
của giai đoạn tiếp theo, từ dó có thể dẫn đến mất mát thông tin.
chỉ phát hiện đc lỗi tiềm tang và sửa chúng
+ liên quan tới con người:


thiếu đào tạo, tâm lý dễ bị ảnh h ưởng khi tiến hành kiểm
thử
ít chú trọng vào vai trò kiểm thử
+ liên quan tới kỹ thuật : không tồn tại thuật toán tổng hợp, tổng
quát có thể chứng minh sự đúng đắn hoàn toàn của bất kỳ một ch ương
trình nào. Kỹ thuật kiểm thử còn thủ công nên phát hiện lỗi còn bị h ạn
chế.
- Các chiến lược kiểm thử :

1 .kiểm thử hộp đen :
- kiểm thử phân hạch miền tương đương(cân bằng)
+ mục đích : tối thiểu các trường hợp kiểm thử vs mỗi mức kiểm
trac ho trước. Các mục dữ liệu được chia thành các nhóm dũ li ệu có vai
trò cân bằng như nhau, mỗi nhóm đại diện cho một tập dữ liệu
+ nguyên tắc : bằng cách kiểm thử triệt để một mục của mỗi tập
hợp, chúng ta có thể chấp nhận tất cả các mục tương đ ương khác c ủa


tập hợp đó đc kiêm tra một cách chi tiết, khi đó gi ảm tổng s ố các
trường hợp kiểm thử
+ các bước kiểm thử.
B1 : xác định các lớp tương đương.Các lớp tương đương đc
định nghĩa như sau :

- nếu đầu vào xác định 1 miền thì l ơp hợp lệ và 2 lớp
không hợp lệ được xác định.
- nếu điều kiện vào đòi hỏi 1 giá trị xác định thì 1 l ớp h ợp
lệ và 2 lớp không hợp lệ được xác định.
- nếu 1 điều kiện vào là thành viên của 1 tập hợp thì 1 l ớp
hợp lệ và 1 lớp không hợp lệ được xác định.
- nếu điều kiện vào là 1 boolean thì 1 lớp h ợp lệ và 1 l ớp
không hợp lệ được xác định.
B2 : mỗi lớp tương đương xác định đc ít nhất 1 test case.
- Kiểm thử giá trị biên :
+ giá trị nhỏ nhất
+ gần kề giá trị nhỏ nhất
+ giá trị lớn nhất
+ gần kề giá trị lớn nhất
+ giá trị bất kỳ.


2. kiểm thử hộp trắng
- là kiểm thử phải kiểm tra mã nguồn của ch ương trình để kiểm thử
hay tìm ra những đầu mỗi giúp cho việc kiểm thử. Dựa vào những gì ta
thấy để xác định chính xác các lỗi.
- kiểm thử hộp trắng yêu cầu người tester phải có kinh nghiệm trong
đó các bộ kiểm thử.
- giao tiếp - đảm bảo đường thông tin vào ra luôn
đúng
- dữ liệu cục bộ - đảm bảo toàn v ẹn d ữ li ệu
- các điều kiện – đảm bảo đơn vị luôn chạy đúng
tại biên
- các con đường thực hiện – con đường thực hiện
phải đi


qua ít nhất 1 lần.
- các ngoại tệ

Bộ kiểm thử
- kỹ thuật kiểm tra kiểm thử hộp trắng :
+ kiểm thử dựa trên đồ thị luồng điều khiển
+ kiểm thử dựa trên đồ thị luồng dữ liệu
+ kiểm thử đột biến.


Câu 10 Những chú ý khi sử dụng màu trong thi ết kế giao di ện
Giới hạn số lượng màu được sử dụng và không nên lạm dụng việc sử dụng
màu.
- Thay đổi màu khi thay đổi trạng thái của hệ thống
- Sử dụng màu để hỗ trợ cho những nhiệm vụ mà người sử dụng đang cố
gắng thực hiện.
- Sử dụng màu một cách thống nhất và cẩn thận.
- Cẩn thận khi sử dụng các cặp màu.
Khi người sử dụng tương tác với hệ thống, rất có thể xảy ra lỗi và hệ thống
phải thông báo cho người sử dụng biết lỗi gì đã xảy ra hoặc đã có chuyện gì
xảy ra với hệ thống. Do đó, thiết kế thông báo lỗi vô cùng quan trọng. Nếu
thông báo lỗi nghèo nàn có thể làm cho người sử dụng từ chối hơn là chấp
nhận hệ thống.
Vì vậy, thông báo lỗi nên ngắn gọn, xúc tích, thống nhất và có cấu trúc. Việc
thiết kế thông báo lỗi nên dựa vào kỹ năng và kinh nghiệm của người sử
dụng.
Câu 11 : Đặc điểm của người sử dụng trong thiết kế giao diện.
Nguyên tắc và việc biểu diễn thông tin.
- Đặc điểm của ngươi sử dụng trong thiết kế giao diện

+ khả năng nhớ tức thời của con người bị hạn chế : con người
chỉ có thể nhớ ngay khoảng 7 loại thông tin, n ếu lượng thông tin càn
nhớ quá nhiều sẽ dẫn đến viecj không nhớ hết và dẫn đến bị lỗi xảy ra.
+ Người sử dụng có thể gâ ra lỗi : khi người sd gây ra lỗi hệ
thống đưa ra nhiều thông báo không thích hợp gây áp l ực cho ng ười s ử
dụng xảy ra nhiều lỗi hơn.
+ người sử dụng khác nhau : Có nhiều đối tượng sử dụng và
khả năng sử dụng của mỗi đối tượng là khác nhau ng ười thi ết k ế
không nên chỉ thiết kế giao diện phù hợp vs khả năng của chính họ.
+ Người sử dụng thích các loại tương tác khác nhau.
- nguyên tắc biểu diễn thông tin :
+ Sự quen thuộc của người dùng : giao diện xây dựng bằng các
thuật ngữ và khái niệm mà người sử dụng có thể hiểu đc hơn là những
khái niệm kỹ thuật (chuyện ngành)


hợp

+ thống nhất : hệ thông nên hiển thị ở mức thống nhất thích
VD : câu lệnh và menu có cùng định dạng

+ tối thiểu hóa sự bất ngờ : xử lý yêu cầu theo cách đã được
biết trước người sử dụng có thể đoán được thao tác của những yêu cầu
dạng tương tự.
+ khả năng phục hồi : hệ thống nên cung cấp một số khả năng
phục hồi khi bị lỗi từ người sử dụng, người sử dụng có thể phục hồi từ
bước bị lỗi
+ hướng dẫn người sử dụng : mỗi một phần mềm cần có một
file hướng dẫn dành cho người dùng(trợ giúp off, hoặc trợ giúp online)
+ tính đa dạng : hỗ trợ nhiều loại tương tác cho nhiều đối

tượng người sử dụng khác nhau.
Ngoài ra còn có các nguyên tắc về vận hành phần m ềm, l ựa ch ọn menu,
ngôn ngữ ra lệnh, ngôn ngữ tự nhiên, điền vào mẫu biểu, …
- biểu diễn thông tin :
Có hai loại thông tin cần được biểu diễn :
+ Thông tin tĩnh: được khởi tạo ở đầu của mỗi phiên. Nó không thay
đổi trong suốt phiên đó và có thể là ở dạng số hoặc dạng văn bản.
+ Thông tin động: thay đổi trong cả phiên sử dụng và sự thay đổi này
phải được người sử dụng quan sát.
- Các nhân tố ảnh hưởng tới việc hiển thị thông tin:
+ Người sử dụng thích hiển thị một phần thông tin hay quan h ệ
dữ liệu?
+ Giá trị của thông tin thay đổi nhanh như thế nào? Sự thay đ ổi đó
có cần phải thể hiện ngay lập tức hay không?
+ Người sử dụng có phải thực hiện các hành động để đáp ứng với
sự thay đổi không?
+ Có phải là giao diện vận hành trực tiếp không?
+ Thông tin ở dạng văn bản hay dạng số? Các giá trị quan h ệ có
quan trọng không?
+ Biểu diễn digital hay analogue?
Câu 12: Những công việc cần có của kỹ s ư phần mềm? Các kỹ năng
cơ bản của một kỹ sư phần mềm.


- Những công việc của kỹ sư phần mềm : nghiên cứu thiết kế phát triển
và duy trì hê thống phàn mềm . Lập trình hệ thống phần mềm cho máy
tính.
- Kỹ năng cơ bản của người kỹ sư phần mềm :
+ có năng lực làm việc
+ có khả năng làm việc theo nhóm hiệu quả

+ có sự kiên trì và cần mẫm
+ phải hiểu biết ít nhất là một ngôn ngữ lập trình
+ hiểu biết về phương pháo luận ngôn ngữ lập trình.
Câu 13 : Nêu các phương pháp lập trình ? những nguyên tắc trong
việc lựa chọn ngôn ngữ lập trình
- các phương pháp lập trình :
+ Lập trình có cấu trúc : chia một chương trình lớn thành các
chương trình con để quản lý . Các ngôn ngữ có cấu trúc : pascal, C,
matlab
+ lập trình hướng đối tượng : Chương trình = {các đối tượng}
Đối tượng = hành vi + thuộc tính
Ngôn ngữ hướng đối tượng : java, C#, C+, VB, VB net….
+ phương pháp lập trình tuyến tính : asembly
+ phương pháp lập trình logic : prolog
+ phương pháp lập trình hướng lát cắt :AspectJ
- nguyên tắc trong việc lựa chọn ngôn ngữ lập trình:
+ nền tảng chính (nền tảng mà ch ương trình sẽ chạy): VD nếu
chương trình viết bằng C chạy trên hệ điều hành windown, linux yêu
cầu các trình biên dịch nền tang và 2 chương trình có thể chạy khác
nhau. Nếu dùng java mà byte đc tạo ra đủ để chạy ch ương trình ở b ất
kỳ môi trường làm việc nào đã được cài đặt một máy ảo java.
+ tính co giãn của ngôn ngữ: dễ dàng thêm bớt tính năng m ới
bằng ngôn ngữ chương trình hiện có. VD thêm các hàm m ới, thêm các
thư viện mới.
+ thời gian đưa ra sản phẩm: là thời gian cần đ ể đ ưa ch ương
trình vào vận hành, khi mã code đã tích hợp thành sản phẩm.


+ hiệu năng:
+ cộng đồng và khả năng hỗ trợ

Câu 14: Tiêu chuẩn lựa chọn ngôn ngữ l ập trình khi phát tri ển
một dự án phần mềm.
- Căn cứ vào yêu cầu của khách hàng
- dựa vào chất lượng chương trình dịch: ngôn ngừ chương trình dịch
thường dùng (java), java có thể biên dịch 1 lần và chạy được trên nhiều
máy.
- dựa vào công cụ hỗ trợ phát triển các phần mềm
- dựa vào phân tích thiết kế hệ thống
- dựa vào lĩnh vực ứng dụng:
+ ứng dụng nhúng: C, Asembly
+ ứng dụng quản lý: VB, VB net, java
+ ứng dụng hệ chuyên gia: prolog
+ ứng dụng mạng: java, net
+ ứng dụng website: PHP, ASP
Câu 15: CASE (computer aided software engineering) là gì?
- Case thường được sử dụng để hỗ trợ các hoạt động trong quy tr ình
xây dựng phần mềm.
- CASE chia làm 2 loại:
+ upper CASE: hỗ trợ các hoạt động đầu tiên như đặc tả yêu
cầu, t.kế
+ lower CASE: công cụ hỗ trợ các hoạt động sau khi lập trình g ỡ
rối, kiểm thử
Câu 16: So sánh ph ương pháp phân tích hướng đối tượng và
hướng chức năng.
( khi làm bài ai muốn kẻ bảng thì tự kẻ bảng nhé, t ngại trình bày
bảng nên phân biệt ra như thế này )
- phương pháp hướng đối tượng:
+ hệ thống thành lập một tập hợp các đối tượng gắn k ết d ựa
trên các giao diện đã được định nghĩa.
+ xác định lớp đối tượng, thuộc tính và ph ương thức



+ ưu điểm:
. đối tượng đc gắn kết lỏng nên khi thay đổi cách cài đ ặt
chúng có thể không ảnh hưởng đến các đối tượng khác.
. đối tượng phản ánh thực tế thế giới thực
rãi.

. các ngôn ngữ lập trình hướng đối tượng sử dụng rộng
+ nhược điểm:

. khi giao diện của các thực thể thay đổi phức tạp có thể
gây khó khăn vì khó biểu diễn các thực thể như các đối tượng.
- phân tích hướng chức năng:
+ hệ thống phân loại thành các modul chức năng, nhận d ữ liệu
sau đó chuẩn hóa thành kết quả.
+ mô hình luồng dữ liệu các bộ 3 dữ liệu xử lý dữ liệu đầu vào
tạo ra dữ liệu đầu ra. Mỗi bước của quy trình giống 1 phép biến đ ổi.
+ Ưu điểm:
. hỗ trợ việc sử dụng lại các biến đổi.
. phù hợp với suy nghĩ của mọi người, liên quan về dữ
liệu được xử lý theo luồng có đầu vào và đầu ra.
. thêm các xử lý khác vào hệ thống dễ dàng. Dễ th ực
hiện xử lý song song hoặc tuần tư.
+ nhược điểm: cần phải có một định dạng chung cho các d ư
liệu để có thể xử lý tốt bới mọi bộ biến đổi. Các hệ thống tương tác
khó được viết theo mô hình luồng dữ liệu.
Câu 17: Liệt kê các kỹ thuật kiểm thử. So sánh giữa kiểm thử h ộp
đen và kiểm thử hộp trắng. Kiểm thử đơn vị là kiểm thử hộp đen
hay hộp trắng. Tại sao?

- kiểm thử tĩnh:
- kiểm thử động:
(cân =)

+ kiểm thử hộp đen: kiểm thử phân hạch miền tương đương
kiểm th ử giá tr ị biên

khiển)

+ kiểm thử hộp trắng ( kiểm thử dựa vào đồ thị luồng điều


phủ tất cả của đỉnh
phủ mọi cung
phủ mọi quyết định
phủ mọi lộ trình.
+ kiểm thử trong tiến trình phát triển phần mềm
kiểm thử đơn vị
kiểm thử tích hợp
kiểm thử chức năng
kiểm thử hệ thống
kiểm thử tích hợp hệ thống
kiểm thử sự thực thi.
- So sánh kiểm thử hộp đen và kiểm thử hộp trắng.
Hộp đen

Hộp trắng

- kiểm thử hộp đen chỉ dựa vào đặc
tả chương trình, tìm ra các lỗi, cxây

dựng dữ liệu thử trước khi mã hóa,
lập trình. Thường phát hiện các lỗi
đặc tả yêu câu, thiết kế.

- kiểm thử hộp trắng yêu cầu ng ười
kỹ sư phải kiểm tra mã nguồn của
chương trình để có thể kiểm thử
hay tìm ra những đầu mối giúp cho
công việc kiểm thử.

- dễ dàng thực hiện, chi phí thấp

- có thể xác định chính xác một số
lỗi
- tuy nhiên vì can thiệp sâu vào mã
nguồn nên sẽ có thể có ý kiến chủ
quan của tester.
- người kiểm thử phải có kinh
nghiệm lập trình .
- khó thực hiện, chi phí cao.

- Kiểm thử đơn vị là kiểm thử hộp trắng vì kiểm thử đơn vị đ ược tiến
hành cho một đơn vị mà nhỏ nhất nh ư hàm, modul, thủ tục(procedure),
lớp(class), hay phương thức(method)
Câu 18: Các thuộc tính của dự án. Các hoạt động quản lý dự án.


- Các thuộc tính của dự án:
+ dự án có mục đích kết quả rõ ràng
+ thời gian tồn tại của dự án có tính hữu hạn

+ sản phẩm, kết quả của dự án có tính hữu hạn
+ dự án có nhiều bên liên quan
+ dự án thường mang tính ko chắc chắn.
+ môi trường tổ chức thực hiện có thể nhỏ hoặc lớn
- hoạt động của dự án:
+ xác định các công việc
+ ước lượng chi phí nguồn lực
+ lựa chọn đánh giá nguồn lực
+ lập kế hoạch và lịch trình
+ triển khai và kiểm soát lịch trình của dự án
+ viết báo cáo, trình bày
+ tổng kết đánh giá
Câu 20: Phân biệt yêu cầu chức năng, phi chức năng, yêu c ầu mi ền
ứng dụng. Cho ví dụ
Yêu cầu
năng
Đặc điểm

chức Y/c phi
năng

chức Y/c miền ứng
dụng

- mô tả hệ thống - không đề cập
sẽ làm gì.
trực tiếp tới các
- Mô tả các chức chức năng cụ
của
hệ

năng, dịch vụ thể
một cách chi tiết thống.

- được xác định
từ miền ứng
dụng của hệ
thống và phản
ánh các thuộc
- thường định tính, ràng buộc
nghĩa các thuộc của miền ứng
tính về độ tin dụng.
cậy, thời gian - nếu y/c miền
đáp ứng, các ứng dụng không
ràng buộc hệ thỏa mãn thì có
thông như khả thể hệ thống
năng của t/bị không làm việc
vào
ra,
giao được hoặc sử


×