Bài giảng Công nghệ phần mềm - Giới thiệu tổng quan về công nghệ phần mềm

Các khái niệm

Chương trình máy tính: Các chỉ thị để máy tính làm việc.

Phần mềm: Các chương trình hỗ trợ thực hiện công iệc theo lĩnh vực chuyên ngành.

Nhiệm vụ chính yếu của phần mềm: Thực hiện các công việc dễ dàng và nhanh chóng.

Hoạt động của phần mềm: Mô phỏng lại các họat động của thế giới thực.

Quá trình sử dụng một phần mềm: Thực hiện các công việc trên máy tính để hoàn tất công việc.

Lớp phần mềm: Các phần mềm cùng lĩnh vực họat động

Phân loại:

Nhóm 1: Phần mềm hệ thống.

Đảm nhận công việc tích hợp và điều khiển các thiết bị phần cứng,

Tạo ra môi trường thuận lợi để các phần mềm khác và người sử dụng thao tác trên đó

Nhóm 2: Phần mềm ứng dụng:

Được dùng để thực hiện công việc xác định,

Một chương trình đơn giản (như chương trình xem ảnh)

Nhóm các chương trình cùng tương tác với nhau để thực hiện một công vịệc, vd, Microsoft office.

 

Bài giảng Công nghệ phần mềm - Giới thiệu tổng quan về công nghệ phần mềm trang 1

Trang 1

Bài giảng Công nghệ phần mềm - Giới thiệu tổng quan về công nghệ phần mềm trang 2

Trang 2

Bài giảng Công nghệ phần mềm - Giới thiệu tổng quan về công nghệ phần mềm trang 3

Trang 3

Bài giảng Công nghệ phần mềm - Giới thiệu tổng quan về công nghệ phần mềm trang 4

Trang 4

Bài giảng Công nghệ phần mềm - Giới thiệu tổng quan về công nghệ phần mềm trang 5

Trang 5

Bài giảng Công nghệ phần mềm - Giới thiệu tổng quan về công nghệ phần mềm trang 6

Trang 6

Bài giảng Công nghệ phần mềm - Giới thiệu tổng quan về công nghệ phần mềm trang 7

Trang 7

Bài giảng Công nghệ phần mềm - Giới thiệu tổng quan về công nghệ phần mềm trang 8

Trang 8

Bài giảng Công nghệ phần mềm - Giới thiệu tổng quan về công nghệ phần mềm trang 9

Trang 9

Bài giảng Công nghệ phần mềm - Giới thiệu tổng quan về công nghệ phần mềm trang 10

Trang 10

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

pptx 77 trang duykhanh 10900
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Công nghệ phần mềm - Giới thiệu tổng quan về 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: Bài giảng Công nghệ phần mềm - Giới thiệu tổng quan về công nghệ phần mềm

