1. Trang chủ
  2. » Giáo án - Bài giảng

Bài giảng công nghệ phần mềm

266 133 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 266
Dung lượng 9,72 MB

Nội dung

 Hỗ trợ làm tốt hơn các thao tác nghiệp vụ:  Tin học hóa nghiệp vụ hiện đang làm thủ công  Cải tiến chức năng nghiệp vụ hiện đang được thực hiện trên máy tính Khái niệm về phần mềm...

Trang 2

Chương 1: Tổng quan về CNPM

Trang 4

 Phần mềm quản lý sổ tiết kiệm.

 Phần mềm quản lý bán vé chuyến bay

 Phần mềm xếp thời khóa biểu

Trang 6

 Phần mềm dưới góc nhìn của người sử dụng:

 Chương trình thực thi được trên máy tính hoặc các thiết bịchuyên dụng khác

 Nhằm hỗ trợ cho các nhà chuyên môn trong từng lĩnh vựcchuyên ngành thực hiện tốt hơn các thao tác nghiệp vụcủa mình

Khái niệm về phần mềm

Trang 7

 Môi trường triển khai phần mềm:

 Máy tính: Desktop, Laptop, Tablet PC…

 Thiết bị chuyên dụng:

 Thiết bị di động: PDA, Pocket PC, ĐTDĐ

 Các thiết bị chuyên dụng khác: set-top box, router,

 Hỗ trợ làm tốt hơn các thao tác nghiệp vụ:

 Tin học hóa nghiệp vụ hiện đang làm thủ công

 Cải tiến chức năng nghiệp vụ hiện đang được thực hiện trên máy tính

Khái niệm về phần mềm

Trang 8

 Phần mềm dưới góc nhìn của chuyên viên Tin học:

 Đây là một hệ thống bao gồm 3 thành phần cơ bản:

Trang 9

 Thành phần giao tiếp (Giao diện):

 Cho phép tiếp nhận các yêu cầu về việc sử dụng phầnmềm từ người sử dụng, từ các thiết bị thu thập dữ liệu,hoặc từ các phần mềm khác

 Cho phép trình bày các kết quả của việc thực hiện các yêucầu cho người dùng (kết quả của công việc khi thực hiệntrên máy tính) hoặc điều khiển hoạt động các thiết bị điềukhiển (đóng/mở cửa, dừng hay cho chuyển động…)

Khái niệm về phần mềm

Trang 10

 Thành phần giao tiếp (Giao diện):

 Một cách tổng quát, thành phần giao tiếp cho phép

nhập/xuất thông tin cùng với hình thức trình bày/giao tiếptương ứng

 Mục tiêu chính của thành phần này là đưa thông tin từ thếgiới thực bên ngoài phần mềm (người sử dụng, các thiết

bị, phần mềm khác…) vào bên trong, hoặc ngược lại

Khái niệm về phần mềm

Trang 12

 Thành phần xử lý (tt):

 Việc xử lý dựa trên thông tin nguồn từ người sử dụng cungcấp

 Ví dụ: tính nghiệm phương trình bậc 2 dựa trên các hệ

số nhập vào hoặc dữ liệu lưu trữ có sẵn

 Ví dụ: tính tiền phạt dựa trên ngày trả sách được nhậpvào và thông tin về loại sách đã được lưu trữ

 Việc xử lý cho ra kết quả có thể dùng để xuất cho ngườidùng xem qua thành phần giao diện, hay lưu trữ lại quathành phần lưu trữ, hoặc cả hai

Khái niệm về phần mềm

Trang 13

 Một cách tổng quát, thành phần xử lý là hệ thống chuyên xử

lý tính toán, biến đổi dữ liệu

 Dùng thông tin nguồn từ thành phần giao diện (chức năngnhập) hay thành phần dữ liệu (chức năng đọc);

 Kiểm tra tính hợp lệ (chức năng kiểm tra) và sau đó tiếnhành xử lý (chức năng xử lý) – nếu cần thiết

 Để cho ra kết quả sẽ được trình bày thông qua thành phầngiao diện (chức năng xuất) hoặc lưu trữ lại trong thànhphần dữ liệu (chức năng ghi)

