Chúng em đã rất cố gắng hoàn thiện báo cáo với tất cả sự nỗ lực, niềm say mê và sự thích thú, tuy nhiên, do bước đầu đi vào kiến thức môi trường thực tế,tìm hiểu và xây dựng đồ án trong
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO CHUYÊN ĐỀ CÔNG NGHỆ PHẦN MỀM
ĐỀ TI: Các phương pháp kiểm thử phần mềm và Phân tích thiết
kế hệ thống quản lý thư viện
: VŨ ĐỨC MINH : LÊ HONG SƠN
Trang 4LỜI NÓI ĐẦU
Ngày nay, với sự phát triển mạnh mẽ của khoa học công nghệ, đặc biệt là sựphát triển nhanh chóng của lĩnh vực công nghệ thông tin, công nghệ phần mềmngày càng đi vào đời sống và được con người khai thác một cách rất hiệu quả biến
nó thành công cụ lao động hữu ích và đóng vai trò rất quan trọng trong đời sống
xã hội và là công cụ lao động Công nghệ phần mềm là một phần quan trọng củalĩnh vực công nghệ thông tin, nó giúp con người có thể quản lí cơ sở dữ liệu mộtcách đơn giản, dễ dàng và nhanh chóng hơn, giúp tiết kiệm được rất nhiều thờigian và nhân lực Em thực hiện đề tài đồ án “Các phương pháp kiểm thử phầnmềm và Phân tích thiết kế hệ thống quản lý thư viện” nhằm nâng cao thêm kiếnthức và tầm hiểu biết của mình về lĩnh vực này lĩnh vực công nghệ thông tin nóichung và bộ môn thiết kế và quản lý hệ thống nói riêng
Đặc biệt, trong học kì này Với niềm hân hạnh và vinh dự khi được thầyPhạm Hồng Đức là người cố vấn, một người giáo viên tận tâm đã hướng dẫn, góp
ý, thảo luận, giúp em có thể hoàn thiện được bài báo cáo này Trong thời gianđược học tập và thực hành dưới sự hướng dẫn của thầy, thầy giúp chúng emkhông những tiếp thu được nhiều kiến thức thực tế và bổ ích, mà còn được truyền
sự say mê và thích thú với bộ môn Công nghệ phần mềm.
Chúng em đã rất cố gắng hoàn thiện báo cáo với tất cả sự nỗ lực, niềm say
mê và sự thích thú, tuy nhiên, do bước đầu đi vào kiến thức môi trường thực tế,tìm hiểu và xây dựng đồ án trong một thời gian nhất định, với lượng kiến thức còn
hạn chế, nhiều bỡ ngỡ, nên đồ án “Các phương pháp kiểm thử phần mềm và Phân tích thiết kế hệ thống quản lý thư viện” chắc chắn sẽ không thể tránh
được những mặt hạn chế và thiếu sót Chúng em rất mong nhận được sự quantâm, thông cảm và những đóng góp vô cùng quý giá của các thầy cô và các bạn đểbáo cáo của chúng em sẽ ngày càng hoàn thiện hơn
Sau cùng, chúng em xin kính chúc các thầy cô trong Khoa Công NghệThông Tin dồi dào sức khoẻ, niềm tin vững vàng để tiếp tục thực hiện sứ mệnhcao đẹp của mình là truyền đạt kiến thức cho thế hệ mai sau Trân trọng!
Trang 5PHẦN I: CÁC PHƯƠNG PHÁP KIỂM THỬ PHẦN MỀM
1 Khái niệm
- Là sự kiểm tra việc phát triển phần mềm
- Công việc xuyên suốt quá trình phát triển phần mềm
- Kiểm tra xem sản phầm có đúng với đặc tả không,
- Có đáp ứng được nhu cầu của người dùng không,
- Có hoạt động hiệu quả không
=> Tức là chú trọng vào việc phát hiện lỗi phân tích, lỗi thiết kế
- Một phép thử (ca thử nghiệm) bao gồm:
+ Tên của mô đun thử nghiệm
+ Dữ liệu vào
+ Dữ liệu ra mong muốn (đúng)
+ Dữ liệu ra thực tế (khi đã tiến hành thử nghiệm)
=> Các ca thử nghiệm nên được thiết kế khi tạo các tài liệu phân tích và thiết kế,không phải khi đã viết xong mã nguồn
2.2 Thử nghiệm chức năng và thử nghiệm cấu trúc
- Có hai kỹ thuật thử nghiệm tìm khuyết tật:
+ Thử nghiệm chức năng
+ Thử nghiệm cấu trúc
2.2.1 Hộp đen – thừ nghiệm chức năng
- Thử nghiệm chức năng (functional testing) còn gọi là thử nghiệm hộp đen
(black box testing)
+ Là sự thử nghiệm sử dụng các ca thử nghiệm được thiết kế dựa trên đặc tả yêucầu,
+ Tài liệu người dùng nhằm mục đích pháp hiện ra các khiếm khuyết
+ Thử nghiệm chức năng nhìn nhận mô đun được thử nghiệm như là một hộp đen
và chỉ quan tâm đến chức năng (hành vi) của mô đun, tức là kiểm tra xem có hoạtđộng đúng với đặc tả hay không
- Các ca kiểm thử bao gồm:
+ Các trường hợp bình thường và không bình thường (dữ liệu không hợp lệ…)của mô đun
Trang 6+ Thông thường, không thể thử nghiệm với mọi dữ liệu.
+ Chiến lược chung khi thiết kế dữ liệu thử nghiệm là phân hoạch (dữ liệu) tươngđương
+ Phân hoạch tương đương chia miền dữ liệu vào ra thành các vùng, mà mỗi vùngchứa các dữ liệu có cùng hành vi
+ Do đó, đối với mỗi vùng dữ liệu chỉ cần xây dựng một ca thử nghiệm
+ Thêm vào đố là các ca sử dụng đối với biên giới của các vùng
+ Theo kinh nghiệm, các sai sót về lập trình thường sảy ra đối với các dữ liệu
- Input ngẫu nhiên
- Input sai kiểu…
- Thử nghiệm chức năng có thể giúp chúng ta:
+ Phát hiện sự thiếu sót chức năng
Trang 7+ Phát hiện khiếm khuyết
+ Sai sót về giao diện giữa các mô đun
+ Sự không hiệu quả của chương trình
+ Lỗi khởi tạo, lỗi kết thúc
- Thử nghiệm chức năng chỉ dựa trên đặc tả nên:
+ Không thể kiểm thử được các trường hợp không được khai báo trong đặc tả.+ Không đảm bảo thử hết được các khối mã nguồn của mô đun
- Thử nghiệm chức năng cũng không phát hiện được các đoạn mã yếu (có khảnăng sinh lỗi với một trạng thái đặc biệt nào đó của hệ thông) và trong nhiềutrường hợp việc đảm bảo xây dựng đầy đủ các ca thử nghiệm là khó khăn
= 0 : nếu không tìm thấy
≠ 0 : nếu tìm thấy, giá trị kết quả chính là chỉ số của
phần tử đầu tiên được tìm thấy
Trang 8Thử nghiệm cấu trúc (structural testing)
- Là sự thử nghiệm dựa trên phân tích chương trình
- Là xác định đường đi (path) của chương trình (điều khiển) từ input đến output
- Mục đích của thử nghiệm cấu trúc là kiểm tra tất cả các đường đi có thể
- Tức là đảm bảo mọi lệnh đều được thực hiện ít nhất một lần trong một ca thửnghiệm nào đó
- Thử nghiệm cấu trúc chú trọng vào phân tích các cấu trúc rẽ nhánh và các
Trang 9- Ngoài ra, chúng ta không thể kiểm thử hết các đường đi đối với các vòng lặplớn.
Trang 10Chương II: Phân tích và thiết kế hệ thống quản lý thư viện
Viờc quản lý trả sỏch rất quan trọng bởi nú xỏc định xem độc giả có thựchiện tốt nội quy hay không Nếu độc giả vi phạm nội quy thỡ phải một hỡnh phạttheo quy định trung của thư viện Nếu làm hỏng thỡ độc giả phải nộp lệ phí bồithường theo mức quy định trung Hoặc độc giả mượn sách quá thời hạn nếu viphạm nhẹ thỡ bị gửi lờn khoa, nếu nhiều lần thư viện có thể tiến hành thu thẻ JKT
1.Xây dựng biểu đồ phân cấp chức năng của hệ thống quản lý thư viện.
Dựa vào các trức năng phân tích của một hệ thống quản lý thư viện ở trên
ta mà ta có thể xây dựng biểu đồ phân cấp chức năng
Sơ đồ phân cấp chức năng quản lý sách
1.1 Sơ đồ luồng dữ liệu mức ngữ cảnh.
3.3 CN Khoá
h c ọ
3.4 C p nh t ậ ậ khốối h c ọ
3.5 C p nh t ậ ậ
l p h c ớ ọ
4.1 QL
M ượ n sách 4.2 M ượ n sách
4.3
Tr sách ả
5.1 Tìm
kiềốm 5.2 Tìm kiềốm sách
6.1Thốốngk
ề sách 6.2 Thốống kề
7.1Báo
cáo 8.1 Tr giúpợ
8.2 SD C.Trình
8.3
Gi i thi u ớ ệ
Trang 11Yêu cầu mượn sách
Thông tin yêu cầu báo cáo
Nhận thông tin quản lý (Sách, NXB, Tác giả)
Sơ đồ luồng dữ liệu mức khung cảnh
Mục đích xây dựng biểu đồ luồng dữ liệu mức khung cảnh là để vạch raranh giới của hệ thống và xem xét một cách tổng thể toàn bộ hệ thống Biểu đồnày chỉ ra mối quan hệ giữa một bên là các tác nhân ngoài (nơi cung cấp thông tin
và nhận thông tin đầu ra của hệ thống) và một bên là chức năng tổng quát của hệthống
Trong biểu đồ này chức năng chính là chức năng quản lý thư viện, các tácnhân ngoài của hệ thống là Độc giả, Cán bộ quản lý Nhà cung cấp,
1.2 Sơ đồ luồng dữ liệu mức đỉnh.
QU N LÝ TH Ả Ư
VI N Ệ
THỦ THƯ
ĐỘC GIẢ
Trang 12Biểu đồ này phân tích hệ thống một cách chi tiết hơn Nó chỉ ra hệ thốnglàm cái gì, chỉ ra được những yêu cầu với từng chức năng , mô tả quá trình traođổi thông tin qua lại giữa các trức năng của hệ thống Các tác nhân ngoài cungcấp thông tin dữ liệu cho hệ thống và nhận thông tin chả lời từ hệ thống Khi độc giả có nhu cầu làm thẻ ,độc giả xẽ gửi phiế yêu cầu làm thẻ tớichức năng “cập nhật dữ liệu” Tại chức năng này xẽ tiến hanh lưu các thông tinliên quan đến độc giả ( họ tên, ngày sinh, ngày làm thẻ, ngày hết hạn sử dụngthẻ…) vào kho độc giả đồng thời độc giả cũng được gắn với một trường goị là Mãthẻ, mỗi độc giả chỉ có một mã thẻ duy nhất và nó cũng là cơ sở để phân biệt cácđộc giả với nhau.Chức năng “cập nhật dữ liệu” còn có nhiệm vụ loại bỏ nhữngđộc giả nào đã hết hạn sử dụng thẻ mà không đăng ký mới , tất cả những thông tin
về ngày làm thẻ và ngày hết hạn sử dụg được lấy từ kho độ giả Bên cạnh đóchức năng này cũng thực hiện nhiệm vụ thêm thông tin (tên sách, mã sách, loạisách, ngôn ngữ …) khi có một đầu sách mới đưa vào hay tiến hành loại bỏ nhữngđầu sách mà không còn giá trị sử dụng
Trang 13
Khi độc giả có nhu cầu mượn sách thì thông qua mã người sử dụng mà độcgiả nhập vào chức năng “ quản giao dịch ” căn cứ vào kho độc giả để kiểm traxem độc giả có quyền hay đã hết hạn sử dụng thẻ Dựa vào chức năng “tra cứu”
mà độc giả cũng có thể tìm nguồn sách minh cần theo tên sách, thể loại, nhà xuất
Đ c gi ộ ả
Cán b qu n lý ộ ả
C p nh t d ậ ậ ữ
Li uệ
Thốống kề
Thông báo thốống kề
M ượ n tr ả
Thông tin nh n ậ
l i ạ
Thông tin tra c u ứ
H1.1 Biểu đồ luồng dữ liệu mức đỉnh
Trang 14bản Mỗi lần độc giả có nhu cầu mượn sách thì chức năng quản lý mượn trả cónhiệm vụ lưu vào kho truy cập những thông tin liên quan như mã độc giả, mãsách, ngày mượn sách Đây chính cơ sở cho công việc thống kê sau này Chức năng “ tra cứu ” lấy thông tin ( tên sách, tên nhà xuất bản, tân tác giả
…) từ kho sách để tiến hành tra cứu, liệt kê cho cán bộ quản lý nếu có nhu cầu.Sau một thời gian hoạt động cán bộ quản ký cần những thông tin về sách,độc giả, tình trạng truy cập để tiến hành tổng kết và đưa ra những kế hoạch dự chùcho thời gian tới Chức năng thông kê có nhiệm vụ lấy thông tin đó từ các kho
sách , độc giả, truy cập để báo cáo cho cán bộ quản lý
1.3 Các biểu đồ luồng dữ liệu mức dưới đỉnh
Trong biểu đồ luồng dữ liệu mức dưới đỉnh các chức năng được phân rã chitiết hơn để miêu tả cụ thể từng chức năng
Sau một thời gian hoạt động cán bộ quản lý thư viện thống kê được nhữngnguồn sách, tạp chí nào được sử dụng nhiều nhất, ít nhất, những sách không còngiá trị sử dụng… để từ đó vạch ra các phương hướng hoạt động
Trang 15C p nh t sách ậ ậ C p nh t đ c ậ ậ ộ
giả
Đ c giộ ả
B ng ảkềố
ho ch ạ
d trù ựsách
Biên
b n ả
Phiềốu yều cấều
Th ẻ
đ c ộ
giả
B ng ả kềố
ho ch ạ
d chù ự
H1.2 Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng cập nhật dữ liệu
Trang 16Thông tin tr ả
l iờ
Thông tin tra
c u ứ Sách
Đ c giộ ả
Thông tin tr l i ả ờ
Thông tin yêu cấều
Thông tin yêu cấều
Cán b qu n ộ ả lý
H1.3 Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng tra cứu
Trang 17Nhu cầu sử dụng sách của độc giả là rất lớn, tuy nhiên thông tin về sáchhay thể loại độc giả cũng chưa hẳn là đã biết Nhờ vào chức năng cha cứu mà nhàquản lý hay độc giả gửi thông tin cần quan tâm ( tên sách, tên tác giả, thể loại…)đến chức năng “cha cứu” Khi nhận được thông tin gửi đến từ độc giả chức năngnày thực hiện và gửi lại kết quả cho độc giả Dựa vào kết quả này để độc giả tiếnhành giao dịch với thư viện Kết quả của tra cứu đồng thời cũng được gửi tới chức
năng “thống kê” thông qua kho dữ liệu Từ chức năng “thống kê” xẽ gửi các
thông tin đến nhà quản lý khi co yêu cầu
Sau một thời gian hoạt động cán bộ quản lý có nhiệm vụ thống kê lại cácđầu sách, độc giả hay tình hình truy nhập của độc giả để đánh giá tình hình hoạtđộng của thư viện trong thời gian qua (số lượng độc giả đến thư viện, số lượngđộc giả truy cập qua đường truyền internet…) và đồng thời vạch ra kế hoạch hoạtđộng trong thời gian tới (bổ xung thêm một đầu sách mới được nhiều độc giảquan tâm, xáo đi những nguồn tư liệu không đáp ứng được tính thời đại đã quá lỗithời )
Chức năng “ thống kê độc giả ” lấy thông tin liên quan đến đôc giả từ kho
độc giả
Chức năng “thống kê sách” lấy các thông tin về một cuấn sách từ kho sách Kho truy nhập gửi các thông tin của mình đến chức năng “thống kê truynhập” để thực hiện việc tra cứu
Thông báo
17
Trang 18Khi độc giả muốn truy nhập vào hệ thống thư viện thì phải nhập mã củamình vào, hệ thống quản lý sẽ tự động tiến hành kiểm tra quyền giao dịch của độcgiả Nếu hợp lý thì độc giả được quyền truy nhập tới một nguồn sách hay tạp chínào đó Mỗi lần độc giả giao dịch với thư viện thì thông tin về lần giao dịch đó
(mã sách truy nhập, mã độc giả, ngày truy nhập…) được lưu lại trong kho mượn trả để tiện cho việc thống kê truy nhập sau này.
Bi u đồồ luồồng d li u m c r ể ữ ệ ứ ướ ỉ i đ nh ch c năng giao d ch ứ ị
Trang 19Chương III: Thiết kế quản lý và mô tả
chương trình
1 Mục đích
Mục đích của việc xây dựng mô hình thực thể liên kết nhằn xác định kháiniệm về thưc thể, thuộc tính và mối quan hệ ràng buộc giữa chúng, là cơ sở cho
hệ thống quản lý Hệ thống được xây dựng sẽ lưu trữ trông tin, xử lý thông tin và
sử dụng dữ liệu trong hệ cơ sở dữ liệu được thiết kế Quá trình thiết kế xẽ tối ưutrong việc phân tích các file dữ liệu sao cho việc lưu trữ là ít nhất nhưng lại có thểtruy cập dễ dàng nhất Cách bố trí các file dữ liệu một cách logic sẽ trả lời đượccác đòi hỏi đề ra của hệ thống như yêu cầu thông tin cảu một đối tượng, thông tinmột cuấn sách, tiến hành thống kê thu nhập dữ liệu theo một tiêu chí nào đó
2 Xác định các thực thể trong hệ thống
Dựa vào các hoạt động cụ thể của hệ thống quản lý thư viện điện tử, dựavào các giao dịch hàng ngày, dựa vào biểu đồ luồng dữ liệu đã được phân tích ởtrên ta thấy được rõ ràng đối tượng chính của hệ thống đó là mối quan hệ mậtthiết giữa hai đối tượng “ sách” và “độc giả” Có thể coi sách và độc giả là haithực thể chính trong CSDL của hệ thống quản lý thư viện Các thuộc tính rễ thấycủa hai thực thể này là :
“Độc giả”: Tên, ngày sinh, số thể của độc giả đăng ký trong thư viện Trong
đó mã số thẻ của mỗi độc giả là duy nhất, nó được dùng để xác định các độc giảvới nhau
“Sách”: Tên sách, chủng loại, tên tác giả, năm xuất bản, mã sách Tương tự
mã sách cũng là duy nhất không có sự trùng lặp giữa các nguồn sách khác nhau.Bên cạnh đó ta cũng thấy hai đối tượng có liên quan đến hoạt động của thưviên là “Thể loại” và “Sách ”
Trang 20Trong đó thể loại chính là sách, tạp chí, báo, sách tham khảo, truyện…Nóbao gồm các thuộc tính như : Mã thể loại, tên thể loại.
“Sách” chính là đối tương mà độc giả truy cập hàng ngày, nó được dặctrưng bởi các thuộc tính: Mã bạn đọc, mã sách, mã thể loại…
3 Xác định mối quan hệ giữa các thực thể.
Quan hệ thực thể Thể loại và Sách là mối quan hệ 1 – N: Mỗi đầu sách chỉ thuộcmột thể loại, và ngược lại mỗi chủng loại sách có thể có rất nhiều đầu sách liênquan Thuộc tính kết nối tạo ra mối quan hệ giữa Sách và Thể loại là MãTL
Mối quan hệ giữa Sách và Độc giả là mối quan hệ nhiều nhiều N – N Bởimột đầu sách có thể được truy cập bởi nhiều người đọc và mỗi độc giả có thể sửdụng nhiều sách cùng một lúc Tuy vậy mối quan hệ được tách ra thành mối quan
hệ 1 – N thông qua thực thể trung gian là Sách mượn Thuộc tính kết nối giữachúng được thể hiện:
Trang 214 Mô hình tổng thể mối quan hệ giưã các thực thể
Tập
Số lượng
5.Tổ chức dữ liệu:
TBL - SACH:
STT Tên Trường Kiểu Độ rộng Giải thích
Trang 22TBL - Đầu sách:
ST
T
TBL-Khoá:
TBL - Lớp:
ST
T
TBL- Mượn sách:
Trang 23STT Tên trường Kiểu Độ rộng Giải thích
1 Ma phiếu Autonumber LongInterger Mã phiếu
2 Ma nguoi cho
muon
mượn
TBL - Nguoi dùng:
S
TT
TBL - Nhà xuất bản
Trang 24TBL - Sách:
TBL - Tác giả:
1 Ma tac gia Autonumber Longinterger Mã tác giả
TBL - Tác giả:
1 Ma tac gia Autonumber LongInterger Mã tác giả
TBL - Thẻ:
Trang 25Khi sách mới được cập nhật ban quản lý sẽ tiến hành phân loại, đánh mãsách, trong một số trường hợp cần xoá bỏ thông tin hay sửa đổi thông tin sách,chức năng huỷ sách hay sửa đổi sẽ dựa vào mã nhận dạng sách để tìm tới toàn bộthông tin liên quan và thực hiện công việc.