Bài giảng Công nghệ phần mềm - Giới thiệu tổng quan về công nghệ phần mềm
NH CÔNG NGHỆ PHẦN MỀM 
Có nhiều dạng mô hình khác nhau để triển khai các bước trong quá trình phát triển phần mềm. 
Mỗi mô hình sẽ chia vòng đời của phần mềm khác nhau, để đảm bảo quy trình phát triển thành công. 
Mô hình Thác nước 
Mô hình Bản mẫu Phần mềm 
Mô hình Xoắn ốc 
28 
1.3. MỘT SỐ MÔ HÌNH TRIỂN KHAI 
Chia quá trình phát triển PM thành những giai đoạn tuần tự nối tiếp. Kết quả của giai đoạn trước là đầu vào cho giai đoạn kế tiếp 
Mô hình thác nước có 5 giai đoạn 
29 
MÔ HÌNH THÁC N Ư ỚC 
Xác định yêu cầu : Tiến hành khi có nhu cầu xây dựng PM 
Mục tiêu : Xác định chính xác các yêu cầu của P.Mềm. 
Kết quả nhận : Thông tin về hoạt động của thế giới thực. 
Kết quả chuyển giao : Các yêu cầu (công việc sẽ thực hiện trên máy tính) cùng với các thông tin mô tả chi tiết về các yêu cầu (cách thức thực hiện) 
30 
MÔ HÌNH THÁC N Ư ỚC 
Phân tích : Tiến hành ngay sau việc xác định yêu cầu. 
Mục tiêu : Mô tả yêu cầu bằng mô hình 
Kết quả nhận : Các yêu cầu cùng thông tin liên quan. 
Kết quả chuyển giao : 
Mô hình xử lý (các công việc và Quan hệ) 
Mô hình dữ liệu (các thông tin được sử dụng và QH) 
Mô hình khác (không gian, thời gian, con người) 
31 
MÔ HÌNH THÁC N Ư ỚC 
Thiết kế : Tiến hành sau khi kết thúc việc phân tích. 
Mục tiêu: Mô tả các thành phần của phần mềm. 
Kết quả nhận: Mô hình thế giới thực 
Kết quả chuyển giao: 
Mô tả thành phần giao diện: Các hàm/CTDL 
Mô tả thành phần xử lý: Các hàm kiểm tra xử lý 
Mô tả thành phần dữ liệu: Các hàm đọc/ghi... 
32 
MÔ HÌNH THÁC N Ư ỚC 
Hiện thực: Tiến hành ngay sau kết thúc việc thiết kế. 
Mục tiêu: Tạo lập phần mềm theo yêu cầu. 
Kết quả nhận: Mô hình phần mềm. 
Kết quả chuyển giao: Chương trình nguồn của phần mềm với CTDL tương ứng và chương trình thực hiện. 
33 
MÔ HÌNH THÁC N Ư ỚC 
Kiểm thử: Tiến hành sau kết quả hiện thực (lập trình). 
Mục tiêu: Tăng độ tin cậy của phần mềm 
Kết quả nhận: các yêu cầu, mô hình phần mềm, 
Kết quả chuyển giao: Phần mềm có độ tin cậy cao. 
34 
MÔ HÌNH THÁC N Ư ỚC 
Bảo trì: Công việc của giai đoạn bao gồm việc cài đặt và vận hành phần mềm trong thực tế. 
Mục tiêu: Đảm bảo phần mềm vận hành tốt 
Kết quả nhận: Phần mềm đã hoàn thành 
Kết quả chuyển giao : Các phản ánh của khách hàng trong quá trình sử dụng. 
35 
MÔ HÌNH THÁC N Ư ỚC 
Nhận xét: 
Dễ phân chia quá trình xây dựng PM thành những giai đoạn độc lập. 
Các dự án lớn ít khi tuân theo dòng chảy tuần tự của mô hình (cần lặp lại các bước để nâng chất lượng, khách hàng ít tuyên bố hết các yêu cầu trong giai đoạn phân tích). 
Rất khó thay đổi khi đã thực hiện xong một giai đoạn, khó thay đổi các yêu cầu theo ý khách hàng. 
Phương pháp này chỉ thích hợp đã hiểu rất rõ các yêu cầu của khách hàng, những thay đổi sẽ được giới hạn 
36 
MÔ HÌNH THÁC NƢỚC 
Mô hình thác n ư ớc cải tiến : Mô hình thác nước có thể được cải tiến bằng cách cho phép quay lui khi phát hiện lỗi trong giai đoạn phía trướ c. 
37 
MÔ HÌNH THÁC NỨỚC 
Tương tự như mô hình thác nước nh ư ng bổ sung thêm giai đoạn thực hiện phần mềm mẫu . 
Có thể tiến hành lặp lại mà không nhất thiết theo trình tự nhất định. 
38 
MÔ HÌNH BẢN MẪU 
S au giai đoạn Xác định yêu cầu phân tích , đưa ra một bản thiết kế sơ bộ 
Tiếp theo , tiến hành hiện thực bản mẫu đầu tiên và chuyển cho người sử dụng. 
Bản mẫu này chỉ nhằm để mô tả cách thức phần mềm hoạt động và tương tác với người dùng 
39 
MÔ HÌNH BẢN MẪU 
Người dùng sau khi xem xét bản mẫu sẽ phản hồi thông tin cần thiết lại cho nhóm phát triển. 
Nếu người dùng đồng ý với bản mẫu, nhóm phát triển sẽ tiến hành hiện thực. Ngược lại, phải quay lại giai đoạn xác định yêu cầu. 
Lặp lại liên tục cho đến khi người sử dụng đồng ý với bản mẫu do nhà phát triển đưa ra. 
40 
MÔ HÌNH BẢN MẪU 
Nhận xét 
Là một hướng tiếp cận tốt khi các yêu cầu chưa rõ ràng. 
Tính cấu trúc không cao dễ mất tin tưởng của khách hàng, và thiếu tầm nhìn của cả quy trình; 
Chỉ nên áp dụng với những hệ thống có tương tác ở mức độ nhỏ/vừa; một phần của hệ thống lớn; hoặc có thời gian chu kỳ tồn tại ngắn 
41 
MÔ HÌNH BẢN MẪU 
Là sự kết hợp của mô hình bản mẫu thiết kế và mô hình thác nước được lặp lại nhiều lần. 
42 
MÔ HÌNH XOẮN ỐC 
Ở lần lặp tiếp theo, hệ thống sẽ được tìm hiểu và xây dựng hoàn thiện hơn ở lần lặp trước đó 
Yêu cầu của người dùng ngày càng rõ ràng hơn, và các bản mẫu phần mềm ngày một hoàn thiện hơn. 
Ngoài ra, ở cuối mỗi lần lặp sẽ có thêm công đoạn phân tích mức độ rủi ro để quyết định xem có nên đi tiếp theo hướng này hay không. 
Mô hình này phù hợp với các hệ thống phần mềm lớn do có khả năng kiểm soát rủi ro ở từng bước tiến hóa. 
43 
MÔ HÌNH XOẮN ỐC 
Khái niệm 
Có thể áp dụng nhiều phương pháp xây dựng phần mềm . Mỗi phương pháp c ó 
Ư u khuyết điểm riêng, phù hợp riêng từng loại phần mềm. 
Các hướng dẫn cụ thể những công việc cần thực hiện trong từng giai đoạn của quá trình phát triển phần mềm. 
Quy định những cách thức khác nhau để trình bày các kết quả thu được; để các thành viên tham gia có thể trao đổi thông tin trong việc xây dựng PM. 
44 
1.4. CÁC PH ƯƠN G PHÁP XÂY DỰNG P.MỀM 
Phân loại 
Có thể chia phương pháp xây dựng P.Mềm thành 2 nhóm : 
Theo cấu trúc của ch ư ơng trình : Phương pháp hướng chức năng; hướng dữ liệu; hướng đối tượng 
Theo cách thức tổ chức quản lý : Xây dựng phương án, Tổ chức nhân sự, Ước lượng rủi ro , chi phí, l ập kế hoạch và theo dõi quá trình triển khai. 
45 
1.4. CÁC PH Ư ƠNG PHÁP XÂY DỰNG P.MỀM 
Cách tiếp cận từ trên xuống (top-down) 
Cách giải quyết vấn đề theo hướng phân tích. 
Bắt đầu với những thành phần chính của hệ thống . 
Sau đó, được phân tích thành các thành phần chi tiết và cụ thể hơn . 
Quá trình phân tích sẽ kết thúc khi kết quả thu được có mức độ phức tạp đúng với ý muốn. 
46 
1.4. CÁC PH Ư ƠNG PHÁP XÂY DỰNG P.MỀM 
Cách tiếp cận từ d ư ới lên (bottom-up) 
Cách giải quyết vấn đề theo hướng tổng hợp (ngược lại với phương pháp từ trên xuống). 
Tiến hành xây dựng những thành phần chi tiết dự tính là sẽ có trong hệ thống. 
Sau đó, sẽ kết hợp các thành phần chi tiết này lại với nhau để tạo nên các thành phần chính. 
47 
1.4. CÁC PH Ư ƠNG PHÁP XÂY DỰNG P.MỀM 
P h ư ơng pháp h ư ớng chức năng 
Thực hiện dựa trên các chức năng mà hệ thống cần thực hiện, chú trọng đến thành phần xử lý với các thao tác tính toán, phát sinh, biến đổi  
Phương pháp chung để giải quyết vấn đề là áp dụng nguyên lý “chia để trị”. 
C hia các công việc lớn t hành các công việc nhỏ hơn để ta có thể tiến hành xây dựng hoàn chỉnh . 
48 
1.4. CÁC PH Ư ƠNG PHÁP XÂY DỰNG P.MỀM 
P h ư ơng pháp h ư ớng chức năng 
Chú trọng cách giải quyết vấn đề nhưng không có khả năng che dấu các thông tin trạng thái. 
Dẫn đến các chức năng trong hệ thống sẽ không tương thích khi thực hiện thay đổi các thông tin. 
Cách tiếp cận này chỉ thích hợp khi trong hệ thống có rất ít thông tin cần phải quản lý và chia sẻ giữa các chức năng với nhau. 
49 
1.4. CÁC PH Ư ƠNG PHÁP XÂY DỰNG P.MỀM 
P h ư ơng pháp h ư ớng chức năng 
Để mô hình hóa cách xử lý thông tin, ta dùng l ư ợc đồ dòng dữ liệu (DFD, Data Flow Diagrams) 
50 
1.4. CÁC PH Ư ƠNG PHÁP XÂY DỰNG P.MỀM 
Ph ư ơng pháp h ư ớng dữ liệu 
Phương pháp Hướng DL chú trọng nhiều đến thành phần DL cần phải xử lý là tổ chức dữ liệu, khối lượng lưu trữ, tốc độ truy xuất  
Bắt đầu với việc thiết kế các CTDL, sau đó mới tiến hành thiết kết các thao tác để vận hành. 
Chỉ thích hợp cho loại phần mềm có chức năng chính là lưu trữ và thao tác trên các loại dữ liệu. 
Hạn chế là không quan tâm đến các chức năng mà hệ thống cần phải đáp ứng, có khả năng không có đầy đủ các chức năng cần thiết 
51 
1.4. CÁC PH Ư ƠNG PHÁP XÂY DỰNG P.MỀM 
Ph ư ơng pháp h ư ớng dữ liệu 
Kết quả thu được sau khi thiết kế theo phương pháp hướng dữ liệu là mô hình thực thể kết hợp (Entity Relationship Diagram, ERD) 
52 
1.4. CÁC PH Ư ƠNG PHÁP XÂY DỰNG P.MỀM 
Ph ương pháp h ư ớng đối t ư ợng 
Là sự kết hợp của PP Hướng Dữ liệu và PP Hướng Chức năng . 
Chú trọng đến cả thành phần dữ liệu và chức năng của hệ thống . 
Một hệ thống phần mềm là tập hợp các đối tượng có khả năng tương tác với nhau. Các đối tượng chính là những sự vật và hiện tượng vật lý. 
Mỗi đối tượng có dữ liệu riêng và các thao tác mà đối tượng có thể thực hiện 
53 
1.4. CÁC PH Ư ƠNG PHÁP XÂY DỰNG P.MỀM 
Các đối tượng giao tiếp nhau bằng cách gửi các thông điệp . các thông điệp xử lý được gọi là giao diện của đối tượng. 
Khi đó mọi thao tác liên quan đến các đối tượng được phải thực hiện thông qua giao diện của đối tượng . 
Điều này giúp ta đảm bảo rằng các thông tin bên trong các đối tượng đưọc bảo vệ một cách chắc chắn 
54 
1.4. CÁC PH Ư ƠNG PHÁP XÂY DỰNG P.MỀM 
55 
1.4. CÁC PH Ư ƠNG PHÁP XÂY DỰNG P.MỀM 
Mở đầu 
Là các phần mềm hỗ trợ trong quá trình xây dựng PM ( CASE - Computer Aided Software Engineering) . 
Hỗ trợ cho một/một số giai đoạn gọi là môi tr ư ờng phát triển phần mềm ( SDE, Software Development Environment ), gồm 2 hình thức chính: 
Cho phép lưu / cập nhật kết quả chuyển giao với phương pháp nào đó. 
Phát sinh ra kết quả chuyển giao cho giao đoạn sau. 
56 
1.5. C.CỤ & M.TR Ư ỜNG PHÁT TRIỂN P.MỀM 
Phần mềm hỗ trợ phân tích 
Soạn thảo các mô hình khái niệm, Ánh xạ vào mô hình luận lý , các phần mềm thông dụng: WinA&D, Analyst Pro, Rational Rose, Enterprise Architect 
Phần mềm hỗ trợ thiết kế 
Soạn thảo các mô hình luận lý, Ánh xạ vào mô hình vật lý, các phần mềm thông dụng: Power Designer, Oracle Designer, Rational Rose, Enterprise Architect 
57 
1.5. C.CỤ & M.TR Ư ỜNG PHÁT TRIỂN P.MỀM 
Phần mềm hỗ trợ lập trình 
Quản lý các phiên bản (dữ liệu, chương trình nguồn, giao diện), biên dịch : Visual Studio Net (Basic, C#, C++), Borland  
Phần mềm hỗ trợ kiểm chứng: 
Phát sinh tự động các bộ dữ liệu thử nghiệm, phát hiện lỗi: WinRuner, QuickTestPro  
58 
1.5. C.CỤ & M.TR Ư ỜNG PHÁT TRIỂN P.MỀM 
Phần mềm hỗ trợ tổ chức, quản lý việc triển khai 
Phần mềm xây dựng ph ư ơng án: 
Lập kế hoạch dự án , dự đoán rủi ro, tính chi phí : MS Project, Visio, Rational Rose  
Phần mềm lập kế hoạch , x ác định các công việc, phân công, lập lịch biểu, theo dõi thực hiện : MS Project, Visio 
59 
1.5. C.CỤ & M.TR Ư ỜNG PHÁT TRIỂN P.MỀM 
Quy trình xây dựng phần mềm được thực hiện trong một môi trường chuyên nghiệp và đòi hỏi tuân thủ các nguyên tắc một cách chính xác . 
Những kỹ sư phần mềm phải xem công việc là trách nhiệm to lớn, chứ không đơn thuần chỉ là việc ứng dụng kỹ thuật . 
Kỹ sư phần mềm phải ứng xử trung thực và chuyên nghiệp và đúng quy tắc . 
60 
1.6. YÊU CẦU ĐỐI VỚI KỸ S Ư PHẦN MỀM 
Các nguyên tắc mà kỹ sư PM phải thực hiện : 
Lòng tin : Tạo được sự tin cẩn từ phía nhân viên và khách hàng. 
Năng lực : Không nên trình bày sai khả năng của mình, không nên nhận những công việc vượt quá khả năng. 
Các quyền về tài sản trí tuệ : Nên quan tâm về tài sản trí tuệ, bằng sáng chế, quyền tác giả . 
Không l ạm dụng máy tính : Không nên sử dụng các kỹ năng của mình để gây ảnh hưởng tới người khác như: phát tán virus, chơi Game... 
61 
1.6. YÊU CẦU ĐỐI VỚI KỸ SƢ PHẦN MỀM 
Những khái niệm: 
Phần mềm (khái niệm, phân loại, kiến trúc) 
Chất lượng phần mềm (tính đúng đắn, tính tiến hóa, tính hiệu quả, tính tiện dụng, tính tương thích, tính tái sử dụng) 
CN phần mềm (nguồn gốc, định nghĩa ) 
Quy trình CNPM : Bước xác định; Bước phát triển; Bước bảo trì 
Một số mô hình triển khai xây dựng phần mềm (Thác nước, Bản mẫu Phần mềm, Xoắn ốc) 
62 
TÓM TẮT 
Các phương pháp xây dựng phần mềm: 
Tổng quan (Khái niệm, Phân loại), 
Phương pháp xây dựng phần mềm (Cách tiếp cận, tiến hành) 
Công cụ & môi trường phát triển phần mềm 
Phần mềm hỗ trợ thực hiện các giai đoạn (phân tích, thiết kế, lập trình, kiểm chứng) 
Phần mềm hỗ trợ tổ chức, quản lý việc triển khai (Xây dựng phương án, Lập kế hoạch) 
63 
TÓM TẮT 
Yêu cầu đối với kỹ sư phần mềm : Sự tin cẩn, năng lực, quyền tài sản trí tuệ. 
64 
TÓM TẮT 
1. Phụ lục A trang 170 
2. Phụ lục B trang 179 
65 
BÀI TẬP 
1/. Công nghệ phần mềm có từ tiếng Anh là 
A/. software engineering 
B/. engineering software 
C/. software testing 
D/. software developer 
66 
Trắc nghiệm 
2/. Mục tiêu của công nghệ phần mềm là để: 
A/. Thực thi phần cứng tốt hơn 
B/. Chỉnh sửa lỗi phần mềm 
C/. Có thể sử dụng lại phần mềm 
D/. Tạo sản phẩm phần mềm chất lượng hơn 
67 
Trắc nghiệm 
3/. Theo thống kê từ những thách thức đối với CNPM thì lỗi nhiều nhất là do: 
A/. Kiểm tra và bảo trì 
B/. Thiết kế 
C/. Lập trình 
D/. Phân tích yêu cầu 
68 
Trắc nghiệm 
4/. Kỹ sư phần mềm không cần 
A/. Kiến thức về phân tích thiết kế hệ thống. 
B/. Kiến thức về cơ sở dữ liệu. 
C/. Lập trình thành thạo bằng một ngôn ngữ lập trình. 
D/. Kinh nghiệm quản lý dự án phần mềm. 
69 
Trắc nghiệm 
5/. SDLC là viết tắt của: 
Spiral Development Linear Cycle 
Software Development Life Cycle 
Software Development Line Cycle 
Sequential Development Linear Cycle 
70 
Trắc nghiệm 
6/. Nếu yêu cầu là dễ hiểu và xác định được thì mô hình nào là thích hợp nhất để phát triển hệ thống: 
A. Mô hình thác nước (waterfall model) 
B. Mô hình bản mẫu (prototyping) 
C. Mô hình xoắn ốc (spiral model) 
D. Mô hình phát triển nhanh (RAD) 
71 
Trắc nghiệm 
7/. Hình ảnh minh họa sau thể hiện các hoạt động của mô hình phát triển phần mềm nào? 
Mô hình bản mẫu(prototyping) 
Mô hình thác nước (waterfall model) 
Mô hình xoắn ốc (spiral model) 
Mô hình phát triển nhanh (RAD) 
72 
Trắc nghiệm 
8/. Mô hình prototyping là: 
Mô hình rất thích hợp khi các yêu cẩu hệ thống được xác định rõ ràng 
Mô hình thường dùng khi khách hàng không thể xác định được yêu cầu rõ ràng 
Mô hỉnh tốt nhất cho những dự án có nhiều đội phát triển cùng tham gia 
Mô hình nhiều rủi ro nên ít khi tạo ra sản phẩm có giá trị 
73 
Trắc nghiệm 
9/. Hình ảnh minh họa sau thể hiện các hoạt động của mô hình phát triển phần mềm nào? 
Mô hình bản mẫu(prototyping) 
Mô hình thác nước (waterfall model) 
Mô hình xoắn ốc (spiral model) 
Mô hình phát triển nhanh (RAD) 
74 
Trắc nghiệm 
10/. Hình ảnh minh họa sau thể hiện các hoạt động của mô hình phát triển phần mềm nào? 
Mô hình bản mẫu(prototyping) 
Mô hình thác nước (waterfall model) 
Mô hình xoắn ốc (spiral model) 
Mô hình phát triển nhanh (RAD) 
75 
Trắc nghiệm 
11/. Mô hình phát triển phần mềm mà tiến trình tiến hoá vốn cặp đôi bản chất lặp của làm bản mẫu với các khía cạnh hệ thống và có kiểm soát của mô hình trình tự tuyến tính. Là mô hình phát triển phần mềm nào sau đây? 
Mô hình tăng trưởng (incremental model) 
Mô hình kĩ thuật thế hệ thứ tư (Fourth generation techniques - 4GT) 
Mô hình xoắn ốc (spiral model) 
Mô hình RAD (Rapid application development) 
76 
Trắc nghiệm 
12/. Phương pháp xây dựng phần mềm mà cách giải quyết vấn đề theo hướng phân tích, Bắt đầu với những thành phần chính của hệ thống., Sau đó, được phân tích thành các thành phần chi tiết và cụ thể hơn. 
Cách tiếp cận từ dưới lên 
Cách tiếp cận từ trên xuống 
Phướng pháp hướng đối tượng 
Phương pháp hướng dữ liệu 
77 
Trắc nghiệm 

File đính kèm:

  • pptxbai_giang_cong_nghe_phan_mem_chuong_1_gioi_thieu_tong_quan_v.pptx