Giáo trình Công nghệ phần mềm

Giới thiệu:

Nội dung bài này giới thiệu sơ lược về các khái niệm cơ bản của thông tin, hệ thống

thông tin, hệ thống thông quản lý. Phân biệt và phân loại các đối tượng nêu trên theo những

đặc trưng cơ bản. Đồng thời, trình bày khái quát về các vấn đề thiết kế các đối tượng đã

nêu trên.

Mục tiêu:

Người học có khả năng trình bày được những khái niệm cơ bản về hệ thống thông

tin quản lý (HTTTQL).

Nội dung chính:

1.1. Giới thiệu chung

Thông tin có vai trò vô cùng to lớn trong các hoạt động của con người. Thông tin

và các hệ thống thông tin quản lý là một loại nguồn lực đặc biệt quan trọng trong các tổ

chức. Sau đây là một số khái niệm cơ bản về thông tin và vai trò của thông tin trong kinh

tế - xã hội, các khái niệm hệ thống , hệ thống thông tin nói chung và các khái niệm liên

quan đến HTTTQL nói riêng.

1.1.1. Thông tin và vai trò của thông tin

Trong cuộc sống hàng ngày, khái niệm thông tin phản ánh các tri thức, hiểu biết của

chúng ta về một đối tượng nào đó. Ở dạng chung nhất, thông tin luôn được hiểu như các

thông báo nhằm mang lại một sự hiểu biết nào đó cho đối tượng nhận tin.

Thông tin có tính chất phản ánh và liên quan đến hai chủ thể: chủ thể phản ánh (truyền

tin) và đối tượng nhận sự phản ánh đó (tiếp nhận thông tin). Để chuyển tải được thông tin

cần có “vật mang thông tin”, ví dụ như ngôn ngữ, chữ cái, chữ số, các ký hiệu, bảng biểu

Khối lượng tri thức mà một thông tin mang lại gọi là nội dung thông tin. Tuy nhiên,

ý nghĩa mà nội dung thông tin mang lại sẽ phụ thuộc rất nhiều vào đối tượng tiếp nhận

thông tin. Có những thông tin chỉ có ý nghĩa đối với một nhóm người nhưng có những

thông tin có ý nghĩa với cả xã hội.

Thông tin có vai trò vô cùng to lớn trong các hoạt động của con người. Không có

thông tin, con người không có sự dẫn dắt cho các hoạt động của mình và hoàn toàn bất

định trong môi trường.

Thông tin là một loại nguồn lực đặc biệt quan trọng trong tổ chức; người quản lý

cần thông tin để hoạch định và điều khiển tất cả các tiến trình trong tổ chức, giúp cho tổ

chức tồn tại và phát triển trong môi trường hoạt động của nó. Thông tin trợ giúp người

quản lý tổ chức hiểu rõ thị trường, định hướng cho sản phẩm mới, cải tiến tổ chức và các

hoạt động sản xuất kinh doanh của tổ chức.

Các hệ thống thông tin dựa trên máy tính với ưu thế tự động hóa xử lý công việc

dựa trên khoa học quản lý, khoa học tổ chức và công nghệ thông tin (xử lý và truyền thông)

đã ngày càng mang lại nhiều lợi ích thiết thực cho tổ chức trong mọi hoạt động, từ các công

việc đơn giản lặp lại hàng ngày cho đến công việc phát hiện vấn đề và giải quyết vấn đề.

Giáo trình Công nghệ phần mềm trang 1

Trang 1

Giáo trình Công nghệ phần mềm trang 2

Trang 2

Giáo trình Công nghệ phần mềm trang 3

Trang 3

Giáo trình Công nghệ phần mềm trang 4

Trang 4

Giáo trình Công nghệ phần mềm trang 5

Trang 5

Giáo trình Công nghệ phần mềm trang 6

Trang 6

Giáo trình Công nghệ phần mềm trang 7

Trang 7

Giáo trình Công nghệ phần mềm trang 8

Trang 8

Giáo trình Công nghệ phần mềm trang 9

Trang 9

