25
Dn nhp : Các cách tiếp cn TS. HBo Quc

2 Phuong Phap Luan

Embed Size (px)

Citation preview

Page 1: 2 Phuong Phap Luan

Dẫn nhập : Các cách tiếp cận TS. Hồ Bảo Quốc

Page 2: 2 Phuong Phap Luan

Dẫn nhập

�  Thực hiện theo một phương pháp cũng như việc nấu ăn theo một sách nấu ăn ◦ Một phương pháp phát triển như một

chỉ dẫn nấu ăn ◦  Theo phương pháp chúng ta có thể

nấu mốt món ăn như một đầu bếp giỏi (nhưng cũng có thể nấu ra một món ăn

khủng khiếp mặc dù đã theo đúng chỉ dẫn !!!!)

Page 3: 2 Phuong Phap Luan

Dẫn nhập

� Các phương pháp phát triển đã phát triển rất nhanh trong 15 năm qua

� Các phương pháp phát triển hệ thống vẫn đang tiếp tục phát triển sử dụng các công nghệ, các tiếp cận phát triển phần mềm mới

Page 4: 2 Phuong Phap Luan

Dẫn nhập � Một phương pháp cần phải ◦ Cung cấp một khung để đánh giá vấn đề cần quan tâm ◦ Cung cấp một lộ trình để bảo đảm xác định được các bước đi quan trọng và mọi thứ phải được lập kế hoạch ◦ Cung cấp các công cụ và các kỹ

thuật cho phép biểu diễn (mô hình) các mặt khac nhau của một hệ thống

Page 5: 2 Phuong Phap Luan

Một số phương pháp

� Structured Systems Analysis and Design Method (SSADM)

� Dynamic Systems Development Method (DSDM) ◦  Joint Applications Development (JAD) ◦ Unified Modelling Language (UML) –

chưa thực sự là một phương pháp phát triển! ◦ Rational Unified Process (RUP)

Page 6: 2 Phuong Phap Luan

SSADM � Structure Analysis and Design

Method được Learmonth and Burchett Consultancy (LBMS) phát triển cho Central Computer and Telecommunications Agency (CCTA)

� Sau đó được sử dụng cho các dự án chính phủ vào 1983

� Nguồn gốc là chu kỳ phát triển theo thác nước cổ điển

� Được cho là quan liêu, khó sử dụng và không hiệu quả

Page 7: 2 Phuong Phap Luan

SSADM (tt.) � Vào những năm 1990, nhiều phiên

bản khác nhau xuất hiện nhằm cải tiến và thu hút người phát triển ◦ Rapid Application Development ◦ Object Oriented

� Đươc xem như một cách tiếp cận “lỗi thời”

Page 8: 2 Phuong Phap Luan

Khung tổng quát của SSADM

Page 9: 2 Phuong Phap Luan

Các Pha của SSADM

� Mỗi Pha bao gồm một số bước

� Mỗi bước có thể gồm một hoặc nhiều bước con

� Mỗi Pha/bước/bước con có một hoặc nhiều kết xuất liên quan

Page 10: 2 Phuong Phap Luan

Ví dụ: Pha phân tích yêu cầu �  Nghiên cứu môi trường hiện tại ◦  Xác định một khung phân tích ◦  Nghiên cứu và xác định các yêu cầu ◦  Nghiên cứu các xử lý hiện tại ◦  Nghiên cứu dữ liệu hiện tại ◦  Rút ra mô hình logic cho các dịch vụ hiện tại ◦  Tổ hợp các kết quả nghiên cứu

�  Các chọn lựa hệ thống nghiệp vụ ◦  Xác định các chọn lựa của hệ thống nghiệp vụ ◦  Chọn môt giải pháp nghiệp vụ ◦  Xác định các yêu cầu

Page 11: 2 Phuong Phap Luan

Dynamic Systems Development Method (DSDM) �  Tập trung vào Rapid Application

Development (RAD). ◦  Nghĩa là, các dự án phải hoàn thành trong một

thời gian ngắn và có thể cập nhật các thay đổi. �  Không thực sự là một phương pháp- cung

cấp khung và các hướng dẫn nhưng không xác định các kỹ thuật và công cụ thực hiện

�  Là một khởi đầu quan trọng cho các cách tiếp cận phát triển vì nó được phát triển cho các dự án công nghiệp (không chỉ là hàn lâm).

Page 12: 2 Phuong Phap Luan

Chu kỳ phát triển của DSDM

Business Study

Feasibility

Functional Model iteration

Implementation

Design & build iteration

Page 13: 2 Phuong Phap Luan

UML � Unified Modelling Language � Không phải là một phương pháp, vì

nó chỉ gồm ◦ Một tập các đặc tả và ký hiệu cho phát

triển hướng đối tượng ◦  Là tổ hợp các kỹ thuật mô hình hóa do

Booch, Rumbaugh và Jakobsen phát triển

Page 14: 2 Phuong Phap Luan

UML models and diagrams

Page 15: 2 Phuong Phap Luan

RUP The Rational Unified Process � “Một tiến trình đầy đủ có thể hỗ trợ

cho toàn bộ chu kỳ phát triển phần mềm”.

� “Tiếp cận theo trường hợp sử dụng (Use case driven), Kiến trúc là quan trọng (architecture centric), tương tác và gia tăng từng bước”

Page 16: 2 Phuong Phap Luan

Tiếp cận theo trường hợp sử dụng (Use case driven) �  Trường hợp sử dụng được sử dụng để nắm

bắt nhu cầu người dùng �  Một trường hợp sử dụng (use case) mô tả

một phần của một chức năng nào đó của hệ thống

�  Tổng hợp tất cả các trường hợp sử dụng (the use case model)mô tả chức năng tổng thể của hệ thống ◦  Hệ thống được thiết kế dựa trên các trường hợp sử

dụng này ◦  Được cài đặt để hỗ trợ cho những trường hợp sử

dụng này ◦  Được kiểm tra theo nội dung của các trường hợp

sử dụng này �  Vì vậy, trường hợp sử dụng và rất quan

trọng !

Page 17: 2 Phuong Phap Luan

Kiến trúc là trung tâm (Architecture-centric) � Kết xuất cho mỗi bước là rất quan

trọng trong RUP. � So sách kiến trúc phần mềm với

kiến trúc của một ngôi nhà. � Nhiều phương pháp bỏ qua việc

phát triển kiến trúc (các mô hình) mà chỉ tập trung vào phát triển phần mềm

Page 18: 2 Phuong Phap Luan

Tương tác và gia tăng

� Nhu cầu người dùng không thể được xác định đầy đủ và chính xác qua một bước.

� Các yêu cầu tiến hóa và thay đổi theo thời gian và sự hiểu biết sâu thêm về hệ thống.

� Đây cũng là khái niệm quan trọng của các phương pháp hiện đại.

Page 19: 2 Phuong Phap Luan

Phát triển tương tác

� Người phát triển khó mà có thể nắm đúng mọi yêu cầu trong một lần, cần phải quay lại để hiểu lại vấn đề tốt hơn với tri thức mới về hệ thống và với sự thay đổi của môi trường bài toán

Page 20: 2 Phuong Phap Luan

Phát triển gia tăng

� Đi đôi với phát triển tương tác để có thể bổ sung các yêu cầu mới do các thay đổi của môi trường hay do những hiểu biết còn thiếu sót ở các bước trước. Nghĩa là chúng ta phải hoàn thiện dần các yêu cầu, phát triển hệ thống phù hợp với sự phát triển của nhu cầu người dùng

Page 21: 2 Phuong Phap Luan

RUP- Các pha và tài nguyên

Page 22: 2 Phuong Phap Luan

RUP – Cấu trúc tiến trình

Page 23: 2 Phuong Phap Luan

Tương lai của các phương pháp �  Phát triển tự phát (Ad hoc

development) ◦  Không sử dụng một phương pháp hình thức

hóa ◦  Những người phát triển có kinh nghiệm sử

dụng các cách tiếp cận/công cụ/kỹ thuật mà học đã biết.

�  Sự phát triển của các phương pháp hình

thức ◦  Các phương pháp hướng đối tượng (O-O

methods) và các phương pháp web-based được tiếp tục phát triển ◦  Các phương pháp sử dụng tập công cụ của

UML

Page 24: 2 Phuong Phap Luan

Tương lai của các phương pháp � Các phương pháp có khả năng

thích ứng ◦ Các phương pháp có thể thích ứng với

các môi trường phát triển khác nhau ◦ Khác với các tiếp cận tự phát : chọn

và tổ hợp nhưng bên trong một khung phát triển xác định.

Page 25: 2 Phuong Phap Luan

Tương lai của các phương pháp � Phát triển bên ngoài (External

development) ◦ Avison & Fitzgerald đã nhận thấy

khuynh hướng tiến tới outsourcing. ◦ Các tổ chức không còn liên quan đến

nhiều các vấn đề của phát triển – công ty phần mềm tự tạo khung phát triển cho mình