Khái niệm về phần mềm

Trang 14

 Thành phần lưu trữ (thành phần dữ liệu)

 Cho phép lưu trữ lại (chức năng ghi) các kết quả đã xử lý

 Ví dụ: Việc mượn sách đã được kiểm tra hợp lệ, bảnglương tháng đã được tính trên bộ nhớ phụ với tổ chứclưu trữ được xác định trước

 Ví dụ: tập tin có cấu trúc, tập tin nhị phân, cơ sở dữ liệu

Khái niệm về phần mềm

Trang 15

 Thành phần lưu trữ (thành phần dữ liệu)

 Cho phép truy xuất lại (chức năng đọc) các dữ liệu đã lưutrữ phục vụ cho các hàm xử lý tương ứng

 Một cách tổng quát thành phần dữ liệu là hệ thống chuyên

đọc ghi dữ liệu cùng với mô hình tổ chức lưu trữ dữ liệutương ứng

 Mục tiêu chính của thành phần này là chuyển đổi dữ liệu

giữa bộ nhớ chính và bộ nhớ phụ

Khái niệm về phần mềm

Trang 17

Khái niệm lớp phần mềm

 Lớp phần mềm:

 Lớp phần mềm là hệ thống các phần mềm trên cùng mộtlĩnh vực hoạt động nào đó

 Do cùng lĩnh vực hoạt động nên các phần mềm cùng lớpthường có cấu trúc và chức năng tương tự nhau

 Mục tiêu của ngành Công nghệ Phần mềm

 Xây dựng được phần mềm có chất lượng

 Dễ dàng xây dựng phần mềm mới từ các phần mềm cósẵn cùng lớp

Trang 20

Dưới góc nhìn của Người sử dụng

Trang 21

Tính hiệu quả

Trang 22

Tính hiệu quả

Tính tương thích

Dưới góc nhìn của Người sử dụng

Trang 23

Tính hiệu quả

Tính tương thích

………

Trang 24

Tính dễ kiểm tra: việc kiểm tra các thành phần phù hợp với yêu cầu phần mềm là dễ dàng nhất có thể được

Tính dễ sửa lỗi: khi có sự không phù hợp (so với yêu cầu) trong quá trình kiểm tra một thành phần, việc phát hiện chính xác “vị trí lỗi”

và sửa lỗi là nhanh nhất có thể được.

Tính dễ bảo trì: khi cần nâng cấp, cải tiến một thành phần (theo yêu cầu mới), việc cập nhật phần mềm là nhanh, chính xác nhất có thể được và đặc biệt là cố gắng hạn chế ảnh hưởng đến các thành phần khác

Tính tái sử dụng: các thành phần đã thực hiện có thể dùng lại trong các phần mềm cùng lớp (hoặc cùng lĩnh vực) với thời gian và công sức ít nhất có thể được

………

Chất lượng phần mềm

Trang 25

Hiệu suất xử lý

Trang 26

Phát triển của Công nghệ phần mềm

 Giai đoạn 1 (1950 – giữa 1960)

 Xử lý theo lô, xử lý tập trung, ít xử lý phân tán, ít sửa đổi phần mềm

 Giai đoạn 2 (từ giữa 1960 đến giữa 1970)

 Hệ thống đa chương trình và đa nguời dùng

 Bắt đầu cuộc “khủng hoảng” phần mềm

 Giai đoạn 3 (từ giữa 1970 đến giữa 1980)

 Sự phát triển và sử dụng rộng rãi máy tính cá nhân

 Sự phát triển của các công ty phần mềm

 Giai đoạn 4 (từ giữa 1980 đến nay)

 Phần cứng ngày càng phát triển

 Hệ thống phần mềm ngày càng đa dạng, phong phú, xử lý ngày

càng phức tạp, công nghệ ngày càng phát triển…

