1. Trang chủ
  2. » Thể loại khác

Vòng đời phát triển hệ thống phần mềm Các phương pháp phát triển hệ thống phần mềm Đặc điểm phân tích thiết kế hướng đối tượng

65 6 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 65
Dung lượng 6,65 MB

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

Nội dung

Chu trình phát triển hệ thống The systems development life cycle – SDLC - Quá trình áp dụng cho các dự án phát triển hệ thống thông tin, đảm bảo rằng các yêu cầu chức năng, yêu cầu ngườ

Trang 2

Nội dung

1 Vòng đời phát triển hệ thống phần mềm

2 Các phương pháp phát triển hệ thống phần mềm

3 Đặc điểm của phân tích thiết kế hướng đối tượng

4 Quy trình thống nhất (phương pháp phát triển phần mềm hướng đối tượng)

5 Mô hình ngôn ngữ thống nhất (UML)

6 Vai trò và kĩ năng của đội dự án

Trang 3

Chu trình phát triển hệ thống (The systems development life cycle – SDLC )

- Quá trình áp dụng cho các dự án phát triển hệ thống thông tin, đảm bảo rằng các

yêu cầu chức năng, yêu cầu người sử dụng, các mục tiêu và mục đích chiến lược

đều được đáp ứng

- Cung cấp một tiến trình được cấu trúc và chuẩn hóa cho tất cả các pha của bất kz

nỗ lực phát triển hệ thống nào

Trang 5

Các giai đoạn phát triển hệ thống giống như các giai đoạn trong xây dựng một ngôi

nhà

Trang 6

Giai đoạn lập kế hoạch là để hiểu tại sao hệ thống cần được xây dựng và xác định đội

dự án sẽ tiến hành xây dựng nó Giai đoạn này gồm 2 bước:

- Khởi tạo dự án

- Quản lý dự án

Trang 7

- Khởi tạo dự án:

Xác định tính khả thi của dự án

Tính khả thi về ý tưởng kỹ thuật (Can we build it?)

Tính khả thi về kinh tế (Will it provide business value?)

Tính khả thi về tổ chức (If we build it, will it be used?)

- Quản lý dự án

- Sau khi được phê duyệt, dự án sẽ được quản lý Người quản lý dự án tạo ra

kế hoạch dự án, xây dựng đội ngũ nhân viên dự án, đặt các kỹ thuật vào đúng

vị trí để giúp kiểm soát đội dự án và chỉ đạo dự án trong suốt vòng đời phát

Trang 8

Giai đoạn phân tích:

- Mục đích: Tìm hiểu nhu cầu của người sử dụng, phân tích các chức năng và

dữ liệu của tổ chức

Trang 9

Giai đoạn phân tích gồm 3 bước:

- Xây dựng chiến lược phân tích để chỉ dẫn nguồn lực của đội dự án Chiến lược

bao gồm phân tích hệ thống hiện hành (as – is system) và các tồn tại của nó, từ

đó đề cử các cách để thiết kế một hệ thống mới (to-be system)

- Thu thập yêu cầu và phân tích thông tin sử dụng các mô hình phân tích

- Kết hợp các phân tích, định nghĩa về hệ thống mới và các mô hình vào một tài

liệu gọi là đề xuất xây dựng hệ thống (system proposal) Các nhà bảo trợ

(sponsor) dựa vào đề xuất hệ xây dựng thống để quyết định liệu dự án có được

Trang 10

Giai đoạn thiết kế:

Mục đích: quyết định hệ thống sẽ vận hành như thế nào về phần cứng, phần

mềm, kiến trúc mạng, giao diện người dùng và các biểu mẫu, báo cáo, các

chương trình, file và cơ sở dữ liệu cụ thể cào sẽ được xây dựng

Trang 11

Giai đoạn thiết kế gồm 4 bước:

- Phát triển chiến lược thiết kế (mua, thuê hay tự làm?)

- Thiết kế kiến trúc hệ thống: phần cứng, phần mềm, kiến trúc mạng, giao diện và

các biểu mẫu báo cáo

- Thiết kế tệp và cơ sở dữ liệu

- Thiết kế chương trình

Kết quả

Thiết kế kiến trúc

