1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng đảm bảo chất lượng phần mềm

123 1,1K 3

Đ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

Tiêu đề Đảm bảo chất lượng phần mềm
Người hướng dẫn PGS. TS. Trần Cao Đệ
Trường học Đại học Cần Thơ
Chuyên ngành Công nghệ thông tin
Thể loại Môn học
Năm xuất bản 2014
Thành phố Cần Thơ
Định dạng
Số trang 123
Dung lượng 3,23 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mục tiêu & outcome • Cung cấp kiến thức cơ bản về thiết lập và cài đặt một hệ thống chất lượng - qui trình kiểm soát chất lượng hiện hành trong công nghệ phần mềm.. Mô tả đồ án tt – G

Trang 1

Đảm bảo chất lượng phần mềm

Software Quality Assurance

Giới thiệu môn học

PGS TS Trần Cao Đệ

Bộ môn Công nghệ Thông tin

Trang 3

Mục tiêu & outcome

• Cung cấp kiến thức cơ bản về thiết lập và cài đặt một hệ thống chất

lượng

- qui trình kiểm soát chất lượng hiện hành trong công nghệ phần

mềm

- tổ chức thực hiện và đánh giá chất lượng phần mềm

- kiến thức cập nhật về các chuẩn hiện hành trong CNPM

Trang 4

Thời lượng môn học

Trang 6

Mô tả đồ án

kiếm nhà trọ nhằm mục tiêu giúp người dùng có thể tìm kiếm được nhà trọ một cách dễ dàng và tiện lợi đồng thời cũng giúp chủ nhà trọ quảng bá nhà trọ bằng từ

Một chủ nhà trọ khi được cấp tài khoản được đăng thông tin

về nhà trọ lên web site bao gồm tin tức và hình ảnh

• Quản lí danh sách thành viên

Trang 7

Mô tả đồ án (tt)

• Người dùng có thể truy cập web site tự do nhưng những người dùng có đăng kí thành viên sẽ được cung cấp thông tin mới qua email khi có thông tin nhà trọ phù hợp với yêu cầu

– Chủ nhà trọ :

• có thể cập nhật thông tin nhà trọ và thông tin cá nhân về tài khoản của họ (email, số điện thoại,…)

• có thể đăng kí thành viên để tham gia diễn đàn

– Khách tự do: bất bỳ ai truy cập web site

• Tìm kiếm nhà trọ

– Thành viên: những người có đăng kí thành viên

• Gửi ý kiến đóng góp, đánh giá nhà trọ

• Tham gia diễn đàn

Trang 8

Mô tả đồ án (tt)

– Giao diện đẹp

– Dùng một framework nào đó để phát triển web

– Tin tức mới phải được hiển thị nổi bật

– Diễn đàn phải có quản lí tin tức theo chủ đề

– Chạy được trên các trình duyệt thông dụng

– Mức độ hoàn thiện các yêu cầu đồ án và của web site

– Mục tiêu (ý đồ) chất lượng và mức độ đạt được của chất lượng

– Mức độ tương thích của web site với các môi trường khác nhau (dựa trên báo cáo)

Trang 9

Nội dung môn học

• Chương 1: Giới thiệu về quản lí CNPM và quản lí chất

lượng phần mềm

• Chương 2: Quản lí chất lượng phần mềm

• Chương 3: Các chuẩn chất lượng phần mềm

• Chương 4: Các độ đo chất lượng

• Chương 5: Đảm bảo chất lượng và kiểm soát chất lượng

Trang 10

Lịch học SQA HK 1 năm 2014 – 15

Ngày Tuần Nội dung Phòng yêu cầu phải nộp để chấm điểm

8-Aug-14 1 LT: Giới thiệu môn học + Chia nhóm đồ án 303/C1

29-Aug-14 4 TH : Viết đặc tả phần mềm-duyệt đặc tả làm rõ các y/c chất lượng 303/C1

5-Sep-14 5 LT: Chương 2 303/C1 Nộp kết quả TH 1: đặc tả PM, chấm 10% 12-Sep-14 6 TH : Thiết kế phần mềm-duyệt thiết kế và xem xét chất lượng TK 303/C1

Trang 11

Một số qui định

• Đồ án: điểm theo nhóm : 8-10 SV

– Không có đăng kí nhóm: 0 điểm đồ án

– Không tham gia đồ án: 0 điểm đồ án

– Không nộp báo cáo viết/viết không đúng yêu cầu: không chấm điểm thực hành

