1. Trang chủ
  2. » Công Nghệ Thông Tin

CHAPTER 2 SOFTWARE PROCESSES TRADITIONAL METHODS

10 0 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Software Processes Traditional Methods
Chuyên ngành Information Technology
Thể loại essay
Năm xuất bản 2022
Định dạng
Số trang 10
Dung lượng 2,59 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

CHAPTER 2 SOFTWARE PROCESSES TRADITIONAL METHODS 1

Trang 1

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)

Trang 2

Tính chất: chi tiết, đòi hỏi việc tính toá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

Trang 3

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 hoà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:

Trang 4

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

Trang 5

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

Trang 6

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:

Mô hình này phản ánh thực tế quá 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.

Trang 7

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 yêu cầu

Mô hình phần mềm trực quan

Đảm bảo chất lượng phần mềm

Trang 8

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

🔰 Tham khảo:

https://vi.sawakinome.com/articles/technology/difference-between-waterfall-methodology-and-rup-2.html#:~:text=Phương 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

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.

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.

Toàn bộ dự án có duy nhất waterfall model 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á quá 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)

Trang 9

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

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

Để đạ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.

Trang 10

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í

Ngày đăng: 05/05/2023, 11:02

w