Tải bản đầy đủ (.pptx) (58 trang)

Software processes (CÔNG NGHỆ PHẦN mềm SLIDE)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (576.09 KB, 58 trang )

Chapter 2 – Software
Processes

Chapter 2 Software Processes

1


Topics covered
 Software process models
 Process activities
 Coping with (đương đầu với) change
 Process improvement

Chapter 2 Software Processes

2


Quy trình phần mềm
 Một tập hợp các hoạt động cần thiết để phát triển một hệ
thống phần mềm?
 Nhiều quy trình phần mềm khác nhau nhưng tất cả đều
liên quan đến:
• Specification(Đặc tả) - xác định hệ thống nên làm gì;
• Design and implementation(Thiết kế và thực hiện) - xác định
việc tổ chức hệ thống và thực hiện hệ thống;
• Validation( Xác nhận) - kiểm tra xem nó có làm những gì khách
hàng muốn;
• Evolution(sự tiến hóa) - thay đổi hệ thống để đáp ứng nhu cầu
thay đổi của khách hàng.



 Một mơ hình qui trình phần mềm là một biểu diễn trừu
tượng của một tiến trình. Nó trình bày một mơ tả của
2 Software Processes
một q trình từ mộtChapter
số quan
điểm cụ thể.

3


Mơ tả quy trình phần mềm
 Khi chúng ta mơ tả và thảo luận các quy trình, chúng ta
thường nói về các hoạt động trong các quy trình này
như chỉ định mơ hình dữ liệu, thiết kế giao diện người
dùng, v.v. và thứ tự các hoạt động này.
 Mô tả quy trình cũng có thể bao gồm:
• Sản phẩm, là kết quả của một quy trình hoạt động ;
• Vai trò, phản ánh trách nhiệm của những người liên quan đến
q trình;
• điều kiện trước và sau, đó là những tuyên bố đúng trước và sau
khi một hoạt động quy trình đã được ban hành hoặc một sản
phẩm được sản xuất.

Chapter 2 Software Processes

4


Quy trình Plan-driven và agile

 Quy trình Plan-driven là các quá trình mà tất cả các
hoạt động của quy trình được lên kế hoạch trước và
tiến độ được đo lường theo kế hoạch này.
 Trong các quy trình agile, lập kế hoạch gia tăng và
dễ dàng thay đổi quy trình để phản ánh các yêu cầu
thay đổi của khách hàng.
 Trong thực tế, hầu hết các quy trình thực tế bao gồm
các yếu tố của cả hai phương pháp Plan-driven và
agile.
 Khơng có quy trình phần mềm đúng hay sai.
Chapter 2 Software Processes

5


Mơ hình quy trình phần mềm

Chapter 2 Software Processes

6


Mơ hình quy trình phần mềm
 Mơ hình waterfall
 Mơ hình theo kế hoạch. giai đoạn riêng biệt và khác biệt của đặc
điểm kỹ thuật và phát triển..

 Incremental development
 Đặc điểm kỹ thuật, phát triển và xác nhận được xen kẽ. Có thể
được lập kế hoạch theo định hướng hoặc nhanh nhẹn.


 Integration and configuration
 Hệ thống được lắp ráp từ các thành phần cấu hình hiện có. Có
thể được lập kế hoạch theo định hướng hoặc nhanh nhẹn..

 Trong thực tế, hầu hết các hệ thống lớn được phát triển
bằng cách sử dụng một quá trình kết hợp các yếu tố từ
tất cả các mơ hình này..
Chapter 2 Software Processes

7


The waterfall model

Chapter 2 Software Processes

8


Mơ hình Waterfall
 Có các giai đoạn được xác định riêng biệt trong mơ hình
waterfall:
• Phân tích u cầu và định nghĩa
• Thiết kế hệ thống và phần mềm
• Thực hiện và thử nghiệm đơn vị
• Tích hợp và kiểm tra hệ thống
• Vận hành và bảo trì

 Hạn chế chính của mơ hình thác là khó khăn trong việc

thay đổi (dễ tính) sau khi q trình đang được tiến hành.
Về nguyên tắc, một giai đoạn phải được hoàn thành
trước khi chuyển sang giai đoạn tiếp theo.
Chapter 2 Software Processes

9


Vấn đề của mơ hình Waterfall
 Inflexible (cứng rắn) chia dự án thành các giai đoạn
riêng biệt làm cho việc xử lý các yêu cầu của khách
hàng thay đổi trở nên khó khăn.
 Do đó, mơ hình này chỉ phù hợp khi các yêu cầu được hiểu rõ
và các thay đổi sẽ bị hạn chế trong quá trình thiết kế.
 Rất ít hệ thống kinh doanh có u cầu ổn định.

 Mơ hình thác nước chủ yếu được sử dụng cho các dự
án kỹ thuật hệ thống lớn, nơi một hệ thống được phát
triển tại một số địa điểm.
 Trong những trường hợp đó, bản chất định hướng của mơ hình
thác nước giúp điều phối cơng việc.

Chapter 2 Software Processes

10


Incremental development

Chapter 2 Software Processes


11


Lợi ích của Incremental development
 Chi phí cho việc thay đổi yêu cầu của khách hàng giảm.
 Số lượng phân tích và tài liệu phải được làm lại ít hơn nhiều so
với u cầu với mơ hình waterfall.

 Việc nhận phản hồi của khách hàng về công việc phát
triển đã được thực hiện dễ dàng hơn.
 Khách hàng có thể bình luận về các giai đoạn của phần mềm và
xem có bao nhiêu phần đã được triển khai.

 có thể giao hàng nhanh hơn và triển khai phần mềm hữu
ích cho khách hàng.
 Khách hàng có thể sử dụng và đạt được giá trị từ phần mềm
