Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 227 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
227
Dung lượng
2,64 MB
Nội dung
Trường Đại Học Bách Khoa Tp. Hồ Chí Minh Khoa Công Nghệ Thông Tin Môn học CÔNG NGHỆ PHẦN MỀM - Trang 1 - Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần M ềm GIỚI THIỆU MÔN HỌC Đặ c đi ểm Ma õ số: 501095 Số tín chỉ: 2 Phân phối giờ: 2(2.1.4) Mô n họ c trước: Toán Ti n Học (501302) Tó m tắt nội dung Các khái niệm cơ bả n củ a Cô ng Nghệ Phần Mềm: các mo â hình pha ùt triển phần mềm, phân tích yêu cầu, thiết k ế, k iểm tra… 2 trường phái c hính: c ó cấu trúc (cổ đi ển) & hướ ng đối tượng Chuẩ n UML v à v iệc áp dụ ng n ó trong phương pháp hướng đối tượng Thực hành tại phòng Lab: là m quen với co âng cu ï Rational Rose - Trang 2 - Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mề m GIỚI THIỆU MÔN HỌC (t.t) Tài li ệu tham khảo [1] Software Engineering - A practitioner’s a pproach, R.S. Pressman, McGraw-Hill, 1997 [2] OMG Unified Modeling La nguage Specification, version 1.3, Object Management Group (www.omg.org), 1999 [3]UML Toolkit, Hans-Erik Eriksson & Magnus Penker, 1998 [4] Object-Oriented Software Engineering, A U se-Case Driven Approach, I. Jacobson, ACM Press/Addison-Wesley, 199 2 [5] Object-Oriented Analysis and Design with App lications, G. Booch, The Benjamin Cummings Pub lishing Company, 1994 - Trang 3 - Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm GIỚI THIỆU MÔN HỌC (t.t) Hình thức đánh giá Thi g iữa kỳ: trắc nghiệm kho âng s ử dụng tài liệu , chiếm 20 % kết quả cuo ái c ùng Thi cu ối kỳ: trắc nghiệm không sử dụng tài liệu , chiếm 80 % kết quả cuo ái c ùng - Trang 4 - Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm ĐỀ CƯƠNG Chương 1 : Giới thiệu về Công Nghệ Phần Mềm Chương 2 : Phân tích yêu cầu theo phương pháp cổ điển Chương 3 : Các khái niệm cơ bản của mô hình hướng đối tượng Chương 4 : Mô hình nghiệp vụ và thu thập yêu cầu Chương 5 : Phân tích yêu cầu hướng đối tượng Chương 6 : Cơ sở của thiết kế phần mềm và phương pháp thiết kế cổ điển Chương 7 : Thiết kế hướng đối tượng Chương 8 : Hiện thực và triển khai hệ thống Chương 9 : Kỹ thuật kiểm tra phần mềm Chương 10 : Chiến thuật kiểm tra phần mềm - Trang 5 - Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm Trường Đại Học Bách Khoa Tp. Hồ Chí Minh Khoa Công Nghệ Thông Tin Chương 1 GIỚI THIỆU VỀ CÔNG NGHỆ PHẦN MỀM ✦ Một số khái niệm ✦ Các mô hình phát triển phần mềm - Trang 6 - Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới thiệu về CNPM NỘI DUNG 1.1. Một số khái niệm 1.1.1. Khủng hoảng phần mềm 1.1.2. Đònh nghóa 1.1.3. Chu trình (process), phương pháp (method), công cụ (tool) 1.1.4. Một cách nhìn tổng quan về công nghệ phần mềm 1.1.5. Mô hình CMM 1.2. Các mô hình phát triển phần mềm 1.2.1. Mô hình tuần tự tuyến tính 1.2.2. Mô hình prototype 1.2.3. Mô hình xoắn ốc 1.2.4. Mô hình tăng dần 1.2.3. Mô hình RAD - Trang 7 - Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới thiệu về CNPM KHỦNG HOẢNG PHẦN MỀM Phần me àm được viết ngay t ừ khi xuất hiện các h ệ máy tính và n gôn ngữ lậ ïp trình đầu tiên Trên thực tế s ản xuất phầ n m ềm không đa ùp ứng kòp yêu ca àu của người s ử dụng - Trang 8 - Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới th iệu về CNPM KHỦNG HOẢNG PHẦN MỀM (t.t) Cá c dữ liệu quan sát đươ ïc Cứ 6 đe à a ùn t riển khai thì có 2 bò huỷ bỏ Trung bình th ời gian thực hiện th ực t ế bò kéo da øi 50 % (cá biệt 200- 300%) Cá c đe à án lớn d ễ thất bại 3/4 ca ùc hệ thống lớn có lỗi khi thực thi Qua ù trình phân tích ye âu cầu (5 % co âng sức): đe å lạ i 55 % lo ãi, c ó 18 % phát hiện được Qua ù trình thiết kế (25 % công sức): đ ể lại 30 % lo ãi, co ù 10 % p hát h iện được Qua ù trình mã hoá, kiểm tra và bảo trì: để lại 15 % lỗi, có 72 % phát hiện được - Trang 9 - Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới thiệu về CNPM KHỦNG HOẢNG PHẦN MỀM (t.t) Nguyê n nh ân Phát triển phầ n mềm giống như một nghệ thuật, chưa được xem như một ngành khoa h ọc Qua ù trình phát triển p hần m ềm chưa được thống nhất Phải viết lạ i s/w mỗi khi có s ự thay đổi về ngo ân ngữ , h/w hoặc o/s Chưa đạ t đượ c 1 chuẩn cho việc đo lư ờng hiệu su ất và sản phẩm Đo ä p hức ta ïp của phần me àm qua ù cao đố i v ới 1 “kie án t rúc sư” Kỹ thuật đặc tả đe å la ïi s ự nhập nh ằng trong cá c ye âu cầu pha àn m ềm Làm việ c nhóm kho âng đu ùng kỷ lu ật g ây ra các lỗi - Trang 10 - Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới thiệu về CNPM KHỦNG HOẢNG PHẦN MỀM (t.t) Hướng tới công nghệ sản xuất phần mềm chuyên nghiệp product ion cr aft science commercialization professional engineering - Trang 11 - Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới thiệu về CNPM ĐỊNH NGHĨA Đònh nghóa cổ điển (của Fritz Bauer) Công Nghệ Phần Mềm là sự th iết lập và s ử dụng ca ùc nguyên tắc khoa học nha èm mu ïc đích tạo ra ca ùc phần m ềm một cách kinh tế mà cá c phần mềm đo ù hoạt độ ng h iệu quả và tin cậy trên các m áy tính. - Trang 12 - Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1 : Giới thiệu về CNPM ĐỊNH NGHĨA (t.t) Đònh nghóa khác: Công Nghệ Phần Mềm Là c ác quy trình đúng k ỷ luật v à có đònh lượng được áp dụng cho s ự phát triển, thực thi và bảo trì c ác hệ thố ng thiên về phầ n mềm Tập trung vào quy trình, s ự đo lư ờng, sản phẩm, tính đú ng thời gian v à chất lươ ïng - Trang 13 - Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới thiệu về CNPM CHU TRÌNH [...]...Chu trình (process) đònh nghóa một bộ khung các tiêu chuẩn phải được thiết lập để triển khai công nghệ phần mềm - Trang 14 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới thiệu về CNPM PHƯƠNG PHÁP Phương pháp (method) chỉ ra cách thực hiện những công việc cụ thể (“how to”): phân tích yêu cầu thiết kế xây dựng chương trình kiểm tra sửa lỗi - Trang 15 Khoa Công Nghệ Thông Tin - Môn Công. .. Competitiveness (Level 1) - Trang 18 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới th iệu về CNPM CÁC MÔ HÌNH PHÁT TRIỂN PHẦN MỀM Mô hình tuần tự tuyến tính: cổ điển Mô hình prototyping: prototype Mô hình xoắn ốc: đánh giá rủi ro Mô hình tăng dần: các bước lặp Mô hình RAD: thời gian phát triển ngắn - Trang 19 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới thiệu về CNPM... tra sửa lỗi - Trang 15 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới thiệu về CNPM CÔNG CỤ Công cụ (tool) cung cấp các hỗ trợ tự động hay bán tự động đối với chu trình và phương pháp Các công cụ được tích hợp tạo thành CASE (Computer Aided Software Engineering) - Trang 16 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới t hiệu về CNPM MỘT CÁCH NHÌN TỔNG QUAN... án - Trang 23 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới thiệu về CNPM 1 2 Phân tích yêu cầ u Phát t MÔ HÌNH TĂNG riển module T ích hợp DẦN 3 4 Kiểm tra hệ thống hiết kế kiến trúc - Trang 24 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: G iới thiệu về CNPM MÔ HÌNH TĂNG DẦN (t.t) Các bước (iteration) đầu tập trung vào yêu cầu của phần mềm và thiết lập một kiến... Requirement alysis Coding An Mô hình phát triển phần mềm đầu tiên Các công việc tiếp nối nhau một cách tuần tự Đặt nền móng cho các phương pháp phân tích, thiết kế, kiểm Test tra… - Trang 20 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới thiệu về CNPM MÔ HÌNH TUẦN TỰ TUYẾN TÍNH (t.t) Bộc lộ một số khuyết điểm Bản chất của phát triển phần mềm là quá trình lặp đi lặp lại chứ không phải tuần... năng xử lý - Trang 33 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 2: P hân tích yêu cầu theo pp cổ điển LƯC ĐỒ DÒNG CHẢY DỮ LIỆU (t.t) DFD được xây dựng qua nhiều mức khác nhau: mức 0, 1, 2… DFD mức sau chi tiết hơn mức trước Process Specification (PSPEC) bổ sung cho DFD Tính liên tục của dòng dữ liệu - Trang 34 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 2: P hân tích... điện thoại - Trang 39 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 2 : Phân tích yêu cầu theo pp cổ điển VIẾT PSPEC Có thể viết PSPEC bằng một trong 2 cách cảm ứng Ngôn ngữ tự nhiên (tương tự processing narrative) Ngôn ngữ PDL - là ngôn ngữ giả giúp thể hiện kiến trúc và Quay số giao tiếp của chức năng xử lý - Trang 40 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 2: P hân tích... các phần t ử dữ liệu - Trang 43 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 2: P hân tích yêu cầu theo pp cổ điển Trường Đại Học Bách Khoa Tp Hồ Chí Minh Khoa Công Nghệ Thông Tin Chương 3 CÁC KHÁI NIỆM CƠ BẢN CỦA MÔ HÌNH HƯỚNG ĐỐI TƯNG ✦ Lớp và đối tượng, sự đóng bao ✦ Thuộc tính, tác vụ, thông điệp ✦ Bao gộp, thừa kế ✦ Tính đa hình, tính vónh cửu n Mềm đối tượng - Trang 44 Khoa Công Nghệ. .. tuyến tính có thời gian phát triển rất ngắn Sử dụng các thành phần có sẵn càng nhiều càng tốt Sử dụng công cụ lập trình ở dạng tự động sinh mã chứ không phải các ngôn ngữ truyền thống Testing & T - Trang 26 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1 : Giới thiệu về CNPM Trường Đại Học Bách Khoa Tp Hồ Chí Minh Khoa Công Nghệ Thông Tin Chương 2 PHÂN TÍCH PHƯƠNG YÊU CẦU PHÁP CỔ THEO... Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 2: Phân tích yêu cầu theo pp cổ điển MÔ HÌNH CHỨC NĂNG VÀ DÒNG THÔNG TIN Mô tả dòng thông tin di chuyển (flow) xuyên qua các hệ thống thiên về phần mềm Thông tin input cũng như output có thể ở nhiều dạng khác nhau: file, bàn phím, trên mạng, từ thiết bò, kết xuất ra màn hình và máy in… Các giải thuật xử lý cũng rất đa dạng - Trang 31 Khoa Công Nghệ . Trang 10 - Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới thiệu về CNPM KHỦNG HOẢNG PHẦN MỀM (t.t) Hướng tới công nghệ sản xuất phần mềm chuyên nghiệp product ion cr aft science commercialization professional engineering -. Bách Khoa Tp. Hồ Chí Minh Khoa Công Nghệ Thông Tin Môn học CÔNG NGHỆ PHẦN MỀM - Trang 1 - Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần M ềm GIỚI THIỆU MÔN HỌC Đặ c. thống Chương 9 : Kỹ thuật kiểm tra phần mềm Chương 10 : Chiến thuật kiểm tra phần mềm - Trang 5 - Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm Trường Đại Học Bách Khoa