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 vấn đề quản lý chất lượng trong công nghệ phần mềm PGS TS trần cao đệ

32 657 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 32
Dung lượng 1,01 MB

Nội dung

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á

Trang 1

PGS TS Trần Cao Đệ

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

Đả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 2

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

Trang 3

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

Trang 4

Lỗi phần mềm

Trang 5

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 6

bệnh nhân

– Chết 3 Therac – 25

Trang 7

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 8

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

- SV có thể thêm ví dụ vào đây

Trang 9

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

Trang 10

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

Trang 11

đú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 12

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

Trang 15

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 16

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 17

Đặ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.

Trang 18

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

user

elicitation

User requirements

Problem Domain knowledge

specification validation knowledge

Request more knowledge

Trang 19

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)

Trang 20

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 21

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

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

Trang 22

Thiết kế kiến trúc

Requirements (from customer)

Req 1 Req 2

… Req n

Trang 23

Thiết kế chi tiết

Trang 25

- 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 26

Kiểm thử

• Kiểm thử phần mềm là kiểm tra hành vi động

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 27

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

Trang 28

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

của người dùng nhằm chỉ ra sự thuận tiện để khai thác các chức năng của hệ thống.

Trang 29

Kiểm thử hình chữ V

Trang 30

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ơ

Phone: 0710.831.301 # 228

Trang 31

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ọ

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

- 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,…)

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

Trang 32

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

Ngày đăng: 03/05/2016, 21:36

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w