Tư luận - bài tập tự luận học máy |Đại học Xây Dựng Hà Nội

Câu 1 : Trình bày hiểu biết của em về quy trinh kỹ nghệ yêu cầu1.       Nghiên cứu khả thi (Feasibility study):Một nghiên cứu ngắn, tập trung, nhằm kiểm tra xem – Hệ thống có đóng góp cho các mục tiêu của tổ chức hay không? – Hệ thống có thể được phát triển bằng công nghệ hiện hành và trong phạm vi ngân sách hay không? – Hệ thống có thể được tích hợp với các hệ thống khác đang được sử dụng hay không?Tài liệu giúp bạn tham khảo,ôn tập và đạt kết quả cao.Mời bạn đón xem

lOMoARcPSD|45222017
Câu 1 : Trình bày hiu biết ca em v quy trinh k ngh yêu cu
1. Nghiên cu kh thi (Feasibility study):
- Mt nghiên cu ngn, tp trung, nhm kim tra xem H thống có đóng góp cho các mục
tiêu ca t chc hay không? H thng có th đưc phát trin bng công ngh hin hành và
trong phm vi ngân sách hay không? H thng có th đưc ch hp vi các h thng khác
đang được s dng hay không?
2. Thu thp yêu cu:
- K sư phần mm làm vic với các stakeholder để m ra " Min ng dụng ". • Các vấn đề ca
thu thp yêu cu phn mm: Phm vi ca phn mm (Scope) Hiu rõ phn mm
(Understanding) Các thay đổi ca h thng (Volatillity)
- Phương pháp phát hiện yêu cu phn mm (Requirements Elicitation Methodology) Xác
định các phương pháp sử dng phát hin các yêu cu phn mm: phng vn (closed
interviews và open interviews) bảng điều tra câu hi, làm vic nhóm, các bui hp, gp g
đối tác, v.v. Tìm kiếm các nhân s (chuyên gia, người s dng) T quan sát các quy trình
nghip v
- Bao gồm các giai đoạn: Phát hin yêu cu. Phân loi các yêu cu phn mm và t chc
chúng theo các nhóm liên quan. (3) Chính là phân tich yêu cu Đàm phán, thương lượng
và đánh thứ t ưu tiên. (3) Chính là phân tich yêu cầu và thương lượng Kết qu là bản đặc
t yêu cu(4). Chi tiết hơn về bản đặc t yêu cu chúng ta s m hiu sau
- Sn phm ca vic phát hin yêu cu phn mm: Bảng kê (statement) các đòi hỏi và chc
năng khả thi ca phn mm Bng kê phm vi ng dng ca phn mm Mô t môi trường
k thut ca phn mm Bng kê tp hp các kch bn s dng ca phn mm Các
nguyên mu xây dng, phát trin hay s dng trong phn mm (nếu có) Danh sách nhân
s tham gia vào quá trình phát hin các yêu cu phn mm - k cc nhân s t phía công
ty- khách hàng
3. . Phân tich yêu cầu và thương lượng:
- Phân loi các yêu cu phn mm và sp xếp chúng theo các nhóm liên quan.
- Kho sát t m tng yêu cu phn mm trong mi quan h ca nó vi các yêu cu phn mm
khác.
- Phân cp các yêu cu phn mm theo da trên nhu cu và đòi hỏi khách hàng / người s
dng
- Phân tich các ri ro có th xy ra vi tng yêu cu phn mm.
- Đánh giá thô v giá thành và thi gian thc hin ca tng yêu cu phn mm trong giá
thành sn phm phn mm và thi gian thc hin phn mm
- Gii quyết tt c các bất đồng v yêu cu phn mm với khách hàng trên cơ sở tho lun và
thương lượng các yêu cầu đề ra
4. Đặc t yêu cu phn mm:
- Các khía cnh phải đặc t trong phát trin phn mm: Đặc t vn hành chức năng
(Operational spectifications) mô t các hot đng ca h thng phn mm s xây dng.
Đặc t mô t/phi chc năng (Descriptive specifications) đặc t các đặc tinh đặc trưng của
phn mềm: Định nghĩa các tinh cht ca h thng, các ràng buc, thí d như độ tin cy, thi
lOMoARcPSD|45222017
gian tr lời, dung lưng b nhớ,…Các yêu cầu do t chc qui định như qui định chun v quá
trình tiến hành, chun tài liu
5. Mô hình hóa yêu cu h thng:
- Phải ước định được các thành phn ca h thng trong mi quan h với nhau để xác định
đưc yêu cầu như thế nào thì phù hp vi phn mềm và để đánh giá được mc chuyên
nghip ca h thống khi đưc hoàn thành
- Use case: Là mt dng mô t kch bn trong UML. Mt tp use case mô t tt c các tương
tác có th có vi h thng. Ví d: H thống đăng ký khám bệnh
6. Thẩm định yêu cu (Requirements Validation) :
- Xem xét li yêu cầu: • Phân tich mt cách có h thống • Lấy ý kiến khách hàng • Tiến hành
thường xuyên
- Làm bn mu: S dng mô hình kh dng Kim tra tinh thc hiện được
- To ca kim th (test case): kim tra tinh kiểm tra đưc S dụng CASE: để kim tra tinh nht
quán
7. Qun tr yêu cu
- Qun tr yêu cu (requirements management) là quy trình qun tr s thay đổi yêu cu trong
sut quá trình k ngh yêu cu và phát trin h thng
Các yêu cu mi phát sinh khi h thống đang được phát trin và c khi nó được đưa
vào s dng
Cn theo dõi nhng yêu cu đơn lẻ và duy trì mi liên h gia các yêu cu ph thuc
nhau để có th đánh giá được ảnh hưởng khi thay đổi yêu cu.
Cn thiết lp mt quy trình hình thc cho những đề ngh thay đổi và to mi liên h
gia yêu cu này vi các yêu cu h thng - Nguyên nhân thay đổi yêu cu :
Môi trường kinh doanh và công ngh ca h thống luôn thay đổi sau khi cài đặt
xong phn mm.
Những người tr tin cho h thống thường ít khi là nhng người dùng cui ca phn
mềm. Do đó trong quá trình sử dng có th phát sinh ra các tinh năng mới cần đưc
thêm vào h thống để h tr ngưi dùng
Các h thng lớn thường có mt cộng đồng người dùng đa dạng. Do vy không
tránh khi vic những người dùng này có yêu cu và s ưu tiên khác nhau có th
gây xung đột hoc mâu thun nên cn tha hip gia họ. Và để cân bng vic h tr
các khách hàng khác nhau thì theo kinh nghiệm thường phải thay đổi yêu cu phn
mm h thng
- Quy tc qun tr yêu cu: Mi yêu cu phi là duy nht. Quá trình qun tr thay đổi là tp
hp ca các hoạt động đánh giá tác động và chi phí thay đổi. Chính sách truy đến yêu cu:
Phải có chính sách xác định mi quan h gia mi yêu cu và gia các yêu cu. Phi có
công c h tr qun tr yêu cu.
Câu 2: em hay liet ke cac pha va quan diem ve cac pha ve quy trinh phat trien phan mem (quy trinh ky
nghe phat trien phan mem)
Quy trình phát trin phn mm (Software Development Life Cycle - SDLC) là mt quy trình h thống để
phát trin phn mm t giai đoạn khởi đầu đến giai đoạn hoàn thành. Dưới đây là một s pha và quan
đim ph biến trong quy trình phát trin phn mm:
1. Phân tich yêu cu (Requirement Analysis):
lOMoARcPSD|45222017
Pha này tp trung vào vic thu thp và phân tich yêu cu ca khách hàng.
Mc tiêu là hiu rõ nhu cầu và mong đợi của khách hàng để xác định phm vi d án.
2. Thiết kế (Design):
Trong pha này, các nhà phát trin thiết kế kiến trúc và cu trúc ca h thng.
Đưc chia thành thiết kế cp cao (high-level design) và thiết kế cp thp (low-level
design) để đảm bo rng các yêu cầu được chia nh và d trin khai.
3. Lp trình :
Pha này tp trung vào vic viết mã và trin khai h thng.
Nhà phát trin s dng các ngôn ng lp trình và công c phát triển đ to ra phn
mm theo yêu cầu đã xác định.
4. Kim th (Testing):
Trước khi phn mềm được trin khai, nó cần được kiểm tra đ đảm bo tinh đúng đắn
và hoạt động như mong đợi.
Kim th có th bao gm kim th đơn vị, kim th tich hp, kim th h thng và
kim th chp nhn.
5. Trin khai và bo trì (Deployment and Maintenance):
Sau khi phn mềm đã được kim th và chp nhn, nó s đưc triển khai cho ngưi
dùng cui.
Các hot đng bo trì s đưc thc hiện đ duy trì và nâng cp phn mm theo yêu cu
mi.
Có nhiều quan điểm và pha khác nhau v quy trình phát trin phn mm, các pha có th đưc tùy
chỉnh để phù hp vi d án c th. Mt s quan điểm khác bao gm:
Agile: Mô hình phát trin linh hot, tp trung vào vic phân chia d án thành các pha
ngn gọn (sprints) và tăng cường s tương tác và phản hi ca khách hàng.
Waterfall: Mô hình phát trin tun tự, trong đó các pha diễn ra theo trình t tuyến tinh
và không quay li.
Spiral: Mô hình kết hp gia phương pháp tuần t và linh hot, vi vic lp li các pha
để kiểm tra và đánh giá rủi ro trước khi tiến xa hơn.
DevOps: Kết hp quy trình phát trin phn mm vi hoạt động vn hành h thống để
to ra mt quy trình liên tc và t động hóa.
Quy trình phát trin phn mm có th khác nhau tùy thuc vào d án, công ty và ng cnh.
Câu 3: trình bày hiu biết ca em v 1 só k thut kim th ớng đối tượng , t đó hãy so sánh kiểm
th đơn vị và kim th thành phn
lOMoARcPSD|45222017
K thut kim th ớng đối tượng (Object-Oriented Testing) là một phương pháp kiểm th phn mm
tp trung vào vic kim tra các đối tượng và quan h gia chúng trong h thng phn mềm hướng đối
ợng. Dưới đây là trình bày về hiu biết ca tôi v k thut kim th ớng đối tượng và s khác bit
gia kim th đơn vị và kim th thành phn:
1. K thut kim th ớng đối tượng:
K thut kim th ớng đối tượng tp trung vào vic kiểm tra các đối tượng, phương
thức và tương tác giữa chúng trong h thng phn mềm hướng đối tượng.
Nó s dng các k thuật như kiểm th đơn vị, kim th tich hp và kim th hp trng
để đảm bo rằng các đối tượng và quan h gia chúng hoạt động đúng và tuân thủ các
nguyên tắc hướng đối tượng.
2. Kim th đơn vị:
Kim th đơn vị là quá trình kim th các thành phn nh nht trong phn mm, chng
hạn như lớp, phương thức hoặc đối tưng riêng l.
Nó tp trung vào việc xác định li và kim tra tinh đúng đắn của các đơn vị phn mm.
Các k thut kim th đơn vị bao gm kim th hộp đen (black-box testing) và kim th
hp trng (white-box testing).
3. Kim th thành phn:
Kim th thành phn tp trung vào vic kim tra tinh tương tác và tinh hot đng ca
các thành phn phn mềm khi được kết hp vi nhau.
Thành phn có th là mt tp hợp các đối tượng, lp hoc module phn mm.
Các k thut kim th thành phn bao gm kim th tich hp, kim th giao din và
kim th h thng.
So sánh gia kim th đơn vị và kim th thành phn:
Phm vi: Kim th đơn vị tp trung vào các thành phn nh nht trong phn mm,
trong khi kim th thành phn tp trung vào tinh tương tác giữa các thành phn khi
chúng được kết hp.
Đơn vị kim th: Kim th đơn vị kim tra từng đơn vị phn mm riêng l, trong khi
kim th thành phn kim tra các thành phần được kết hp vi nhau.
Mc tiêu: Kim th đơn vị tập trung vào xác định lỗi và đảm bo tinh đúng đắn ca tng
đơn vị, trong khi kim th thành phn tp trung vào kim tra tinh tương tác và tinh hot
động ca các thành phần khi chúng được kết hp.
Ph thuc: Kim th thành phn ph thuc vào kim th đơn vị để đảm bo tinh đúng
đắn ca tng thành phn riêng l trước khi kim tra tinh tương tác giữa chúng.
Câu 4: trình bày hiu biết ca em v mô hình lp trình. lit kê mt s mô hinh lp trình ph biến và minh
ha
lOMoARcPSD|45222017
- Mô hình lp trình là mt cách phân loi ngôn ng lp trình da trên tinh năng của chúng.
- Mt ngôn ng có th h tr nhiu mô hình lp trình.
- Mt s mô hình ch yếu quan tâm đến s thc thi của chương trình, các mô hình khác lại
ch yếu quan tâm đến cách t chc mã code, tuy nhiên nhng mô hình khác li ch quan
tâm đến phong cách ca cú pháp và ng pháp.
- Các mô hình lp trình ph biến bao gm:
• Lp trình mnh lnh: Là mu hình lp trình s dng mt chui các câu lệnh để thay đi trng
thái của chương trình.
Bao gồm như:
Lập trình hướng th tc thc hin nhóm các câu lnh trong các th tc/các hàm. Lp
trình hướng đối tượng thc hiện code để tạo ra các đối tượng trừu tượng hóa các đối
ng trong bài toán thc tế.
Lập trình khai báo: Trong đó các lập trình viên khai báo các thuc tinh ca kết qu mong
muốn,nhưng không thực hin tinh toán nó.
Lp trình khai báo bao gồm như:
Lập trình hướng chc năng: Kết qu mong muốn được khai báo như dãy giá trị ca chức năng
các ng dng.
Lp trình logic: Da trên logic toán trong các mi quan h và các suy lun.
Lp trình tinh toán: Trong đó kết qu mong muốn đưc khai báo là gii pháp ca mt bài toán
tối ưu.
Lp trình phn ng(reactive): Trong đó kết qu mong muốn đưc khai báo vi các lung d
liu và s lan truyn ca s thay đổi
Ví d: Duyệt danh sách đưa ra số chn
Lp trình mnh lnh:
- Lp trình khai báo :
1. Mô hình lập trình hưng th tc (Procedural Programming):
Mô hình lập trình hướng th tc tp trung vào vic xây dng các thut toán và quy trình
thc hin.
Các chương trình được chia thành các hàm hoc th tc, và các biến được s dng để
lưu trữ d liu.
Ví d ngôn ng lập trình hưng th tc: C, Pascal.
lOMoARcPSD|45222017
2. Mô hình lập trình hướng đối tượng (Object-Oriented Programming):
Mô hình lập trình hướng đối tượng tp trung vào vic xây dựng các đối tượng, quan h
và phương thức.
Các đối tượng là các thc th có thuc tinh và hành vi riêng, và chúng tương tác thông
qua cơ chế kế tha, đa hình và đóng gói.
Ví d ngôn ng lập trình hướng đối tượng: Java, C++, Python.
3. Mô hình lập trình hưng s kin (Event-Driven Programming):
Mô hình lập trình hướng s kin tp trung vào x lý các s kin và phn ứng tương ứng.
Chương trình được thiết kế để phn ng và x lý các s kin t ngun bên ngoài, chng
hạn như nút nhấn, chut hoc bàn phím.
Ví d ngôn ng lập trình hưng s kin: JavaScript, Visual Basic.
4. Mô hình lập trình hướng logic (Logic Programming):
Mô hình lập trình hướng logic tp trung vào vic mô t các ràng buc và quy tc logic.
Chương trình được xây dng da trên việc xác định các lut logic và các mệnh đề để gii
quyết vấn đề.
Ví d ngôn ng lập trình hưng logic: Prolog.
5. Mô hình lập trình hướng dch v (Service-Oriented Programming):
Mô hình lập trình hướng dch v tp trung vào vic xây dng các dch v đc lp và kết
hợp chúng để to ra ng dng.
Các dch v được xác định bi giao din và có th đưc truy cp và s dng bi các ng
dng khác.
Ví d ngôn ng lập trình hưng dch v: Web services (SOAP, REST).
Mi mô hình lập trình có ưu điểm và hn chế riêng, và la chn mô hình phù hp ph thuc vào yêu cu
tinh cht ca d án phát trin phn mm. Ngoài nhng mô hình lập trình được lit kê trên, còn có
nhiều mô hình khác như Mô hình lp trình logic (Logic Programming), mô hình lập trình hướng khai thác
d liu (Data-Driven Programming), mô hình lập trình hướng hợp đồng (Contract-Based Programming),
mô hình lập trình hưng khai phá (Exploratory Programming), và nhiu mô hình khác na. S la chn
mô hình lp trình phù hp ph thuc vào bi cnh và mc tiêu ca d án.
| 1/6