Trang 12

Giai đoạn cài đặt và chuyển giao:

Mục đích: tạo ra hệ thống thực sự, đây thường là giai đoạn được chú ý nhiều

nhất bởi vì nó thường dài nhất và tốn kém nhất

Trang 13

Giai đoạn cài đặt gồm 3 bước:

- Xây dựng hệ thống, hệ thống được xây dựng và thử nghiệm để đảm bảo

hoạt động theo đúng thiết kế, đây là công việc của hầu hết thành viên đội

dự án (coder, tester)

- Cài đặt hệ thống, chuyển giao hệ thống cũ sang hệ thống mới

- Đội phân tích thiết lập kế hoạch hỗ trợ cho hệ thống

Kết quả

Hệ thống sẵn sàng để hoạt động

Trang 14

Bảng trên slide thống kê các sản phẩm được tạo ra trong mỗi giai đoạn xây

dựng hệ thống

Trang 15

- Phương pháp phát triển hệ thống là một cách tiếp cận chính thức để thực

hiện vòng đời phát triển hệ thống

- Có rất nhiều phương pháp phát triển hệ thống và chúng được được chia

làm 3 nhóm dựa trên trình tự của các giai đoạn trong SDLC cùng với thời

gian và nguồn lực dành cho mỗi giai đoạn

-

Trang 16

Ba nhóm phương pháp phát triển hệ thống bao gồm:

- Thiết kế cấu trúc:

- Mô hình phát triển thác nước

- Mô hình phát triển song song

- Phát triển ứng dụng nhanh

- Mô hình phát triển dựa trên giai đoạn

- Mô hình phát triển dựa trên mẫu thử (system prototyping, throwaway

prototyping)

- Phát triển ứng dụng linh hoạt: Extreme programming

Trang 17

- Thiết kế cấu trúc: các phương pháp thuộc nhóm này được áp dụng chủ

yếu ở những năm 1980 Đây là nhóm các phương pháp mà các giai đoạn

trong SDLC được thực hiện một cách tuần tự, hết bước này mới chuyển

sang giai đoạn tiếp theo Rất nhiều phương pháp lấy quy trình làm trung

tâm hoặc lấy dữ liệu làm trung tâm đã dựa trên hai mô hình thiết kế cấu trúc

là mô hình phát triển thác nước (waterfall development) và mô hình phát

triển song song (Parallel development)

Trang 18

- Mô hình phát triển thác nước (Waterfall Development): các nhà phân tích và

NSD thực hiện tuần tự từng giai đoạn phát triển hệ thống Các tài liệu (sản

phẩm) được sinh gia trong mỗi giai đoạn thường rất dài (khoảng vài trăm

trang) Sau mỗi giai đoạn các tài liệu được người chủ trì dự án (project

sponsor) phê duyệt để quyết định xem dự án có chuyển sang thực hiện

bước tiếp theo không

- Phương pháp này đươc goi là mô hình phát triển thác nước vì các giai

đoạn phát triển hệ thống thực hiện từ bước này sang bước khác giống mô

hình thác nước

- Trong mô hình phát triển hệ thống thác nước, các giai đoạn có thể được lặp

lại tuy nhiên việc quay lui là rất khó

- Mô hình phát triển cấu trúc sử dụng các mô hình và biểu đồ để mô tả các

quy tình nghiệp vụ và dữ liệu hỗ trợ các tiến trình đó Tập các biểu đồ để

biểu diễn các quy trình nghiệp vụ riêng biệt với tập các biểu đồ biểu diễn dữ

liệu Do đó, nhà phân tích hệ thống phải quyết định lựa chọn tập biểu đồ

quy trình nghiệp vụ được phát triển trước hay tập biểu đồ dữ liệu được phát

triển trước Việc lựa chọn này tùy thuộc vào mức độ quan trọng của quy

trình nghiệp vụ hay dữ liệu của hệ thống cần phát triển

Trang 19

Nhược điểm của mô hình phát triển thác nước:

- Giai đoạn thiết kết bắt buộc phải hoàn thành trước khi chuyển sang giai đoạn lập

trình

- Khoảng cách thời gian từ khi đưa ra đề xuất dự án trong giai đoạn phân tích đến