• Thi :

– Vắng quá 20% giờ LT: cấm thi

– Thi trắc nghiệm: mang theo viết chì 2B

– Ghi/tô sai SBD: -1 điểm bài thi

– Không ghi/tô Mã đề: 0 điểm thi

Trang 12

Mẫu phiếu trắc nghiệm

Trang 13

Qui định về thang điểm

Thang điểm 10 Điểm chữ

Trang 14

Tài liệu tham khảo

1 Daniel Galin, Software Quality Assurance, Addition Wesley, 2004

2 M Pezzè, M Young, Software Testing and Analysis: Process,

Principles, and Techniques, Wiley, 2008

Trang 15

Thông tin về giảng viên

TS Trần Cao Đệ

Bộ môn Công nghệ TT

Khoa CNTT & TT – Đại học Cần Thơ

tcde@cit.ctu.edu.vn

**Các email sẽ được trả lời trong thời gian 3 ngày

• Địa chỉ: Số 1 – Lý Tự Trọng, Ninh Kiều, Cần Thơ

• Phone: 0710.38.31.301

Trang 16

Website Khoa CNTT&TT

www.cit.ctu.edu.vn/~tcde

Để cập nhật thông tin về môn học

Trang 17

Đại diện các nhóm SV

Trang 18

PGS TS Trần Cao Đệ

Bộ môn Công nghệ phần mềm Khoa CNTT&TT – Đại học Cần Thơ Năm 2013

Đảm bảo chất lượng phần mềm

Software Quality Assurance

VẤN ĐỀ QUẢN LÍ CHẤT LƯỢNG

TRONG CÔNG NGHỆ PHẦN MỀM

Trang 19

CÔNG NGHỆ PHẦN MỀM là gì?

Trang 20

PHẦN MỀM

- Là hệ thống gồm có chương trình máy tính, tài liệu, dữ

liệu và qui trình vận hành các chương trình đó để vận hành hệ thống máy tính

- Phần mềm không chỉ là các chương trình máy tính mà

còn bao gồm cả các tài liệu cần thiết cho việc phát triển

và bảo trì các chương trình đó

- Ngày nay các phần mềm là phần không thể thiếu trong

hệ thống tác nghiệp tại các cơ quan, xí nghiệp

- Phần mềm có mặt khắp nơi: điện thoại di động, máy

lạnh, máy giặt, đồ chơi,…

chất lượng có tác hại gì?

Trang 21

Lỗi phần mềm

Trang 22

Lỗi phần mềm (tt)

• Hình ảnh tên lửa Ariane 5 nổ tung ngày 4/6/1996 sau vài giây được phóng lên, thiệt hại 500.000.000$US

• Image source: European Space Agency

Trang 23

bệnh nhân

Trang 24

Lỗi phần mềm (tt)

System) đã làm cho hệ thống chậm tiến độ 16 tháng,

thiệt hại mỗi ngày 1.000.000 $US

hại lên đến hơn 3G $US

Trang 25

Lỗi phần mềm (tt)

- Chưa nghe nói có phần mềm nào kém chất lượng

Trang 26

Tại sao phần mềm kém chất lượng?

Trang 27

Các nguyên nhân gây lỗi phần mềm

• Faulty requirement definition

• Client-developer communication failures

• Deliberate deviations from software requirements

• Logical design errors

• Coding errors

• Non-compliance with documentation and coding instructions

• Shortcomings of the testing process

• User interface and procedure errors

Trang 28

đúng đắn để thu được phần mềm một cách kinh tế nhất

và chạy hiệu quả trên các máy thật [NATO68]

Trang 29

CÔNG NGHỆ PHẦN MỀM (tt)

yêu cầu cao về chất lượng

để phát triển phần mềm chuyên nghiệp

- Làm việc có tổ chức khoa học

- Đội ngũ KS/lập trình viên đông, chuyên môn hóa

- Tác phong chuyên nghiệp

- Sản phẩm trí tuệ

Trang 32

Qui trình phần mềm

• Qui trình phần mềm

- Các bước tiến hành một phần mềm

- Mô hình tiến trình

• Các bước chính trong tiến trình phát triển phần mềm

- Tìm hiểu yêu cầu

Trang 33

Kế hoạch về nhân sự/nhân lực

xác định yêu cầu, 10%

đặc tả, 10%

thiết kế, 15%

cài đặt, 20%

kiểm thử, 45%

Trang 34

Đặc tả yêu cầu phần mềm

