Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 50 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
50
Dung lượng
614,22 KB
Nội dung
Bé m«n C«ng nghÖ phÇn mÒm- Khoa CNTT- §HCN Email: vynv@coltech.vnu.vn K ngh phn mm Software Engeneering B môn Công ngh phn mm – HCN 2 NguynVnV Ni dung Bài 2: K ngh phn mm ̈ §Þnh nghÜa vμ kh¸i niÖm ̈ LÞch sö ph¸t triÓn ̈ C¸c m« h×nh tiÕn tr×nh B môn Công ngh phn mm – HCN 3 NguynVnV TÀI LiU THAM KHO 1. Nguyn Vn V, Nguyn Vit Hà. Giáo trình k ngh phn mm. Nhà xut bn i hc Quc gia Hà ni, 2008 2. Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified Modeling language User Guid. Addison-Wesley, 1998. 3. M. Ould. Managing Software Quality and Business Risk, John Wiley and Sons, 1999. 4. Roger S.Pressman, Software Engineering, a Practitioner’s Approach. Fifth Edition, McGraw Hill, 2001. 5. Ian Sommerville, Software Engineering. Sixth Edition, Addison- Wasley, 2001. 6. Nguyn Vn V. Phân tích thit k h thng thông tin hin đi. Hng cu trúc và hng đi tng, NXB Thng kê, 2002, Hà Ni. B mụn Cụng ngh phn mm HCN 4 NguynVnV Các định nghĩa kỹnghệphầnmềm SE l thiết lập và sử dụng các nguyên lý công nghệ đúng đắn để đợc phầnmềm 1 cách kinh tế, vừa tin cậy vừa lm việc hiệu quả trên các máy thực ( Bauer [1969]) SE l nguyên lý kỹnghệ liên quan đến tất cả các mặt lý thuyết, phơng pháp và công cụ của phầnmềm ( Sommerville [1995]) Kỹnghệphầnmềm Software Engineering:SE B mụn Cụng ngh phn mm HCN 5 NguynVnV SE l bộ môn tích hợp cả qui trình, các phơng pháp, các công cụ để phát triển phầnmềm máy tính ( Pressman [1995]) Ba mt cơ bản ca kỹnghệphầnmềm l: 1. Quy trình/thủ tục 2. Phơng pháp 3. Công cụ Định nghĩa SE 1 ? 3 2 4 1 3 2 B mụn Cụng ngh phn mm HCN 6 NguynVnV Lịch sử của kỹnghệphầnmềm Đề xớng, hình thnh (70s) Các phơng pháp lập trình v cấu trúc dữ liệu Khái niệm về tính môđun Khái niệm sơ đồ khối, lập trình top-down Lập trình có cấu trúc (Dijkstra) phơng pháp chia môdun một chơng trình Trừu tợng hóa dữ liệu (Liskov) B mụn Cụng ngh phn mm HCN 7 NguynVnV Tăng trởng (nửa đầu 80s) ĩ Xuất hiện các phơng pháp phát triển hệ thống công nghệ CSDL (mô hình quan hệ) phân tích, thiết kế hớng cấu trúc (biểu đồ luồng, ) ĩ Các bộ công cụ phát triển công cụ trợ giúp phân tích, thiết kế bộ khởi tạo chơng trình, kiểm thử các ngôn ngữ bậc cao ĩ Bắt đầu quan tâm đến quản lý Các độ do phầnmềm Quản lý theo thống kê Lịch sử của kỹnghệphầnmềm B mụn Cụng ngh phn mm HCN 8 NguynVnV Lịch sử của kỹnghệphầnmềm Phát triển (từ giữa 80s) ĩHon thiện công nghệ cấu trúc, ra đời công nghệ đối tng Nhiều mô hình hớng cấu trúc triển khai, chuẩn hóa CASE hon thiện, đạt mức tự động hóa cao Ngôn ngữ thế hệ 4 ra đời (LIPS, PROLOG, ) Công nghệ hớng đối tợng bắt đầu phát triển: Quy trình RUP, UML, Các công cụ đầy đủ (ROSE, JIBULDER, ) Sử dụng lại chiếm vị trí quan trọng trong phát triển B mụn Cụng ngh phn mm HCN 9 NguynVnV Lịch sử của kỹnghệphầnmềm Phát triển (từ giữa 80s) ĩPhát triển công nghệ đối tợng Kho dữ liệu, CSDL đối tợng, đa phơng tiện Định hớng sử dụng lại: thnh phần, mẫu, Framework Công nghệ Web: web services ĩPhát triển các mô hình quản lý Chuẩn quản lý đợc công nhận (CMM, IS9000-03) Nhiều mô hình tổ chức lm phầnmềm đợc đề xuất Nhiều công cụ trợ giúp quản lý dự án hon thiện B môn Công ngh phn mm – HCN 10 NguynVnV C¸c yÕu tè c¬ b¶n cña - SE ̈ Tæng hîp: Kü nghÖ phÇn mÒm Ł Lμ mét qu¸ tr×nh kü nghÖ tÝch hîp: „ Thñ tôc (procedures) „ Ph−¬ng ph¸p (methods) „ C«ng cô (tools) Ł Nh»m t¹o ra phÇn mÒm hiÖu qu¶, víi c¸c giíi h¹n cho tr−íc [...]... phí của kỹ nghệphầnmềm Nguy nV nV 25 0 50 13 26 ct thi t k 75 23 phỏt tri n 100 38 ki m th tớch h p Phõn b chi phớ phỏt tri n (nói chung) 25 0 10 ct 50 60 phỏt tri n ti n húa 75 100 30 ki m th h th ng Chi phớ phỏt tri n ti n húa B mụn Cụng ngh ph n m m HCN 32 Chi phí của kỹ nghệphầnmềm Nguy nV nV 25 0 50 25 75 100 75 ti n húa h th ng phỏt tri n h th ng Chi phí hệ có vòng đời d i 25 0 8 ct 50 35... định Tiến hóa Phầnmềm 25 Tiến trình phầnmềm Nguy nV nV 1 Xác nh yêu c u (Requirements) Khó khăn h thống thực, mong đợi về hệ ph n m m Đặc tả yêu cầu phầnmềm đội phát triển KHCH HNG B mụn Cụng ngh ph n m m HCN 26 Tiến trình phầnmềm Nguy nV nV 2 Phát tri n ph n m m (Development) file.com ặc tả yêu cầu file.exe Ch c năng h th ng Ràng bu c h th ng đội phát triển Xác Hệ thống phầnmềm vận hành đúng... đội phát triển Hệ thống phầnmềm đ ợc tiến hóa Thẩm định B mụn Cụng ngh ph n m m HCN 29 Mô hình tiến trình phầnmềm Nguy nV nV Mô hình tiến trình (software process model) l cách biểu diễn trừu t ợng tiến trình phầnmềm theo cách nhìn cụ thể TI N TRèNH C TH Công vi c 1.1 Cụng vi c 1.1.1 Công vi c 1 Cụng vi c 1 .2 Công vi c 2 Cụng vi c 2. 1.1 Cụng vi c 2. 1 Giai o n 1 Giai o n 2 Giai o n 3 Mễ HèNH TI... kỹnghệphầnmềm Nguy nV nV ĩ Chi phí kỹ nghệphần mềm: l các khoản chi liên quan đến to n bộ sự phát triển ĩ Chi phí phụ thuộc: Loại hệ thống (đơn giản, phức tạp) Yêu cầu đặt ra (nhiều, ít, cao, thấp) Mức độ ho n thiện (hiệu năng, độ tin cây, an to n, ) Năng lực của tổ chức (nhân lực, công nghệ, công cụ, kỹ năng có đ ợc) Loại tiến trình sử dụng B mụn Cụng ngh ph n m m HCN 31 Chi phí của kỹ nghệ. .. ngh ph n m m HCN 27 Tiến trình phầnmềm Nguy nV nV 3 Thẩm định ph n m m (Validation) file.com file.com file.exe file.exe Hệ thống phầnmềm vận hành đúng Hệ thống phầnmềm đáp ứng yêu cầu Phát triển B mụn Cụng ngh ph n m m Ng ời dùng HCN 28 Tiến trình phầnmềm Nguy nV nV 4 Tiến hóa ph n m m (Evolution) môi tr ờng thay đổi file.com file.com file.exe file.com file.exe Hệ thống phầnmềm đáp ứng yêu cầu... B mụn Cụng ngh ph n m m HCN Ngôn ngữ Dòng lệnh/chức năng Assembly C FORTRAN 77 COBOL 85 Ada 83 C++ Ada 95 Java Visual Basic SQL 320 128 105 91 71 56 55 55 35 ? 35 Phần mềmkỹnghệ tốt Nguy nV nV Phần mềmkỹnghệ tốt đ ợc xét theo quan điểm nh phát triển Thuộc tính phầnmềm cần có: mức Tính bảo trì đ ợc u Tính đáng tin cậy tiên Tính hiệu quả Tính tiện dụng Giá cả phải chăng Một số tiêu chí khác B... định (công việc, trình tự, công cụ, ph ơng pháp ) Sản phẩm cuối cùng l phầnmềm b n giao B mụn Cụng ngh ph n m m HCN 24 Tiến trình phầnmềm Nguy nV nV Các hoạt động chính của mọi tiến trình Xác định yêu cầu: định rõ yêu cầu s n ph m Phát triển: tạo ra s n ph m Thẩm định: phầnmềm đáp ứng đ ợc yêu cầu không? Tiến hóa phần mềm: thay đổi nhằm đáp ứng yêu cầu thay đổi (ng i dùng, môi tr ng) vấn đề,... nh thông suốt ạ Thích nghi: với môi tr ờng (kỹ thuật, nghiệp vụ) đã thay đổi để hoạt động hiệu quả ạ Nâng cao: Ho n thiện chức năng, phát triển dự phòng ạ Thêm mới: thêm các chức năng mới B mụn Cụng ngh ph n m m HCN 23 Tiến trình phầnmềm Nguy nV nV Tiến trình phầnmềm (software process) l một tập các hoạt động có cấu trúc nhằm phát triển v tiến hóa 1 phầnmềm Một tiến trình cụ thể phải trả lời đ... vòng đời d i 25 0 8 ct 50 35 phỏt tri n 75 100 57 ki m th h th ng chi phớ phỏt tri n s n ph m trực tuyến B mụn Cụng ngh ph n m m HCN 33 Quy mô phầnmềm Nguy nV nV Kích cỡ phầnmềm ảnh h ởng lớn đến chi phí Kích cỡ th ờng đo bằng số dòng lệnh Kích cỡ phầnmềm phụ thuộc: B i toán Thiết kế Ngôn ngữ lập trình (& trình độ ng ời lập) ĩ Với cùng thiết kế, dùng ngôn ngữ khác nhau cho kích cỡ khác nhau B... trình phát triển phầnmềm Các ngôn ngữ lập trình công cụ sinh giao diện (C Builder, ) hỗ trợ phân tích, thiết kế (Rwin, Modeler Ví dụ: (Oracle Designer, Rational Rose, ) trợ giúp lập trình: compiler, debugger trợ giúp quản lý: project management B mụn Cụng ngh ph n m m HCN 16 Các công cụ - tools Nguy nV nV Bi u B mụn Cụng ngh ph n m m HCN mô hình 17 Vòng đời phát triển hệ thống phầnmềm (systems development