giai đoạn chuyển giao phần mềm dài (từ vái tháng đến vài năm)

- Hệ thống cũng có thể phải làm lại rất nhiều nếu môi trường nghiệp vụ thay đổi so

với thời điểm phân tích hệ thống

Trang 20

- Giải quyết nhược điểm của mô hình thác nước là khoảng cách thời gian từ giai đoạn

phân tích đến giai đoạn chuyển giao hệ thống dài

- Đầu tiên, đội dự án lập kế hoạch, phân tích và thiết kế tổng thể hệ thống Sau đó, dự

án được chia nhỏ thành các dự án con có thể thiết kế cài đặt song song Khi các dự án

con được thực hiện hoàn thành thì chúng được tích hợp lại với nhau và hệ thống

tổng hợp được chuyển giao

Trang 21

- Mất nhiều thời gian để tài liệu hóa dự án

- Phát sinh một số vấn đề mới: Các hệ thống con không hoàn toàn độc lập,

sự thay đổi thiết kế của hệ thống con này dẫn đến ảnh hưởng hệ thống con

khác, và dự án có thể mất nhiều nguồn lực để tích hợp các hệ thống con lại

với nhau

Trang 22

- Các phương pháp thuộc mô hình phát triển ứng dụng nhanh được sử dụng chủ

yếu vào những năm 1990 Các phương pháp này cố gắng giải quyết hai nhược

điểm của mô hình phát triển hướng cấu trúc bằng cách điều chỉnh các giai đoạn

trong vòng đời phát triển hệ thống sao cho một phần của hệ thống được phát

triển nhanh và đưa đến thay người sử dụng Khi đó, NSD sẽ hiểu hệ thống tốt hơn

và đưa ra các lời nhận xát để các nhà phân tích có thể cải tiến hệ thống sao cho

đúng với thực tế hơn

Trang 23

- Các nhà phân tích được khuyên sử dụng các các kĩ thuật đặc biệt và công cụ máy

tính để tăng tốc trong các giai đoạn phân tích, thiết kế và cài đặt Ví dụ, các công cụ

hỗ trợ quá trình thiết kế và cài đặt chương trình (CASE - Computer-aided software

engineering), các phiên họp thiết kế ứng dụng chung, các ngôn ngữ lập trình thế

hệ thứ 4, các công cụ tự động sinh mã chương trình dựa trên các đặc tả thiết kế

- Tuy nhiên các phương pháp phát triển hệ thống dựa trên các kỹ thuật hỗ trợ cũng

phát sinh ra thêm một vấn đề đó là quản lý mong muốn của NSD Khi NSD càng

nhanh được tiếp cận với hệ thống mới, họ càng hiểu được công nghệ và các mong

muốn của họ thay đổi và mở rộng

Trang 24

- Phương pháp phát triển dựa trên giai đoạn phân mảnh toàn bộ hệ thống ra thành

một dãy các phiên bản để phát triển một cách tuần tự

Trang 25

- Giai đoạn phân tích sẽ xác định khái niệm thổng thể về hệ thống Sau đó, đội dự án

cùng NSD và người chủ trì dự án sẽ phân nhóm các yêu cầu hệ thống thành một

loạt các phiên bản Tập các yêu cầu hệ thống quan trọng nhất và cơ bản nhất sẽ

được đưa vào để thiết kế và cài đặt hệ thống ở phiên bản thứ nhất

Trang 26

- Khi phiên bản 1 của hệ thống hoàn thiện sẽ được đưa tới cho NSD dùng thử Tiếp

đến, phiên bản 2 của hệ thống được thiết kế và cài đặt dựa trên các nhận xét góp ý

của NSD ở phiên bản 1 cùng với tập yêu cầu đã được xác định cho phiên bản 2

trong giai đoạn phân tích Phiên bản hai hoàn thành lại đực chuyển đến cho NSD

dùng và cho nhận xét Các phiên bản kế tiếp được thực hiện theo đúng trình tự

như trên cho đến khi nào hệ thống hoàn thiện các chức năng theo yêu cầu

Trang 27

- Ưu điểm

- Nhanh chóng đưa hệ thống thử nghiệm đến cho NSD dụng dùng thử