• Các yêu cầu của người dùng về hệ thống tương lai

- Chỉ tập trung vào what và bỏ qua how

- Là hợp đồng (contract) giữa khách hàng và nhà phát triển

- Phải bao gồm các ràng buộc mà sản phẩm phải đáp ứng

• Nội dung đặc tả

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

- Yêu cầu không chức năng: hiệu quả của hệ thống, độ tin cậy, tài liệu

người dùng, tập huấn, giá thành,…

• Kết quả của đặc tả: tài liệu đặc tả yêu cầu

- Phản ánh sự hiểu biết chung về vấn đề cần giải quyết giữa người

phân tích và khách hàng

- Cơ sở để nghiên cứu khả thi

- Cơ sở để kiểm thử-chấp nhận

Trang 35

Ba bước trong đặc tả yêu cầu

Trang 36

Phân tích (Analyze)

- Giai đoạn cuối của đặc tả

- Giai đoạn đầu của thiết kế

- Làm rõ thêm các yêu cầu

- Trình bày các yêu cầu bằng các mô hình phân tích

- Định nghĩa rõ các thuật ngữ (từ điển dữ liệu)

- State diagram…

Trang 37

Kết quả của quá trình phân tích yêu cầu

Một ví dụ: kết quả theo phân tích truyền thống 

Mô hình thực thể quan hệ

Trang 38

- Có thể không phải duy nhất

YÊU CẦU ĐỐI LẬP NHAU

Design pattern:

dùng lại ý tưởng

& các mẫu thiết kế

Trang 39

Thiết kế kiến trúc

Requirements (from customer)

Req 1 Req 2

… Req n

Trang 40

Thiết kế chi tiết

Trang 42

- Sử dụng thư viện / Nguồn mở

- Hình thức chuẩn của code

- Refactoring

 Cải tiến thiết kế và code đã có một cách an toàn

 Viết lại source code để cải tiến thiết kế và tính dễ đọc

Trang 43

Kiểm thử

của chương trình bằng một tập hợp hữu hạn

các trường hợp (test case) để xác nhận hành vi mong muốn đã được đặc tả

- Verification: do right things

- Validation: do things right

Trang 44

Kiểm thử # chạy thử

trên test

nguyên nhân gây lỗi

- Hiệu quả của test

- Hiệu quả của lập trình viên

- Hiệu quả của dự án – chất lượng phần mềm

Trang 45

Các loại kiểm thử

• Unit Test: test từng thành phần đơn vị để chỉ ra nó thỏa mãn

chức năng đặc tả và/hoặc để chỉ ra cấu trúc của nó phù hợp với cấu trúc thiết kế

• Integration Test: test để chỉ ra các mảnh/ thành phần của phần

mềm được kết nối nhau đúng đắn để tạo ra thành phần lớn hơn

• System Test: test toàn bộ hệ thống trong môi trường hoạt động

của nó

• Acceptance Test : test toàn bộ hệ thống và tập trung vào yêu cầu

Trang 46

Kiểm thử hình chữ V

Trang 47

Hết chương!

Liên hệ:

TS Trần Cao Đệ

Bộ môn Công nghệ Phần mềm Khoa CNTT và TT – ĐH Cần Thơ Email: tcde@cit.ctu.edu.vn

Trang 48

Yêu cầu đồ án

Xây dựng phần mềm: ứng dụng web hỗ trợ quản lí và tìm kiếm nhà trọ

- Quản lí danh mục các nhà trọ (ở nhiều tỉnh thành)

- Admin, Chủ nhà trọ: Đăng kí thành viên, cập nhật thông tin về nhà trọ (tên, địa chỉ, sđt, hình ảnh,…)

- Admin, chủ nhà trọ: cập nhật thông tin trạng thái phòng trọ (trạng thái, giá cả, hình ảnh)

- Tìm kiếm nhà trọ

- Người dùng có thể nêu các yêu cầu: địa bàn, giá, loại phòng (số người), điều kiện khác (nấu ăn, nhà VS,…)

- Quản lí yêu cầu tìm chỗ trọ

- Người dùng có thể đăng kí như là thành viên và gởi yêu cầu tìm chỗ trọ tới cho admin Admin tìm chỗ trọ và cung câp thông tin cho người dùng (có trả phí qua tài khoản)

- Người dùng trả phí qua tài khoản NH và thông báo cho admin (việc này ngoài

hệ thống) Admin sau khi nhận được sẽ cung câp thông tin nhà trọ cho người