Preview text:

lOMoARcPSD| 45222017
Câu 1 : Trình bày hiểu biết của em về quy trinh kỹ nghệ yêu cầu
1. Nghiên cứu khả thi (Feasibility study): -
Một nghiên cứu ngắn, tập trung, nhằm kiểm tra xem – Hệ thống có đóng góp cho các mục
tiêu của tổ chức hay không? – Hệ thống có thể được phát triển bằng công nghệ hiện hành và
trong phạm vi ngân sách hay không? – Hệ thống có thể được tích hợp với các hệ thống khác
đang được sử dụng hay không? 2. Thu thập yêu cầu: -
Kỹ sư phần mềm làm việc với các stakeholder để tìm ra " Miền ứng dụng ". • Các vấn đề của
thu thập yêu cầu phần mềm: – Phạm vi của phần mềm (Scope) – Hiểu rõ phần mềm
(Understanding) – Các thay đổi của hệ thống (Volatillity) -
Phương pháp phát hiện yêu cầu phần mềm (Requirements Elicitation Methodology) – Xác
định các phương pháp sử dụng phát hiện các yêu cầu phần mềm: phỏng vấn (closed
interviews và open interviews) bảng điều tra câu hỏi, làm việc nhóm, các buổi họp, gặp gỡ
đối tác, v.v. – Tìm kiếm các nhân sự (chuyên gia, người sử dụng) – Tự quan sát các quy trình nghiệp vụ -
Bao gồm các giai đoạn: –Phát hiện yêu cầu. –Phân loại các yêu cầu phần mềm và tổ chức
chúng theo các nhóm liên quan. (3) Chính là phân tich yêu cầu – Đàm phán, thương lượng
và đánh thứ tự ưu tiên. (3) Chính là phân tich yêu cầu và thương lượng –Kết quả là bản đặc
tả yêu cầu(4). Chi tiết hơn về bản đặc tả yêu cầu chúng ta sẽ tìm hiểu sau -
Sản phẩm của việc phát hiện yêu cầu phần mềm: – Bảng kê (statement) các đòi hỏi và chức
năng khả thi của phần mềm – Bảng kê phạm vi ứng dụng của phần mềm – Mô tả môi trường
kỹ thuật của phần mềm – Bảng kê tập hợp các kịch bản sử dụng của phần mềm – Các
nguyên mẫu xây dựng, phát triển hay sử dụng trong phần mềm (nếu có) – Danh sách nhân
sự tham gia vào quá trình phát hiện các yêu cầu phần mềm - kể cả các nhân sự từ phía công ty- khách hàng
3. . Phân tich yêu cầu và thương lượng: -
Phân loại các yêu cầu phần mềm và sắp xếp chúng theo các nhóm liên quan. -
Khảo sát tỉ mỉ từng yêu cầu phần mềm trong mối quan hệ của nó với các yêu cầu phần mềm khác. -
Phân cấp các yêu cầu phần mềm theo dựa trên nhu cầu và đòi hỏi khách hàng / người sử dụng -
Phân tich các rủi ro có thể xảy ra với từng yêu cầu phần mềm. -
Đánh giá thô về giá thành và thời gian thực hiện của từng yêu cầu phần mềm trong giá
thành sản phẩm phần mềm và thời gian thực hiện phần mềm -
Giải quyết tất cả các bất đồng về yêu cầu phần mềm với khách hàng trên cơ sở thảo luận và
thương lượng các yêu cầu đề ra
4. Đặc tả yêu cầu phần mềm: -
Các khía cạnh phải đặc tả trong phát triển phần mềm: – Đặc tả vận hành chức năng
(Operational spectifications) mô tả các hoạt động của hệ thống phần mềm sẽ xây dựng. –
Đặc tả mô tả/phi chức năng (Descriptive specifications) – đặc tả các đặc tinh đặc trưng của
phần mềm: Định nghĩa các tinh chất của hệ thống, các ràng buộc, thí dụ như độ tin cậy, thời lOMoARcPSD| 45222017
gian trả lời, dung lượng bộ nhớ,…Các yêu cầu do tổ chức qui định như qui định chuẩn về quá
trình tiến hành, chuẩn tài liệu
5. Mô hình hóa yêu cầu hệ thống: -
Phải ước định được các thành phần của hệ thống trong mối quan hệ với nhau để xác định
được yêu cầu như thế nào thì phù hợp với phần mềm và để đánh giá được mức chuyên
nghiệp của hệ thống khi được hoàn thành -
Use case: Là một dạng mô tả kịch bản trong UML. Một tập use case mô tả tất cả các tương
tác có thể có với hệ thống. Ví dụ: Hệ thống đăng ký khám bệnh
6. Thẩm định yêu cầu (Requirements Validation) : -
Xem xét lại yêu cầu: • Phân tich một cách có hệ thống • Lấy ý kiến khách hàng • Tiến hành thường xuyên -
Làm bản mẫu: – Sử dụng mô hình khả dụng – Kiểm tra tinh thực hiện được -
Tạo ca kiểm thử (test case): kiểm tra tinh kiểm tra được Sử dụng CASE: để kiểm tra tinh nhất quán 7. Quản trị yêu cầu -
Quản trị yêu cầu (requirements management) là quy trình quản trị sự thay đổi yêu cầu trong
suốt quá trình kỹ nghệ yêu cầu và phát triển hệ thống
• Các yêu cầu mới phát sinh khi hệ thống đang được phát triển và cả khi nó được đưa vào sử dụng
• Cần theo dõi những yêu cầu đơn lẻ và duy trì mối liên hệ giữa các yêu cầu phụ thuộc
nhau để có thể đánh giá được ảnh hưởng khi thay đổi yêu cầu.
• Cần thiết lập một quy trình hình thức cho những đề nghị thay đổi và tạo mối liên hệ
giữa yêu cầu này với các yêu cầu hệ thống - Nguyên nhân thay đổi yêu cầu :
• Môi trường kinh doanh và công nghệ của hệ thống luôn thay đổi sau khi cài đặt xong phần mềm.
• Những người trả tiền cho hệ thống thường ít khi là những người dùng cuối của phần
mềm. Do đó trong quá trình sử dụng có thể phát sinh ra các tinh năng mới cần được
thêm vào hệ thống để hỗ trợ người dùng
• Các hệ thống lớn thường có một cộng đồng người dùng đa dạng. Do vậy không
tránh khỏi việc những người dùng này có yêu cầu và sự ưu tiên khác nhau có thể
gây xung đột hoặc mâu thuẫn nên cần thỏa hiệp giữa họ. Và để cân bằng việc hỗ trợ
các khách hàng khác nhau thì theo kinh nghiệm thường phải thay đổi yêu cầu phần mềm hệ thống -
Quy tắc quản trị yêu cầu: – Mỗi yêu cầu phải là duy nhất. – Quá trình quản trị thay đổi là tập
hợp của các hoạt động đánh giá tác động và chi phí thay đổi. – Chính sách truy đến yêu cầu:
Phải có chính sách xác định mối quan hệ giữa mỗi yêu cầu và giữa các yêu cầu. – Phải có
công cụ hỗ trợ quản trị yêu cầu.
Câu 2: em hay liet ke cac pha va quan diem ve cac pha ve quy trinh phat trien phan mem (quy trinh ky nghe phat trien phan mem)
Quy trình phát triển phần mềm (Software Development Life Cycle - SDLC) là một quy trình hệ thống để
phát triển phần mềm từ giai đoạn khởi đầu đến giai đoạn hoàn thành. Dưới đây là một số pha và quan
điểm phổ biến trong quy trình phát triển phần mềm:
1. Phân tich yêu cầu (Requirement Analysis): lOMoARcPSD| 45222017 •
Pha này tập trung vào việc thu thập và phân tich yêu cầu của khách hàng. •
Mục tiêu là hiểu rõ nhu cầu và mong đợi của khách hàng để xác định phạm vi dự án. 2. Thiết kế (Design): •
Trong pha này, các nhà phát triển thiết kế kiến trúc và cấu trúc của hệ thống. •
Được chia thành thiết kế cấp cao (high-level design) và thiết kế cấp thấp (low-level
design) để đảm bảo rằng các yêu cầu được chia nhỏ và dễ triển khai. 3. Lập trình : •
Pha này tập trung vào việc viết mã và triển khai hệ thống. •
Nhà phát triển sử dụng các ngôn ngữ lập trình và công cụ phát triển để tạo ra phần
mềm theo yêu cầu đã xác định. 4. Kiểm thử (Testing): •
Trước khi phần mềm được triển khai, nó cần được kiểm tra để đảm bảo tinh đúng đắn
và hoạt động như mong đợi. •
Kiểm thử có thể bao gồm kiểm thử đơn vị, kiểm thử tich hợp, kiểm thử hệ thống và kiểm thử chấp nhận.
5. Triển khai và bảo trì (Deployment and Maintenance): •
Sau khi phần mềm đã được kiểm thử và chấp nhận, nó sẽ được triển khai cho người dùng cuối. •
Các hoạt động bảo trì sẽ được thực hiện để duy trì và nâng cấp phần mềm theo yêu cầu mới.
Có nhiều quan điểm và pha khác nhau về quy trình phát triển phần mềm, và các pha có thể được tùy
chỉnh để phù hợp với dự án cụ thể. Một số quan điểm khác bao gồm: •
Agile: Mô hình phát triển linh hoạt, tập trung vào việc phân chia dự án thành các pha
ngắn gọn (sprints) và tăng cường sự tương tác và phản hồi của khách hàng. •
Waterfall: Mô hình phát triển tuần tự, trong đó các pha diễn ra theo trình tự tuyến tinh và không quay lại. •
Spiral: Mô hình kết hợp giữa phương pháp tuần tự và linh hoạt, với việc lặp lại các pha
để kiểm tra và đánh giá rủi ro trước khi tiến xa hơn. •
DevOps: Kết hợp quy trình phát triển phần mềm với hoạt động vận hành hệ thống để
tạo ra một quy trình liên tục và tự động hóa.
Quy trình phát triển phần mềm có thể khác nhau tùy thuộc vào dự án, công ty và ngữ cảnh.
Câu 3: trình bày hiểu biết của em về 1 só kỹ thuật kiểm thử hướng đối tượng , từ đó hãy so sánh kiểm
thử đơn vị và kiểm thử thành phần lOMoARcPSD| 45222017
Kỹ thuật kiểm thử hướng đối tượng (Object-Oriented Testing) là một phương pháp kiểm thử phần mềm
tập trung vào việc kiểm tra các đối tượng và quan hệ giữa chúng trong hệ thống phần mềm hướng đối
tượng. Dưới đây là trình bày về hiểu biết của tôi về kỹ thuật kiểm thử hướng đối tượng và sự khác biệt
giữa kiểm thử đơn vị và kiểm thử thành phần:
1. Kỹ thuật kiểm thử hướng đối tượng: •
Kỹ thuật kiểm thử hướng đối tượng tập trung vào việc kiểm tra các đối tượng, phương
thức và tương tác giữa chúng trong hệ thống phần mềm hướng đối tượng. •
Nó sử dụng các kỹ thuật như kiểm thử đơn vị, kiểm thử tich hợp và kiểm thử hộp trắng
để đảm bảo rằng các đối tượng và quan hệ giữa chúng hoạt động đúng và tuân thủ các
nguyên tắc hướng đối tượng. 2. Kiểm thử đơn vị: •
Kiểm thử đơn vị là quá trình kiểm thử các thành phần nhỏ nhất trong phần mềm, chẳng
hạn như lớp, phương thức hoặc đối tượng riêng lẻ. •
Nó tập trung vào việc xác định lỗi và kiểm tra tinh đúng đắn của các đơn vị phần mềm. •
Các kỹ thuật kiểm thử đơn vị bao gồm kiểm thử hộp đen (black-box testing) và kiểm thử
hộp trắng (white-box testing).
3. Kiểm thử thành phần: •
Kiểm thử thành phần tập trung vào việc kiểm tra tinh tương tác và tinh hoạt động của
các thành phần phần mềm khi được kết hợp với nhau. •
Thành phần có thể là một tập hợp các đối tượng, lớp hoặc module phần mềm. •
Các kỹ thuật kiểm thử thành phần bao gồm kiểm thử tich hợp, kiểm thử giao diện và kiểm thử hệ thống.
So sánh giữa kiểm thử đơn vị và kiểm thử thành phần: •
Phạm vi: Kiểm thử đơn vị tập trung vào các thành phần nhỏ nhất trong phần mềm,
trong khi kiểm thử thành phần tập trung vào tinh tương tác giữa các thành phần khi chúng được kết hợp. •
Đơn vị kiểm thử: Kiểm thử đơn vị kiểm tra từng đơn vị phần mềm riêng lẻ, trong khi
kiểm thử thành phần kiểm tra các thành phần được kết hợp với nhau. •
Mục tiêu: Kiểm thử đơn vị tập trung vào xác định lỗi và đảm bảo tinh đúng đắn của từng
đơn vị, trong khi kiểm thử thành phần tập trung vào kiểm tra tinh tương tác và tinh hoạt
động của các thành phần khi chúng được kết hợp. •
Phụ thuộc: Kiểm thử thành phần phụ thuộc vào kiểm thử đơn vị để đảm bảo tinh đúng
đắn của từng thành phần riêng lẻ trước khi kiểm tra tinh tương tác giữa chúng.
Câu 4: trình bày hiểu biết của em về mô hình lập trình. liệt kê một số mô hinh lập trình phổ biến và minh họa lOMoARcPSD| 45222017 -
Mô hình lập trình là một cách phân loại ngôn ngữ lập trình dựa trên tinh năng của chúng. -
Một ngôn ngữ có thể hỗ trợ nhiều mô hình lập trình. -
Một số mô hình chủ yếu quan tâm đến sự thực thi của chương trình, các mô hình khác lại
chủ yếu quan tâm đến cách tổ chức mã code, tuy nhiên những mô hình khác lại chỉ quan
tâm đến phong cách của cú pháp và ngữ pháp. -
Các mô hình lập trình phổ biến bao gồm:
• Lập trình mệnh lệnh: Là mẫu hình lập trình sử dụng một chuỗi các câu lệnh để thay đổi trạng thái của chương trình. Bao gồm như:
– Lập trình hướng thủ tục thực hiện nhóm các câu lệnh trong các thủ tục/các hàm. – Lập
trình hướng đối tượng thực hiện code để tạo ra các đối tượng trừu tượng hóa các đối
tượng trong bài toán thực tế.
• Lập trình khai báo: Trong đó các lập trình viên khai báo các thuộc tinh của kết quả mong
muốn,nhưng không thực hiện tinh toán nó.
Lập trình khai báo bao gồm như:
• Lập trình hướng chức năng: Kết quả mong muốn được khai báo như dãy giá trị của chức năng các ứng dụng.
• Lập trình logic: Dựa trên logic toán trong các mối quan hệ và các suy luận.
• Lập trình tinh toán: Trong đó kết quả mong muốn được khai báo là giải pháp của một bài toán tối ưu.
• Lập trình phản ứng(reactive): Trong đó kết quả mong muốn được khai báo với các luồng dữ
liệu và sự lan truyền của sự thay đổi
Ví dụ: Duyệt danh sách đưa ra số chẵn
– Lập trình mệnh lệnh: - Lập trình khai báo :
1. Mô hình lập trình hướng thủ tục (Procedural Programming): •
Mô hình lập trình hướng thủ tục tập trung vào việc xây dựng các thuật toán và quy trình thực hiện. •
Các chương trình được chia thành các hàm hoặc thủ tục, và các biến được sử dụng để lưu trữ dữ liệu. •
Ví dụ ngôn ngữ lập trình hướng thủ tục: C, Pascal. lOMoARcPSD| 45222017
2. Mô hình lập trình hướng đối tượng (Object-Oriented Programming): •
Mô hình lập trình hướng đối tượng tập trung vào việc xây dựng các đối tượng, quan hệ và phương thức. •
Các đối tượng là các thực thể có thuộc tinh và hành vi riêng, và chúng tương tác thông
qua cơ chế kế thừa, đa hình và đóng gói. •
Ví dụ ngôn ngữ lập trình hướng đối tượng: Java, C++, Python.
3. Mô hình lập trình hướng sự kiện (Event-Driven Programming): •
Mô hình lập trình hướng sự kiện tập trung vào xử lý các sự kiện và phản ứng tương ứng. •
Chương trình được thiết kế để phản ứng và xử lý các sự kiện từ nguồn bên ngoài, chẳng
hạn như nút nhấn, chuột hoặc bàn phím. •
Ví dụ ngôn ngữ lập trình hướng sự kiện: JavaScript, Visual Basic.
4. Mô hình lập trình hướng logic (Logic Programming): •
Mô hình lập trình hướng logic tập trung vào việc mô tả các ràng buộc và quy tắc logic. •
Chương trình được xây dựng dựa trên việc xác định các luật logic và các mệnh đề để giải quyết vấn đề. •
Ví dụ ngôn ngữ lập trình hướng logic: Prolog.
5. Mô hình lập trình hướng dịch vụ (Service-Oriented Programming): •
Mô hình lập trình hướng dịch vụ tập trung vào việc xây dựng các dịch vụ độc lập và kết
hợp chúng để tạo ra ứng dụng. •
Các dịch vụ được xác định bởi giao diện và có thể được truy cập và sử dụng bởi các ứng dụng khác. •
Ví dụ ngôn ngữ lập trình hướng dịch vụ: Web services (SOAP, REST).
Mỗi mô hình lập trình có ưu điểm và hạn chế riêng, và lựa chọn mô hình phù hợp phụ thuộc vào yêu cầu
và tinh chất của dự án phát triển phần mềm. Ngoài những mô hình lập trình được liệt kê ở trên, còn có
nhiều mô hình khác như Mô hình lập trình logic (Logic Programming), mô hình lập trình hướng khai thác
dữ liệu (Data-Driven Programming), mô hình lập trình hướng hợp đồng (Contract-Based Programming),
mô hình lập trình hướng khai phá (Exploratory Programming), và nhiều mô hình khác nữa. Sự lựa chọn
mô hình lập trình phù hợp phụ thuộc vào bối cảnh và mục tiêu của dự án.