- NSD phát hiện và thêm được các yêu cầu còn thiếu sớm hơn so với các

phương pháp phát triển theo mô hình thiết kế cấu trúc

- Nhược điểm:

- NSD được tiếp cận sớm với phần mềm khi nó chưa hoàn thiện do đó việc

xác định tập các yêu cầu quan trọng nhất và cơ bản nhất cho phiên bản một

của hệ thống là rất quan trọng Thêm vào đó là việc quản lý các mong

muốn của NSD cũng cần được chú ý đến

Trang 28

- Phương pháp dựa trên bản mẫu hệ thống thực hiện việc phân tích, thiết kế và cài

đặt đồng thời Cả 3 giai đoạn này được thực hiện lặp lại cho tới khi hệ thống được

hoàn thiện

- Đầu tiên, giai đoạn phân tích và thiết kế sơ lược sẽ được thực hiện, sau đó cài đặt

ngay một chương trình mẫu với một tập nhỏ các đặc trưng (chức năng) Phiên bản

mẫu đầu tiên của hệ thống thường là một phần đầu tiên của hệ thống Bản mẫu

đầu tiên sẽ được các đưa cho NSD và người chủ trì dự án xem và cho nhận xét

Những nhận xét này sẽ được sử dụng để phân tích, thiết kế và cài đặt lại ở bản

mẫu thử số 2 Quá trình này cứ tiếp tục cho đến khi nào nhà phân tích, NSD và

người chủ trì dự án đồng { với bản mẫu có đầy đủ các chức năng yêu cầu Sau đó,

hệ thống sẽ được cài đặt và được sử dụng trong công ty Hệ thống tiếp tục được

chỉnh sửa cho đến khi nào nó được chấp nhận sử dụng

Trang 29

- Ưu điểm:

- Nhanh chóng cung cấp một hệ thống cho NSD tương tác

- Đảm bảo với NSD rằng đội ngũ dự án đang quan tâm phát triển dự án

- Giúp chỉnh sửa các yêu cầu của hệ thống nhanh và chính xác hơn

- NSD hiểu rõ hệ thống có thể làm được gì và không làm được gì

Trang 30

- Nhược điểm:

- Nhịp độ phát triển nhanh của hệ thống yêu cầu các nhà phân tích phải

thực hiện quá trình phân tích một cách cẩn thận và có phương pháp

- Bản mẫu thường thay đổi nhiều đến mức nhiều quyết định thiết kế ban

đầu trở thành nghèo nàn Điều này có thể gây ra một số vấn đề trong

việc phát triển các hệ thống phức tạp vì các vấn đề và các nhiệm vụ

quan trọng không được nhận ra cho đến khi đi vào quá trình phát

triển

Trang 31

Các phương pháp dựa trên nguyên mẫu bỏ đi có một giai đoạn phân tích

tương đối kỹ lưỡng được sử dụng để thu thập thông tin và phát triển ý tưởng

cho khái niệm hệ thống Tuy nhiên, người dùng có thể không hoàn toàn hiểu

nhiều tính năng mà họ đề xuất và có thể có các vấn đề kỹ thuật đầy thách

thức cần giải quyết Mỗi vấn đề được kiểm tra bằng cách phân tích, thiết kế và

xây dựng một nguyên mẫu thiết kế Một nguyên mẫu thiết kế không phải là

một hệ thống làm việc; nó là một sản phẩm đại diện cho một phần của hệ

thống cần được tinh chỉnh thêm và nó chỉ chứa đủ chi tiết để cho phép người

dùng hiểu các vấn đề đang được xem xét

Ví dụ: giả sử người dùng không hoàn toàn rõ ràng về cách hệ thống nhập đơn

hàng hoạt động như thế nào Nhóm phân tích có thể xây dựng một loạt các

trang HTML được xem bằng trình duyệt Web để giúp người dùng hình dung ra

một hệ thống như vậy Trong trường hợp này, một loạt các màn hình giả có vẻ

là một hệ thống, nhưng chúng thực sự không làm gì cả

Hoặc giả sử rằng nhóm dự án cần phát triển một chương trình đồ họa tinh vi

Trang 32

The throwaway prototyping–based methodologies have a relatively thorough analysis

phase that is used to gather information and to develop ideas for the system concept

However, users may not completely understand many of the features they suggest,

and there may be challenging technical issues to be solved Each of these issues is

examined by analyzing, designing, and building a design prototype A design

prototype is not a working system; it is a product that represents a part of the system

that needs additional refinement and it contains only enough detail to enable users

to understand the issues under consideration

For example, suppose users are not completely clear on how an order entry system

should work The analyst team might build a series of HTML pages viewed using a

Web browser to help the users visualize such a system In this case, a series of

mock-up screens appear to be a system, but they really do nothing

Or, suppose that the project team needs to develop a sophisticated graphics program

in Java The team could write a portion of the program with pretend data to ensure

that they could do a full-blown program successfully

Trang 34

Ưu nhược điểm:

- Phương pháp dựa trên nguyên mẫu loại bỏ giúp các giai đoạn phân tích và

thiết kế được thực hiện một cách cẩn thận bằng việc sử dụng các nguyên mẫu để

tinh chỉnh các nhiệm vụ chính trước khi hệ thống được xây dựng

- Nó có thể mất nhiều thời gian hơn để cung cấp hệ thống cuối cùng so với

phương pháp dựa trên nguyên mẫu (vì các nguyên mẫu không trở thành bản

cuối cùng hệ thống), nhưng phương pháp này thường tạo ra các hệ thống ổn

định và đáng tin cậy hơn

Trang 35

Mô hình phát triển ứng dụng linh hoạt

- Phương pháp PTUD linh hoạt tập trung vào lập trình này có một vài quy tắc

và thực hành, tất cả đều khá dễ thực hiện Họ tập trung vào việc hợp lý hóa

SDLC bằng cách loại bỏ nhiều các bước mô hình hóa hệ thống và tài liệu hóa

trong các giai đoạn Các dự án nhấn mạnh phát triển ứng dụng đơn giản, lặp

đi lặp lại

- Ví dụ về các phương pháp phát triển nhanh bao gồm lập trình cực đoan,

Scrum và Phương pháp phát triển hệ thống động (DSDM)

- Cách tiếp cận phát triển nhanh thường được sử dụng cùng với các phương

pháp hướng đối tượng

Trang 36

Sau một quá trình lập kế hoạch sơ qua, các dự án thực hiện các giai đoạn

phân tích, thiết kế và thực hiện lặp lại

-

Một dự án XP bắt đầu với những câu chuyện của người dùng mô tả những gì

hệ thống cần làm Sau đó, lập trình viên viết mã theo các mô-đun nhỏ, đơn

giản và thử nghiệm để đáp ứng các nhu cầu đó Người dùng được yêu cầu

phải luôn sẵn sàng để trả lời các câu hỏi và vấn đề phát sinh

Các nhóm XP sử dụng một bộ tên, mô tả và thực hành mã hóa phổ biến để

giảm thiểu nhầm lẫn Các dự án XP cung sản phẩm phần mềm nhanh hơn các

phương pháp phát triển ứng dụng nhanh (RAD) và chúng ít khi bị mất nhiều thời

gian vào việc thu thập các yêu cầu cho hệ thống

Trang 37

- Phương pháp lập trình cực đoan (XP) được thành lập dựa trên bốn giá trị cốt

lõi: giao tiếp, đơn giản, phản hồi và can đảm

- Bốn giá trị này cung cấp một nền tảng mà các nhà phát triển XP sử dụng để

tạo ra hệ thống

- Đầu tiên, các nhà phát triển phải cung cấp phản hồi nhanh chóng

cho người dùng cuối một cách liên tục

- Thứ hai, XP yêu cầu các nhà phát triển tuân theo nguyên tắc KISS

(Keep It Simple and Stupid)

- Thứ ba, các nhà phát triển phải thực hiện các thay đổi gia tăng để

phát triển hệ thống và họ không chỉ phải chấp nhận thay đổi mà là họ

phải sẵn sàng chấp nhận thay đổi

- Thứ tư, các nhà phát triển phải có một chất lượng tâm lý tốt nhất

Ngày đăng: 28/08/2022, 08:23

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w