Trang 49

Công việc cần thực hiện

Trang 50

PGS TS Trần Cao Đệ

Bộ môn Công nghệ phần mềm Khoa CNTT&TT – Đại học Cần Thơ Năm 2013

Đảm bảo chất lượng phần mềm

Software Quality Assurance

Chương 2: Quản lí chất

lượng phần mềm

Trang 51

Đảm bảo chất lượng: thiết lập một tập hợp các họat động

có chủ đích và có hệ thống nhằm mang lại sự tin tưởng

sẽ đạt được chất lượng đòi hỏi

“SQA is a systematic, planned set of actions necessary

to provide adequate confidence that the software

development process or the maintenance process of a software system product conforms to established

functional technical requirements as well as with the

managerial requirements of keeping the schedule and

Trang 52

Đảm bảo chất lượng phần mềm

phần mềm sẽ hoàn thành đúng đặc tả, theo chuẩn

mực định trước và các chức năng đòi hỏi, không có hỏng hóc và các vấn đề tiềm ẩn

phần mềm ngay từ khi dự án bắt đầu Nó có tác dụng

“phòng ngừa” cái xấu, cái kém chất lượng

(costumer satisfaction)

– Thời gian

– Ngân sách

– Chất lượng

Trang 53

Thuật ngữ

Error: là sự không nhất quán giữa giá trị đầu ra của

phần mềm so với giá trị đúng tương ứng với một đầu

vào

Fault

một trạng thái là nguyên nhân làm cho hệ thống hỏng

khi thực hiện chức năng nào đó

Failure

Trang 54

Mục tiêu hoạt động ĐBCL trong PTPM

chức năng đòi hỏi

các yêu cầu về quản lí và ngân sách

phát triển phần mềm và các hoạt động ĐBCL

Trang 55

Đảm bảo chất lượng # testing

Đảm bảo chất lượng bao gồm một chuỗi các hoạt động

nhằm ngăn ngừa lỗi (defect prevention)

Test: Các hoạt động nhằm phát hiện lỗi (bug) trong

chương trình thông qua một tập hợp các test case

Test có thể chỉ ra lỗi chứ không thể chứng minh là chương trình không có lỗi

Trang 56

Các khía cạnh trong SQA

• Kế hoạch ĐBCL

– Mô tả chất lượng mong muốn, thiết lập các tiêu chuẩn chất lượng và cách đánh giá (đo) các thuộc tính chất lượng

– Định rõ qui trình đánh giá chất lượng

– Định rõ các chuẩn mực về quản lí (dùng chuẩn có sẳn/thiếp lập mới)

• Kiểm soát chất lượng (Quality control)

Bao gồm chuỗi các hoạt động: thanh tra, kiểm duyệt, kiểm thử để đảm bảo sản phẩm tuân thủ các đặc tả

• Đảm bảo chất lượng (Quality assurance)

Xác nhận (auditing) và báo cáo (reporting) về qui trình để cung cấp

thông tin quản lí và ra quyết định

Trang 57

Yêu cầu chung của SQA

phát triển các tiêu chí chất lượng và dẫn dắt quá trình kỹ nghệ

tả), phần mềm phải tuân thủ các đặc tả không tường

minh như dễ dùng, dễ bảo trì, tin cậy

Trang 58

Tiến trình ĐBCL

Trang 59

Làm thế nào để đảm bảo chất lượng

Nguyên tắc 1 : bài bản

– Chỉ rõ cách thức tiến hành ĐBCL – Cách thức kiểm tra, giám sát ĐBCL

– Tài liệu về mọi hoạt động trong qui trình pm – Tài liệu, số liệu kiểm tra giám sát

– Tài liệu đánh giá chất lượng: kế hoạch, số liệu

Trang 60

Làm thế nào để đảm bảo chất lượng

Nguyên tắc 2: không ngừng cải tiến

– Kế hoạch – Thực hiện – Kiểm tra – Cải tiến

Costumer satisfaction

Kế hoạch Cải tiến

Kiểm tra Thực hiện

Trang 61

Hoạt động của nhóm SQA

chuẩn mực đã được xác định cho qui trình

tài liệu hóa và được kiểm soát

Trang 62

Các cách tiếp cận trong SQA

1 Chứng minh đúng đắn (logic Hoare)

2 Thống kê chất lượng

– Thông tin về hỏng hóc (defects) được thu thập và phân loại

