Bài 2 Kỹ nghệ phần mềm

50 279 1
Bài 2 Kỹ nghệ phần mềm

Đ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

Bé m«n C«ng nghÖ phÇn mÒm- Khoa CNTT- §HCN Email: vynv@coltech.vnu.vn K ngh phn mm Software Engeneering B môn Công ngh phn mm – HCN 2 NguynVnV Ni dung Bài 2: K ngh phn mm ̈ §Þ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 phn mm – HCN 3 NguynVnV TÀI LiU THAM KHO 1. Nguyn Vn V, Nguyn Vit Hà. Giáo trình k ngh phn mm. Nhà xut bn i hc Quc gia Hà ni, 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. Nguyn Vn V. Phân tích thit k h thng thông tin hin đi. Hng cu trúc và hng đi tng, NXB Thng kê, 2002, Hà Ni. B mụn Cụng ngh phn mm HCN 4 NguynVnV Các định nghĩa kỹ nghệ phần mềm SE l thiết lập và sử dụng các nguyên lý công nghệ đúng đắn để đợc phần mề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ần mềm ( Sommerville [1995]) Kỹ nghệ phần mề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ần mềm máy tính ( Pressman [1995]) Ba mt cơ bản ca kỹ nghệ phần mề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ần mề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ần mềm Quản lý theo thống kê Lịch sử của kỹ nghệ phần mềm B mụn Cụng ngh phn mm HCN 8 NguynVnV Lịch sử của kỹ nghệ phần mề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ần mề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ần mề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 phn mm – HCN 10 NguynVnV 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ần mề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ần mề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ần mềm 25 Tiến trình phần mề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ần mề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ần mề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ần mềm vận hành đúng... đội phát triển Hệ thống phần mề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ần mề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ần mề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ần mề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ần mề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ần mềm vận hành đúng Hệ thống phần mề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ần mề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ần mề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ềm kỹ nghệ tốt Nguy nV nV Phần mềm kỹ nghệ tốt đ ợc xét theo quan điểm nh phát triển Thuộc tính phần mề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ần mềm b n giao B mụn Cụng ngh ph n m m HCN 24 Tiến trình phần mề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ần mề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ần mềm Nguy nV nV Tiến trình phần mề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ần mề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ần mềm Nguy nV nV Kích cỡ phần mề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ần mề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ần mề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ần mềm (systems development

Ngày đăng: 12/05/2014, 11:11

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan