Bài giảng Nhập môn Công nghệ phần mềm - Chương 1: Mở đầu - Phạm Mạnh Cương

Bài giảng Công nghệ phần mềm - Chương 1: Mở đầu - Phạm Mạnh Cương

Nội dung

Một số khái niệm cơ bản

Kiến trúc các thành phần của PM

Quy trình Công nghệ phần mềm

 

ppt 32 trang phuongnguyen 8540
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn Công nghệ phần mềm - Chương 1: Mở đầu - Phạm Mạnh Cương", để 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: Bài giảng Nhập môn Công nghệ phần mềm - Chương 1: Mở đầu - Phạm Mạnh Cương

Bài giảng Nhập môn Công nghệ phần mềm - Chương 1: Mở đầu - Phạm Mạnh Cương
1 
Mở đầu 
Chương 1 
NHẬP MÔN CÔNG NGHỆ PHẦN MỀM 
2 
Mục tiêu 
Cung cấp các khái niệm cơ bản nhất trong lĩnh vực công nghệ phần mềm . 
Hai khái niệm quan trọng nhất sẽ được tập trung trình bày là : 
Phần mềm 
Công nghệ phần mềm 
3 
Nội dung 
Một số khái niệm cơ bản 
Kiến trúc các thành phần của PM 
Quy trình Công nghệ phần mềm 
4 
1. Một số khái niệm cơ bản 
Lĩnh vực 
Nhà chuyên môn 
Công việc 
Phần mềm 
Giáo 
dục 
Giáo vụ 
Xếp lớp , thời khoá biểu 
Theo dõi kết quả học tập 
Quản 
lý 
đào 
tạo 
Giáo viên 
Đăng ký giảng dạy 
Xem thời khoá biểu 
Sinh viên 
Đăng ký học phần 
Xem điểm 
Phần mềm là gì ? 
Là công cụ hỗ trợ nhà chuyên môn thực hiện tốt công việc trên máy tính . 
5 
Phần mềm : ưu và khuyết 
Ưu điểm 
Khuyết điểm 
Chi phí 
??? 
??? 
Thời gian 
Nhân lực 
Rủi ro 
Ưu và khuyết điểm của việc sử dụng phần mềm để giải quyết công việc thay vì làm thủ công ? 
Tình huống : Nhân viên thuyết phục khách hàng sử dụng phần mềm để thực hiện công việc . 
6 
Yêu cầu phần mềm 
Các công việc , các nghiệp vụ được hỗ trợ thực hiện trên máy tính bằng phần mềm . 
Ví dụ : Xét phần mềm quản lý th ư viện . 
Lập thẻ độc giả 
Tiếp nhận sách mới 
Tra cứu sách 
Cho mượn sách 
Nhận trả sách 
Lập báo cáo 
7 
Yêu cầu phần mềm ( tt ) 
Thế giới thực 
( Nghiệp vụ ) 
Bên trong máy tính 
( Yêu cầu phần mềm ) 
Ghi chép 
Lưu trữ 
Tìm kiếm 
Tra cứu 
Tính toán 
Xử lý 
Lập báo cáo , thống kê 
Lập báo biểu 
8 
Phân loại Yêu cầu PM 
Phần mềm hệ thống : 
Phục vụ cho các phần mềm khác . Ví dụ : HDH, trình biên dịch , 
Phần mềm dòng sản phẩm : 
Cung cấp chức năng đặc biệt được dùng bởi cộng đồng lớn như PM xử lý văn bản , bảng tính , đồ họa , multimedia, giải trí , 
Phần mềm nhúng (Embedded): 
Cài đặt cứng trong sản phẩm . 
9 
Phân loại Yêu cầu PM 
Phần mềm mã nguồn mở : 
Là PM có mã nguồn được cung cấp miễn phí . Việc sử dụng phải tuân theo giấy phép sử dụng kèm theo mã nguồn . 
Phần mềm thế giới thực : 
Giám sát , phân tích , điều khiển các biến cố ở thế giới thực khi chúng vừa xảy ra . Ví dụ : tòa nhà thông minh , cửa tự độ ng , 
Ứng dụng web: 
Các PM chạy trên mạng . 
10 
Phân loại Yêu cầu PM 
Phân loại theo lĩnh vực ứng dụng 
Phần mềm Giảng Dạy 
Phần mềm Quản Lý 
Phần mềm Hệ Thống 
Phần mềm Điều Khiển 
Phần mềm Giải Trí 
. 
11 
Phân loại Yêu cầu PM 
Phân loại theo mục đích tạo lập 
Phần mềm 
Diễn giải 
Theo hợp đồng 
Có khách hàng cụ thể 
Có yêu cầu cụ thể 
Có thời hạn và chi phí cụ thể 
Có trách nhiệm bảo trì 
Khung 
Không có khách hàng cụ thể 
Không có các yêu cầu cụ thể 
Là khung cho phép XD nhanh 1 PM theo HĐ. 
Đóng gói 
Không có khách hàng cụ thể 
Không có các yêu cầu cụ thể 
Được bán rộng rãi 
Không bảo trì - Chỉ nâng cấp phiên bản . 
Ngành CNPM chú trọng PM khung , PM đóng gói . 
12 
Lớp phần mềm 
STT 
Lớp phần mềm 
Các phần mềm 
1 
Hỗ trợ giải bài tập 
Phân số , Tam thức , Số phức , 
2 
Trò chơi 
Cờ caro , Cờ gánh , Tetris, 
3 
Xếp lịch biểu 
Hội nghị , Hội đồng , TKB dạy , 
4 
Xét tuyển 
Lớp 10, Nhân sự , Bài báo , 
5 
Bình chọn 
Sản phẩm , Bài hát , Cầu thủ , 
6 
Quản lý học sinh 
Mầm non, Trung học , Trung tâm ,... 
7 
Nhân sự tiền lương 
Hành chánh , Sản xuất , Quân đội , 
8 
Bán hàng 
Thuốc tây , Vật liệu , Máy tính , 
9 
Thuê bao 
Điện , Điện thoại , Nước , 
10 
Cho mượn 
Sách , Truyện , 
13 
Lớp phần mềm 
Là hệ thống các phần mềm cùng lĩnh vực hoạt động nên chúng có cấu trúc và chức năng tương tự nhau . 
14 
2. Kiến trúc các thành phần của PM 
Người dùng 
Phần cứng 
Giao diện 
Xử lý 
Dữ liệu 
Người dùng 
Phần cứng 
Phần mềm 
15 
Chức năng các thành phần của PM 
Thành phần 
Mô tả chức năng 
Giao diện 
Tiếp nhận các yêu cầu của người sử dụng 
Trình bày các kết quả của việc thực hiện các yêu cầu cho NSD 
Là hệ thống các hàm chuyên nhập xuất dữ liệu 
Xử lý 
Kiểm tra tính hợp lệ các dữ liệu được cung cấp từ NSD 
Xử lý cho ra kết quả 
Là hệ thống các hàm chuyên về xử lý tính toán 
Dữ liệu 
Lưu trữ lại các kết quả đã xử lý 
Truy xuất lại các dữ liệu đã lưu trữ 
Là hệ thống các hàm chuyên về đọc ghi dữ liệu 
16 
Bảng tóm tắt các hàm và ý nghĩa 
STT 
Thành phần 
Hàm 
Ý nghĩa 
Ghi chú 
1 
Giao diện 
Nhập 
Nhập yêu cầu dữ liệu nguồn 
Cần xác định hình thức nhập/xuất và tổ chức dữ liệu tương ứng 
Xuất 
Xuất kết quả đã xử lý 
2 
Xử lý 
Kiểm tra 
Kiểm tra tính hợp lệ dữ liệu 
Sử dụng hàm Nhập , Đọc 
Xử lý 
Xử lý tính toán phát sinh , biến đổi trên dữ liệu 
Sử dụng hàm Nhập , Xuất , Đọc , Ghi 
3 
Dữ liệu 
Đọc 
Đọc dữ liệu từ bộ nhớ phụ vào bộ nhớ chính 
Cần xác định cách thức tổ chức lưu trữ dữ liệu 
Ghi 
Ghi dữ liệu từ bộ nhớ chính vào bộ nhớ phụ 
17 
Chất lượng phần mềm 
Như thế nào là phần mềm chất lượng ? 
Phần mềm có chất lượng là phần mềm thỏa các tính sau : 
Tính đúng đắn 
Tính tiện dụng 
Tính hiệu quả 
Tính tiến hóa 
Tính tương thích 
Tính bảo mật 
Tính an toàn 
Ghi chú : 
Phần mềm không nhất thiết phải thoả mãn hết các tính chất trên . 
Tuỳ vào loại phần mềm và yêu cầu của người dùng một số tính chất sẽ được chú trọng một số có thể bỏ qua. 
18 
Chất lượng phần mềm 
Đối với người phát triển : “ Như thế nào là phần mềm chất lượng ?” 
Đối với người phát triển thì phần mềm có chất lượng là phần mềm thỏa các tính chất : 
Tính dùng lại ( tái sử dụng ) 
Dễ bảo trì 
Dễ mang chuyển 
Dễ mở rộng 
19 
Chất lượng phần mềm 
Phần mềm chất lượng là phần mềm thỏa các tính sau : 
Khách hàng 
Công ty SXPM 
Tính đúng đắn 
Tính dùng lại . 
Tính tiện dụng 
Tính dễ bảo trì . 
Tính hiệu quả 
Tính dễ mang chuyển 
Tính tiến hóa 
Tính dễ mở rộng . 
Tính tương thích 
Tính bảo mật 
Tính an toàn 
20 
Chất lượng phần mềm 
Tính đúng đắn : 
Phần mềm thực hiện đầy đủ và chính xác các yêu cầu của người dùng . 
Tính tiện dụng : 
Dễ học , dễ sử dụng , có giao diện trực quan tự nhiên , thân thiện gần gũi với người sử dụng . 
Tính hiệu quả : 
Sử dụng tối ưu các tài nguyên máy tính (CPU- tốc độ , bộ nhớ - dung lượng lưu trữ ,) 
Tính tương thích : 
Dễ dàng trao đổi dữ liệu hay phối hợp với các phần mềm khác . Ví dụ : 
Nhập danh mục sách từ tập tin Excel 
Gởi báo cáo tổng kết năm học đến phần mềm WinFax, 
21 
Chất lượng phần mềm 
Tính tiến hóa : 
Phần mềm dễ sửa đổi theo những yêu cầu mới , ngữ cảnh mới . 
Sự sửa đổi lý tưởng nhất là do người dùng cuối lựa chọn . Ví dụ : Cho phép người dùng có thể khai báo các thay đổi trong thế giới thực liên quan như 
Thay đổi về số sách mượn tối đa 
Thay đổi công thức tính tiền phạt ,  
Tính bảo mật : 
Phân quyền người dùng , mã hoá thông tin, mã hoá password, tránh các xâm nhập bất hợp pháp . 
Tính an toàn : 
Có cơ chế sao lưu và phục hồi dữ liệu , xác nhận trước khi xoá , không cho phép các thao tác xoá không hợp lệ  
22 
Chất lượng phần mềm 
Tính dùng lại ( tái sử dụng ) 
Phần mềm viết theo h ướ ng đố i t ượ ng ( bao gồm các thành phần độ c lập ) dễ dàng sử dụng lại cho phần mềm khác , dự án khác . 
Dễ bảo trì 
Khi cần bảo trì dễ dàng biết được thành phần nào bảo trì và việc bảo trì không ảnh h ưở ng đế n các thành phần khác . 
Dễ mang chuyển 
Dễ dàng cài đặ t, chuyển đổ i từ máy này sang mái khác , 
Dễ mở rộng 
Khi cần thêm tính n ă ng , thuộc tính mới không phải phân tích , thiết kế lại từ đầ u, 
23 
3. Qui trình Công nghệ phần mềm 
Qui trình công nghệ phần mềm là tổ hợp các bước , các giai đoạn phải trải qua khi thực hiện việc sản xuất phần mềm . 
Vấn đề : 
Các yêu cầu PM 
Phần mềm 
24 
Mô hình thác nước cổ điển 
Xác định yêu cầu 
Phân tích 
Thiết kế 
Cài đặt 
Kiểm chứng 
Qui trình 
2 giai đoạn 
3 giai đoạn 
4 giai đoạn 
5 giai đoạn 
25 
Mô hình thác nước cổ điển 
Bước 
Mục tiêu 
Kết quả nhận 
Kết quả chuyển giao 
Xác định 
yêu cầu 
Xác định chính xác YC đặt ra cho PM sẽ xây dựng 
Thông tin về các hoạt động của thế giới thực 
Danh sách các YC công việc + các thông tin chi tiết về các YC. 
Phân tích 
Mô tả lại thế giới thực thông qua các mô hình 
Danh sách các YC + thông tin liên quan 
Mô hình xử lý 
Mô hình dữ liệu 
Các mô hình khác 
Thiết kế 
Mô tả các thành phần của PM 
Mô hình thế giới thực 
Mô tả thành phần giao diên 
Mô tả thành phần xử lý 
Mô tả thành phần dữ liệu 
Cài đặt 
Tạo lập PM theo YC 
Mô hình PM 
Chương trình nguồn của PM 
Kiểm chứng 
Tăng độ tin cậy của PM 
Danh sách YC 
Mô hình PM 
Phần mềm 
PM với độ tin cậy cao ( đã sửa lỗi ). 
26 
Mô hình thác nước cổ điển 
Đặc tr ư ng 
Tuyến tính và tuần tự 
Không thể quay lui 
Yêu cầu phải đượ c xác đị nh tr ướ c. 
Ư u đ iểm 
Các cột mốc xác đị nh rõ ràng 
Chỉ một hoạt độ ng ( pha ) tại một thời đ iểm 
Dễ dàng đán h giá tiến độ 
Tiếp cận dễ hiểu 
27 
Mô hình thác nước cổ điển 
Khuyết đ iểm 
Khó có thể xác đị nh hết yêu cầu tại thời đ iểm bắt đầ u dự án , khách hàng chỉ làm việc trong Pha đầ u rủi ro cao . 
 Yêu cầu có thể thay đổ i 