sớm hơn là có thể với quy trình waterfall.

Chapter 2 Software Processes

12


Vấn đề của Incremental development
 Q trình này khơng hiển thị.
 Người quản lý cần phân phôi thường xuyên để đo lường tiến
độ. Nếu các hệ thống được phát triển một cách nhanh chóng,
nó khơng tiết kiệm chi phí để sản xuất các tài liệu phản ánh mọi
phiên bản của hệ thống.


 Cấu trúc hệ thống có xu hướng suy giảm khi gia số mới
được thêm vào.
 Trừ khi thời gian và tiền bạc được chi cho việc tái cấu trúc để cải
thiện phần mềm, thay đổi thường xuyên có xu hướng làm hỏng
cấu trúc của nó. Kết hợp thêm các thay đổi phần mềm ngày
càng trở nên khó khăn và tốn kém.

Chapter 2 Software Processes

13


Integration and configuration
 Dựa trên việc tái sử dụng phần mềm, nơi các hệ thống
được tích hợp từ các thành phần hiện có hoặc các hệ
thống ứng dụng (đơi khi được gọi là các hệ thống COTS
-Commercial-off-the-shelf)).
 Các yếu tố được sử dụng lại có thể được định cấu hình
để điều chỉnh hành vi và chức năng của chúng theo yêu
cầu của người dùng
 Tái sử dụng hiện là phương pháp chuẩn để xây dựng
nhiều loại hệ thống kinh doanh
 Tái sử dụng được đề cập sâu hơn trong Chapter 15.

Chapter 2 Software Processes

14



Các loại phần mềm tái sử dụng
 Các hệ thống ứng dụng độc lập (đôi khi được gọi là
COTS) được cấu hình để sử dụng trong một mơi trường
cụ thể.
 Các tập hợp các đối tượng được phát triển như là một
gói được tích hợp với một khung thành phần như .NET
hoặc J2EE.
 Các dịch vụ Web được phát triển theo các tiêu chuẩn
dịch vụ và có sẵn để gọi từ xa.

Chapter 2 Software Processes

15


Kỹ thuật phần mềm theo định hướng tái sử dụng

Chapter 2 Software Processes

16


Các giai đoạn xử lý chính
 Yêu cầu kỹ thuật
 Khám phá và đánh giá phần mềm
 Yêu cầu sàng lọc
 Cấu hình hệ thống ứng dụng
 Hợp nhất và tích hợp thành phần

Chapter 2 Software Processes


17


Ưu điểm và nhược điểm
 Giảm chi phí và rủi ro vì phần mềm ít được phát triển từ
đầu
 Phân phối và triển khai hệ thống nhanh hơn
 Nhưng yêu cầu thỏa hiệp là không thể tránh khỏi nên hệ
thống có thể khơng đáp ứng nhu cầu thực sự của người
dùng
 Mất kiểm soát sự nâng cấp của các phần tử hệ thống
được tái sử dụng

Chapter 2 Software Processes

18


Process activities
(Quy trình hoạt động)

Chapter 2 Software Processes

19


Quy trình hoạt động
 Các qui trình phần mềm thực là trình tự liên tiếp của các
hoạt động kỹ thuật, cộng tác và quản lý với mục tiêu

tổng thể về việc xác định, thiết kế, thực hiện và thử
nghiệm một hệ thống phần mềm.
 Bốn hoạt động quy trình cơ bản của đặc tả, phát triển,
xác nhận và tiến hóa(specification, development,
validation và evolution) được tổ chức khác nhau trong
các quy trình phát triển khác nhau.
 Ví dụ, trong mơ hình waterfall, chúng được sắp xếp
theo thứ tự, trong khi incremental development chúng
được xen kẽ.
Chapter 2 Software Processes

20


Quá trình yêu cầu kỹ thuật

Chapter 2 Software Processes

21


Đặc điểm phần mềm
 Quá trình thiết lập những dịch vụ nào được yêu cầu và
những hạn chế về hoạt động và phát triển của hệ thống.
 Yêu cầu quy trình kỹ thuật
 u cầu gợi ý và phân tích
• Các bên liên quan hệ thống yêu cầu hoặc mong đợi gì từ hệ thống?

 u cầu kỹ thuật
• Xác định các yêu cầu chi tiết


 Xác nhận yêu cầu
• Kiểm tra tính hợp lệ của các yêu cầu

Chapter 2 Software Processes

22


Thiết kế và triển khai phần mềm
 Là quá trình chuyển đổi đặc tả hệ thống thành một hệ
thống thực thi.
 Thiết kế phần mềm
 Thiết kế cấu trúc phần mềm nhận ra đặc điểm kỹ thuật;

 Triển khai
 Dịch cấu trúc này thành một chương trình thực thi;

 Các hoạt động thiết kế và triển khai có liên quan chặt
chẽ và có thể liên quan đến nhau.

Chapter 2 Software Processes

23


Một mơ hình chung của q trình thiết kế

Chapter 2 Software Processes


24


Design activities
 Architectural designnơi bạn xác định cấu trúc tổng thể
của hệ thống, các thành phần chính (hệ thống con hoặc
module), mối quan hệ của chúng và cách chúng được
phân phối..
 Database design, nơi bạn thiết kế cấu trúc dữ liệu hệ
thống và cách chúng được biểu diễn trong cơ sở dữ liệu.
 Interface design, nơi bạn xác định các giao diện giữa
các thành phần hệ thống..
 Component selection and design, nơi bạn tìm kiếm các
thành phần có thể tái sử dụng. Nếu khơng có, bạn thiết
kế cách nó sẽ hoạt động.
Chapter 2 Software Processes

25


×