Trang 28

 Cảm tính: mỗi người theo một phương pháp riêng

 Thô sơ, đơn giản: chỉ tập trung vào việc lập trình mà ítquan tâm đến các công việc cần làm khác (khảo sáthiện trạng, phân tích yêu cầu, thiết kế…)

 Thủ công: còn thiếu các công cụ hỗ trợ quy trình pháttriển

Cuộc khủng hoảng phần mềm

Trang 29

Công nghệ phần mềm

 Khái niệm:

 Công nghệ phần mềm là ngành khoa học nghiên cứu vềviệc xây dựng các phần mềm có chất lượng cao trong thờigian và chi phí thực hiện hợp lý

Công nghệ phần mềm

Phương pháp Công cụ Quy trình

Trang 30

 Các đối tượng nghiên cứu của Công nghệ phần mềm:

 Quy trình công nghệ phần mềm:

 Hệ thống các giai đoạn mà quá trình phát triển phầnmềm phải trải qua, với mỗi giai đoạn cần xác định rõ:

 Mục tiêu, kết quả nhận từ giai đoạn trước đó,

 Kết quả chuyển giao cho giai đoạn kế tiếp

 Phương pháp phát triển phần mềm:

 Hệ thống các hướng dẫn cho phép từng bước thựchiện một giai đoạn nào đó trong quy trình phần mềm

Công nghệ phần mềm

Trang 31

 Các đối tượng nghiên cứu của Công nghệ phần mềm:

 Công cụ và Môi trường phát triển phần mềm:

 Hệ thống các phần mềm trợ giúp trong lĩnh vực xâydựng phần mềm

 Hỗ trợ các chuyên viên tin học trong các bước xâydựng phần mềm theo một phương pháp nào đó với mộtquy trình được chọn trước

Công nghệ phần mềm

Trang 34

Quy trình thác nước

Xác định Yêu cầu

Trang 35

Quy trình thác nước cải tiến

Xác định Yêu cầu

Hiện trạng

Trang 36

Quy trình Prototype

Xác định

yêu cầu

“Thiết kế nhanh”

Xây dựng Prototype

Đánh giá và xác định rõ yêu cầu

Phát triển phần mềm

Trang 37

Quy trình xoắn ốc

Tiếp xúc Khách hàng

Trang 38

Bài tập

1 Xét phần mềm giải bài tập về đa thức Giả sử chỉ xét chức

năng tính đạo hàm một đơn thức P(x) = a.xn (với a là sốthực, n là số nguyên không âm), theo qui tắc tính đạo hàmQ(x) = P’(x) = n.a.xn-1

2 Viết chương trình giải phương trình bậc 2

3 Xét phần mềm quang hình học, giả sử chỉ xem xét chức

năng xác định ảnh của một vật qua một thấu kính Cho biếtcông thức xác định ảnh: 1/d + 1/d’ = 1/f

4 Chức năng xác định hình chiếu điểm M trên đường thẳng d

Trang 40

Chương 2:

Xác định và phân tích yêu cầu

Trang 41

Nội dung

 Giai đoạn khảo sát hiện trạng

 Hiện trạng tổ chức

 Hiện trạng nghiệp vụ

 Hiện trạng Tin học (phần cứng, phần mềm, con người)

 Xác định và thu thập yêu cầu:

 Phân loại yêu cầu:

 Yêu cầu chức năng: Lưu trữ, tra cứu, tính toán, kết xuất,…

 Yêu cầu phi chức năng: Yêu cầu bảo mật, Mã hóa dữ

Trang 42

Nội dung

 Xác định và thu thập yêu cầu(tt):

 Kỹ thuật thu thập yêu cầu:

Trang 43

Khảo sát hiện trạng

 Hiện trạng tổ chức

 Đối nội:  Cơ cấu tổ chức nội bộ

 Bản thân tổ chức là một hệ thống, có cơ cấu tổ chức

 Sơ đồ cơ cấu tổ chức nội bộ

 Cách nhìn tổng thể về 1 tổ chức

 Đối ngoại:

 Tổ chức Môi trường của tổ chức

Trang 44

