Tải bản đầy đủ (.pdf) (10 trang)

CHAPTER 2 SOFTWARE PROCESSES TRADITIONAL METHODS

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 (2.59 MB, 10 trang )

󾠯

CHAPTER 2: SOFTWARE
PROCESSES TRADITIONAL
METHODS
Information Technology Trends
Current/Future Trends:
Everything connected.
Rapid requirements change.
COTS capabilities determine.
Rapid development.
Outsourced jobs.

Software Development Approaches
(Phương pháp tiếp cận)
Plan - driven: According to plan, document-based, heavy process (cần nhiều
công sức, yêu cầu cao).

CHAPTER 2: SOFTWARE PROCESSES TRADITIONAL METHODS

1


Tính chất: chi tiết, địi hỏi việc tính tốn kỹ lưỡng trong thời gian dài, nhiều
yêu cầu và công việc hơn. Phải tuân thủ theo kế hoạch đã đề ra.
Agile: tacit knowledge (kiến thức ngầm - khơng cần nói ra nhưng vẫn hiểu
nhau), light process.
Tính chất: Nhanh, khơng địi hỏi nhiều cơng việc hay cơng đoạn. Linh động
trong nhiều tình huống khác nhau.

The Agile Manifesto (Tuyên ngôn)


“We are uncovering better ways of developing software by doing
it and helping others do it. Through this work we have come to
value.”
Individuals and interactions:
Working software:
Customer collaboration: Tương tác với khách hàng.
Responding to change: Đáp ứng các thay đổi theo kế hoạch.

Popular Plan-driven and Agile Methods
There are many diffenrent model in each method, here some typical examples:
Plan-driven methods:
Waterfall.
Spiral.
Rational Unified Process (RUP).
Personal Software Process.
CMMI
Aglie methods:
Extreme Programming.
Scrum.

CHAPTER 2: SOFTWARE PROCESSES TRADITIONAL METHODS

2


Crystal.
Feature Driven Development (FDD).

Waterfall Model - 1
Yêu cầu phải hoàn thành xong từng giai đoạn cụ thể trước khi qua một giai đoạn

mới. Vào thập niên 1990 - 2000 mô hình này thống trị trong ngành phát triển phần
mềm.
Một mơ hình thác nước có những bước như sau:

Requirement definition:
Analysis and Design:
Implementation and Unit Testing: Write code and testing program of each unit,
giving test cases
Work product (Artifact).



Intergration and System Testing: Testing software in different platform.
Operation and Maintenance: User manual document, training document.

⇒ Phải hồn thành từng bước vì nếu khơng sẽ phải quay lại hoặc làm sau, điều đó
sẽ gây lãng phí thời gian và ảnh hưởng đến những bước kế tiếp.
Thu 19/05/2022

One typical Software development team have:

CHAPTER 2: SOFTWARE PROCESSES TRADITIONAL METHODS

3


Project manager (PM)
Technical Architect (TA)
Bussiness Analyst (BA)
Designer

Developer
Tester (Quality Assurance - QA Engineer)
Maintainer
Tech writer

Process iteration
Là việc code lại một chức năng hay chương trình khi mà yêu cầu khác hàng thay
đổi.
Một project có thể được chia ra thành nhiều lần lặp lại.
Việc lặp lại có thể được áp dụng với bất kì quy trình chung nào.

Incremental development
CHAPTER 2: SOFTWARE PROCESSES TRADITIONAL METHODS

4


Việc phát triển và phân phối được chia ra thành nhiều bước. Mỗi lần tăng lên sẽ
cung cấp một phần của các chức năng cần thiết và cho phép khách hàng, người
dùng có thể kiểm tra các chức năng phần mềm ngay từ những lần phát triển sớm
nhất.

Các yêu cầu đều được ưu tiên. Các yêu cầu có độ ưu tiên cao nhất được phát triển
trong các lần gia tăng sớm.

Ưu điểm
Các chức năng của hệ thống đã được hoàn thành trước đó.
Các bước increment có thể được xem là một bản thử nghiệm cho khách hàng
chỉnh sửa kịp thời theo các yêu cầu đề ra.
Các yêu cầu có độ ưu tiên cao nhận được sự kiểm tra kỹ lưỡng hơn.

Giảm thiểu rủi ro đổ bể của cả dự án.

Spiral Model - Mơ hình xoắn ốc
Các hoạt động của dự án được tổ chức theo kiểu xoắn ốc thay vì kiểu tuần tự.
Mỗi một xoắn ốc biểu diễn một giai đoạn (phase) của quá trình.

CHAPTER 2: SOFTWARE PROCESSES TRADITIONAL METHODS

5