Giáo trình Công nghệ phần mềm trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 77 trang xuanhieu 5480
Bạn đang xem 10 trang mẫu của tài liệu "Giáo trình Công nghệ phần mềm", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Giáo trình Công nghệ phần mềm

Giáo trình Công nghệ phần mềm
m thử cấu trúc) 
Theo phương pháp này, chúng ta sẽ chia không gian thử nghiệm dựa vào cấu trúc 
của đơn vị cần kiểm tra. 
Bộ thử nghiệm 
Hình 5.2. Kiểm thử theo phương pháp hộp trắng 
Kiểm tra giao tiếp của đơn vị là để đảm bảo dòng thông tin vào ra đơn vị luôn đúng 
(đúng giá trị, khớp kiểu...) 
Kiểm tra dữ liệu cục bộ để đảm bảo dữ liệu được lưu trữ trong đơn vị toàn vẹn trong 
suốt quá trình thuật giải được thực hiện. 
Ví dụ: nhập dữ liệu sai, tên biến không đúng, kiểu dữ liệu không nhất quán, các ràng 
buộc hoặc ngoại lệ. 
Kiểm tra các điều kiện biên của các câu lệnh if, vòng lặp để đảm bảo đơn vị luôn 
chạy đúng tại các biên này. 
Kiểm tra để đảm bảo mọi con đường thực hiện phải được đi qua ít nhất một lần. Con 
đường thực hiện của một đơn vị chương trình là một dãy có thứ tự các câu lệnh bên trong 
đơn vị đó sẽ được thực hiện khi kích hoạt đơn vị. 
Ví dụ: 
Con đường thực hiện của p1 và p2 như sau 
Đơn vị cần 
kiểm tra 
- Giao tiếp 
- Dữ liệu cục bộ 
- Các điều kiện biên 
- Các con đường thực hiện 
- Các ngoại lệ 
Bài 5: Kiểm tra và đánh giá phần mềm quản lý 
KHOA CÔNG NGHỆ THÔNG TIN 64 
5.4. Các giai đoạn và chiến lược kiểm thử 
Đối với những dự án phần mềm lớn, những người tham gia được chia thành 2 nhóm: 
- Nhóm thứ nhất: gồm những người tham gia trong dự án phát triển phần mềm. Nhóm 
này chịu trách nhiệm kiểm tra các đơn vị của chương trình để chắc chắn chúng thực 
hiện đúng theo thiết kế. 
- Nhóm thứ hai: độc lập gồm các chuyên gia tin học nhưng không thuộc nhóm thứ 
nhất. Nhóm này có nhiệm vụ phát hiện các lỗi do nhóm thứ nhất chủ quan còn để 
lại. 
5.4.1. Kiểm thử đơn vị 
Sử dụng kỹ thuật hộp trắng và dựa vào hồ sơ thiết kế để xây dựng các bộ thử nghiệm 
sao cho khả năng phát hiện lỗi là lớn nhất. 
Vì đơn vị được kiểm tra không là 1 chương trình đầy đủ, hơn nữa đơn vị này có thể 
được gọi bởi những đơn vị khác hoặc gọi đến những đơn vị khác nên dù chương trình đã 
được hoàn tất đầy đủ các đơn vị, chúng ta cũng không nên giả thuyết sự tồn tại hoặc tính 
đúng đắn của các đơn vị khác mà phải xây dựng các module giả lập đơn vị gọi tên là driver 
và đơn vị bị gọi là stub. 
Driver đóng vai trò như một chương trình chính nhập các bộ số thử nghiệm và gởi 
chúng đến đơn vị cần kiểm tra đồng thời nhận kết quả trả về của đơn vị cần kiểm tra. 
Stub là chương trình giả lập thay thế các đơn vị được gọi bởi đơn vị cần kiểm tra. 
Stub thực hiện các thao tác xử lý dữ liệu đơn giản như in ấn, kiểm tra dữ liệu nhập và trả 
kết quả ra. 
Bài 5: Kiểm tra và đánh giá phần mềm quản lý 
KHOA CÔNG NGHỆ THÔNG TIN 65 
Hình 5.3. Kiểm thử đơn vị 
5.4.2 Kiểm thử tích hợp 
Giai đoạn này được tiến hành sau khi đã hoàn tất công việc kiểm thử từng môđun 
riêng lẻ bằng cách tích hợp các môđun này lại với nhau. Mục đích của giai đoạn này là 
kiểm tra giao diện của các đơn vị, kiểm tra tính đúng đắn so với đặc tả, kiểm tra tính hiệu 
quả. 
Phương pháp thực hiện chủ yếu sử dụng kiểm tra chức năng. Các đơn vị có thể được 
tích hợp theo một trong hai chiến lược: từ trên xuống (top-down) hoặc từ dưới lên 
(bottomup). 
5.4.2.1. Trên xuống 
Thuật giải của hướng tiếp cận này gồm những bước sau: 
- Sử dụng Module chính như 1 driver và các stub được thay cho tất cả các module là 
con trực tiếp của module chính. 
- Lần lượt thay thế các stub mỗi lần 1 cái bởi các module thực sự. 
- Tiến hành kiểm tra tính đúng đắn. 
- Một tập hợp bộ thử nghiệm được hoàn tất khi hết stub. 
- Kiểm tra lùi có thể được tiến hành để đảm bảo rằng không phát sinh lỗi mới. 
Ưu điểm 
- Kiểm thử trên xuống kết hợp với phát triển trên xuống sẽ giúp phát hiện sớm các lỗi 
thiết kế và làm giảm giá thành sửa đổi. 
Bài 5: Kiểm tra và đánh giá phần mềm quản lý 
KHOA CÔNG NGHỆ THÔNG TIN 66 
- Nhanh chóng có phiên bản thực hiện với các chức năng chính. 
- Có thể thẩm định tính dùng được của sản phẩm sớm 
Nhược điểm 
- Nhiều môđun cấp thấp rất khó mô phỏng: thao tác với cấu trúc dữ liệu phức tạp, 
kết quả trả về phức tạp 
5.4.2.2. Dưới lên 
Kiểm ta module lá trước do đó không cần phải viết stub. Thuật giả của hướng này 
là: 
- Các module cấp thấp được nhóm thành từng nhóm (thực hiện cùng chức năng) 
- Viết driver điều khiển tham số nhập xuất. 
- Bỏ driver và gắn chùm vào module cao hơn. 
Ưu điểm 
- Tránh xây dựng các môđun tạm thời phức tạp. 
- Tránh sinh các kết quả nhân tạo (nhập từ bàn phím) 
- Thuận tiện cho phát triển các môđun để dùng lại 
Nhược điểm 
- Chậm phát hiện các lỗi kiến trúc 
- Chậm có phiên bản thực hiện 
5.4.3. Kiểm thử chấp nhận 
Kiểm thử chấp nhận được tiến hành bởi khách hàng, còn được gọi là alpha testing. 
Mục đích là nhằm thẩm định lại xem phần mềm có những sai sót, thiếu sót so với yêu cầu 
người sử dụng không. 
Trong giai đoạn này dữ liệu dùng để kiểm thử do người sử dụng cung cấp. 
Bài 5: Kiểm tra và đánh giá phần mềm quản lý 
KHOA CÔNG NGHỆ THÔNG TIN 67 
5.4.4. Kiểm thử beta 
Đây là giai đoạn mở rộng của alpha testing. Công việc kiểm thử được thực hiện bởi 
một số lượng lớn người sử dụng. 
Công việc kiểm thử được tiến hành một cách ngẫu nhiên mà không có sự hướng dẫn 
của các nhà phát triển. Các lỗi nếu được phát hiện sẽ được thông báo lại cho nhà phát triển. 
5.4.5. Kiểm thử hệ thống 
Đến giai đoạn này, công việc kiểm thử được tiến hành với nhìn nhận phần mềm như 
là một yếu tố trong một hệ thống thông tin phức tạp hoàn chỉnh. 
Công việc kiểm thử nhằm kiểm tra khả năng phục hồi sau lỗi, độ an toàn, hiệu năng 
và giới hạn của phần mềm. 
5.5. Xây dựng test case 
Xây dựng bộ dữ liệu để thử nghiệm theo yêu cầu tối thiểu sau: 
- Chi tiết và đầy đủ theo từng giao diện của phần mểm 
- Chi tiết và tổ hợp được tất cả các tình huống có thể phát sinh của dữ liệu đầu vào 
- Có kết quả mong đợi khi kết quả đúng xảy ra cho từng tình huống 
Bài tập 
Câu 1: Trình bày sự khác biệt của giai đoạn thiết kế trong các qui trình khác nhau 
Câu 2: Trình bày sự khác biệt của giai đoạn lập trình trong các qui trình khác nhau 
Câu 3: Khi tiến hành thực hiện phần mềm qua các giai đoạn (trong qui trình 5 giai đoạn) 
có thể phát sinh lỗi trong một giai đoạn nào đó (kết quả chuyển giao không chính xác, thiếu 
sót, v.v). Theo các anh chị lỗi (nếu phát sinh) của giai đoạn nào là nghiêm trọng nhất 
Câu 4: Theo các anh chị trong các giai đoạn của qui trình công nghệ phần mềm 
- Giai đoạn nào là quan trọng nhất (tại sao) 
- Giai đoạn nào dễ thực hiện nhất (tại sao) 
- Giai đoạn nào là tốn nhiều thời gian và chi phí nhất (tại sao) 
- Giai đoạn nào là có thể bỏ qua (trong trường hợp nào và tại sao) 
Câu 5: Cho biết sự khác biệt cơ bản giữa yêu cầu chức năng (yêu cầu nghiệp vụ, yêu cầu 
hệ thống) và phi chức năng (yêu cầu chất lượng). Theo anh chị thì loại yêu cầu nào là quan 
trọng hơn 
Bài 5: Kiểm tra và đánh giá phần mềm quản lý 
KHOA CÔNG NGHỆ THÔNG TIN 68 
Câu 6: Xác định tất cả các yêu cầu chức năng hệ thống có thể có trong các phần mềm sau 
(chi tiết về qui định, biểu mẫu liên quan có trong mô tả của đề tài) 
- Phần mềm quản lý bán sách 
- Phần mềm quản lý học sinh trường cấp 3 
- Phần mềm đánh cờ gánh 
- Phần mềm hỗ trợ giải bài tập phương trình đại số 
- Phần mềm quản lý giải vô địch bóng đá quốc giá 
Câu 7: Nhận xét về phát biểu sau “Mọi phần mềm đều có yêu cầu về tính tiện dụng”. 
- Nếu đúng: giải thích 
- Nếu sai: giải thích và ví dụ minh họa 
Câu 8: Nhận xét về phát biểu sau: “Mọi phần mềm đề có yêu cầu về tính hiệu quả 
- Nếu đúng: giải thích 
- Nếu sai: giải thích và cho ví dụ minh họa 
Câu 9: Nhận xét về phát biểu sau: “Mọi phần mềm đề có yêu cầu chức năng hệ thống 
- Nếu đúng: giải thích 
- Nếu sai: giải thích và cho ví dụ minh họa 
Câu 10: Nhận xét về phát biểu sau “Việc mô hình hóa yêu cầu không cung cấp thêm thông 
tin mới về yêu cầu của phần mềm mà chỉ giúp trình bày lại yêu cầu của phần mềm dưới 
dạng trực quan hơn 
- Nếu đúng: giải thích 
- Nếu sai: giải thích và cho ví dụ minh họa 
Câu 11: Nếu không thực hiện qua bước mô hình hóa yêu cầu thì việc lập mô hình đối 
tượng sẽ có các khó khăn gì? tại sao? 
Câu 12: Cho biết các kết quả của việc mô hình hóa yêu cầu có được sử dụng trong bước 
thiết kế giao diện của đối tượng hay không ? 
- Nếu đúng: giải thích 
- Nếu sai: giải thích và cho ví dụ minh họa 
Câu 13: Cho biết các kết quả của việc mô hình hóa yêu cầu có được sử dụng trong bước 
xác định thuộc tính đối tượng (giai đoạn thiết kế) hay không 
- Nếu đúng: giải thích 
- Nếu sai: giải thích và cho ví dụ minh họa 
Bài 5: Kiểm tra và đánh giá phần mềm quản lý 
KHOA CÔNG NGHỆ THÔNG TIN 69 
Câu 14: Cho biết các kết quả của việc mô hình hóa yêu cầu có được sử dụng trong bước 
xác định hàm xử lý của đối tượng (giai đoạn thiết kế) hay không 
- Nếu đúng: giải thích 
- Nếu sai: giải thích và cho ví dụ minh họa 
Bài 1: Xây dựng hồ sơ phần mềm Quản lý thuê bao điện thoại 
Lưu trữ: Các thông tin về 
- Các hợp đồng thuê bao điện thoại (Khách hàng, loại thuê bao, máy điện thoại) 
- Các cuộc gọi (Máy điện thoại, Ngày, Giờ, Thời gian, Nơi gọi đến). 
Tính toán: 
- Số tiền phải trả của từng máy điện thoại trong từng tháng: 
 Tiền thuê bao hàng tháng (phụ thuộc vào từng loại thuê bao với các định mức 
riêng). 
 Tiền cước phí trả thêm (hụ thuộc vào thời gian gọi, số phút gọi, nơi gọi đến) 