Thị tr ườ ng thay đổ i 
Kỹ thuật thay đổ i 
Nhu cầu của ng ườ i dùng thay đổ i 
Sản phẩm đượ c hình thành ở giai đ oạn cuối của tiến trình 
28 
Mô hình thác nước cải tiến 
Xác định yêu cầu 
Phân tích 
Thiết kế 
Cài đặt 
Kiểm chứng 
Cho phép quay lui 
khi phát hiện lỗi 
 trong giai đoạn 
 phía trước 
29 
Mô hình phần mềm mẫu (prototype) 
Thu thập 
yêu cầu 
Thiết kế 
Nhanh 
Xây dựng 
Prototype 
Khách hàng 
Đánh giá 
Tinh chế 
Prototype 
Bắt đầu 
Kết thúc 
Xây dựng 
Sản phẩm 
30 
Mô hình phần mềm mẫu (prototype) 
Tương tự như thác nước , bổ sung vào giai đoạn thực hiện PM mẫu (prototype) ngay sau khi xác định YC nhằm mục tiêu phát hiện nhanh các sai sót về yêu cầu . 
31 
Tổng kết 
Mỗi mô hình đề u có ư u và khuyết đ iểm riêng . 
 Lựa chọn mô hình thích hợp dựa trên: 
Phạm vi của tổ chức 
 Trình độ quản lý 
Kỹ n ă ng của độ i ngũ nhân viên 
Lo ại s ản ph ẩm th ực hi ện 
Có thể kết hợp sử dụng nhiều mô hình cùng lúc . 
32 
Hỏi & Đáp 

File đính kèm:

  • pptbai_giang_cong_nghe_phan_mem_chuong_1_mo_dau_pham_manh_cuong.ppt