Khảo sát hiện trạng

 Hiện trạng nghiệp vụ

 Hiểu được quy trình nghiệp vụ: mục tiêu quan trọng nhấtcủa khảo sát hiện trạng

 Có bao nhiêu nghiệp vụ, bao nhiêu quy trình?

 Dưới góc nhìn của người làm quản lý, không phải củachuyên viên Tin học

 Nghiệp vụ được thực hiện như thế nào?

 Các công đoạn, bộ phận liên quan…

 Tần suất? Thời điểm thực hiện

Trang 45

Khảo sát hiện trạng

 Hiện trạng nghiệp vụ (tt)

 Khối lượng tác vụ/quyết định?

 Đánh giá nghiệp vụ hiện tại

 Cần có những nhận xét của những người chuyên môntrong guồng máy công tác hiện tại

 Có vấn đề/khó khăn gì hiện tại hay không? Nguyên nhân?

 Vấn đề/khó khăn độc lập với công nghệ, chỉ liên quanđến chuyên môn nghiệp vụ thì cần giải quyết ngay

Trang 48

Xác định và thu thập yêu cầu

 Phân loại yêu cầu:

 Yêu cầu chức năng:

Trang 49

Xác định và thu thập yêu cầu

 Kỹ thuật thu thập yêu cầu:

Trang 51

 Có thể định hướng nội dung cần tìm hiểu, có thể hệthống hóa các vấn đề ghi nhận được

Trang 53

Kỹ thuật Phỏng vấn

 Khi tìm hiểu, cần ghi nhận các thông tin:

 Nội dung: cái gì?

 Bao giờ có: thời gian

 Bằng cách nào có nội dung thông tin đó

Trang 54

Kỹ thuật dùng bảng câu hỏi

 Phải trình bày rõ:

 Mục đích của bảng câu hỏi,

 Mục đích sử dụng những thông tin trong bảng câu hỏi,

 Tính bảo mật thông tin trả lời (không tiết lộ ai là ngườicung cấp thông tin, không để lộ ra ngoài tổ chức…)

 Hướng dẫn cách điền: rất cần thiết, cần lưu ý để tránh hiểunhầm

 Thời hạn trả về:

 Cần nhắc khi gần đến thời hạn

Trang 55

 Câu hỏi trình bày rõ ràng

 Hình thức bảng câu hỏi phải dễ dàng để xử lý tự động

 Cần để dành chỗ để ghi câu trả lời

 Thêm chỗ cho lời bình

 Không phải chỉ ở cuối trang, hay cuối bảng câu hỏi,

 Nên dự kiến những câu hỏi nào sẽ có ý kiến thêm thì nên

có sẵn chỗ để ghi lời bình ngay dưới câu hỏi đó)

Kỹ thuật dùng bảng câu hỏi

Trang 56

Kỹ thuật Nghiên cứu tài liệu

 Các tài liệu (có thể tìm hiểu những văn bản chung)

 Những quy định nội bộ, Các báo cáo liên quan

 Những quy định về quy trình nghiệp vụ

 Rất khó có đầy đủ văn bản quy định về quy trình nghiệp vụ

 Đơn vị đạt chuẩn ISO?

 Những quy định “bất thành văn” !!!

 Thường dễ hơn kỹ thuật phỏng vấn hay bảng câu hỏi

 Thường được tiến hành trước làm cơ sở chuẩn bị cho việcphỏng vấn hay dùng bảng câu hỏi

Trang 57

Kỹ thuật Quan sát thực tế

 Tiến hành sau cùng (nếu cần thiết)

 Kiểm tra lại:

 Đã hiểu đúng nghiệp vụ hiện tại?

 Có những ngoại lệ?

 Phát hiện những khó khăn, lỗ hổng trong quy trình nghiệpvụ

 Nhược điểm: ?

Trang 58

Phân tích thiết kế nhóm - JAD

 JAD – Joint Application Design

 Kỹ thuật áp dụng cho các giai đoạn phân tích yêu cầu và đặctả

 Các nhà phát triển và khách hàng làm việc như một nhómchung và có trách nhiệm chung đối với kết quả đầu ra

 Nhóm làm việc sẽ thảo luận các yêu cầu cần có, thiết kế cácmàn hình và báo cáo, xây dựng mô hình định khung nhanh,rút ra các đặc tả

 Chủ yếu dựa trên sự đồng thuận (consensus)

Trang 59

Mô hình hóa yêu cầu

 Tại sao phải mô hình hóa yêu cầu?

 Mô hình hóa yêu cầu:

 Mô hình hóa là một trong các cách thức mô tả trực quanmột vấn đề dưới dạng các sơ đồ

 Mô hình hóa sử dụng hệ thống các ký hiệu tương ứng vớicác thành phần của vấn đề cần mô tả

 Mô hình hóa phần mềm (Hệ thống dựa trên phần mềm):

 Mô tả trực quan các thành phần của phần mềm dưới dạngcác sơ đồ

Trang 60

Mô hình hóa yêu cầu

 Có hai mức mô hình hóa:

 Mức quan niệm (giai đoạn phân tích): Mô tả phát thảo cácthành phần của phần mềm

 Mức logic (giai đoạn thiết kế): Mô tả chi tiết các thành phầncủa phần mềm

 Các loại mô hình:

 Mô hình chức năng: Mô tả thành phần xử lý

 Mô hình dữ liệu: Mô tả thành phần dữ liệu

 Mô hình đối tượng: Mô tả đồng thời dữ liệu và xử lý

Trang 61

Sơ đồ luồng dữ liệu

 Mô hình hóa hướng chức năng với sơ đồ luồng dữ liệu –DFD (Data Flow Diagram)

 Mục tiêu: Mô tả mức quan niệm (phát thảo) các thànhphần của phần mềm với sự chú trọng trên thành phần xửlý

Trang 62

Sơ đồ luồng dữ liệu

 Các ký hiệu

Tác nhân/thiết bị (Người sử dụng, thiết bị phát sinh hay tiếp nhận dữ liệu)

Khối xử lý

Luồng dữ liệu (thông tin)

Bộ nhớ phụ (Hồ sơ, Sổ sách, tập tin, csdl…)

Trang 63

Dữ liệu

đọc

Dữ liệu ghi

Trang 65

Ví dụ 1

2 Thiết kế

 Mô tả chi tiết cách thức giao diện

Khởi động giá trị ban đầu

Kiểm tra P hợp lệ và nhập giá trị cho P

Tính QXuất Q

(0)

(1)

Trang 66

Ví dụ 1

2 Thiết kế

 Mô tả chi tiết kiểu dữ liệu: Sử dụng kiểu cấu trúc

DON_THUC với hai thành phần:

 Hệ số có kiểu số thực

 Số mũ có kiểu số nguyên (không âm)

 Mô tả chi tiết các hàm xử lý

Trang 67

Ví dụ 1

3 Lập trình

„Khai báo biến

Private Type DON_THUC

Trang 68

Ví dụ 1

3 Lập trình

„Hàm xử lý biến cố tính đạo hàm trên màn hình

Private sub cmdDaoham_Click()

if Kiem_Tra_He_So() and Kiem_Tra_So_Mu() then

Nhap()DaoHam()Xuat()

End if

End sub

Trang 70

 a>0: nghiệm thuộc dạng 2

 a<0: nghiệm thuộc dạng 1

 Với x 0 = -b/a

 Sơ đồ luồng dữ liệu

Trang 73

 Nếu Δ < 0 : nghiệm loại 1

 Nếu Δ = 0 : nghiệm loại 2, với x 1 =x 2 =-b/2a

 Nếu Δ > 0 : nghiệm loại 3, với x 1 =

D1 D2

Trang 74

Ví dụ 4

 Xét phần mềm quản lý thư viện, hãy lập sơ đồ luồng dữ liệu cho yêu cầu Lập thẻ độc giả

Trang 75

Ví dụ 4

Người dùng, Thủ thư

Máy in

Lập thẻ độc giả

Trang 77

 Bước 05: Tính tuổi độc giả.

 Bước 06: Kiểm tra qui định “Tuổi tối thiểu”

 Bước 07: Kiểm tra qui định “Tuổi tối đa”

Trang 78

Ví dụ 4

 Thuật toán:

 Bước 08: Nếu không thỏa tất cả các qui định trên thì tớibước 12

 Bước 09: Tính ngày hết hạn của thẻ

 Bước 10: Lưu D4 xuống bộ nhớ phụ

 Bước 11: Xuất D5 ra máy in

 Bước 12: Đóng kết nối cơ sở dữ liệu

 Bước 13: Kết thúc

Trang 79

Sơ đồ tổng quát cho Yêu cầu lưu trữ

 D1: Thông tin cần lưu trữ (dựa vào biểu mẫu liên quan)

 D5: Thông tin cần lưu trữ (chỉ có trong một số yêu cầu đặc biệt)

 Kết quả thành công/thất bại

 D4: Dữ liệu được lưu trữ (dựa vào biểu mẫu).

 Ghi chú: Thông thường

Trang 80

Sơ đồ tổng quát cho Yêu cầu lưu trữ

 Xử lý lưu trữ

 Đọc D3 để lấy các tham số, quy định và danh mục

 Hiển thị D2 (các danh mục)

 Nhận thông tin D1, D5 (nếu cần)

 Kiểm tra các thông tin D1, D5 có thỏa quy định liên quan hay không (dựa vào D3 nếu cần thiết)

 Nếu thỏa quy định, ghi D4 , thông báo kết quả D2 (nếu cần) và xuất D6 (nếu cần thiết)

Trang 81

Sơ đồ tổng quát cho Yêu cầu lưu trữ

Trang 82

Sơ đồ tổng quát cho Yêu cầu tra cứu

 D1: Thông tin về đối tượng muốn tìm kiếm (dựa vào

biểu mẫu liên quan đến đối tượng cần tìm kiếm)

 D5: Thông tin về đối tượng muốn tìm kiếm (chỉ có trong một số yêu cầu đặc biệt)

 D3:

 Các danh mục để chọn lựa

Dữ liệu về đối tượng khi tìm thấy (dựa vào biểu

mẫu liên quan đến đối tượng cần tìm kiếm)

 D2:

 Các danh mục để chọn lựa

Dữ liệu về đối tượng khi tìm thấy (dựa vào biểu

mẫu liên quan đến đối tượng cần tìm kiếm)

 D6: Dữ liệu kết xuất (thông thường là cần thiết)

 D4: Dữ liệu cần lưu trữ lại

 Thông thường không cần thiết

 Cần thiết khi nào???

Trang 83

Sơ đồ tổng quát cho Yêu cầu tra cứu

 Hiển thị thông tin kết quả ( D2 ) và kết xuất D6 (nếu cần)

Trang 84

Sơ đồ tổng quát cho Yêu cầu tra cứu

 Ghi chú:

 Có rất nhiều mức độ khác nhau từ rất đơn giản đến rất phức tạp để xác định D1

 D1 chứa nhiều thông tin thì việc tìm kiếm sẽ

dễ dàng cho người dùng và ngược lại sẽ khó khăn cho phần thiết kế và cài đặt chức năng này

 D3 thông thường là danh sách các đối tượng tìm thấy cùng với thông tin liên quan.

 D3 cũng có rất nhiều mức độ khác nhau để xác định các thông tin của đối tượng tìm thấy

 D2 và D6 thường trùng với D3 (nhưng không nhất thiết)

Trang 85

Sơ đồ tổng quát cho Yêu cầu tính toán

 D1: Thông tin về đối tượng cần thực hiện việc xử lý tính toán (dựa vào các biểu mẫu liên quan)

 D5: Thông tin về đối tượng cần thực hiện việc xử lý tính toán (chỉ có trong một số yêu cầu đặc biệt)

 D3:

 Dữ liệu cần thiết cho việc xử lý tính toán (dựa vào biểu mẫu và quy định liên quan)

 Các tham số tính toán

 D4: Kết quả của xử lý tính toán

 D2: Kết quả của xử lý tính toán (thường gồm cả D3

Ngày đăng: 05/07/2015, 01:20

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w