- Tính công nợ khách hàng đối với các khách hàng chưa thanh toán tiền điện thoại. 
Kết xuất: 
- Hóa đơn tính tiền điện thoại cho từng khách hàng trong từng tháng. 
- Danh sách khách hàng chưa thanh toán tiền điện thoại. 
- Thống kê về nơi gọi đến, thời điểm gọi theo từng khu vực trong từng tháng. 
Bài 2: Xây dựng hồ sơ phần mềm Quản lý trung tâm giới thiệu việc làm sinh viên 
Lưu trữ: Các thông tin về 
- Sinh viên đăng ký tìm việc: Họ và tên, ngày sinh, địa chỉ, tình hình sức khỏe, quá 
trình học tập và bằng cấp, các công việc có thể đảm nhận, các yêu cầu khi tìm việc. 
- Đơn vị đăng ký tìm người: Tên, địa chỉ, người đại diện, các công việc cùng yêu cầu 
tuyển dụng. 
- Giới thiệu việc làm: Sinh viên, đơn vị, công việc, tình trạng. 
Tra cứu: Sinh viên tra cứu công việc 
- Loại công việc. 
- Mức lương. 
- Hình thức làm việc. 
Bài 5: Kiểm tra và đánh giá phần mềm quản lý 
KHOA CÔNG NGHỆ THÔNG TIN 70 
- Nơi làm việc 
Đơn vị tuyển dụng tra cứu các sinh viên 
- Bằng cấp chuyên môn. 
- Sức khỏe. 
- Phương tiện làm việc. 
Tính toán: 
- Các công việc thích hợp cho sinh viên đăng ký làm việc. 
- Các sinh viên thích hợp cho công việc cần tuyển dụng của 1 đơn vị. 
Kết xuất: 
- Danh sách sinh viên đăng ký theo từng công việc. 
- Danh sách số lượng sinh viên đăng ký theo từng loại công việc. 
- Danh sách các đơn vị tuyển dụng theo từng công việc. 
- Danh sách số lượng đơn vị tuyển dụng theo từng công việc. 
- Thống kê tình hình giới thiệu việc làm thực hiện trong năm. 
KHOA CÔNG NGHỆ THÔNG TIN 71 
MỤC LỤC HÌNH ẢNH 
 TRANG 
