Công nghệ phần mềm tổng quan công nghệ phần mềm

31 531 2
Công nghệ phần mềm  tổng quan công 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

TỔNG QUAN VỀ CÔNG NGHỆ PHẦN MỀM GVHD: Phạm Minh Đương Email: duongmtvu@yahoo.com Nội dung • • • • • • • Phần mềm lớp phần mềm Kiến trúc thành phần phần mềm Công nghệ phần mềm Các công việc công nghệ phần mềm Mô hình phát triển phần mềm Phương pháp, công cụ phát triển phần mềm Thảo luận 9/4/2016 Công nghệ phần mềm Phần mềm • Phần mềm hệ thống chương trình thực máy tính • Nhằm hỗ trợ nhanh, xác tiện dụng cho nhà chuyên môn lĩnh vực chuyên ngành • Thực tốt thao tác nghiệp vụ Chọn công việc 9/4/2016 Xử lý Công nghệ phần mềm Kết Lớp phần mềm • Lớp phần mềm hệ thống phần mềm có lĩnh vực hoạt động • Thường có cấu trúc chức tương tự STT Lớp phần mềm Các phần mềm QL học sinh Mầm non, tiểu học, THPT, ĐH… Bán hàng Siêu thị, máy tính, thuốc tây… Xếp lịch TKB lớp, lịch thi đấu Trò chơi Ca rô, cờ vua… Cho mượn Thuê băng, sách, truyện… 9/4/2016 Công nghệ phần mềm Kiến trúc thành phần PM • Thành phần giao tiếp • Thành phần xử lý • Thành phần liệu Thành phần giao tiếp • Là hệ thống chức chuyên việc nhập/xuất liệu • Trình bày tổ chức lưu trữ liệu tương ứng • Nhiệm vụ thành phần giao tiếp: – Tiếp nhận yêu cầu sử dụng: Người dùng Các thiết bị thu thập liệu, cung cấp liệu nguồn liên quan đến công việc − Trình bày kết việc thực yêu cầu: Người dùng Điều khiển hoạt động thiết bị điều khiển Thành phần xử lý • Là hệ thống chức chuyên xử lý tính toán, biến đổi liệu • Các chức dùng liệu nguồn từ chức − Thành phần giao tiếp hay thành phần liệu − Kiểm tra tính hợp lệ, sau tiến hành xử lý cho kết * • Kết trình bày thông qua chức thành phần giao tiếp lưu trữ lại qua chức thành phần liệu *Tiến trình xử lý kết mong đợi theo quy định tính toán có sẵn giới thực theo thuật giải tự đề xuất Thành phần liệu • Là hệ thống chức chuyên đọc ghi liệu • Cùng với mô hình tổ chức lưu trữ liệu tương ứng • Mục tiêu chuyển đổi liệu nhớ nhớ phụ Bảng tóm tắt STT Thành phần Giao tiếp Xử lý Dữ liệu Hàm Nhập Ý nghĩa Yêu cầu/dữ liệu ngầm Xuất Kết xử lý Kiểm tra Kiểm tra tính hợp lệ Xử lý Tính toán, phát sinh, biến đổi liệu Đọc Đọc liệu từ nhớ phụ  nhớ Ghi Ghi liệu từ nhớ  nhớ phụ Công nghệ phần mềm • Lịch sử đời • Chất lượng phần mềm • Đối tượng nghiên cứu công nghệ phần mềm 10 Mô hình phát triển phần mềm Các công đoạn tổng quát Giai đoạn đặc tả: Xác định tính điều kiện hoạt động hệ thống (thu thập yêu cầu phân tích) Giai đoạn bảo trì: Sửa lỗi (correction), thay đổi môi trường thực thi (adaptation), tăng cường (enhancement) Giai đoạn phát triển: Thiết kế phần mềm (software design), viết code (code generation Giai đoạn kiểm tra: Kiểm tra phần mềm (software testing), kiểm tra tính hợp lý phần mềm 9/4/2016 Công nghệ phần mềm 17 Mô hình WaterFall • Mô hình phát triển phần mềm • Các công việc tiếp nối cách • Đặt móng cho phương pháp phân tích, thiết kế, kiểm tra… Phân tích yêu cầu Thiết kế hệ thống & phần mềm Thực kiểm tra moduls Tích hợp kiểm tra tổng thể Chuyển giao Bảo trì 9/4/2016 Công nghệ phần mềm 18 Mô hình WaterFall • Bản chất phát triển phần mềm trình lặp lặp lại • Các bước thực chất không tách biệt hoàn toàn mà có chồng lấn tham khảo lại • Khách hàng đặc tả tất yêu cầu cách xác đầy đủ từ ban đầu • Khách hàng thường phải chờ đợi lâu để thấy phiên sản phẩm • Tồn “delay” tích lũy nhóm làm việc  dự án thường bị trễ • Chỉ phù hợp cho dự án nhỏ, đơn giản 9/4/2016 Công nghệ phần mềm 19 Mô Hình Prototype Hoạt động sản xuất Bản prototype Đặc tả Mô tả sơ lược khách hàng Phát triển Các trung gian Kiểm thử Bản cuối 9/4/2016 Công nghệ phần mềm 20 Mô Hình Prototype • Prototype chế để nhận diện xác yêu cầu khách hàng – Bản thân khách hàng chưa hiểu rõ yêu cầu mình, quy trình chưa xác lập rõ ràng – Khách hàng chưa hiểu rõ khả hỗ trợ hệ thống máy tính 9/4/2016 Công nghệ phần mềm 21 Mô Hình Prototype Kích thích thích thú người dùng với dự án Prototype bị “throw-away”  Lãng phí Các process không phân định rõ ràng Hệ thống thông thường có cấu trúc lỏng lẻo Cần có kỹ đăc biệt quản lý phát triển • Khách hàng hối thúc nhà phát triển hoàn thành sản phẩm thấy prototype • • • • • 9/4/2016 Công nghệ phần mềm 22 Mô Hình Prototype – Ứng dụng • Dùng cho hệ thống nhỏ Các chi phí thay đổi hệ thống không lớn • Cần cấp bách thời gian triển khai ngắn Hệ thống cần đưa vào ứng dụng phần khoảng thời gian định • Trong trường hợp hệ thống mà việc đặc tả yêu cầu khó không rõ ràng từ đầu 9/4/2016 Công nghệ phần mềm 23 Mô hình Xoắn Ốc Xác định công việc Hoạch định đề tài Đánh giá rủi ro Phát triển sản phẩm • Được thực theo chuỗi lặp kiểu xoắn ốc, lần lặp cải thiện sản phẩm • Có phương pháp đánh giá rủi ro • Có thể áp dụng prototype • Mỗi lần lặp cải thiện cho thích nghi với chất đề án 9/4/2016 Công nghệ phần mềm 24 Mô hình RAD Mô hình nghiệp vụ Mô hình liệu Mô hình xử lý Sinh ứng dụng Kiểm thử • Rapid Application Development mô hình tuyến tính có thời gian phát triển ngắn • Sử dụng thành phần có sẵn nhiều tốt • Sử dụng công cụ lập trình dạng tự động sinh mã ngôn ngữ truyền thống • Phụ thuộc vào công nghệ phát triển có tính reusable cao •9/4/2016 Phát triển hệ thốngCông mẫu nghệ phần mềm 25 Phương pháp phát triển phần mềm • Là hệ thống hướng dẫn cho phép bước thực công việc giai đoạn • hình thức chính: – Đề xuất cách biểu diễn kết chuyển giao giai đoạn (thường sơ đồ) – Đưa bước chi tiết cụ thể trình từ kết nhận đến kết chuyển giao • Một số phương pháp biểu diễn kết chuyển giao giai đoạn: 26 STT Tên P/pháp Giai đoạn B/diễn kết chuyển giao Dùng sơ đồ luồng liệu (DFD – Data Flow Diagram) biểu diễn mô hình xử lý giới thực Dùng sơ đồ thực thể kết hợp (ERD – Entity Relationship Diagram) để biểu diễn mô hình liệu giới thực Dùng lược đồ quan hệ biểu diễn tổ chức lưu trữ liệu nhớ phụ Dùng sơ đồ lớp, sơ đồ trạng thái, sơ đồ luồng liệu biểu diễn mô hình liệu, trạng thái, xử lý giới thực 27 Phân tích cấu trúc Phân tích Chen với cải tiến Phân tích Mô hình quan hệ Codd OMT (Object Modeling Technique) Thiết kế Phân tích Công cụ phát triển phần mềm • CASE (Computer Aided Software Engneering) Tools • Gồm hai hình thức chính: − Cho phép lưu trữ, cập nhật kết chuyển giao với phương pháp − Các CASE Tools hỗ trợ cụ thể cho giai đoạn hay hỗ trợ số giai đoạn Trong trường hợp tên gọi chung môi trường phát triển phần mềm – SDE ( Software Develop Environment) • Một số chức CASE Tools giai đoạn: 28 Công cụ phát triển phần mềm STT Giai đoạn Phân tích Thiết kế Chức - Soạn thảo mô hình DFD, ERD - Phát sinh sơ đồ quan hệ - Soạn thảo sơ đồ quan hệ (logic) - Phát sinh CSDL Lập trình - Soạn thảo chương trình nguồn - Các hàm thư viện - Trình biên dịch Kiểm chứng - Công cụ gỡ rối (Debug) - Công cụ phát sinh liệu thữ nghiệm 29 Thảo luận • Tại phải làm phần mềm theo công nghệ? • Bạn thích công việc dự án làm phần mềm? Tại sao? • Các công việc người làm quản lý dự án? 9/4/2016 Công nghệ phần mềm 30 Q&A 9/4/2016 Công nghệ phần mềm 31 [...]... triển phần mềm: Hệ thống các hướng dẫn cho phép từng bước thực hiện một giai đoạn nào đó trong quy trình • Công cụ và môi trường phát triển phần mềm: Hệ thống các phần mềm trợ giúp chính trong lĩnh vực xây dựng phần mềm 13 Công nghệ phần mềm là gì? Phần mềm theo công nghệ = Con người + Công nghệ + Qui trình 9/4/2016 Công nghệ phần mềm 14 Công nghệ phần mềm là gì? Con người: Có nhiều vai trò Công nghệ: ... Con người: Có nhiều vai trò Công nghệ: Các đặc trưng công nghệ tích hợp Qui trình: Cách mà con người tương tác với công nghệ 9/4/2016 Công nghệ phần mềm 15 Công việc của công nghệ phần mềm • Phân tích hệ thống/vấn đề • Xác định các yêu cầu • Thiết kế phần mềm • Viết phần mềm (coding) • Kiểm tra và tích hợp hệ thống • Cài đặt và chuyển giao phần mềm 9/4/2016 • • • • • • Lập tài liệu Bảo trì Quản lý... hàm thư viện - Trình biên dịch Kiểm chứng - Công cụ gỡ rối (Debug) - Công cụ phát sinh dữ liệu thữ nghiệm 29 Thảo luận • Tại sao phải làm phần mềm theo công nghệ? • Bạn thích công việc nào nhất trong dự án làm phần mềm? Tại sao? • Các công việc của người làm quản lý dự án? 9/4/2016 Công nghệ phần mềm 30 Q&A 9/4/2016 Công nghệ phần mềm 31 ... đoạn kiểm tra: Kiểm tra phần mềm (software testing), kiểm tra tính hợp lý của phần mềm 9/4/2016 Công nghệ phần mềm 17 Mô hình WaterFall • 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 tra… Phân tích yêu cầu Thiết kế hệ thống & phần mềm Thực hiện và kiểm tra moduls Tích hợp và kiểm tra tổng thể Chuyển giao... ra đời • Khoảng 1960 cuộc khủng hoảng phần mềm do số lượng phần mềm tăng, chất lượng phần mềm thì giảm • 1975 Hội nghị ICSE (International Conference on Software Engineering)  ngành khoa học công nghệ phần mềm • Định nghĩa tóm tắt về CNPM − Là một ngành khoa học nghiên cứu về việc xây dựng các phần mềm − Chất lượng − Thời gian và chi phí hợp lý 11 Chất lượng phần mềm • Tính đúng đắn: Đầy đủ, chính xác... định của phần mềm theo các thay đổi của thế giới thực • Tính tiện dụng: Dễ học, dễ sử dụng, giao diện trực quan, tự nhiên • Tính hiệu quả: Sử dụng tối ưu các tài nguyên trên máy tính • Tính tương thích: Trao đổi dữ liệu được với các phần mềm khác có liên quan 12 Đối tượng nghiên cứu Ba đối tượng nghiên cứu chính: • Quy trình công nghệ phần mềm: Hệ thống các giai đoạn mà quá trình phát triển phần mềm phải... 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 • Phụ thuộc vào công nghệ phát triển có tính reusable cao •9/4/2016 Phát triển hệ thốngCông mẫu nghệ phần mềm 25 Phương pháp phát triển phần mềm • Là hệ thống các hướng dẫn cho phép từng bước thực hiện các công việc trong một giai đoạn nào đó... Dự đoán tài nguyên Quản trị dự án Công nghệ phần mềm 16 Mô hình phát triển phần mềm Các công đoạn chính tổng quát Giai đoạn đặc tả: Xác định các tính năng và điều kiện hoạt động của hệ thống (thu thập yêu cầu và phân tích) Giai đoạn bảo trì: Sửa lỗi (correction), thay đổi môi trường thực thi (adaptation), tăng cường (enhancement) Giai đoạn phát triển: Thiết kế phần mềm (software design), viết code (code... triển phần mềm – SDE ( Software Develop Environment) • Một số chức năng của các CASE Tools trong từng giai đoạn: 28 Công cụ phát triển phần mềm STT 1 Giai đoạn Phân tích 2 Thiết kế 3 4 Chức năng - Soạn thảo các mô hình DFD, ERD - Phát sinh sơ đồ quan hệ - Soạn thảo sơ đồ quan hệ (logic) - Phát sinh CSDL Lập trình - Soạn thảo chương trình nguồn - Các hàm thư viện - Trình biên dịch Kiểm chứng - Công cụ... tại “delay” tích lũy trong nhóm làm việc  dự án thường bị trễ • Chỉ phù hợp cho dự án nhỏ, đơn giản 9/4/2016 Công nghệ phần mềm 19 Mô Hình Prototype Hoạt động sản xuất Bản prototype Đặc tả Mô tả sơ lược của khách hàng Phát triển Các bản trung gian Kiểm thử Bản cuối cùng 9/4/2016 Công nghệ phần mềm 20 Mô Hình Prototype • Prototype như là một cơ chế để nhận diện chính xác yêu cầu của khách hàng – Bản thân

Ngày đăng: 08/09/2016, 18:37

Từ khóa liên quan

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

Tài liệu liên quan