Xem mẫu
- TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM
MÔN HỌC
CÔNG NGHỆ PHẦN MỀM
Chương 2
Quy trình xây dựng phần mềm
CNPM/NN 1
- Chương 2 : Quy trình xây dựng phần mềm
2.1 Quy trình (process)
2.2 Một số quy trình xây dựng phần mềm
2.2.1 Mô hình thác nước
2.2.2 Mô hình phát triển gia tăng
2.2.3 Mô hình RAD
2.2.4 Mô hình bản mẫu
2.2.5 Mô hình xoắn ốc
2.3 Các quy trình khác
2.3.1 Quy trình RUP
2.3.2 Phương pháp phát triển phần mềm linh hoạt (PTPMLH
- Agile software development)
CNPM/NN 2
- Yêu cầu
Hiểu rõ một số quy trình phần mềm cơ bản
Trong thực tế người ta thường kết hợp nhiều quy trình
Những quy trình giới thiệu là những phương pháp cơ bản có
tính nghiêm ngặt, hiện nay người ta áp dụng những quy trình
mới có tính linh hoạt cao, tạo sự thoải mái cho người làm việc
và phát huy tính sáng tạo nhưng vẫn phải tuân thủ các nguyên
tắc
CNPM/NN 3
- 2.1 Quy trình (process)
Quy trình (process) phần mềm bao gồm một tập hợp các
hoạt động được tổ chức mà mục đích của nó là xây
dựng và phát triển phần mềm.
Quy trình: Phải thực hiện những công việc gì?
Phương pháp: Chỉ ra cách thực hiện những công việc cụ
thể (“how to”)
tools
methods
process
a “quality” focus
CNPM/NN 4
- Quy trình khung (Process framework)
Process framework
Framework activities
work tasks
work products
milestones & deliverables
QA checkpoints
Umbrella Activities
CNPM/NN 5
- Quy trình khung
Truyền thông Communication
Lập kế hoạch Planning
Modeling
Mô hình hóa
Analysis of requirements
Xây dựng Design
Triển khai Construction
Code generation
Testing
Deployment
CNPM/NN 6
- Các hoạt động khung
Liên quan đến
Công việc (Work tasks)
Sản phẩm công tác (Work products)
Mốc thời gian và thành quả chuyển giao (Milestones
& deliverables)
Thời điểm kiểm tra chất lượng (QA checkpoints)
CNPM/NN 7
- Hoạt động hỗ trợ
Quản lý dự án
Software project management
Kiểm tra kỹ thuật hình thức
Formal technical reviews
Bảo đảm chất lượng phần mềm
Software quality assurance
Quản lý cấu hình phần mềm
Software configuration
Chuẩn bị và tạo sản phẩm management
Quản lý sử dụng lại Work product preparation and
Đo lường production
Quản lý rủi ro Reusability management
Measurement
Risk management
CNPM/NN 8
- 2.1 Mô hình phát triển phần mềm (Process Model)
Mô hình phát triển phần mềm là một thể hiện trừu
tượng của quy trình phần mềm.
Nó biểu diễn các đặc tả về quy trình từ những khía
cạnh cụ thể, do đó, nó chỉ cung cấp một phần thông
tin về quy trình phần mềm
CNPM/NN 9
- Lựa chọn mô hình phát triển dựa vào:
Bản chất của dự án và ứng dụng
Nhận thức rủi ro
Sự hiểu biết và kỹ năng của các kỹ sư
Kiến thức miền của người phát triển
Phương pháp và công cụ được dùng
Cách thức kiểm soát và các kết quả chuyển giao
được yêu cầu
CNPM/NN 10
- Năm mô hình phát triển phần mềm
Mô hình Thác nước (Waterfall Model)
Mô hình xử lý tăng dần (Incremental Process
Models)
Mô hình tăng dần (Incremental Model)
Mô hình RAD (Rapid Application Development Model)
Mô hình Qui trình tiến hóa (Evolutionary Process
models)
Mô hình Tạo bản mẫu (Prototyping Model)
Mô hình Xoắn ốc (Spiral Model)
CNPM/NN 11
- Không có quy trình
Inputs Outputs
Không thể biết khi nào hoàn thành do không có
phân tích và thiết kế chính thức
Không có cách đánh giá các yêu cầu, và tiêu chuẩn
chất lượng có được thỏa mãn hay không
CNPM/NN 12
- Mô hình thác nước (Waterfall Model)
Mô hình thác nước [Winston Royce] đưa ra vào năm
1970 nhằm thay thế cho phương pháp “code-and-fix”
Lần đầu tiên đưa ra chính thức một cơ cấu gồm
những giai đoạn phát triển phần mềm dựa vào yêu
cầu đã xác định và được tạo tư liệu trong giai đoạn
đầu
CNPM/NN 13
- Mô hình thác nước
CNPM/NN 14
- Đặc điểm mô hình thác nước
Phát triển theo trình tự các bước. Mỗi giai đoạn xác định tiêu
chuẩn vào và ra. Mô hình dễ hiểu và dễ thực hiện đối với mọi
người liên quan. Nó cung cấp một cấu trúc rõ ràng cho những
nhân viên thiếu kinh nghiệm hay yếu về kỹ thuật.
Việc chuyển từ một giai đoạn này tới giai đoạn kế tiếp được
thực hiện khi thỏa một kiểm tra (review) chính thức, xác định
một sự đồng thuận giữa những thành viên dự án và khách
hàng.
Áp dụng cho những phần mềm chất lượng cao, khi yêu cầu
chất lượng nổi trội hơn những yêu cầu về lịch biểu và chi phí
CNPM/NN 15
- Mô hình thác nước – nhược điểm
Mô hình có tính tuần tự theo 5 giai đoạn nên khi muốn quay lui để
làm đúng một vấn đề hay một kết quả thì sẽ tốn kém nhiều chi phí
và thời gian. Do đó cần phải quản lý chặt chẽ các hoạt động, phải
đặc tả tất cả yêu cầu một cách chính xác và đầy đủ ngay từ ban
đầu.
Khó đánh giá tình trạng của dự án, đánh giá kết quả của dự án ở
thời điểm kiểm tra do việc tích hợp chỉ thực hiện ở giai đoạn cuối.
Tồn tại việc phải chờ (“delay”) trong nhóm làm việc.
Việc thực hiện trình tự không tự nhiên, tính lặp thường diễn ra trong
thực tế.
CNPM/NN 16
- Khi nào sử dụng mô hình thác nước
Khi xác định sản phẩm ổn định và những vấn đề về kỹ thuật
đã biết rõ:
Nếu một công đã xây dựng một hệ thống như kế toán, bán
hàng… thì những dự án xây dựng những sản phẩm tương
tự có thể sử dụng mô hình thác nước
Tạo một phiên bản mới của một sản phẩm đang tồn tại
trong đó những biến đổi (change) được xác định và kiểm
soát
CNPM/NN 17
- Mô hình tăng dần
CNPM/NN 18
- Mô hình tăng dần
Các yêu cầu được xác định và phân loại theo độ ưu tiên, độ
ưu tiên cao cho những chức năng chính và những chức năng
có độ rủi ro cao
Phân chia các yêu cầu cho các vòng và thiết kế kiến trúc của
toàn bộ hệ thống
Vòng đầu tiên tạo ra sản phẩm lõi (core product)
Các bước sau bổ sung các chức năng khác và tích hợp vào
hệ thống nhằm hoàn thiện dần sản phẩm
Hệ thống tích hợp phải được kiểm tra đánh giá thường xuyên
theo từng giai đoạn
Các yêu cầu và kiến trúc của toàn bộ hệ thống sẽ được điều
chỉnh dựa vào những sản phẩm phát hành theo từng vòng
CNPM/NN 19
- Mô hình tăng dần – ưu điểm
Những chức năng của hệ thống có thứ tự ưu tiên càng cao
(chức năng chính, chức năng rủi ro cao) sẽ được thực hiện
trước, do đó chúng sẽ được kiểm thử nhiều hơn, sản phẩm
đươc hoàn thành phần cơ bản sớm
Sau mỗi lần tăng vòng thì có thể chuyển giao kết quả cho
khách hàng. Những kết quả này đóng vai trò là mẫu thử để
giúp tìm hiểu thêm các yêu cầu ở những vòng tiếp theo.
Có thể thực hiện nhiều bước đồng thời.
Nhân viên có thể thực hiện những công việc tương tự ở các
vòng một cách liên tục
CNPM/NN 20
nguon tai.lieu . vn