Hình 1.1. Các dạng HTTTQL theo cấp ứng dụng ........................................................ 11 
Hình 1.2. Sơ đồ cấu trúc của MIS ................................................................................ 14 
Hình 2.1 Sơ đồ chức năng quản lý tài chính ................................................................ 23 
Hình 2.2 Sơ đồ BFD quản lý bán hàng của Công ty X ................................................ 24 
Hình 2.3. Phân rã DFD ................................................................................................. 27 
Hình 2.4. Cân bằng các dòng dữ liệu và chia nhỏ dữ liệu ............................................ 28 
Hình 2.5. Ví dụ hệ thống các sơ đồ DFD ..................................................................... 29 
Hình 2.6. Sơ đồ cây phân loại yêu cầu ......................................................................... 31 
Hình 2.7. Quá trình hình thành yêu cầu ........................................................................ 33 
Hình 2.8. Tiến trình phần tích yêu cầu ......................................................................... 33 
Hình 3.1. Sơ đồ logic khi tách các thuộc tính rời rạc ................................................... 39 
Hình 3.2. Xét phần mềm quản lý thư viện ................................................................... 41 
Hình 3.3. Xét phần mềm quản lý giải bóng đá ............................................................. 41 
Hình 4.1. Sơ đồ màn hình ............................................................................................. 45 
Hình 4.2. Màn hình chính phần mềm thư viện ............................................................. 48 
Hình 4.3. Màn hình chính phần mềm quản lý học sinh ................................................ 48 
Hình 4.4. Màn hình chính phần mềm quản lý giải bóng đá ......................................... 49 
Hình 4.5. Các nút điều khiển của Màn hình chính phần mềm quản lý giải bóng đá ... 49 
Hình 4.6. Màn hình mượn sách của phần mềm quản lý thư viện ................................. 50 
Hình 4.7. Màn hình nhập học sinh của phần mềm quản lý học sinh ............................ 50 
Hình 4.8. Màn hình nhập điểm của phần mềm quản lý học sinh ................................. 50 
Hình 4.9. Màn hình đăng ký cầu thủ của phần mềm quản lý giải bóng đá .................. 51 
Hình 4.10. Màn hình tra cứu sách của phần mềm quản lý thư viện ............................. 51 
Hình 4.11. Màn hình tra cứu học sinh của phần mềm quản lý học sinh ...................... 51 
Hình 4.12. Màn hình tra cứu cầu thủ của phần mềm quản lý giải bóng đá .................. 52 
Hình 4.13. Màn hình tra cứu học sinh (nâng cao) của phần mềm quản lý học sinh .... 52 
Hình 4.14. Màn hình tra cứu cầu thủ (nâng cao) của phần mềm quản lý giải bóng đá 53 
Hình 5.1. Kiểm thử giải phương trình bậc 2 theo phương pháp hộp đen ..................... 62 
Hình 5.2. Kiểm thử theo phương pháp hộp trắng ......................................................... 63 
Hình 5.3. Kiểm thử đơn vị ............................................................................................ 65 
KHOA CÔNG NGHỆ THÔNG TIN 72 
MỤC LỤC BẢNG 
 TRANG 
Bảng 1.1. Ví dụ về các HTTTQL trong một doanh nghiệp .......................................... 12 
Bảng 2.1. Các mức DFD ................................................................................................ 30 
Bảng 4.1. Danh sách các thao tác có thể thực hiện ...................................................... 45 
KHOA CÔNG NGHỆ THÔNG TIN 73 
TÀI LIỆU THAM KHẢO 
1. Nguyễn Xuân Huy, Software Engineering, Institue of Information Technology 
2. Nguyễn Tiến Huy, Nhập môn công nghệ phần mềm, ĐH Khoa học Tự Nhiên. 
3. Nhóm tác giả, Nhập môn công nghệ phần mềm, Hà Nội, 2012 
4. ThS. Lê Thị Ngọc Diệp, Bài giảng Hệ thống thông tin quản lý, PTIT, 2013. 
5. TS, Lê Văn Phùng, Kỹ nghệ Phần mềm, Thông tin và truyền thông, 2010. 
6. Roger S.Pressman, Kĩ nghệ Phần mềm (tập 2), Giáo dục, 1999 
7. Ian Sommerville, Software Engineering, 8th Edition, Addidson-Wesley, 2007. 
8. Một số tài liệu tham khảo từ Internet. 

File đính kèm:

  • pdfgiao_trinh_cong_nghe_phan_mem.pdf