Mơ hình này phản ánh thực tế q trình làm việc: 1. Xây dựng mục tiêu, 2. Đánh giá mục tiêu (xem
xét khả năng của mình), 3. Thực hiện mục tiêu, 4. Đánh giá lại mục tiêu để thực hiện các mục tiêu
tiếp theo.

Mơ hình này có 4 ngăn (sector):
Objective setting: Đặt ra các mục tiêu.
Risk assessment and reduction: Nghiên cứu thị trường (thị hiếu người dùng,
công nghệ hiện tại đang áp dụng,…).
Development and validation: Cài đặt mã nguồn và kiểm thử.
Planning: Đánh giá lại mục tiêu và lên kế hoạch cho mục tiêu kế tiếp.

The Rational Unified Process (RUP)
Các hoạt động được nhóm thành các workflow.

RUP Phases
Mơ hình này chủ yếu gồm các pha chính như sau:

CHAPTER 2: SOFTWARE PROCESSES TRADITIONAL METHODS


6


Inception (khởi tạo): Đưa ra ý tưởng về dự án (kinh phí, nhiệm vụ của dự án,
phần mềm phục vụ cho đối tượng nào,…)
Elaboration (soạn thảo kỹ lưỡng): Phát triển các hiểu biết về vấn đề và thiết kế
hệ thống.
Construction (thi cơng): Thiết kế hệ thống, lập trình và kiểm thử.
Transition: Vận hành hệ thống trong môi trường điều hành (Operating
Environment).

RUP Iteration
Each phase is divided into one or more iterations. (Mỗi pha được chia ra 1 hoặc
nhiều hơn những lần lặp lại.)

Ưu điểm
Phát triển phần mềm lặp đi lặp lại.
Quản lý tốt các u cầu.
Mơ hình phần mềm trực quan.
Đảm bảo chất lượng phần mềm.

CHAPTER 2: SOFTWARE PROCESSES TRADITIONAL METHODS

7


So sánh mơ hình Waterfall và RUP

🔰 Tham khảo:


pháp thác nước vs
RUP&text=Phương pháp phát triển phần mềm thác nước là một,phát triển phần
mềm lặp.
Waterfall
Hoàn thành một cách tuần tự, mỗi giai đoạn
được hoàn thành đầy đủ theo một thứ tự cố
định.
Tồn bộ dự án có duy nhất waterfall model.

RUP
Mức độ linh hoạt cao phù hợp với những
dự án có mức độ thay đổi khơng biết trước.
Mỗi pha có nhiều waterfall model.

Thu 26/05/2022

CMMI - Capability Maturity Model Integration
CMMI là một chứng chỉ, tiêu chuẩn cho các công ty phần mềm để đánh giá q trình
làm phần mềm của cơng ty đó. (Giống với tiểu chuẩn ISO trong cơng nghiệp và
thương mại.)
Được phát triển và giới thiệu bởi Viện Công nghệ Phần mềm của Đại học Carnegie
Mellon (CMU).
Cho phép hỗ trợ các xu hướng phát triển phần mềm của hiện tại và trong tương lai.
Để đạt được chứng chỉ đó thì công ty cần phải đạt được các yêu cầu đề ra (VD: phải
có ít nhất 3 dự án ứng dụng một mơ hình phát triển phần mềm và đã thành cơng,
nhân viên của cơng ty đó thực sự đã làm ra những phần mềm trong các dự án đó,
…).
Đây là một tiêu chuẩn đặt nặng về quá trình làm phần mềm.

Các thành phần của mơ hình CMMI

Divided processes into many process areas.
Each areas have goals.
Practices (Thực hành) are what we do in SE → Produce Work Products (Sản phẩm
công việc).

CHAPTER 2: SOFTWARE PROCESSES TRADITIONAL METHODS

8


CMMI Process Area - Yêu cầu trong các level

Để đạt được các level công ty phải đáp ứng các yêu cầu của từng quy trình.

Level 1: Performed (Any company can produce software.)

CHAPTER 2: SOFTWARE PROCESSES TRADITIONAL METHODS

9


Level 2: Managed (Has at least 3 teams to use)
Level 3: Defined
Level 4: Quantitatively Managed
Level 5: Optimizing (Maximum)
Mỗi công ty có những chính sách, quy trình về các lĩnh vực. Ít nhất có 3 dự án áp
dụng quy trình này và đã thành cơng. Kiểm tra quy trình có hợp lí hay khơng. Cuối
cùng là đánh giá sản phẩm. Quan trọng là thời gian và chi phí.
Giúp sản xuất phần mềm chất lượng, đúng tiến độ, giảm chi phí.


CHAPTER 2: SOFTWARE PROCESSES TRADITIONAL METHODS

10



×