– Xác định nguyên nhân hỏng hóc

– Áp dụng nguyên lý Pareto (80% of the defects can be traced to 20%

of the causes) để cô lập nguyên nhân hỏng hóc

3 Cleanroom: tổ hợp hai điểm trên

– Phát triển theo mô hình tăng trưởng (Incremental)

– Đặc tả hình thức

– Kiểm tra tĩnh bằng cách dùng các lí lẽ đúng đắn

– Kiểm tra động (testing) để xác nhận độ tin cậy

– Ngăn ngừa hỏng hóc (defect prevention) hơn là loại bỏ lỗi (defect

removal)

Trang 63

Cleanroom process

Trang 64

Chất lượng và công tác đảm bảo chất lượng

Trang 65

Thảo luận

Liệt kê các yếu tố chất lượng của phần mềm

Trang 66

Các yếu tố chất lượng

McCall’s quality factor model

11 yếu tố chất lượng, nhóm theo 3 nhóm:

• Vận hành sản phẩm: Correctness, Efficiency, Integrity, Usability

• Xem xét lại sản phẩm: Maintainability, Flexibility, Testability

• Chuyển giao sản phẩm: Portability, Reusability, Interoperability

Trang 67

McCall Quality Factors

Trang 68

Product operation factors

Correctness

Xác định một danh sách các output được đòi hỏi

Ví dụ:

• The output mission (e.g red alarms when temperature rises to 100 °C)

• Required accuracy of the output (e.g non-accurate output will not exceed 1%)

• Completeness of the output info (e.g probability of missing data less than 1%)

• The up-to-dateness of the info (e.g it will take no more than 1s for the

Trang 69

Product operation factors

Reliability

trình máy tính trong một đơn vị thời gian hoặc tần suất xuất hiện lỗi cao nhất trong một đơn vị thời gian

– Có thể đo bằng dữ liệu quá khứ và dữ liệu thu thập trong quá trình phát triển

– Có thể cho toàn bộ hệ thống hoặc cho 1 chức năng trong

hệ thống

Tần suất xuất hiện lỗi của bộ điều khiển nhịp tim là 1/20

Trang 70

Product operation factors

Efficiency & Integrity

tài nguyên cần thiết (thời gian, bộ nhớ, lưu trữ) để vận hành nhằm đáp ứng các yêu cầu

– Khả năng ngăn chặn truy cập trái phép

– Khả năng phục hồi nguyên trạng dữ liệu, trạng thái của hệ thống sau một tác vụ không thành công

Trang 71

Product operation factors

Trang 72

Product revision factors

Maintainability

mềm, sửa chữa và kiểm chứng sửa chữa thành công

phần mềm và công tác tài liệu hóa

Trang 73

Product revision factors

Flexibility & Testability

– Công sức bỏ ra để làm thích ứng phần mềm với một yêu cầu mới

– Ví dụ: man-days required to adapt a software package to

a variety of customers of the same trade

– Khả năng có thể khám nghiệm tự động hoặc ghi nhận lỗi

tự động (log files) – Ví dụ: a standard test must be run every morning before

Trang 74

Product transition factors

Portability & Reusability

Công sức bỏ ra để làm thích ứng hệ thống trong môi

trường mới (hardwares, OS,…)

– Khả năng dùng lại của code, modun, tài liệu

– Nhắm vào các yếu tố: tiết kiệm tài nguyên phát triển, rút ngắn thời gian, tăng chất lượng các modun

– Ví dụ: GUI của Java hoặc NET

Trang 75

Product transition factors

Interoperability

Tính tương tác: tập trung vào phát triển giao diện với

các hệ thống khác hoặc với các thiết bị

Ví dụ: a laboratory equipment is required to process its

results (output) according to a standard data structure, which the laboratory information system can then use as an input

Trang 76

Hệ thống đảm bảo chất lượng

Mục tiêu:

– Tối thiểu hóa số lỗi phần mềm

– Đạt được mức chất lượng đòi hỏi

6 thành phần trong hệ thống ĐBCL:

1 Tiền dự án (Pre-project components)

2 Đánh giá các hoạt động trong vòng đời dự án (Components of project life cycle activities

5 Thành phần chuẩn hóa, chứng nhận và đánh giá hệ thống ĐBCL (Components of

standardization, certification, and SQA system assessment)

6 Thành phần tổ chức nhân sự cho ĐBCL (Organizing for SQA-the human component)

Ngày đăng: 11/09/2014, 19:11

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN