intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Tổng quan về công nghệ phần mềm - Chương 1

Chia sẻ: Batman_1 Batman_1 | Ngày: | Loại File: PDF | Số trang:10

129
lượt xem
7
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Công nghệ phần mềm hay kỹ nghệ phần mềm (tiếng Anh: software engineering) là sự áp dụng một cách tiếp cận có hệ thống, có kỷ luật, và định lượng được cho việc phát triển, sử dụng và bảo trì phần mềm.[1]

Chủ đề:
Lưu

Nội dung Text: Tổng quan về công nghệ phần mềm - Chương 1

  1. Nội dung  Một số khái niệm cơ bản  Công nghệ phần mềm  Quy trình công nghệ phần mềm: Chương 1: Tổng quan về CNPM Quy trình thác nước  Quy trình thác nước cải tiến  Quy trình Prototype  Quy trình xoắn ốc  1 2 Khái niệm về phần mềm Khái niệm về phần mềm  Ví dụ: xét một số phần mềm sau: Phần mềm quản lý học sinh cấp 3. Phần mềm là gì?  Phần mềm quản lý thư viện.  Phần mềm quản lý nhà sách.  Phần mềm quản lý khách sạn.   Được xem xét ở hai góc độ: Phần mềm quản lý phòng mạch tư.  Góc nhìn người dùng Phần mềm quản lý sổ tiết kiệm.   Góc nhìn chuyên viên tin học 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  …  3 4 1
  2. Khái niệm về phần mềm Khái niệm về phần mềm  Phần m ềm dưới góc nhìn của người sử dụng:  Môi trường triển khai phần m ềm : Chương trình thực thi được trên máy tính hoặc các Máy tính: Desktop, Laptop, Tablet PC…   thiết bị chuyên dụng khác Thiết bị chuyên dụng:  Nhằm hỗ trợ cho các nhà chuyên môn trong từng lĩnh  Thiết bị di động: PDA, Pocket PC, ĐTDĐ  vực chuyên ngành thực hiện tốt hơn các thao tác  Các thiết bị chuyên dụng khác: set-top box, router,... nghiệp vụ của m ình  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 Đề ra, xây dựng và triển khai chức năng nghiệp vụ mới  5 6 Khái niệm về phần mềm Khái niệm về phần mềm  Phần m ềm dưới góc nhìn của chuyên viên Tin học:  Thành phần giao tiếp (Giao diện): Đây là m ột hệ thống bao gồm 3 thành phần cơ bản: Cho phép tiếp nhận các yêu cầu về việc sử dụng    Thành phần giao tiếp phần m ề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.  Thành phần xử lý  Thành phần lưu trữ Cho phép trình bày các kết quả của việc thực hiện  các yêu cầu cho người dùng (kết quả của công việc  Cần được xây dựng để thực hiện theo yêu cầu của người sử dụng khi thực hiện trên máy tính) hoặc điều khiển hoạt động các thiết bị điều khiển (đóng/mở cửa, dừng hay cho chuyển động…) 7 8 2
  3. Khái niệm về phần mềm Khái niệm về phần mềm  Thành phần giao tiếp (Giao diện):  Thành phần xử lý: Một cách tổng quát, thành phần giao tiếp cho phép Kiểm tra tính hợp lệ của thông tin nguồn được cung   nhập/xuất thông tin cùng với hình thức trình bày/giao cấp từ người dùng theo các quy định ràng buộc trong tiếp tương ứng. thế giới thực Mục tiêu chính của thành phần này là đưa thông tin  Ví dụ: chỉ cho m ượn tối đa 3 quyển sách, m ỗi lớp  từ thế giới thực bên ngoài phần m ềm (người sử học không quá 50 học sinh… dụng, các thiết bị, phần m ềm khác…) vào bên trong, Tiến hành xử lý cho ra kết quả mong đợi theo quy định  hoặc ngược lại. tính toán có sẵn trong thế giới thực Hoặc tiến hành xử lý theo thuật giải tự đề xuất  9 10 Khái niệm về phần mềm Khái niệm về phần mềm  Thành phần xử lý (tt):  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. Việc xử lý dựa trên thông tin nguồn từ người sử dụng  Dùng thông tin nguồn từ thành phần giao diện (chức cung cấp  năng nhập) hay thành phần dữ liệu (chức năng đọc);  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 Kiểm tra tính hợp lệ (chức năng kiểm tra) và sau đó  tiến hành xử lý (chức năng xử lý) – nếu cần thiết  Ví dụ: tính tiền phạt dựa trên ngày trả sách được nhập vào và thông tin về loại sách đã được lưu trữ Để cho ra kết quả sẽ được trình bày thông qua thành  phần giao diện (chức năng xuất) hoặc lưu trữ lại Việc xử lý cho ra kết quả có thể dùng để xuất cho  trong thành phần dữ liệu (chức năng ghi) người dùng xem qua thành phần giao diện, hay lưu trữ lại qua thành phần lưu trữ, hoặc cả hai 11 12 3
  4. Khái niệm về phần mềm Khái niệm về phần mềm  Thành phần lưu trữ (thành phần dữ liệu)  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ả đã Cho phép truy xuất lại (chức năng đọc) các dữ liệu đã   xử lý lưu trữ phục vụ cho các hàm xử lý tương ứng  Ví dụ: Việc m ượn sách đã được kiểm tra hợp lệ, Một cách tổng quát thành phần dữ liệu là hệ thống  bảng lương tháng đã được tính trên bộ nhớ phụ chuyên đọc ghi dữ liệu cùng với mô hình tổ chức lưu với tổ chức lưu trữ được xác định trước trữ dữ liệu tương ứng.  Ví dụ: tập tin có cấu trúc, tập tin nhị phân, cơ sở Mục tiêu chính của thành phần này là chuyển đổi dữ  dữ liệu liệu giữa bộ nhớ chính và bộ nhớ phụ 13 14 Khái niệm lớp phần mềm Khái niệm lớp phần mềm  Phân lớp theo m ục đích sử dụng:  Lớp phần m ềm : Lớp phần m ềm quản lý học sinh Lớp phần m ềm là hệ thống các phần m ềm trên cùng   m ột lĩnh vực hoạt động nào đó Lớp phần m ềm đánh cờ  Do cùng lĩnh vực hoạt động nên các phần m ềm cùng Lớp phần m ềm giải bài tập   lớp thườ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  Phân lớp theo m ục tiêu tạo lập Xây dựng được phần m ềm có chất lượng Lớp phần m ềm theo hợp đồng   Dễ dàng xây dựng phần m ềm mới từ các phần mềm Lớp phần m ềm khung   có sẵn cùng lớp Lớp phần m ềm đóng gói  15 16 4
  5. Chất lượng phần mềm Chất lượng phần mềm Tính tiện dụng Tính tiện dụng: Tính đúng đắn: Tính đúng đắn Con người Con người - Dễ học - Đầy đủ - Dễ sử dụng - Chính xác - Giao diện trực quan Tính đúng đắn - Tự nhiên Phần mềm Phần mềm Phần mềm khác Phần mềm khác Phần cứng Phần cứng Dưới góc nhìn của Người sử dụng Dưới góc nhìn của Người sử dụng 17 18 Chất lượng phần mềm Chất lượng phần mềm Tính đúng đắn Tính đúng đắn Tính tiện dụng Tính hiệu quả: Tính tiện dụng Tính tương thích: Con người Con người Tính hiệu quả - Tối ưu sử dụng CPU* - Import/Export dữ liệu - Tối ưu sử dụng bộ nhớ* - Tương tác - Tối ưu sử dụng thiết bị Phần mềm Phần mềm Tính hiệu quả Phần mềm khác Phần mềm khác Phần cứng Phần cứng Tính tương thích Dưới góc nhìn của Người sử dụng Dưới góc nhìn của Người sử dụng 19 20 5
  6. Chất lượng phần mềm Chất lượng phần mềm Tính đúng đắn Tính tiến hóa Tính tiện dụng Tính đúng đắn Tính tiến hóa: m ột trong Con người Con người các tính chất quan trọng Tính hiệu quả Tính tiện dụng nhất được quan tâm xem Tính tương thích xét trong ngành Công Tính hiệu quả nghệ Phần m ềm Tính tương thích Tính tiến hóa ……… Phần mềm Phần mềm Phần mềm khác Phần mềm khác Phần cứng Phần cứng Dưới góc nhìn của Người sử dụng Dưới góc nhìn của Người sử dụng 21 22 Chất lượng phần mềm Phát triển của Công nghệ phần mềm Tính dễ kiểm tra: việc kiểm tra các thành phần phù hợp với  Giai đoạn 1 (1950 – giữa 1960) yêu cầu phần mềm là dễ dàng nhất có thể được Xử lý theo lô, xử lý tập trung, ít xử lý phân tán, ít sửa đổi phần m ềm  Tính dễ sửa lỗi: khi có sự không phù hợp (so với yêu c ầu)  Giai đoạn 2 (từ giữa 1960 đến giữa 1970) trong quá trình kiểm tra một thành phần, việc phát hiện chính Hệ thống đa chương trình và đa nguời dùng  xác “vị trí lỗi” và sửa lỗi là nhanh nhất có thể được. Bắt đầu cuộc “khủng hoảng” phần m ềm  Tính dễ bảo trì: khi cần nâng c ấp, cải tiến một thành phần  Giai đoạn 3 (từ giữa 1970 đến giữa 1980) (theo yêu cầu mới), việc cập nhật phần mềm là nhanh, chính Sự phát triển và sử dụng rộng rãi m áy tính cá nhân 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 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) Tính tái sử dụng: các thành phần đã thực hiện có thể dùng lại Phần cứng ngày càng phát triển 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 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… Dưới góc nhìn của chuyên viên Tin học 23 24 6
  7. Cuộc khủng hoảng phần mềm Cuộc khủng hoảng phần mềm  Số lượng các phần m ềm tăng vọt (do sự phát triển của  Một số kết luận: phần cứng: tăng khả năng, giá thành hạ)  Việc tăng vọt số lượng phần m ềm là điều hợp lý và sẽ còn tiếp diễn  Có quá nhiều khuyết điểm trong các phần m ềm được  Các khuyết điểm của phần m ềm có nguồn gốc chính dùng trong xã hội: từ phương pháp, cách thức và quy trình tiến hành Thực hiện không đúng yêu cầu (tính toán sai, không  xây dựng phần m ềm : ổn định…)  Cảm tính: m ỗi người theo m ột phương pháp riêng Thời gian bảo trì nâng cấp quá lâu, chi phí cao, hiệu   Thô sơ, đơn giản: chỉ tập trung vào việc lập trình quả thấp mà ít quan tâm đến các công việc cần làm khác Khó sử dụng, Thực hiện chậm (khảo sát hiện trạng, phân tích yêu cầu, thiết kế…)  Không chuyển đổi dữ liệu giữa các phần m ềm  Thủ công: còn thiếu các công cụ hỗ trợ quy trình  phát triển …  25 26 Công nghệ phần mềm Công nghệ phần mềm  Các đối tượng nghiên cứu của Công nghệ phần m ềm :  Khái niệm : Quy trình công nghệ phần m ềm : Công nghệ phần m ềm là ngành khoa học nghiên cứu    Hệ thống các giai đoạn m à quá trình phát triển về việc xây dựng các phần m ềm có chất lượng cao phần m ềm phải trải qua, với mỗi giai đoạn cần xác trong thời gian và chi phí thực hiện hợp lý định rõ: Mục tiêu, kết quả nhận từ giai đoạn trước đó, Công nghệ phần mềm  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 Quy trình Phương pháp Công cụ thực hiện m ột giai đoạn nào đó trong quy trình phần m ềm 27 28 7
  8. Công nghệ phần mềm Qui trình Công nghệ phần mềm  Các đối tượng nghiên cứu của Công nghệ phần m ềm : Yêu cầu phần mềm 1 Công cụ và Môi trường phát triển phần m ềm : 4  Phân tích 3 2  Hệ thống các phần m ềm trợ giúp trong lĩnh vực Phân tích xây dựng phần m ềm T hiết kế T hiết kế  Hỗ trợ các chuyên viên tin học trong các bước xây Lập trình T hiết kế dựng phần m ềm theo m ột phương pháp nào đó Lập trình Lập trình với m ột quy trình được chọn trước Lập trình Kiểm tra Phần mềm 29 30 Qui trình Công nghệ phần mềm Quy trình thác nước Các hoạt động Khảo sát trong thế giới thực  Phân tích: Mô tả m ức phát thảo các thành phần của Hiện trạng Các yêu cầu phần m ềm (đã có yêu cầu) Xác định Yêu cầu  Thiết kế: Mô tả mức chi tiết các thành phần của phần Mô hình Thế giới thực Phân tích m ềm (đã phát thảo) Mô hình phần mềm  Lập trình: Thực hiện các thành phần của phần m ềm (đã Thiết kế thiết kế) Phần mềm Cài đặt Phần mềm  Kiểm tra: kiểm chứng các thành phần của phần m ềm (đã “chất lượng” Kiểm chứng thực hiện) Triển khai Waterfall 31 32 8
  9. Quy trình Prototype Quy trình thác nước cải tiến Khảo sát Hiện trạng Xác định yêu cầu Xác định Yêu cầu “Thiết kế Phân tích nhanh” Xây dựng Thiết kế Prototype Cài đặt Đánh giá và xác định rõ yêu cầu Kiểm chứng Phát triển phần mềm Triển khai 33 34 Quy trình xoắn ốc Bài tập Lập kế hoạch 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 Tiếp xúc Khách hàng là số thực, n là số nguyên không âm), theo qui tắc tính đạo hàm Q(x) = P’(x) = n.a.xn-1 2. Viết chương trình giải phương trình bậc 2 Đánh giá Phân tích rủi ro của khách hàng 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ết cô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 Phân tích, thiết kế thẳng d Xây dựng và triển khai 35 36 9
  10. 37 10
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2